diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 271d950..8d96444 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,26 +1,26 @@ -// For format details, see https://aka.ms/devcontainer.json. For config options, see the -// README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-dockerfile -{ - "name": "Existing Dockerfile", - "build": { - // Sets the run context to one level up instead of the .devcontainer folder. - "context": "..", - // Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename. - "dockerfile": "../Dockerfile" - } - - // Features to add to the dev container. More info: https://containers.dev/features. - // "features": {}, - - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [], - - // Uncomment the next line to run commands after the container is created. - // "postCreateCommand": "cat /etc/os-release", - - // Configure tool-specific properties. - // "customizations": {}, - - // Uncomment to connect as an existing user other than the container default. More info: https://aka.ms/dev-containers-non-root. - // "remoteUser": "devcontainer" -} +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-dockerfile +{ + "name": "Existing Dockerfile", + "build": { + // Sets the run context to one level up instead of the .devcontainer folder. + "context": "..", + // Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename. + "dockerfile": "../Dockerfile" + } + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Uncomment the next line to run commands after the container is created. + // "postCreateCommand": "cat /etc/os-release", + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as an existing user other than the container default. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "devcontainer" +} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 59f5774..20d8145 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,69 +1,69 @@ -name: CI - -on: - push: - branches: ["*"] - paths-ignore: - - 'README.md' - pull_request: - branches: ["*"] - paths-ignore: - - 'README.md' - release: - types: [created] - -jobs: - build: - runs-on: ubuntu-latest - container: devkitpro/devkitarm - steps: - - name: 'Checkout repository' - uses: actions/checkout@v3 - with: - path: 'breaking-bad-ds' - - name: 'Checkout libfilesystem' - uses: actions/checkout@v3 - with: - repository: 'RetroVNDjinn/libfilesystem' - path: 'libfilesystem' - - name: 'Patch libfilesystem' - run: | - cd ./libfilesystem; - make; - cp ./lib/libfilesystem.a /opt/devkitpro/libnds/lib/libfilesystem.a; - cd ../; - - name: 'Checkout Nitro-Engine' - uses: actions/checkout@v3 - with: - repository: 'AntonioND/nitro-engine' - path: 'nitro-engine' - - name: 'Build Nitro-Engine' - run: | - cd ./nitro-engine; - make; - cd ../; - cp -r ./nitro-engine /opt/devkitpro/nitro-engine; - - name: 'Checkout NightFoxLib' - uses: actions/checkout@v3 - with: - repository: 'knightfox75/nds_nflib' - path: 'nds_nflib' - - name: 'Build NightFoxLib' - run: | - cd ./nds_nflib; - make; - cd ../; - cp -r ./nds_nflib /opt/devkitpro/nflib; - - name: 'Execute build' - run: | - cd ./breaking-bad-ds/ - make; - - name: 'Upload ROM' - uses: actions/upload-artifact@v3 - with: - path: | - ./breaking-bad-ds/*.nds - ./breaking-bad-ds/*.md - ./breaking-bad-ds/LICENSE - ./breaking-bad-ds/cover-artwork.png - name: 'Breaking Bad DS' +name: CI + +on: + push: + branches: ["*"] + paths-ignore: + - 'README.md' + pull_request: + branches: ["*"] + paths-ignore: + - 'README.md' + release: + types: [created] + +jobs: + build: + runs-on: ubuntu-latest + container: devkitpro/devkitarm + steps: + - name: 'Checkout repository' + uses: actions/checkout@v3 + with: + path: 'breaking-bad-ds' + - name: 'Checkout libfilesystem' + uses: actions/checkout@v3 + with: + repository: 'RetroVNDjinn/libfilesystem' + path: 'libfilesystem' + - name: 'Patch libfilesystem' + run: | + cd ./libfilesystem; + make; + cp ./lib/libfilesystem.a /opt/devkitpro/libnds/lib/libfilesystem.a; + cd ../; + - name: 'Checkout Nitro-Engine' + uses: actions/checkout@v3 + with: + repository: 'AntonioND/nitro-engine' + path: 'nitro-engine' + - name: 'Build Nitro-Engine' + run: | + cd ./nitro-engine; + make; + cd ../; + cp -r ./nitro-engine /opt/devkitpro/nitro-engine; + - name: 'Checkout NightFoxLib' + uses: actions/checkout@v3 + with: + repository: 'knightfox75/nds_nflib' + path: 'nds_nflib' + - name: 'Build NightFoxLib' + run: | + cd ./nds_nflib; + make; + cd ../; + cp -r ./nds_nflib /opt/devkitpro/nflib; + - name: 'Execute build' + run: | + cd ./breaking-bad-ds/ + make; + - name: 'Upload ROM' + uses: actions/upload-artifact@v3 + with: + path: | + ./breaking-bad-ds/*.nds + ./breaking-bad-ds/*.md + ./breaking-bad-ds/LICENSE + ./breaking-bad-ds/cover-artwork.png + name: 'Breaking Bad DS' diff --git a/.gitignore b/.gitignore index 5410c8b..13fc93a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,13 @@ -build/* -*.nds -*.elf -*.sav -*.ml1 -*.ml2 -*.ml3 -*.ml4 -*.ml5 -*.ml6 -*.ml7 -*.ml8 +build/* +*.nds +*.elf +*.sav +*.ml1 +*.ml2 +*.ml3 +*.ml4 +*.ml5 +*.ml6 +*.ml7 +*.ml8 *.ml9 \ No newline at end of file diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 234c9a9..5abb0e4 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -1,33 +1,38 @@ -{ - "configurations": [ - { - "name": "NDS", - "includePath": [ - "${workspaceFolder}", - "/nitro-engine/include/**", - "/nds_nflib/include/**", - "/opt/devkitpro/libnds/include/**" - ], - "defines": [ - "_DEBUG", - "_UNICODE", - "WIN32", - "ARM7", - "ARM9" - ], - "browse": { - "path": [ - "${workspaceFolder}", - "/nitro-engine/include/**", - "/nds_nflib/include/**", - "/opt/devkitpro/libnds/include/**" - ], - "limitSymbolsToIncludedHeaders": true, - "databaseFilename": "" - }, - "cStandard": "c11", - "cppStandard": "c++11" - } - ], - "version": 4 +{ + "configurations": [ + { + "name": "NDS", + "includePath": [ + "${workspaceFolder}", + "${workspaceFolder}/libs/**", + "C:/devkitPro/devkitARM/arm-none-eabi/include/**", + "C:/devkitpro/libnds/include/**", + "C:/devkitpro/nitro-engine/include/**", + "C:/devkitpro/nflib/include/**" + ], + "defines": [ + "_DEBUG", + "_UNICODE", + "WIN32", + "ARM7", + "ARM9" + ], + "browse": { + "path": [ + "${workspaceFolder}", + "${workspaceFolder}/libs/**", + "C:/devkitPro/devkitARM/arm-none-eabi/include/**", + "C:/devkitpro/libnds/include/**", + "C:/devkitpro/nitro-engine/include/**", + "C:/devkitpro/nflib/include/**" + ], + "limitSymbolsToIncludedHeaders": true, + "databaseFilename": "" + }, + "cStandard": "c11", + "cppStandard": "c++11", + "compilerPath": "C:/devkitpro/devkitARM/bin/arm-none-eabi-g++.exe" + } + ], + "version": 4 } \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index 77a61f3..1f535d7 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,32 +1,32 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "(gdb) Launch", - "type": "cppdbg", - "request": "launch", - "program": "${workspaceFolder}/${workspaceFolderBasename}.elf", - "targetArchitecture": "arm", - "preLaunchTask": "gdb-debug", - "postDebugTask": "stop-emulation", - "serverLaunchTimeout": 10000, - "stopAtEntry": true, - "cwd": "${workspaceFolder}", - "environment": [], - "externalConsole": true, - "MIMode": "gdb", - "miDebuggerPath": "/opt/devkitpro/devkitARM/bin/arm-none-eabi-gcc", - "miDebuggerServerAddress": "localhost:3333", - "setupCommands": [ - { - "description": "Enable pretty-printing", - "text": "file ${workspaceFolder}/${workspaceFolderBasename}.elf -enable-pretty-printing", - "ignoreFailures": true - } - ] - } - ] +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "(gdb) Launch", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/${workspaceFolderBasename}.elf", + "targetArchitecture": "arm", + "preLaunchTask": "gdb-debug", + "postDebugTask": "stop-emulation", + "serverLaunchTimeout": 10000, + "stopAtEntry": true, + "cwd": "${workspaceFolder}", + "environment": [], + "externalConsole": true, + "MIMode": "gdb", + "miDebuggerPath": "C:/devkitpro/devkitARM/bin/arm-none-eabi-gdb.exe", + "miDebuggerServerAddress": "localhost:20000", + "setupCommands": [ + { + "description": "Enable pretty-printing", + "text": "file ${workspaceFolder}/${workspaceFolderBasename}.elf -enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 367ea43..83a21b9 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,56 +1,57 @@ -{ - "files.associations": { - "string": "cpp", - "array": "cpp", - "atomic": "cpp", - "bit": "cpp", - "*.tcc": "cpp", - "cctype": "cpp", - "clocale": "cpp", - "cmath": "cpp", - "compare": "cpp", - "concepts": "cpp", - "cstdarg": "cpp", - "cstddef": "cpp", - "cstdint": "cpp", - "cstdio": "cpp", - "cstdlib": "cpp", - "cwchar": "cpp", - "cwctype": "cpp", - "deque": "cpp", - "unordered_map": "cpp", - "vector": "cpp", - "exception": "cpp", - "algorithm": "cpp", - "functional": "cpp", - "iterator": "cpp", - "memory": "cpp", - "memory_resource": "cpp", - "numeric": "cpp", - "optional": "cpp", - "random": "cpp", - "string_view": "cpp", - "system_error": "cpp", - "tuple": "cpp", - "type_traits": "cpp", - "utility": "cpp", - "initializer_list": "cpp", - "iosfwd": "cpp", - "limits": "cpp", - "new": "cpp", - "numbers": "cpp", - "ostream": "cpp", - "stdexcept": "cpp", - "streambuf": "cpp", - "typeinfo": "cpp", - "iostream": "cpp", - "istream": "cpp", - "sstream": "cpp", - "gl2d.h": "c", - "dswifi9.h": "c", - "stdio.h": "c", - "nds.h": "c", - "multiplayer.h": "c" - }, - "C_Cpp.default.compilerPath": "/opt/devkitpro/devkitARM/bin/arm-none-eabi-gcc" +{ + "files.associations": { + "string": "cpp", + "array": "cpp", + "atomic": "cpp", + "bit": "cpp", + "*.tcc": "cpp", + "cctype": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "compare": "cpp", + "concepts": "cpp", + "cstdarg": "cpp", + "cstddef": "cpp", + "cstdint": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "deque": "cpp", + "unordered_map": "cpp", + "vector": "cpp", + "exception": "cpp", + "algorithm": "cpp", + "functional": "cpp", + "iterator": "cpp", + "memory": "cpp", + "memory_resource": "cpp", + "numeric": "cpp", + "optional": "cpp", + "random": "cpp", + "string_view": "cpp", + "system_error": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "utility": "cpp", + "initializer_list": "cpp", + "iosfwd": "cpp", + "limits": "cpp", + "new": "cpp", + "numbers": "cpp", + "ostream": "cpp", + "stdexcept": "cpp", + "streambuf": "cpp", + "typeinfo": "cpp", + "iostream": "cpp", + "istream": "cpp", + "sstream": "cpp", + "gl2d.h": "c", + "dswifi9.h": "c", + "stdio.h": "c", + "nds.h": "c", + "multiplayer.h": "c" + }, + "C_Cpp.default.compilerPath": "C:/devkitpro/devkitARM/bin/arm-none-eabi-g++.exe", + "C_Cpp.default.intelliSenseMode": "windows-gcc-x64" } \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 6ec2103..2e429e0 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -1,64 +1,80 @@ -{ - // See https://go.microsoft.com/fwlink/?LinkId=733558 - // for the documentation about the tasks.json format - "version": "2.0.0", - "tasks": [ - { - "label": "clean", - "type": "process", - "command": "make", - "args": [ - "clean" - ], - "problemMatcher": [] - }, - { - "dependsOn": "clean", - "label": "build debug", - "type": "process", - "command": "make", - "problemMatcher": [] - }, - { - "label": "run", - "type": "shell", - "isBackground": true, - "command": "C:\\melonDS\\melonDS.exe", // This requires https://github.com/melonDS-emu/melonDS/pull/1583 - "args": [ - "${workspaceFolder}/${workspaceFolderBasename}.nds" - ], - "presentation": { - "clear": true, - "reveal": "always" - }, - "problemMatcher": [] - }, - { - "label": "gdb-debug", - "type": "shell", - "dependsOn": [ - "build debug" - ], - "isBackground": false, - "command": "C:/melonDS/melonDS.exe", - "args": [ - "${workspaceFolder}/${workspaceFolderBasename}.nds" - ], - "presentation": { - "clear": true, - "reveal": "always" - }, - "problemMatcher": [] - }, - { - "label": "stop-emulation", - "type": "shell", - "command": "taskkill", - "args": [ - "/FI", - "imagename eq melonDS*" - ], - "problemMatcher": [] - } - ] +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "make debug", + "type": "process", + "command": "make", + "args": [ + "DEBUG=1" + ], + "problemMatcher": [] + }, + { + "label": "make release", + "type": "process", + "command": "make", + "args": [ + "DEBUG=0" + ], + "problemMatcher": [], + "group": { + "kind": "build", + "isDefault": true + } + }, + { + "label": "clean", + "type": "process", + "command": "make", + "args": [ + "clean" + ], + "problemMatcher": [] + }, + { + "label": "run", + "type": "shell", + "isBackground": true, + "command": "C:/Users/William/Documents/Desmume/Dev/DeSmuME_0.9.11_x86_dev+.exe", + "args": [ + "${workspaceFolder}/${workspaceFolderBasename}.nds" + ], + "presentation": { + "clear": true, + "reveal": "always" + }, + "problemMatcher": [] + }, + { + "label": "gdb-debug", + "type": "shell", + "dependsOn": [ + "make debug" + ], + "isBackground": false, + "command": "C:/Users/William/Documents/Desmume/Dev/DeSmuME_0.9.11_x86_dev+.exe", + "args": [ + "--arm9gdb=20000", + "${workspaceFolder}/${workspaceFolderBasename}.nds" + ], + "presentation": { + "clear": true, + "reveal": "always" + }, + "problemMatcher": [] + }, + { + "label": "stop-emulation", + "type": "shell", + "command": "taskkill", + "args": [ + "/FI", + "imagename eq DeSmuME*" + ], + "problemMatcher": [] + } + ] } \ No newline at end of file diff --git a/ATTRIBUTION.md b/ATTRIBUTION.md index 07c732e..ea06cea 100644 --- a/ATTRIBUTION.md +++ b/ATTRIBUTION.md @@ -1,37 +1,37 @@ -## Copyright Attribution - -*Breaking Bad and related properties are owned and copyrighted by their respective authors.* - -This project and its source code is licensed under Apache-2.0, except where otherwise stated below: - -### Attribution -#### Models -- "Simple and Low Poly Chibi Base" (https://skfb.ly/6So9S) by XNdrive is licensed under Creative Commons Attribution-ShareAlike (http://creativecommons.org/licenses/by-sa/4.0/). - -#### Graphics -- "Assorted test tube lot": https://www.pickpik.com/lab-research-chemistry-test-experiment-many-110674 (CC0 - Creative Commons Public Domain) -- "Clock-half-past-3": https://freesvg.org/clock-half-past-3 (Public Domain) -- "Red Firemark Fire Extinguisher": https://www.wallpaperflare.com/red-firemark-fire-extinguisher-alarm-batch-burning-clear-wallpaper-zoejz (CC0 — Creative Commons Public Domain) -- "Flask Clipart": https://creazilla.com/nodes/3168585-flask-clipart (Public Domain) -- "Test Tube Clipart": https://creazilla.com/nodes/7817193-test-tube-clipart (Public Domain) -- Cover art and character graphics: Courtesy of GardenOwl - -#### Code -- Debug: WinterMute's RAM check routine from the devKitPro forums (https://devkitpro.org/viewtopic.php?t=3057) -- 3D graphics: Nitro-Engine by AntonioND (https://github.com/AntonioND/nitro-engine/) -- 2D graphics: NightFoxLib by NightFox (https://github.com/knightfox75/nds_nflib/) -- devKitARM and libnds by the devKitPro team (https://github.com/devkitPro/libnds) -- Nintendo DS NiFi Template by Fewnity (https://github.com/Fewnity/Nintendo-DS-Nifi-Template/), based on jpenny19993 and Stephen Stair's original work (libwifi) -- Save system by C3RV1, based on their awesome work for Undertale DS (https://github.com/C3RV1/UndertaleNDS/) — Licensed under GPL-3.0 - -#### Sound -- Metal sound 12 (drumming sink) by giddster (https://freesound.org/people/giddster/sounds/387958/) — Licensed under CC0 (Creative Commons Public Domain) -- Family Friendly Inspect Sound, UI, or In-Game Notification by MATRIXXX_ (https://freesound.org/people/MATRIXXX_/sounds/657948/) — Licensed under CC0 (Creative Commons Public Domain) -- Sci-Fi Inspect Sound, UI, or In-Game Notification by MATRIXXX_ (https://freesound.org/people/MATRIXXX_/sounds/657950/) — Licensed under CC0 (Creative Commons Public Domain) -- success_bell by MLaudio (https://freesound.org/people/MLaudio/sounds/511484/) — Licensed under CC0 (Creative Commons Public Domain) -- squeaky valve by Richard Frohlich (https://freesound.org/people/FreqMan/sounds/31380/) — Licensed under Creative Commons Attribution 4.0 International (https://creativecommons.org/licenses/by/4.0/) -- Homemade Gunshot by Noah Fletcher (https://freesound.org/people/Noah_Fletcher/sounds/200245/) — Licensed under CC0 (Creative Commons Public Domain) -- Mortar and pestle cooking; loud by Australopithecusman (https://freesound.org/people/Australopithecusman/sounds/388900/) — Licensed under Creative Commons Attribution 4.0 International (https://creativecommons.org/licenses/by/4.0/) -- Crank by MasterSuite (https://freesound.org/people/MasterSuite/sounds/667389/) — Licensed under CC0 (Creative Commons Public Domain) -- CLICK - plastic bottle lid - SNAP by Duisterwho (https://freesound.org/people/Duisterwho/sounds/644049/) — Licensed under CC0 (Creative Commons Public Domain) +## Copyright Attribution + +*Breaking Bad and related properties are owned and copyrighted by their respective authors.* + +This project and its source code is licensed under Apache-2.0, except where otherwise stated below: + +### Attribution +#### Models +- "Simple and Low Poly Chibi Base" (https://skfb.ly/6So9S) by XNdrive is licensed under Creative Commons Attribution-ShareAlike (http://creativecommons.org/licenses/by-sa/4.0/). + +#### Graphics +- "Assorted test tube lot": https://www.pickpik.com/lab-research-chemistry-test-experiment-many-110674 (CC0 - Creative Commons Public Domain) +- "Clock-half-past-3": https://freesvg.org/clock-half-past-3 (Public Domain) +- "Red Firemark Fire Extinguisher": https://www.wallpaperflare.com/red-firemark-fire-extinguisher-alarm-batch-burning-clear-wallpaper-zoejz (CC0 — Creative Commons Public Domain) +- "Flask Clipart": https://creazilla.com/nodes/3168585-flask-clipart (Public Domain) +- "Test Tube Clipart": https://creazilla.com/nodes/7817193-test-tube-clipart (Public Domain) +- Cover art and character graphics: Courtesy of GardenOwl + +#### Code +- Debug: WinterMute's RAM check routine from the devKitPro forums (https://devkitpro.org/viewtopic.php?t=3057) +- 3D graphics: Nitro-Engine by AntonioND (https://github.com/AntonioND/nitro-engine/) +- 2D graphics: NightFoxLib by NightFox (https://github.com/knightfox75/nds_nflib/) +- devKitARM and libnds by the devKitPro team (https://github.com/devkitPro/libnds) +- Nintendo DS NiFi Template by Fewnity (https://github.com/Fewnity/Nintendo-DS-Nifi-Template/), based on jpenny19993 and Stephen Stair's original work (libwifi) +- Save system by C3RV1, based on their awesome work for Undertale DS (https://github.com/C3RV1/UndertaleNDS/) — Licensed under GPL-3.0 + +#### Sound +- Metal sound 12 (drumming sink) by giddster (https://freesound.org/people/giddster/sounds/387958/) — Licensed under CC0 (Creative Commons Public Domain) +- Family Friendly Inspect Sound, UI, or In-Game Notification by MATRIXXX_ (https://freesound.org/people/MATRIXXX_/sounds/657948/) — Licensed under CC0 (Creative Commons Public Domain) +- Sci-Fi Inspect Sound, UI, or In-Game Notification by MATRIXXX_ (https://freesound.org/people/MATRIXXX_/sounds/657950/) — Licensed under CC0 (Creative Commons Public Domain) +- success_bell by MLaudio (https://freesound.org/people/MLaudio/sounds/511484/) — Licensed under CC0 (Creative Commons Public Domain) +- squeaky valve by Richard Frohlich (https://freesound.org/people/FreqMan/sounds/31380/) — Licensed under Creative Commons Attribution 4.0 International (https://creativecommons.org/licenses/by/4.0/) +- Homemade Gunshot by Noah Fletcher (https://freesound.org/people/Noah_Fletcher/sounds/200245/) — Licensed under CC0 (Creative Commons Public Domain) +- Mortar and pestle cooking; loud by Australopithecusman (https://freesound.org/people/Australopithecusman/sounds/388900/) — Licensed under Creative Commons Attribution 4.0 International (https://creativecommons.org/licenses/by/4.0/) +- Crank by MasterSuite (https://freesound.org/people/MasterSuite/sounds/667389/) — Licensed under CC0 (Creative Commons Public Domain) +- CLICK - plastic bottle lid - SNAP by Duisterwho (https://freesound.org/people/Duisterwho/sounds/644049/) — Licensed under CC0 (Creative Commons Public Domain) - Shopvac by Dnab55 (https://freesound.org/people/Dnab55/sounds/129347/) — Licensed under CC0 (Creative Commons Public Domain) \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index d6a4181..ed6505a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,21 +1,21 @@ -FROM devkitpro/devkitarm - -RUN git clone https://github.com/RetroVNDjinn/libfilesystem.git; \ - cd /libfilesystem; \ - make; \ - cp ./lib/libfilesystem.a /opt/devkitpro/libnds/lib/libfilesystem.a; \ - cd /; - -RUN git clone https://github.com/AntonioND/nitro-engine.git; \ - ln -sT /nitro-engine /opt/devkitpro/nitro-engine; \ - cd /nitro-engine; \ - make; \ - cd /; - -RUN git clone https://github.com/knightfox75/nds_nflib.git; \ - ln -sT /nds_nflib /opt/devkitpro/nflib; \ - cd /nds_nflib; \ - make; \ - cd /; - +FROM devkitpro/devkitarm + +RUN git clone https://github.com/RetroVNDjinn/libfilesystem.git; \ + cd /libfilesystem; \ + make; \ + cp ./lib/libfilesystem.a /opt/devkitpro/libnds/lib/libfilesystem.a; \ + cd /; + +RUN git clone https://github.com/AntonioND/nitro-engine.git; \ + ln -sT /nitro-engine /opt/devkitpro/nitro-engine; \ + cd /nitro-engine; \ + make; \ + cd /; + +RUN git clone https://github.com/knightfox75/nds_nflib.git; \ + ln -sT /nds_nflib /opt/devkitpro/nflib; \ + cd /nds_nflib; \ + make; \ + cd /; + ENTRYPOINT [ "/bin/bash" ] \ No newline at end of file diff --git a/LICENSE b/LICENSE index 9b5e401..7a4a3ea 100644 --- a/LICENSE +++ b/LICENSE @@ -1,202 +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 + + 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. \ No newline at end of file diff --git a/Makefile b/Makefile index a65ae0c..46f3412 100644 --- a/Makefile +++ b/Makefile @@ -1,222 +1,222 @@ -#--------------------------------------------------------------------------------- -.SUFFIXES: -#--------------------------------------------------------------------------------- - -ifeq ($(strip $(DEVKITARM)),) -$(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM") -endif - -include $(DEVKITARM)/ds_rules - -#--------------------------------------------------------------------------------- -# TARGET is the name of the output -# BUILD is the directory where object files & intermediate files will be placed -# SOURCES is a list of directories containing source code -# INCLUDES is a list of directories containing extra header files -# DATA is a list of directories containing binary files embedded using bin2o -# GRAPHICS is a list of directories containing image files to be converted with grit -# AUDIO is a list of directories containing audio to be converted by maxmod -# ICON is the image used to create the game icon, leave blank to use default rule -# NITRO is a directory that will be accessible via NitroFS -#--------------------------------------------------------------------------------- -TARGET := $(shell basename $(CURDIR)) -BUILD := build -SOURCES := source -INCLUDES := include -DATA := data -GRAPHICS := -AUDIO := -ICON := - -# specify a directory which contains the nitro filesystem -# this is relative to the Makefile -NITRO := nitrofiles - -# These set the information text in the nds file -GAME_TITLE := Breaking Bad -GAME_SUBTITLE1 := William278 -GAME_SUBTITLE2 := 2023 - -#--------------------------------------------------------------------------------- -# options for code generation -#--------------------------------------------------------------------------------- -ARCH := -marm -mthumb-interwork -march=armv5te -mtune=arm946e-s - -CFLAGS := -g -Wall -O3\ - $(ARCH) $(INCLUDE) -DARM9 -CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions -ASFLAGS := -g $(ARCH) -LDFLAGS = -specs=ds_arm9.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map) - -#--------------------------------------------------------------------------------- -# any extra libraries we wish to link with the project (order is important) -#--------------------------------------------------------------------------------- -LIBS := -lNE -lnflib -ldswifi9 - -# automatigically add libraries for NitroFS -ifneq ($(strip $(NITRO)),) -LIBS := $(LIBS) -lfilesystem -lfat -endif -# automagically add maxmod library -ifneq ($(strip $(AUDIO)),) -LIBS := $(LIBS) -lmm9 -endif - -LIBS := $(LIBS) -lnds9 - -#--------------------------------------------------------------------------------- -# list of directories containing libraries, this must be the top level containing -# include and lib -#--------------------------------------------------------------------------------- -LIBDIRS := ../libs $(LIBNDS) $(PORTLIBS) $(DEVKITPRO)/nitro-engine $(DEVKITPRO)/nflib - -#--------------------------------------------------------------------------------- -# no real need to edit anything past this point unless you need to add additional -# rules for different file extensions -#--------------------------------------------------------------------------------- -ifneq ($(BUILD),$(notdir $(CURDIR))) -#--------------------------------------------------------------------------------- - -export OUTPUT := $(CURDIR)/$(TARGET) - -export VPATH := $(CURDIR)/$(subst /,,$(dir $(ICON)))\ - $(foreach dir,$(SOURCES),$(CURDIR)/$(dir))\ - $(foreach dir,$(DATA),$(CURDIR)/$(dir))\ - $(foreach dir,$(GRAPHICS),$(CURDIR)/$(dir)) - -export DEPSDIR := $(CURDIR)/$(BUILD) - -CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) -CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) -SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) -PNGFILES := $(foreach dir,$(GRAPHICS),$(notdir $(wildcard $(dir)/*.png))) -BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) - -# prepare NitroFS directory -ifneq ($(strip $(NITRO)),) - export NITRO_FILES := $(CURDIR)/$(NITRO) -endif - -# get audio list for maxmod -ifneq ($(strip $(AUDIO)),) - export MODFILES := $(foreach dir,$(notdir $(wildcard $(AUDIO)/*.*)),$(CURDIR)/$(AUDIO)/$(dir)) - - # place the soundbank file in NitroFS if using it - ifneq ($(strip $(NITRO)),) - export SOUNDBANK := $(NITRO_FILES)/soundbank.bin - - # otherwise, needs to be loaded from memory - else - export SOUNDBANK := soundbank.bin - BINFILES += $(SOUNDBANK) - endif -endif - -#--------------------------------------------------------------------------------- -# use CXX for linking C++ projects, CC for standard C -#--------------------------------------------------------------------------------- -ifeq ($(strip $(CPPFILES)),) -#--------------------------------------------------------------------------------- - export LD := $(CC) -#--------------------------------------------------------------------------------- -else -#--------------------------------------------------------------------------------- - export LD := $(CXX) -#--------------------------------------------------------------------------------- -endif -#--------------------------------------------------------------------------------- - -export OFILES_BIN := $(addsuffix .o,$(BINFILES)) - -export OFILES_SOURCES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o) - -export OFILES := $(PNGFILES:.png=.o) $(OFILES_BIN) $(OFILES_SOURCES) - -export HFILES := $(PNGFILES:.png=.h) $(addsuffix .h,$(subst .,_,$(BINFILES))) - -export INCLUDE := $(foreach dir,$(INCLUDES),-iquote $(CURDIR)/$(dir))\ - $(foreach dir,$(LIBDIRS),-I$(dir)/include)\ - -I$(CURDIR)/$(BUILD) -export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) - -ifeq ($(strip $(ICON)),) - icons := $(wildcard *.bmp) - - ifneq (,$(findstring $(TARGET).bmp,$(icons))) - export GAME_ICON := $(CURDIR)/$(TARGET).bmp - else - ifneq (,$(findstring icon.bmp,$(icons))) - export GAME_ICON := $(CURDIR)/icon.bmp - endif - endif -else - ifeq ($(suffix $(ICON)), .grf) - export GAME_ICON := $(CURDIR)/$(ICON) - else - export GAME_ICON := $(CURDIR)/$(BUILD)/$(notdir $(basename $(ICON))).grf - endif -endif - -.PHONY: $(BUILD) clean - -#--------------------------------------------------------------------------------- -$(BUILD): - @[ -d $@ ] || mkdir -p $@ - @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile - -#--------------------------------------------------------------------------------- -clean: - @echo clean ... - @rm -fr $(BUILD) $(TARGET).elf $(TARGET).nds $(SOUNDBANK) - -#--------------------------------------------------------------------------------- -else - -#--------------------------------------------------------------------------------- -# main targets -#--------------------------------------------------------------------------------- -$(OUTPUT).nds: $(OUTPUT).elf $(GAME_ICON) -$(OUTPUT).elf: $(OFILES) - -# source files depend on generated headers -$(OFILES_SOURCES) : $(HFILES) - -# need to build soundbank first -$(OFILES): $(SOUNDBANK) - -#--------------------------------------------------------------------------------- -# rule to build solution from music files -#--------------------------------------------------------------------------------- -$(SOUNDBANK) : $(MODFILES) -#--------------------------------------------------------------------------------- - mmutil $^ -d -o$@ -hsoundbank.h - -#--------------------------------------------------------------------------------- -%.bin.o %_bin.h : %.bin -#--------------------------------------------------------------------------------- - @echo $(notdir $<) - @$(bin2o) - -#--------------------------------------------------------------------------------- -# This rule creates assembly source files using grit -# grit takes an image file and a .grit describing how the file is to be processed -# add additional rules like this for each image extension -# you use in the graphics folders -#--------------------------------------------------------------------------------- -%.s %.h: %.png %.grit -#--------------------------------------------------------------------------------- - grit $< -fts -o$* - -#--------------------------------------------------------------------------------- -# Convert non-GRF game icon to GRF if needed -#--------------------------------------------------------------------------------- -$(GAME_ICON): $(notdir $(ICON)) -#--------------------------------------------------------------------------------- - @echo convert $(notdir $<) - @grit $< -g -gt -gB4 -gT FF00FF -m! -p -pe 16 -fh! -ftr - --include $(DEPSDIR)/*.d - -#--------------------------------------------------------------------------------------- -endif +#--------------------------------------------------------------------------------- +.SUFFIXES: +#--------------------------------------------------------------------------------- + +ifeq ($(strip $(DEVKITARM)),) +$(error "Please set DEVKITARM in your environment. export DEVKITARM=devkitARM") +endif + +include $(DEVKITARM)/ds_rules + +#--------------------------------------------------------------------------------- +# TARGET is the name of the output +# BUILD is the directory where object files & intermediate files will be placed +# SOURCES is a list of directories containing source code +# INCLUDES is a list of directories containing extra header files +# DATA is a list of directories containing binary files embedded using bin2o +# GRAPHICS is a list of directories containing image files to be converted with grit +# AUDIO is a list of directories containing audio to be converted by maxmod +# ICON is the image used to create the game icon, leave blank to use default rule +# NITRO is a directory that will be accessible via NitroFS +#--------------------------------------------------------------------------------- +TARGET := $(shell basename $(CURDIR)) +BUILD := build +SOURCES := source +INCLUDES := include +DATA := data +GRAPHICS := +AUDIO := +ICON := + +# specify a directory which contains the nitro filesystem +# this is relative to the Makefile +NITRO := nitrofiles + +# These set the information text in the nds file +GAME_TITLE := Breaking Bad +GAME_SUBTITLE1 := William278 +GAME_SUBTITLE2 := 2023 + +#--------------------------------------------------------------------------------- +# options for code generation +#--------------------------------------------------------------------------------- +ARCH := -marm -mthumb-interwork -march=armv5te -mtune=arm946e-s + +CFLAGS := -g -Wall -O3\ + $(ARCH) $(INCLUDE) -DARM9 +CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions +ASFLAGS := -g $(ARCH) +LDFLAGS = -specs=ds_arm9.specs -g $(ARCH) -Wl,-Map,$(notdir $*.map) + +#--------------------------------------------------------------------------------- +# any extra libraries we wish to link with the project (order is important) +#--------------------------------------------------------------------------------- +LIBS := -lNE -lnflib -ldswifi9 + +# automatigically add libraries for NitroFS +ifneq ($(strip $(NITRO)),) +LIBS := $(LIBS) -lfilesystem -lfat +endif +# automagically add maxmod library +ifneq ($(strip $(AUDIO)),) +LIBS := $(LIBS) -lmm9 +endif + +LIBS := $(LIBS) -lnds9 + +#--------------------------------------------------------------------------------- +# list of directories containing libraries, this must be the top level containing +# include and lib +#--------------------------------------------------------------------------------- +LIBDIRS := ../libs $(LIBNDS) $(PORTLIBS) $(DEVKITPRO)/nitro-engine $(DEVKITPRO)/nflib + +#--------------------------------------------------------------------------------- +# no real need to edit anything past this point unless you need to add additional +# rules for different file extensions +#--------------------------------------------------------------------------------- +ifneq ($(BUILD),$(notdir $(CURDIR))) +#--------------------------------------------------------------------------------- + +export OUTPUT := $(CURDIR)/$(TARGET) + +export VPATH := $(CURDIR)/$(subst /,,$(dir $(ICON)))\ + $(foreach dir,$(SOURCES),$(CURDIR)/$(dir))\ + $(foreach dir,$(DATA),$(CURDIR)/$(dir))\ + $(foreach dir,$(GRAPHICS),$(CURDIR)/$(dir)) + +export DEPSDIR := $(CURDIR)/$(BUILD) + +CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c))) +CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp))) +SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s))) +PNGFILES := $(foreach dir,$(GRAPHICS),$(notdir $(wildcard $(dir)/*.png))) +BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*))) + +# prepare NitroFS directory +ifneq ($(strip $(NITRO)),) + export NITRO_FILES := $(CURDIR)/$(NITRO) +endif + +# get audio list for maxmod +ifneq ($(strip $(AUDIO)),) + export MODFILES := $(foreach dir,$(notdir $(wildcard $(AUDIO)/*.*)),$(CURDIR)/$(AUDIO)/$(dir)) + + # place the soundbank file in NitroFS if using it + ifneq ($(strip $(NITRO)),) + export SOUNDBANK := $(NITRO_FILES)/soundbank.bin + + # otherwise, needs to be loaded from memory + else + export SOUNDBANK := soundbank.bin + BINFILES += $(SOUNDBANK) + endif +endif + +#--------------------------------------------------------------------------------- +# use CXX for linking C++ projects, CC for standard C +#--------------------------------------------------------------------------------- +ifeq ($(strip $(CPPFILES)),) +#--------------------------------------------------------------------------------- + export LD := $(CC) +#--------------------------------------------------------------------------------- +else +#--------------------------------------------------------------------------------- + export LD := $(CXX) +#--------------------------------------------------------------------------------- +endif +#--------------------------------------------------------------------------------- + +export OFILES_BIN := $(addsuffix .o,$(BINFILES)) + +export OFILES_SOURCES := $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o) + +export OFILES := $(PNGFILES:.png=.o) $(OFILES_BIN) $(OFILES_SOURCES) + +export HFILES := $(PNGFILES:.png=.h) $(addsuffix .h,$(subst .,_,$(BINFILES))) + +export INCLUDE := $(foreach dir,$(INCLUDES),-iquote $(CURDIR)/$(dir))\ + $(foreach dir,$(LIBDIRS),-I$(dir)/include)\ + -I$(CURDIR)/$(BUILD) +export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) + +ifeq ($(strip $(ICON)),) + icons := $(wildcard *.bmp) + + ifneq (,$(findstring $(TARGET).bmp,$(icons))) + export GAME_ICON := $(CURDIR)/$(TARGET).bmp + else + ifneq (,$(findstring icon.bmp,$(icons))) + export GAME_ICON := $(CURDIR)/icon.bmp + endif + endif +else + ifeq ($(suffix $(ICON)), .grf) + export GAME_ICON := $(CURDIR)/$(ICON) + else + export GAME_ICON := $(CURDIR)/$(BUILD)/$(notdir $(basename $(ICON))).grf + endif +endif + +.PHONY: $(BUILD) clean + +#--------------------------------------------------------------------------------- +$(BUILD): + @[ -d $@ ] || mkdir -p $@ + @$(MAKE) --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile + +#--------------------------------------------------------------------------------- +clean: + @echo clean ... + @rm -fr $(BUILD) $(TARGET).elf $(TARGET).nds $(SOUNDBANK) + +#--------------------------------------------------------------------------------- +else + +#--------------------------------------------------------------------------------- +# main targets +#--------------------------------------------------------------------------------- +$(OUTPUT).nds: $(OUTPUT).elf $(GAME_ICON) +$(OUTPUT).elf: $(OFILES) + +# source files depend on generated headers +$(OFILES_SOURCES) : $(HFILES) + +# need to build soundbank first +$(OFILES): $(SOUNDBANK) + +#--------------------------------------------------------------------------------- +# rule to build solution from music files +#--------------------------------------------------------------------------------- +$(SOUNDBANK) : $(MODFILES) +#--------------------------------------------------------------------------------- + mmutil $^ -d -o$@ -hsoundbank.h + +#--------------------------------------------------------------------------------- +%.bin.o %_bin.h : %.bin +#--------------------------------------------------------------------------------- + @echo $(notdir $<) + @$(bin2o) + +#--------------------------------------------------------------------------------- +# This rule creates assembly source files using grit +# grit takes an image file and a .grit describing how the file is to be processed +# add additional rules like this for each image extension +# you use in the graphics folders +#--------------------------------------------------------------------------------- +%.s %.h: %.png %.grit +#--------------------------------------------------------------------------------- + grit $< -fts -o$* + +#--------------------------------------------------------------------------------- +# Convert non-GRF game icon to GRF if needed +#--------------------------------------------------------------------------------- +$(GAME_ICON): $(notdir $(ICON)) +#--------------------------------------------------------------------------------- + @echo convert $(notdir $<) + @grit $< -g -gt -gB4 -gT FF00FF -m! -p -pe 16 -fh! -ftr + +-include $(DEPSDIR)/*.d + +#--------------------------------------------------------------------------------------- +endif #--------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/README.md b/README.md index da406e9..d58f224 100644 --- a/README.md +++ b/README.md @@ -1,97 +1,97 @@ -

- Cover artwork by GardenOwl -
- Breaking Bad DS -

-

- - - - - - -

- -*Breaking Bad*, as a Nintendo DS game, complete with 3D graphics and models. Master the art of the cook on your Nintendo DS system and prepare the perfect batch—lest you meet the wrong end of Gus. Hone your cook in both Singleplayer and Local Multiplayer Vs. - -## Screenshots - - - - - - - - - - - -
Title screenStory modeIn the lab
Pipette minigameLocal Multiplayer Vs. modeHank's minerals
- -## Playing -For the absolute best experience, pop the ROM on a flashcart and enjoy! - -### On an Emulator -But if you're not as bothered as Walter is about doing things with the proper gear, [melonDS](https://github.com/melonDS-emu/melonDS/releases/latest) is the recommended emulator for play due to its accuracy and performance. Alternatively, the latest release of [DeSmuME](https://github.com/TASEmulators/desmume/releases/latest) is slightly easier to setup and supports [emulating rumble](#ds-rumble-pak-support). - -To run this on melonDS, you'll need to go into the Emulator Config -> DLDI -> Enable DLDI, since this uses the homebrew nitrofile system. I reccommend the Software video emulator for best results to make the models pop, as the OpenGL backend doesn't quite support the DS's hardware-accellerated outlines just yet. - -### On a modded DSi/3DS -You can also run this on a modded DSi or 3DS with Twilight Menu++ (other game loaders have not been tested). You can download the game ROM by scanning the QR code below in your loader's menu, if your system supports this. Please make sure you use v1.0.3+, or your game may crash on startup! - -
-Download ROM QR code (v1.0.5) - -![QR code for installing the game on a DSi/3DS with TwilightMenu](dsi-qr-code.png) - -
- -### Unsupported platforms -Sorry, this *won't work on the Wii U Virtual Console emulator*. I'm sorry to ruin your dreams. If you run this on a cool setup, take a picture and [email me](mailto:will27528+brbads@gmail.com). - -## Instructions -### Tutorial (1P) -The Tutorial will teach you how to play! Gale will provide instructions on how to complete each Minigame. To access the Tutorial, select it from the Main Menu. - -### Story Mode (1P) -To start story mode, start the game. Touch to start, then tap "Start Game → Story Mode." - -Gus has appointed you Head Cook! Meet his ever-increasing demands by cooking against the clock in the Superlab. Each day, you'll be given a Quota you must complete within a set time limit to progress on to the next day. After each day, you'll receive your pay packet based on your performance and efficiency, which you can spend in Saul's shop! - -Story mode lasts five days, and there are two possible endings ("Good" and "Bad"). Good luck! - -**About save data:** Story progress is not saved after powering off the Nintendo DS system or emulator due to LibFAT not working correctly on most flash carts. Some flash carts do support saving, however, and the game will attempt to save your progress to your SD card. Making save states is reccommended if you're using an emulator! - -### Local Multiplayer (2P) -Breaking Bad for Nintendo DS also supports up to two Nintendo DS systems playing together in a Multiplayer Vs. Battle to see who can complete their batches the quickest. You can emulate this through multiple instances on MelonDS currently, or run on hardware with two systems and two flashcarts. To set this up: - -* On the first system, launch the game. Touch to start, then tap "Start Game → Host." -* If you're using MelonDS: On the menu bar, select "System → Multiplayer → Launch new instance" and open the ROM. -* On the second system/new MelonDS instance, launch the game, touch to start, then tap "Start Game → Join." -* Wait for the systems to establish communications. -* On the Host console, press the A Button to start the game. - -The Host system will play as Walter, while the guest will play as Jesse. The magic that makes it work is thanks to the incredible [Fewnity](https://github.com/Fewnity/Nintendo-DS-Nifi-Template/)'s amazing NiFi scaffold! - -### Hank's Minerals -By completing certain challenges, you'll find minerals! Hank will appraise minerals you find in the "Hank's Minerals" submenu, located in the Extras Menu. There are twelve minerals to find, and you can view how to get them by tapping on each `[?]` icon in the menu. - -Once you've obtained a mineral, it will be displayed in the menu and selecting it will tell you what it is. Minerals marked with "??????" are a secret, so no hints there! - -### Music Player -You can listen to the game music through the Music Player submenu, located in the Extras menu. Use the left and right buttons on the + Control Pad to change the track. - -### DS Rumble Pak support -This game supports the [Nintendo DS Rumble Pak](https://en.wikipedia.org/wiki/Rumble_Pak#Nintendo_DS)! DeSMuME (but not Melon, sadly) supports emulating this — or you can insert a physical SLOT-2 DS Rumble Pak accessory on an original DS/DS Lite. If you're shopping for this accessory, you can often find it cheaper bundled with certain games, such as "actionloop" in Europe. - -## Building -### General instructions -devKitARM, NFLib and Nitro-Engine must be installed. Then, just run `make` following to build a `.nds` ROM file. - -### Asset preparation -There's scripts for converting the various assets and moving them into the correct nitrofiles directories. Run `bash ./convert.sh` inside `graphics/sprite` for instance to automatically prepare all the sprite images. If you've updated the graphics, delete the `build/` directory before building. - -## License -The source code for this project is licensed under Apache-2.0, except otherwise stated. For more information, see [LICENSE](https://github.com/WiIIiam278/breaking-bad-ds/blob/main/LICENSE). - -For attribution information on the various resources I used, please see [ATTRIBUTION.md](https://github.com/WiIIiam278/breaking-bad-ds/blob/main/ATTRIBUTION.md). +

+ Cover artwork by GardenOwl +
+ Breaking Bad DS +

+

+ + + + + + +

+ +*Breaking Bad*, as a Nintendo DS game, complete with 3D graphics and models. Master the art of the cook on your Nintendo DS system and prepare the perfect batch—lest you meet the wrong end of Gus. Hone your cook in both Singleplayer and Local Multiplayer Vs. + +## Screenshots + + + + + + + + + + + +
Title screenStory modeIn the lab
Pipette minigameLocal Multiplayer Vs. modeHank's minerals
+ +## Playing +For the absolute best experience, pop the ROM on a flashcart and enjoy! + +### On an Emulator +But if you're not as bothered as Walter is about doing things with the proper gear, [melonDS](https://github.com/melonDS-emu/melonDS/releases/latest) is the recommended emulator for play due to its accuracy and performance. Alternatively, the latest release of [DeSmuME](https://github.com/TASEmulators/desmume/releases/latest) is slightly easier to setup and supports [emulating rumble](#ds-rumble-pak-support). + +To run this on melonDS, you'll need to go into the Emulator Config -> DLDI -> Enable DLDI, since this uses the homebrew nitrofile system. I reccommend the Software video emulator for best results to make the models pop, as the OpenGL backend doesn't quite support the DS's hardware-accellerated outlines just yet. + +### On a modded DSi/3DS +You can also run this on a modded DSi or 3DS with Twilight Menu++ (other game loaders have not been tested). You can download the game ROM by scanning the QR code below in your loader's menu, if your system supports this. Please make sure you use v1.0.3+, or your game may crash on startup! + +
+Download ROM QR code (v1.0.5) + +![QR code for installing the game on a DSi/3DS with TwilightMenu](dsi-qr-code.png) + +
+ +### Unsupported platforms +Sorry, this *won't work on the Wii U Virtual Console emulator*. I'm sorry to ruin your dreams. If you run this on a cool setup, take a picture and [email me](mailto:will27528+brbads@gmail.com). + +## Instructions +### Tutorial (1P) +The Tutorial will teach you how to play! Gale will provide instructions on how to complete each Minigame. To access the Tutorial, select it from the Main Menu. + +### Story Mode (1P) +To start story mode, start the game. Touch to start, then tap "Start Game → Story Mode." + +Gus has appointed you Head Cook! Meet his ever-increasing demands by cooking against the clock in the Superlab. Each day, you'll be given a Quota you must complete within a set time limit to progress on to the next day. After each day, you'll receive your pay packet based on your performance and efficiency, which you can spend in Saul's shop! + +Story mode lasts five days, and there are two possible endings ("Good" and "Bad"). Good luck! + +**About save data:** Story progress is not saved after powering off the Nintendo DS system or emulator due to LibFAT not working correctly on most flash carts. Some flash carts do support saving, however, and the game will attempt to save your progress to your SD card. Making save states is reccommended if you're using an emulator! + +### Local Multiplayer (2P) +Breaking Bad for Nintendo DS also supports up to two Nintendo DS systems playing together in a Multiplayer Vs. Battle to see who can complete their batches the quickest. You can emulate this through multiple instances on MelonDS currently, or run on hardware with two systems and two flashcarts. To set this up: + +* On the first system, launch the game. Touch to start, then tap "Start Game → Host." +* If you're using MelonDS: On the menu bar, select "System → Multiplayer → Launch new instance" and open the ROM. +* On the second system/new MelonDS instance, launch the game, touch to start, then tap "Start Game → Join." +* Wait for the systems to establish communications. +* On the Host console, press the A Button to start the game. + +The Host system will play as Walter, while the guest will play as Jesse. The magic that makes it work is thanks to the incredible [Fewnity](https://github.com/Fewnity/Nintendo-DS-Nifi-Template/)'s amazing NiFi scaffold! + +### Hank's Minerals +By completing certain challenges, you'll find minerals! Hank will appraise minerals you find in the "Hank's Minerals" submenu, located in the Extras Menu. There are twelve minerals to find, and you can view how to get them by tapping on each `[?]` icon in the menu. + +Once you've obtained a mineral, it will be displayed in the menu and selecting it will tell you what it is. Minerals marked with "??????" are a secret, so no hints there! + +### Music Player +You can listen to the game music through the Music Player submenu, located in the Extras menu. Use the left and right buttons on the + Control Pad to change the track. + +### DS Rumble Pak support +This game supports the [Nintendo DS Rumble Pak](https://en.wikipedia.org/wiki/Rumble_Pak#Nintendo_DS)! DeSMuME (but not Melon, sadly) supports emulating this — or you can insert a physical SLOT-2 DS Rumble Pak accessory on an original DS/DS Lite. If you're shopping for this accessory, you can often find it cheaper bundled with certain games, such as "actionloop" in Europe. + +## Building +### General instructions +devKitARM, NFLib and Nitro-Engine must be installed. Then, just run `make` following to build a `.nds` ROM file. + +### Asset preparation +There's scripts for converting the various assets and moving them into the correct nitrofiles directories. Run `bash ./convert.sh` inside `graphics/sprite` for instance to automatically prepare all the sprite images. If you've updated the graphics, delete the `build/` directory before building. + +## License +The source code for this project is licensed under Apache-2.0, except otherwise stated. For more information, see [LICENSE](https://github.com/WiIIiam278/breaking-bad-ds/blob/main/LICENSE). + +For attribution information on the various resources I used, please see [ATTRIBUTION.md](https://github.com/WiIIiam278/breaking-bad-ds/blob/main/ATTRIBUTION.md). diff --git a/convert-lab-model.sh b/convert-lab-model.sh index a0be126..3eee0b0 100644 --- a/convert-lab-model.sh +++ b/convert-lab-model.sh @@ -1,10 +1,10 @@ -cd ../../nitro-engine/tools/obj2dl && -python obj2dl.py --input ../../../projects/breaking-bad-ds/models/superlab/superlab.obj --texture 256 256 --output ../../../projects/breaking-bad-ds/nitrofiles/model/superlab.dl && -python obj2dl.py --input ../../../projects/breaking-bad-ds/models/superlab/superlab_mixer.obj --texture 256 256 --output ../../../projects/breaking-bad-ds/nitrofiles/model/superlab_mixer.dl && -python obj2dl.py --input ../../../projects/breaking-bad-ds/models/superlab/superlab_pipe.obj --texture 256 256 --output ../../../projects/breaking-bad-ds/nitrofiles/model/superlab_pipe.dl && -cd ../img2ds && -# use imagemagick to flip superlab_textures.png ONLY VERTICALLY -convert ../../../projects/breaking-bad-ds/models/superlab/superlab_textures.png -flip ../../../projects/breaking-bad-ds/models/superlab/superlab_textures.png && -python img2ds.py --input ../../../projects/breaking-bad-ds/models/superlab/superlab_textures.png --name superlab --format A1RGB5 --output ../../../projects/breaking-bad-ds/nitrofiles/model && -# flip superlab_textures.png back +cd ../../nitro-engine/tools/obj2dl && +python obj2dl.py --input ../../../projects/breaking-bad-ds/models/superlab/superlab.obj --texture 256 256 --output ../../../projects/breaking-bad-ds/nitrofiles/model/superlab.dl && +python obj2dl.py --input ../../../projects/breaking-bad-ds/models/superlab/superlab_mixer.obj --texture 256 256 --output ../../../projects/breaking-bad-ds/nitrofiles/model/superlab_mixer.dl && +python obj2dl.py --input ../../../projects/breaking-bad-ds/models/superlab/superlab_pipe.obj --texture 256 256 --output ../../../projects/breaking-bad-ds/nitrofiles/model/superlab_pipe.dl && +cd ../img2ds && +# use imagemagick to flip superlab_textures.png ONLY VERTICALLY +convert ../../../projects/breaking-bad-ds/models/superlab/superlab_textures.png -flip ../../../projects/breaking-bad-ds/models/superlab/superlab_textures.png && +python img2ds.py --input ../../../projects/breaking-bad-ds/models/superlab/superlab_textures.png --name superlab --format A1RGB5 --output ../../../projects/breaking-bad-ds/nitrofiles/model && +# flip superlab_textures.png back convert ../../../projects/breaking-bad-ds/models/superlab/superlab_textures.png -flip ../../../projects/breaking-bad-ds/models/superlab/superlab_textures.png \ No newline at end of file diff --git a/convert-logo-model.sh b/convert-logo-model.sh index 5983566..43ded76 100644 --- a/convert-logo-model.sh +++ b/convert-logo-model.sh @@ -1,8 +1,8 @@ -cd ../../nitro-engine/tools/obj2dl && -python obj2dl.py --input ../../../projects/breaking-bad-ds/models/logo/logo.obj --texture 128 128 --output ../../../projects/breaking-bad-ds/nitrofiles/model/logo.dl && -python obj2dl.py --input ../../../projects/breaking-bad-ds/models/logo/logo_text.obj --texture 128 128 --output ../../../projects/breaking-bad-ds/nitrofiles/model/logo_text.dl && -python obj2dl.py --input ../../../projects/breaking-bad-ds/models/logo/logo_skybox.obj --texture 256 256 --output ../../../projects/breaking-bad-ds/nitrofiles/model/logo_skybox.dl && -cd ../img2ds && -python img2ds.py --input ../../../projects/breaking-bad-ds/models/logo/logo.png --name logo --format A1RGB5 --output ../../../projects/breaking-bad-ds/nitrofiles/model && -python img2ds.py --input ../../../projects/breaking-bad-ds/models/logo/logo_text.png --name logo_text --format A1RGB5 --output ../../../projects/breaking-bad-ds/nitrofiles/model && +cd ../../nitro-engine/tools/obj2dl && +python obj2dl.py --input ../../../projects/breaking-bad-ds/models/logo/logo.obj --texture 128 128 --output ../../../projects/breaking-bad-ds/nitrofiles/model/logo.dl && +python obj2dl.py --input ../../../projects/breaking-bad-ds/models/logo/logo_text.obj --texture 128 128 --output ../../../projects/breaking-bad-ds/nitrofiles/model/logo_text.dl && +python obj2dl.py --input ../../../projects/breaking-bad-ds/models/logo/logo_skybox.obj --texture 256 256 --output ../../../projects/breaking-bad-ds/nitrofiles/model/logo_skybox.dl && +cd ../img2ds && +python img2ds.py --input ../../../projects/breaking-bad-ds/models/logo/logo.png --name logo --format A1RGB5 --output ../../../projects/breaking-bad-ds/nitrofiles/model && +python img2ds.py --input ../../../projects/breaking-bad-ds/models/logo/logo_text.png --name logo_text --format A1RGB5 --output ../../../projects/breaking-bad-ds/nitrofiles/model && python img2ds.py --input ../../../projects/breaking-bad-ds/models/logo/logo_skybox.png --name logo_skybox --format A1RGB5 --output ../../../projects/breaking-bad-ds/nitrofiles/model \ No newline at end of file diff --git a/graphics/bg/convert.sh b/graphics/bg/convert.sh index 22692a6..4444641 100644 --- a/graphics/bg/convert.sh +++ b/graphics/bg/convert.sh @@ -1,13 +1,13 @@ -#!/bin/sh - -for file in *.png; do - grit $file -ftb -fh! -gTFF00FF -gt -gB8 -mR8 -mLs - echo "Converting $file" -done - -for file in *.bin; do - mv -- "$file" "${file%.bin}" - echo "Moving $file" -done - +#!/bin/sh + +for file in *.png; do + grit $file -ftb -fh! -gTFF00FF -gt -gB8 -mR8 -mLs + echo "Converting $file" +done + +for file in *.bin; do + mv -- "$file" "${file%.bin}" + echo "Moving $file" +done + mv *.pal *.img *.map ../../nitrofiles/bg \ No newline at end of file diff --git a/graphics/sprite/convert.sh b/graphics/sprite/convert.sh index 529da40..aa7730f 100644 --- a/graphics/sprite/convert.sh +++ b/graphics/sprite/convert.sh @@ -1,13 +1,13 @@ -#!/bin/sh - -for file in *.png; do - grit $file -ftb -fh! -gTFF00FF -gt -gB8 -m! - echo "Converting $file" -done - -for file in *.bin; do - mv -- "$file" "${file%.bin}" - echo "Moving $file" -done - +#!/bin/sh + +for file in *.png; do + grit $file -ftb -fh! -gTFF00FF -gt -gB8 -m! + echo "Converting $file" +done + +for file in *.bin; do + mv -- "$file" "${file%.bin}" + echo "Moving $file" +done + mv *.pal *.img ../../nitrofiles/sprite \ No newline at end of file diff --git a/libs/include/dswifi7.h b/libs/include/dswifi7.h index 5991713..4e810a9 100644 --- a/libs/include/dswifi7.h +++ b/libs/include/dswifi7.h @@ -1,90 +1,90 @@ -// DSWifi Project - Arm7 Library Header file (dswifi7.h) -// Copyright (C) 2005-2006 Stephen Stair - sgstair@akkit.org - http://www.akkit.org -/****************************************************************************** -DSWifi Lib and test materials are licenced under the MIT open source licence: -Copyright (c) 2005-2006 Stephen Stair - -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. -******************************************************************************/ - -#ifndef DSWIFI7_H -#define DSWIFI7_H - -#include "dswifi_version.h" - -// Wifi Sync Handler function: Callback function that is called when the arm9 needs to be told to synchronize with new fifo data. -// If this callback is used (see Wifi_SetSyncHandler()), it should send a message via the fifo to the arm9, which will call Wifi_Sync() on arm9. -typedef void (*WifiSyncHandler)(); - - -#ifdef __cplusplus -extern "C" { -#endif - -// Read_Flash: Reads an arbitrary amount of data from the firmware flash chip -// int address: Offset to start reading from in the flash chip -// char * destination: Pointer to a memory buffer to hold incoming data -// int length: The number of bytes to read -extern void Read_Flash(int address, char * destination, int length); - -// PowerChip_ReadWrite: Reads or writes a value to the DS's power chip -// int cmp: The byte-long command to send to the chip (top bit 1=read, 0=write - other bits = register ID to read/write) -// int data: The data to write to the chip (if sending a read command, this should be zero) -// Returns: The data read returned by the serial connection; only really useful when reading. -extern int PowerChip_ReadWrite(int cmd, int data); - -// Wifi_Interrupt: Handler for the arm7 wifi interrupt. Should be called by the -// interrupt handler on arm7, and should *not* have multiple interrupts enabled. -extern void Wifi_Interrupt(); - -// Wifi_Update: Sync function to ensure data continues to flow between the two -// CPUs smoothly. Should be called at a periodic interval, such as in vblank. -extern void Wifi_Update(); - -// Wifi_Init: Requires the data returned by the arm9 wifi init call. The arm9 -// init call's returned data must be passed to the arm7 and then given to this -// function. (or else very bad things happen) -// This function also enables power to the wifi system, which will shorten -// battery life. -// unsigned long WifiData: You must pass the 32bit value returned by the call to -// Wifi_Init on the ARM9. -extern void Wifi_Init(unsigned long WifiData); - -// Wifi_Deinit: In the case that it is necessary, this function cuts power to -// the wifi system. After this the wifi will be unusable until Wifi_Init is -// called again. -extern void Wifi_Deinit(); - -// Wifi_Sync: Call this function when requested to sync by the arm9 side of the -// wifi lib -extern void Wifi_Sync(); - -// Wifi_SetSyncHandler: Call this function to request notification of when the -// ARM9-side Wifi_Sync function should be called. -// WifiSyncHandler sh: Pointer to the function to be called for notification. -extern void Wifi_SetSyncHandler(WifiSyncHandler sh); - -extern void installWifiFIFO(); - -#ifdef __cplusplus -}; -#endif - - -#endif // DSWIFI7_H +// DSWifi Project - Arm7 Library Header file (dswifi7.h) +// Copyright (C) 2005-2006 Stephen Stair - sgstair@akkit.org - http://www.akkit.org +/****************************************************************************** +DSWifi Lib and test materials are licenced under the MIT open source licence: +Copyright (c) 2005-2006 Stephen Stair + +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. +******************************************************************************/ + +#ifndef DSWIFI7_H +#define DSWIFI7_H + +#include "dswifi_version.h" + +// Wifi Sync Handler function: Callback function that is called when the arm9 needs to be told to synchronize with new fifo data. +// If this callback is used (see Wifi_SetSyncHandler()), it should send a message via the fifo to the arm9, which will call Wifi_Sync() on arm9. +typedef void (*WifiSyncHandler)(); + + +#ifdef __cplusplus +extern "C" { +#endif + +// Read_Flash: Reads an arbitrary amount of data from the firmware flash chip +// int address: Offset to start reading from in the flash chip +// char * destination: Pointer to a memory buffer to hold incoming data +// int length: The number of bytes to read +extern void Read_Flash(int address, char * destination, int length); + +// PowerChip_ReadWrite: Reads or writes a value to the DS's power chip +// int cmp: The byte-long command to send to the chip (top bit 1=read, 0=write - other bits = register ID to read/write) +// int data: The data to write to the chip (if sending a read command, this should be zero) +// Returns: The data read returned by the serial connection; only really useful when reading. +extern int PowerChip_ReadWrite(int cmd, int data); + +// Wifi_Interrupt: Handler for the arm7 wifi interrupt. Should be called by the +// interrupt handler on arm7, and should *not* have multiple interrupts enabled. +extern void Wifi_Interrupt(); + +// Wifi_Update: Sync function to ensure data continues to flow between the two +// CPUs smoothly. Should be called at a periodic interval, such as in vblank. +extern void Wifi_Update(); + +// Wifi_Init: Requires the data returned by the arm9 wifi init call. The arm9 +// init call's returned data must be passed to the arm7 and then given to this +// function. (or else very bad things happen) +// This function also enables power to the wifi system, which will shorten +// battery life. +// unsigned long WifiData: You must pass the 32bit value returned by the call to +// Wifi_Init on the ARM9. +extern void Wifi_Init(unsigned long WifiData); + +// Wifi_Deinit: In the case that it is necessary, this function cuts power to +// the wifi system. After this the wifi will be unusable until Wifi_Init is +// called again. +extern void Wifi_Deinit(); + +// Wifi_Sync: Call this function when requested to sync by the arm9 side of the +// wifi lib +extern void Wifi_Sync(); + +// Wifi_SetSyncHandler: Call this function to request notification of when the +// ARM9-side Wifi_Sync function should be called. +// WifiSyncHandler sh: Pointer to the function to be called for notification. +extern void Wifi_SetSyncHandler(WifiSyncHandler sh); + +extern void installWifiFIFO(); + +#ifdef __cplusplus +}; +#endif + + +#endif // DSWIFI7_H diff --git a/libs/include/dswifi9.h b/libs/include/dswifi9.h index 4d99673..81e83a8 100644 --- a/libs/include/dswifi9.h +++ b/libs/include/dswifi9.h @@ -1,356 +1,356 @@ -// DSWifi Project - Arm9 Library Header File (dswifi9.h) -// Copyright (C) 2005-2006 Stephen Stair - sgstair@akkit.org - http://www.akkit.org -/****************************************************************************** -DSWifi Lib and test materials are licenced under the MIT open source licence: -Copyright (c) 2005-2006 Stephen Stair - -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. -******************************************************************************/ - -#ifndef DSWIFI9_H -#define DSWIFI9_H - -#include "dswifi_version.h" - -// well, some flags and stuff are just stuffed in here and not documented very well yet... Most of the important stuff is documented though. -// Next version should clean up some of this a lot more :) - -#define WIFIINIT_OPTION_USELED 0x0002 - -// default option is to use 64k heap -#define WIFIINIT_OPTION_USEHEAP_64 0x0000 -#define WIFIINIT_OPTION_USEHEAP_128 0x1000 -#define WIFIINIT_OPTION_USEHEAP_256 0x2000 -#define WIFIINIT_OPTION_USEHEAP_512 0x3000 -#define WIFIINIT_OPTION_USECUSTOMALLOC 0x4000 -#define WIFIINIT_OPTION_HEAPMASK 0xF000 - -#ifndef WIRELESS_DEFINES -enum WIFI_PACKET_MODE { - PACKET_MODE_WIFI, - PACKET_MODE_NIFI, -}; -extern enum WIFI_PACKET_MODE wirelessMode; -extern void Wifi_SetRawPacketMode(enum WIFI_PACKET_MODE mode); -#define WIRELESS_DEFINES -#endif - -#define WFLAG_PACKET_DATA 0x0001 -#define WFLAG_PACKET_MGT 0x0002 -#define WFLAG_PACKET_BEACON 0x0004 -#define WFLAG_PACKET_CTRL 0x0008 - -#define WFLAG_PACKET_ALL 0xFFFF - - -#define WFLAG_APDATA_ADHOC 0x0001 -#define WFLAG_APDATA_WEP 0x0002 -#define WFLAG_APDATA_WPA 0x0004 -#define WFLAG_APDATA_COMPATIBLE 0x0008 -#define WFLAG_APDATA_EXTCOMPATIBLE 0x0010 -#define WFLAG_APDATA_SHORTPREAMBLE 0x0020 -#define WFLAG_APDATA_ACTIVE 0x8000 - -enum WIFI_RETURN { - WIFI_RETURN_OK = 0, // Everything went ok - WIFI_RETURN_LOCKFAILED = 1, // the spinlock attempt failed (it wasn't retried cause that could lock both cpus- retry again after a delay. - WIFI_RETURN_ERROR = 2, // There was an error in attempting to complete the requested task. - WIFI_RETURN_PARAMERROR = 3, // There was an error in the parameters passed to the function. -}; - -enum WIFI_STATS { - // software stats - WSTAT_RXQUEUEDPACKETS, // number of packets queued into the rx fifo - WSTAT_TXQUEUEDPACKETS, // number of packets queued into the tx fifo - WSTAT_RXQUEUEDBYTES, // number of bytes queued into the rx fifo - WSTAT_TXQUEUEDBYTES, // number of bytes queued into the tx fifo - WSTAT_RXQUEUEDLOST, // number of packets lost due to space limitations in queuing - WSTAT_TXQUEUEDREJECTED, // number of packets rejected due to space limitations in queuing - WSTAT_RXPACKETS, - WSTAT_RXBYTES, - WSTAT_RXDATABYTES, - WSTAT_TXPACKETS, - WSTAT_TXBYTES, - WSTAT_TXDATABYTES, - WSTAT_ARM7_UPDATES, - WSTAT_DEBUG, - // harware stats (function mostly unknown.) - WSTAT_HW_1B0,WSTAT_HW_1B1,WSTAT_HW_1B2,WSTAT_HW_1B3,WSTAT_HW_1B4,WSTAT_HW_1B5,WSTAT_HW_1B6,WSTAT_HW_1B7, - WSTAT_HW_1B8,WSTAT_HW_1B9,WSTAT_HW_1BA,WSTAT_HW_1BB,WSTAT_HW_1BC,WSTAT_HW_1BD,WSTAT_HW_1BE,WSTAT_HW_1BF, - WSTAT_HW_1C0,WSTAT_HW_1C1,WSTAT_HW_1C4,WSTAT_HW_1C5, - WSTAT_HW_1D0,WSTAT_HW_1D1,WSTAT_HW_1D2,WSTAT_HW_1D3,WSTAT_HW_1D4,WSTAT_HW_1D5,WSTAT_HW_1D6,WSTAT_HW_1D7, - WSTAT_HW_1D8,WSTAT_HW_1D9,WSTAT_HW_1DA,WSTAT_HW_1DB,WSTAT_HW_1DC,WSTAT_HW_1DD,WSTAT_HW_1DE,WSTAT_HW_1DF, - - NUM_WIFI_STATS -}; - -// user code should NEVER have to use the WIFI_MODE or WIFI_AUTHLEVEL enums... is here in case I want to have some debug code... -enum WIFI_MODE { - WIFIMODE_DISABLED, - WIFIMODE_NORMAL, - WIFIMODE_SCAN, - WIFIMODE_ASSOCIATE, - WIFIMODE_ASSOCIATED, - WIFIMODE_DISASSOCIATE, - WIFIMODE_CANNOTASSOCIATE, -}; -enum WIFI_AUTHLEVEL { - WIFI_AUTHLEVEL_DISCONNECTED, - WIFI_AUTHLEVEL_AUTHENTICATED, - WIFI_AUTHLEVEL_ASSOCIATED, - WIFI_AUTHLEVEL_DEASSOCIATED, -}; - -// user code uses members of the WIFIGETDATA structure in calling Wifi_GetData to retreive miscellaneous odd information -enum WIFIGETDATA { - WIFIGETDATA_MACADDRESS, // MACADDRESS: returns data in the buffer, requires at least 6 bytes - WIFIGETDATA_NUMWFCAPS, // NUM WFC APS: returns number between 0 and 3, doesn't use buffer. - - MAX_WIFIGETDATA -}; - - -enum WEPMODES { - WEPMODE_NONE = 0, - WEPMODE_40BIT = 1, - WEPMODE_128BIT = 2 -}; -// WIFI_ASSOCSTATUS - returned by Wifi_AssocStatus() after calling Wifi_ConnectAPk -enum WIFI_ASSOCSTATUS { - ASSOCSTATUS_DISCONNECTED, // not *trying* to connect - ASSOCSTATUS_SEARCHING, // data given does not completely specify an AP, looking for AP that matches the data. - ASSOCSTATUS_AUTHENTICATING, // connecting... - ASSOCSTATUS_ASSOCIATING, // connecting... - ASSOCSTATUS_ACQUIRINGDHCP, // connected to AP, but getting IP data from DHCP - ASSOCSTATUS_ASSOCIATED, // Connected! (COMPLETE if Wifi_ConnectAP was called to start) - ASSOCSTATUS_CANNOTCONNECT, // error in connecting... (COMPLETE if Wifi_ConnectAP was called to start) -}; - -extern const char * ASSOCSTATUS_STRINGS[]; - -// most user code will never need to know about the WIFI_TXHEADER or WIFI_RXHEADER -typedef struct WIFI_TXHEADER { - u16 enable_flags; - u16 unknown; - u16 countup; - u16 beaconfreq; - u16 tx_rate; - u16 tx_length; -} Wifi_TxHeader; - -typedef struct WIFI_RXHEADER { - u16 a; - u16 b; - u16 c; - u16 d; - u16 byteLength; - u16 rssi_; -} Wifi_RxHeader; - -// WIFI_ACCESSPOINT is an important structure in that it defines how to connect to an access point. -// listed inline are information about the members and their function -// if a field is not necessary for Wifi_ConnectAP it will be marked as such -// *only* 4 fields are absolutely required to be filled in correctly for the connection to work, they are: -// ssid, ssid_len, bssid, and channel - all others can be ignored (though flags should be set to 0) -typedef struct WIFI_ACCESSPOINT { - char ssid[33]; // the AP's SSID - zero terminated is not necessary.. if ssid[0] is zero, the ssid will be ignored in trying to find an AP to connect to. [REQUIRED] - char ssid_len; // number of valid bytes in the ssid field (0-32) [REQUIRED] - u8 bssid[6]; // BSSID is the AP's SSID - setting it to all 00's indicates this is not known and it will be ignored [REQUIRED] - u8 macaddr[6]; // mac address of the "AP" is only necessary in ad-hoc mode. [generally not required to connect] - u16 maxrate; // max rate is measured in steps of 1/2Mbit - 5.5Mbit will be represented as 11, or 0x0B [not required to connect] - u32 timectr; // internal information about how recently a beacon has been received [not required to connect] - u16 rssi; // running average of the recent RSSI values for this AP, will be set to 0 after not receiving beacons for a while. [not required to connect] - u16 flags; // flags indicating various parameters for the AP [not required, but the WFLAG_APDATA_ADHOC flag will be used] - u32 spinlock; // internal data word used to lock the record to guarantee data coherence [not required to connect] - u8 channel; // valid channels are 1-13, setting the channel to 0 will indicate the system should search. [REQUIRED] - u8 rssi_past[8]; // rssi_past indicates the RSSI values for the last 8 beacons received ([7] is the most recent) [not required to connect] - u8 base_rates[16]; // list of the base rates "required" by the AP (same format as maxrate) - zero-terminated list [not required to connect] -} Wifi_AccessPoint; - -// Wifi Packet Handler function: (int packetID, int packetlength) - packetID is only valid while the called function is executing. -// call Wifi_RxRawReadPacket while in the packet handler function, to retreive the data to a local buffer. -typedef void (*WifiPacketHandler)(int, int); - -// Wifi Sync Handler function: Callback function that is called when the arm7 needs to be told to synchronize with new fifo data. -// If this callback is used (see Wifi_SetSyncHandler()), it should send a message via the fifo to the arm7, which will call Wifi_Sync() on arm7. -typedef void (*WifiSyncHandler)(); - - -#ifdef __cplusplus -extern "C" { -#endif - -////////////////////////////////////////////////////////////////////////// -// Init/update/state management functions - -// Wifi_Init: Initializes the wifi library (arm9 side) and the sgIP library. -// int initflags: set up some optional things, like controlling the LED blinking. -// Returns: a 32bit value that *must* be passed to arm7. -extern unsigned long Wifi_Init(int initflags); - -// Wifi_CheckInit: Verifies when the ARM7 has been successfully initialized -// Returns: 1 if the arm7 is ready for wifi, 0 otherwise -extern int Wifi_CheckInit(); - -// Wifi_DisableWifi: Instructs the ARM7 to disengage wireless and stop receiving or -// transmitting. -extern void Wifi_DisableWifi(); - -// Wifi_EnableWifi: Instructs the ARM7 to go into a basic "active" mode, not actually -// associated to an AP, but actively receiving and potentially transmitting -extern void Wifi_EnableWifi(); - -// Wifi_SetPromiscuousMode: Allows the DS to enter or leave a "promsicuous" mode, in which -// all data that can be received is forwarded to the arm9 for user processing. -// Best used with Wifi_RawSetPacketHandler, to allow user code to use the data -// (well, the lib won't use 'em, so they're just wasting CPU otherwise.) -// int enable: 0 to disable promiscuous mode, nonzero to engage -extern void Wifi_SetPromiscuousMode(int enable); - -// Wifi_ScanMode: Instructs the ARM7 to periodically rotate through the channels to -// pick up and record information from beacons given off by APs -extern void Wifi_ScanMode(); - -// Wifi_SetChannel: If the wifi system is not connected or connecting to an access point, instruct -// the chipset to change channel -// int channel: the channel to change to, in the range of 1-13 -extern void Wifi_SetChannel(int channel); - -// Wifi_GetNumAP: -// Returns: the current number of APs that are known about and tracked internally -extern int Wifi_GetNumAP(); - -// Wifi_GetAPData: Grabs data from internal structures for user code (always succeeds) -// int apnum: the 0-based index of the access point record to fetch -// Wifi_AccessPoint * apdata: Pointer to the location where the retrieved data should be stored -extern int Wifi_GetAPData(int apnum, Wifi_AccessPoint * apdata); - -// Wifi_FindMatchingAP: determines whether various APs exist in the local area. You provide a -// list of APs, and it will return the index of the first one in the list that can be found -// in the internal list of APs that are being tracked -// int numaps: number of records in the list -// Wifi_AccessPoint * apdata: pointer to an array of structures with information about the APs to find -// Wifi_AccessPoint * match_dest: OPTIONAL pointer to a record to receive the matching AP record. -// Returns: -1 for none found, or a positive/zero integer index into the array -extern int Wifi_FindMatchingAP(int numaps, Wifi_AccessPoint * apdata, Wifi_AccessPoint * match_dest); - -// Wifi_ConnectAP: Connect to an access point -// Wifi_AccessPoint * apdata: basic data on the AP -// int wepmode: indicates whether wep is used, and what kind -// int wepkeyid: indicates which wep key ID to use for transmitting -// unsigned char * wepkey: the wep key, to be used in all 4 key slots (should make this more flexible in the future) -// Returns: 0 for ok, -1 for error with input data -extern int Wifi_ConnectAP(Wifi_AccessPoint * apdata, int wepmode, int wepkeyid, unsigned char * wepkey); - -// Wifi_AutoConnect: Connect to an access point specified by the WFC data in the firmware -extern void Wifi_AutoConnect(); - -// Wifi_AssocStatus: Returns information about the status of connection to an AP -// Returns: a value from the WIFI_ASSOCSTATUS enum, continue polling until you -// receive ASSOCSTATUS_CONNECTED or ASSOCSTATUS_CANNOTCONNECT -extern int Wifi_AssocStatus(); - -// Wifi_DisconnectAP: Disassociate from the Access Point -extern int Wifi_DisconnectAP(); - -// Wifi_Timer: This function should be called in a periodic interrupt. It serves as the basis -// for all updating in the sgIP library, all retransmits, timeouts, and etc are based on this -// function being called. It's not timing critical but it is rather essential. -// int num_ms: The number of milliseconds since the last time this function was called. -extern void Wifi_Timer(int num_ms); - -// Wifi_GetIP: -// Returns: The current IP address of the DS (may not be valid before connecting to an AP, or setting the IP manually.) -extern unsigned long Wifi_GetIP(); // get local ip - -// Wifi_GetIPInfo: (values may not be valid before connecting to an AP, or setting the IP manually.) -// struct in_addr * pGateway: pointer to receive the currently configured gateway IP -// struct in_addr * pSnmask: pointer to receive the currently configured subnet mask -// struct in_addr * pDns1: pointer to receive the currently configured primary DNS server IP -// struct in_addr * pDns2: pointer to receive the currently configured secondary DNS server IP -// Returns: The current IP address of the DS -extern struct in_addr Wifi_GetIPInfo(struct in_addr * pGateway,struct in_addr * pSnmask,struct in_addr * pDns1,struct in_addr * pDns2); - -// Wifi_SetIP: Set the DS's IP address and other IP configuration information. -// unsigned long IPaddr: The new IP address (NOTE! if this value is zero, the IP, the gateway, and the subnet mask will be allocated via DHCP) -// unsigned long gateway: The new gateway (example: 192.168.1.1 is 0xC0A80101) -// unsigned long subnetmask: The new subnet mask (example: 255.255.255.0 is 0xFFFFFF00) -// unsigned long dns1: The new primary dns server (NOTE! if this value is zero AND the IPaddr value is zero, dns1 and dns2 will be allocated via DHCP) -// unsigned long dns2: The new secondary dns server -extern void Wifi_SetIP(unsigned long IPaddr, unsigned long gateway, unsigned long subnetmask, unsigned long dns1, unsigned long dns2); - -// Wifi_GetData: Retrieve an arbitrary or misc. piece of data from the wifi hardware. see WIFIGETDATA enum. -// int datatype: element from the WIFIGETDATA enum specifing what kind of data to get -// int bufferlen: length of the buffer to copy data to (not always used) -// unsigned char * buffer: buffer to copy element data to (not always used) -// Returns: -1 for failure, the number of bytes written to the buffer, or the value requested if the buffer isn't used. -extern int Wifi_GetData(int datatype, int bufferlen, unsigned char * buffer); - -// Wifi_GetStats: Retreive an element of the wifi statistics gathered -// int statnum: Element from the WIFI_STATS enum, indicating what statistic to return -// Returns: the requested stat, or 0 for failure -extern u32 Wifi_GetStats(int statnum); -////////////////////////////////////////////////////////////////////////// -// Raw Send/Receive functions - -// Wifi_RawTxFrame: Send a raw 802.11 frame at a specified rate -// unsigned short datalen: The length in bytes of the frame to send -// unsigned short rate: The rate to transmit at (Specified as mbits/10, 1mbit=0x000A, 2mbit=0x0014) -// unsigned short * data: Pointer to the data to send (should be halfword-aligned) -// Returns: Nothing of interest. -extern int Wifi_RawTxFrame(unsigned short datalen, unsigned short rate, unsigned short * data); - -// Wifi_RawSetPacketHandler: Set a handler to process all raw incoming packets -// WifiPacketHandler wphfunc: Pointer to packet handler (see WifiPacketHandler definition for more info) -extern void Wifi_RawSetPacketHandler(WifiPacketHandler wphfunc); - -// Wifi_RxRawReadPacket: Allows user code to read a packet from within the WifiPacketHandler function -// long packetID: a non-unique identifier which locates the packet specified in the internal buffer -// long readlength: number of bytes to read (actually reads (number+1)&~1 bytes) -// unsigned short * data: location for the data to be read into -extern int Wifi_RxRawReadPacket(long packetID, long readlength, unsigned short * data); - -////////////////////////////////////////////////////////////////////////// -// Fast transfer support - update functions - -// Wifi_Update: Checks for new data from the arm7 and initiates routing if data -// is available. -extern void Wifi_Update(); - -// Wifi_Sync: Call this function when requested to sync by the arm7 side of the -// wifi lib -extern void Wifi_Sync(); - -// Wifi_SetSyncHandler: Call this function to request notification of when the -// ARM7-side Wifi_Sync function should be called. -// WifiSyncHandler sh: Pointer to the function to be called for notification. -extern void Wifi_SetSyncHandler(WifiSyncHandler sh); - -#define WFC_CONNECT true -#define INIT_ONLY false - - -extern bool Wifi_InitDefault(bool useFirmwareSettings); - -#ifdef __cplusplus -}; -#endif - - -#endif +// DSWifi Project - Arm9 Library Header File (dswifi9.h) +// Copyright (C) 2005-2006 Stephen Stair - sgstair@akkit.org - http://www.akkit.org +/****************************************************************************** +DSWifi Lib and test materials are licenced under the MIT open source licence: +Copyright (c) 2005-2006 Stephen Stair + +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. +******************************************************************************/ + +#ifndef DSWIFI9_H +#define DSWIFI9_H + +#include "dswifi_version.h" + +// well, some flags and stuff are just stuffed in here and not documented very well yet... Most of the important stuff is documented though. +// Next version should clean up some of this a lot more :) + +#define WIFIINIT_OPTION_USELED 0x0002 + +// default option is to use 64k heap +#define WIFIINIT_OPTION_USEHEAP_64 0x0000 +#define WIFIINIT_OPTION_USEHEAP_128 0x1000 +#define WIFIINIT_OPTION_USEHEAP_256 0x2000 +#define WIFIINIT_OPTION_USEHEAP_512 0x3000 +#define WIFIINIT_OPTION_USECUSTOMALLOC 0x4000 +#define WIFIINIT_OPTION_HEAPMASK 0xF000 + +#ifndef WIRELESS_DEFINES +enum WIFI_PACKET_MODE { + PACKET_MODE_WIFI, + PACKET_MODE_NIFI, +}; +extern enum WIFI_PACKET_MODE wirelessMode; +extern void Wifi_SetRawPacketMode(enum WIFI_PACKET_MODE mode); +#define WIRELESS_DEFINES +#endif + +#define WFLAG_PACKET_DATA 0x0001 +#define WFLAG_PACKET_MGT 0x0002 +#define WFLAG_PACKET_BEACON 0x0004 +#define WFLAG_PACKET_CTRL 0x0008 + +#define WFLAG_PACKET_ALL 0xFFFF + + +#define WFLAG_APDATA_ADHOC 0x0001 +#define WFLAG_APDATA_WEP 0x0002 +#define WFLAG_APDATA_WPA 0x0004 +#define WFLAG_APDATA_COMPATIBLE 0x0008 +#define WFLAG_APDATA_EXTCOMPATIBLE 0x0010 +#define WFLAG_APDATA_SHORTPREAMBLE 0x0020 +#define WFLAG_APDATA_ACTIVE 0x8000 + +enum WIFI_RETURN { + WIFI_RETURN_OK = 0, // Everything went ok + WIFI_RETURN_LOCKFAILED = 1, // the spinlock attempt failed (it wasn't retried cause that could lock both cpus- retry again after a delay. + WIFI_RETURN_ERROR = 2, // There was an error in attempting to complete the requested task. + WIFI_RETURN_PARAMERROR = 3, // There was an error in the parameters passed to the function. +}; + +enum WIFI_STATS { + // software stats + WSTAT_RXQUEUEDPACKETS, // number of packets queued into the rx fifo + WSTAT_TXQUEUEDPACKETS, // number of packets queued into the tx fifo + WSTAT_RXQUEUEDBYTES, // number of bytes queued into the rx fifo + WSTAT_TXQUEUEDBYTES, // number of bytes queued into the tx fifo + WSTAT_RXQUEUEDLOST, // number of packets lost due to space limitations in queuing + WSTAT_TXQUEUEDREJECTED, // number of packets rejected due to space limitations in queuing + WSTAT_RXPACKETS, + WSTAT_RXBYTES, + WSTAT_RXDATABYTES, + WSTAT_TXPACKETS, + WSTAT_TXBYTES, + WSTAT_TXDATABYTES, + WSTAT_ARM7_UPDATES, + WSTAT_DEBUG, + // harware stats (function mostly unknown.) + WSTAT_HW_1B0,WSTAT_HW_1B1,WSTAT_HW_1B2,WSTAT_HW_1B3,WSTAT_HW_1B4,WSTAT_HW_1B5,WSTAT_HW_1B6,WSTAT_HW_1B7, + WSTAT_HW_1B8,WSTAT_HW_1B9,WSTAT_HW_1BA,WSTAT_HW_1BB,WSTAT_HW_1BC,WSTAT_HW_1BD,WSTAT_HW_1BE,WSTAT_HW_1BF, + WSTAT_HW_1C0,WSTAT_HW_1C1,WSTAT_HW_1C4,WSTAT_HW_1C5, + WSTAT_HW_1D0,WSTAT_HW_1D1,WSTAT_HW_1D2,WSTAT_HW_1D3,WSTAT_HW_1D4,WSTAT_HW_1D5,WSTAT_HW_1D6,WSTAT_HW_1D7, + WSTAT_HW_1D8,WSTAT_HW_1D9,WSTAT_HW_1DA,WSTAT_HW_1DB,WSTAT_HW_1DC,WSTAT_HW_1DD,WSTAT_HW_1DE,WSTAT_HW_1DF, + + NUM_WIFI_STATS +}; + +// user code should NEVER have to use the WIFI_MODE or WIFI_AUTHLEVEL enums... is here in case I want to have some debug code... +enum WIFI_MODE { + WIFIMODE_DISABLED, + WIFIMODE_NORMAL, + WIFIMODE_SCAN, + WIFIMODE_ASSOCIATE, + WIFIMODE_ASSOCIATED, + WIFIMODE_DISASSOCIATE, + WIFIMODE_CANNOTASSOCIATE, +}; +enum WIFI_AUTHLEVEL { + WIFI_AUTHLEVEL_DISCONNECTED, + WIFI_AUTHLEVEL_AUTHENTICATED, + WIFI_AUTHLEVEL_ASSOCIATED, + WIFI_AUTHLEVEL_DEASSOCIATED, +}; + +// user code uses members of the WIFIGETDATA structure in calling Wifi_GetData to retreive miscellaneous odd information +enum WIFIGETDATA { + WIFIGETDATA_MACADDRESS, // MACADDRESS: returns data in the buffer, requires at least 6 bytes + WIFIGETDATA_NUMWFCAPS, // NUM WFC APS: returns number between 0 and 3, doesn't use buffer. + + MAX_WIFIGETDATA +}; + + +enum WEPMODES { + WEPMODE_NONE = 0, + WEPMODE_40BIT = 1, + WEPMODE_128BIT = 2 +}; +// WIFI_ASSOCSTATUS - returned by Wifi_AssocStatus() after calling Wifi_ConnectAPk +enum WIFI_ASSOCSTATUS { + ASSOCSTATUS_DISCONNECTED, // not *trying* to connect + ASSOCSTATUS_SEARCHING, // data given does not completely specify an AP, looking for AP that matches the data. + ASSOCSTATUS_AUTHENTICATING, // connecting... + ASSOCSTATUS_ASSOCIATING, // connecting... + ASSOCSTATUS_ACQUIRINGDHCP, // connected to AP, but getting IP data from DHCP + ASSOCSTATUS_ASSOCIATED, // Connected! (COMPLETE if Wifi_ConnectAP was called to start) + ASSOCSTATUS_CANNOTCONNECT, // error in connecting... (COMPLETE if Wifi_ConnectAP was called to start) +}; + +extern const char * ASSOCSTATUS_STRINGS[]; + +// most user code will never need to know about the WIFI_TXHEADER or WIFI_RXHEADER +typedef struct WIFI_TXHEADER { + u16 enable_flags; + u16 unknown; + u16 countup; + u16 beaconfreq; + u16 tx_rate; + u16 tx_length; +} Wifi_TxHeader; + +typedef struct WIFI_RXHEADER { + u16 a; + u16 b; + u16 c; + u16 d; + u16 byteLength; + u16 rssi_; +} Wifi_RxHeader; + +// WIFI_ACCESSPOINT is an important structure in that it defines how to connect to an access point. +// listed inline are information about the members and their function +// if a field is not necessary for Wifi_ConnectAP it will be marked as such +// *only* 4 fields are absolutely required to be filled in correctly for the connection to work, they are: +// ssid, ssid_len, bssid, and channel - all others can be ignored (though flags should be set to 0) +typedef struct WIFI_ACCESSPOINT { + char ssid[33]; // the AP's SSID - zero terminated is not necessary.. if ssid[0] is zero, the ssid will be ignored in trying to find an AP to connect to. [REQUIRED] + char ssid_len; // number of valid bytes in the ssid field (0-32) [REQUIRED] + u8 bssid[6]; // BSSID is the AP's SSID - setting it to all 00's indicates this is not known and it will be ignored [REQUIRED] + u8 macaddr[6]; // mac address of the "AP" is only necessary in ad-hoc mode. [generally not required to connect] + u16 maxrate; // max rate is measured in steps of 1/2Mbit - 5.5Mbit will be represented as 11, or 0x0B [not required to connect] + u32 timectr; // internal information about how recently a beacon has been received [not required to connect] + u16 rssi; // running average of the recent RSSI values for this AP, will be set to 0 after not receiving beacons for a while. [not required to connect] + u16 flags; // flags indicating various parameters for the AP [not required, but the WFLAG_APDATA_ADHOC flag will be used] + u32 spinlock; // internal data word used to lock the record to guarantee data coherence [not required to connect] + u8 channel; // valid channels are 1-13, setting the channel to 0 will indicate the system should search. [REQUIRED] + u8 rssi_past[8]; // rssi_past indicates the RSSI values for the last 8 beacons received ([7] is the most recent) [not required to connect] + u8 base_rates[16]; // list of the base rates "required" by the AP (same format as maxrate) - zero-terminated list [not required to connect] +} Wifi_AccessPoint; + +// Wifi Packet Handler function: (int packetID, int packetlength) - packetID is only valid while the called function is executing. +// call Wifi_RxRawReadPacket while in the packet handler function, to retreive the data to a local buffer. +typedef void (*WifiPacketHandler)(int, int); + +// Wifi Sync Handler function: Callback function that is called when the arm7 needs to be told to synchronize with new fifo data. +// If this callback is used (see Wifi_SetSyncHandler()), it should send a message via the fifo to the arm7, which will call Wifi_Sync() on arm7. +typedef void (*WifiSyncHandler)(); + + +#ifdef __cplusplus +extern "C" { +#endif + +////////////////////////////////////////////////////////////////////////// +// Init/update/state management functions + +// Wifi_Init: Initializes the wifi library (arm9 side) and the sgIP library. +// int initflags: set up some optional things, like controlling the LED blinking. +// Returns: a 32bit value that *must* be passed to arm7. +extern unsigned long Wifi_Init(int initflags); + +// Wifi_CheckInit: Verifies when the ARM7 has been successfully initialized +// Returns: 1 if the arm7 is ready for wifi, 0 otherwise +extern int Wifi_CheckInit(); + +// Wifi_DisableWifi: Instructs the ARM7 to disengage wireless and stop receiving or +// transmitting. +extern void Wifi_DisableWifi(); + +// Wifi_EnableWifi: Instructs the ARM7 to go into a basic "active" mode, not actually +// associated to an AP, but actively receiving and potentially transmitting +extern void Wifi_EnableWifi(); + +// Wifi_SetPromiscuousMode: Allows the DS to enter or leave a "promsicuous" mode, in which +// all data that can be received is forwarded to the arm9 for user processing. +// Best used with Wifi_RawSetPacketHandler, to allow user code to use the data +// (well, the lib won't use 'em, so they're just wasting CPU otherwise.) +// int enable: 0 to disable promiscuous mode, nonzero to engage +extern void Wifi_SetPromiscuousMode(int enable); + +// Wifi_ScanMode: Instructs the ARM7 to periodically rotate through the channels to +// pick up and record information from beacons given off by APs +extern void Wifi_ScanMode(); + +// Wifi_SetChannel: If the wifi system is not connected or connecting to an access point, instruct +// the chipset to change channel +// int channel: the channel to change to, in the range of 1-13 +extern void Wifi_SetChannel(int channel); + +// Wifi_GetNumAP: +// Returns: the current number of APs that are known about and tracked internally +extern int Wifi_GetNumAP(); + +// Wifi_GetAPData: Grabs data from internal structures for user code (always succeeds) +// int apnum: the 0-based index of the access point record to fetch +// Wifi_AccessPoint * apdata: Pointer to the location where the retrieved data should be stored +extern int Wifi_GetAPData(int apnum, Wifi_AccessPoint * apdata); + +// Wifi_FindMatchingAP: determines whether various APs exist in the local area. You provide a +// list of APs, and it will return the index of the first one in the list that can be found +// in the internal list of APs that are being tracked +// int numaps: number of records in the list +// Wifi_AccessPoint * apdata: pointer to an array of structures with information about the APs to find +// Wifi_AccessPoint * match_dest: OPTIONAL pointer to a record to receive the matching AP record. +// Returns: -1 for none found, or a positive/zero integer index into the array +extern int Wifi_FindMatchingAP(int numaps, Wifi_AccessPoint * apdata, Wifi_AccessPoint * match_dest); + +// Wifi_ConnectAP: Connect to an access point +// Wifi_AccessPoint * apdata: basic data on the AP +// int wepmode: indicates whether wep is used, and what kind +// int wepkeyid: indicates which wep key ID to use for transmitting +// unsigned char * wepkey: the wep key, to be used in all 4 key slots (should make this more flexible in the future) +// Returns: 0 for ok, -1 for error with input data +extern int Wifi_ConnectAP(Wifi_AccessPoint * apdata, int wepmode, int wepkeyid, unsigned char * wepkey); + +// Wifi_AutoConnect: Connect to an access point specified by the WFC data in the firmware +extern void Wifi_AutoConnect(); + +// Wifi_AssocStatus: Returns information about the status of connection to an AP +// Returns: a value from the WIFI_ASSOCSTATUS enum, continue polling until you +// receive ASSOCSTATUS_CONNECTED or ASSOCSTATUS_CANNOTCONNECT +extern int Wifi_AssocStatus(); + +// Wifi_DisconnectAP: Disassociate from the Access Point +extern int Wifi_DisconnectAP(); + +// Wifi_Timer: This function should be called in a periodic interrupt. It serves as the basis +// for all updating in the sgIP library, all retransmits, timeouts, and etc are based on this +// function being called. It's not timing critical but it is rather essential. +// int num_ms: The number of milliseconds since the last time this function was called. +extern void Wifi_Timer(int num_ms); + +// Wifi_GetIP: +// Returns: The current IP address of the DS (may not be valid before connecting to an AP, or setting the IP manually.) +extern unsigned long Wifi_GetIP(); // get local ip + +// Wifi_GetIPInfo: (values may not be valid before connecting to an AP, or setting the IP manually.) +// struct in_addr * pGateway: pointer to receive the currently configured gateway IP +// struct in_addr * pSnmask: pointer to receive the currently configured subnet mask +// struct in_addr * pDns1: pointer to receive the currently configured primary DNS server IP +// struct in_addr * pDns2: pointer to receive the currently configured secondary DNS server IP +// Returns: The current IP address of the DS +extern struct in_addr Wifi_GetIPInfo(struct in_addr * pGateway,struct in_addr * pSnmask,struct in_addr * pDns1,struct in_addr * pDns2); + +// Wifi_SetIP: Set the DS's IP address and other IP configuration information. +// unsigned long IPaddr: The new IP address (NOTE! if this value is zero, the IP, the gateway, and the subnet mask will be allocated via DHCP) +// unsigned long gateway: The new gateway (example: 192.168.1.1 is 0xC0A80101) +// unsigned long subnetmask: The new subnet mask (example: 255.255.255.0 is 0xFFFFFF00) +// unsigned long dns1: The new primary dns server (NOTE! if this value is zero AND the IPaddr value is zero, dns1 and dns2 will be allocated via DHCP) +// unsigned long dns2: The new secondary dns server +extern void Wifi_SetIP(unsigned long IPaddr, unsigned long gateway, unsigned long subnetmask, unsigned long dns1, unsigned long dns2); + +// Wifi_GetData: Retrieve an arbitrary or misc. piece of data from the wifi hardware. see WIFIGETDATA enum. +// int datatype: element from the WIFIGETDATA enum specifing what kind of data to get +// int bufferlen: length of the buffer to copy data to (not always used) +// unsigned char * buffer: buffer to copy element data to (not always used) +// Returns: -1 for failure, the number of bytes written to the buffer, or the value requested if the buffer isn't used. +extern int Wifi_GetData(int datatype, int bufferlen, unsigned char * buffer); + +// Wifi_GetStats: Retreive an element of the wifi statistics gathered +// int statnum: Element from the WIFI_STATS enum, indicating what statistic to return +// Returns: the requested stat, or 0 for failure +extern u32 Wifi_GetStats(int statnum); +////////////////////////////////////////////////////////////////////////// +// Raw Send/Receive functions + +// Wifi_RawTxFrame: Send a raw 802.11 frame at a specified rate +// unsigned short datalen: The length in bytes of the frame to send +// unsigned short rate: The rate to transmit at (Specified as mbits/10, 1mbit=0x000A, 2mbit=0x0014) +// unsigned short * data: Pointer to the data to send (should be halfword-aligned) +// Returns: Nothing of interest. +extern int Wifi_RawTxFrame(unsigned short datalen, unsigned short rate, unsigned short * data); + +// Wifi_RawSetPacketHandler: Set a handler to process all raw incoming packets +// WifiPacketHandler wphfunc: Pointer to packet handler (see WifiPacketHandler definition for more info) +extern void Wifi_RawSetPacketHandler(WifiPacketHandler wphfunc); + +// Wifi_RxRawReadPacket: Allows user code to read a packet from within the WifiPacketHandler function +// long packetID: a non-unique identifier which locates the packet specified in the internal buffer +// long readlength: number of bytes to read (actually reads (number+1)&~1 bytes) +// unsigned short * data: location for the data to be read into +extern int Wifi_RxRawReadPacket(long packetID, long readlength, unsigned short * data); + +////////////////////////////////////////////////////////////////////////// +// Fast transfer support - update functions + +// Wifi_Update: Checks for new data from the arm7 and initiates routing if data +// is available. +extern void Wifi_Update(); + +// Wifi_Sync: Call this function when requested to sync by the arm7 side of the +// wifi lib +extern void Wifi_Sync(); + +// Wifi_SetSyncHandler: Call this function to request notification of when the +// ARM7-side Wifi_Sync function should be called. +// WifiSyncHandler sh: Pointer to the function to be called for notification. +extern void Wifi_SetSyncHandler(WifiSyncHandler sh); + +#define WFC_CONNECT true +#define INIT_ONLY false + + +extern bool Wifi_InitDefault(bool useFirmwareSettings); + +#ifdef __cplusplus +}; +#endif + + +#endif diff --git a/libs/include/dswifi_version.h b/libs/include/dswifi_version.h index 7ab8d00..8e7e11c 100644 --- a/libs/include/dswifi_version.h +++ b/libs/include/dswifi_version.h @@ -1,10 +1,10 @@ -#ifndef _dswifi_version_h_ -#define _dswifi_version_h_ - -#define DSWIFI_MAJOR 0 -#define DSWIFI_MINOR 4 -#define DSWIFI_REVISION 2 - -#define DSWIFI_VERSION "0.4.2" - -#endif // _dswifi_version_h_ +#ifndef _dswifi_version_h_ +#define _dswifi_version_h_ + +#define DSWIFI_MAJOR 0 +#define DSWIFI_MINOR 4 +#define DSWIFI_REVISION 2 + +#define DSWIFI_VERSION "0.4.2" + +#endif // _dswifi_version_h_ diff --git a/libs/include/netdb.h b/libs/include/netdb.h index 786b583..3bff579 100644 --- a/libs/include/netdb.h +++ b/libs/include/netdb.h @@ -1,49 +1,49 @@ -// DSWifi Project - socket emulation layer defines/prototypes (netdb.h) -// Copyright (C) 2005-2006 Stephen Stair - sgstair@akkit.org - http://www.akkit.org -/****************************************************************************** -DSWifi Lib and test materials are licenced under the MIT open source licence: -Copyright (c) 2005-2006 Stephen Stair - -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. -******************************************************************************/ - -#ifndef NETDB_H -#define NETDB_H - -struct hostent { - char * h_name; - char ** h_aliases; - int h_addrtype; - int h_length; - char ** h_addr_list; -}; - - -#ifdef __cplusplus -extern "C" { -#endif - - extern struct hostent * gethostbyname(const char * name); - -#ifdef __cplusplus -}; -#endif - - -#endif +// DSWifi Project - socket emulation layer defines/prototypes (netdb.h) +// Copyright (C) 2005-2006 Stephen Stair - sgstair@akkit.org - http://www.akkit.org +/****************************************************************************** +DSWifi Lib and test materials are licenced under the MIT open source licence: +Copyright (c) 2005-2006 Stephen Stair + +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. +******************************************************************************/ + +#ifndef NETDB_H +#define NETDB_H + +struct hostent { + char * h_name; + char ** h_aliases; + int h_addrtype; + int h_length; + char ** h_addr_list; +}; + + +#ifdef __cplusplus +extern "C" { +#endif + + extern struct hostent * gethostbyname(const char * name); + +#ifdef __cplusplus +}; +#endif + + +#endif diff --git a/libs/include/netinet/in.h b/libs/include/netinet/in.h index 1af1fa1..15e46cc 100644 --- a/libs/include/netinet/in.h +++ b/libs/include/netinet/in.h @@ -1,61 +1,61 @@ -// DSWifi Project - socket emulation layer defines/prototypes (netinet/in.h) -// Copyright (C) 2005-2006 Stephen Stair - sgstair@akkit.org - http://www.akkit.org -/****************************************************************************** -DSWifi Lib and test materials are licenced under the MIT open source licence: -Copyright (c) 2005-2006 Stephen Stair - -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. -******************************************************************************/ - -#ifndef NETINET_IN_H -#define NETINET_IN_H - -#include "sys/socket.h" - -#define INADDR_ANY 0x00000000 -#define INADDR_BROADCAST 0xFFFFFFFF -#define INADDR_NONE 0xFFFFFFFF - - -struct in_addr { - unsigned long s_addr; -}; - -struct sockaddr_in { - unsigned short sin_family; - unsigned short sin_port; - struct in_addr sin_addr; - unsigned char sin_zero[8]; -}; - -#ifdef __cplusplus -extern "C" { -#endif - - // actually from arpa/inet.h - but is included through netinet/in.h - unsigned long inet_addr(const char *cp); - int inet_aton(const char *cp, struct in_addr *inp); - char *inet_ntoa(struct in_addr in); - -#ifdef __cplusplus -}; -#endif - - -#endif +// DSWifi Project - socket emulation layer defines/prototypes (netinet/in.h) +// Copyright (C) 2005-2006 Stephen Stair - sgstair@akkit.org - http://www.akkit.org +/****************************************************************************** +DSWifi Lib and test materials are licenced under the MIT open source licence: +Copyright (c) 2005-2006 Stephen Stair + +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. +******************************************************************************/ + +#ifndef NETINET_IN_H +#define NETINET_IN_H + +#include "sys/socket.h" + +#define INADDR_ANY 0x00000000 +#define INADDR_BROADCAST 0xFFFFFFFF +#define INADDR_NONE 0xFFFFFFFF + + +struct in_addr { + unsigned long s_addr; +}; + +struct sockaddr_in { + unsigned short sin_family; + unsigned short sin_port; + struct in_addr sin_addr; + unsigned char sin_zero[8]; +}; + +#ifdef __cplusplus +extern "C" { +#endif + + // actually from arpa/inet.h - but is included through netinet/in.h + unsigned long inet_addr(const char *cp); + int inet_aton(const char *cp, struct in_addr *inp); + char *inet_ntoa(struct in_addr in); + +#ifdef __cplusplus +}; +#endif + + +#endif diff --git a/libs/include/sys/socket.h b/libs/include/sys/socket.h index 98028fa..432c68a 100644 --- a/libs/include/sys/socket.h +++ b/libs/include/sys/socket.h @@ -1,148 +1,148 @@ -// DSWifi Project - socket emulation layer defines/prototypes (sys/socket.h) -// Copyright (C) 2005-2006 Stephen Stair - sgstair@akkit.org - http://www.akkit.org -/****************************************************************************** -DSWifi Lib and test materials are licenced under the MIT open source licence: -Copyright (c) 2005-2006 Stephen Stair - -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. -******************************************************************************/ - - - -#ifndef SYS_SOCKET_H -#define SYS_SOCKET_H - -#include - -/* - * Level number for (get/set)sockopt() to apply to socket itself. - */ -#define SOL_SOCKET 0xfff /* options for socket level */ -# define SOL_TCP 6 /* TCP level */ - -#define PF_UNSPEC 0 -#define PF_INET 2 -#define PF_INET6 10 - -#define AF_UNSPEC PF_UNSPEC -#define AF_INET PF_INET -#define AF_INET6 PF_INET6 - -#define SOCK_STREAM 1 -#define SOCK_DGRAM 2 - -// need to sync FIO* values with commonly accepted ones sometime -#define FIONBIO 1 -#define FIONREAD 2 - -#define SOCKET_ERROR -1 - -// send()/recv()/etc flags -// at present, only MSG_PEEK is implemented though. -#define MSG_WAITALL 0x40000000 -#define MSG_TRUNC 0x20000000 -#define MSG_PEEK 0x10000000 -#define MSG_OOB 0x08000000 -#define MSG_EOR 0x04000000 -#define MSG_DONTROUTE 0x02000000 -#define MSG_CTRUNC 0x01000000 - -// shutdown() flags: -#define SHUT_RD 1 -#define SHUT_WR 2 -#define SHUT_RDWR 3 - -/* - * Option flags per-socket. - */ -#define SO_DEBUG 0x0001 /* turn on debugging info recording */ -#define SO_ACCEPTCONN 0x0002 /* socket has had listen() */ -#define SO_REUSEADDR 0x0004 /* allow local address reuse */ -#define SO_KEEPALIVE 0x0008 /* keep connections alive */ -#define SO_DONTROUTE 0x0010 /* just use interface addresses */ -#define SO_BROADCAST 0x0020 /* permit sending of broadcast msgs */ -#define SO_USELOOPBACK 0x0040 /* bypass hardware when possible */ -#define SO_LINGER 0x0080 /* linger on close if data present */ -#define SO_OOBINLINE 0x0100 /* leave received OOB data in line */ -#define SO_REUSEPORT 0x0200 /* allow local address & port reuse */ - -#define SO_DONTLINGER (int)(~SO_LINGER) - -/* - * Additional options, not kept in so_options. - */ -#define SO_SNDBUF 0x1001 /* send buffer size */ -#define SO_RCVBUF 0x1002 /* receive buffer size */ -#define SO_SNDLOWAT 0x1003 /* send low-water mark */ -#define SO_RCVLOWAT 0x1004 /* receive low-water mark */ -#define SO_SNDTIMEO 0x1005 /* send timeout */ -#define SO_RCVTIMEO 0x1006 /* receive timeout */ -#define SO_ERROR 0x1007 /* get error status and clear */ -#define SO_TYPE 0x1008 /* get socket type */ - -struct sockaddr { - unsigned short sa_family; - char sa_data[14]; -}; - -#ifndef ntohs -#define ntohs(num) htons(num) -#define ntohl(num) htonl(num) -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - extern int socket(int domain, int type, int protocol); - extern int bind(int socket, const struct sockaddr * addr, int addr_len); - extern int connect(int socket, const struct sockaddr * addr, int addr_len); - extern int send(int socket, const void * data, int sendlength, int flags); - extern int recv(int socket, void * data, int recvlength, int flags); - extern int sendto(int socket, const void * data, int sendlength, int flags, const struct sockaddr * addr, int addr_len); - extern int recvfrom(int socket, void * data, int recvlength, int flags, struct sockaddr * addr, int * addr_len); - extern int listen(int socket, int max_connections); - extern int accept(int socket, struct sockaddr * addr, int * addr_len); - extern int shutdown(int socket, int shutdown_type); - extern int closesocket(int socket); - - extern int ioctl(int socket, long cmd, void * arg); - - extern int setsockopt(int socket, int level, int option_name, const void * data, int data_len); - extern int getsockopt(int socket, int level, int option_name, void * data, int * data_len); - - extern int getpeername(int socket, struct sockaddr *addr, int * addr_len); - extern int getsockname(int socket, struct sockaddr *addr, int * addr_len); - - extern int gethostname(char *name, size_t len); - extern int sethostname(const char *name, size_t len); - - unsigned short htons(unsigned short num); - unsigned long htonl(unsigned long num); - - - extern int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval *timeout); - - -#ifdef __cplusplus -}; -#endif - - -#endif +// DSWifi Project - socket emulation layer defines/prototypes (sys/socket.h) +// Copyright (C) 2005-2006 Stephen Stair - sgstair@akkit.org - http://www.akkit.org +/****************************************************************************** +DSWifi Lib and test materials are licenced under the MIT open source licence: +Copyright (c) 2005-2006 Stephen Stair + +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. +******************************************************************************/ + + + +#ifndef SYS_SOCKET_H +#define SYS_SOCKET_H + +#include + +/* + * Level number for (get/set)sockopt() to apply to socket itself. + */ +#define SOL_SOCKET 0xfff /* options for socket level */ +# define SOL_TCP 6 /* TCP level */ + +#define PF_UNSPEC 0 +#define PF_INET 2 +#define PF_INET6 10 + +#define AF_UNSPEC PF_UNSPEC +#define AF_INET PF_INET +#define AF_INET6 PF_INET6 + +#define SOCK_STREAM 1 +#define SOCK_DGRAM 2 + +// need to sync FIO* values with commonly accepted ones sometime +#define FIONBIO 1 +#define FIONREAD 2 + +#define SOCKET_ERROR -1 + +// send()/recv()/etc flags +// at present, only MSG_PEEK is implemented though. +#define MSG_WAITALL 0x40000000 +#define MSG_TRUNC 0x20000000 +#define MSG_PEEK 0x10000000 +#define MSG_OOB 0x08000000 +#define MSG_EOR 0x04000000 +#define MSG_DONTROUTE 0x02000000 +#define MSG_CTRUNC 0x01000000 + +// shutdown() flags: +#define SHUT_RD 1 +#define SHUT_WR 2 +#define SHUT_RDWR 3 + +/* + * Option flags per-socket. + */ +#define SO_DEBUG 0x0001 /* turn on debugging info recording */ +#define SO_ACCEPTCONN 0x0002 /* socket has had listen() */ +#define SO_REUSEADDR 0x0004 /* allow local address reuse */ +#define SO_KEEPALIVE 0x0008 /* keep connections alive */ +#define SO_DONTROUTE 0x0010 /* just use interface addresses */ +#define SO_BROADCAST 0x0020 /* permit sending of broadcast msgs */ +#define SO_USELOOPBACK 0x0040 /* bypass hardware when possible */ +#define SO_LINGER 0x0080 /* linger on close if data present */ +#define SO_OOBINLINE 0x0100 /* leave received OOB data in line */ +#define SO_REUSEPORT 0x0200 /* allow local address & port reuse */ + +#define SO_DONTLINGER (int)(~SO_LINGER) + +/* + * Additional options, not kept in so_options. + */ +#define SO_SNDBUF 0x1001 /* send buffer size */ +#define SO_RCVBUF 0x1002 /* receive buffer size */ +#define SO_SNDLOWAT 0x1003 /* send low-water mark */ +#define SO_RCVLOWAT 0x1004 /* receive low-water mark */ +#define SO_SNDTIMEO 0x1005 /* send timeout */ +#define SO_RCVTIMEO 0x1006 /* receive timeout */ +#define SO_ERROR 0x1007 /* get error status and clear */ +#define SO_TYPE 0x1008 /* get socket type */ + +struct sockaddr { + unsigned short sa_family; + char sa_data[14]; +}; + +#ifndef ntohs +#define ntohs(num) htons(num) +#define ntohl(num) htonl(num) +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + extern int socket(int domain, int type, int protocol); + extern int bind(int socket, const struct sockaddr * addr, int addr_len); + extern int connect(int socket, const struct sockaddr * addr, int addr_len); + extern int send(int socket, const void * data, int sendlength, int flags); + extern int recv(int socket, void * data, int recvlength, int flags); + extern int sendto(int socket, const void * data, int sendlength, int flags, const struct sockaddr * addr, int addr_len); + extern int recvfrom(int socket, void * data, int recvlength, int flags, struct sockaddr * addr, int * addr_len); + extern int listen(int socket, int max_connections); + extern int accept(int socket, struct sockaddr * addr, int * addr_len); + extern int shutdown(int socket, int shutdown_type); + extern int closesocket(int socket); + + extern int ioctl(int socket, long cmd, void * arg); + + extern int setsockopt(int socket, int level, int option_name, const void * data, int data_len); + extern int getsockopt(int socket, int level, int option_name, void * data, int * data_len); + + extern int getpeername(int socket, struct sockaddr *addr, int * addr_len); + extern int getsockname(int socket, struct sockaddr *addr, int * addr_len); + + extern int gethostname(char *name, size_t len); + extern int sethostname(const char *name, size_t len); + + unsigned short htons(unsigned short num); + unsigned long htonl(unsigned long num); + + + extern int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval *timeout); + + +#ifdef __cplusplus +}; +#endif + + +#endif diff --git a/models/camera/camera.mtl b/models/camera/camera.mtl index 43c6dc2..44d51b6 100644 --- a/models/camera/camera.mtl +++ b/models/camera/camera.mtl @@ -1,12 +1,12 @@ -# Blender 3.6.0 MTL File: 'camera.blend' -# www.blender.org - -newmtl Material -Ns 250.000000 -Ka 1.000000 1.000000 1.000000 -Ks 0.500000 0.500000 0.500000 -Ke 0.000000 0.000000 0.000000 -Ni 1.450000 -d 1.000000 -illum 2 -map_Kd camera.png +# Blender 3.6.0 MTL File: 'camera.blend' +# www.blender.org + +newmtl Material +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd camera.png diff --git a/models/camera/camera.obj b/models/camera/camera.obj index c1fc5c7..07cbcea 100644 --- a/models/camera/camera.obj +++ b/models/camera/camera.obj @@ -1,118 +1,118 @@ -# Blender 3.6.0 -# www.blender.org -mtllib camera.mtl -o Cube -v 0.135020 0.368596 0.432637 -v 0.135020 0.089704 0.432637 -v 0.135020 0.368596 -0.436465 -v 0.135020 0.089704 -0.436465 -v -0.135075 0.368596 0.432637 -v -0.135075 0.089704 0.432637 -v -0.135075 0.368596 -0.436465 -v -0.135075 0.089704 -0.436465 -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.000346 0.499923 -vt 0.515749 0.498961 -vt 0.516257 0.999981 -vt 0.000346 1.000000 -vt 0.375000 0.000000 -vt 0.625000 0.000000 -vt 0.625000 0.250000 -vt 0.375000 0.250000 -vt 0.417987 0.233366 -vt 0.667987 0.233366 -vt 0.667987 0.483366 -vt 0.417987 0.483366 -vt 0.068061 0.191511 -vt 0.587020 0.191511 -vt 0.587020 0.441511 -vt 0.068061 0.441511 -vt 0.375000 0.500000 -s 0 -usemtl Material -f 1/1/1 3/4/1 7/3/1 5/2/1 -f 4/5/2 8/8/2 7/7/2 3/6/2 -f 8/9/3 6/12/3 5/11/3 7/10/3 -f 6/13/4 8/16/4 4/15/4 2/14/4 -f 2/17/5 4/20/5 3/19/5 1/18/5 -f 6/12/6 2/21/6 1/1/6 5/11/6 -o Cube.001 -v 0.140865 0.828999 0.143362 -v 0.140865 0.597863 0.143362 -v 0.140865 0.828999 -0.145771 -v 0.140865 0.597863 -0.145771 -v -0.140919 0.828999 0.143361 -v -0.140919 0.597863 0.143361 -v -0.140919 0.828999 -0.145771 -v -0.140919 0.597863 -0.145771 -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.703268 0.016999 -vt 0.986446 0.016999 -vt 0.986446 0.300177 -vt 0.703268 0.300177 -vt 0.691079 0.005216 -vt 0.996679 0.005216 -vt 0.996679 0.310816 -vt 0.691079 0.310816 -vt 0.695822 0.007024 -vt 0.991936 0.007024 -vt 0.991936 0.303138 -vt 0.695822 0.303138 -vt 0.697634 0.008670 -vt 0.997469 0.008670 -vt 0.997469 0.308505 -vt 0.697634 0.308505 -vt 0.696330 0.011039 -vt 0.991428 0.011039 -vt 0.991428 0.306137 -vt 0.696330 0.306137 -vt 0.698125 0.008754 -vt 0.989634 0.008754 -vt 0.989634 0.300264 -vt 0.698125 0.300264 -s 0 -usemtl Material -f 9/22/7 11/25/7 15/24/7 13/23/7 -f 12/26/8 16/29/8 15/28/8 11/27/8 -f 16/30/9 14/33/9 13/32/9 15/31/9 -f 14/34/10 16/37/10 12/36/10 10/35/10 -f 10/38/11 12/41/11 11/40/11 9/39/11 -f 14/42/12 10/45/12 9/44/12 13/43/12 -o Plane -v -0.001345 0.636655 -0.062906 -v 0.001345 0.714244 0.073550 -v -0.001345 0.247472 0.158383 -v 0.001344 0.325061 0.294840 -vn 0.9999 -0.0085 -0.0149 -vt 0.224034 0.017766 -vt 0.665189 0.017766 -vt 0.665189 0.458920 -vt 0.224034 0.458920 -s 0 -f 17/46/13 18/47/13 20/48/13 19/49/13 -o Plane.001 -v 0.001345 0.636655 0.062197 -v -0.001345 0.714244 -0.074259 -v 0.001345 0.247472 -0.159092 -v -0.001345 0.325061 -0.295549 -vn -0.9999 -0.0085 0.0149 -vt 0.224034 0.017766 -vt 0.665189 0.017766 -vt 0.665189 0.458920 -vt 0.224034 0.458920 -s 0 -f 21/50/14 22/51/14 24/52/14 23/53/14 +# Blender 3.6.0 +# www.blender.org +mtllib camera.mtl +o Cube +v 0.135020 0.368596 0.432637 +v 0.135020 0.089704 0.432637 +v 0.135020 0.368596 -0.436465 +v 0.135020 0.089704 -0.436465 +v -0.135075 0.368596 0.432637 +v -0.135075 0.089704 0.432637 +v -0.135075 0.368596 -0.436465 +v -0.135075 0.089704 -0.436465 +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.000346 0.499923 +vt 0.515749 0.498961 +vt 0.516257 0.999981 +vt 0.000346 1.000000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.417987 0.233366 +vt 0.667987 0.233366 +vt 0.667987 0.483366 +vt 0.417987 0.483366 +vt 0.068061 0.191511 +vt 0.587020 0.191511 +vt 0.587020 0.441511 +vt 0.068061 0.441511 +vt 0.375000 0.500000 +s 0 +usemtl Material +f 1/1/1 3/4/1 7/3/1 5/2/1 +f 4/5/2 8/8/2 7/7/2 3/6/2 +f 8/9/3 6/12/3 5/11/3 7/10/3 +f 6/13/4 8/16/4 4/15/4 2/14/4 +f 2/17/5 4/20/5 3/19/5 1/18/5 +f 6/12/6 2/21/6 1/1/6 5/11/6 +o Cube.001 +v 0.140865 0.828999 0.143362 +v 0.140865 0.597863 0.143362 +v 0.140865 0.828999 -0.145771 +v 0.140865 0.597863 -0.145771 +v -0.140919 0.828999 0.143361 +v -0.140919 0.597863 0.143361 +v -0.140919 0.828999 -0.145771 +v -0.140919 0.597863 -0.145771 +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.703268 0.016999 +vt 0.986446 0.016999 +vt 0.986446 0.300177 +vt 0.703268 0.300177 +vt 0.691079 0.005216 +vt 0.996679 0.005216 +vt 0.996679 0.310816 +vt 0.691079 0.310816 +vt 0.695822 0.007024 +vt 0.991936 0.007024 +vt 0.991936 0.303138 +vt 0.695822 0.303138 +vt 0.697634 0.008670 +vt 0.997469 0.008670 +vt 0.997469 0.308505 +vt 0.697634 0.308505 +vt 0.696330 0.011039 +vt 0.991428 0.011039 +vt 0.991428 0.306137 +vt 0.696330 0.306137 +vt 0.698125 0.008754 +vt 0.989634 0.008754 +vt 0.989634 0.300264 +vt 0.698125 0.300264 +s 0 +usemtl Material +f 9/22/7 11/25/7 15/24/7 13/23/7 +f 12/26/8 16/29/8 15/28/8 11/27/8 +f 16/30/9 14/33/9 13/32/9 15/31/9 +f 14/34/10 16/37/10 12/36/10 10/35/10 +f 10/38/11 12/41/11 11/40/11 9/39/11 +f 14/42/12 10/45/12 9/44/12 13/43/12 +o Plane +v -0.001345 0.636655 -0.062906 +v 0.001345 0.714244 0.073550 +v -0.001345 0.247472 0.158383 +v 0.001344 0.325061 0.294840 +vn 0.9999 -0.0085 -0.0149 +vt 0.224034 0.017766 +vt 0.665189 0.017766 +vt 0.665189 0.458920 +vt 0.224034 0.458920 +s 0 +f 17/46/13 18/47/13 20/48/13 19/49/13 +o Plane.001 +v 0.001345 0.636655 0.062197 +v -0.001345 0.714244 -0.074259 +v 0.001345 0.247472 -0.159092 +v -0.001345 0.325061 -0.295549 +vn -0.9999 -0.0085 0.0149 +vt 0.224034 0.017766 +vt 0.665189 0.017766 +vt 0.665189 0.458920 +vt 0.224034 0.458920 +s 0 +f 21/50/14 22/51/14 24/52/14 23/53/14 diff --git a/models/logo/logo.md5mesh b/models/logo/logo.md5mesh index 433613a..0544997 100644 --- a/models/logo/logo.md5mesh +++ b/models/logo/logo.md5mesh @@ -1,150 +1,150 @@ -MD5Version 10 // Parameters used during export: Reorient: False; Scale: 1.0 -commandline "" - -numJoints 1 -numMeshes 2 - -joints { - "Bone" -1 ( 0.0000000000 0.0000000000 0.0000000000 ) ( -0.7071068287 -0.0000000000 -0.0000000000 ) -} - -mesh { - shader "Material" - - numverts 24 - vert 0 ( 0.7492187619 0.0796875954 ) 0 1 - vert 1 ( 0.6000000238 0.1999998689 ) 1 1 - vert 2 ( 0.5999999642 0.3999999166 ) 2 1 - vert 3 ( 0.5015624762 0.0097656250 ) 3 1 - vert 4 ( 0.5015624762 0.2097656131 ) 4 1 - vert 5 ( 0.8000000119 0.1999999285 ) 5 1 - vert 6 ( 0.8000000119 0.3999999166 ) 6 1 - vert 7 ( 0.0011720713 0.0019531250 ) 7 1 - vert 8 ( 0.6664062142 0.1773437262 ) 8 1 - vert 9 ( 0.5000001192 0.0019531250 ) 9 1 - vert 10 ( 0.7015625238 0.0097656250 ) 10 1 - vert 11 ( 0.8113280535 0.2332031131 ) 11 1 - vert 12 ( 0.9492187500 0.2796875238 ) 12 1 - vert 13 ( 0.7015624642 0.2097656131 ) 13 1 - vert 14 ( 0.8664062023 0.3773437738 ) 14 1 - vert 15 ( 0.6113280058 0.2332031131 ) 15 1 - vert 16 ( 0.0031251963 0.4988281727 ) 16 1 - vert 17 ( 0.8113280535 0.0332031250 ) 17 1 - vert 18 ( 0.6664062142 0.3773437738 ) 18 1 - vert 19 ( 0.9492187500 0.0796875954 ) 19 1 - vert 20 ( 0.7492187619 0.2796875238 ) 20 1 - vert 21 ( 0.4980470240 0.4988281727 ) 21 1 - vert 22 ( 0.6113280654 0.0332031250 ) 22 1 - vert 23 ( 0.8664062619 0.1773437262 ) 23 1 - - numtris 12 - tri 0 11 15 17 - tri 1 18 8 14 - tri 2 9 21 7 - tri 3 20 0 12 - tri 4 13 4 10 - tri 5 6 2 5 - tri 6 15 22 17 - tri 7 8 23 14 - tri 8 21 16 7 - tri 9 0 19 12 - tri 10 4 3 10 - tri 11 2 1 5 - - numweights 24 - weight 0 0 1.0000000000 ( 0.5490954518 0.0622351170 0.0000000000 ) - weight 1 0 1.0000000000 ( 0.7490954995 2.0622351170 -2.0000002384 ) - weight 2 0 1.0000000000 ( 0.7490954995 0.0622351170 -2.0000002384 ) - weight 3 0 1.0000000000 ( 0.7490954995 2.0622351170 -0.0000002384 ) - weight 4 0 1.0000000000 ( 0.7490954995 0.0622351170 -0.0000002384 ) - weight 5 0 1.0000000000 ( 0.5490954518 2.0622351170 -2.0000002384 ) - weight 6 0 1.0000000000 ( 0.5490954518 0.0622351170 -2.0000002384 ) - weight 7 0 1.0000000000 ( 0.5490954518 2.0622351170 -0.0000002384 ) - weight 8 0 1.0000000000 ( 0.5490954518 0.0622351170 0.0000000000 ) - weight 9 0 1.0000000000 ( 0.5490954518 0.0622351170 0.0000000000 ) - weight 10 0 1.0000000000 ( 0.7490954995 2.0622351170 -2.0000002384 ) - weight 11 0 1.0000000000 ( 0.7490954995 2.0622351170 -2.0000002384 ) - weight 12 0 1.0000000000 ( 0.7490954995 0.0622351170 -2.0000002384 ) - weight 13 0 1.0000000000 ( 0.7490954995 0.0622351170 -2.0000002384 ) - weight 14 0 1.0000000000 ( 0.7490954995 2.0622351170 -0.0000002384 ) - weight 15 0 1.0000000000 ( 0.7490954995 2.0622351170 -0.0000002384 ) - weight 16 0 1.0000000000 ( 0.5490954518 2.0622351170 -2.0000002384 ) - weight 17 0 1.0000000000 ( 0.5490954518 2.0622351170 -2.0000002384 ) - weight 18 0 1.0000000000 ( 0.7490954995 0.0622351170 -0.0000002384 ) - weight 19 0 1.0000000000 ( 0.7490954995 0.0622351170 -0.0000002384 ) - weight 20 0 1.0000000000 ( 0.5490954518 0.0622351170 -2.0000002384 ) - weight 21 0 1.0000000000 ( 0.5490954518 0.0622351170 -2.0000002384 ) - weight 22 0 1.0000000000 ( 0.5490954518 2.0622351170 -0.0000002384 ) - weight 23 0 1.0000000000 ( 0.5490954518 2.0622351170 -0.0000002384 ) -} - -mesh { - shader "Material.001" - - numverts 24 - vert 0 ( 0.6277343035 0.0898437500 ) 0 1 - vert 1 ( 0.6277343035 0.2898437381 ) 1 1 - vert 2 ( 0.8000000119 0.0000000000 ) 2 1 - vert 3 ( 0.8277342916 0.0898437500 ) 3 1 - vert 4 ( 0.4992587566 0.4988158941 ) 4 1 - vert 5 ( 0.8000000119 0.1999999881 ) 5 1 - vert 6 ( 0.8277342916 0.2898437381 ) 6 1 - vert 7 ( 0.7003906369 0.2765625715 ) 7 1 - vert 8 ( 0.6000000238 0.1999999881 ) 8 1 - vert 9 ( 0.7726563215 0.2847657204 ) 9 1 - vert 10 ( 0.6000000238 0.0000000000 ) 10 1 - vert 11 ( 0.9003906250 0.0765625834 ) 11 1 - vert 12 ( 0.7003906369 0.0765625834 ) 12 1 - vert 13 ( 0.8683593869 0.1019532681 ) 13 1 - vert 14 ( 0.8632813692 0.2808594704 ) 14 1 - vert 15 ( 0.4994371533 1.0001938007 ) 15 1 - vert 16 ( 0.8652344942 0.1941406727 ) 16 1 - vert 17 ( 0.6644531488 0.3156250715 ) 17 1 - vert 18 ( 0.9999938011 1.0000000350 ) 18 1 - vert 19 ( 0.9003906250 0.2765625715 ) 19 1 - vert 20 ( 0.6644531488 0.1156250834 ) 20 1 - vert 21 ( 0.7687500119 0.1921875477 ) 21 1 - vert 22 ( 0.9998000264 0.4998001456 ) 22 1 - vert 23 ( 0.8644531369 0.3156250715 ) 23 1 - - numtris 12 - tri 0 9 21 14 - tri 1 13 23 20 - tri 2 22 18 4 - tri 3 19 7 11 - tri 4 10 2 8 - tri 5 6 1 3 - tri 6 21 16 14 - tri 7 23 17 20 - tri 8 18 15 4 - tri 9 7 12 11 - tri 10 2 5 8 - tri 11 1 0 3 - - numweights 24 - weight 0 0 1.0000000000 ( 0.7490954995 0.0622351170 0.0000000000 ) - weight 1 0 1.0000000000 ( 0.7490954995 -1.9377648830 0.0000000000 ) - weight 2 0 1.0000000000 ( 0.7490954995 -1.9377648830 2.0000000000 ) - weight 3 0 1.0000000000 ( 0.5490954518 0.0622351170 0.0000000000 ) - weight 4 0 1.0000000000 ( 0.5490954518 0.0622351170 2.0000000000 ) - weight 5 0 1.0000000000 ( 0.7490954995 0.0622351170 2.0000000000 ) - weight 6 0 1.0000000000 ( 0.5490954518 -1.9377648830 0.0000000000 ) - weight 7 0 1.0000000000 ( 0.5490954518 -1.9377648830 2.0000000000 ) - weight 8 0 1.0000000000 ( 0.7490954995 0.0622351170 0.0000000000 ) - weight 9 0 1.0000000000 ( 0.7490954995 0.0622351170 0.0000000000 ) - weight 10 0 1.0000000000 ( 0.7490954995 -1.9377648830 0.0000000000 ) - weight 11 0 1.0000000000 ( 0.7490954995 -1.9377648830 0.0000000000 ) - weight 12 0 1.0000000000 ( 0.7490954995 -1.9377648830 2.0000000000 ) - weight 13 0 1.0000000000 ( 0.7490954995 -1.9377648830 2.0000000000 ) - weight 14 0 1.0000000000 ( 0.5490954518 0.0622351170 0.0000000000 ) - weight 15 0 1.0000000000 ( 0.5490954518 0.0622351170 0.0000000000 ) - weight 16 0 1.0000000000 ( 0.5490954518 0.0622351170 2.0000000000 ) - weight 17 0 1.0000000000 ( 0.5490954518 0.0622351170 2.0000000000 ) - weight 18 0 1.0000000000 ( 0.5490954518 -1.9377648830 0.0000000000 ) - weight 19 0 1.0000000000 ( 0.5490954518 -1.9377648830 0.0000000000 ) - weight 20 0 1.0000000000 ( 0.7490954995 0.0622351170 2.0000000000 ) - weight 21 0 1.0000000000 ( 0.7490954995 0.0622351170 2.0000000000 ) - weight 22 0 1.0000000000 ( 0.5490954518 -1.9377648830 2.0000000000 ) - weight 23 0 1.0000000000 ( 0.5490954518 -1.9377648830 2.0000000000 ) -} - +MD5Version 10 // Parameters used during export: Reorient: False; Scale: 1.0 +commandline "" + +numJoints 1 +numMeshes 2 + +joints { + "Bone" -1 ( 0.0000000000 0.0000000000 0.0000000000 ) ( -0.7071068287 -0.0000000000 -0.0000000000 ) +} + +mesh { + shader "Material" + + numverts 24 + vert 0 ( 0.7492187619 0.0796875954 ) 0 1 + vert 1 ( 0.6000000238 0.1999998689 ) 1 1 + vert 2 ( 0.5999999642 0.3999999166 ) 2 1 + vert 3 ( 0.5015624762 0.0097656250 ) 3 1 + vert 4 ( 0.5015624762 0.2097656131 ) 4 1 + vert 5 ( 0.8000000119 0.1999999285 ) 5 1 + vert 6 ( 0.8000000119 0.3999999166 ) 6 1 + vert 7 ( 0.0011720713 0.0019531250 ) 7 1 + vert 8 ( 0.6664062142 0.1773437262 ) 8 1 + vert 9 ( 0.5000001192 0.0019531250 ) 9 1 + vert 10 ( 0.7015625238 0.0097656250 ) 10 1 + vert 11 ( 0.8113280535 0.2332031131 ) 11 1 + vert 12 ( 0.9492187500 0.2796875238 ) 12 1 + vert 13 ( 0.7015624642 0.2097656131 ) 13 1 + vert 14 ( 0.8664062023 0.3773437738 ) 14 1 + vert 15 ( 0.6113280058 0.2332031131 ) 15 1 + vert 16 ( 0.0031251963 0.4988281727 ) 16 1 + vert 17 ( 0.8113280535 0.0332031250 ) 17 1 + vert 18 ( 0.6664062142 0.3773437738 ) 18 1 + vert 19 ( 0.9492187500 0.0796875954 ) 19 1 + vert 20 ( 0.7492187619 0.2796875238 ) 20 1 + vert 21 ( 0.4980470240 0.4988281727 ) 21 1 + vert 22 ( 0.6113280654 0.0332031250 ) 22 1 + vert 23 ( 0.8664062619 0.1773437262 ) 23 1 + + numtris 12 + tri 0 11 15 17 + tri 1 18 8 14 + tri 2 9 21 7 + tri 3 20 0 12 + tri 4 13 4 10 + tri 5 6 2 5 + tri 6 15 22 17 + tri 7 8 23 14 + tri 8 21 16 7 + tri 9 0 19 12 + tri 10 4 3 10 + tri 11 2 1 5 + + numweights 24 + weight 0 0 1.0000000000 ( 0.5490954518 0.0622351170 0.0000000000 ) + weight 1 0 1.0000000000 ( 0.7490954995 2.0622351170 -2.0000002384 ) + weight 2 0 1.0000000000 ( 0.7490954995 0.0622351170 -2.0000002384 ) + weight 3 0 1.0000000000 ( 0.7490954995 2.0622351170 -0.0000002384 ) + weight 4 0 1.0000000000 ( 0.7490954995 0.0622351170 -0.0000002384 ) + weight 5 0 1.0000000000 ( 0.5490954518 2.0622351170 -2.0000002384 ) + weight 6 0 1.0000000000 ( 0.5490954518 0.0622351170 -2.0000002384 ) + weight 7 0 1.0000000000 ( 0.5490954518 2.0622351170 -0.0000002384 ) + weight 8 0 1.0000000000 ( 0.5490954518 0.0622351170 0.0000000000 ) + weight 9 0 1.0000000000 ( 0.5490954518 0.0622351170 0.0000000000 ) + weight 10 0 1.0000000000 ( 0.7490954995 2.0622351170 -2.0000002384 ) + weight 11 0 1.0000000000 ( 0.7490954995 2.0622351170 -2.0000002384 ) + weight 12 0 1.0000000000 ( 0.7490954995 0.0622351170 -2.0000002384 ) + weight 13 0 1.0000000000 ( 0.7490954995 0.0622351170 -2.0000002384 ) + weight 14 0 1.0000000000 ( 0.7490954995 2.0622351170 -0.0000002384 ) + weight 15 0 1.0000000000 ( 0.7490954995 2.0622351170 -0.0000002384 ) + weight 16 0 1.0000000000 ( 0.5490954518 2.0622351170 -2.0000002384 ) + weight 17 0 1.0000000000 ( 0.5490954518 2.0622351170 -2.0000002384 ) + weight 18 0 1.0000000000 ( 0.7490954995 0.0622351170 -0.0000002384 ) + weight 19 0 1.0000000000 ( 0.7490954995 0.0622351170 -0.0000002384 ) + weight 20 0 1.0000000000 ( 0.5490954518 0.0622351170 -2.0000002384 ) + weight 21 0 1.0000000000 ( 0.5490954518 0.0622351170 -2.0000002384 ) + weight 22 0 1.0000000000 ( 0.5490954518 2.0622351170 -0.0000002384 ) + weight 23 0 1.0000000000 ( 0.5490954518 2.0622351170 -0.0000002384 ) +} + +mesh { + shader "Material.001" + + numverts 24 + vert 0 ( 0.6277343035 0.0898437500 ) 0 1 + vert 1 ( 0.6277343035 0.2898437381 ) 1 1 + vert 2 ( 0.8000000119 0.0000000000 ) 2 1 + vert 3 ( 0.8277342916 0.0898437500 ) 3 1 + vert 4 ( 0.4992587566 0.4988158941 ) 4 1 + vert 5 ( 0.8000000119 0.1999999881 ) 5 1 + vert 6 ( 0.8277342916 0.2898437381 ) 6 1 + vert 7 ( 0.7003906369 0.2765625715 ) 7 1 + vert 8 ( 0.6000000238 0.1999999881 ) 8 1 + vert 9 ( 0.7726563215 0.2847657204 ) 9 1 + vert 10 ( 0.6000000238 0.0000000000 ) 10 1 + vert 11 ( 0.9003906250 0.0765625834 ) 11 1 + vert 12 ( 0.7003906369 0.0765625834 ) 12 1 + vert 13 ( 0.8683593869 0.1019532681 ) 13 1 + vert 14 ( 0.8632813692 0.2808594704 ) 14 1 + vert 15 ( 0.4994371533 1.0001938007 ) 15 1 + vert 16 ( 0.8652344942 0.1941406727 ) 16 1 + vert 17 ( 0.6644531488 0.3156250715 ) 17 1 + vert 18 ( 0.9999938011 1.0000000350 ) 18 1 + vert 19 ( 0.9003906250 0.2765625715 ) 19 1 + vert 20 ( 0.6644531488 0.1156250834 ) 20 1 + vert 21 ( 0.7687500119 0.1921875477 ) 21 1 + vert 22 ( 0.9998000264 0.4998001456 ) 22 1 + vert 23 ( 0.8644531369 0.3156250715 ) 23 1 + + numtris 12 + tri 0 9 21 14 + tri 1 13 23 20 + tri 2 22 18 4 + tri 3 19 7 11 + tri 4 10 2 8 + tri 5 6 1 3 + tri 6 21 16 14 + tri 7 23 17 20 + tri 8 18 15 4 + tri 9 7 12 11 + tri 10 2 5 8 + tri 11 1 0 3 + + numweights 24 + weight 0 0 1.0000000000 ( 0.7490954995 0.0622351170 0.0000000000 ) + weight 1 0 1.0000000000 ( 0.7490954995 -1.9377648830 0.0000000000 ) + weight 2 0 1.0000000000 ( 0.7490954995 -1.9377648830 2.0000000000 ) + weight 3 0 1.0000000000 ( 0.5490954518 0.0622351170 0.0000000000 ) + weight 4 0 1.0000000000 ( 0.5490954518 0.0622351170 2.0000000000 ) + weight 5 0 1.0000000000 ( 0.7490954995 0.0622351170 2.0000000000 ) + weight 6 0 1.0000000000 ( 0.5490954518 -1.9377648830 0.0000000000 ) + weight 7 0 1.0000000000 ( 0.5490954518 -1.9377648830 2.0000000000 ) + weight 8 0 1.0000000000 ( 0.7490954995 0.0622351170 0.0000000000 ) + weight 9 0 1.0000000000 ( 0.7490954995 0.0622351170 0.0000000000 ) + weight 10 0 1.0000000000 ( 0.7490954995 -1.9377648830 0.0000000000 ) + weight 11 0 1.0000000000 ( 0.7490954995 -1.9377648830 0.0000000000 ) + weight 12 0 1.0000000000 ( 0.7490954995 -1.9377648830 2.0000000000 ) + weight 13 0 1.0000000000 ( 0.7490954995 -1.9377648830 2.0000000000 ) + weight 14 0 1.0000000000 ( 0.5490954518 0.0622351170 0.0000000000 ) + weight 15 0 1.0000000000 ( 0.5490954518 0.0622351170 0.0000000000 ) + weight 16 0 1.0000000000 ( 0.5490954518 0.0622351170 2.0000000000 ) + weight 17 0 1.0000000000 ( 0.5490954518 0.0622351170 2.0000000000 ) + weight 18 0 1.0000000000 ( 0.5490954518 -1.9377648830 0.0000000000 ) + weight 19 0 1.0000000000 ( 0.5490954518 -1.9377648830 0.0000000000 ) + weight 20 0 1.0000000000 ( 0.7490954995 0.0622351170 2.0000000000 ) + weight 21 0 1.0000000000 ( 0.7490954995 0.0622351170 2.0000000000 ) + weight 22 0 1.0000000000 ( 0.5490954518 -1.9377648830 2.0000000000 ) + weight 23 0 1.0000000000 ( 0.5490954518 -1.9377648830 2.0000000000 ) +} + diff --git a/models/logo/logo.mtl b/models/logo/logo.mtl index 2930639..d97af6d 100644 --- a/models/logo/logo.mtl +++ b/models/logo/logo.mtl @@ -1,22 +1,22 @@ -# Blender 3.6.0 MTL File: 'logo.blend' -# www.blender.org - -newmtl Material -Ns 250.000000 -Ka 0.620751 0.620751 0.620751 -Ks 0.000000 0.000000 0.000000 -Ke 0.000000 0.000000 0.000000 -Ni 1.450000 -d 1.000000 -illum 1 -map_Kd logo.png - -newmtl Material.001 -Ns 250.000000 -Ka 1.000000 1.000000 1.000000 -Ks 0.500000 0.500000 0.500000 -Ke 0.000000 0.000000 0.000000 -Ni 1.450000 -d 1.000000 -illum 2 -map_Kd logo.png +# Blender 3.6.0 MTL File: 'logo.blend' +# www.blender.org + +newmtl Material +Ns 250.000000 +Ka 0.620751 0.620751 0.620751 +Ks 0.000000 0.000000 0.000000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 1 +map_Kd logo.png + +newmtl Material.001 +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd logo.png diff --git a/models/logo/logo.obj b/models/logo/logo.obj index 6440b0d..0a17696 100644 --- a/models/logo/logo.obj +++ b/models/logo/logo.obj @@ -1,97 +1,97 @@ -# Blender 3.6.0 -# www.blender.org -mtllib logo.mtl -o Cube -v -0.100000 2.061040 0.000000 -v 0.100000 4.061040 -2.000000 -v 0.100000 2.061040 -2.000000 -v 0.100000 4.061040 -0.000000 -v 0.100000 2.061040 -0.000000 -v -0.100000 4.061040 -2.000000 -v -0.100000 2.061040 -2.000000 -v -0.100000 4.061040 -0.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.811328 0.766797 -vt 0.811328 0.966797 -vt 0.611328 0.966797 -vt 0.611328 0.766797 -vt 0.666406 0.622656 -vt 0.866406 0.622656 -vt 0.866406 0.822656 -vt 0.666406 0.822656 -vt 0.499024 0.500195 -vt 0.499024 0.999023 -vt 0.002149 0.997070 -vt 0.002149 0.502148 -vt 0.749219 0.720312 -vt 0.949219 0.720312 -vt 0.949219 0.920312 -vt 0.749219 0.920312 -vt 0.701562 0.790234 -vt 0.701563 0.990234 -vt 0.501562 0.990234 -vt 0.501562 0.790234 -vt 0.800000 0.600000 -vt 0.800000 0.800000 -vt 0.600000 0.800000 -vt 0.600000 0.600000 -s 0 -usemtl Material -f 2/1/1 6/2/1 8/3/1 4/4/1 -f 5/5/2 4/6/2 8/7/2 1/8/2 -f 1/9/3 8/10/3 6/11/3 7/12/3 -f 7/13/4 3/14/4 5/15/4 1/16/4 -f 3/17/5 2/18/5 4/19/5 5/20/5 -f 7/21/6 6/22/6 2/23/6 3/24/6 -o Cube.001 -v 0.100000 2.061040 0.000000 -v 0.100000 0.061040 0.000000 -v 0.100000 0.061040 2.000000 -v -0.100000 2.061040 0.000000 -v -0.100000 2.061040 2.000000 -v 0.100000 2.061040 2.000000 -v -0.100000 0.061040 0.000000 -v -0.100000 0.061040 2.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.772656 0.715234 -vt 0.863281 0.719141 -vt 0.865234 0.805859 -vt 0.768750 0.807812 -vt 0.868359 0.898047 -vt 0.664453 0.884375 -vt 0.664453 0.684375 -vt 0.864453 0.684375 -vt 1.000176 0.001812 -vt 0.999573 0.498723 -vt 0.501842 0.500520 -vt 0.500135 0.000775 -vt 0.900391 0.723437 -vt 0.900391 0.923437 -vt 0.700391 0.923437 -vt 0.700391 0.723437 -vt 0.600000 1.000000 -vt 0.600000 0.800000 -vt 0.800000 0.800000 -vt 0.800000 1.000000 -vt 0.827734 0.710156 -vt 0.827734 0.910156 -vt 0.627734 0.910156 -vt 0.627734 0.710156 -s 0 -usemtl Material.001 -f 9/25/7 12/26/7 13/27/7 14/28/7 -f 11/29/8 14/30/8 13/31/8 16/32/8 -f 16/33/9 13/34/9 12/35/9 15/36/9 -f 15/37/10 10/38/10 11/39/10 16/40/10 -f 10/41/11 9/42/11 14/43/11 11/44/11 -f 15/45/12 12/46/12 9/47/12 10/48/12 +# Blender 3.6.0 +# www.blender.org +mtllib logo.mtl +o Cube +v -0.100000 2.061040 0.000000 +v 0.100000 4.061040 -2.000000 +v 0.100000 2.061040 -2.000000 +v 0.100000 4.061040 -0.000000 +v 0.100000 2.061040 -0.000000 +v -0.100000 4.061040 -2.000000 +v -0.100000 2.061040 -2.000000 +v -0.100000 4.061040 -0.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.811328 0.766797 +vt 0.811328 0.966797 +vt 0.611328 0.966797 +vt 0.611328 0.766797 +vt 0.666406 0.622656 +vt 0.866406 0.622656 +vt 0.866406 0.822656 +vt 0.666406 0.822656 +vt 0.499024 0.500195 +vt 0.499024 0.999023 +vt 0.002149 0.997070 +vt 0.002149 0.502148 +vt 0.749219 0.720312 +vt 0.949219 0.720312 +vt 0.949219 0.920312 +vt 0.749219 0.920312 +vt 0.701562 0.790234 +vt 0.701563 0.990234 +vt 0.501562 0.990234 +vt 0.501562 0.790234 +vt 0.800000 0.600000 +vt 0.800000 0.800000 +vt 0.600000 0.800000 +vt 0.600000 0.600000 +s 0 +usemtl Material +f 2/1/1 6/2/1 8/3/1 4/4/1 +f 5/5/2 4/6/2 8/7/2 1/8/2 +f 1/9/3 8/10/3 6/11/3 7/12/3 +f 7/13/4 3/14/4 5/15/4 1/16/4 +f 3/17/5 2/18/5 4/19/5 5/20/5 +f 7/21/6 6/22/6 2/23/6 3/24/6 +o Cube.001 +v 0.100000 2.061040 0.000000 +v 0.100000 0.061040 0.000000 +v 0.100000 0.061040 2.000000 +v -0.100000 2.061040 0.000000 +v -0.100000 2.061040 2.000000 +v 0.100000 2.061040 2.000000 +v -0.100000 0.061040 0.000000 +v -0.100000 0.061040 2.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.772656 0.715234 +vt 0.863281 0.719141 +vt 0.865234 0.805859 +vt 0.768750 0.807812 +vt 0.868359 0.898047 +vt 0.664453 0.884375 +vt 0.664453 0.684375 +vt 0.864453 0.684375 +vt 1.000176 0.001812 +vt 0.999573 0.498723 +vt 0.501842 0.500520 +vt 0.500135 0.000775 +vt 0.900391 0.723437 +vt 0.900391 0.923437 +vt 0.700391 0.923437 +vt 0.700391 0.723437 +vt 0.600000 1.000000 +vt 0.600000 0.800000 +vt 0.800000 0.800000 +vt 0.800000 1.000000 +vt 0.827734 0.710156 +vt 0.827734 0.910156 +vt 0.627734 0.910156 +vt 0.627734 0.710156 +s 0 +usemtl Material.001 +f 9/25/7 12/26/7 13/27/7 14/28/7 +f 11/29/8 14/30/8 13/31/8 16/32/8 +f 16/33/9 13/34/9 12/35/9 15/36/9 +f 15/37/10 10/38/10 11/39/10 16/40/10 +f 10/41/11 9/42/11 14/43/11 11/44/11 +f 15/45/12 12/46/12 9/47/12 10/48/12 diff --git a/models/logo/logo_skybox.mtl b/models/logo/logo_skybox.mtl index 63b1ba8..30e93e1 100644 --- a/models/logo/logo_skybox.mtl +++ b/models/logo/logo_skybox.mtl @@ -1,12 +1,12 @@ -# Blender 3.6.0 MTL File: 'logo_skybox.blend' -# www.blender.org - -newmtl Material.001 -Ns 250.000000 -Ka 1.000000 1.000000 1.000000 -Ks 0.000000 0.000000 0.000000 -Ke 0.000000 0.000000 0.000000 -Ni 1.450000 -d 1.000000 -illum 1 -map_Kd backdrop.png +# Blender 3.6.0 MTL File: 'logo_skybox.blend' +# www.blender.org + +newmtl Material.001 +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.000000 0.000000 0.000000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 1 +map_Kd backdrop.png diff --git a/models/logo/logo_skybox.obj b/models/logo/logo_skybox.obj index b485ce0..e0fad5d 100644 --- a/models/logo/logo_skybox.obj +++ b/models/logo/logo_skybox.obj @@ -1,556 +1,556 @@ -# Blender 3.6.0 -# www.blender.org -mtllib logo_skybox.mtl -o Sphere -v 0.000000 0.766044 -0.642788 -v 0.000000 0.500000 -0.866025 -v 0.000000 0.173648 -0.984808 -v 0.000000 -0.173648 -0.984808 -v 0.000000 -0.500000 -0.866025 -v 0.000000 -0.766044 -0.642788 -v 0.000000 -0.939693 -0.342020 -v 0.139112 0.939693 -0.312451 -v 0.261445 0.766044 -0.587216 -v 0.352244 0.500000 -0.791154 -v 0.400557 0.173648 -0.899667 -v 0.400557 -0.173648 -0.899667 -v 0.352244 -0.500000 -0.791154 -v 0.261445 -0.766044 -0.587216 -v 0.139112 -0.939693 -0.312451 -v 0.254171 0.939693 -0.228856 -v 0.477684 0.766044 -0.430109 -v 0.643582 0.500000 -0.579484 -v 0.731855 0.173648 -0.658965 -v 0.731855 -0.173648 -0.658965 -v 0.643582 -0.500000 -0.579484 -v 0.477684 -0.766044 -0.430109 -v 0.254171 -0.939693 -0.228856 -v 0.325280 0.939693 -0.105690 -v 0.611327 0.766044 -0.198632 -v 0.823639 0.500000 -0.267617 -v 0.936608 0.173648 -0.304322 -v 0.936608 -0.173648 -0.304322 -v 0.823639 -0.500000 -0.267617 -v 0.611327 -0.766044 -0.198632 -v 0.325280 -0.939693 -0.105690 -v 0.340147 0.939693 0.035751 -v 0.639266 0.766044 0.067190 -v 0.861281 0.500000 0.090524 -v 0.979413 0.173648 0.102940 -v 0.979413 -0.173648 0.102940 -v 0.861281 -0.500000 0.090524 -v 0.639266 -0.766044 0.067190 -v 0.340147 -0.939693 0.035751 -v 0.296198 0.939693 0.171010 -v 0.556670 0.766044 0.321394 -v 0.750000 0.500000 0.433013 -v 0.852868 0.173648 0.492404 -v 0.852868 -0.173648 0.492404 -v 0.750000 -0.500000 0.433013 -v 0.556670 -0.766044 0.321394 -v 0.296198 -0.939693 0.171010 -v 0.000000 1.000000 0.000000 -v 0.201034 0.939693 0.276700 -v 0.377821 0.766044 0.520026 -v 0.509037 0.500000 0.700629 -v 0.578855 0.173648 0.796726 -v 0.578855 -0.173648 0.796726 -v 0.509037 -0.500000 0.700629 -v 0.377821 -0.766044 0.520026 -v 0.201034 -0.939693 0.276700 -v 0.071110 0.939693 0.334546 -v 0.133643 0.766044 0.628741 -v 0.180057 0.500000 0.847101 -v 0.204753 0.173648 0.963287 -v 0.204753 -0.173648 0.963287 -v 0.180057 -0.500000 0.847101 -v 0.133643 -0.766044 0.628741 -v 0.071110 -0.939693 0.334546 -v -0.071110 0.939693 0.334546 -v -0.133643 0.766044 0.628741 -v -0.180057 0.500000 0.847100 -v -0.204753 0.173648 0.963287 -v -0.204753 -0.173648 0.963287 -v -0.180057 -0.500000 0.847100 -v -0.133643 -0.766044 0.628741 -v -0.071110 -0.939693 0.334546 -v 0.000000 -1.000000 0.000000 -v -0.201034 0.939693 0.276700 -v -0.377821 0.766044 0.520026 -v -0.509037 0.500000 0.700629 -v -0.578855 0.173648 0.796726 -v -0.578855 -0.173648 0.796726 -v -0.509037 -0.500000 0.700629 -v -0.377821 -0.766044 0.520026 -v -0.201034 -0.939693 0.276700 -v -0.296198 0.939693 0.171010 -v -0.556670 0.766044 0.321394 -v -0.750000 0.500000 0.433013 -v -0.852868 0.173648 0.492404 -v -0.852868 -0.173648 0.492404 -v -0.750000 -0.500000 0.433013 -v -0.556670 -0.766044 0.321394 -v -0.296198 -0.939693 0.171010 -v -0.340147 0.939693 0.035751 -v -0.639266 0.766044 0.067189 -v -0.861281 0.500000 0.090524 -v -0.979413 0.173648 0.102940 -v -0.979413 -0.173648 0.102940 -v -0.861281 -0.500000 0.090524 -v -0.639266 -0.766044 0.067189 -v -0.340147 -0.939693 0.035751 -v -0.325280 0.939693 -0.105690 -v -0.611327 0.766044 -0.198632 -v -0.823639 0.500000 -0.267617 -v -0.936607 0.173648 -0.304322 -v -0.936607 -0.173648 -0.304322 -v -0.823639 -0.500000 -0.267617 -v -0.611327 -0.766044 -0.198632 -v -0.325280 -0.939693 -0.105690 -v -0.254170 0.939693 -0.228856 -v -0.477684 0.766044 -0.430109 -v -0.643582 0.500000 -0.579484 -v -0.731854 0.173648 -0.658965 -v -0.731854 -0.173648 -0.658965 -v -0.643582 -0.500000 -0.579484 -v -0.477684 -0.766044 -0.430109 -v -0.254170 -0.939693 -0.228856 -v -0.139112 0.939693 -0.312451 -v -0.261445 0.766044 -0.587215 -v -0.352244 0.500000 -0.791153 -v -0.400557 0.173648 -0.899666 -v -0.400557 -0.173648 -0.899666 -v -0.352244 -0.500000 -0.791153 -v -0.261445 -0.766044 -0.587215 -v -0.139112 -0.939693 -0.312451 -v 0.000000 0.939693 -0.342020 -vn 0.1959 -0.3354 -0.9215 -vn 0.1607 0.6344 -0.7561 -vn 0.1607 -0.6344 -0.7561 -vn 0.1959 0.3354 -0.9215 -vn 0.0369 0.9841 -0.1735 -vn 0.1057 -0.8612 -0.4972 -vn 0.2079 -0.0000 -0.9781 -vn 0.1057 0.8612 -0.4972 -vn 0.0369 -0.9841 -0.1735 -vn 0.5537 0.3354 -0.7622 -vn 0.1043 0.9841 -0.1435 -vn 0.2988 -0.8612 -0.4112 -vn 0.5878 -0.0000 -0.8090 -vn 0.2988 0.8612 -0.4112 -vn 0.1043 -0.9841 -0.1435 -vn 0.5537 -0.3354 -0.7622 -vn 0.4543 0.6344 -0.6254 -vn 0.4543 -0.6344 -0.6254 -vn 0.4402 0.8612 -0.2542 -vn 0.1536 -0.9841 -0.0887 -vn 0.8159 -0.3354 -0.4710 -vn 0.6694 0.6344 -0.3865 -vn 0.6694 -0.6344 -0.3865 -vn 0.8159 0.3354 -0.4710 -vn 0.1536 0.9841 -0.0887 -vn 0.4402 -0.8612 -0.2542 -vn 0.8660 -0.0000 -0.5000 -vn 0.7687 -0.6344 -0.0808 -vn 0.9369 0.3354 -0.0985 -vn 0.1764 0.9841 -0.0185 -vn 0.5055 -0.8612 -0.0531 -vn 0.9945 -0.0000 -0.1045 -vn 0.5055 0.8612 -0.0531 -vn 0.1764 -0.9841 -0.0185 -vn 0.9369 -0.3354 -0.0985 -vn 0.7687 0.6344 -0.0808 -vn 0.4834 -0.8612 0.1571 -vn 0.9511 -0.0000 0.3090 -vn 0.4834 0.8612 0.1571 -vn 0.1687 -0.9841 0.0548 -vn 0.8960 -0.3354 0.2911 -vn 0.7351 0.6344 0.2389 -vn 0.7351 -0.6344 0.2389 -vn 0.8960 0.3354 0.2911 -vn 0.1687 0.9841 0.0548 -vn 0.7001 -0.3354 0.6304 -vn 0.5744 0.6344 0.5172 -vn 0.5744 -0.6344 0.5172 -vn 0.7001 0.3354 0.6304 -vn 0.1318 0.9841 0.1187 -vn 0.3777 -0.8612 0.3401 -vn 0.7431 -0.0000 0.6691 -vn 0.3777 0.8612 0.3401 -vn 0.1318 -0.9841 0.1187 -vn 0.3832 0.3354 0.8606 -vn 0.0722 0.9841 0.1621 -vn 0.2067 -0.8612 0.4644 -vn 0.4067 -0.0000 0.9135 -vn 0.2067 0.8612 0.4644 -vn 0.0722 -0.9841 0.1621 -vn 0.3832 -0.3354 0.8606 -vn 0.3144 0.6344 0.7062 -vn 0.3144 -0.6344 0.7062 -vn -0.0000 0.8612 0.5083 -vn -0.0000 -0.9841 0.1774 -vn -0.0000 -0.3354 0.9421 -vn -0.0000 0.6344 0.7730 -vn -0.0000 -0.6344 0.7730 -vn -0.0000 0.3354 0.9421 -vn -0.0000 0.9841 0.1774 -vn -0.0000 -0.8612 0.5083 -vn -0.0000 -0.0000 1.0000 -vn -0.3144 -0.6344 0.7062 -vn -0.3832 0.3354 0.8606 -vn -0.0722 0.9841 0.1621 -vn -0.2067 -0.8612 0.4644 -vn -0.4067 -0.0000 0.9135 -vn -0.2067 0.8612 0.4644 -vn -0.0722 -0.9841 0.1621 -vn -0.3832 -0.3354 0.8606 -vn -0.3144 0.6344 0.7062 -vn -0.7431 -0.0000 0.6691 -vn -0.3777 0.8612 0.3401 -vn -0.1318 -0.9841 0.1187 -vn -0.7001 -0.3354 0.6304 -vn -0.5744 0.6344 0.5172 -vn -0.5744 -0.6344 0.5172 -vn -0.7001 0.3354 0.6304 -vn -0.1318 0.9841 0.1187 -vn -0.3777 -0.8612 0.3401 -vn -0.7351 0.6344 0.2389 -vn -0.7351 -0.6344 0.2389 -vn -0.8960 0.3354 0.2911 -vn -0.1687 0.9841 0.0548 -vn -0.4834 -0.8612 0.1571 -vn -0.9511 -0.0000 0.3090 -vn -0.4834 0.8612 0.1571 -vn -0.1687 -0.9841 0.0548 -vn -0.8960 -0.3354 0.2911 -vn -0.1764 0.9841 -0.0185 -vn -0.5055 -0.8612 -0.0531 -vn -0.9945 -0.0000 -0.1045 -vn -0.5055 0.8612 -0.0531 -vn -0.1764 -0.9841 -0.0185 -vn -0.9369 -0.3354 -0.0985 -vn -0.7687 0.6344 -0.0808 -vn -0.7687 -0.6344 -0.0808 -vn -0.9369 0.3354 -0.0985 -vn -0.1536 -0.9841 -0.0887 -vn -0.8159 -0.3354 -0.4710 -vn -0.6694 0.6344 -0.3865 -vn -0.6694 -0.6344 -0.3865 -vn -0.8159 0.3354 -0.4710 -vn -0.1536 0.9841 -0.0887 -vn -0.4402 -0.8612 -0.2542 -vn -0.8660 -0.0000 -0.5000 -vn -0.4402 0.8612 -0.2542 -vn -0.4543 -0.6344 -0.6254 -vn -0.5537 0.3354 -0.7622 -vn -0.1043 0.9841 -0.1435 -vn -0.2988 -0.8612 -0.4112 -vn -0.5878 -0.0000 -0.8090 -vn -0.2988 0.8612 -0.4112 -vn -0.1043 -0.9841 -0.1435 -vn -0.5537 -0.3354 -0.7622 -vn -0.4543 0.6344 -0.6254 -vn -0.2079 -0.0000 -0.9781 -vn -0.1057 0.8612 -0.4972 -vn -0.0369 -0.9841 -0.1735 -vn -0.1959 -0.3354 -0.9215 -vn -0.1607 0.6344 -0.7561 -vn -0.1607 -0.6344 -0.7561 -vn -0.1959 0.3354 -0.9215 -vn -0.0369 0.9841 -0.1735 -vn -0.1057 -0.8612 -0.4972 -vt 0.733333 0.333333 -vt 0.733333 0.444444 -vt 0.666667 0.444444 -vt 0.666667 0.333333 -vt 0.733333 0.666667 -vt 0.733333 0.777778 -vt 0.666667 0.777778 -vt 0.666667 0.666667 -vt 0.733333 0.222222 -vt 0.666667 0.222222 -vt 0.733333 0.555556 -vt 0.666667 0.555556 -vt 0.733333 0.888889 -vt 0.700000 1.000000 -vt 0.666667 0.888889 -vt 0.733333 0.111111 -vt 0.666667 0.111111 -vt 0.700000 0.000000 -vt 0.600000 0.666667 -vt 0.600000 0.555556 -vt 0.633333 1.000000 -vt 0.600000 0.888889 -vt 0.600000 0.222222 -vt 0.600000 0.111111 -vt 0.600000 0.444444 -vt 0.600000 0.777778 -vt 0.633333 0.000000 -vt 0.600000 0.333333 -vt 0.533333 0.888889 -vt 0.533333 0.777778 -vt 0.566667 0.000000 -vt 0.533333 0.111111 -vt 0.533333 0.444444 -vt 0.533333 0.333333 -vt 0.533333 0.666667 -vt 0.533333 0.222222 -vt 0.533333 0.555556 -vt 0.566667 1.000000 -vt 0.466667 0.333333 -vt 0.466667 0.222222 -vt 0.466667 0.666667 -vt 0.466667 0.555556 -vt 0.500000 1.000000 -vt 0.466667 0.888889 -vt 0.466667 0.111111 -vt 0.466667 0.444444 -vt 0.466667 0.777778 -vt 0.500000 0.000000 -vt 0.400000 0.222222 -vt 0.400000 0.111111 -vt 0.400000 0.555556 -vt 0.400000 0.444444 -vt 0.400000 0.888889 -vt 0.400000 0.777778 -vt 0.433333 0.000000 -vt 0.400000 0.333333 -vt 0.400000 0.666667 -vt 0.433333 1.000000 -vt 0.333333 0.444444 -vt 0.333333 0.333333 -vt 0.333333 0.777778 -vt 0.333333 0.666667 -vt 0.333333 0.222222 -vt 0.333333 0.555556 -vt 0.366667 1.000000 -vt 0.333333 0.888889 -vt 0.333333 0.111111 -vt 0.366667 0.000000 -vt 0.266667 0.666667 -vt 0.266667 0.555556 -vt 0.300000 1.000000 -vt 0.266667 0.888889 -vt 0.266667 0.222222 -vt 0.266667 0.111111 -vt 0.266667 0.444444 -vt 0.266667 0.777778 -vt 0.300000 0.000000 -vt 0.266667 0.333333 -vt 0.200000 0.888889 -vt 0.200000 0.777778 -vt 0.233333 0.000000 -vt 0.200000 0.111111 -vt 0.200000 0.444444 -vt 0.200000 0.333333 -vt 0.200000 0.666667 -vt 0.200000 0.222222 -vt 0.200000 0.555556 -vt 0.233333 1.000000 -vt 0.133333 0.333333 -vt 0.133333 0.222222 -vt 0.133333 0.666667 -vt 0.133333 0.555556 -vt 0.166667 1.000000 -vt 0.133333 0.888889 -vt 0.133333 0.111111 -vt 0.133333 0.444444 -vt 0.133333 0.777778 -vt 0.166667 0.000000 -vt 0.066667 0.555556 -vt 0.066667 0.444444 -vt 0.066667 0.888889 -vt 0.066667 0.777778 -vt 0.100000 0.000000 -vt 0.066667 0.111111 -vt 0.066667 0.333333 -vt 0.066667 0.666667 -vt 0.066667 0.222222 -vt 0.100000 1.000000 -vt 0.000000 0.777778 -vt 0.000000 0.666667 -vt 0.000000 0.333333 -vt 0.000000 0.222222 -vt 0.000000 0.555556 -vt 0.033333 1.000000 -vt 0.000000 0.888889 -vt 0.000000 0.111111 -vt 0.000000 0.444444 -vt 0.033333 0.000000 -vt 1.000000 0.888889 -vt 0.966667 1.000000 -vt 0.933333 0.888889 -vt 1.000000 0.111111 -vt 1.000000 0.222222 -vt 0.933333 0.222222 -vt 0.933333 0.111111 -vt 1.000000 0.444444 -vt 1.000000 0.555556 -vt 0.933333 0.555556 -vt 0.933333 0.444444 -vt 1.000000 0.777778 -vt 0.933333 0.777778 -vt 0.966667 0.000000 -vt 1.000000 0.333333 -vt 0.933333 0.333333 -vt 1.000000 0.666667 -vt 0.933333 0.666667 -vt 0.900000 0.000000 -vt 0.866667 0.111111 -vt 0.866667 0.444444 -vt 0.866667 0.333333 -vt 0.866667 0.777778 -vt 0.866667 0.666667 -vt 0.866667 0.222222 -vt 0.866667 0.555556 -vt 0.900000 1.000000 -vt 0.866667 0.888889 -vt 0.800000 0.333333 -vt 0.800000 0.222222 -vt 0.800000 0.666667 -vt 0.800000 0.555556 -vt 0.833333 1.000000 -vt 0.800000 0.888889 -vt 0.800000 0.111111 -vt 0.800000 0.444444 -vt 0.800000 0.777778 -vt 0.833333 0.000000 -vt 0.766667 0.000000 -vt 0.766667 1.000000 -s 0 -usemtl Material.001 -f 5/1/1 4/2/1 12/3/1 13/4/1 -f 2/5/2 1/6/2 9/7/2 10/8/2 -f 6/9/3 5/1/3 13/4/3 14/10/3 -f 3/11/4 2/5/4 10/8/4 11/12/4 -f 122/13/5 48/14/5 8/15/5 -f 7/16/6 6/9/6 14/10/6 15/17/6 -f 4/2/7 3/11/7 11/12/7 12/3/7 -f 1/6/8 122/13/8 8/15/8 9/7/8 -f 73/18/9 7/16/9 15/17/9 -f 11/12/10 10/8/10 18/19/10 19/20/10 -f 8/15/11 48/21/11 16/22/11 -f 15/17/12 14/10/12 22/23/12 23/24/12 -f 12/3/13 11/12/13 19/20/13 20/25/13 -f 9/7/14 8/15/14 16/22/14 17/26/14 -f 73/27/15 15/17/15 23/24/15 -f 13/4/16 12/3/16 20/25/16 21/28/16 -f 10/8/17 9/7/17 17/26/17 18/19/17 -f 14/10/18 13/4/18 21/28/18 22/23/18 -f 17/26/19 16/22/19 24/29/19 25/30/19 -f 73/31/20 23/24/20 31/32/20 -f 21/28/21 20/25/21 28/33/21 29/34/21 -f 18/19/22 17/26/22 25/30/22 26/35/22 -f 22/23/23 21/28/23 29/34/23 30/36/23 -f 19/20/24 18/19/24 26/35/24 27/37/24 -f 16/22/25 48/38/25 24/29/25 -f 23/24/26 22/23/26 30/36/26 31/32/26 -f 20/25/27 19/20/27 27/37/27 28/33/27 -f 30/36/28 29/34/28 37/39/28 38/40/28 -f 27/37/29 26/35/29 34/41/29 35/42/29 -f 24/29/30 48/43/30 32/44/30 -f 31/32/31 30/36/31 38/40/31 39/45/31 -f 28/33/32 27/37/32 35/42/32 36/46/32 -f 25/30/33 24/29/33 32/44/33 33/47/33 -f 73/48/34 31/32/34 39/45/34 -f 29/34/35 28/33/35 36/46/35 37/39/35 -f 26/35/36 25/30/36 33/47/36 34/41/36 -f 39/45/37 38/40/37 46/49/37 47/50/37 -f 36/46/38 35/42/38 43/51/38 44/52/38 -f 33/47/39 32/44/39 40/53/39 41/54/39 -f 73/55/40 39/45/40 47/50/40 -f 37/39/41 36/46/41 44/52/41 45/56/41 -f 34/41/42 33/47/42 41/54/42 42/57/42 -f 38/40/43 37/39/43 45/56/43 46/49/43 -f 35/42/44 34/41/44 42/57/44 43/51/44 -f 32/44/45 48/58/45 40/53/45 -f 45/56/46 44/52/46 53/59/46 54/60/46 -f 42/57/47 41/54/47 50/61/47 51/62/47 -f 46/49/48 45/56/48 54/60/48 55/63/48 -f 43/51/49 42/57/49 51/62/49 52/64/49 -f 40/53/50 48/65/50 49/66/50 -f 47/50/51 46/49/51 55/63/51 56/67/51 -f 44/52/52 43/51/52 52/64/52 53/59/52 -f 41/54/53 40/53/53 49/66/53 50/61/53 -f 73/68/54 47/50/54 56/67/54 -f 52/64/55 51/62/55 59/69/55 60/70/55 -f 49/66/56 48/71/56 57/72/56 -f 56/67/57 55/63/57 63/73/57 64/74/57 -f 53/59/58 52/64/58 60/70/58 61/75/58 -f 50/61/59 49/66/59 57/72/59 58/76/59 -f 73/77/60 56/67/60 64/74/60 -f 54/60/61 53/59/61 61/75/61 62/78/61 -f 51/62/62 50/61/62 58/76/62 59/69/62 -f 55/63/63 54/60/63 62/78/63 63/73/63 -f 58/76/64 57/72/64 65/79/64 66/80/64 -f 73/81/65 64/74/65 72/82/65 -f 62/78/66 61/75/66 69/83/66 70/84/66 -f 59/69/67 58/76/67 66/80/67 67/85/67 -f 63/73/68 62/78/68 70/84/68 71/86/68 -f 60/70/69 59/69/69 67/85/69 68/87/69 -f 57/72/70 48/88/70 65/79/70 -f 64/74/71 63/73/71 71/86/71 72/82/71 -f 61/75/72 60/70/72 68/87/72 69/83/72 -f 71/86/73 70/84/73 79/89/73 80/90/73 -f 68/87/74 67/85/74 76/91/74 77/92/74 -f 65/79/75 48/93/75 74/94/75 -f 72/82/76 71/86/76 80/90/76 81/95/76 -f 69/83/77 68/87/77 77/92/77 78/96/77 -f 66/80/78 65/79/78 74/94/78 75/97/78 -f 73/98/79 72/82/79 81/95/79 -f 70/84/80 69/83/80 78/96/80 79/89/80 -f 67/85/81 66/80/81 75/97/81 76/91/81 -f 78/96/82 77/92/82 85/99/82 86/100/82 -f 75/97/83 74/94/83 82/101/83 83/102/83 -f 73/103/84 81/95/84 89/104/84 -f 79/89/85 78/96/85 86/100/85 87/105/85 -f 76/91/86 75/97/86 83/102/86 84/106/86 -f 80/90/87 79/89/87 87/105/87 88/107/87 -f 77/92/88 76/91/88 84/106/88 85/99/88 -f 74/94/89 48/108/89 82/101/89 -f 81/95/90 80/90/90 88/107/90 89/104/90 -f 84/106/91 83/102/91 91/109/91 92/110/91 -f 88/107/92 87/105/92 95/111/92 96/112/92 -f 85/99/93 84/106/93 92/110/93 93/113/93 -f 82/101/94 48/114/94 90/115/94 -f 89/104/95 88/107/95 96/112/95 97/116/95 -f 86/100/96 85/99/96 93/113/96 94/117/96 -f 83/102/97 82/101/97 90/115/97 91/109/97 -f 73/118/98 89/104/98 97/116/98 -f 87/105/99 86/100/99 94/117/99 95/111/99 -f 90/119/100 48/120/100 98/121/100 -f 97/122/101 96/123/101 104/124/101 105/125/101 -f 94/126/102 93/127/102 101/128/102 102/129/102 -f 91/130/103 90/119/103 98/121/103 99/131/103 -f 73/132/104 97/122/104 105/125/104 -f 95/133/105 94/126/105 102/129/105 103/134/105 -f 92/135/106 91/130/106 99/131/106 100/136/106 -f 96/123/107 95/133/107 103/134/107 104/124/107 -f 93/127/108 92/135/108 100/136/108 101/128/108 -f 73/137/109 105/125/109 113/138/109 -f 103/134/110 102/129/110 110/139/110 111/140/110 -f 100/136/111 99/131/111 107/141/111 108/142/111 -f 104/124/112 103/134/112 111/140/112 112/143/112 -f 101/128/113 100/136/113 108/142/113 109/144/113 -f 98/121/114 48/145/114 106/146/114 -f 105/125/115 104/124/115 112/143/115 113/138/115 -f 102/129/116 101/128/116 109/144/116 110/139/116 -f 99/131/117 98/121/117 106/146/117 107/141/117 -f 112/143/118 111/140/118 119/147/118 120/148/118 -f 109/144/119 108/142/119 116/149/119 117/150/119 -f 106/146/120 48/151/120 114/152/120 -f 113/138/121 112/143/121 120/148/121 121/153/121 -f 110/139/122 109/144/122 117/150/122 118/154/122 -f 107/141/123 106/146/123 114/152/123 115/155/123 -f 73/156/124 113/138/124 121/153/124 -f 111/140/125 110/139/125 118/154/125 119/147/125 -f 108/142/126 107/141/126 115/155/126 116/149/126 -f 118/154/127 117/150/127 3/11/127 4/2/127 -f 115/155/128 114/152/128 122/13/128 1/6/128 -f 73/157/129 121/153/129 7/16/129 -f 119/147/130 118/154/130 4/2/130 5/1/130 -f 116/149/131 115/155/131 1/6/131 2/5/131 -f 120/148/132 119/147/132 5/1/132 6/9/132 -f 117/150/133 116/149/133 2/5/133 3/11/133 -f 114/152/134 48/158/134 122/13/134 -f 121/153/135 120/148/135 6/9/135 7/16/135 +# Blender 3.6.0 +# www.blender.org +mtllib logo_skybox.mtl +o Sphere +v 0.000000 0.766044 -0.642788 +v 0.000000 0.500000 -0.866025 +v 0.000000 0.173648 -0.984808 +v 0.000000 -0.173648 -0.984808 +v 0.000000 -0.500000 -0.866025 +v 0.000000 -0.766044 -0.642788 +v 0.000000 -0.939693 -0.342020 +v 0.139112 0.939693 -0.312451 +v 0.261445 0.766044 -0.587216 +v 0.352244 0.500000 -0.791154 +v 0.400557 0.173648 -0.899667 +v 0.400557 -0.173648 -0.899667 +v 0.352244 -0.500000 -0.791154 +v 0.261445 -0.766044 -0.587216 +v 0.139112 -0.939693 -0.312451 +v 0.254171 0.939693 -0.228856 +v 0.477684 0.766044 -0.430109 +v 0.643582 0.500000 -0.579484 +v 0.731855 0.173648 -0.658965 +v 0.731855 -0.173648 -0.658965 +v 0.643582 -0.500000 -0.579484 +v 0.477684 -0.766044 -0.430109 +v 0.254171 -0.939693 -0.228856 +v 0.325280 0.939693 -0.105690 +v 0.611327 0.766044 -0.198632 +v 0.823639 0.500000 -0.267617 +v 0.936608 0.173648 -0.304322 +v 0.936608 -0.173648 -0.304322 +v 0.823639 -0.500000 -0.267617 +v 0.611327 -0.766044 -0.198632 +v 0.325280 -0.939693 -0.105690 +v 0.340147 0.939693 0.035751 +v 0.639266 0.766044 0.067190 +v 0.861281 0.500000 0.090524 +v 0.979413 0.173648 0.102940 +v 0.979413 -0.173648 0.102940 +v 0.861281 -0.500000 0.090524 +v 0.639266 -0.766044 0.067190 +v 0.340147 -0.939693 0.035751 +v 0.296198 0.939693 0.171010 +v 0.556670 0.766044 0.321394 +v 0.750000 0.500000 0.433013 +v 0.852868 0.173648 0.492404 +v 0.852868 -0.173648 0.492404 +v 0.750000 -0.500000 0.433013 +v 0.556670 -0.766044 0.321394 +v 0.296198 -0.939693 0.171010 +v 0.000000 1.000000 0.000000 +v 0.201034 0.939693 0.276700 +v 0.377821 0.766044 0.520026 +v 0.509037 0.500000 0.700629 +v 0.578855 0.173648 0.796726 +v 0.578855 -0.173648 0.796726 +v 0.509037 -0.500000 0.700629 +v 0.377821 -0.766044 0.520026 +v 0.201034 -0.939693 0.276700 +v 0.071110 0.939693 0.334546 +v 0.133643 0.766044 0.628741 +v 0.180057 0.500000 0.847101 +v 0.204753 0.173648 0.963287 +v 0.204753 -0.173648 0.963287 +v 0.180057 -0.500000 0.847101 +v 0.133643 -0.766044 0.628741 +v 0.071110 -0.939693 0.334546 +v -0.071110 0.939693 0.334546 +v -0.133643 0.766044 0.628741 +v -0.180057 0.500000 0.847100 +v -0.204753 0.173648 0.963287 +v -0.204753 -0.173648 0.963287 +v -0.180057 -0.500000 0.847100 +v -0.133643 -0.766044 0.628741 +v -0.071110 -0.939693 0.334546 +v 0.000000 -1.000000 0.000000 +v -0.201034 0.939693 0.276700 +v -0.377821 0.766044 0.520026 +v -0.509037 0.500000 0.700629 +v -0.578855 0.173648 0.796726 +v -0.578855 -0.173648 0.796726 +v -0.509037 -0.500000 0.700629 +v -0.377821 -0.766044 0.520026 +v -0.201034 -0.939693 0.276700 +v -0.296198 0.939693 0.171010 +v -0.556670 0.766044 0.321394 +v -0.750000 0.500000 0.433013 +v -0.852868 0.173648 0.492404 +v -0.852868 -0.173648 0.492404 +v -0.750000 -0.500000 0.433013 +v -0.556670 -0.766044 0.321394 +v -0.296198 -0.939693 0.171010 +v -0.340147 0.939693 0.035751 +v -0.639266 0.766044 0.067189 +v -0.861281 0.500000 0.090524 +v -0.979413 0.173648 0.102940 +v -0.979413 -0.173648 0.102940 +v -0.861281 -0.500000 0.090524 +v -0.639266 -0.766044 0.067189 +v -0.340147 -0.939693 0.035751 +v -0.325280 0.939693 -0.105690 +v -0.611327 0.766044 -0.198632 +v -0.823639 0.500000 -0.267617 +v -0.936607 0.173648 -0.304322 +v -0.936607 -0.173648 -0.304322 +v -0.823639 -0.500000 -0.267617 +v -0.611327 -0.766044 -0.198632 +v -0.325280 -0.939693 -0.105690 +v -0.254170 0.939693 -0.228856 +v -0.477684 0.766044 -0.430109 +v -0.643582 0.500000 -0.579484 +v -0.731854 0.173648 -0.658965 +v -0.731854 -0.173648 -0.658965 +v -0.643582 -0.500000 -0.579484 +v -0.477684 -0.766044 -0.430109 +v -0.254170 -0.939693 -0.228856 +v -0.139112 0.939693 -0.312451 +v -0.261445 0.766044 -0.587215 +v -0.352244 0.500000 -0.791153 +v -0.400557 0.173648 -0.899666 +v -0.400557 -0.173648 -0.899666 +v -0.352244 -0.500000 -0.791153 +v -0.261445 -0.766044 -0.587215 +v -0.139112 -0.939693 -0.312451 +v 0.000000 0.939693 -0.342020 +vn 0.1959 -0.3354 -0.9215 +vn 0.1607 0.6344 -0.7561 +vn 0.1607 -0.6344 -0.7561 +vn 0.1959 0.3354 -0.9215 +vn 0.0369 0.9841 -0.1735 +vn 0.1057 -0.8612 -0.4972 +vn 0.2079 -0.0000 -0.9781 +vn 0.1057 0.8612 -0.4972 +vn 0.0369 -0.9841 -0.1735 +vn 0.5537 0.3354 -0.7622 +vn 0.1043 0.9841 -0.1435 +vn 0.2988 -0.8612 -0.4112 +vn 0.5878 -0.0000 -0.8090 +vn 0.2988 0.8612 -0.4112 +vn 0.1043 -0.9841 -0.1435 +vn 0.5537 -0.3354 -0.7622 +vn 0.4543 0.6344 -0.6254 +vn 0.4543 -0.6344 -0.6254 +vn 0.4402 0.8612 -0.2542 +vn 0.1536 -0.9841 -0.0887 +vn 0.8159 -0.3354 -0.4710 +vn 0.6694 0.6344 -0.3865 +vn 0.6694 -0.6344 -0.3865 +vn 0.8159 0.3354 -0.4710 +vn 0.1536 0.9841 -0.0887 +vn 0.4402 -0.8612 -0.2542 +vn 0.8660 -0.0000 -0.5000 +vn 0.7687 -0.6344 -0.0808 +vn 0.9369 0.3354 -0.0985 +vn 0.1764 0.9841 -0.0185 +vn 0.5055 -0.8612 -0.0531 +vn 0.9945 -0.0000 -0.1045 +vn 0.5055 0.8612 -0.0531 +vn 0.1764 -0.9841 -0.0185 +vn 0.9369 -0.3354 -0.0985 +vn 0.7687 0.6344 -0.0808 +vn 0.4834 -0.8612 0.1571 +vn 0.9511 -0.0000 0.3090 +vn 0.4834 0.8612 0.1571 +vn 0.1687 -0.9841 0.0548 +vn 0.8960 -0.3354 0.2911 +vn 0.7351 0.6344 0.2389 +vn 0.7351 -0.6344 0.2389 +vn 0.8960 0.3354 0.2911 +vn 0.1687 0.9841 0.0548 +vn 0.7001 -0.3354 0.6304 +vn 0.5744 0.6344 0.5172 +vn 0.5744 -0.6344 0.5172 +vn 0.7001 0.3354 0.6304 +vn 0.1318 0.9841 0.1187 +vn 0.3777 -0.8612 0.3401 +vn 0.7431 -0.0000 0.6691 +vn 0.3777 0.8612 0.3401 +vn 0.1318 -0.9841 0.1187 +vn 0.3832 0.3354 0.8606 +vn 0.0722 0.9841 0.1621 +vn 0.2067 -0.8612 0.4644 +vn 0.4067 -0.0000 0.9135 +vn 0.2067 0.8612 0.4644 +vn 0.0722 -0.9841 0.1621 +vn 0.3832 -0.3354 0.8606 +vn 0.3144 0.6344 0.7062 +vn 0.3144 -0.6344 0.7062 +vn -0.0000 0.8612 0.5083 +vn -0.0000 -0.9841 0.1774 +vn -0.0000 -0.3354 0.9421 +vn -0.0000 0.6344 0.7730 +vn -0.0000 -0.6344 0.7730 +vn -0.0000 0.3354 0.9421 +vn -0.0000 0.9841 0.1774 +vn -0.0000 -0.8612 0.5083 +vn -0.0000 -0.0000 1.0000 +vn -0.3144 -0.6344 0.7062 +vn -0.3832 0.3354 0.8606 +vn -0.0722 0.9841 0.1621 +vn -0.2067 -0.8612 0.4644 +vn -0.4067 -0.0000 0.9135 +vn -0.2067 0.8612 0.4644 +vn -0.0722 -0.9841 0.1621 +vn -0.3832 -0.3354 0.8606 +vn -0.3144 0.6344 0.7062 +vn -0.7431 -0.0000 0.6691 +vn -0.3777 0.8612 0.3401 +vn -0.1318 -0.9841 0.1187 +vn -0.7001 -0.3354 0.6304 +vn -0.5744 0.6344 0.5172 +vn -0.5744 -0.6344 0.5172 +vn -0.7001 0.3354 0.6304 +vn -0.1318 0.9841 0.1187 +vn -0.3777 -0.8612 0.3401 +vn -0.7351 0.6344 0.2389 +vn -0.7351 -0.6344 0.2389 +vn -0.8960 0.3354 0.2911 +vn -0.1687 0.9841 0.0548 +vn -0.4834 -0.8612 0.1571 +vn -0.9511 -0.0000 0.3090 +vn -0.4834 0.8612 0.1571 +vn -0.1687 -0.9841 0.0548 +vn -0.8960 -0.3354 0.2911 +vn -0.1764 0.9841 -0.0185 +vn -0.5055 -0.8612 -0.0531 +vn -0.9945 -0.0000 -0.1045 +vn -0.5055 0.8612 -0.0531 +vn -0.1764 -0.9841 -0.0185 +vn -0.9369 -0.3354 -0.0985 +vn -0.7687 0.6344 -0.0808 +vn -0.7687 -0.6344 -0.0808 +vn -0.9369 0.3354 -0.0985 +vn -0.1536 -0.9841 -0.0887 +vn -0.8159 -0.3354 -0.4710 +vn -0.6694 0.6344 -0.3865 +vn -0.6694 -0.6344 -0.3865 +vn -0.8159 0.3354 -0.4710 +vn -0.1536 0.9841 -0.0887 +vn -0.4402 -0.8612 -0.2542 +vn -0.8660 -0.0000 -0.5000 +vn -0.4402 0.8612 -0.2542 +vn -0.4543 -0.6344 -0.6254 +vn -0.5537 0.3354 -0.7622 +vn -0.1043 0.9841 -0.1435 +vn -0.2988 -0.8612 -0.4112 +vn -0.5878 -0.0000 -0.8090 +vn -0.2988 0.8612 -0.4112 +vn -0.1043 -0.9841 -0.1435 +vn -0.5537 -0.3354 -0.7622 +vn -0.4543 0.6344 -0.6254 +vn -0.2079 -0.0000 -0.9781 +vn -0.1057 0.8612 -0.4972 +vn -0.0369 -0.9841 -0.1735 +vn -0.1959 -0.3354 -0.9215 +vn -0.1607 0.6344 -0.7561 +vn -0.1607 -0.6344 -0.7561 +vn -0.1959 0.3354 -0.9215 +vn -0.0369 0.9841 -0.1735 +vn -0.1057 -0.8612 -0.4972 +vt 0.733333 0.333333 +vt 0.733333 0.444444 +vt 0.666667 0.444444 +vt 0.666667 0.333333 +vt 0.733333 0.666667 +vt 0.733333 0.777778 +vt 0.666667 0.777778 +vt 0.666667 0.666667 +vt 0.733333 0.222222 +vt 0.666667 0.222222 +vt 0.733333 0.555556 +vt 0.666667 0.555556 +vt 0.733333 0.888889 +vt 0.700000 1.000000 +vt 0.666667 0.888889 +vt 0.733333 0.111111 +vt 0.666667 0.111111 +vt 0.700000 0.000000 +vt 0.600000 0.666667 +vt 0.600000 0.555556 +vt 0.633333 1.000000 +vt 0.600000 0.888889 +vt 0.600000 0.222222 +vt 0.600000 0.111111 +vt 0.600000 0.444444 +vt 0.600000 0.777778 +vt 0.633333 0.000000 +vt 0.600000 0.333333 +vt 0.533333 0.888889 +vt 0.533333 0.777778 +vt 0.566667 0.000000 +vt 0.533333 0.111111 +vt 0.533333 0.444444 +vt 0.533333 0.333333 +vt 0.533333 0.666667 +vt 0.533333 0.222222 +vt 0.533333 0.555556 +vt 0.566667 1.000000 +vt 0.466667 0.333333 +vt 0.466667 0.222222 +vt 0.466667 0.666667 +vt 0.466667 0.555556 +vt 0.500000 1.000000 +vt 0.466667 0.888889 +vt 0.466667 0.111111 +vt 0.466667 0.444444 +vt 0.466667 0.777778 +vt 0.500000 0.000000 +vt 0.400000 0.222222 +vt 0.400000 0.111111 +vt 0.400000 0.555556 +vt 0.400000 0.444444 +vt 0.400000 0.888889 +vt 0.400000 0.777778 +vt 0.433333 0.000000 +vt 0.400000 0.333333 +vt 0.400000 0.666667 +vt 0.433333 1.000000 +vt 0.333333 0.444444 +vt 0.333333 0.333333 +vt 0.333333 0.777778 +vt 0.333333 0.666667 +vt 0.333333 0.222222 +vt 0.333333 0.555556 +vt 0.366667 1.000000 +vt 0.333333 0.888889 +vt 0.333333 0.111111 +vt 0.366667 0.000000 +vt 0.266667 0.666667 +vt 0.266667 0.555556 +vt 0.300000 1.000000 +vt 0.266667 0.888889 +vt 0.266667 0.222222 +vt 0.266667 0.111111 +vt 0.266667 0.444444 +vt 0.266667 0.777778 +vt 0.300000 0.000000 +vt 0.266667 0.333333 +vt 0.200000 0.888889 +vt 0.200000 0.777778 +vt 0.233333 0.000000 +vt 0.200000 0.111111 +vt 0.200000 0.444444 +vt 0.200000 0.333333 +vt 0.200000 0.666667 +vt 0.200000 0.222222 +vt 0.200000 0.555556 +vt 0.233333 1.000000 +vt 0.133333 0.333333 +vt 0.133333 0.222222 +vt 0.133333 0.666667 +vt 0.133333 0.555556 +vt 0.166667 1.000000 +vt 0.133333 0.888889 +vt 0.133333 0.111111 +vt 0.133333 0.444444 +vt 0.133333 0.777778 +vt 0.166667 0.000000 +vt 0.066667 0.555556 +vt 0.066667 0.444444 +vt 0.066667 0.888889 +vt 0.066667 0.777778 +vt 0.100000 0.000000 +vt 0.066667 0.111111 +vt 0.066667 0.333333 +vt 0.066667 0.666667 +vt 0.066667 0.222222 +vt 0.100000 1.000000 +vt 0.000000 0.777778 +vt 0.000000 0.666667 +vt 0.000000 0.333333 +vt 0.000000 0.222222 +vt 0.000000 0.555556 +vt 0.033333 1.000000 +vt 0.000000 0.888889 +vt 0.000000 0.111111 +vt 0.000000 0.444444 +vt 0.033333 0.000000 +vt 1.000000 0.888889 +vt 0.966667 1.000000 +vt 0.933333 0.888889 +vt 1.000000 0.111111 +vt 1.000000 0.222222 +vt 0.933333 0.222222 +vt 0.933333 0.111111 +vt 1.000000 0.444444 +vt 1.000000 0.555556 +vt 0.933333 0.555556 +vt 0.933333 0.444444 +vt 1.000000 0.777778 +vt 0.933333 0.777778 +vt 0.966667 0.000000 +vt 1.000000 0.333333 +vt 0.933333 0.333333 +vt 1.000000 0.666667 +vt 0.933333 0.666667 +vt 0.900000 0.000000 +vt 0.866667 0.111111 +vt 0.866667 0.444444 +vt 0.866667 0.333333 +vt 0.866667 0.777778 +vt 0.866667 0.666667 +vt 0.866667 0.222222 +vt 0.866667 0.555556 +vt 0.900000 1.000000 +vt 0.866667 0.888889 +vt 0.800000 0.333333 +vt 0.800000 0.222222 +vt 0.800000 0.666667 +vt 0.800000 0.555556 +vt 0.833333 1.000000 +vt 0.800000 0.888889 +vt 0.800000 0.111111 +vt 0.800000 0.444444 +vt 0.800000 0.777778 +vt 0.833333 0.000000 +vt 0.766667 0.000000 +vt 0.766667 1.000000 +s 0 +usemtl Material.001 +f 5/1/1 4/2/1 12/3/1 13/4/1 +f 2/5/2 1/6/2 9/7/2 10/8/2 +f 6/9/3 5/1/3 13/4/3 14/10/3 +f 3/11/4 2/5/4 10/8/4 11/12/4 +f 122/13/5 48/14/5 8/15/5 +f 7/16/6 6/9/6 14/10/6 15/17/6 +f 4/2/7 3/11/7 11/12/7 12/3/7 +f 1/6/8 122/13/8 8/15/8 9/7/8 +f 73/18/9 7/16/9 15/17/9 +f 11/12/10 10/8/10 18/19/10 19/20/10 +f 8/15/11 48/21/11 16/22/11 +f 15/17/12 14/10/12 22/23/12 23/24/12 +f 12/3/13 11/12/13 19/20/13 20/25/13 +f 9/7/14 8/15/14 16/22/14 17/26/14 +f 73/27/15 15/17/15 23/24/15 +f 13/4/16 12/3/16 20/25/16 21/28/16 +f 10/8/17 9/7/17 17/26/17 18/19/17 +f 14/10/18 13/4/18 21/28/18 22/23/18 +f 17/26/19 16/22/19 24/29/19 25/30/19 +f 73/31/20 23/24/20 31/32/20 +f 21/28/21 20/25/21 28/33/21 29/34/21 +f 18/19/22 17/26/22 25/30/22 26/35/22 +f 22/23/23 21/28/23 29/34/23 30/36/23 +f 19/20/24 18/19/24 26/35/24 27/37/24 +f 16/22/25 48/38/25 24/29/25 +f 23/24/26 22/23/26 30/36/26 31/32/26 +f 20/25/27 19/20/27 27/37/27 28/33/27 +f 30/36/28 29/34/28 37/39/28 38/40/28 +f 27/37/29 26/35/29 34/41/29 35/42/29 +f 24/29/30 48/43/30 32/44/30 +f 31/32/31 30/36/31 38/40/31 39/45/31 +f 28/33/32 27/37/32 35/42/32 36/46/32 +f 25/30/33 24/29/33 32/44/33 33/47/33 +f 73/48/34 31/32/34 39/45/34 +f 29/34/35 28/33/35 36/46/35 37/39/35 +f 26/35/36 25/30/36 33/47/36 34/41/36 +f 39/45/37 38/40/37 46/49/37 47/50/37 +f 36/46/38 35/42/38 43/51/38 44/52/38 +f 33/47/39 32/44/39 40/53/39 41/54/39 +f 73/55/40 39/45/40 47/50/40 +f 37/39/41 36/46/41 44/52/41 45/56/41 +f 34/41/42 33/47/42 41/54/42 42/57/42 +f 38/40/43 37/39/43 45/56/43 46/49/43 +f 35/42/44 34/41/44 42/57/44 43/51/44 +f 32/44/45 48/58/45 40/53/45 +f 45/56/46 44/52/46 53/59/46 54/60/46 +f 42/57/47 41/54/47 50/61/47 51/62/47 +f 46/49/48 45/56/48 54/60/48 55/63/48 +f 43/51/49 42/57/49 51/62/49 52/64/49 +f 40/53/50 48/65/50 49/66/50 +f 47/50/51 46/49/51 55/63/51 56/67/51 +f 44/52/52 43/51/52 52/64/52 53/59/52 +f 41/54/53 40/53/53 49/66/53 50/61/53 +f 73/68/54 47/50/54 56/67/54 +f 52/64/55 51/62/55 59/69/55 60/70/55 +f 49/66/56 48/71/56 57/72/56 +f 56/67/57 55/63/57 63/73/57 64/74/57 +f 53/59/58 52/64/58 60/70/58 61/75/58 +f 50/61/59 49/66/59 57/72/59 58/76/59 +f 73/77/60 56/67/60 64/74/60 +f 54/60/61 53/59/61 61/75/61 62/78/61 +f 51/62/62 50/61/62 58/76/62 59/69/62 +f 55/63/63 54/60/63 62/78/63 63/73/63 +f 58/76/64 57/72/64 65/79/64 66/80/64 +f 73/81/65 64/74/65 72/82/65 +f 62/78/66 61/75/66 69/83/66 70/84/66 +f 59/69/67 58/76/67 66/80/67 67/85/67 +f 63/73/68 62/78/68 70/84/68 71/86/68 +f 60/70/69 59/69/69 67/85/69 68/87/69 +f 57/72/70 48/88/70 65/79/70 +f 64/74/71 63/73/71 71/86/71 72/82/71 +f 61/75/72 60/70/72 68/87/72 69/83/72 +f 71/86/73 70/84/73 79/89/73 80/90/73 +f 68/87/74 67/85/74 76/91/74 77/92/74 +f 65/79/75 48/93/75 74/94/75 +f 72/82/76 71/86/76 80/90/76 81/95/76 +f 69/83/77 68/87/77 77/92/77 78/96/77 +f 66/80/78 65/79/78 74/94/78 75/97/78 +f 73/98/79 72/82/79 81/95/79 +f 70/84/80 69/83/80 78/96/80 79/89/80 +f 67/85/81 66/80/81 75/97/81 76/91/81 +f 78/96/82 77/92/82 85/99/82 86/100/82 +f 75/97/83 74/94/83 82/101/83 83/102/83 +f 73/103/84 81/95/84 89/104/84 +f 79/89/85 78/96/85 86/100/85 87/105/85 +f 76/91/86 75/97/86 83/102/86 84/106/86 +f 80/90/87 79/89/87 87/105/87 88/107/87 +f 77/92/88 76/91/88 84/106/88 85/99/88 +f 74/94/89 48/108/89 82/101/89 +f 81/95/90 80/90/90 88/107/90 89/104/90 +f 84/106/91 83/102/91 91/109/91 92/110/91 +f 88/107/92 87/105/92 95/111/92 96/112/92 +f 85/99/93 84/106/93 92/110/93 93/113/93 +f 82/101/94 48/114/94 90/115/94 +f 89/104/95 88/107/95 96/112/95 97/116/95 +f 86/100/96 85/99/96 93/113/96 94/117/96 +f 83/102/97 82/101/97 90/115/97 91/109/97 +f 73/118/98 89/104/98 97/116/98 +f 87/105/99 86/100/99 94/117/99 95/111/99 +f 90/119/100 48/120/100 98/121/100 +f 97/122/101 96/123/101 104/124/101 105/125/101 +f 94/126/102 93/127/102 101/128/102 102/129/102 +f 91/130/103 90/119/103 98/121/103 99/131/103 +f 73/132/104 97/122/104 105/125/104 +f 95/133/105 94/126/105 102/129/105 103/134/105 +f 92/135/106 91/130/106 99/131/106 100/136/106 +f 96/123/107 95/133/107 103/134/107 104/124/107 +f 93/127/108 92/135/108 100/136/108 101/128/108 +f 73/137/109 105/125/109 113/138/109 +f 103/134/110 102/129/110 110/139/110 111/140/110 +f 100/136/111 99/131/111 107/141/111 108/142/111 +f 104/124/112 103/134/112 111/140/112 112/143/112 +f 101/128/113 100/136/113 108/142/113 109/144/113 +f 98/121/114 48/145/114 106/146/114 +f 105/125/115 104/124/115 112/143/115 113/138/115 +f 102/129/116 101/128/116 109/144/116 110/139/116 +f 99/131/117 98/121/117 106/146/117 107/141/117 +f 112/143/118 111/140/118 119/147/118 120/148/118 +f 109/144/119 108/142/119 116/149/119 117/150/119 +f 106/146/120 48/151/120 114/152/120 +f 113/138/121 112/143/121 120/148/121 121/153/121 +f 110/139/122 109/144/122 117/150/122 118/154/122 +f 107/141/123 106/146/123 114/152/123 115/155/123 +f 73/156/124 113/138/124 121/153/124 +f 111/140/125 110/139/125 118/154/125 119/147/125 +f 108/142/126 107/141/126 115/155/126 116/149/126 +f 118/154/127 117/150/127 3/11/127 4/2/127 +f 115/155/128 114/152/128 122/13/128 1/6/128 +f 73/157/129 121/153/129 7/16/129 +f 119/147/130 118/154/130 4/2/130 5/1/130 +f 116/149/131 115/155/131 1/6/131 2/5/131 +f 120/148/132 119/147/132 5/1/132 6/9/132 +f 117/150/133 116/149/133 2/5/133 3/11/133 +f 114/152/134 48/158/134 122/13/134 +f 121/153/135 120/148/135 6/9/135 7/16/135 diff --git a/models/logo/logo_text.mtl b/models/logo/logo_text.mtl index 96d39f8..8261d8f 100644 --- a/models/logo/logo_text.mtl +++ b/models/logo/logo_text.mtl @@ -1,12 +1,12 @@ -# Blender 3.6.0 MTL File: 'logo.blend' -# www.blender.org - -newmtl Material.002 -Ns 250.000000 -Ka 1.000000 1.000000 1.000000 -Ks 0.500000 0.500000 0.500000 -Ke 0.000000 0.000000 0.000000 -Ni 1.450000 -illum 2 -map_Kd logo_text.png -map_d logo_text.png +# Blender 3.6.0 MTL File: 'logo.blend' +# www.blender.org + +newmtl Material.002 +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +illum 2 +map_Kd logo_text.png +map_d logo_text.png diff --git a/models/logo/logo_text.obj b/models/logo/logo_text.obj index 421270a..a899b57 100644 --- a/models/logo/logo_text.obj +++ b/models/logo/logo_text.obj @@ -1,16 +1,16 @@ -# Blender 3.6.0 -# www.blender.org -mtllib logo_text.mtl -o Plane -v -0.000000 3.995461 1.928974 -v 0.000001 -0.004538 1.928974 -v -0.000001 3.995461 -2.071026 -v 0.000000 -0.004538 -2.071026 -vn 1.0000 -0.0000 -0.0000 -vt 1.000000 1.001953 -vt 1.000000 0.001953 -vt 0.003906 0.001953 -vt 0.003906 1.001953 -s 0 -usemtl Material.002 -f 1/1/1 2/2/1 4/3/1 3/4/1 +# Blender 3.6.0 +# www.blender.org +mtllib logo_text.mtl +o Plane +v -0.000000 3.995461 1.928974 +v 0.000001 -0.004538 1.928974 +v -0.000001 3.995461 -2.071026 +v 0.000000 -0.004538 -2.071026 +vn 1.0000 -0.0000 -0.0000 +vt 1.000000 1.001953 +vt 1.000000 0.001953 +vt 0.003906 0.001953 +vt 0.003906 1.001953 +s 0 +usemtl Material.002 +f 1/1/1 2/2/1 4/3/1 3/4/1 diff --git a/models/player/Walter.md5mesh b/models/player/Walter.md5mesh index 117a02a..69de522 100644 --- a/models/player/Walter.md5mesh +++ b/models/player/Walter.md5mesh @@ -1,1234 +1,1234 @@ -MD5Version 10 // Parameters used during export: Reorient: False; Scale: 1.0 -commandline "" - -numJoints 25 -numMeshes 1 - -joints { - "mixamorig:Hips" -1 ( 0.0000050068 0.7780786753 0.0214254875 ) ( -0.0000000000 -0.0000000000 -0.0000000000 ) - "mixamorig:Spine" 0 ( 0.0000050068 0.9550809860 0.0204738528 ) ( 0.0026881641 -0.0000000000 -0.0000000000 ) - "mixamorig:Spine1" 1 ( 0.0000050068 1.1615837812 0.0193636138 ) ( 0.0026881683 -0.0000000000 -0.0000000000 ) - "mixamorig:Spine2" 2 ( 0.0000050068 1.3975870609 0.0180947669 ) ( 0.0026881725 -0.0000000000 -0.0000000000 ) - "mixamorig:Neck" 3 ( 0.0000050068 1.6630904675 0.0166673157 ) ( 0.0000000002 -0.0000000000 -0.0000000000 ) - "mixamorig:Head" 4 ( 0.0000050068 2.0578560829 -0.0234697666 ) ( 0.0000000002 -0.0000000000 -0.0000000000 ) - "mixamorig:HeadTop_End" 5 ( 0.0000050068 3.2679605484 -0.1465049684 ) ( 0.0000000002 -0.0000000000 -0.0000000000 ) - "mixamorig:LeftShoulder" 3 ( 0.0778451338 1.6125147343 0.0180834215 ) ( -0.6247026324 -0.3338780999 0.6174114347 ) - "mixamorig:LeftArm" 7 ( 0.2340943515 1.5114883184 0.0209156312 ) ( -0.6420348287 -0.2923028171 0.6572546363 ) - "mixamorig:LeftForeArm" 8 ( 0.4341848195 1.3212496042 0.0088629127 ) ( -0.6482289433 -0.2774304450 0.6426414251 ) - "mixamorig:LeftHand" 9 ( 0.6866635084 1.0953937769 0.0197164454 ) ( -0.6482288837 -0.2774304152 0.6426414847 ) - "mixamorig:RightShoulder" 3 ( -0.0778351203 1.6125147343 0.0152512118 ) ( -0.6133962274 0.3400166035 -0.6286455393 ) - "mixamorig:RightArm" 11 ( -0.2340843379 1.5114883184 0.0124189947 ) ( -0.6434517503 0.2779306769 -0.6561143398 ) - "mixamorig:RightForeArm" 12 ( -0.4341749549 1.3212496042 0.0111083360 ) ( -0.6433499455 0.2774566412 -0.6475695968 ) - "mixamorig:RightHand" 13 ( -0.6866537333 1.0953935385 0.0199788399 ) ( -0.6433498263 0.2774567604 -0.6475695372 ) - "mixamorig:LeftUpLeg" 0 ( 0.1861568242 0.6797347665 0.0169670302 ) ( -0.0002614523 -0.0164730735 0.9997389913 ) - "mixamorig:LeftLeg" 15 ( 0.1965884268 0.3506807387 0.0061202003 ) ( -0.0002619248 -0.0130610233 0.9998278022 ) - "mixamorig:LeftFoot" 16 ( 0.2031211704 0.1030523032 -0.0003499896 ) ( 0.2442932129 -0.3250968158 -0.9099078774 ) - "mixamorig:LeftToeBase" 17 ( 0.1823154092 0.0506515764 0.0369365625 ) ( 0.1743443906 -0.6845366359 -0.6851633191 ) - "mixamorig:LeftToe_End" 18 ( 0.1616981477 0.0506648533 0.0743991286 ) ( 0.1743451357 -0.6845363975 -0.6851633191 ) - "mixamorig:RightUpLeg" 0 ( -0.1861468107 0.6797347665 0.0126473196 ) ( -0.0001303761 0.0082231257 -0.9998407960 ) - "mixamorig:RightLeg" 20 ( -0.1965784132 0.3506806493 0.0072343871 ) ( -0.0000070597 0.0158711169 -0.9997871518 ) - "mixamorig:RightFoot" 21 ( -0.2031111270 0.1030523032 -0.0006308653 ) ( 0.1671799421 0.4092147350 0.8943320513 ) - "mixamorig:RightToeBase" 22 ( -0.1823053807 0.0506510064 0.0560317598 ) ( 0.1307421327 0.6963525414 0.6948363781 ) - "mixamorig:RightToe_End" 23 ( -0.1616881490 0.0506637171 0.1106020957 ) ( 0.1307424605 0.6963524818 0.6948363781 ) -} - -mesh { - shader "Material.001" - - numverts 360 - vert 0 ( 0.9770900011 0.2309870124 ) 0 1 - vert 1 ( 0.6280120015 0.1237249970 ) 1 1 - vert 2 ( 0.6345289946 0.1068750024 ) 2 1 - vert 3 ( 0.6294689775 0.1207150221 ) 3 1 - vert 4 ( 0.6270750165 0.1237490177 ) 4 1 - vert 5 ( 0.9619359970 0.1288509965 ) 5 1 - vert 6 ( 0.6267939806 0.1221429706 ) 6 1 - vert 7 ( 0.6278039813 0.1244599819 ) 7 1 - vert 8 ( 0.6277189851 0.1250759959 ) 8 1 - vert 9 ( 0.6275889874 0.1251239777 ) 9 1 - vert 10 ( 0.6273840070 0.1248769760 ) 10 1 - vert 11 ( 0.6274170280 0.1244670153 ) 11 1 - vert 12 ( 0.6276659966 0.1251080036 ) 12 1 - vert 13 ( 0.6276990175 0.1247619987 ) 13 1 - vert 14 ( 0.6275320053 0.1247850060 ) 14 1 - vert 15 ( 0.5844860077 0.0141670108 ) 15 1 - vert 16 ( 0.9262359738 0.2288500071 ) 16 1 - vert 17 ( 0.8765550256 0.0418639779 ) 17 1 - vert 18 ( 0.8923299909 0.1293950081 ) 18 1 - vert 19 ( 0.6290599704 0.1236950159 ) 19 1 - vert 20 ( 0.6281279922 0.1245719790 ) 20 1 - vert 21 ( 0.6279190183 0.1248049736 ) 21 1 - vert 22 ( 0.6272850037 0.1250529885 ) 22 1 - vert 23 ( 0.6277779937 0.1249799728 ) 23 1 - vert 24 ( 0.1929789931 0.8408509940 ) 24 1 - vert 25 ( 0.1771589965 0.9808309991 ) 25 1 - vert 26 ( 0.4022620022 0.9350420013 ) 26 1 - vert 27 ( 0.4366309941 0.9020529985 ) 27 1 - vert 28 ( 0.6284980178 0.1200129986 ) 28 1 - vert 29 ( 0.2793749869 0.7931790054 ) 29 1 - vert 30 ( 0.9767739773 0.1109529734 ) 30 1 - vert 31 ( 0.6172839999 0.1166309714 ) 31 1 - vert 32 ( 0.3981139958 0.4433689713 ) 32 1 - vert 33 ( 0.3689439893 0.2599049807 ) 33 1 - vert 34 ( 0.6660386324 0.3566115499 ) 34 1 - vert 35 ( 0.7027752399 0.3440144658 ) 35 1 - vert 36 ( 0.1389996111 0.0135309696 ) 36 1 - vert 37 ( 0.1603786498 0.0651845336 ) 37 1 - vert 38 ( 0.4172109962 0.4506959915 ) 38 1 - vert 39 ( 0.6661924720 0.3876863718 ) 39 1 - vert 40 ( 0.7041609883 0.4037358165 ) 40 1 - vert 41 ( 0.0421696305 0.0356623530 ) 41 1 - vert 42 ( 0.3640710115 0.3078100085 ) 42 1 - vert 43 ( 0.6439904571 0.4093347192 ) 43 1 - vert 44 ( 0.6606106162 0.4438698292 ) 44 1 - vert 45 ( 0.3638960123 0.1557689905 ) 45 1 - vert 46 ( 0.3605380058 0.2527520061 ) 46 1 - vert 47 ( 0.3427940011 0.3544380069 ) 47 1 - vert 48 ( 0.3759880066 0.3210170269 ) 48 1 - vert 49 ( 0.3811979890 0.4251279831 ) 49 1 - vert 50 ( 0.3842659891 0.8901999965 ) 50 1 - vert 51 ( 0.3785459995 0.8891329989 ) 51 1 - vert 52 ( 0.6258339882 0.1211379766 ) 52 1 - vert 53 ( 0.3810040057 0.8677999973 ) 53 1 - vert 54 ( 0.3707079887 0.8718049973 ) 54 1 - vert 55 ( 0.3819220066 0.8358670026 ) 55 1 - vert 56 ( 0.3483920097 0.8548330069 ) 56 1 - vert 57 ( 0.6258339882 0.1211370230 ) 57 1 - vert 58 ( 0.3800359964 0.8845999986 ) 58 1 - vert 59 ( 0.3783299923 0.8806720003 ) 59 1 - vert 60 ( 0.3872820139 0.8811160028 ) 60 1 - vert 61 ( 0.3822369874 0.8789430037 ) 61 1 - vert 62 ( 0.3885929883 0.8864990026 ) 62 1 - vert 63 ( 0.3722690046 0.8641059995 ) 63 1 - vert 64 ( 0.3723649979 0.8620190024 ) 64 1 - vert 65 ( 0.3821539879 0.8834739998 ) 65 1 - vert 66 ( 0.3833589852 0.8852609992 ) 66 1 - vert 67 ( 0.1410059929 0.9049080014 ) 67 1 - vert 68 ( 0.0966409966 0.9468900003 ) 68 1 - vert 69 ( 0.0561060011 0.8406559974 ) 69 1 - vert 70 ( 0.1553100049 0.8000580072 ) 70 1 - vert 71 ( 0.1400219947 0.8402269930 ) 71 1 - vert 72 ( 0.1138530001 0.8421600014 ) 72 1 - vert 73 ( 0.0970600024 0.8607649952 ) 73 1 - vert 74 ( 0.0946189985 0.8864549994 ) 74 1 - vert 75 ( 0.1159150004 0.9006400034 ) 75 1 - vert 76 ( 0.1577479988 0.8849460036 ) 76 1 - vert 77 ( 0.1580969989 0.8594820052 ) 77 1 - vert 78 ( 0.0625320002 0.6487930119 ) 78 1 - vert 79 ( 0.0544370003 0.6221770048 ) 79 1 - vert 80 ( 0.0709389970 0.6446329951 ) 80 1 - vert 81 ( 0.0642590001 0.6206119955 ) 81 1 - vert 82 ( 0.4915809929 0.2518169880 ) 82 1 - vert 83 ( 0.1726122499 0.0897893906 ) 83 1 - vert 84 ( 0.3437370062 0.3190500140 ) 84 1 - vert 85 ( 0.4043140113 0.4421190023 ) 85 1 - vert 86 ( 0.4561789930 0.3619400263 ) 86 1 - vert 87 ( 0.3798719943 0.4756839871 ) 87 1 - vert 88 ( 0.0695969984 0.5694989860 ) 88 1 - vert 89 ( 0.4506610036 0.2520239949 ) 89 1 - vert 90 ( 0.0263630003 0.6900230050 ) 90 1 - vert 91 ( 0.6276289821 0.1250270009 ) 91 1 - vert 92 ( 0.2008090019 0.8977760002 ) 92 1 - vert 93 ( 0.9607030153 0.0021219850 ) 93 1 - vert 94 ( 0.6288570166 0.1259790063 ) 94 1 - vert 95 ( 0.6319339871 0.1272889972 ) 95 1 - vert 96 ( 0.6281350255 0.1265770197 ) 96 1 - vert 97 ( 0.7894579768 0.1288509965 ) 97 1 - vert 98 ( 0.8756970167 0.2174919844 ) 98 1 - vert 99 ( 0.6532779932 0.1152070165 ) 99 1 - vert 100 ( 0.6282160282 0.1255609989 ) 100 1 - vert 101 ( 0.6277480125 0.1251530051 ) 101 1 - vert 102 ( 0.7727810144 0.2414770126 ) 102 1 - vert 103 ( 0.6273130178 0.1252719760 ) 103 1 - vert 104 ( 0.6275830269 0.1251710057 ) 104 1 - vert 105 ( 0.7523630261 0.3643490076 ) 105 1 - vert 106 ( 0.6279199719 0.1258109808 ) 106 1 - vert 107 ( 0.6276860237 0.1251639724 ) 107 1 - vert 108 ( 0.6284040213 0.1248630285 ) 108 1 - vert 109 ( 0.6277520061 0.1251080036 ) 109 1 - vert 110 ( 0.6276770234 0.1251360178 ) 110 1 - vert 111 ( 0.6280540228 0.1249939799 ) 111 1 - vert 112 ( 0.6277949810 0.1254870296 ) 112 1 - vert 113 ( 0.6279379725 0.1254019737 ) 113 1 - vert 114 ( 0.6278619766 0.1250659823 ) 114 1 - vert 115 ( 0.6274809837 0.1251069903 ) 115 1 - vert 116 ( 0.8756970167 0.0103880167 ) 116 1 - vert 117 ( 0.4881300032 0.3988339901 ) 117 1 - vert 118 ( 0.4400950074 0.4895849824 ) 118 1 - vert 119 ( 0.6296809912 0.1253119707 ) 119 1 - vert 120 ( 0.8348699808 0.1288409829 ) 120 1 - vert 121 ( 0.6283879876 0.1252639890 ) 121 1 - vert 122 ( 0.8251060247 0.2293919921 ) 122 1 - vert 123 ( 0.6280760169 0.1252260208 ) 123 1 - vert 124 ( 0.8126369715 0.3676660061 ) 124 1 - vert 125 ( 0.6278579831 0.1251860261 ) 125 1 - vert 126 ( 0.6275569797 0.1252970099 ) 126 1 - vert 127 ( 0.2312439978 0.8272600025 ) 127 1 - vert 128 ( 0.6276999712 0.1252350211 ) 128 1 - vert 129 ( 0.6289139986 0.1293590069 ) 129 1 - vert 130 ( 0.6289160252 0.1293579936 ) 130 1 - vert 131 ( 0.3191629946 0.8554199934 ) 131 1 - vert 132 ( 0.6388469934 0.1547129750 ) 132 1 - vert 133 ( 0.6444680095 0.1343740225 ) 133 1 - vert 134 ( 0.6274279952 0.1284369826 ) 134 1 - vert 135 ( 0.4257969856 0.4489369988 ) 135 1 - vert 136 ( 0.4019640088 0.3519570231 ) 136 1 - vert 137 ( 0.4873979986 0.1361770034 ) 137 1 - vert 138 ( 0.6447083354 0.3277802467 ) 138 1 - vert 139 ( 0.6268743873 0.3713766336 ) 139 1 - vert 140 ( 0.6092867851 0.3333960176 ) 140 1 - vert 141 ( 0.5919111967 0.2986634970 ) 141 1 - vert 142 ( 0.3658135533 0.0130164623 ) 142 1 - vert 143 ( 0.3437762558 0.0652713180 ) 143 1 - vert 144 ( 0.4568969905 0.4110100269 ) 144 1 - vert 145 ( 0.5873978734 0.3554539680 ) 145 1 - vert 146 ( 0.5490666032 0.3402915597 ) 146 1 - vert 147 ( 0.4605230093 0.0344183445 ) 147 1 - vert 148 ( 0.4237800837 0.0960637927 ) 148 1 - vert 149 ( 0.4879930019 0.3997430205 ) 149 1 - vert 150 ( 0.5880622864 0.3864561319 ) 150 1 - vert 151 ( 0.5520027876 0.3994416595 ) 151 1 - vert 152 ( 0.1267140061 0.1523479819 ) 152 1 - vert 153 ( 0.1492120028 0.3544380069 ) 153 1 - vert 154 ( 0.6091287136 0.4147571325 ) 154 1 - vert 155 ( 0.5975006223 0.4431831241 ) 155 1 - vert 156 ( 0.5779694319 0.4909285307 ) 156 1 - vert 157 ( 0.2460030019 0.3558310270 ) 157 1 - vert 158 ( 0.6567584276 0.2983228564 ) 158 1 - vert 159 ( 0.6746314168 0.2546311021 ) 159 1 - vert 160 ( 0.6289150119 0.1293590069 ) 160 1 - vert 161 ( 0.3650270104 0.8906970024 ) 161 1 - vert 162 ( 0.3682929873 0.8682879955 ) 162 1 - vert 163 ( 0.3620750010 0.8816469982 ) 163 1 - vert 164 ( 0.3785890043 0.8722939938 ) 164 1 - vert 165 ( 0.6289250255 0.1293600202 ) 165 1 - vert 166 ( 0.3673749864 0.8363559991 ) 166 1 - vert 167 ( 0.4009050131 0.8553210050 ) 167 1 - vert 168 ( 0.6289250255 0.1293730140 ) 168 1 - vert 169 ( 0.3707529902 0.8896239996 ) 169 1 - vert 170 ( 0.3709670007 0.8811599985 ) 170 1 - vert 171 ( 0.3670600057 0.8794310018 ) 171 1 - vert 172 ( 0.3607040048 0.8869879991 ) 172 1 - vert 173 ( 0.3770259917 0.8645929992 ) 173 1 - vert 174 ( 0.3769269884 0.8625030071 ) 174 1 - vert 175 ( 0.3692579865 0.8850919977 ) 175 1 - vert 176 ( 0.3671439886 0.8839619979 ) 176 1 - vert 177 ( 0.3659380078 0.8857500032 ) 177 1 - vert 178 ( 0.1550669968 0.9419599995 ) 178 1 - vert 179 ( 0.1960739940 0.9030029997 ) 179 1 - vert 180 ( 0.6276919842 0.1252430081 ) 180 1 - vert 181 ( 0.0593810007 0.9045839980 ) 181 1 - vert 182 ( 0.1144220009 0.9042780027 ) 182 1 - vert 183 ( 0.0957439989 0.8894170001 ) 183 1 - vert 184 ( 0.0928639993 0.8642549962 ) 184 1 - vert 185 ( 0.1105709970 0.8472200036 ) 185 1 - vert 186 ( 0.1562670022 0.8587670028 ) 186 1 - vert 187 ( 0.1559319943 0.8851289973 ) 187 1 - vert 188 ( 0.1393499970 0.9052110016 ) 188 1 - vert 189 ( 0.0604659989 0.6426970065 ) 189 1 - vert 190 ( 0.0575169995 0.6145370007 ) 190 1 - vert 191 ( 0.0698840022 0.6406809986 ) 191 1 - vert 192 ( 0.0675899982 0.6152510047 ) 192 1 - vert 193 ( 0.0113709997 0.2589859962 ) 193 1 - vert 194 ( 0.1399970055 0.2594069839 ) 194 1 - vert 195 ( 0.2460030019 0.2340459824 ) 195 1 - vert 196 ( 0.2524371743 0.0557144284 ) 196 1 - vert 197 ( 0.2536570132 0.4331889749 ) 197 1 - vert 198 ( 0.3362450004 0.0372470021 ) 198 1 - vert 199 ( 0.3329065442 0.0890851021 ) 199 1 - vert 200 ( 0.2460030019 0.2827500105 ) 200 1 - vert 201 ( 0.2526259422 0.0799843669 ) 201 1 - vert 202 ( 0.3286344111 0.1076187491 ) 202 1 - vert 203 ( 0.0505100004 0.3663420081 ) 203 1 - vert 204 ( 0.1610649973 0.3217980266 ) 204 1 - vert 205 ( 0.2460030019 0.3192819953 ) 205 1 - vert 206 ( 0.2541404068 0.1028505564 ) 206 1 - vert 207 ( 0.4818849862 0.3736709952 ) 207 1 - vert 208 ( 0.0809919983 0.5675910115 ) 208 1 - vert 209 ( 0.0806230009 0.3518000245 ) 209 1 - vert 210 ( 0.4475649893 0.4347280264 ) 210 1 - vert 211 ( 0.4620740116 0.3537070155 ) 211 1 - vert 212 ( 0.6317139864 0.1284459829 ) 212 1 - vert 213 ( 0.6280450225 0.1287209988 ) 213 1 - vert 214 ( 0.7746189833 0.1109529734 ) 214 1 - vert 215 ( 0.6289780140 0.1279810071 ) 215 1 - vert 216 ( 0.6955029964 0.0293049812 ) 216 1 - vert 217 ( 0.6253359914 0.1227399707 ) 217 1 - vert 218 ( 0.5816770196 0.0927789807 ) 218 1 - vert 219 ( 0.1275420040 0.8719480038 ) 219 1 - vert 220 ( 0.7414439917 0.1526179910 ) 220 1 - vert 221 ( 0.6143440008 0.1797749996 ) 221 1 - vert 222 ( 0.1245450005 0.8749449998 ) 222 1 - vert 223 ( 0.6258360147 0.1211370230 ) 223 1 - vert 224 ( 0.3505359888 0.9358170033 ) 224 1 - vert 225 ( 0.8096579909 0.0429260135 ) 225 1 - vert 226 ( 0.6289139986 0.1293590069 ) 226 1 - vert 227 ( 0.6276180148 0.1252030134 ) 227 1 - vert 228 ( 0.0981490016 0.9462199993 ) 228 1 - vert 229 ( 0.6277040243 0.1252470016 ) 229 1 - vert 230 ( 0.0186180007 0.9150779992 ) 230 1 - vert 231 ( 0.0649780035 0.6335799992 ) 231 1 - vert 232 ( 0.0589819998 0.6355690062 ) 232 1 - vert 233 ( 0.0594930016 0.6292249858 ) 233 1 - vert 234 ( 0.0660500005 0.6284390092 ) 234 1 - vert 235 ( 0.0651919991 0.3043059707 ) 235 1 - vert 236 ( 0.4205529988 0.3454099894 ) 236 1 - vert 237 ( 0.6263669729 0.1244400144 ) 237 1 - vert 238 ( 0.6234359741 0.1237630248 ) 238 1 - vert 239 ( 0.9990299940 0.3643490076 ) 239 1 - vert 240 ( 0.3445369899 0.4483079910 ) 240 1 - vert 241 ( 0.9387570024 0.3676660061 ) 241 1 - vert 242 ( 0.6276410222 0.1250360012 ) 242 1 - vert 243 ( 0.6276410222 0.1250560284 ) 243 1 - vert 244 ( 0.6258500218 0.1211190224 ) 244 1 - vert 245 ( 0.6258320212 0.1211040020 ) 245 1 - vert 246 ( 0.6258320212 0.1211410165 ) 246 1 - vert 247 ( 0.6232309937 0.1226410270 ) 247 1 - vert 248 ( 0.9401900172 0.0425660014 ) 248 1 - vert 249 ( 0.4459069967 0.4552189708 ) 249 1 - vert 250 ( 0.3984790146 0.3889309764 ) 250 1 - vert 251 ( 0.2553119957 0.3806899786 ) 251 1 - vert 252 ( 0.3689439893 0.2599049807 ) 252 1 - vert 253 ( 0.7483572364 0.3297877908 ) 253 1 - vert 254 ( 0.7469862700 0.4222422838 ) 254 1 - vert 255 ( 0.4960930049 0.1402699947 ) 255 1 - vert 256 ( 0.4066590071 0.4814119935 ) 256 1 - vert 257 ( 0.4271129966 0.3943110108 ) 257 1 - vert 258 ( 0.3731999993 0.1485310197 ) 258 1 - vert 259 ( 0.6828961372 0.4872912169 ) 259 1 - vert 260 ( 0.3644340038 0.2510650158 ) 260 1 - vert 261 ( 0.3379189968 0.3492659926 ) 261 1 - vert 262 ( 0.2115100026 0.3792759776 ) 262 1 - vert 263 ( 0.3270049989 0.4265609980 ) 263 1 - vert 264 ( 0.3580130041 0.8870590031 ) 264 1 - vert 265 ( 0.4301339984 0.8549319953 ) 265 1 - vert 266 ( 0.6276299953 0.1250450015 ) 266 1 - vert 267 ( 0.6276249886 0.1250349879 ) 267 1 - vert 268 ( 0.6276370287 0.1250309944 ) 268 1 - vert 269 ( 0.0796861947 0.0949854255 ) 269 1 - vert 270 ( 0.1094729975 0.5613940060 ) 270 1 - vert 271 ( 0.3494420052 0.3227739930 ) 271 1 - vert 272 ( 0.1775498390 0.1082749963 ) 272 1 - vert 273 ( 0.3916580081 0.4803019762 ) 273 1 - vert 274 ( 0.1219109967 0.7397130132 ) 274 1 - vert 275 ( 0.0150539996 0.5661869943 ) 275 1 - vert 276 ( 0.4209469855 0.3505399823 ) 276 1 - vert 277 ( 0.4469589889 0.4331520200 ) 277 1 - vert 278 ( 0.6167619824 0.0958999991 ) 278 1 - vert 279 ( 0.6253830194 0.1289579868 ) 279 1 - vert 280 ( 0.6272040009 0.1264169812 ) 280 1 - vert 281 ( 0.8756970167 0.3414480090 ) 281 1 - vert 282 ( 0.6276220083 0.1255369782 ) 282 1 - vert 283 ( 0.3894360065 0.3493469954 ) 283 1 - vert 284 ( 0.6682329774 0.2370920181 ) 284 1 - vert 285 ( 0.7451130152 0.0810130239 ) 285 1 - vert 286 ( 0.6277009845 0.1252179742 ) 286 1 - vert 287 ( 0.1358039975 0.8401570022 ) 287 1 - vert 288 ( 0.3858850002 0.8867010027 ) 288 1 - vert 289 ( 0.3582699895 0.7582779974 ) 289 1 - vert 290 ( 0.6289150119 0.1293590069 ) 290 1 - vert 291 ( 0.7916359901 0.0025309920 ) 291 1 - vert 292 ( 0.4516420066 0.4454410076 ) 292 1 - vert 293 ( 0.4617660046 0.4410409927 ) 293 1 - vert 294 ( 0.4439600110 0.4271969795 ) 294 1 - vert 295 ( 0.1335480064 0.4531610012 ) 295 1 - vert 296 ( 0.4413880110 0.4011240005 ) 296 1 - vert 297 ( 0.4018290043 0.3278620243 ) 297 1 - vert 298 ( 0.5693684816 0.2565689683 ) 298 1 - vert 299 ( 0.5055488944 0.3234776855 ) 299 1 - vert 300 ( 0.0037580000 0.1478310227 ) 300 1 - vert 301 ( 0.1231850013 0.5863040090 ) 301 1 - vert 302 ( 0.0782629997 0.3964080215 ) 302 1 - vert 303 ( 0.1281100065 0.1557689905 ) 303 1 - vert 304 ( 0.5056744218 0.4147952795 ) 304 1 - vert 305 ( 0.1676200032 0.3516579866 ) 305 1 - vert 306 ( 0.3470360041 0.9355280027 ) 306 1 - vert 307 ( 0.6277149916 0.1252350211 ) 307 1 - vert 308 ( 0.0900750011 0.8031409979 ) 308 1 - vert 309 ( 0.6277120113 0.1252499819 ) 309 1 - vert 310 ( 0.4333678484 0.0820311904 ) 310 1 - vert 311 ( 0.1109289974 0.5051110089 ) 311 1 - vert 312 ( 0.1322540045 0.2574980259 ) 312 1 - vert 313 ( 0.2574259937 0.4273149967 ) 313 1 - vert 314 ( 0.4483200014 0.3981130123 ) 314 1 - vert 315 ( 0.4865030050 0.3854569793 ) 315 1 - vert 316 ( 0.1033670008 0.7451390028 ) 316 1 - vert 317 ( 0.0476320013 0.7256459892 ) 317 1 - vert 318 ( 0.4685730040 0.4793140292 ) 318 1 - vert 319 ( 0.0166549999 0.6725839972 ) 319 1 - vert 320 ( 0.0241529997 0.5575430095 ) 320 1 - vert 321 ( 0.0548859984 0.2560560107 ) 321 1 - vert 322 ( 0.6259930134 0.1299329996 ) 322 1 - vert 323 ( 0.4460049868 0.4623540044 ) 323 1 - vert 324 ( 0.3829610050 0.3183860183 ) 324 1 - vert 325 ( 0.1038580015 0.6833919883 ) 325 1 - vert 326 ( 0.0899780691 0.1195011139 ) 326 1 - vert 327 ( 0.1006100029 0.8047830015 ) 327 1 - vert 328 ( 0.6276400089 0.1250410080 ) 328 1 - vert 329 ( 0.6274359822 0.1254559755 ) 329 1 - vert 330 ( 0.2460030019 0.1686859727 ) 330 1 - vert 331 ( 0.2526209950 0.3444650173 ) 331 1 - vert 332 ( 0.2522003353 0.0025228262 ) 332 1 - vert 333 ( 0.4699220061 0.7936670035 ) 333 1 - vert 334 ( 0.3126710057 0.9025399983 ) 334 1 - vert 335 ( 0.6277109981 0.1252300143 ) 335 1 - vert 336 ( 0.1801899970 0.4283540249 ) 336 1 - vert 337 ( 0.3003309965 0.3764070272 ) 337 1 - vert 338 ( 0.4704709947 0.1426770091 ) 338 1 - vert 339 ( 0.1425929964 0.3229569793 ) 339 1 - vert 340 ( 0.4222159982 0.4160159826 ) 340 1 - vert 341 ( 0.0937429965 0.6905100048 ) 341 1 - vert 342 ( 0.4166484177 0.1181108952 ) 342 1 - vert 343 ( 0.3908190131 0.4905909896 ) 343 1 - vert 344 ( 0.8982509971 0.0058349967 ) 344 1 - vert 345 ( 0.3450439870 0.3811349869 ) 345 1 - vert 346 ( 0.4786790013 0.4594330192 ) 346 1 - vert 347 ( 0.8539239764 0.0056009889 ) 347 1 - vert 348 ( 0.4443129897 0.3469979763 ) 348 1 - vert 349 ( 0.3910270035 0.7577899992 ) 349 1 - vert 350 ( 0.6258360147 0.1211379766 ) 350 1 - vert 351 ( 0.6244940162 0.1396149993 ) 351 1 - vert 352 ( 0.4231719971 0.9866469996 ) 352 1 - vert 353 ( 0.6277149916 0.1252409816 ) 353 1 - vert 354 ( 0.0524270013 0.8491390049 ) 354 1 - vert 355 ( 0.6276180148 0.1250439882 ) 355 1 - vert 356 ( 0.4738889933 0.4092710018 ) 356 1 - vert 357 ( 0.4270829856 0.4775859714 ) 357 1 - vert 358 ( 0.4205529988 0.3454099894 ) 358 1 - vert 359 ( 0.0646610036 0.7349320054 ) 359 1 - - numtris 470 - tri 0 99 108 19 - tri 1 11 237 4 - tri 2 216 278 15 - tri 3 182 183 222 - tri 4 120 17 18 - tri 5 238 247 217 - tri 6 75 68 74 - tri 7 216 285 99 - tri 8 5 248 30 - tri 9 72 71 219 - tri 10 237 238 217 - tri 11 241 281 16 - tri 12 347 116 17 - tri 13 212 95 133 - tri 14 1 3 19 - tri 15 93 248 344 - tri 16 3 6 28 - tri 17 126 227 180 - tri 18 183 184 222 - tri 19 34 39 139 - tri 20 249 256 38 - tri 21 256 249 323 - tri 22 251 313 262 - tri 23 144 293 340 - tri 24 43 154 139 - tri 25 331 197 305 - tri 26 312 200 339 - tri 27 73 72 219 - tri 28 58 51 264 - tri 29 55 64 56 - tri 30 224 264 51 - tri 31 56 54 264 - tri 32 76 92 67 - tri 33 54 63 53 - tri 34 66 58 65 - tri 35 325 274 359 - tri 36 67 92 25 - tri 37 71 77 219 - tri 38 10 91 267 - tri 39 266 9 355 - tri 40 230 74 68 - tri 41 75 74 219 - tri 42 76 67 219 - tri 43 325 88 270 - tri 44 77 76 219 - tri 45 74 73 219 - tri 46 67 75 219 - tri 47 99 220 133 - tri 48 28 6 350 - tri 49 231 81 88 - tri 50 96 215 134 - tri 51 200 195 260 - tri 52 144 340 314 - tri 53 251 337 313 - tri 54 200 312 195 - tri 55 223 247 31 - tri 56 23 328 242 - tri 57 2 278 216 - tri 58 220 284 132 - tri 59 108 121 111 - tri 60 106 96 280 - tri 61 280 134 279 - tri 62 126 282 329 - tri 63 17 225 347 - tri 64 205 200 271 - tri 65 286 227 107 - tri 66 139 140 138 - tri 67 117 296 348 - tri 68 355 115 10 - tri 69 6 4 217 - tri 70 335 101 125 - tri 71 243 12 9 - tri 72 132 133 220 - tri 73 225 291 347 - tri 74 134 215 213 - tri 75 213 322 134 - tri 76 95 212 215 - tri 77 162 171 163 - tri 78 39 43 139 - tri 79 145 139 150 - tri 80 139 154 150 - tri 81 295 302 336 - tri 82 351 130 290 - tri 83 139 145 140 - tri 84 164 288 170 - tri 85 204 235 194 - tri 86 139 138 34 - tri 87 290 168 351 - tri 88 352 169 288 - tri 89 167 288 164 - tri 90 179 187 186 - tri 91 172 177 161 - tri 92 167 333 288 - tri 93 175 177 176 - tri 94 164 162 173 - tri 95 170 176 171 - tri 96 28 2 3 - tri 97 188 182 222 - tri 98 186 287 127 - tri 99 125 307 335 - tri 100 185 287 222 - tri 101 186 187 222 - tri 102 187 188 222 - tri 103 184 185 222 - tri 104 287 186 222 - tri 105 2 216 99 - tri 106 220 99 285 - tri 107 237 217 4 - tri 108 322 213 130 - tri 109 96 134 280 - tri 110 248 17 344 - tri 111 121 108 119 - tri 112 52 6 246 - tri 113 14 91 10 - tri 114 357 276 277 - tri 115 189 233 190 - tri 116 234 208 192 - tri 117 317 189 319 - tri 118 321 194 235 - tri 119 208 311 320 - tri 120 208 301 311 - tri 121 208 341 301 - tri 122 356 210 211 - tri 123 210 356 318 - tri 124 316 341 317 - tri 125 271 260 89 - tri 126 275 270 88 - tri 127 2 99 3 - tri 128 150 154 151 - tri 129 343 240 32 - tri 130 107 227 110 - tri 131 115 103 22 - tri 132 278 218 15 - tri 133 18 16 98 - tri 134 18 5 16 - tri 135 3 1 6 - tri 136 118 343 135 - tri 137 345 283 250 - tri 138 109 101 110 - tri 139 12 8 110 - tri 140 108 20 19 - tri 141 104 9 110 - tri 142 21 20 111 - tri 143 201 206 83 - tri 144 13 7 21 - tri 145 114 109 23 - tri 146 7 13 11 - tri 147 227 126 104 - tri 148 14 10 11 - tri 149 114 125 109 - tri 150 23 21 114 - tri 151 240 345 49 - tri 152 196 143 201 - tri 153 281 98 16 - tri 154 9 115 355 - tri 155 115 9 104 - tri 156 108 99 119 - tri 157 17 248 18 - tri 158 239 241 0 - tri 159 125 113 353 - tri 160 18 98 120 - tri 161 118 135 346 - tri 162 281 124 122 - tri 163 111 123 114 - tri 164 36 332 37 - tri 165 67 68 75 - tri 166 324 252 48 - tri 167 61 53 60 - tri 168 322 279 134 - tri 169 35 253 40 - tri 170 296 250 348 - tri 171 69 327 73 - tri 172 158 141 159 - tri 173 196 201 37 - tri 174 253 35 159 - tri 175 330 195 303 - tri 176 140 141 138 - tri 177 158 35 138 - tri 178 271 89 358 - tri 179 36 37 41 - tri 180 263 261 257 - tri 181 37 83 269 - tri 182 83 272 326 - tri 183 89 260 258 - tri 184 320 319 190 - tri 185 340 292 249 - tri 186 249 38 340 - tri 187 330 45 195 - tri 188 331 261 197 - tri 189 200 260 271 - tri 190 48 42 324 - tri 191 55 53 64 - tri 192 297 338 33 - tri 193 60 53 265 - tri 194 245 57 31 - tri 195 54 56 63 - tri 196 60 265 62 - tri 197 51 50 224 - tri 198 50 62 26 - tri 199 29 349 56 - tri 200 66 62 50 - tri 201 61 60 65 - tri 202 59 54 61 - tri 203 265 55 349 - tri 204 29 56 264 - tri 205 62 66 60 - tri 206 50 51 66 - tri 207 58 59 65 - tri 208 54 59 264 - tri 209 65 59 61 - tri 210 92 76 24 - tri 211 355 10 267 - tri 212 81 231 79 - tri 213 74 230 69 - tri 214 243 9 266 - tri 215 68 67 25 - tri 216 23 242 268 - tri 217 275 88 79 - tri 218 80 325 78 - tri 219 43 39 44 - tri 220 78 359 90 - tri 221 43 44 154 - tri 222 31 278 245 - tri 223 155 156 151 - tri 224 155 44 156 - tri 225 44 40 259 - tri 226 34 35 39 - tri 227 201 199 206 - tri 228 293 292 340 - tri 229 85 38 273 - tri 230 261 236 257 - tri 231 205 271 157 - tri 232 340 38 85 - tri 233 205 157 339 - tri 234 141 146 298 - tri 235 90 275 79 - tri 236 70 71 327 - tri 237 6 217 246 - tri 238 74 69 73 - tri 239 77 71 24 - tri 240 244 245 2 - tri 241 350 244 28 - tri 242 100 121 94 - tri 243 247 223 217 - tri 244 113 112 353 - tri 245 284 221 132 - tri 246 119 99 95 - tri 247 296 117 294 - tri 248 113 125 123 - tri 249 96 106 94 - tri 250 120 122 97 - tri 251 95 94 119 - tri 252 96 94 215 - tri 253 107 101 286 - tri 254 100 106 113 - tri 255 21 23 13 - tri 256 280 282 106 - tri 257 105 102 124 - tri 258 151 304 146 - tri 259 97 225 120 - tri 260 225 97 214 - tri 261 10 115 22 - tri 262 282 229 112 - tri 263 113 123 100 - tri 264 12 243 8 - tri 265 226 129 215 - tri 266 180 229 126 - tri 267 188 187 178 - tri 268 140 145 141 - tri 269 146 145 151 - tri 270 144 149 293 - tri 271 199 342 202 - tri 272 302 305 336 - tri 273 143 142 310 - tri 274 143 148 199 - tri 275 209 235 204 - tri 276 321 193 300 - tri 277 213 160 130 - tri 278 137 136 198 - tri 279 169 175 288 - tri 280 129 160 215 - tri 281 174 166 167 - tri 282 166 174 162 - tri 283 166 162 131 - tri 284 163 172 131 - tri 285 169 352 161 - tri 286 161 306 172 - tri 287 183 182 181 - tri 288 333 167 289 - tri 289 162 164 171 - tri 290 289 166 131 - tri 291 172 163 177 - tri 292 175 169 177 - tri 293 128 227 286 - tri 294 176 170 175 - tri 295 184 354 185 - tri 296 174 167 173 - tri 297 188 178 182 - tri 298 183 181 184 - tri 299 287 185 308 - tri 300 176 163 171 - tri 301 320 190 208 - tri 302 179 186 127 - tri 303 353 307 125 - tri 304 227 128 180 - tri 305 317 341 189 - tri 306 192 190 234 - tri 307 341 208 191 - tri 308 215 212 226 - tri 309 196 332 143 - tri 310 310 148 143 - tri 311 302 209 305 - tri 312 314 315 144 - tri 313 168 132 351 - tri 314 322 130 351 - tri 315 132 168 133 - tri 316 133 165 212 - tri 317 115 126 103 - tri 318 122 98 281 - tri 319 7 1 20 - tri 320 116 344 17 - tri 321 8 328 23 - tri 322 200 205 339 - tri 323 4 1 11 - tri 324 91 14 268 - tri 325 6 52 350 - tri 326 223 31 57 - tri 327 231 88 80 - tri 328 268 13 23 - tri 329 90 79 78 - tri 330 80 78 231 - tri 331 78 79 232 - tri 332 233 189 234 - tri 333 197 336 305 - tri 334 121 123 111 - tri 335 288 175 170 - tri 336 99 19 3 - tri 337 154 155 151 - tri 338 240 49 32 - tri 339 227 104 110 - tri 340 5 0 16 - tri 341 1 4 6 - tri 342 343 32 135 - tri 343 101 107 110 - tri 344 8 109 110 - tri 345 9 12 110 - tri 346 20 108 111 - tri 347 206 272 83 - tri 348 7 20 21 - tri 349 109 8 23 - tri 350 13 14 11 - tri 351 126 115 104 - tri 352 10 237 11 - tri 353 125 101 109 - tri 354 21 111 114 - tri 355 345 250 49 - tri 356 143 199 201 - tri 357 248 5 18 - tri 358 241 16 0 - tri 359 98 122 120 - tri 360 135 294 346 - tri 361 123 125 114 - tri 362 332 196 37 - tri 363 253 254 40 - tri 364 250 283 348 - tri 365 327 72 73 - tri 366 141 298 159 - tri 367 201 83 37 - tri 368 35 158 159 - tri 369 195 312 303 - tri 370 141 158 138 - tri 371 35 34 138 - tri 372 37 269 41 - tri 373 83 326 269 - tri 374 85 273 87 - tri 375 89 255 82 - tri 376 89 258 255 - tri 377 319 189 190 - tri 378 45 46 195 - tri 379 261 263 197 - tri 380 53 63 64 - tri 381 53 55 265 - tri 382 56 64 63 - tri 383 265 27 62 - tri 384 50 26 224 - tri 385 62 27 26 - tri 386 349 55 56 - tri 387 54 53 61 - tri 388 66 65 60 - tri 389 51 58 66 - tri 390 59 58 264 - tri 391 76 77 24 - tri 392 231 232 79 - tri 393 88 81 79 - tri 394 325 359 78 - tri 395 39 40 44 - tri 396 44 155 154 - tri 397 156 304 151 - tri 398 44 259 156 - tri 399 40 254 259 - tri 400 35 40 39 - tri 401 199 202 206 - tri 402 38 256 273 - tri 403 257 236 86 - tri 404 261 84 236 - tri 405 271 47 157 - tri 406 157 153 339 - tri 407 146 299 298 - tri 408 71 72 327 - tri 409 71 70 24 - tri 410 245 278 2 - tri 411 244 2 28 - tri 412 121 119 94 - tri 413 223 246 217 - tri 414 112 309 353 - tri 415 99 133 95 - tri 416 117 346 294 - tri 417 106 100 94 - tri 418 122 102 97 - tri 419 94 95 215 - tri 420 101 335 286 - tri 421 106 112 113 - tri 422 282 112 106 - tri 423 102 122 124 - tri 424 304 299 146 - tri 425 225 17 120 - tri 426 229 309 112 - tri 427 123 121 100 - tri 428 243 328 8 - tri 429 229 282 126 - tri 430 187 179 178 - tri 431 145 146 141 - tri 432 145 150 151 - tri 433 207 315 314 - tri 434 142 147 310 - tri 435 148 342 199 - tri 436 321 152 194 - tri 437 321 300 152 - tri 438 160 213 215 - tri 439 174 173 162 - tri 440 162 163 131 - tri 441 172 334 131 - tri 442 352 306 161 - tri 443 306 334 172 - tri 444 182 228 181 - tri 445 167 166 289 - tri 446 164 170 171 - tri 447 163 176 177 - tri 448 169 161 177 - tri 449 354 308 185 - tri 450 167 164 173 - tri 451 178 228 182 - tri 452 181 354 184 - tri 453 190 192 208 - tri 454 341 191 189 - tri 455 190 233 234 - tri 456 208 234 191 - tri 457 332 142 143 - tri 458 305 209 204 - tri 459 302 203 209 - tri 460 315 149 144 - tri 461 168 165 133 - tri 462 165 226 212 - tri 463 126 329 103 - tri 464 1 19 20 - tri 465 1 7 11 - tri 466 14 13 268 - tri 467 88 325 80 - tri 468 78 232 231 - tri 469 189 191 234 - - numweights 360 - weight 0 2 1.0000000000 ( 0.2439319938 0.0499284454 0.2035437673 ) - weight 1 2 1.0000000000 ( 0.2350439876 0.0386660509 -0.1570599973 ) - weight 2 3 1.0000000000 ( 0.1468819976 0.2431893200 -0.1329962164 ) - weight 3 3 1.0000000000 ( 0.1868539900 0.0340141021 -0.1547431201 ) - weight 4 2 1.0000000000 ( 0.2639710009 0.0537303165 0.0159244947 ) - weight 5 3 1.0000000000 ( 0.1861609966 0.0953991860 0.1915709078 ) - weight 6 3 1.0000000000 ( 0.2285970002 -0.0190709401 -0.0142364977 ) - weight 7 1 1.0000000000 ( 0.3034240007 0.0756526217 -0.1794317067 ) - weight 8 15 1.0000000000 ( 0.1355637610 0.1599988341 -0.1184319407 ) - weight 9 15 1.0000000000 ( 0.1309300661 0.1559493095 0.1280044913 ) - weight 10 0 1.0000000000 ( 0.3404839933 0.0529571772 0.1671295166 ) - weight 11 1 1.0000000000 ( 0.3391319811 0.0750562176 0.0016326986 ) - weight 12 15 1.0000000000 ( 0.1489165127 0.1844431013 -0.0088376291 ) - weight 13 0 1.0000000000 ( 0.3395859897 0.0439382195 -0.1631174833 ) - weight 14 0 1.0000000000 ( 0.3889379799 0.0506551862 0.0073615173 ) - weight 15 4 1.0000000000 ( 0.0705629960 0.0848673582 -0.0615953095 ) - weight 16 2 1.0000000000 ( 0.1190169901 0.0599804558 0.2684907317 ) - weight 17 4 1.0000000000 ( 0.0006129916 0.0637564659 0.0699426830 ) - weight 18 3 1.0000000000 ( 0.0385599919 0.1152020395 0.2334879637 ) - weight 19 2 1.0000000000 ( 0.1151029915 0.0728035569 -0.2197413594 ) - weight 20 1 1.0000000000 ( 0.1639789939 0.0782810822 -0.2524156272 ) - weight 21 0 1.0000000000 ( 0.1762349904 0.0837392211 -0.2474874854 ) - weight 22 0 1.0000000000 ( 0.1762349904 0.0643042326 0.2256545126 ) - weight 23 0 1.0000000000 ( 0.1576959938 -0.1277057528 -0.1835524887 ) - weight 24 17 1.0000000000 ( 0.0680590793 -0.1028278694 -0.0648958981 ) - weight 25 15 1.0000000000 ( 0.1383750886 0.3645852506 -0.0049345810 ) - weight 26 9 1.0000000000 ( 0.0795513690 0.1844145805 -0.0157230105 ) - weight 27 9 1.0000000000 ( 0.0432985425 0.1875272989 -0.0675230026 ) - weight 28 3 1.0000000000 ( 0.2132139951 0.0611511469 -0.1208057329 ) - weight 29 9 1.0000000000 ( -0.0445946306 0.2564639151 0.0450837091 ) - weight 30 3 1.0000000000 ( 0.2126979977 0.1201973557 0.1432525218 ) - weight 31 3 1.0000000000 ( 0.1475549936 0.2980909944 0.0494865887 ) - weight 32 4 1.0000000000 ( 0.0482579879 0.1410723925 -0.1014293134 ) - weight 33 4 1.0000000000 ( 0.0117849912 0.1506624222 -0.0038563106 ) - weight 34 5 1.0000000000 ( 0.2498759925 1.1327595711 -0.3092742264 ) - weight 35 5 1.0000000000 ( 0.4259600043 0.9609866142 -0.4556492269 ) - weight 36 5 1.0000000000 ( 0.5045909882 0.7150216103 -0.5220972300 ) - weight 37 5 1.0000000000 ( 0.4640769958 0.3028106689 -0.4996452034 ) - weight 38 5 1.0000000000 ( 0.2884320021 -0.0966032743 -0.2449832261 ) - weight 39 5 1.0000000000 ( 0.3387569785 1.1393196583 -0.0777652338 ) - weight 40 5 1.0000000000 ( 0.5802649856 0.9604737759 -0.0781242326 ) - weight 41 5 1.0000000000 ( 0.6948559880 0.7089786530 -0.0778682306 ) - weight 42 5 1.0000000000 ( 0.5167359710 -0.1222293377 -0.0203252304 ) - weight 43 5 1.0000000000 ( 0.2486589998 1.1295747757 0.1535777748 ) - weight 44 5 1.0000000000 ( 0.4240689874 0.9566686153 0.2969137728 ) - weight 45 5 1.0000000000 ( 0.5041099787 0.7030787468 0.3581047654 ) - weight 46 5 1.0000000000 ( 0.4698289931 0.2859137058 0.3518387675 ) - weight 47 5 1.0000000000 ( 0.3811949790 -0.1297823191 0.3299477696 ) - weight 48 4 1.0000000000 ( 0.1325989962 0.1678954363 -0.0169863105 ) - weight 49 4 1.0000000000 ( 0.0715219900 0.1374104023 -0.0627613142 ) - weight 50 10 1.0000000000 ( 0.0840645060 0.1210490838 -0.0181317534 ) - weight 51 10 1.0000000000 ( 0.0575683862 0.1251404732 0.0378176235 ) - weight 52 10 1.0000000000 ( -0.0002098754 0.0546463765 0.0658382475 ) - weight 53 10 1.0000000000 ( -0.0627470165 0.0624686852 -0.0117829749 ) - weight 54 10 1.0000000000 ( -0.0590158813 0.0695136413 0.0414663106 ) - weight 55 10 1.0000000000 ( -0.0650505200 -0.0035594089 -0.0099945189 ) - weight 56 10 1.0000000000 ( -0.0613203868 0.0034854291 0.0432546213 ) - weight 57 9 1.0000000000 ( -0.0132750943 0.2916550636 -0.0645581484 ) - weight 58 10 1.0000000000 ( 0.0210795142 0.1713905782 0.0260487236 ) - weight 59 10 1.0000000000 ( -0.0339472182 0.1386612058 0.0273602530 ) - weight 60 10 1.0000000000 ( -0.0045190584 0.1215111911 -0.0678469092 ) - weight 61 10 1.0000000000 ( -0.0377568416 0.1327892989 -0.0186499935 ) - weight 62 10 1.0000000000 ( 0.0525807440 0.1186101437 -0.0695190132 ) - weight 63 10 1.0000000000 ( -0.1305689365 0.0510407798 0.0251006410 ) - weight 64 10 1.0000000000 ( -0.1319397390 0.0182728413 0.0168420020 ) - weight 65 10 1.0000000000 ( 0.0048729777 0.1857358515 -0.0151548618 ) - weight 66 10 1.0000000000 ( 0.0411435924 0.1764152050 -0.0300002843 ) - weight 67 18 1.0000000000 ( 0.1038829386 0.0158947278 0.0029720145 ) - weight 68 18 1.0000000000 ( 0.0394554958 0.0885941535 0.0973428190 ) - weight 69 18 1.0000000000 ( -0.1282062978 -0.0032369436 0.0986670703 ) - weight 70 17 1.0000000000 ( -0.0343980715 -0.1179947853 -0.0710503906 ) - weight 71 17 1.0000000000 ( -0.0267230254 -0.0240106471 -0.1161581948 ) - weight 72 18 1.0000000000 ( -0.0953479484 -0.0946307927 -0.0016044304 ) - weight 73 18 1.0000000000 ( -0.1046545953 -0.0106829302 -0.0015861008 ) - weight 74 18 1.0000000000 ( -0.0566503927 0.0627773404 0.0044931932 ) - weight 75 18 1.0000000000 ( 0.0320712924 0.0645642951 -0.0022616275 ) - weight 76 18 1.0000000000 ( 0.1073177084 -0.0721633211 -0.0025780962 ) - weight 77 17 1.0000000000 ( 0.0570398942 -0.0178213380 -0.1072523296 ) - weight 78 5 1.0000000000 ( 0.7447710037 0.0725736618 -0.0303482283 ) - weight 79 5 1.0000000000 ( 0.7426120043 0.2516007423 -0.0305892285 ) - weight 80 5 1.0000000000 ( 0.7222160101 0.0878257751 -0.0735782310 ) - weight 81 5 1.0000000000 ( 0.7219740152 0.2373116016 -0.0736612305 ) - weight 82 5 1.0000000000 ( 0.6486669779 0.2471966743 -0.0761172324 ) - weight 83 5 1.0000000000 ( 0.3968510032 0.1162166595 -0.4449752271 ) - weight 84 5 1.0000000000 ( 0.4264929891 -0.0116553307 0.3855787814 ) - weight 85 5 1.0000000000 ( 0.3449510038 0.0062587261 -0.3619642258 ) - weight 86 5 1.0000000000 ( 0.5977219939 -0.0077822208 -0.0438172258 ) - weight 87 5 1.0000000000 ( 0.6196209788 0.0677487850 -0.0317612290 ) - weight 88 5 1.0000000000 ( 0.6246069670 0.2611856461 -0.0222792309 ) - weight 89 5 1.0000000000 ( 0.6096429825 0.2903735638 0.0331927724 ) - weight 90 5 1.0000000000 ( 0.6140149832 0.0971865654 0.0184367709 ) - weight 91 18 1.0000000000 ( -0.1133777350 -0.1069344580 0.0901804268 ) - weight 92 18 1.0000000000 ( 0.1313204467 -0.0760601237 0.0959457457 ) - weight 93 3 1.0000000000 ( 0.1538379937 0.3069235086 -0.0582844801 ) - weight 94 2 1.0000000000 ( -0.2350540012 0.0386660509 -0.1570599973 ) - weight 95 2 1.0000000000 ( -0.1868640035 0.2700208426 -0.1547431201 ) - weight 96 2 1.0000000000 ( -0.2639810145 0.0537303165 0.0159244929 ) - weight 97 3 1.0000000000 ( -0.1861710101 0.0953991860 0.1915709078 ) - weight 98 2 1.0000000000 ( -0.0000050080 0.0951434374 0.2741678655 ) - weight 99 3 1.0000000000 ( -0.0004480089 0.2667391300 -0.1622940153 ) - weight 100 1 1.0000000000 ( -0.3034340143 0.0756526217 -0.1794317067 ) - weight 101 0 1.0000000000 ( -0.0557330102 -0.2585647106 -0.1282364875 ) - weight 102 2 1.0000000000 ( -0.2537190020 0.0219821762 0.2003624737 ) - weight 103 0 1.0000000000 ( 0.0030679922 0.1357972026 0.2502985001 ) - weight 104 0 1.0000000000 ( -0.0000050083 -0.2192987204 0.1261775196 ) - weight 105 0 1.0000000000 ( -0.3399960101 0.0680472255 0.1706835181 ) - weight 106 1 1.0000000000 ( -0.3391419947 0.0750562176 0.0016326972 ) - weight 107 20 1.0000000000 ( -0.1489012241 0.1841989905 -0.0076375622 ) - weight 108 1 1.0000000000 ( 0.0067869909 0.0901962817 -0.2603986859 ) - weight 109 0 1.0000000000 ( -0.0000050088 -0.2192857265 -0.1325974762 ) - weight 110 15 1.0000000000 ( 0.1910143495 0.1503635943 -0.0099164341 ) - weight 111 0 1.0000000000 ( -0.0000050091 0.0824261904 -0.2682794929 ) - weight 112 0 1.0000000000 ( -0.3884370029 0.0409191847 0.0048475144 ) - weight 113 0 1.0000000000 ( -0.3383989930 0.0429071784 -0.1631864905 ) - weight 114 0 1.0000000000 ( -0.0000050089 -0.0896587372 -0.1991924793 ) - weight 115 0 1.0000000000 ( 0.1318969876 -0.1043447256 0.1910755187 ) - weight 116 4 1.0000000000 ( -0.0000050086 0.1022064686 0.0052606883 ) - weight 117 4 1.0000000000 ( -0.0705730096 0.0848673582 -0.0615953095 ) - weight 118 4 1.0000000000 ( -0.0000050088 0.0721414089 -0.1301623136 ) - weight 119 2 1.0000000000 ( -0.1177550033 0.0740632117 -0.2187535763 ) - weight 120 3 1.0000000000 ( -0.0936910063 0.1105483249 0.2241318226 ) - weight 121 1 1.0000000000 ( -0.1639890075 0.0782810822 -0.2524156272 ) - weight 122 2 1.0000000000 ( -0.1199790090 0.0585936196 0.2680982649 ) - weight 123 0 1.0000000000 ( -0.1762450039 0.0837392211 -0.2474874854 ) - weight 124 0 1.0000000000 ( -0.1762450039 0.0643051863 0.2256545126 ) - weight 125 0 1.0000000000 ( -0.1524530053 -0.1214027405 -0.1853304803 ) - weight 126 0 1.0000000000 ( -0.1447610110 -0.1289037466 0.1825795174 ) - weight 127 21 1.0000000000 ( -0.1389897615 0.0231919978 -0.0029347057 ) - weight 128 23 1.0000000000 ( -0.0535812676 0.0499770865 0.0058840704 ) - weight 129 14 1.0000000000 ( -0.0017304621 0.0613811798 0.0646476820 ) - weight 130 13 1.0000000000 ( 0.0555704571 0.2862195969 -0.0049750954 ) - weight 131 13 1.0000000000 ( 0.0135755520 0.2865525484 -0.0642039925 ) - weight 132 3 1.0000000000 ( -0.1538820118 0.3067788482 -0.0564772338 ) - weight 133 3 1.0000000000 ( -0.1495530009 0.2452591062 -0.1284980327 ) - weight 134 12 1.0000000000 ( 0.0911287814 0.0608176850 0.0854393542 ) - weight 135 4 1.0000000000 ( -0.0026890088 0.1482334137 -0.1286133081 ) - weight 136 4 1.0000000000 ( -0.0553100109 0.1402064562 -0.0947723165 ) - weight 137 4 1.0000000000 ( -0.0692200065 0.1349633932 -0.0506333113 ) - weight 138 5 1.0000000000 ( -0.0000050096 1.1117727757 -0.4507312179 ) - weight 139 5 1.0000000000 ( -0.0000050088 1.2243816853 -0.0775632337 ) - weight 140 5 1.0000000000 ( -0.2498860061 1.1327595711 -0.3092742264 ) - weight 141 5 1.0000000000 ( -0.4259700179 0.9609866142 -0.4556492269 ) - weight 142 5 1.0000000000 ( -0.5046010017 0.7150216103 -0.5220972300 ) - weight 143 5 1.0000000000 ( -0.4609000087 0.2964856625 -0.4992172420 ) - weight 144 5 1.0000000000 ( -0.2884420156 -0.0966032743 -0.2449832261 ) - weight 145 5 1.0000000000 ( -0.3387669921 1.1393196583 -0.0777652338 ) - weight 146 5 1.0000000000 ( -0.5802749991 0.9604737759 -0.0781242326 ) - weight 147 5 1.0000000000 ( -0.6948660016 0.7089786530 -0.0778682306 ) - weight 148 5 1.0000000000 ( -0.6434710026 0.2211437225 -0.0741632283 ) - weight 149 5 1.0000000000 ( -0.5243380070 -0.1196773052 -0.0272742324 ) - weight 150 5 1.0000000000 ( -0.2486690134 1.1295747757 0.1535777748 ) - weight 151 5 1.0000000000 ( -0.4240790009 0.9566686153 0.2969137728 ) - weight 152 5 1.0000000000 ( -0.5041199923 0.7030797005 0.3581047654 ) - weight 153 5 1.0000000000 ( -0.3812049925 -0.1297823191 0.3299477696 ) - weight 154 5 1.0000000000 ( -0.0000050081 1.1044816971 0.2957377732 ) - weight 155 5 1.0000000000 ( -0.0000050078 0.9445097446 0.4667787850 ) - weight 156 5 1.0000000000 ( -0.0000050076 0.6810626984 0.5266547203 ) - weight 157 5 1.0000000000 ( -0.0000050077 -0.1461132765 0.4810087681 ) - weight 158 5 1.0000000000 ( -0.0000050099 0.9571917057 -0.6301112771 ) - weight 159 5 1.0000000000 ( -0.0000050101 0.7253117561 -0.7149202824 ) - weight 160 13 1.0000000000 ( 0.0463922694 0.2802905738 0.0442494527 ) - weight 161 14 1.0000000000 ( -0.0833840296 0.1214815676 -0.0192015376 ) - weight 162 14 1.0000000000 ( 0.0629921705 0.0621013157 -0.0109975962 ) - weight 163 14 1.0000000000 ( 0.0078901183 0.1220878735 -0.0677610263 ) - weight 164 14 1.0000000000 ( 0.0586328134 0.0691661835 0.0422012955 ) - weight 165 13 1.0000000000 ( -0.0808355883 0.2192443162 -0.0167187303 ) - weight 166 14 1.0000000000 ( 0.0648868382 -0.0039392626 -0.0091874273 ) - weight 167 14 1.0000000000 ( 0.0605284907 0.0031256007 0.0440113917 ) - weight 168 13 1.0000000000 ( -0.0447062105 0.2124781162 -0.0675422028 ) - weight 169 14 1.0000000000 ( -0.0575735904 0.1254562885 0.0370921977 ) - weight 170 14 1.0000000000 ( 0.0341483541 0.1384596825 0.0277884044 ) - weight 171 14 1.0000000000 ( 0.0385019891 0.1325671673 -0.0181709044 ) - weight 172 14 1.0000000000 ( -0.0512700044 0.1189182401 -0.0701737031 ) - weight 173 14 1.0000000000 ( 0.1303148270 0.0502187163 0.0267068148 ) - weight 174 14 1.0000000000 ( 0.1315677762 0.0174156167 0.0183925666 ) - weight 175 14 1.0000000000 ( -0.0207511429 0.1715089679 0.0257847589 ) - weight 176 14 1.0000000000 ( -0.0038252403 0.1857609302 -0.0151947644 ) - weight 177 14 1.0000000000 ( -0.0400343053 0.1766115725 -0.0305401124 ) - weight 178 21 1.0000000000 ( -0.0002869135 0.2120810598 -0.1354150176 ) - weight 179 23 1.0000000000 ( -0.1234615073 -0.1141351983 0.1194030866 ) - weight 180 23 1.0000000000 ( 0.0467823632 0.0643939823 0.1052293852 ) - weight 181 23 1.0000000000 ( 0.1220394522 -0.1072524711 0.0868532360 ) - weight 182 21 1.0000000000 ( 0.0745377094 0.3067426682 -0.0756031498 ) - weight 183 23 1.0000000000 ( 0.1009945646 -0.0980652645 -0.0031518422 ) - weight 184 23 1.0000000000 ( 0.0983374864 -0.0136448871 -0.0031416924 ) - weight 185 23 1.0000000000 ( 0.0367675237 0.0441700891 -0.0024927892 ) - weight 186 23 1.0000000000 ( -0.1123263314 -0.0187586397 0.0045190873 ) - weight 187 23 1.0000000000 ( -0.1028023362 -0.1044807136 -0.0009608676 ) - weight 188 21 1.0000000000 ( -0.0034821164 0.3057115674 -0.1079403907 ) - weight 189 5 1.0000000000 ( -0.7444339991 0.0751547813 -0.0318212323 ) - weight 190 5 1.0000000000 ( -0.7435020208 0.2530076504 -0.0290212333 ) - weight 191 5 1.0000000000 ( -0.7222260237 0.0878257751 -0.0735782310 ) - weight 192 5 1.0000000000 ( -0.7219840288 0.2373116016 -0.0736612305 ) - weight 193 5 1.0000000000 ( -0.6635960340 0.3325855732 -0.0769592300 ) - weight 194 5 1.0000000000 ( -0.4656029940 0.2647736073 0.3577857614 ) - weight 195 5 1.0000000000 ( -0.0000050076 0.3785226345 0.5495947599 ) - weight 196 5 1.0000000000 ( -0.0000050100 0.3182396889 -0.7015962601 ) - weight 197 4 1.0000000000 ( -0.0000050083 0.1964104176 0.1350407004 ) - weight 198 4 1.0000000000 ( -0.1352310032 0.1694433689 -0.0120103117 ) - weight 199 5 1.0000000000 ( -0.3968610168 0.1162166595 -0.4449752271 ) - weight 200 5 1.0000000000 ( -0.0011740075 0.1602315903 0.6320757270 ) - weight 201 5 1.0000000000 ( -0.0000050099 0.1296665668 -0.6253422499 ) - weight 202 5 1.0000000000 ( -0.3449610174 0.0062596798 -0.3619642258 ) - weight 203 5 1.0000000000 ( -0.5977320075 -0.0077822208 -0.0438172296 ) - weight 204 5 1.0000000000 ( -0.4269320071 -0.0125763416 0.3837057650 ) - weight 205 5 1.0000000000 ( -0.0000050075 -0.0224974155 0.5942327380 ) - weight 206 5 1.0000000000 ( -0.0064530098 0.0034856799 -0.4967412055 ) - weight 207 5 1.0000000000 ( -0.6157209873 0.0642697811 -0.0270992331 ) - weight 208 5 1.0000000000 ( -0.6349800229 0.2593867779 -0.0279122330 ) - weight 209 5 1.0000000000 ( -0.5701000094 0.0105457306 0.0549767688 ) - weight 210 5 1.0000000000 ( -0.6129220128 0.1027877331 0.0184877682 ) - weight 211 5 1.0000000000 ( -0.6128450036 0.2897186279 0.0315487683 ) - weight 212 12 1.0000000000 ( -0.1158716232 0.0201270971 0.0491891019 ) - weight 213 12 1.0000000000 ( 0.0872496739 0.1113573015 0.0637981370 ) - weight 214 3 1.0000000000 ( -0.2141140103 0.1201936603 0.1420764774 ) - weight 215 12 1.0000000000 ( -0.0126306918 0.0874328613 0.0986144468 ) - weight 216 4 1.0000000000 ( 0.0438169912 0.0775594711 -0.1045673117 ) - weight 217 3 1.0000000000 ( 0.2205429971 0.0161442142 0.0847542584 ) - weight 218 4 1.0000000000 ( 0.0449609943 0.0962994099 -0.0204623118 ) - weight 219 18 1.0000000000 ( 0.0011799698 -0.0414329879 -0.0338607319 ) - weight 220 4 1.0000000000 ( -0.0440810099 0.0774574280 -0.1045083106 ) - weight 221 4 1.0000000000 ( -0.0431900062 0.0971654654 -0.0186633114 ) - weight 222 23 1.0000000000 ( -0.0025738224 -0.0590697229 -0.0338284336 ) - weight 223 9 1.0000000000 ( -0.0533952340 0.2892489135 -0.0143909361 ) - weight 224 9 1.0000000000 ( 0.0562215634 0.2561028302 0.0456988700 ) - weight 225 3 1.0000000000 ( -0.1545470059 0.2914696336 0.0549230687 ) - weight 226 13 1.0000000000 ( -0.0580988005 0.2712232769 0.0443732589 ) - weight 227 20 1.0000000000 ( -0.1310398579 0.1583033651 0.1291549206 ) - weight 228 21 1.0000000000 ( 0.0949197859 0.2086136490 -0.0965016410 ) - weight 229 23 1.0000000000 ( 0.1216894090 -0.0001581186 0.1038506180 ) - weight 230 18 1.0000000000 ( -0.0590410009 0.0907540843 0.2211083770 ) - weight 231 5 1.0000000000 ( 0.7708590031 0.1625685692 -0.0736192316 ) - weight 232 5 1.0000000000 ( 0.7953590155 0.1624417305 -0.0258412305 ) - weight 233 5 1.0000000000 ( -0.7936379910 0.1624417305 -0.0258412324 ) - weight 234 5 1.0000000000 ( -0.7691379786 0.1625685692 -0.0736192316 ) - weight 235 5 1.0000000000 ( -0.5859230161 0.1645586491 0.0488767661 ) - weight 236 5 1.0000000000 ( 0.5673360229 0.0094766617 0.0599237718 ) - weight 237 2 1.0000000000 ( 0.2439319938 0.0499284454 0.2035437673 ) - weight 238 3 1.0000000000 ( 0.1861609966 0.0953991860 0.1915709078 ) - weight 239 0 1.0000000000 ( 0.3404839933 0.0529571772 0.1671295166 ) - weight 240 4 1.0000000000 ( 0.0705629960 0.0848673582 -0.0615953095 ) - weight 241 0 1.0000000000 ( 0.1762349904 0.0643042326 0.2256545126 ) - weight 242 17 1.0000000000 ( 0.0680590793 -0.1028278694 -0.0648958981 ) - weight 243 15 1.0000000000 ( 0.1383750886 0.3645852506 -0.0049345810 ) - weight 244 9 1.0000000000 ( 0.0795513690 0.1844145805 -0.0157230105 ) - weight 245 9 1.0000000000 ( 0.0432985425 0.1875272989 -0.0675230026 ) - weight 246 9 1.0000000000 ( -0.0445946306 0.2564639151 0.0450837091 ) - weight 247 3 1.0000000000 ( 0.2126979977 0.1201973557 0.1432525218 ) - weight 248 3 1.0000000000 ( 0.1475549936 0.2980909944 0.0494865887 ) - weight 249 4 1.0000000000 ( 0.0482579879 0.1410723925 -0.1014293134 ) - weight 250 4 1.0000000000 ( 0.0117849912 0.1506624222 -0.0038563106 ) - weight 251 4 1.0000000000 ( 0.0117849912 0.1506624222 -0.0038563106 ) - weight 252 4 1.0000000000 ( 0.0117849912 0.1506624222 -0.0038563106 ) - weight 253 5 1.0000000000 ( 0.5045909882 0.7150216103 -0.5220972300 ) - weight 254 5 1.0000000000 ( 0.6948559880 0.7089786530 -0.0778682306 ) - weight 255 5 1.0000000000 ( 0.6948559880 0.7089786530 -0.0778682306 ) - weight 256 5 1.0000000000 ( 0.5167359710 -0.1222293377 -0.0203252304 ) - weight 257 5 1.0000000000 ( 0.5167359710 -0.1222293377 -0.0203252304 ) - weight 258 5 1.0000000000 ( 0.5041099787 0.7030787468 0.3581047654 ) - weight 259 5 1.0000000000 ( 0.5041099787 0.7030787468 0.3581047654 ) - weight 260 5 1.0000000000 ( 0.4698289931 0.2859137058 0.3518387675 ) - weight 261 5 1.0000000000 ( 0.3811949790 -0.1297823191 0.3299477696 ) - weight 262 4 1.0000000000 ( 0.1325989962 0.1678954363 -0.0169863105 ) - weight 263 4 1.0000000000 ( 0.1325989962 0.1678954363 -0.0169863105 ) - weight 264 10 1.0000000000 ( -0.0002098754 0.0546463765 0.0658382475 ) - weight 265 9 1.0000000000 ( -0.0132750943 0.2916550636 -0.0645581484 ) - weight 266 18 1.0000000000 ( 0.0394554958 0.0885941535 0.0973428190 ) - weight 267 18 1.0000000000 ( -0.1282062978 -0.0032369436 0.0986670703 ) - weight 268 17 1.0000000000 ( -0.0343980715 -0.1179947853 -0.0710503906 ) - weight 269 5 1.0000000000 ( 0.6486669779 0.2471966743 -0.0761172324 ) - weight 270 5 1.0000000000 ( 0.6486669779 0.2471966743 -0.0761172324 ) - weight 271 5 1.0000000000 ( 0.4264929891 -0.0116553307 0.3855787814 ) - weight 272 5 1.0000000000 ( 0.3449510038 0.0062587261 -0.3619642258 ) - weight 273 5 1.0000000000 ( 0.5977219939 -0.0077822208 -0.0438172258 ) - weight 274 5 1.0000000000 ( 0.5977219939 -0.0077822208 -0.0438172258 ) - weight 275 5 1.0000000000 ( 0.6096429825 0.2903735638 0.0331927724 ) - weight 276 5 1.0000000000 ( 0.6096429825 0.2903735638 0.0331927724 ) - weight 277 5 1.0000000000 ( 0.6140149832 0.0971865654 0.0184367709 ) - weight 278 3 1.0000000000 ( 0.1538379937 0.3069235086 -0.0582844801 ) - weight 279 3 1.0000000000 ( -0.1861710101 0.0953991860 0.1915709078 ) - weight 280 2 1.0000000000 ( -0.2537190020 0.0219821762 0.2003624737 ) - weight 281 0 1.0000000000 ( 0.0030679922 0.1357972026 0.2502985001 ) - weight 282 0 1.0000000000 ( -0.3399960101 0.0680472255 0.1706835181 ) - weight 283 4 1.0000000000 ( -0.0000050086 0.1022064686 0.0052606883 ) - weight 284 4 1.0000000000 ( -0.0705730096 0.0848673582 -0.0615953095 ) - weight 285 4 1.0000000000 ( -0.0000050088 0.0721414089 -0.1301623136 ) - weight 286 21 1.0000000000 ( -0.1389897615 0.0231919978 -0.0029347057 ) - weight 287 23 1.0000000000 ( -0.0535812676 0.0499770865 0.0058840704 ) - weight 288 14 1.0000000000 ( -0.0017304621 0.0613811798 0.0646476820 ) - weight 289 13 1.0000000000 ( 0.0555704571 0.2862195969 -0.0049750954 ) - weight 290 13 1.0000000000 ( 0.0135755520 0.2865525484 -0.0642039925 ) - weight 291 3 1.0000000000 ( -0.1538820118 0.3067788482 -0.0564772338 ) - weight 292 4 1.0000000000 ( -0.0026890088 0.1482334137 -0.1286133081 ) - weight 293 4 1.0000000000 ( -0.0553100109 0.1402064562 -0.0947723165 ) - weight 294 4 1.0000000000 ( -0.0553100109 0.1402064562 -0.0947723165 ) - weight 295 4 1.0000000000 ( -0.0553100109 0.1402064562 -0.0947723165 ) - weight 296 4 1.0000000000 ( -0.0692200065 0.1349633932 -0.0506333113 ) - weight 297 4 1.0000000000 ( -0.0692200065 0.1349633932 -0.0506333113 ) - weight 298 5 1.0000000000 ( -0.5046010017 0.7150216103 -0.5220972300 ) - weight 299 5 1.0000000000 ( -0.6948660016 0.7089786530 -0.0778682306 ) - weight 300 5 1.0000000000 ( -0.6948660016 0.7089786530 -0.0778682306 ) - weight 301 5 1.0000000000 ( -0.6434710026 0.2211437225 -0.0741632283 ) - weight 302 5 1.0000000000 ( -0.5243380070 -0.1196773052 -0.0272742324 ) - weight 303 5 1.0000000000 ( -0.5041199923 0.7030797005 0.3581047654 ) - weight 304 5 1.0000000000 ( -0.5041199923 0.7030797005 0.3581047654 ) - weight 305 5 1.0000000000 ( -0.3812049925 -0.1297823191 0.3299477696 ) - weight 306 13 1.0000000000 ( -0.0808355883 0.2192443162 -0.0167187303 ) - weight 307 21 1.0000000000 ( -0.0002869135 0.2120810598 -0.1354150176 ) - weight 308 23 1.0000000000 ( 0.0467823632 0.0643939823 0.1052293852 ) - weight 309 23 1.0000000000 ( 0.1220394522 -0.1072524711 0.0868532360 ) - weight 310 5 1.0000000000 ( -0.6635960340 0.3325855732 -0.0769592300 ) - weight 311 5 1.0000000000 ( -0.6635960340 0.3325855732 -0.0769592300 ) - weight 312 5 1.0000000000 ( -0.4656029940 0.2647736073 0.3577857614 ) - weight 313 4 1.0000000000 ( -0.0000050083 0.1964104176 0.1350407004 ) - weight 314 5 1.0000000000 ( -0.3449610174 0.0062596798 -0.3619642258 ) - weight 315 5 1.0000000000 ( -0.5977320075 -0.0077822208 -0.0438172296 ) - weight 316 5 1.0000000000 ( -0.5977320075 -0.0077822208 -0.0438172296 ) - weight 317 5 1.0000000000 ( -0.5701000094 0.0105457306 0.0549767688 ) - weight 318 5 1.0000000000 ( -0.5701000094 0.0105457306 0.0549767688 ) - weight 319 5 1.0000000000 ( -0.6129220128 0.1027877331 0.0184877682 ) - weight 320 5 1.0000000000 ( -0.6128450036 0.2897186279 0.0315487683 ) - weight 321 5 1.0000000000 ( -0.6128450036 0.2897186279 0.0315487683 ) - weight 322 3 1.0000000000 ( -0.2141140103 0.1201936603 0.1420764774 ) - weight 323 4 1.0000000000 ( 0.0715219900 0.1374104023 -0.0627613142 ) - weight 324 4 1.0000000000 ( 0.0715219900 0.1374104023 -0.0627613142 ) - weight 325 5 1.0000000000 ( 0.6196209788 0.0677487850 -0.0317612290 ) - weight 326 5 1.0000000000 ( 0.6196209788 0.0677487850 -0.0317612290 ) - weight 327 18 1.0000000000 ( -0.1133777350 -0.1069344580 0.0901804268 ) - weight 328 18 1.0000000000 ( 0.1313204467 -0.0760601237 0.0959457457 ) - weight 329 0 1.0000000000 ( -0.1762450039 0.0643051863 0.2256545126 ) - weight 330 5 1.0000000000 ( -0.0000050076 0.6810626984 0.5266547203 ) - weight 331 5 1.0000000000 ( -0.0000050077 -0.1461132765 0.4810087681 ) - weight 332 5 1.0000000000 ( -0.0000050101 0.7253117561 -0.7149202824 ) - weight 333 13 1.0000000000 ( 0.0463922694 0.2802905738 0.0442494527 ) - weight 334 13 1.0000000000 ( -0.0447062105 0.2124781162 -0.0675422028 ) - weight 335 23 1.0000000000 ( -0.1234615073 -0.1141351983 0.1194030866 ) - weight 336 4 1.0000000000 ( -0.1352310032 0.1694433689 -0.0120103117 ) - weight 337 4 1.0000000000 ( -0.1352310032 0.1694433689 -0.0120103117 ) - weight 338 4 1.0000000000 ( -0.1352310032 0.1694433689 -0.0120103117 ) - weight 339 5 1.0000000000 ( -0.4269320071 -0.0125763416 0.3837057650 ) - weight 340 5 1.0000000000 ( -0.0064530098 0.0034856799 -0.4967412055 ) - weight 341 5 1.0000000000 ( -0.6157209873 0.0642697811 -0.0270992331 ) - weight 342 5 1.0000000000 ( -0.6157209873 0.0642697811 -0.0270992331 ) - weight 343 4 1.0000000000 ( 0.0438169912 0.0775594711 -0.1045673117 ) - weight 344 4 1.0000000000 ( 0.0449609943 0.0962994099 -0.0204623118 ) - weight 345 4 1.0000000000 ( 0.0449609943 0.0962994099 -0.0204623118 ) - weight 346 4 1.0000000000 ( -0.0440810099 0.0774574280 -0.1045083106 ) - weight 347 4 1.0000000000 ( -0.0431900062 0.0971654654 -0.0186633114 ) - weight 348 4 1.0000000000 ( -0.0431900062 0.0971654654 -0.0186633114 ) - weight 349 9 1.0000000000 ( -0.0533952340 0.2892489135 -0.0143909361 ) - weight 350 9 1.0000000000 ( 0.0562215634 0.2561028302 0.0456988700 ) - weight 351 3 1.0000000000 ( -0.1545470059 0.2914696336 0.0549230687 ) - weight 352 13 1.0000000000 ( -0.0580988005 0.2712232769 0.0443732589 ) - weight 353 21 1.0000000000 ( 0.0949197859 0.2086136490 -0.0965016410 ) - weight 354 23 1.0000000000 ( 0.1216894090 -0.0001581186 0.1038506180 ) - weight 355 18 1.0000000000 ( -0.0590410009 0.0907540843 0.2211083770 ) - weight 356 5 1.0000000000 ( -0.5859230161 0.1645586491 0.0488767661 ) - weight 357 5 1.0000000000 ( 0.5673360229 0.0094766617 0.0599237718 ) - weight 358 5 1.0000000000 ( 0.5673360229 0.0094766617 0.0599237718 ) - weight 359 5 1.0000000000 ( 0.5673360229 0.0094766617 0.0599237718 ) -} - +MD5Version 10 // Parameters used during export: Reorient: False; Scale: 1.0 +commandline "" + +numJoints 25 +numMeshes 1 + +joints { + "mixamorig:Hips" -1 ( 0.0000050068 0.7780786753 0.0214254875 ) ( -0.0000000000 -0.0000000000 -0.0000000000 ) + "mixamorig:Spine" 0 ( 0.0000050068 0.9550809860 0.0204738528 ) ( 0.0026881641 -0.0000000000 -0.0000000000 ) + "mixamorig:Spine1" 1 ( 0.0000050068 1.1615837812 0.0193636138 ) ( 0.0026881683 -0.0000000000 -0.0000000000 ) + "mixamorig:Spine2" 2 ( 0.0000050068 1.3975870609 0.0180947669 ) ( 0.0026881725 -0.0000000000 -0.0000000000 ) + "mixamorig:Neck" 3 ( 0.0000050068 1.6630904675 0.0166673157 ) ( 0.0000000002 -0.0000000000 -0.0000000000 ) + "mixamorig:Head" 4 ( 0.0000050068 2.0578560829 -0.0234697666 ) ( 0.0000000002 -0.0000000000 -0.0000000000 ) + "mixamorig:HeadTop_End" 5 ( 0.0000050068 3.2679605484 -0.1465049684 ) ( 0.0000000002 -0.0000000000 -0.0000000000 ) + "mixamorig:LeftShoulder" 3 ( 0.0778451338 1.6125147343 0.0180834215 ) ( -0.6247026324 -0.3338780999 0.6174114347 ) + "mixamorig:LeftArm" 7 ( 0.2340943515 1.5114883184 0.0209156312 ) ( -0.6420348287 -0.2923028171 0.6572546363 ) + "mixamorig:LeftForeArm" 8 ( 0.4341848195 1.3212496042 0.0088629127 ) ( -0.6482289433 -0.2774304450 0.6426414251 ) + "mixamorig:LeftHand" 9 ( 0.6866635084 1.0953937769 0.0197164454 ) ( -0.6482288837 -0.2774304152 0.6426414847 ) + "mixamorig:RightShoulder" 3 ( -0.0778351203 1.6125147343 0.0152512118 ) ( -0.6133962274 0.3400166035 -0.6286455393 ) + "mixamorig:RightArm" 11 ( -0.2340843379 1.5114883184 0.0124189947 ) ( -0.6434517503 0.2779306769 -0.6561143398 ) + "mixamorig:RightForeArm" 12 ( -0.4341749549 1.3212496042 0.0111083360 ) ( -0.6433499455 0.2774566412 -0.6475695968 ) + "mixamorig:RightHand" 13 ( -0.6866537333 1.0953935385 0.0199788399 ) ( -0.6433498263 0.2774567604 -0.6475695372 ) + "mixamorig:LeftUpLeg" 0 ( 0.1861568242 0.6797347665 0.0169670302 ) ( -0.0002614523 -0.0164730735 0.9997389913 ) + "mixamorig:LeftLeg" 15 ( 0.1965884268 0.3506807387 0.0061202003 ) ( -0.0002619248 -0.0130610233 0.9998278022 ) + "mixamorig:LeftFoot" 16 ( 0.2031211704 0.1030523032 -0.0003499896 ) ( 0.2442932129 -0.3250968158 -0.9099078774 ) + "mixamorig:LeftToeBase" 17 ( 0.1823154092 0.0506515764 0.0369365625 ) ( 0.1743443906 -0.6845366359 -0.6851633191 ) + "mixamorig:LeftToe_End" 18 ( 0.1616981477 0.0506648533 0.0743991286 ) ( 0.1743451357 -0.6845363975 -0.6851633191 ) + "mixamorig:RightUpLeg" 0 ( -0.1861468107 0.6797347665 0.0126473196 ) ( -0.0001303761 0.0082231257 -0.9998407960 ) + "mixamorig:RightLeg" 20 ( -0.1965784132 0.3506806493 0.0072343871 ) ( -0.0000070597 0.0158711169 -0.9997871518 ) + "mixamorig:RightFoot" 21 ( -0.2031111270 0.1030523032 -0.0006308653 ) ( 0.1671799421 0.4092147350 0.8943320513 ) + "mixamorig:RightToeBase" 22 ( -0.1823053807 0.0506510064 0.0560317598 ) ( 0.1307421327 0.6963525414 0.6948363781 ) + "mixamorig:RightToe_End" 23 ( -0.1616881490 0.0506637171 0.1106020957 ) ( 0.1307424605 0.6963524818 0.6948363781 ) +} + +mesh { + shader "Material.001" + + numverts 360 + vert 0 ( 0.9770900011 0.2309870124 ) 0 1 + vert 1 ( 0.6280120015 0.1237249970 ) 1 1 + vert 2 ( 0.6345289946 0.1068750024 ) 2 1 + vert 3 ( 0.6294689775 0.1207150221 ) 3 1 + vert 4 ( 0.6270750165 0.1237490177 ) 4 1 + vert 5 ( 0.9619359970 0.1288509965 ) 5 1 + vert 6 ( 0.6267939806 0.1221429706 ) 6 1 + vert 7 ( 0.6278039813 0.1244599819 ) 7 1 + vert 8 ( 0.6277189851 0.1250759959 ) 8 1 + vert 9 ( 0.6275889874 0.1251239777 ) 9 1 + vert 10 ( 0.6273840070 0.1248769760 ) 10 1 + vert 11 ( 0.6274170280 0.1244670153 ) 11 1 + vert 12 ( 0.6276659966 0.1251080036 ) 12 1 + vert 13 ( 0.6276990175 0.1247619987 ) 13 1 + vert 14 ( 0.6275320053 0.1247850060 ) 14 1 + vert 15 ( 0.5844860077 0.0141670108 ) 15 1 + vert 16 ( 0.9262359738 0.2288500071 ) 16 1 + vert 17 ( 0.8765550256 0.0418639779 ) 17 1 + vert 18 ( 0.8923299909 0.1293950081 ) 18 1 + vert 19 ( 0.6290599704 0.1236950159 ) 19 1 + vert 20 ( 0.6281279922 0.1245719790 ) 20 1 + vert 21 ( 0.6279190183 0.1248049736 ) 21 1 + vert 22 ( 0.6272850037 0.1250529885 ) 22 1 + vert 23 ( 0.6277779937 0.1249799728 ) 23 1 + vert 24 ( 0.1929789931 0.8408509940 ) 24 1 + vert 25 ( 0.1771589965 0.9808309991 ) 25 1 + vert 26 ( 0.4022620022 0.9350420013 ) 26 1 + vert 27 ( 0.4366309941 0.9020529985 ) 27 1 + vert 28 ( 0.6284980178 0.1200129986 ) 28 1 + vert 29 ( 0.2793749869 0.7931790054 ) 29 1 + vert 30 ( 0.9767739773 0.1109529734 ) 30 1 + vert 31 ( 0.6172839999 0.1166309714 ) 31 1 + vert 32 ( 0.3981139958 0.4433689713 ) 32 1 + vert 33 ( 0.3689439893 0.2599049807 ) 33 1 + vert 34 ( 0.6660386324 0.3566115499 ) 34 1 + vert 35 ( 0.7027752399 0.3440144658 ) 35 1 + vert 36 ( 0.1389996111 0.0135309696 ) 36 1 + vert 37 ( 0.1603786498 0.0651845336 ) 37 1 + vert 38 ( 0.4172109962 0.4506959915 ) 38 1 + vert 39 ( 0.6661924720 0.3876863718 ) 39 1 + vert 40 ( 0.7041609883 0.4037358165 ) 40 1 + vert 41 ( 0.0421696305 0.0356623530 ) 41 1 + vert 42 ( 0.3640710115 0.3078100085 ) 42 1 + vert 43 ( 0.6439904571 0.4093347192 ) 43 1 + vert 44 ( 0.6606106162 0.4438698292 ) 44 1 + vert 45 ( 0.3638960123 0.1557689905 ) 45 1 + vert 46 ( 0.3605380058 0.2527520061 ) 46 1 + vert 47 ( 0.3427940011 0.3544380069 ) 47 1 + vert 48 ( 0.3759880066 0.3210170269 ) 48 1 + vert 49 ( 0.3811979890 0.4251279831 ) 49 1 + vert 50 ( 0.3842659891 0.8901999965 ) 50 1 + vert 51 ( 0.3785459995 0.8891329989 ) 51 1 + vert 52 ( 0.6258339882 0.1211379766 ) 52 1 + vert 53 ( 0.3810040057 0.8677999973 ) 53 1 + vert 54 ( 0.3707079887 0.8718049973 ) 54 1 + vert 55 ( 0.3819220066 0.8358670026 ) 55 1 + vert 56 ( 0.3483920097 0.8548330069 ) 56 1 + vert 57 ( 0.6258339882 0.1211370230 ) 57 1 + vert 58 ( 0.3800359964 0.8845999986 ) 58 1 + vert 59 ( 0.3783299923 0.8806720003 ) 59 1 + vert 60 ( 0.3872820139 0.8811160028 ) 60 1 + vert 61 ( 0.3822369874 0.8789430037 ) 61 1 + vert 62 ( 0.3885929883 0.8864990026 ) 62 1 + vert 63 ( 0.3722690046 0.8641059995 ) 63 1 + vert 64 ( 0.3723649979 0.8620190024 ) 64 1 + vert 65 ( 0.3821539879 0.8834739998 ) 65 1 + vert 66 ( 0.3833589852 0.8852609992 ) 66 1 + vert 67 ( 0.1410059929 0.9049080014 ) 67 1 + vert 68 ( 0.0966409966 0.9468900003 ) 68 1 + vert 69 ( 0.0561060011 0.8406559974 ) 69 1 + vert 70 ( 0.1553100049 0.8000580072 ) 70 1 + vert 71 ( 0.1400219947 0.8402269930 ) 71 1 + vert 72 ( 0.1138530001 0.8421600014 ) 72 1 + vert 73 ( 0.0970600024 0.8607649952 ) 73 1 + vert 74 ( 0.0946189985 0.8864549994 ) 74 1 + vert 75 ( 0.1159150004 0.9006400034 ) 75 1 + vert 76 ( 0.1577479988 0.8849460036 ) 76 1 + vert 77 ( 0.1580969989 0.8594820052 ) 77 1 + vert 78 ( 0.0625320002 0.6487930119 ) 78 1 + vert 79 ( 0.0544370003 0.6221770048 ) 79 1 + vert 80 ( 0.0709389970 0.6446329951 ) 80 1 + vert 81 ( 0.0642590001 0.6206119955 ) 81 1 + vert 82 ( 0.4915809929 0.2518169880 ) 82 1 + vert 83 ( 0.1726122499 0.0897893906 ) 83 1 + vert 84 ( 0.3437370062 0.3190500140 ) 84 1 + vert 85 ( 0.4043140113 0.4421190023 ) 85 1 + vert 86 ( 0.4561789930 0.3619400263 ) 86 1 + vert 87 ( 0.3798719943 0.4756839871 ) 87 1 + vert 88 ( 0.0695969984 0.5694989860 ) 88 1 + vert 89 ( 0.4506610036 0.2520239949 ) 89 1 + vert 90 ( 0.0263630003 0.6900230050 ) 90 1 + vert 91 ( 0.6276289821 0.1250270009 ) 91 1 + vert 92 ( 0.2008090019 0.8977760002 ) 92 1 + vert 93 ( 0.9607030153 0.0021219850 ) 93 1 + vert 94 ( 0.6288570166 0.1259790063 ) 94 1 + vert 95 ( 0.6319339871 0.1272889972 ) 95 1 + vert 96 ( 0.6281350255 0.1265770197 ) 96 1 + vert 97 ( 0.7894579768 0.1288509965 ) 97 1 + vert 98 ( 0.8756970167 0.2174919844 ) 98 1 + vert 99 ( 0.6532779932 0.1152070165 ) 99 1 + vert 100 ( 0.6282160282 0.1255609989 ) 100 1 + vert 101 ( 0.6277480125 0.1251530051 ) 101 1 + vert 102 ( 0.7727810144 0.2414770126 ) 102 1 + vert 103 ( 0.6273130178 0.1252719760 ) 103 1 + vert 104 ( 0.6275830269 0.1251710057 ) 104 1 + vert 105 ( 0.7523630261 0.3643490076 ) 105 1 + vert 106 ( 0.6279199719 0.1258109808 ) 106 1 + vert 107 ( 0.6276860237 0.1251639724 ) 107 1 + vert 108 ( 0.6284040213 0.1248630285 ) 108 1 + vert 109 ( 0.6277520061 0.1251080036 ) 109 1 + vert 110 ( 0.6276770234 0.1251360178 ) 110 1 + vert 111 ( 0.6280540228 0.1249939799 ) 111 1 + vert 112 ( 0.6277949810 0.1254870296 ) 112 1 + vert 113 ( 0.6279379725 0.1254019737 ) 113 1 + vert 114 ( 0.6278619766 0.1250659823 ) 114 1 + vert 115 ( 0.6274809837 0.1251069903 ) 115 1 + vert 116 ( 0.8756970167 0.0103880167 ) 116 1 + vert 117 ( 0.4881300032 0.3988339901 ) 117 1 + vert 118 ( 0.4400950074 0.4895849824 ) 118 1 + vert 119 ( 0.6296809912 0.1253119707 ) 119 1 + vert 120 ( 0.8348699808 0.1288409829 ) 120 1 + vert 121 ( 0.6283879876 0.1252639890 ) 121 1 + vert 122 ( 0.8251060247 0.2293919921 ) 122 1 + vert 123 ( 0.6280760169 0.1252260208 ) 123 1 + vert 124 ( 0.8126369715 0.3676660061 ) 124 1 + vert 125 ( 0.6278579831 0.1251860261 ) 125 1 + vert 126 ( 0.6275569797 0.1252970099 ) 126 1 + vert 127 ( 0.2312439978 0.8272600025 ) 127 1 + vert 128 ( 0.6276999712 0.1252350211 ) 128 1 + vert 129 ( 0.6289139986 0.1293590069 ) 129 1 + vert 130 ( 0.6289160252 0.1293579936 ) 130 1 + vert 131 ( 0.3191629946 0.8554199934 ) 131 1 + vert 132 ( 0.6388469934 0.1547129750 ) 132 1 + vert 133 ( 0.6444680095 0.1343740225 ) 133 1 + vert 134 ( 0.6274279952 0.1284369826 ) 134 1 + vert 135 ( 0.4257969856 0.4489369988 ) 135 1 + vert 136 ( 0.4019640088 0.3519570231 ) 136 1 + vert 137 ( 0.4873979986 0.1361770034 ) 137 1 + vert 138 ( 0.6447083354 0.3277802467 ) 138 1 + vert 139 ( 0.6268743873 0.3713766336 ) 139 1 + vert 140 ( 0.6092867851 0.3333960176 ) 140 1 + vert 141 ( 0.5919111967 0.2986634970 ) 141 1 + vert 142 ( 0.3658135533 0.0130164623 ) 142 1 + vert 143 ( 0.3437762558 0.0652713180 ) 143 1 + vert 144 ( 0.4568969905 0.4110100269 ) 144 1 + vert 145 ( 0.5873978734 0.3554539680 ) 145 1 + vert 146 ( 0.5490666032 0.3402915597 ) 146 1 + vert 147 ( 0.4605230093 0.0344183445 ) 147 1 + vert 148 ( 0.4237800837 0.0960637927 ) 148 1 + vert 149 ( 0.4879930019 0.3997430205 ) 149 1 + vert 150 ( 0.5880622864 0.3864561319 ) 150 1 + vert 151 ( 0.5520027876 0.3994416595 ) 151 1 + vert 152 ( 0.1267140061 0.1523479819 ) 152 1 + vert 153 ( 0.1492120028 0.3544380069 ) 153 1 + vert 154 ( 0.6091287136 0.4147571325 ) 154 1 + vert 155 ( 0.5975006223 0.4431831241 ) 155 1 + vert 156 ( 0.5779694319 0.4909285307 ) 156 1 + vert 157 ( 0.2460030019 0.3558310270 ) 157 1 + vert 158 ( 0.6567584276 0.2983228564 ) 158 1 + vert 159 ( 0.6746314168 0.2546311021 ) 159 1 + vert 160 ( 0.6289150119 0.1293590069 ) 160 1 + vert 161 ( 0.3650270104 0.8906970024 ) 161 1 + vert 162 ( 0.3682929873 0.8682879955 ) 162 1 + vert 163 ( 0.3620750010 0.8816469982 ) 163 1 + vert 164 ( 0.3785890043 0.8722939938 ) 164 1 + vert 165 ( 0.6289250255 0.1293600202 ) 165 1 + vert 166 ( 0.3673749864 0.8363559991 ) 166 1 + vert 167 ( 0.4009050131 0.8553210050 ) 167 1 + vert 168 ( 0.6289250255 0.1293730140 ) 168 1 + vert 169 ( 0.3707529902 0.8896239996 ) 169 1 + vert 170 ( 0.3709670007 0.8811599985 ) 170 1 + vert 171 ( 0.3670600057 0.8794310018 ) 171 1 + vert 172 ( 0.3607040048 0.8869879991 ) 172 1 + vert 173 ( 0.3770259917 0.8645929992 ) 173 1 + vert 174 ( 0.3769269884 0.8625030071 ) 174 1 + vert 175 ( 0.3692579865 0.8850919977 ) 175 1 + vert 176 ( 0.3671439886 0.8839619979 ) 176 1 + vert 177 ( 0.3659380078 0.8857500032 ) 177 1 + vert 178 ( 0.1550669968 0.9419599995 ) 178 1 + vert 179 ( 0.1960739940 0.9030029997 ) 179 1 + vert 180 ( 0.6276919842 0.1252430081 ) 180 1 + vert 181 ( 0.0593810007 0.9045839980 ) 181 1 + vert 182 ( 0.1144220009 0.9042780027 ) 182 1 + vert 183 ( 0.0957439989 0.8894170001 ) 183 1 + vert 184 ( 0.0928639993 0.8642549962 ) 184 1 + vert 185 ( 0.1105709970 0.8472200036 ) 185 1 + vert 186 ( 0.1562670022 0.8587670028 ) 186 1 + vert 187 ( 0.1559319943 0.8851289973 ) 187 1 + vert 188 ( 0.1393499970 0.9052110016 ) 188 1 + vert 189 ( 0.0604659989 0.6426970065 ) 189 1 + vert 190 ( 0.0575169995 0.6145370007 ) 190 1 + vert 191 ( 0.0698840022 0.6406809986 ) 191 1 + vert 192 ( 0.0675899982 0.6152510047 ) 192 1 + vert 193 ( 0.0113709997 0.2589859962 ) 193 1 + vert 194 ( 0.1399970055 0.2594069839 ) 194 1 + vert 195 ( 0.2460030019 0.2340459824 ) 195 1 + vert 196 ( 0.2524371743 0.0557144284 ) 196 1 + vert 197 ( 0.2536570132 0.4331889749 ) 197 1 + vert 198 ( 0.3362450004 0.0372470021 ) 198 1 + vert 199 ( 0.3329065442 0.0890851021 ) 199 1 + vert 200 ( 0.2460030019 0.2827500105 ) 200 1 + vert 201 ( 0.2526259422 0.0799843669 ) 201 1 + vert 202 ( 0.3286344111 0.1076187491 ) 202 1 + vert 203 ( 0.0505100004 0.3663420081 ) 203 1 + vert 204 ( 0.1610649973 0.3217980266 ) 204 1 + vert 205 ( 0.2460030019 0.3192819953 ) 205 1 + vert 206 ( 0.2541404068 0.1028505564 ) 206 1 + vert 207 ( 0.4818849862 0.3736709952 ) 207 1 + vert 208 ( 0.0809919983 0.5675910115 ) 208 1 + vert 209 ( 0.0806230009 0.3518000245 ) 209 1 + vert 210 ( 0.4475649893 0.4347280264 ) 210 1 + vert 211 ( 0.4620740116 0.3537070155 ) 211 1 + vert 212 ( 0.6317139864 0.1284459829 ) 212 1 + vert 213 ( 0.6280450225 0.1287209988 ) 213 1 + vert 214 ( 0.7746189833 0.1109529734 ) 214 1 + vert 215 ( 0.6289780140 0.1279810071 ) 215 1 + vert 216 ( 0.6955029964 0.0293049812 ) 216 1 + vert 217 ( 0.6253359914 0.1227399707 ) 217 1 + vert 218 ( 0.5816770196 0.0927789807 ) 218 1 + vert 219 ( 0.1275420040 0.8719480038 ) 219 1 + vert 220 ( 0.7414439917 0.1526179910 ) 220 1 + vert 221 ( 0.6143440008 0.1797749996 ) 221 1 + vert 222 ( 0.1245450005 0.8749449998 ) 222 1 + vert 223 ( 0.6258360147 0.1211370230 ) 223 1 + vert 224 ( 0.3505359888 0.9358170033 ) 224 1 + vert 225 ( 0.8096579909 0.0429260135 ) 225 1 + vert 226 ( 0.6289139986 0.1293590069 ) 226 1 + vert 227 ( 0.6276180148 0.1252030134 ) 227 1 + vert 228 ( 0.0981490016 0.9462199993 ) 228 1 + vert 229 ( 0.6277040243 0.1252470016 ) 229 1 + vert 230 ( 0.0186180007 0.9150779992 ) 230 1 + vert 231 ( 0.0649780035 0.6335799992 ) 231 1 + vert 232 ( 0.0589819998 0.6355690062 ) 232 1 + vert 233 ( 0.0594930016 0.6292249858 ) 233 1 + vert 234 ( 0.0660500005 0.6284390092 ) 234 1 + vert 235 ( 0.0651919991 0.3043059707 ) 235 1 + vert 236 ( 0.4205529988 0.3454099894 ) 236 1 + vert 237 ( 0.6263669729 0.1244400144 ) 237 1 + vert 238 ( 0.6234359741 0.1237630248 ) 238 1 + vert 239 ( 0.9990299940 0.3643490076 ) 239 1 + vert 240 ( 0.3445369899 0.4483079910 ) 240 1 + vert 241 ( 0.9387570024 0.3676660061 ) 241 1 + vert 242 ( 0.6276410222 0.1250360012 ) 242 1 + vert 243 ( 0.6276410222 0.1250560284 ) 243 1 + vert 244 ( 0.6258500218 0.1211190224 ) 244 1 + vert 245 ( 0.6258320212 0.1211040020 ) 245 1 + vert 246 ( 0.6258320212 0.1211410165 ) 246 1 + vert 247 ( 0.6232309937 0.1226410270 ) 247 1 + vert 248 ( 0.9401900172 0.0425660014 ) 248 1 + vert 249 ( 0.4459069967 0.4552189708 ) 249 1 + vert 250 ( 0.3984790146 0.3889309764 ) 250 1 + vert 251 ( 0.2553119957 0.3806899786 ) 251 1 + vert 252 ( 0.3689439893 0.2599049807 ) 252 1 + vert 253 ( 0.7483572364 0.3297877908 ) 253 1 + vert 254 ( 0.7469862700 0.4222422838 ) 254 1 + vert 255 ( 0.4960930049 0.1402699947 ) 255 1 + vert 256 ( 0.4066590071 0.4814119935 ) 256 1 + vert 257 ( 0.4271129966 0.3943110108 ) 257 1 + vert 258 ( 0.3731999993 0.1485310197 ) 258 1 + vert 259 ( 0.6828961372 0.4872912169 ) 259 1 + vert 260 ( 0.3644340038 0.2510650158 ) 260 1 + vert 261 ( 0.3379189968 0.3492659926 ) 261 1 + vert 262 ( 0.2115100026 0.3792759776 ) 262 1 + vert 263 ( 0.3270049989 0.4265609980 ) 263 1 + vert 264 ( 0.3580130041 0.8870590031 ) 264 1 + vert 265 ( 0.4301339984 0.8549319953 ) 265 1 + vert 266 ( 0.6276299953 0.1250450015 ) 266 1 + vert 267 ( 0.6276249886 0.1250349879 ) 267 1 + vert 268 ( 0.6276370287 0.1250309944 ) 268 1 + vert 269 ( 0.0796861947 0.0949854255 ) 269 1 + vert 270 ( 0.1094729975 0.5613940060 ) 270 1 + vert 271 ( 0.3494420052 0.3227739930 ) 271 1 + vert 272 ( 0.1775498390 0.1082749963 ) 272 1 + vert 273 ( 0.3916580081 0.4803019762 ) 273 1 + vert 274 ( 0.1219109967 0.7397130132 ) 274 1 + vert 275 ( 0.0150539996 0.5661869943 ) 275 1 + vert 276 ( 0.4209469855 0.3505399823 ) 276 1 + vert 277 ( 0.4469589889 0.4331520200 ) 277 1 + vert 278 ( 0.6167619824 0.0958999991 ) 278 1 + vert 279 ( 0.6253830194 0.1289579868 ) 279 1 + vert 280 ( 0.6272040009 0.1264169812 ) 280 1 + vert 281 ( 0.8756970167 0.3414480090 ) 281 1 + vert 282 ( 0.6276220083 0.1255369782 ) 282 1 + vert 283 ( 0.3894360065 0.3493469954 ) 283 1 + vert 284 ( 0.6682329774 0.2370920181 ) 284 1 + vert 285 ( 0.7451130152 0.0810130239 ) 285 1 + vert 286 ( 0.6277009845 0.1252179742 ) 286 1 + vert 287 ( 0.1358039975 0.8401570022 ) 287 1 + vert 288 ( 0.3858850002 0.8867010027 ) 288 1 + vert 289 ( 0.3582699895 0.7582779974 ) 289 1 + vert 290 ( 0.6289150119 0.1293590069 ) 290 1 + vert 291 ( 0.7916359901 0.0025309920 ) 291 1 + vert 292 ( 0.4516420066 0.4454410076 ) 292 1 + vert 293 ( 0.4617660046 0.4410409927 ) 293 1 + vert 294 ( 0.4439600110 0.4271969795 ) 294 1 + vert 295 ( 0.1335480064 0.4531610012 ) 295 1 + vert 296 ( 0.4413880110 0.4011240005 ) 296 1 + vert 297 ( 0.4018290043 0.3278620243 ) 297 1 + vert 298 ( 0.5693684816 0.2565689683 ) 298 1 + vert 299 ( 0.5055488944 0.3234776855 ) 299 1 + vert 300 ( 0.0037580000 0.1478310227 ) 300 1 + vert 301 ( 0.1231850013 0.5863040090 ) 301 1 + vert 302 ( 0.0782629997 0.3964080215 ) 302 1 + vert 303 ( 0.1281100065 0.1557689905 ) 303 1 + vert 304 ( 0.5056744218 0.4147952795 ) 304 1 + vert 305 ( 0.1676200032 0.3516579866 ) 305 1 + vert 306 ( 0.3470360041 0.9355280027 ) 306 1 + vert 307 ( 0.6277149916 0.1252350211 ) 307 1 + vert 308 ( 0.0900750011 0.8031409979 ) 308 1 + vert 309 ( 0.6277120113 0.1252499819 ) 309 1 + vert 310 ( 0.4333678484 0.0820311904 ) 310 1 + vert 311 ( 0.1109289974 0.5051110089 ) 311 1 + vert 312 ( 0.1322540045 0.2574980259 ) 312 1 + vert 313 ( 0.2574259937 0.4273149967 ) 313 1 + vert 314 ( 0.4483200014 0.3981130123 ) 314 1 + vert 315 ( 0.4865030050 0.3854569793 ) 315 1 + vert 316 ( 0.1033670008 0.7451390028 ) 316 1 + vert 317 ( 0.0476320013 0.7256459892 ) 317 1 + vert 318 ( 0.4685730040 0.4793140292 ) 318 1 + vert 319 ( 0.0166549999 0.6725839972 ) 319 1 + vert 320 ( 0.0241529997 0.5575430095 ) 320 1 + vert 321 ( 0.0548859984 0.2560560107 ) 321 1 + vert 322 ( 0.6259930134 0.1299329996 ) 322 1 + vert 323 ( 0.4460049868 0.4623540044 ) 323 1 + vert 324 ( 0.3829610050 0.3183860183 ) 324 1 + vert 325 ( 0.1038580015 0.6833919883 ) 325 1 + vert 326 ( 0.0899780691 0.1195011139 ) 326 1 + vert 327 ( 0.1006100029 0.8047830015 ) 327 1 + vert 328 ( 0.6276400089 0.1250410080 ) 328 1 + vert 329 ( 0.6274359822 0.1254559755 ) 329 1 + vert 330 ( 0.2460030019 0.1686859727 ) 330 1 + vert 331 ( 0.2526209950 0.3444650173 ) 331 1 + vert 332 ( 0.2522003353 0.0025228262 ) 332 1 + vert 333 ( 0.4699220061 0.7936670035 ) 333 1 + vert 334 ( 0.3126710057 0.9025399983 ) 334 1 + vert 335 ( 0.6277109981 0.1252300143 ) 335 1 + vert 336 ( 0.1801899970 0.4283540249 ) 336 1 + vert 337 ( 0.3003309965 0.3764070272 ) 337 1 + vert 338 ( 0.4704709947 0.1426770091 ) 338 1 + vert 339 ( 0.1425929964 0.3229569793 ) 339 1 + vert 340 ( 0.4222159982 0.4160159826 ) 340 1 + vert 341 ( 0.0937429965 0.6905100048 ) 341 1 + vert 342 ( 0.4166484177 0.1181108952 ) 342 1 + vert 343 ( 0.3908190131 0.4905909896 ) 343 1 + vert 344 ( 0.8982509971 0.0058349967 ) 344 1 + vert 345 ( 0.3450439870 0.3811349869 ) 345 1 + vert 346 ( 0.4786790013 0.4594330192 ) 346 1 + vert 347 ( 0.8539239764 0.0056009889 ) 347 1 + vert 348 ( 0.4443129897 0.3469979763 ) 348 1 + vert 349 ( 0.3910270035 0.7577899992 ) 349 1 + vert 350 ( 0.6258360147 0.1211379766 ) 350 1 + vert 351 ( 0.6244940162 0.1396149993 ) 351 1 + vert 352 ( 0.4231719971 0.9866469996 ) 352 1 + vert 353 ( 0.6277149916 0.1252409816 ) 353 1 + vert 354 ( 0.0524270013 0.8491390049 ) 354 1 + vert 355 ( 0.6276180148 0.1250439882 ) 355 1 + vert 356 ( 0.4738889933 0.4092710018 ) 356 1 + vert 357 ( 0.4270829856 0.4775859714 ) 357 1 + vert 358 ( 0.4205529988 0.3454099894 ) 358 1 + vert 359 ( 0.0646610036 0.7349320054 ) 359 1 + + numtris 470 + tri 0 99 108 19 + tri 1 11 237 4 + tri 2 216 278 15 + tri 3 182 183 222 + tri 4 120 17 18 + tri 5 238 247 217 + tri 6 75 68 74 + tri 7 216 285 99 + tri 8 5 248 30 + tri 9 72 71 219 + tri 10 237 238 217 + tri 11 241 281 16 + tri 12 347 116 17 + tri 13 212 95 133 + tri 14 1 3 19 + tri 15 93 248 344 + tri 16 3 6 28 + tri 17 126 227 180 + tri 18 183 184 222 + tri 19 34 39 139 + tri 20 249 256 38 + tri 21 256 249 323 + tri 22 251 313 262 + tri 23 144 293 340 + tri 24 43 154 139 + tri 25 331 197 305 + tri 26 312 200 339 + tri 27 73 72 219 + tri 28 58 51 264 + tri 29 55 64 56 + tri 30 224 264 51 + tri 31 56 54 264 + tri 32 76 92 67 + tri 33 54 63 53 + tri 34 66 58 65 + tri 35 325 274 359 + tri 36 67 92 25 + tri 37 71 77 219 + tri 38 10 91 267 + tri 39 266 9 355 + tri 40 230 74 68 + tri 41 75 74 219 + tri 42 76 67 219 + tri 43 325 88 270 + tri 44 77 76 219 + tri 45 74 73 219 + tri 46 67 75 219 + tri 47 99 220 133 + tri 48 28 6 350 + tri 49 231 81 88 + tri 50 96 215 134 + tri 51 200 195 260 + tri 52 144 340 314 + tri 53 251 337 313 + tri 54 200 312 195 + tri 55 223 247 31 + tri 56 23 328 242 + tri 57 2 278 216 + tri 58 220 284 132 + tri 59 108 121 111 + tri 60 106 96 280 + tri 61 280 134 279 + tri 62 126 282 329 + tri 63 17 225 347 + tri 64 205 200 271 + tri 65 286 227 107 + tri 66 139 140 138 + tri 67 117 296 348 + tri 68 355 115 10 + tri 69 6 4 217 + tri 70 335 101 125 + tri 71 243 12 9 + tri 72 132 133 220 + tri 73 225 291 347 + tri 74 134 215 213 + tri 75 213 322 134 + tri 76 95 212 215 + tri 77 162 171 163 + tri 78 39 43 139 + tri 79 145 139 150 + tri 80 139 154 150 + tri 81 295 302 336 + tri 82 351 130 290 + tri 83 139 145 140 + tri 84 164 288 170 + tri 85 204 235 194 + tri 86 139 138 34 + tri 87 290 168 351 + tri 88 352 169 288 + tri 89 167 288 164 + tri 90 179 187 186 + tri 91 172 177 161 + tri 92 167 333 288 + tri 93 175 177 176 + tri 94 164 162 173 + tri 95 170 176 171 + tri 96 28 2 3 + tri 97 188 182 222 + tri 98 186 287 127 + tri 99 125 307 335 + tri 100 185 287 222 + tri 101 186 187 222 + tri 102 187 188 222 + tri 103 184 185 222 + tri 104 287 186 222 + tri 105 2 216 99 + tri 106 220 99 285 + tri 107 237 217 4 + tri 108 322 213 130 + tri 109 96 134 280 + tri 110 248 17 344 + tri 111 121 108 119 + tri 112 52 6 246 + tri 113 14 91 10 + tri 114 357 276 277 + tri 115 189 233 190 + tri 116 234 208 192 + tri 117 317 189 319 + tri 118 321 194 235 + tri 119 208 311 320 + tri 120 208 301 311 + tri 121 208 341 301 + tri 122 356 210 211 + tri 123 210 356 318 + tri 124 316 341 317 + tri 125 271 260 89 + tri 126 275 270 88 + tri 127 2 99 3 + tri 128 150 154 151 + tri 129 343 240 32 + tri 130 107 227 110 + tri 131 115 103 22 + tri 132 278 218 15 + tri 133 18 16 98 + tri 134 18 5 16 + tri 135 3 1 6 + tri 136 118 343 135 + tri 137 345 283 250 + tri 138 109 101 110 + tri 139 12 8 110 + tri 140 108 20 19 + tri 141 104 9 110 + tri 142 21 20 111 + tri 143 201 206 83 + tri 144 13 7 21 + tri 145 114 109 23 + tri 146 7 13 11 + tri 147 227 126 104 + tri 148 14 10 11 + tri 149 114 125 109 + tri 150 23 21 114 + tri 151 240 345 49 + tri 152 196 143 201 + tri 153 281 98 16 + tri 154 9 115 355 + tri 155 115 9 104 + tri 156 108 99 119 + tri 157 17 248 18 + tri 158 239 241 0 + tri 159 125 113 353 + tri 160 18 98 120 + tri 161 118 135 346 + tri 162 281 124 122 + tri 163 111 123 114 + tri 164 36 332 37 + tri 165 67 68 75 + tri 166 324 252 48 + tri 167 61 53 60 + tri 168 322 279 134 + tri 169 35 253 40 + tri 170 296 250 348 + tri 171 69 327 73 + tri 172 158 141 159 + tri 173 196 201 37 + tri 174 253 35 159 + tri 175 330 195 303 + tri 176 140 141 138 + tri 177 158 35 138 + tri 178 271 89 358 + tri 179 36 37 41 + tri 180 263 261 257 + tri 181 37 83 269 + tri 182 83 272 326 + tri 183 89 260 258 + tri 184 320 319 190 + tri 185 340 292 249 + tri 186 249 38 340 + tri 187 330 45 195 + tri 188 331 261 197 + tri 189 200 260 271 + tri 190 48 42 324 + tri 191 55 53 64 + tri 192 297 338 33 + tri 193 60 53 265 + tri 194 245 57 31 + tri 195 54 56 63 + tri 196 60 265 62 + tri 197 51 50 224 + tri 198 50 62 26 + tri 199 29 349 56 + tri 200 66 62 50 + tri 201 61 60 65 + tri 202 59 54 61 + tri 203 265 55 349 + tri 204 29 56 264 + tri 205 62 66 60 + tri 206 50 51 66 + tri 207 58 59 65 + tri 208 54 59 264 + tri 209 65 59 61 + tri 210 92 76 24 + tri 211 355 10 267 + tri 212 81 231 79 + tri 213 74 230 69 + tri 214 243 9 266 + tri 215 68 67 25 + tri 216 23 242 268 + tri 217 275 88 79 + tri 218 80 325 78 + tri 219 43 39 44 + tri 220 78 359 90 + tri 221 43 44 154 + tri 222 31 278 245 + tri 223 155 156 151 + tri 224 155 44 156 + tri 225 44 40 259 + tri 226 34 35 39 + tri 227 201 199 206 + tri 228 293 292 340 + tri 229 85 38 273 + tri 230 261 236 257 + tri 231 205 271 157 + tri 232 340 38 85 + tri 233 205 157 339 + tri 234 141 146 298 + tri 235 90 275 79 + tri 236 70 71 327 + tri 237 6 217 246 + tri 238 74 69 73 + tri 239 77 71 24 + tri 240 244 245 2 + tri 241 350 244 28 + tri 242 100 121 94 + tri 243 247 223 217 + tri 244 113 112 353 + tri 245 284 221 132 + tri 246 119 99 95 + tri 247 296 117 294 + tri 248 113 125 123 + tri 249 96 106 94 + tri 250 120 122 97 + tri 251 95 94 119 + tri 252 96 94 215 + tri 253 107 101 286 + tri 254 100 106 113 + tri 255 21 23 13 + tri 256 280 282 106 + tri 257 105 102 124 + tri 258 151 304 146 + tri 259 97 225 120 + tri 260 225 97 214 + tri 261 10 115 22 + tri 262 282 229 112 + tri 263 113 123 100 + tri 264 12 243 8 + tri 265 226 129 215 + tri 266 180 229 126 + tri 267 188 187 178 + tri 268 140 145 141 + tri 269 146 145 151 + tri 270 144 149 293 + tri 271 199 342 202 + tri 272 302 305 336 + tri 273 143 142 310 + tri 274 143 148 199 + tri 275 209 235 204 + tri 276 321 193 300 + tri 277 213 160 130 + tri 278 137 136 198 + tri 279 169 175 288 + tri 280 129 160 215 + tri 281 174 166 167 + tri 282 166 174 162 + tri 283 166 162 131 + tri 284 163 172 131 + tri 285 169 352 161 + tri 286 161 306 172 + tri 287 183 182 181 + tri 288 333 167 289 + tri 289 162 164 171 + tri 290 289 166 131 + tri 291 172 163 177 + tri 292 175 169 177 + tri 293 128 227 286 + tri 294 176 170 175 + tri 295 184 354 185 + tri 296 174 167 173 + tri 297 188 178 182 + tri 298 183 181 184 + tri 299 287 185 308 + tri 300 176 163 171 + tri 301 320 190 208 + tri 302 179 186 127 + tri 303 353 307 125 + tri 304 227 128 180 + tri 305 317 341 189 + tri 306 192 190 234 + tri 307 341 208 191 + tri 308 215 212 226 + tri 309 196 332 143 + tri 310 310 148 143 + tri 311 302 209 305 + tri 312 314 315 144 + tri 313 168 132 351 + tri 314 322 130 351 + tri 315 132 168 133 + tri 316 133 165 212 + tri 317 115 126 103 + tri 318 122 98 281 + tri 319 7 1 20 + tri 320 116 344 17 + tri 321 8 328 23 + tri 322 200 205 339 + tri 323 4 1 11 + tri 324 91 14 268 + tri 325 6 52 350 + tri 326 223 31 57 + tri 327 231 88 80 + tri 328 268 13 23 + tri 329 90 79 78 + tri 330 80 78 231 + tri 331 78 79 232 + tri 332 233 189 234 + tri 333 197 336 305 + tri 334 121 123 111 + tri 335 288 175 170 + tri 336 99 19 3 + tri 337 154 155 151 + tri 338 240 49 32 + tri 339 227 104 110 + tri 340 5 0 16 + tri 341 1 4 6 + tri 342 343 32 135 + tri 343 101 107 110 + tri 344 8 109 110 + tri 345 9 12 110 + tri 346 20 108 111 + tri 347 206 272 83 + tri 348 7 20 21 + tri 349 109 8 23 + tri 350 13 14 11 + tri 351 126 115 104 + tri 352 10 237 11 + tri 353 125 101 109 + tri 354 21 111 114 + tri 355 345 250 49 + tri 356 143 199 201 + tri 357 248 5 18 + tri 358 241 16 0 + tri 359 98 122 120 + tri 360 135 294 346 + tri 361 123 125 114 + tri 362 332 196 37 + tri 363 253 254 40 + tri 364 250 283 348 + tri 365 327 72 73 + tri 366 141 298 159 + tri 367 201 83 37 + tri 368 35 158 159 + tri 369 195 312 303 + tri 370 141 158 138 + tri 371 35 34 138 + tri 372 37 269 41 + tri 373 83 326 269 + tri 374 85 273 87 + tri 375 89 255 82 + tri 376 89 258 255 + tri 377 319 189 190 + tri 378 45 46 195 + tri 379 261 263 197 + tri 380 53 63 64 + tri 381 53 55 265 + tri 382 56 64 63 + tri 383 265 27 62 + tri 384 50 26 224 + tri 385 62 27 26 + tri 386 349 55 56 + tri 387 54 53 61 + tri 388 66 65 60 + tri 389 51 58 66 + tri 390 59 58 264 + tri 391 76 77 24 + tri 392 231 232 79 + tri 393 88 81 79 + tri 394 325 359 78 + tri 395 39 40 44 + tri 396 44 155 154 + tri 397 156 304 151 + tri 398 44 259 156 + tri 399 40 254 259 + tri 400 35 40 39 + tri 401 199 202 206 + tri 402 38 256 273 + tri 403 257 236 86 + tri 404 261 84 236 + tri 405 271 47 157 + tri 406 157 153 339 + tri 407 146 299 298 + tri 408 71 72 327 + tri 409 71 70 24 + tri 410 245 278 2 + tri 411 244 2 28 + tri 412 121 119 94 + tri 413 223 246 217 + tri 414 112 309 353 + tri 415 99 133 95 + tri 416 117 346 294 + tri 417 106 100 94 + tri 418 122 102 97 + tri 419 94 95 215 + tri 420 101 335 286 + tri 421 106 112 113 + tri 422 282 112 106 + tri 423 102 122 124 + tri 424 304 299 146 + tri 425 225 17 120 + tri 426 229 309 112 + tri 427 123 121 100 + tri 428 243 328 8 + tri 429 229 282 126 + tri 430 187 179 178 + tri 431 145 146 141 + tri 432 145 150 151 + tri 433 207 315 314 + tri 434 142 147 310 + tri 435 148 342 199 + tri 436 321 152 194 + tri 437 321 300 152 + tri 438 160 213 215 + tri 439 174 173 162 + tri 440 162 163 131 + tri 441 172 334 131 + tri 442 352 306 161 + tri 443 306 334 172 + tri 444 182 228 181 + tri 445 167 166 289 + tri 446 164 170 171 + tri 447 163 176 177 + tri 448 169 161 177 + tri 449 354 308 185 + tri 450 167 164 173 + tri 451 178 228 182 + tri 452 181 354 184 + tri 453 190 192 208 + tri 454 341 191 189 + tri 455 190 233 234 + tri 456 208 234 191 + tri 457 332 142 143 + tri 458 305 209 204 + tri 459 302 203 209 + tri 460 315 149 144 + tri 461 168 165 133 + tri 462 165 226 212 + tri 463 126 329 103 + tri 464 1 19 20 + tri 465 1 7 11 + tri 466 14 13 268 + tri 467 88 325 80 + tri 468 78 232 231 + tri 469 189 191 234 + + numweights 360 + weight 0 2 1.0000000000 ( 0.2439319938 0.0499284454 0.2035437673 ) + weight 1 2 1.0000000000 ( 0.2350439876 0.0386660509 -0.1570599973 ) + weight 2 3 1.0000000000 ( 0.1468819976 0.2431893200 -0.1329962164 ) + weight 3 3 1.0000000000 ( 0.1868539900 0.0340141021 -0.1547431201 ) + weight 4 2 1.0000000000 ( 0.2639710009 0.0537303165 0.0159244947 ) + weight 5 3 1.0000000000 ( 0.1861609966 0.0953991860 0.1915709078 ) + weight 6 3 1.0000000000 ( 0.2285970002 -0.0190709401 -0.0142364977 ) + weight 7 1 1.0000000000 ( 0.3034240007 0.0756526217 -0.1794317067 ) + weight 8 15 1.0000000000 ( 0.1355637610 0.1599988341 -0.1184319407 ) + weight 9 15 1.0000000000 ( 0.1309300661 0.1559493095 0.1280044913 ) + weight 10 0 1.0000000000 ( 0.3404839933 0.0529571772 0.1671295166 ) + weight 11 1 1.0000000000 ( 0.3391319811 0.0750562176 0.0016326986 ) + weight 12 15 1.0000000000 ( 0.1489165127 0.1844431013 -0.0088376291 ) + weight 13 0 1.0000000000 ( 0.3395859897 0.0439382195 -0.1631174833 ) + weight 14 0 1.0000000000 ( 0.3889379799 0.0506551862 0.0073615173 ) + weight 15 4 1.0000000000 ( 0.0705629960 0.0848673582 -0.0615953095 ) + weight 16 2 1.0000000000 ( 0.1190169901 0.0599804558 0.2684907317 ) + weight 17 4 1.0000000000 ( 0.0006129916 0.0637564659 0.0699426830 ) + weight 18 3 1.0000000000 ( 0.0385599919 0.1152020395 0.2334879637 ) + weight 19 2 1.0000000000 ( 0.1151029915 0.0728035569 -0.2197413594 ) + weight 20 1 1.0000000000 ( 0.1639789939 0.0782810822 -0.2524156272 ) + weight 21 0 1.0000000000 ( 0.1762349904 0.0837392211 -0.2474874854 ) + weight 22 0 1.0000000000 ( 0.1762349904 0.0643042326 0.2256545126 ) + weight 23 0 1.0000000000 ( 0.1576959938 -0.1277057528 -0.1835524887 ) + weight 24 17 1.0000000000 ( 0.0680590793 -0.1028278694 -0.0648958981 ) + weight 25 15 1.0000000000 ( 0.1383750886 0.3645852506 -0.0049345810 ) + weight 26 9 1.0000000000 ( 0.0795513690 0.1844145805 -0.0157230105 ) + weight 27 9 1.0000000000 ( 0.0432985425 0.1875272989 -0.0675230026 ) + weight 28 3 1.0000000000 ( 0.2132139951 0.0611511469 -0.1208057329 ) + weight 29 9 1.0000000000 ( -0.0445946306 0.2564639151 0.0450837091 ) + weight 30 3 1.0000000000 ( 0.2126979977 0.1201973557 0.1432525218 ) + weight 31 3 1.0000000000 ( 0.1475549936 0.2980909944 0.0494865887 ) + weight 32 4 1.0000000000 ( 0.0482579879 0.1410723925 -0.1014293134 ) + weight 33 4 1.0000000000 ( 0.0117849912 0.1506624222 -0.0038563106 ) + weight 34 5 1.0000000000 ( 0.2498759925 1.1327595711 -0.3092742264 ) + weight 35 5 1.0000000000 ( 0.4259600043 0.9609866142 -0.4556492269 ) + weight 36 5 1.0000000000 ( 0.5045909882 0.7150216103 -0.5220972300 ) + weight 37 5 1.0000000000 ( 0.4640769958 0.3028106689 -0.4996452034 ) + weight 38 5 1.0000000000 ( 0.2884320021 -0.0966032743 -0.2449832261 ) + weight 39 5 1.0000000000 ( 0.3387569785 1.1393196583 -0.0777652338 ) + weight 40 5 1.0000000000 ( 0.5802649856 0.9604737759 -0.0781242326 ) + weight 41 5 1.0000000000 ( 0.6948559880 0.7089786530 -0.0778682306 ) + weight 42 5 1.0000000000 ( 0.5167359710 -0.1222293377 -0.0203252304 ) + weight 43 5 1.0000000000 ( 0.2486589998 1.1295747757 0.1535777748 ) + weight 44 5 1.0000000000 ( 0.4240689874 0.9566686153 0.2969137728 ) + weight 45 5 1.0000000000 ( 0.5041099787 0.7030787468 0.3581047654 ) + weight 46 5 1.0000000000 ( 0.4698289931 0.2859137058 0.3518387675 ) + weight 47 5 1.0000000000 ( 0.3811949790 -0.1297823191 0.3299477696 ) + weight 48 4 1.0000000000 ( 0.1325989962 0.1678954363 -0.0169863105 ) + weight 49 4 1.0000000000 ( 0.0715219900 0.1374104023 -0.0627613142 ) + weight 50 10 1.0000000000 ( 0.0840645060 0.1210490838 -0.0181317534 ) + weight 51 10 1.0000000000 ( 0.0575683862 0.1251404732 0.0378176235 ) + weight 52 10 1.0000000000 ( -0.0002098754 0.0546463765 0.0658382475 ) + weight 53 10 1.0000000000 ( -0.0627470165 0.0624686852 -0.0117829749 ) + weight 54 10 1.0000000000 ( -0.0590158813 0.0695136413 0.0414663106 ) + weight 55 10 1.0000000000 ( -0.0650505200 -0.0035594089 -0.0099945189 ) + weight 56 10 1.0000000000 ( -0.0613203868 0.0034854291 0.0432546213 ) + weight 57 9 1.0000000000 ( -0.0132750943 0.2916550636 -0.0645581484 ) + weight 58 10 1.0000000000 ( 0.0210795142 0.1713905782 0.0260487236 ) + weight 59 10 1.0000000000 ( -0.0339472182 0.1386612058 0.0273602530 ) + weight 60 10 1.0000000000 ( -0.0045190584 0.1215111911 -0.0678469092 ) + weight 61 10 1.0000000000 ( -0.0377568416 0.1327892989 -0.0186499935 ) + weight 62 10 1.0000000000 ( 0.0525807440 0.1186101437 -0.0695190132 ) + weight 63 10 1.0000000000 ( -0.1305689365 0.0510407798 0.0251006410 ) + weight 64 10 1.0000000000 ( -0.1319397390 0.0182728413 0.0168420020 ) + weight 65 10 1.0000000000 ( 0.0048729777 0.1857358515 -0.0151548618 ) + weight 66 10 1.0000000000 ( 0.0411435924 0.1764152050 -0.0300002843 ) + weight 67 18 1.0000000000 ( 0.1038829386 0.0158947278 0.0029720145 ) + weight 68 18 1.0000000000 ( 0.0394554958 0.0885941535 0.0973428190 ) + weight 69 18 1.0000000000 ( -0.1282062978 -0.0032369436 0.0986670703 ) + weight 70 17 1.0000000000 ( -0.0343980715 -0.1179947853 -0.0710503906 ) + weight 71 17 1.0000000000 ( -0.0267230254 -0.0240106471 -0.1161581948 ) + weight 72 18 1.0000000000 ( -0.0953479484 -0.0946307927 -0.0016044304 ) + weight 73 18 1.0000000000 ( -0.1046545953 -0.0106829302 -0.0015861008 ) + weight 74 18 1.0000000000 ( -0.0566503927 0.0627773404 0.0044931932 ) + weight 75 18 1.0000000000 ( 0.0320712924 0.0645642951 -0.0022616275 ) + weight 76 18 1.0000000000 ( 0.1073177084 -0.0721633211 -0.0025780962 ) + weight 77 17 1.0000000000 ( 0.0570398942 -0.0178213380 -0.1072523296 ) + weight 78 5 1.0000000000 ( 0.7447710037 0.0725736618 -0.0303482283 ) + weight 79 5 1.0000000000 ( 0.7426120043 0.2516007423 -0.0305892285 ) + weight 80 5 1.0000000000 ( 0.7222160101 0.0878257751 -0.0735782310 ) + weight 81 5 1.0000000000 ( 0.7219740152 0.2373116016 -0.0736612305 ) + weight 82 5 1.0000000000 ( 0.6486669779 0.2471966743 -0.0761172324 ) + weight 83 5 1.0000000000 ( 0.3968510032 0.1162166595 -0.4449752271 ) + weight 84 5 1.0000000000 ( 0.4264929891 -0.0116553307 0.3855787814 ) + weight 85 5 1.0000000000 ( 0.3449510038 0.0062587261 -0.3619642258 ) + weight 86 5 1.0000000000 ( 0.5977219939 -0.0077822208 -0.0438172258 ) + weight 87 5 1.0000000000 ( 0.6196209788 0.0677487850 -0.0317612290 ) + weight 88 5 1.0000000000 ( 0.6246069670 0.2611856461 -0.0222792309 ) + weight 89 5 1.0000000000 ( 0.6096429825 0.2903735638 0.0331927724 ) + weight 90 5 1.0000000000 ( 0.6140149832 0.0971865654 0.0184367709 ) + weight 91 18 1.0000000000 ( -0.1133777350 -0.1069344580 0.0901804268 ) + weight 92 18 1.0000000000 ( 0.1313204467 -0.0760601237 0.0959457457 ) + weight 93 3 1.0000000000 ( 0.1538379937 0.3069235086 -0.0582844801 ) + weight 94 2 1.0000000000 ( -0.2350540012 0.0386660509 -0.1570599973 ) + weight 95 2 1.0000000000 ( -0.1868640035 0.2700208426 -0.1547431201 ) + weight 96 2 1.0000000000 ( -0.2639810145 0.0537303165 0.0159244929 ) + weight 97 3 1.0000000000 ( -0.1861710101 0.0953991860 0.1915709078 ) + weight 98 2 1.0000000000 ( -0.0000050080 0.0951434374 0.2741678655 ) + weight 99 3 1.0000000000 ( -0.0004480089 0.2667391300 -0.1622940153 ) + weight 100 1 1.0000000000 ( -0.3034340143 0.0756526217 -0.1794317067 ) + weight 101 0 1.0000000000 ( -0.0557330102 -0.2585647106 -0.1282364875 ) + weight 102 2 1.0000000000 ( -0.2537190020 0.0219821762 0.2003624737 ) + weight 103 0 1.0000000000 ( 0.0030679922 0.1357972026 0.2502985001 ) + weight 104 0 1.0000000000 ( -0.0000050083 -0.2192987204 0.1261775196 ) + weight 105 0 1.0000000000 ( -0.3399960101 0.0680472255 0.1706835181 ) + weight 106 1 1.0000000000 ( -0.3391419947 0.0750562176 0.0016326972 ) + weight 107 20 1.0000000000 ( -0.1489012241 0.1841989905 -0.0076375622 ) + weight 108 1 1.0000000000 ( 0.0067869909 0.0901962817 -0.2603986859 ) + weight 109 0 1.0000000000 ( -0.0000050088 -0.2192857265 -0.1325974762 ) + weight 110 15 1.0000000000 ( 0.1910143495 0.1503635943 -0.0099164341 ) + weight 111 0 1.0000000000 ( -0.0000050091 0.0824261904 -0.2682794929 ) + weight 112 0 1.0000000000 ( -0.3884370029 0.0409191847 0.0048475144 ) + weight 113 0 1.0000000000 ( -0.3383989930 0.0429071784 -0.1631864905 ) + weight 114 0 1.0000000000 ( -0.0000050089 -0.0896587372 -0.1991924793 ) + weight 115 0 1.0000000000 ( 0.1318969876 -0.1043447256 0.1910755187 ) + weight 116 4 1.0000000000 ( -0.0000050086 0.1022064686 0.0052606883 ) + weight 117 4 1.0000000000 ( -0.0705730096 0.0848673582 -0.0615953095 ) + weight 118 4 1.0000000000 ( -0.0000050088 0.0721414089 -0.1301623136 ) + weight 119 2 1.0000000000 ( -0.1177550033 0.0740632117 -0.2187535763 ) + weight 120 3 1.0000000000 ( -0.0936910063 0.1105483249 0.2241318226 ) + weight 121 1 1.0000000000 ( -0.1639890075 0.0782810822 -0.2524156272 ) + weight 122 2 1.0000000000 ( -0.1199790090 0.0585936196 0.2680982649 ) + weight 123 0 1.0000000000 ( -0.1762450039 0.0837392211 -0.2474874854 ) + weight 124 0 1.0000000000 ( -0.1762450039 0.0643051863 0.2256545126 ) + weight 125 0 1.0000000000 ( -0.1524530053 -0.1214027405 -0.1853304803 ) + weight 126 0 1.0000000000 ( -0.1447610110 -0.1289037466 0.1825795174 ) + weight 127 21 1.0000000000 ( -0.1389897615 0.0231919978 -0.0029347057 ) + weight 128 23 1.0000000000 ( -0.0535812676 0.0499770865 0.0058840704 ) + weight 129 14 1.0000000000 ( -0.0017304621 0.0613811798 0.0646476820 ) + weight 130 13 1.0000000000 ( 0.0555704571 0.2862195969 -0.0049750954 ) + weight 131 13 1.0000000000 ( 0.0135755520 0.2865525484 -0.0642039925 ) + weight 132 3 1.0000000000 ( -0.1538820118 0.3067788482 -0.0564772338 ) + weight 133 3 1.0000000000 ( -0.1495530009 0.2452591062 -0.1284980327 ) + weight 134 12 1.0000000000 ( 0.0911287814 0.0608176850 0.0854393542 ) + weight 135 4 1.0000000000 ( -0.0026890088 0.1482334137 -0.1286133081 ) + weight 136 4 1.0000000000 ( -0.0553100109 0.1402064562 -0.0947723165 ) + weight 137 4 1.0000000000 ( -0.0692200065 0.1349633932 -0.0506333113 ) + weight 138 5 1.0000000000 ( -0.0000050096 1.1117727757 -0.4507312179 ) + weight 139 5 1.0000000000 ( -0.0000050088 1.2243816853 -0.0775632337 ) + weight 140 5 1.0000000000 ( -0.2498860061 1.1327595711 -0.3092742264 ) + weight 141 5 1.0000000000 ( -0.4259700179 0.9609866142 -0.4556492269 ) + weight 142 5 1.0000000000 ( -0.5046010017 0.7150216103 -0.5220972300 ) + weight 143 5 1.0000000000 ( -0.4609000087 0.2964856625 -0.4992172420 ) + weight 144 5 1.0000000000 ( -0.2884420156 -0.0966032743 -0.2449832261 ) + weight 145 5 1.0000000000 ( -0.3387669921 1.1393196583 -0.0777652338 ) + weight 146 5 1.0000000000 ( -0.5802749991 0.9604737759 -0.0781242326 ) + weight 147 5 1.0000000000 ( -0.6948660016 0.7089786530 -0.0778682306 ) + weight 148 5 1.0000000000 ( -0.6434710026 0.2211437225 -0.0741632283 ) + weight 149 5 1.0000000000 ( -0.5243380070 -0.1196773052 -0.0272742324 ) + weight 150 5 1.0000000000 ( -0.2486690134 1.1295747757 0.1535777748 ) + weight 151 5 1.0000000000 ( -0.4240790009 0.9566686153 0.2969137728 ) + weight 152 5 1.0000000000 ( -0.5041199923 0.7030797005 0.3581047654 ) + weight 153 5 1.0000000000 ( -0.3812049925 -0.1297823191 0.3299477696 ) + weight 154 5 1.0000000000 ( -0.0000050081 1.1044816971 0.2957377732 ) + weight 155 5 1.0000000000 ( -0.0000050078 0.9445097446 0.4667787850 ) + weight 156 5 1.0000000000 ( -0.0000050076 0.6810626984 0.5266547203 ) + weight 157 5 1.0000000000 ( -0.0000050077 -0.1461132765 0.4810087681 ) + weight 158 5 1.0000000000 ( -0.0000050099 0.9571917057 -0.6301112771 ) + weight 159 5 1.0000000000 ( -0.0000050101 0.7253117561 -0.7149202824 ) + weight 160 13 1.0000000000 ( 0.0463922694 0.2802905738 0.0442494527 ) + weight 161 14 1.0000000000 ( -0.0833840296 0.1214815676 -0.0192015376 ) + weight 162 14 1.0000000000 ( 0.0629921705 0.0621013157 -0.0109975962 ) + weight 163 14 1.0000000000 ( 0.0078901183 0.1220878735 -0.0677610263 ) + weight 164 14 1.0000000000 ( 0.0586328134 0.0691661835 0.0422012955 ) + weight 165 13 1.0000000000 ( -0.0808355883 0.2192443162 -0.0167187303 ) + weight 166 14 1.0000000000 ( 0.0648868382 -0.0039392626 -0.0091874273 ) + weight 167 14 1.0000000000 ( 0.0605284907 0.0031256007 0.0440113917 ) + weight 168 13 1.0000000000 ( -0.0447062105 0.2124781162 -0.0675422028 ) + weight 169 14 1.0000000000 ( -0.0575735904 0.1254562885 0.0370921977 ) + weight 170 14 1.0000000000 ( 0.0341483541 0.1384596825 0.0277884044 ) + weight 171 14 1.0000000000 ( 0.0385019891 0.1325671673 -0.0181709044 ) + weight 172 14 1.0000000000 ( -0.0512700044 0.1189182401 -0.0701737031 ) + weight 173 14 1.0000000000 ( 0.1303148270 0.0502187163 0.0267068148 ) + weight 174 14 1.0000000000 ( 0.1315677762 0.0174156167 0.0183925666 ) + weight 175 14 1.0000000000 ( -0.0207511429 0.1715089679 0.0257847589 ) + weight 176 14 1.0000000000 ( -0.0038252403 0.1857609302 -0.0151947644 ) + weight 177 14 1.0000000000 ( -0.0400343053 0.1766115725 -0.0305401124 ) + weight 178 21 1.0000000000 ( -0.0002869135 0.2120810598 -0.1354150176 ) + weight 179 23 1.0000000000 ( -0.1234615073 -0.1141351983 0.1194030866 ) + weight 180 23 1.0000000000 ( 0.0467823632 0.0643939823 0.1052293852 ) + weight 181 23 1.0000000000 ( 0.1220394522 -0.1072524711 0.0868532360 ) + weight 182 21 1.0000000000 ( 0.0745377094 0.3067426682 -0.0756031498 ) + weight 183 23 1.0000000000 ( 0.1009945646 -0.0980652645 -0.0031518422 ) + weight 184 23 1.0000000000 ( 0.0983374864 -0.0136448871 -0.0031416924 ) + weight 185 23 1.0000000000 ( 0.0367675237 0.0441700891 -0.0024927892 ) + weight 186 23 1.0000000000 ( -0.1123263314 -0.0187586397 0.0045190873 ) + weight 187 23 1.0000000000 ( -0.1028023362 -0.1044807136 -0.0009608676 ) + weight 188 21 1.0000000000 ( -0.0034821164 0.3057115674 -0.1079403907 ) + weight 189 5 1.0000000000 ( -0.7444339991 0.0751547813 -0.0318212323 ) + weight 190 5 1.0000000000 ( -0.7435020208 0.2530076504 -0.0290212333 ) + weight 191 5 1.0000000000 ( -0.7222260237 0.0878257751 -0.0735782310 ) + weight 192 5 1.0000000000 ( -0.7219840288 0.2373116016 -0.0736612305 ) + weight 193 5 1.0000000000 ( -0.6635960340 0.3325855732 -0.0769592300 ) + weight 194 5 1.0000000000 ( -0.4656029940 0.2647736073 0.3577857614 ) + weight 195 5 1.0000000000 ( -0.0000050076 0.3785226345 0.5495947599 ) + weight 196 5 1.0000000000 ( -0.0000050100 0.3182396889 -0.7015962601 ) + weight 197 4 1.0000000000 ( -0.0000050083 0.1964104176 0.1350407004 ) + weight 198 4 1.0000000000 ( -0.1352310032 0.1694433689 -0.0120103117 ) + weight 199 5 1.0000000000 ( -0.3968610168 0.1162166595 -0.4449752271 ) + weight 200 5 1.0000000000 ( -0.0011740075 0.1602315903 0.6320757270 ) + weight 201 5 1.0000000000 ( -0.0000050099 0.1296665668 -0.6253422499 ) + weight 202 5 1.0000000000 ( -0.3449610174 0.0062596798 -0.3619642258 ) + weight 203 5 1.0000000000 ( -0.5977320075 -0.0077822208 -0.0438172296 ) + weight 204 5 1.0000000000 ( -0.4269320071 -0.0125763416 0.3837057650 ) + weight 205 5 1.0000000000 ( -0.0000050075 -0.0224974155 0.5942327380 ) + weight 206 5 1.0000000000 ( -0.0064530098 0.0034856799 -0.4967412055 ) + weight 207 5 1.0000000000 ( -0.6157209873 0.0642697811 -0.0270992331 ) + weight 208 5 1.0000000000 ( -0.6349800229 0.2593867779 -0.0279122330 ) + weight 209 5 1.0000000000 ( -0.5701000094 0.0105457306 0.0549767688 ) + weight 210 5 1.0000000000 ( -0.6129220128 0.1027877331 0.0184877682 ) + weight 211 5 1.0000000000 ( -0.6128450036 0.2897186279 0.0315487683 ) + weight 212 12 1.0000000000 ( -0.1158716232 0.0201270971 0.0491891019 ) + weight 213 12 1.0000000000 ( 0.0872496739 0.1113573015 0.0637981370 ) + weight 214 3 1.0000000000 ( -0.2141140103 0.1201936603 0.1420764774 ) + weight 215 12 1.0000000000 ( -0.0126306918 0.0874328613 0.0986144468 ) + weight 216 4 1.0000000000 ( 0.0438169912 0.0775594711 -0.1045673117 ) + weight 217 3 1.0000000000 ( 0.2205429971 0.0161442142 0.0847542584 ) + weight 218 4 1.0000000000 ( 0.0449609943 0.0962994099 -0.0204623118 ) + weight 219 18 1.0000000000 ( 0.0011799698 -0.0414329879 -0.0338607319 ) + weight 220 4 1.0000000000 ( -0.0440810099 0.0774574280 -0.1045083106 ) + weight 221 4 1.0000000000 ( -0.0431900062 0.0971654654 -0.0186633114 ) + weight 222 23 1.0000000000 ( -0.0025738224 -0.0590697229 -0.0338284336 ) + weight 223 9 1.0000000000 ( -0.0533952340 0.2892489135 -0.0143909361 ) + weight 224 9 1.0000000000 ( 0.0562215634 0.2561028302 0.0456988700 ) + weight 225 3 1.0000000000 ( -0.1545470059 0.2914696336 0.0549230687 ) + weight 226 13 1.0000000000 ( -0.0580988005 0.2712232769 0.0443732589 ) + weight 227 20 1.0000000000 ( -0.1310398579 0.1583033651 0.1291549206 ) + weight 228 21 1.0000000000 ( 0.0949197859 0.2086136490 -0.0965016410 ) + weight 229 23 1.0000000000 ( 0.1216894090 -0.0001581186 0.1038506180 ) + weight 230 18 1.0000000000 ( -0.0590410009 0.0907540843 0.2211083770 ) + weight 231 5 1.0000000000 ( 0.7708590031 0.1625685692 -0.0736192316 ) + weight 232 5 1.0000000000 ( 0.7953590155 0.1624417305 -0.0258412305 ) + weight 233 5 1.0000000000 ( -0.7936379910 0.1624417305 -0.0258412324 ) + weight 234 5 1.0000000000 ( -0.7691379786 0.1625685692 -0.0736192316 ) + weight 235 5 1.0000000000 ( -0.5859230161 0.1645586491 0.0488767661 ) + weight 236 5 1.0000000000 ( 0.5673360229 0.0094766617 0.0599237718 ) + weight 237 2 1.0000000000 ( 0.2439319938 0.0499284454 0.2035437673 ) + weight 238 3 1.0000000000 ( 0.1861609966 0.0953991860 0.1915709078 ) + weight 239 0 1.0000000000 ( 0.3404839933 0.0529571772 0.1671295166 ) + weight 240 4 1.0000000000 ( 0.0705629960 0.0848673582 -0.0615953095 ) + weight 241 0 1.0000000000 ( 0.1762349904 0.0643042326 0.2256545126 ) + weight 242 17 1.0000000000 ( 0.0680590793 -0.1028278694 -0.0648958981 ) + weight 243 15 1.0000000000 ( 0.1383750886 0.3645852506 -0.0049345810 ) + weight 244 9 1.0000000000 ( 0.0795513690 0.1844145805 -0.0157230105 ) + weight 245 9 1.0000000000 ( 0.0432985425 0.1875272989 -0.0675230026 ) + weight 246 9 1.0000000000 ( -0.0445946306 0.2564639151 0.0450837091 ) + weight 247 3 1.0000000000 ( 0.2126979977 0.1201973557 0.1432525218 ) + weight 248 3 1.0000000000 ( 0.1475549936 0.2980909944 0.0494865887 ) + weight 249 4 1.0000000000 ( 0.0482579879 0.1410723925 -0.1014293134 ) + weight 250 4 1.0000000000 ( 0.0117849912 0.1506624222 -0.0038563106 ) + weight 251 4 1.0000000000 ( 0.0117849912 0.1506624222 -0.0038563106 ) + weight 252 4 1.0000000000 ( 0.0117849912 0.1506624222 -0.0038563106 ) + weight 253 5 1.0000000000 ( 0.5045909882 0.7150216103 -0.5220972300 ) + weight 254 5 1.0000000000 ( 0.6948559880 0.7089786530 -0.0778682306 ) + weight 255 5 1.0000000000 ( 0.6948559880 0.7089786530 -0.0778682306 ) + weight 256 5 1.0000000000 ( 0.5167359710 -0.1222293377 -0.0203252304 ) + weight 257 5 1.0000000000 ( 0.5167359710 -0.1222293377 -0.0203252304 ) + weight 258 5 1.0000000000 ( 0.5041099787 0.7030787468 0.3581047654 ) + weight 259 5 1.0000000000 ( 0.5041099787 0.7030787468 0.3581047654 ) + weight 260 5 1.0000000000 ( 0.4698289931 0.2859137058 0.3518387675 ) + weight 261 5 1.0000000000 ( 0.3811949790 -0.1297823191 0.3299477696 ) + weight 262 4 1.0000000000 ( 0.1325989962 0.1678954363 -0.0169863105 ) + weight 263 4 1.0000000000 ( 0.1325989962 0.1678954363 -0.0169863105 ) + weight 264 10 1.0000000000 ( -0.0002098754 0.0546463765 0.0658382475 ) + weight 265 9 1.0000000000 ( -0.0132750943 0.2916550636 -0.0645581484 ) + weight 266 18 1.0000000000 ( 0.0394554958 0.0885941535 0.0973428190 ) + weight 267 18 1.0000000000 ( -0.1282062978 -0.0032369436 0.0986670703 ) + weight 268 17 1.0000000000 ( -0.0343980715 -0.1179947853 -0.0710503906 ) + weight 269 5 1.0000000000 ( 0.6486669779 0.2471966743 -0.0761172324 ) + weight 270 5 1.0000000000 ( 0.6486669779 0.2471966743 -0.0761172324 ) + weight 271 5 1.0000000000 ( 0.4264929891 -0.0116553307 0.3855787814 ) + weight 272 5 1.0000000000 ( 0.3449510038 0.0062587261 -0.3619642258 ) + weight 273 5 1.0000000000 ( 0.5977219939 -0.0077822208 -0.0438172258 ) + weight 274 5 1.0000000000 ( 0.5977219939 -0.0077822208 -0.0438172258 ) + weight 275 5 1.0000000000 ( 0.6096429825 0.2903735638 0.0331927724 ) + weight 276 5 1.0000000000 ( 0.6096429825 0.2903735638 0.0331927724 ) + weight 277 5 1.0000000000 ( 0.6140149832 0.0971865654 0.0184367709 ) + weight 278 3 1.0000000000 ( 0.1538379937 0.3069235086 -0.0582844801 ) + weight 279 3 1.0000000000 ( -0.1861710101 0.0953991860 0.1915709078 ) + weight 280 2 1.0000000000 ( -0.2537190020 0.0219821762 0.2003624737 ) + weight 281 0 1.0000000000 ( 0.0030679922 0.1357972026 0.2502985001 ) + weight 282 0 1.0000000000 ( -0.3399960101 0.0680472255 0.1706835181 ) + weight 283 4 1.0000000000 ( -0.0000050086 0.1022064686 0.0052606883 ) + weight 284 4 1.0000000000 ( -0.0705730096 0.0848673582 -0.0615953095 ) + weight 285 4 1.0000000000 ( -0.0000050088 0.0721414089 -0.1301623136 ) + weight 286 21 1.0000000000 ( -0.1389897615 0.0231919978 -0.0029347057 ) + weight 287 23 1.0000000000 ( -0.0535812676 0.0499770865 0.0058840704 ) + weight 288 14 1.0000000000 ( -0.0017304621 0.0613811798 0.0646476820 ) + weight 289 13 1.0000000000 ( 0.0555704571 0.2862195969 -0.0049750954 ) + weight 290 13 1.0000000000 ( 0.0135755520 0.2865525484 -0.0642039925 ) + weight 291 3 1.0000000000 ( -0.1538820118 0.3067788482 -0.0564772338 ) + weight 292 4 1.0000000000 ( -0.0026890088 0.1482334137 -0.1286133081 ) + weight 293 4 1.0000000000 ( -0.0553100109 0.1402064562 -0.0947723165 ) + weight 294 4 1.0000000000 ( -0.0553100109 0.1402064562 -0.0947723165 ) + weight 295 4 1.0000000000 ( -0.0553100109 0.1402064562 -0.0947723165 ) + weight 296 4 1.0000000000 ( -0.0692200065 0.1349633932 -0.0506333113 ) + weight 297 4 1.0000000000 ( -0.0692200065 0.1349633932 -0.0506333113 ) + weight 298 5 1.0000000000 ( -0.5046010017 0.7150216103 -0.5220972300 ) + weight 299 5 1.0000000000 ( -0.6948660016 0.7089786530 -0.0778682306 ) + weight 300 5 1.0000000000 ( -0.6948660016 0.7089786530 -0.0778682306 ) + weight 301 5 1.0000000000 ( -0.6434710026 0.2211437225 -0.0741632283 ) + weight 302 5 1.0000000000 ( -0.5243380070 -0.1196773052 -0.0272742324 ) + weight 303 5 1.0000000000 ( -0.5041199923 0.7030797005 0.3581047654 ) + weight 304 5 1.0000000000 ( -0.5041199923 0.7030797005 0.3581047654 ) + weight 305 5 1.0000000000 ( -0.3812049925 -0.1297823191 0.3299477696 ) + weight 306 13 1.0000000000 ( -0.0808355883 0.2192443162 -0.0167187303 ) + weight 307 21 1.0000000000 ( -0.0002869135 0.2120810598 -0.1354150176 ) + weight 308 23 1.0000000000 ( 0.0467823632 0.0643939823 0.1052293852 ) + weight 309 23 1.0000000000 ( 0.1220394522 -0.1072524711 0.0868532360 ) + weight 310 5 1.0000000000 ( -0.6635960340 0.3325855732 -0.0769592300 ) + weight 311 5 1.0000000000 ( -0.6635960340 0.3325855732 -0.0769592300 ) + weight 312 5 1.0000000000 ( -0.4656029940 0.2647736073 0.3577857614 ) + weight 313 4 1.0000000000 ( -0.0000050083 0.1964104176 0.1350407004 ) + weight 314 5 1.0000000000 ( -0.3449610174 0.0062596798 -0.3619642258 ) + weight 315 5 1.0000000000 ( -0.5977320075 -0.0077822208 -0.0438172296 ) + weight 316 5 1.0000000000 ( -0.5977320075 -0.0077822208 -0.0438172296 ) + weight 317 5 1.0000000000 ( -0.5701000094 0.0105457306 0.0549767688 ) + weight 318 5 1.0000000000 ( -0.5701000094 0.0105457306 0.0549767688 ) + weight 319 5 1.0000000000 ( -0.6129220128 0.1027877331 0.0184877682 ) + weight 320 5 1.0000000000 ( -0.6128450036 0.2897186279 0.0315487683 ) + weight 321 5 1.0000000000 ( -0.6128450036 0.2897186279 0.0315487683 ) + weight 322 3 1.0000000000 ( -0.2141140103 0.1201936603 0.1420764774 ) + weight 323 4 1.0000000000 ( 0.0715219900 0.1374104023 -0.0627613142 ) + weight 324 4 1.0000000000 ( 0.0715219900 0.1374104023 -0.0627613142 ) + weight 325 5 1.0000000000 ( 0.6196209788 0.0677487850 -0.0317612290 ) + weight 326 5 1.0000000000 ( 0.6196209788 0.0677487850 -0.0317612290 ) + weight 327 18 1.0000000000 ( -0.1133777350 -0.1069344580 0.0901804268 ) + weight 328 18 1.0000000000 ( 0.1313204467 -0.0760601237 0.0959457457 ) + weight 329 0 1.0000000000 ( -0.1762450039 0.0643051863 0.2256545126 ) + weight 330 5 1.0000000000 ( -0.0000050076 0.6810626984 0.5266547203 ) + weight 331 5 1.0000000000 ( -0.0000050077 -0.1461132765 0.4810087681 ) + weight 332 5 1.0000000000 ( -0.0000050101 0.7253117561 -0.7149202824 ) + weight 333 13 1.0000000000 ( 0.0463922694 0.2802905738 0.0442494527 ) + weight 334 13 1.0000000000 ( -0.0447062105 0.2124781162 -0.0675422028 ) + weight 335 23 1.0000000000 ( -0.1234615073 -0.1141351983 0.1194030866 ) + weight 336 4 1.0000000000 ( -0.1352310032 0.1694433689 -0.0120103117 ) + weight 337 4 1.0000000000 ( -0.1352310032 0.1694433689 -0.0120103117 ) + weight 338 4 1.0000000000 ( -0.1352310032 0.1694433689 -0.0120103117 ) + weight 339 5 1.0000000000 ( -0.4269320071 -0.0125763416 0.3837057650 ) + weight 340 5 1.0000000000 ( -0.0064530098 0.0034856799 -0.4967412055 ) + weight 341 5 1.0000000000 ( -0.6157209873 0.0642697811 -0.0270992331 ) + weight 342 5 1.0000000000 ( -0.6157209873 0.0642697811 -0.0270992331 ) + weight 343 4 1.0000000000 ( 0.0438169912 0.0775594711 -0.1045673117 ) + weight 344 4 1.0000000000 ( 0.0449609943 0.0962994099 -0.0204623118 ) + weight 345 4 1.0000000000 ( 0.0449609943 0.0962994099 -0.0204623118 ) + weight 346 4 1.0000000000 ( -0.0440810099 0.0774574280 -0.1045083106 ) + weight 347 4 1.0000000000 ( -0.0431900062 0.0971654654 -0.0186633114 ) + weight 348 4 1.0000000000 ( -0.0431900062 0.0971654654 -0.0186633114 ) + weight 349 9 1.0000000000 ( -0.0533952340 0.2892489135 -0.0143909361 ) + weight 350 9 1.0000000000 ( 0.0562215634 0.2561028302 0.0456988700 ) + weight 351 3 1.0000000000 ( -0.1545470059 0.2914696336 0.0549230687 ) + weight 352 13 1.0000000000 ( -0.0580988005 0.2712232769 0.0443732589 ) + weight 353 21 1.0000000000 ( 0.0949197859 0.2086136490 -0.0965016410 ) + weight 354 23 1.0000000000 ( 0.1216894090 -0.0001581186 0.1038506180 ) + weight 355 18 1.0000000000 ( -0.0590410009 0.0907540843 0.2211083770 ) + weight 356 5 1.0000000000 ( -0.5859230161 0.1645586491 0.0488767661 ) + weight 357 5 1.0000000000 ( 0.5673360229 0.0094766617 0.0599237718 ) + weight 358 5 1.0000000000 ( 0.5673360229 0.0094766617 0.0599237718 ) + weight 359 5 1.0000000000 ( 0.5673360229 0.0094766617 0.0599237718 ) +} + diff --git a/models/player/convert-animated.sh b/models/player/convert-animated.sh index 3c739b4..a6ca3bf 100644 --- a/models/player/convert-animated.sh +++ b/models/player/convert-animated.sh @@ -1,19 +1,19 @@ -cd ../../../../nitro-engine/tools/md5_to_dsma && -python md5_to_dsma.py --model ../../../projects/breaking-bad-ds/models/player/player.md5mesh \ - --name player \ - --output ../../../projects/breaking-bad-ds/nitrofiles/model \ - --texture 128 128 \ - --anim ../../../projects/breaking-bad-ds/models/player/walk.md5anim ../../../projects/breaking-bad-ds/models/player/idle.md5anim && -cd ../img2ds && -python img2ds.py --input ../../../projects/breaking-bad-ds/models/player/walter.png \ - --name walter \ - --output ../../../projects/breaking-bad-ds/nitrofiles/model \ - --format A1RGB5 && -python img2ds.py --input ../../../projects/breaking-bad-ds/models/player/jessie.png \ - --name jessie \ - --output ../../../projects/breaking-bad-ds/nitrofiles/model \ - --format A1RGB5 && -python img2ds.py --input ../../../projects/breaking-bad-ds/models/player/yeppers.png \ - --name yeppers \ - --output ../../../projects/breaking-bad-ds/nitrofiles/model \ +cd ../../../../nitro-engine/tools/md5_to_dsma && +python md5_to_dsma.py --model ../../../projects/breaking-bad-ds/models/player/player.md5mesh \ + --name player \ + --output ../../../projects/breaking-bad-ds/nitrofiles/model \ + --texture 128 128 \ + --anim ../../../projects/breaking-bad-ds/models/player/walk.md5anim ../../../projects/breaking-bad-ds/models/player/idle.md5anim && +cd ../img2ds && +python img2ds.py --input ../../../projects/breaking-bad-ds/models/player/walter.png \ + --name walter \ + --output ../../../projects/breaking-bad-ds/nitrofiles/model \ + --format A1RGB5 && +python img2ds.py --input ../../../projects/breaking-bad-ds/models/player/jessie.png \ + --name jessie \ + --output ../../../projects/breaking-bad-ds/nitrofiles/model \ + --format A1RGB5 && +python img2ds.py --input ../../../projects/breaking-bad-ds/models/player/yeppers.png \ + --name yeppers \ + --output ../../../projects/breaking-bad-ds/nitrofiles/model \ --format A1RGB5 \ No newline at end of file diff --git a/models/player/convert.sh b/models/player/convert.sh index 43d1c94..dc22bb8 100644 --- a/models/player/convert.sh +++ b/models/player/convert.sh @@ -1,25 +1,25 @@ -# Sadly we're only exporting the static player model as the dsma library seems to have issues with the armature when loading the converted version in-game :( -cd ../../../../nitro-engine/tools/obj2dl && -python obj2dl.py --input ../../../projects/breaking-bad-ds/models/player/player.obj \ - --texture 128 128 \ - --scale 100.0 \ - --output ../../../projects/breaking-bad-ds/nitrofiles/model/player.dl && -cd ../img2ds && -convert ../../../projects/breaking-bad-ds/models/player/walter.png -flip ../../../projects/breaking-bad-ds/models/player/walter.png && -convert ../../../projects/breaking-bad-ds/models/player/jessie.png -flip ../../../projects/breaking-bad-ds/models/player/jessie.png && -convert ../../../projects/breaking-bad-ds/models/player/yeppers.png -flip ../../../projects/breaking-bad-ds/models/player/yeppers.png && -python img2ds.py --input ../../../projects/breaking-bad-ds/models/player/walter.png \ - --name walter \ - --output ../../../projects/breaking-bad-ds/nitrofiles/model \ - --format A1RGB5 && -python img2ds.py --input ../../../projects/breaking-bad-ds/models/player/jessie.png \ - --name jessie \ - --output ../../../projects/breaking-bad-ds/nitrofiles/model \ - --format A1RGB5 && -python img2ds.py --input ../../../projects/breaking-bad-ds/models/player/yeppers.png \ - --name yeppers \ - --output ../../../projects/breaking-bad-ds/nitrofiles/model \ - --format A1RGB5 && -convert ../../../projects/breaking-bad-ds/models/player/walter.png -flip ../../../projects/breaking-bad-ds/models/player/walter.png && -convert ../../../projects/breaking-bad-ds/models/player/jessie.png -flip ../../../projects/breaking-bad-ds/models/player/jessie.png && +# Sadly we're only exporting the static player model as the dsma library seems to have issues with the armature when loading the converted version in-game :( +cd ../../../../nitro-engine/tools/obj2dl && +python obj2dl.py --input ../../../projects/breaking-bad-ds/models/player/player.obj \ + --texture 128 128 \ + --scale 100.0 \ + --output ../../../projects/breaking-bad-ds/nitrofiles/model/player.dl && +cd ../img2ds && +convert ../../../projects/breaking-bad-ds/models/player/walter.png -flip ../../../projects/breaking-bad-ds/models/player/walter.png && +convert ../../../projects/breaking-bad-ds/models/player/jessie.png -flip ../../../projects/breaking-bad-ds/models/player/jessie.png && +convert ../../../projects/breaking-bad-ds/models/player/yeppers.png -flip ../../../projects/breaking-bad-ds/models/player/yeppers.png && +python img2ds.py --input ../../../projects/breaking-bad-ds/models/player/walter.png \ + --name walter \ + --output ../../../projects/breaking-bad-ds/nitrofiles/model \ + --format A1RGB5 && +python img2ds.py --input ../../../projects/breaking-bad-ds/models/player/jessie.png \ + --name jessie \ + --output ../../../projects/breaking-bad-ds/nitrofiles/model \ + --format A1RGB5 && +python img2ds.py --input ../../../projects/breaking-bad-ds/models/player/yeppers.png \ + --name yeppers \ + --output ../../../projects/breaking-bad-ds/nitrofiles/model \ + --format A1RGB5 && +convert ../../../projects/breaking-bad-ds/models/player/walter.png -flip ../../../projects/breaking-bad-ds/models/player/walter.png && +convert ../../../projects/breaking-bad-ds/models/player/jessie.png -flip ../../../projects/breaking-bad-ds/models/player/jessie.png && convert ../../../projects/breaking-bad-ds/models/player/yeppers.png -flip ../../../projects/breaking-bad-ds/models/player/yeppers.png \ No newline at end of file diff --git a/models/player/idle.md5anim b/models/player/idle.md5anim index 0980d2b..694aa21 100644 --- a/models/player/idle.md5anim +++ b/models/player/idle.md5anim @@ -1,1894 +1,1894 @@ -MD5Version 10 // Parameters used during export: Reorient: False; Scale: 1.0 -commandline "" - -numFrames 63 -numJoints 25 -frameRate 60 -numAnimatedComponents 150 - -hierarchy { - "mixamorig:Hips" -1 63 0 // - "mixamorig:Spine" 0 63 6 // - "mixamorig:Spine1" 1 63 12 // - "mixamorig:Spine2" 2 63 18 // - "mixamorig:Neck" 3 63 24 // - "mixamorig:Head" 4 63 30 // - "mixamorig:HeadTop_End" 5 63 36 // - "mixamorig:LeftShoulder" 3 63 42 // - "mixamorig:LeftArm" 7 63 48 // - "mixamorig:LeftForeArm" 8 63 54 // - "mixamorig:LeftHand" 9 63 60 // - "mixamorig:RightShoulder" 3 63 66 // - "mixamorig:RightArm" 11 63 72 // - "mixamorig:RightForeArm" 12 63 78 // - "mixamorig:RightHand" 13 63 84 // - "mixamorig:LeftUpLeg" 0 63 90 // - "mixamorig:LeftLeg" 15 63 96 // - "mixamorig:LeftFoot" 16 63 102 // - "mixamorig:LeftToeBase" 17 63 108 // - "mixamorig:LeftToe_End" 18 63 114 // - "mixamorig:RightUpLeg" 0 63 120 // - "mixamorig:RightLeg" 20 63 126 // - "mixamorig:RightFoot" 21 63 132 // - "mixamorig:RightToeBase" 22 63 138 // - "mixamorig:RightToe_End" 23 63 144 // -} - -bounds { - ( -0.8060686588 0.0167839937 -0.7383368015 ) ( 0.7746989727 3.2758915424 0.6086186171 ) - ( -0.8060179949 0.0167839937 -0.7383373976 ) ( 0.7748496532 3.2759690285 0.6086184978 ) - ( -0.8058689237 0.0167839937 -0.7383393049 ) ( 0.7752866149 3.2761907578 0.6086180210 ) - ( -0.8056228161 0.0167839937 -0.7383422852 ) ( 0.7759852409 3.2765398026 0.6086173654 ) - ( -0.8052796125 0.0167839937 -0.7383460999 ) ( 0.7769192457 3.2769951820 0.6086164713 ) - ( -0.8048366308 0.0167839937 -0.7383505702 ) ( 0.7780600190 3.2775330544 0.6086155176 ) - ( -0.8042910695 0.0167839937 -0.7383555770 ) ( 0.7793784142 3.2781293392 0.6086144447 ) - ( -0.8036392927 0.0167839937 -0.7383608222 ) ( 0.7808446884 3.2787570953 0.6086132526 ) - ( -0.8028776646 0.0167839937 -0.7383661866 ) ( 0.7824291587 3.2793917656 0.6086119413 ) - ( -0.8020036221 0.0167839937 -0.7383713722 ) ( 0.7841029167 3.2800083160 0.6086108088 ) - ( -0.8010154963 0.0167839937 -0.7383761406 ) ( 0.7858375907 3.2805843353 0.6086097360 ) - ( -0.7999131083 0.0167839937 -0.7383804321 ) ( 0.7876065969 3.2810981274 0.6086086631 ) - ( -0.7986980081 0.0167839937 -0.7383841276 ) ( 0.7893846631 3.2815322876 0.6086077094 ) - ( -0.7973740101 0.0167839937 -0.7383869290 ) ( 0.7911484838 3.2818713188 0.6086069942 ) - ( -0.7959470749 0.0167839937 -0.7383889556 ) ( 0.7928771377 3.2821040154 0.6086064577 ) - ( -0.7944257259 0.0167839937 -0.7383899093 ) ( 0.7945519686 3.2822227478 0.6086061001 ) - ( -0.7928209305 0.0167839937 -0.7383899093 ) ( 0.7961567640 3.2822227478 0.6086059213 ) - ( -0.7911462784 0.0167839937 -0.7383889556 ) ( 0.7976779342 3.2821040154 0.6086059809 ) - ( -0.7894179821 0.0167839937 -0.7383869290 ) ( 0.7991045117 3.2818717957 0.6086062193 ) - ( -0.7876545787 0.0167839937 -0.7383841276 ) ( 0.8004280925 3.2815327644 0.6086066365 ) - ( -0.7858772278 0.0167839937 -0.7383804321 ) ( 0.8016425371 3.2810986042 0.6086072326 ) - ( -0.7841088772 0.0167839937 -0.7383762002 ) ( 0.8027442098 3.2805848122 0.6086080074 ) - ( -0.7823749781 0.0167839937 -0.7383713722 ) ( 0.8037314415 3.2800087929 0.6086088419 ) - ( -0.7807021141 0.0167839937 -0.7383661866 ) ( 0.8046047091 3.2793922424 0.6086097360 ) - ( -0.7791185379 0.0167839937 -0.7383608222 ) ( 0.8053653836 3.2787580490 0.6086108088 ) - ( -0.7776530981 0.0167839937 -0.7383556366 ) ( 0.8060163856 3.2781302929 0.6086117029 ) - ( -0.7763355970 0.0167839937 -0.7383505702 ) ( 0.8065611124 3.2775340080 0.6086126566 ) - ( -0.7751955986 0.0167839937 -0.7383460999 ) ( 0.8070031404 3.2769961357 0.6086134911 ) - ( -0.7742622495 0.0167839937 -0.7383422852 ) ( 0.8073458076 3.2765407562 0.6086142659 ) - ( -0.7735640407 0.0167839937 -0.7383393049 ) ( 0.8075914383 3.2761917114 0.6086148024 ) - ( -0.7731273770 0.0167839937 -0.7383374572 ) ( 0.8077402115 3.2759697437 0.6086151600 ) - ( -0.7729768753 0.0167839937 -0.7383368015 ) ( 0.8077908754 3.2758924961 0.6086152792 ) - ( -0.7731274366 0.0167839937 -0.7383374572 ) ( 0.8077403307 3.2759699821 0.6086151600 ) - ( -0.7735639811 0.0167839937 -0.7383393049 ) ( 0.8075914383 3.2761917114 0.6086148024 ) - ( -0.7742622495 0.0167839937 -0.7383422852 ) ( 0.8073458076 3.2765407562 0.6086142659 ) - ( -0.7751955986 0.0167839937 -0.7383460999 ) ( 0.8070032001 3.2769961357 0.6086134911 ) - ( -0.7763355970 0.0167839937 -0.7383505702 ) ( 0.8065611124 3.2775340080 0.6086126566 ) - ( -0.7776530981 0.0167839937 -0.7383556366 ) ( 0.8060163856 3.2781302929 0.6086117029 ) - ( -0.7791185379 0.0167839937 -0.7383608222 ) ( 0.8053653836 3.2787580490 0.6086108088 ) - ( -0.7807021141 0.0167839937 -0.7383661866 ) ( 0.8046047091 3.2793922424 0.6086097360 ) - ( -0.7823750377 0.0167839937 -0.7383713722 ) ( 0.8037314415 3.2800087929 0.6086088419 ) - ( -0.7841088772 0.0167839937 -0.7383762002 ) ( 0.8027441502 3.2805848122 0.6086080074 ) - ( -0.7858771682 0.0167839937 -0.7383804321 ) ( 0.8016425371 3.2810986042 0.6086072326 ) - ( -0.7876545787 0.0167839937 -0.7383841276 ) ( 0.8004280925 3.2815327644 0.6086066365 ) - ( -0.7894179821 0.0167839937 -0.7383869290 ) ( 0.7991045117 3.2818717957 0.6086062193 ) - ( -0.7911462784 0.0167839937 -0.7383889556 ) ( 0.7976779342 3.2821040154 0.6086059809 ) - ( -0.7928208709 0.0167839937 -0.7383899093 ) ( 0.7961568236 3.2822227478 0.6086059213 ) - ( -0.7944257259 0.0167839937 -0.7383899093 ) ( 0.7945519686 3.2822227478 0.6086061001 ) - ( -0.7959470749 0.0167839937 -0.7383889556 ) ( 0.7928771377 3.2821040154 0.6086064577 ) - ( -0.7973740101 0.0167839937 -0.7383869290 ) ( 0.7911484838 3.2818713188 0.6086069942 ) - ( -0.7986980081 0.0167839937 -0.7383841276 ) ( 0.7893846631 3.2815322876 0.6086077094 ) - ( -0.7999130487 0.0167839937 -0.7383804321 ) ( 0.7876065969 3.2810981274 0.6086086631 ) - ( -0.8010154366 0.0167839937 -0.7383761406 ) ( 0.7858376503 3.2805843353 0.6086097360 ) - ( -0.8020035625 0.0167839937 -0.7383713722 ) ( 0.7841029167 3.2800083160 0.6086108088 ) - ( -0.8028776050 0.0167839937 -0.7383661866 ) ( 0.7824291587 3.2793917656 0.6086119413 ) - ( -0.8036392927 0.0167839937 -0.7383608222 ) ( 0.7808446288 3.2787570953 0.6086132526 ) - ( -0.8042910695 0.0167839937 -0.7383555770 ) ( 0.7793783545 3.2781293392 0.6086144447 ) - ( -0.8048366308 0.0167839937 -0.7383505702 ) ( 0.7780600190 3.2775330544 0.6086155176 ) - ( -0.8052795529 0.0167839937 -0.7383460999 ) ( 0.7769192457 3.2769951820 0.6086164713 ) - ( -0.8056228757 0.0167839937 -0.7383422852 ) ( 0.7759852409 3.2765398026 0.6086173654 ) - ( -0.8058688641 0.0167839937 -0.7383393049 ) ( 0.7752866149 3.2761907578 0.6086180210 ) - ( -0.8060179949 0.0167839937 -0.7383373976 ) ( 0.7748495936 3.2759690285 0.6086184978 ) - ( -0.8060686588 0.0167839937 -0.7383368015 ) ( 0.7746989727 3.2758915424 0.6086186171 ) -} - -baseframe { - ( 0.0000050068 0.7780786753 0.0214254875 ) ( -0.0000000000 -0.0000000000 -0.0000000000 ) - ( 0.0000000000 0.1770023108 -0.0009516347 ) ( 0.0026881641 -0.0000000000 -0.0000000000 ) - ( 0.0000000000 0.2065057456 -0.0000000023 ) ( 0.0000000042 -0.0000000000 -0.0000000000 ) - ( 0.0000000000 0.2360067219 0.0000000005 ) ( 0.0000000042 -0.0000000000 -0.0000000000 ) - ( 0.0000000000 0.2655072510 0.0000000028 ) ( -0.0026881725 -0.0000000000 -0.0000000000 ) - ( 0.0000000000 0.3947657347 -0.0401370823 ) ( -0.0000000000 -0.0000000000 -0.0000000000 ) - ( 0.0000000000 1.2101047039 -0.1230351999 ) ( -0.0000000000 -0.0000000000 -0.0000000000 ) - ( 0.0778401271 0.2149246335 0.0011441763 ) ( -0.6256202459 -0.3355365694 0.6165115833 ) - ( -0.0000000012 0.1860864162 0.0000000018 ) ( -0.0929389596 0.0027408842 0.0293500740 ) - ( -0.0000000028 0.2763552964 0.0000000867 ) ( 0.0149857560 0.0005682616 -0.0378924794 ) - ( -0.0000000065 0.3389307559 -0.0000000972 ) ( -0.0000000378 0.0000000341 0.0000000056 ) - ( -0.0778401271 0.2149398476 -0.0016879914 ) ( -0.6142975092 0.3417052925 -0.6277292371 ) - ( -0.0000000037 0.1860862821 -0.0000001551 ) ( -0.0930364579 0.0003407767 0.0036459784 ) - ( 0.0000000019 0.2760953903 0.0000000816 ) ( 0.0149027547 -0.0002345784 0.0157293510 ) - ( 0.0000000005 0.3388734460 -0.0000000035 ) ( 0.0000002375 -0.0000000079 0.0000000135 ) - ( 0.1861518174 -0.0983439088 -0.0044584572 ) ( -0.0002614523 -0.0164730735 0.9997389913 ) - ( -0.0000000196 0.3293979168 -0.0000000008 ) ( -0.0034133261 0.0000098612 0.0026536337 ) - ( -0.0000000188 0.2477990985 0.0000000010 ) ( -0.3401664197 -0.2407970428 0.0905603021 ) - ( 0.0000000144 0.0675944164 -0.0000000047 ) ( -0.4292519093 0.0104676560 -0.0049753017 ) - ( 0.0000000141 0.0427611358 0.0000000004 ) ( 0.0000002872 -0.0000005488 0.0000004763 ) - ( -0.1861518174 -0.0983439088 -0.0087781679 ) ( -0.0001303761 0.0082231257 -0.9998407960 ) - ( -0.0000000109 0.3292638361 -0.0000000005 ) ( 0.0076488191 0.0000197466 -0.0026609255 ) - ( -0.0000000124 0.2478392422 -0.0000000001 ) ( -0.4255259931 0.1628392488 -0.0781428888 ) - ( -0.0000000123 0.0799339041 0.0000000019 ) ( -0.3500214219 -0.0016251154 0.0006072879 ) - ( 0.0000000126 0.0583351627 -0.0000000048 ) ( 0.0000001371 0.0000002218 -0.0000002390 ) -} - -frame 0 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0007105127 -0.0508817993 - 0.0000000111 1.2101048231 -0.1230351925 -0.0000000000 -0.0000000000 0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.6072957516 -0.3857267797 0.5607039332 - 0.0000000009 0.1860864162 0.0000000499 -0.2193168551 0.0240677837 0.0582789406 - 0.0000000031 0.2763552666 -0.0000001102 -0.1761399060 -0.0005476516 -0.0363156982 - -0.0000000014 0.3389308155 -0.0000000412 -0.0981442034 0.0031445359 0.0005561242 - -0.0778401271 0.2149398476 -0.0016879914 -0.5932507515 0.3962262571 -0.5661910772 - -0.0000000019 0.1860864460 -0.0000000850 -0.2205737978 -0.0219023414 -0.0285024680 - -0.0000000065 0.2760955393 -0.0000001188 -0.1932076514 -0.0024577731 0.0117258616 - 0.0000000009 0.3388734162 -0.0000000167 -0.0932180807 -0.0024413653 -0.0017009007 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 1 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0007061831 -0.0505717471 - 0.0000000237 1.2101045847 -0.1230351999 -0.0000000000 0.0000000000 0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.6072170138 -0.3857329190 0.5608763099 - 0.0000000051 0.1860864162 -0.0000001931 -0.2193982005 0.0239649843 0.0581124835 - -0.0000000031 0.2763552964 -0.0000000923 -0.1761385053 -0.0005850631 -0.0363217406 - -0.0000000009 0.3389307261 0.0000000031 -0.0981441885 0.0031253255 0.0005527262 - -0.0778401271 0.2149398476 -0.0016879914 -0.5931809545 0.3962310851 -0.5663899183 - -0.0000000028 0.1860864311 0.0000000414 -0.2206365168 -0.0217681266 -0.0283172280 - -0.0000000009 0.2760954797 -0.0000001053 -0.1932071894 -0.0024241996 0.0117485225 - 0.0000000047 0.3388735056 0.0000001041 -0.0932180732 -0.0024264504 -0.0016905090 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 2 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0006935738 -0.0496687479 - -0.0000000221 1.2101044655 -0.1230351999 0.0000000000 0.0000000000 0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.6069875956 -0.3857510388 0.5613783002 - -0.0000000023 0.1860864908 0.0000000522 -0.2196349949 0.0236655846 0.0576277301 - 0.0000000043 0.2763552070 0.0000000585 -0.1761345416 -0.0006940026 -0.0363393575 - -0.0000000014 0.3389306068 -0.0000000088 -0.0981442407 0.0030693836 0.0005428338 - -0.0778401271 0.2149398476 -0.0016879914 -0.5929777026 0.3962449729 -0.5669685006 - 0.0000000005 0.1860863864 -0.0000002056 -0.2208191603 -0.0213772673 -0.0277777649 - 0.0000000019 0.2760955691 -0.0000001058 -0.1932057440 -0.0023264210 0.0118145104 - 0.0000000000 0.3388733864 -0.0000000063 -0.0932181180 -0.0023830186 -0.0016602502 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 3 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0006732528 -0.0482135043 - 0.0000000079 1.2101045847 -0.1230351850 -0.0000000000 -0.0000000000 0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.6066175103 -0.3857797682 0.5621866584 - -0.0000000056 0.1860864162 -0.0000000898 -0.2200164497 0.0231831130 0.0568465516 - -0.0000000091 0.2763552964 0.0000001840 -0.1761280149 -0.0008695436 -0.0363677293 - 0.0000000009 0.3389308155 0.0000000503 -0.0981442481 0.0029792432 0.0005268910 - -0.0778401271 0.2149398476 -0.0016879914 -0.5926492810 0.3962669373 -0.5679001212 - 0.0000000037 0.1860864609 -0.0000002075 -0.2211132348 -0.0207474027 -0.0269084238 - 0.0000000019 0.2760954797 0.0000000761 -0.1932035238 -0.0021688715 0.0119208395 - -0.0000000019 0.3388733566 -0.0000000394 -0.0932181329 -0.0023130348 -0.0016114922 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 4 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0006457865 -0.0462465733 - -0.0000000285 1.2101042271 -0.1230352074 0.0000000000 0.0000000000 0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.6061161160 -0.3858179748 0.5632781386 - -0.0000000042 0.1860864162 -0.0000000349 -0.2205315232 0.0225310642 0.0557907633 - 0.0000000051 0.2763552368 0.0000001609 -0.1761192679 -0.0011067488 -0.0364060663 - -0.0000000047 0.3389308453 0.0000000862 -0.0981442779 0.0028574364 0.0005053505 - -0.0778401271 0.2149398476 -0.0016879914 -0.5922036767 0.3962953389 -0.5691577196 - 0.0000000000 0.1860865057 0.0000000278 -0.2215100825 -0.0198961478 -0.0257335268 - 0.0000000037 0.2760955393 0.0000000840 -0.1932005137 -0.0019559769 0.0120645203 - 0.0000000065 0.3388735056 -0.0000000049 -0.0932181478 -0.0022184637 -0.0015456039 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 5 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0006117407 -0.0438084528 - -0.0000000059 1.2101044655 -0.1230351999 0.0000000000 0.0000000001 0.0000000000 - 0.0778401271 0.2149246335 0.0011441763 -0.6054930091 -0.3858641386 0.5646291375 - 0.0000000012 0.1860864162 -0.0000000183 -0.2211692631 0.0217229426 0.0544822104 - -0.0000000005 0.2763552368 0.0000000867 -0.1761084050 -0.0014006894 -0.0364535823 - 0.0000000009 0.3389308155 0.0000000350 -0.0981443301 0.0027064979 0.0004786542 - -0.0778401271 0.2149398476 -0.0016879914 -0.5916491747 0.3963290453 -0.5707138181 - 0.0000000019 0.1860864758 0.0000001349 -0.2220012993 -0.0188411120 -0.0242773704 - -0.0000000037 0.2760953903 0.0000000332 -0.1931966990 -0.0016921622 0.0122425659 - -0.0000000019 0.3388733864 0.0000000554 -0.0932181925 -0.0021012782 -0.0014639592 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 6 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0005716814 -0.0409396961 - 0.0000000150 1.2101045847 -0.1230351999 -0.0000000000 0.0000000000 0.0000000000 - 0.0778401271 0.2149246335 0.0011441763 -0.6047574282 -0.3859169185 0.5662160516 - 0.0000000000 0.1860864311 -0.0000000534 -0.2219186872 0.0207722243 0.0529427007 - -0.0000000088 0.2763552666 -0.0000000459 -0.1760956645 -0.0017464284 -0.0365094543 - -0.0000000014 0.3389307559 -0.0000000667 -0.0981443748 0.0025289613 0.0004472559 - -0.0778401271 0.2149398476 -0.0016879914 -0.5909931660 0.3963662386 -0.5725411773 - 0.0000000000 0.1860864609 -0.0000003668 -0.2225782275 -0.0175999142 -0.0225642864 - 0.0000000019 0.2760955989 0.0000000721 -0.1931922734 -0.0013818556 0.0124519859 - -0.0000000028 0.3388732076 -0.0000000124 -0.0932182223 -0.0019634399 -0.0013679240 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 7 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0005261747 -0.0376808383 - 0.0000000255 1.2101047039 -0.1230351850 -0.0000000000 0.0000000000 0.0000000056 - 0.0778401271 0.2149246335 0.0011441763 -0.6039189100 -0.3859747350 0.5680153966 - 0.0000000026 0.1860864460 -0.0000000637 -0.2227688581 0.0196924154 0.0511940680 - -0.0000000021 0.2763552070 0.0000000150 -0.1760810763 -0.0021390356 -0.0365728997 - -0.0000000014 0.3389306366 0.0000000240 -0.0981444195 0.0023273567 0.0004116016 - -0.0778401271 0.2149398476 -0.0016879914 -0.5902434587 0.3964054585 -0.5746120811 - 0.0000000000 0.1860865206 -0.0000001649 -0.2232321054 -0.0161901526 -0.0206185617 - -0.0000000047 0.2760954797 -0.0000000233 -0.1931870878 -0.0010294864 0.0126897935 - 0.0000000009 0.3388733566 -0.0000000395 -0.0932182521 -0.0018069163 -0.0012588731 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 8 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0004757882 -0.0340725146 - -0.0000000039 1.2101044655 -0.1230351999 0.0000000000 0.0000000000 0.0000000037 - 0.0778401271 0.2149246335 0.0011441763 -0.6029867530 -0.3860362768 0.5700034499 - -0.0000000010 0.1860864311 0.0000000185 -0.2237085551 0.0184970126 0.0492581278 - 0.0000000051 0.2763550878 0.0000000693 -0.1760649532 -0.0025735763 -0.0366431139 - -0.0000000028 0.3389307559 -0.0000000623 -0.0981445014 0.0021042228 0.0003721378 - -0.0778401271 0.2149398476 -0.0016879914 -0.5894077420 0.3964449167 -0.5768991113 - 0.0000000000 0.1860863715 -0.0000001333 -0.2239542753 -0.0146294627 -0.0184645429 - -0.0000000009 0.2760953605 -0.0000002067 -0.1931813657 -0.0006394791 0.0129529955 - -0.0000000019 0.3388734162 -0.0000000158 -0.0932182744 -0.0016336755 -0.0011381749 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 9 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0004210904 -0.0301554576 - 0.0000000167 1.2101048231 -0.1230351925 0.0000000000 -0.0000000000 0.0000000000 - 0.0778401271 0.2149246335 0.0011441763 -0.6019702554 -0.3860999644 0.5721564889 - 0.0000000025 0.1860864609 0.0000000270 -0.2247269601 0.0171995498 0.0471567661 - 0.0000000072 0.2763551176 0.0000001853 -0.1760473400 -0.0030451163 -0.0367193036 - 0.0000000012 0.3389309049 -0.0000000648 -0.0981445536 0.0018620858 0.0003293140 - -0.0778401271 0.2149398476 -0.0016879914 -0.5884938836 0.3964832127 -0.5793746710 - 0.0000000002 0.1860863715 0.0000001364 -0.2247361988 -0.0129355136 -0.0161266178 - -0.0000000056 0.2760955095 -0.0000000837 -0.1931751072 -0.0002162620 0.0132386070 - 0.0000000051 0.3388732076 -0.0000000005 -0.0932183117 -0.0014456833 -0.0010072001 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 10 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0003626516 -0.0259704906 - 0.0000000149 1.2101043463 -0.1230351999 -0.0000000000 0.0000000000 0.0000000009 - 0.0778401271 0.2149246335 0.0011441763 -0.6008788943 -0.3861644566 0.5744510889 - -0.0000000017 0.1860863566 0.0000000678 -0.2258129567 0.0158135667 0.0449118838 - 0.0000000005 0.2763552368 0.0000000491 -0.1760285944 -0.0035487239 -0.0368006639 - 0.0000000012 0.3389307857 0.0000000625 -0.0981445909 0.0016034818 0.0002835816 - -0.0778401271 0.2149398476 -0.0016879914 -0.5875098109 0.3965188563 -0.5820113420 - -0.0000000009 0.1860864758 -0.0000001496 -0.2255691886 -0.0111259846 -0.0136291897 - -0.0000000028 0.2760953605 -0.0000001701 -0.1931684315 0.0002357387 0.0135436421 - -0.0000000005 0.3388733864 0.0000000029 -0.0932183638 -0.0012449066 -0.0008673177 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 11 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0003010435 -0.0215585642 - 0.0000000085 1.2101044655 -0.1230351850 -0.0000000000 -0.0000000000 0.0000000009 - 0.0778401271 0.2149246335 0.0011441763 -0.5997226834 -0.3862285614 0.5768638253 - -0.0000000012 0.1860864013 -0.0000000543 -0.2269554883 0.0143526085 0.0425454006 - -0.0000000051 0.2763551772 -0.0000000161 -0.1760087311 -0.0040794685 -0.0368863977 - 0.0000000019 0.3389308751 -0.0000000010 -0.0981446356 0.0013309470 0.0002353804 - -0.0778401271 0.2149398476 -0.0016879914 -0.5864638090 0.3965504766 -0.5847818851 - -0.0000000008 0.1860864162 0.0000000238 -0.2264446318 -0.0092185903 -0.0109967086 - 0.0000000019 0.2760955393 -0.0000001065 -0.1931612343 0.0007120928 0.0138651058 - -0.0000000005 0.3388733864 -0.0000000595 -0.0932183936 -0.0010333117 -0.0007198984 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 12 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0002368401 -0.0169607755 - -0.0000000017 1.2101044655 -0.1230351999 -0.0000000000 -0.0000000000 0.0000000009 - 0.0778401271 0.2149246335 0.0011441763 -0.5985113382 -0.3862910271 0.5793712139 - -0.0000000016 0.1860864908 -0.0000001182 -0.2281438261 0.0128302723 0.0400793105 - 0.0000000143 0.2763552368 -0.0000000286 -0.1759880334 -0.0046324097 -0.0369757041 - -0.0000000002 0.3389307857 0.0000000060 -0.0981446877 0.0010470105 0.0001851644 - -0.0778401271 0.2149398476 -0.0016879914 -0.5853643417 0.3965769708 -0.5876592994 - -0.0000000016 0.1860865057 -0.0000001330 -0.2273540646 -0.0072310758 -0.0082536777 - 0.0000000061 0.2760954201 0.0000000007 -0.1931537539 0.0012083730 0.0142000141 - 0.0000000000 0.3388733566 0.0000000549 -0.0932184532 -0.0008128681 -0.0005663122 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 13 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0001706160 -0.0122182844 - -0.0000000012 1.2101045847 -0.1230351850 -0.0000000000 -0.0000000000 0.0000000005 - 0.0778401271 0.2149246335 0.0011441763 -0.5972548723 -0.3863509297 0.5819503069 - -0.0000000023 0.1860864311 -0.0000000137 -0.2293669432 0.0112601509 0.0375356041 - 0.0000000002 0.2763551474 -0.0000000744 -0.1759665906 -0.0052026175 -0.0370677896 - -0.0000000013 0.3389308453 0.0000000322 -0.0981446877 0.0007542082 0.0001333839 - -0.0778401271 0.2149398476 -0.0016879914 -0.5842202306 0.3965973556 -0.5906166434 - -0.0000000016 0.1860864908 -0.0000000361 -0.2282890379 -0.0051812180 -0.0054246243 - 0.0000000037 0.2760954201 0.0000000601 -0.1931458712 0.0017201512 0.0145453745 - 0.0000000009 0.3388732076 -0.0000000129 -0.0932184383 -0.0005855380 -0.0004079300 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 14 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0001029475 -0.0073723583 - -0.0000000021 1.2101045847 -0.1230351850 -0.0000000000 0.0000000000 -0.0000000002 - 0.0778401271 0.2149246335 0.0011441763 -0.5959637165 -0.3864072561 0.5845780969 - 0.0000000000 0.1860864162 -0.0000001697 -0.2306141555 0.0096558584 0.0349363387 - -0.0000000019 0.2763552666 -0.0000000645 -0.1759445816 -0.0057851612 -0.0371618494 - 0.0000000041 0.3389308155 -0.0000000187 -0.0981447101 0.0004550727 0.0000804788 - -0.0778401271 0.2149398476 -0.0016879914 -0.5830405354 0.3966109753 -0.5936273932 - 0.0000000000 0.1860864311 -0.0000001688 -0.2292412370 -0.0030868098 -0.0025341080 - -0.0000000019 0.2760955095 0.0000000304 -0.1931378543 0.0022430001 0.0148982005 - 0.0000000033 0.3388732970 -0.0000000340 -0.0932184607 -0.0003532915 -0.0002461231 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 15 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0000344122 -0.0024643545 - -0.0000000008 1.2101044655 -0.1230352074 -0.0000000000 -0.0000000000 -0.0000000001 - 0.0778401271 0.2149246335 0.0011441763 -0.5946485400 -0.3864594102 0.5872319937 - -0.0000000007 0.1860864758 0.0000000264 -0.2318746895 0.0080310274 0.0323035754 - 0.0000000040 0.2763552666 -0.0000000577 -0.1759222746 -0.0063751009 -0.0372570977 - 0.0000000022 0.3389309645 0.0000001035 -0.0981447101 0.0001521367 0.0000269017 - -0.0778401271 0.2149398476 -0.0016879914 -0.5818349123 0.3966173530 -0.5966655016 - 0.0000000005 0.1860864758 0.0000000476 -0.2302023321 -0.0009656642 0.0003932804 - -0.0000000019 0.2760955393 -0.0000000118 -0.1931295842 0.0027724898 0.0152555006 - -0.0000000019 0.3388735056 -0.0000000192 -0.0932184756 -0.0001180955 -0.0000822599 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 16 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0000344121 0.0024643526 - -0.0000000001 1.2101045847 -0.1230352074 0.0000000000 0.0000000000 0.0000000001 - 0.0778401271 0.2149246335 0.0011441763 -0.5933201313 -0.3865067959 0.5898893476 - 0.0000000009 0.1860865057 -0.0000001499 -0.2331379205 0.0063992962 0.0296594128 - -0.0000000028 0.2763552964 0.0000000396 -0.1758997738 -0.0069675068 -0.0373527259 - 0.0000000068 0.3389308751 0.0000000437 -0.0981447026 -0.0001520665 -0.0000268978 - -0.0778401271 0.2149398476 -0.0016879914 -0.5806130767 0.3966161311 -0.5997049212 - 0.0000000033 0.1860863864 -0.0000002473 -0.2311642021 0.0011643918 0.0033329444 - -0.0000000005 0.2760954797 0.0000000477 -0.1931212246 0.0033041926 0.0156142879 - 0.0000000054 0.3388733566 0.0000001146 -0.0932184532 0.0001180837 0.0000822865 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 17 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0001029475 0.0073723546 - 0.0000000003 1.2101045847 -0.1230351925 -0.0000000000 -0.0000000000 0.0000000002 - 0.0778401271 0.2149246335 0.0011441763 -0.5919897556 -0.3865488768 0.5925280452 - 0.0000000013 0.1860864758 0.0000001380 -0.2343931645 0.0047743013 0.0270259567 - 0.0000000001 0.2763552070 0.0000001187 -0.1758773774 -0.0075574410 -0.0374479406 - 0.0000000068 0.3389307261 0.0000000368 -0.0981447026 -0.0004550015 -0.0000804736 - -0.0778401271 0.2149398476 -0.0016879914 -0.5793854594 0.3966074586 -0.6027202606 - 0.0000000014 0.1860863417 -0.0000001957 -0.2321188748 0.0032855335 0.0062602828 - -0.0000000047 0.2760952711 -0.0000000479 -0.1931128353 0.0038336786 0.0159715787 - 0.0000000014 0.3388734162 -0.0000000103 -0.0932184756 0.0003532800 0.0002461509 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 18 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0001706159 0.0122182826 - -0.0000000063 1.2101045847 -0.1230351850 -0.0000000000 0.0000000000 -0.0000000005 - 0.0778401271 0.2149246335 0.0011441763 -0.5906685591 -0.3865856826 0.5951260328 - -0.0000000013 0.1860864908 0.0000001632 -0.2356301695 0.0031696912 0.0244253185 - 0.0000000067 0.2763552070 0.0000001086 -0.1758551747 -0.0081399754 -0.0375419594 - -0.0000000022 0.3389307857 0.0000000222 -0.0981446654 -0.0007541380 -0.0001333770 - -0.0778401271 0.2149398476 -0.0016879914 -0.5781624913 0.3965915740 -0.6056865454 - -0.0000000009 0.1860864460 0.0000000669 -0.2330582738 0.0053799371 0.0091506978 - 0.0000000040 0.2760954499 0.0000000370 -0.1931044310 0.0043565230 0.0163243786 - 0.0000000019 0.3388733864 0.0000000305 -0.0932184681 0.0005855256 0.0004079581 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 19 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0002368400 0.0169607736 - -0.0000000094 1.2101045847 -0.1230351999 -0.0000000000 0.0000000000 -0.0000000009 - 0.0778401271 0.2149246335 0.0011441763 -0.5893681049 -0.3866168857 0.5976615548 - 0.0000000028 0.1860864609 0.0000000101 -0.2368382961 0.0015991064 0.0218796209 - 0.0000000047 0.2763552666 -0.0000000249 -0.1758333445 -0.0087101664 -0.0376339592 - -0.0000000023 0.3389307559 -0.0000000568 -0.0981446579 -0.0010469398 -0.0001851620 - -0.0778401271 0.2149398476 -0.0016879914 -0.5769551992 0.3965688944 -0.6085788012 - 0.0000000026 0.1860863864 -0.0000000571 -0.2339746654 0.0074297851 0.0119796013 - -0.0000000005 0.2760953903 0.0000000171 -0.1930961758 0.0048682936 0.0166697055 - 0.0000000019 0.3388732970 -0.0000000119 -0.0932184532 0.0008128551 0.0005663423 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 20 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0003010435 0.0215585604 - -0.0000000010 1.2101047039 -0.1230351850 -0.0000000000 0.0000000000 -0.0000000009 - 0.0778401271 0.2149246335 0.0011441763 -0.5881004333 -0.3866427839 0.6001133323 - -0.0000000014 0.1860864162 -0.0000000259 -0.2380074561 0.0000761765 0.0194109846 - -0.0000000052 0.2763552964 0.0000000183 -0.1758121401 -0.0092630936 -0.0377231687 - 0.0000000001 0.3389307559 0.0000000231 -0.0981445983 -0.0013308754 -0.0002353764 - -0.0778401271 0.2149398476 -0.0016879914 -0.5757748485 0.3965402246 -0.6113730073 - -0.0000000012 0.1860865057 -0.0000000509 -0.2348602712 0.0094172927 0.0147224395 - 0.0000000001 0.2760952413 0.0000002448 -0.1930880696 0.0053645652 0.0170045625 - 0.0000000026 0.3388734758 0.0000000267 -0.0932184160 0.0010332997 0.0007199266 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 21 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0003626515 0.0259704944 - 0.0000000001 1.2101044655 -0.1230351999 0.0000000000 -0.0000000000 -0.0000000009 - 0.0778401271 0.2149246335 0.0011441763 -0.5868775249 -0.3866635263 0.6024599671 - -0.0000000042 0.1860864609 0.0000001028 -0.2391273826 -0.0013854826 0.0170414820 - -0.0000000044 0.2763552964 0.0000000058 -0.1757917255 -0.0097938161 -0.0378087871 - -0.0000000035 0.3389306366 -0.0000000359 -0.0981445909 -0.0016034129 -0.0002835758 - -0.0778401271 0.2149398476 -0.0016879914 -0.5746331215 0.3965064585 -0.6140449047 - -0.0000000033 0.1860865206 0.0000001198 -0.2357074469 0.0113246683 0.0173546895 - -0.0000000039 0.2760954499 -0.0000000717 -0.1930801868 0.0058409078 0.0173259694 - 0.0000000006 0.3388733268 0.0000000230 -0.0932183489 0.0012448934 0.0008673472 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 22 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0004210905 0.0301554631 - -0.0000000093 1.2101049423 -0.1230351925 -0.0000000000 0.0000000000 -0.0000000000 - 0.0778401271 0.2149246335 0.0011441763 -0.5857117176 -0.3866795003 0.6046805382 - 0.0000000042 0.1860864908 -0.0000000415 -0.2401878685 -0.0027722598 0.0147932051 - -0.0000000006 0.2763553858 -0.0000001152 -0.1757723391 -0.0102974009 -0.0378900133 - -0.0000000006 0.3389307261 -0.0000000915 -0.0981445238 -0.0018620143 -0.0003293103 - -0.0778401271 0.2149398476 -0.0016879914 -0.5735418200 0.3964688778 -0.6165711880 - -0.0000000028 0.1860864162 0.0000000434 -0.2365088612 0.0131341945 0.0198518690 - -0.0000000027 0.2760955691 -0.0000001532 -0.1930727363 0.0062928963 0.0176309422 - 0.0000000049 0.3388733864 -0.0000000330 -0.0932183489 0.0014456700 0.0010072298 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 23 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0004757880 0.0340725146 - -0.0000000035 1.2101044655 -0.1230351999 -0.0000000000 -0.0000000000 -0.0000000037 - 0.0778401271 0.2149246335 0.0011441763 -0.5846152306 -0.3866911232 0.6067544222 - -0.0000000009 0.1860864609 0.0000001012 -0.2411790490 -0.0040705749 0.0126882168 - 0.0000000055 0.2763551772 -0.0000000445 -0.1757541597 -0.0107689193 -0.0379660614 - 0.0000000049 0.3389307559 -0.0000000070 -0.0981444865 -0.0021041520 -0.0003721345 - -0.0778401271 0.2149398476 -0.0016879914 -0.5725129843 0.3964287639 -0.6189285517 - 0.0000000000 0.1860864460 -0.0000000652 -0.2372568697 0.0148281278 0.0221895166 - 0.0000000008 0.2760955989 0.0000000592 -0.1930656731 0.0067161005 0.0179164913 - 0.0000000023 0.3388735056 -0.0000000835 -0.0932182968 0.0016336618 0.0011382034 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 24 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0005261747 0.0376808494 - -0.0000000330 1.2101047039 -0.1230351850 -0.0000000000 -0.0000000000 -0.0000000056 - 0.0778401271 0.2149246335 0.0011441763 -0.5836005807 -0.3866990209 0.6086608768 - -0.0000000019 0.1860864609 -0.0000000080 -0.2420907468 -0.0052668378 0.0107485456 - 0.0000000026 0.2763552368 -0.0000000568 -0.1757373661 -0.0112034352 -0.0380361415 - -0.0000000030 0.3389308453 -0.0000000616 -0.0981444195 -0.0023272873 -0.0004115973 - -0.0778401271 0.2149398476 -0.0016879914 -0.5715590119 0.3963875771 -0.6210938096 - -0.0000000014 0.1860865206 0.0000001079 -0.2379442602 0.0163888019 0.0243432615 - 0.0000000005 0.2760954797 0.0000000231 -0.1930591017 0.0071060960 0.0181796271 - 0.0000000012 0.3388733864 0.0000000068 -0.0932182744 0.0018069039 0.0012589009 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 25 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0005716814 0.0409396924 - -0.0000000075 1.2101044655 -0.1230351999 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0778401271 0.2149246335 0.0011441763 -0.5826805830 -0.3867038786 0.6103793383 - -0.0000000019 0.1860865057 0.0000000729 -0.2429131269 -0.0063475068 0.0089962063 - 0.0000000023 0.2763550282 -0.0000000545 -0.1757220924 -0.0115960166 -0.0380994417 - -0.0000000033 0.3389307857 -0.0000000539 -0.0981443673 -0.0025288912 -0.0004472499 - -0.0778401271 0.2149398476 -0.0016879914 -0.5706922412 0.3963468671 -0.6230442524 - 0.0000000048 0.1860865057 0.0000001274 -0.2385635525 0.0177985448 0.0262886900 - -0.0000000042 0.2760955691 -0.0000000079 -0.1930531710 0.0074584535 0.0184173640 - 0.0000000051 0.3388733566 0.0000000183 -0.0932182074 0.0019634266 0.0013679507 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 26 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0006117407 0.0438084528 - 0.0000000059 1.2101047039 -0.1230351999 0.0000000000 -0.0000000001 -0.0000000000 - 0.0778401271 0.2149246335 0.0011441763 -0.5818678141 -0.3867063522 0.6118897200 - -0.0000000028 0.1860864609 -0.0000000292 -0.2436363101 -0.0072990400 0.0074531971 - 0.0000000035 0.2763552964 0.0000000089 -0.1757086068 -0.0119417254 -0.0381551832 - -0.0000000026 0.3389306664 -0.0000000754 -0.0981443226 -0.0027064283 -0.0004786504 - -0.0778401271 0.2149398476 -0.0016879914 -0.5699251294 0.3963082135 -0.6247571707 - -0.0000000024 0.1860864758 -0.0000000323 -0.2391077578 0.0190397501 0.0280015282 - -0.0000000016 0.2760956585 0.0000000925 -0.1930478513 0.0077687451 0.0186267216 - 0.0000000047 0.3388733268 0.0000000085 -0.0932181925 0.0021012656 0.0014639854 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 27 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0006457868 0.0462465957 - 0.0000000210 1.2101042271 -0.1230352074 0.0000000000 -0.0000000000 -0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.5811747909 -0.3867070377 0.6131715178 - 0.0000000009 0.1860864609 0.0000000157 -0.2442502826 -0.0081079099 0.0061414652 - -0.0000000026 0.2763552368 -0.0000000282 -0.1756972224 -0.0122356471 -0.0382025689 - -0.0000000002 0.3389308751 -0.0000000291 -0.0981442705 -0.0028573666 -0.0005053420 - -0.0778401271 0.2149398476 -0.0016879914 -0.5692700744 0.3962733746 -0.6262101531 - 0.0000000062 0.1860864908 -0.0000001479 -0.2395693660 0.0200947635 0.0294574406 - 0.0000000005 0.2760954797 -0.0000000434 -0.1930433810 0.0080325520 0.0188047104 - -0.0000000035 0.3388733864 0.0000000422 -0.0932181329 0.0022184520 0.0015456313 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 28 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0006732527 0.0482135080 - -0.0000000153 1.2101045847 -0.1230351850 -0.0000000000 0.0000000000 -0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.5806142092 -0.3867067397 0.6142043471 - 0.0000000028 0.1860865653 0.0000001002 -0.2447452396 -0.0087605752 0.0050830110 - 0.0000000002 0.2763551474 -0.0000000061 -0.1756880134 -0.0124728372 -0.0382408127 - 0.0000000079 0.3389307857 -0.0000001050 -0.0981442183 -0.0029791726 -0.0005268861 - -0.0778401271 0.2149398476 -0.0016879914 -0.5687397122 0.3962439895 -0.6273802519 - -0.0000000005 0.1860864311 0.0000000892 -0.2399412543 0.0209460016 0.0306321345 - 0.0000000014 0.2760955393 0.0000001216 -0.1930396557 0.0082454318 0.0189483445 - 0.0000000040 0.3388732970 -0.0000000134 -0.0932181180 0.0023130209 0.0016115179 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 29 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0006935737 0.0496687405 - 0.0000000073 1.2101043463 -0.1230351999 -0.0000000000 -0.0000000000 -0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.5801987052 -0.3867060244 0.6149677634 - 0.0000000047 0.1860865057 -0.0000000115 -0.2451112419 -0.0092435284 0.0042997641 - -0.0000000018 0.2763551772 -0.0000001956 -0.1756811142 -0.0126483580 -0.0382691026 - -0.0000000023 0.3389307857 0.0000000240 -0.0981442109 -0.0030693139 -0.0005428274 - -0.0778401271 0.2149398476 -0.0016879914 -0.5683460832 0.3962213993 -0.6282448173 - -0.0000000082 0.1860864908 0.0000000724 -0.2402160168 0.0215758439 0.0315013267 - 0.0000000005 0.2760955095 -0.0000000078 -0.1930370033 0.0084029771 0.0190546345 - -0.0000000042 0.3388735056 -0.0000000445 -0.0932181031 0.0023830060 0.0016602778 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 30 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0007061831 0.0505717695 - -0.0000000237 1.2101047039 -0.1230351999 -0.0000000000 -0.0000000000 -0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.5799404979 -0.3867053092 0.6154412031 - -0.0000000037 0.1860863715 -0.0000000161 -0.2453381717 -0.0095432326 0.0038136954 - 0.0000000020 0.2763551176 0.0000000328 -0.1756769419 -0.0127572995 -0.0382866673 - -0.0000000056 0.3389305770 -0.0000000446 -0.0981441736 -0.0031252550 -0.0005527237 - -0.0778401271 0.2149398476 -0.0016879914 -0.5681014061 0.3962070346 -0.6287809014 - -0.0000000036 0.1860864609 0.0000002156 -0.2403864563 0.0219667237 0.0320407040 - -0.0000000005 0.2760956287 -0.0000001048 -0.1930352896 0.0085007465 0.0191205982 - 0.0000000005 0.3388733566 0.0000000169 -0.0932180658 0.0024264392 0.0016905358 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 31 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0007105127 0.0508817993 - -0.0000000186 1.2101048231 -0.1230351925 -0.0000000000 0.0000000000 -0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.5798516870 -0.3867050111 0.6156037450 - 0.0000000037 0.1860864908 0.0000000454 -0.2454161346 -0.0096461400 0.0036467924 - 0.0000000033 0.2763551772 -0.0000000042 -0.1756754071 -0.0127946958 -0.0382926911 - 0.0000000002 0.3389307857 0.0000000163 -0.0981441885 -0.0031444661 -0.0005561193 - -0.0778401271 0.2149398476 -0.0016879914 -0.5680173039 0.3962021172 -0.6289648414 - 0.0000000011 0.1860864162 0.0000000171 -0.2404449731 0.0221009236 0.0322259068 - -0.0000000005 0.2760955393 -0.0000000083 -0.1930346489 0.0085343216 0.0191432498 - 0.0000000098 0.3388731778 0.0000000276 -0.0932180658 0.0024413536 0.0017009265 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 32 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0007061831 0.0505717471 - -0.0000000312 1.2101047039 -0.1230351999 -0.0000000000 -0.0000000000 -0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.5799404979 -0.3867053092 0.6154412031 - 0.0000000019 0.1860863715 -0.0000000161 -0.2453381717 -0.0095432298 0.0038136989 - -0.0000000019 0.2763551176 0.0000000327 -0.1756769419 -0.0127572976 -0.0382866673 - -0.0000000086 0.3389305770 -0.0000000442 -0.0981441736 -0.0031252550 -0.0005527227 - -0.0778401271 0.2149398476 -0.0016879914 -0.5681014061 0.3962070644 -0.6287809014 - -0.0000000020 0.1860864609 0.0000002227 -0.2403864861 0.0219667144 0.0320407003 - -0.0000000005 0.2760956287 -0.0000001053 -0.1930353343 0.0085007483 0.0191206019 - 0.0000000012 0.3388733268 0.0000000319 -0.0932180658 0.0024264387 0.0016905370 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 33 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0006935738 0.0496687479 - 0.0000000221 1.2101043463 -0.1230351999 0.0000000000 -0.0000000000 -0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.5801986456 -0.3867059648 0.6149677634 - 0.0000000037 0.1860864758 -0.0000000191 -0.2451112121 -0.0092435256 0.0042997589 - -0.0000000027 0.2763551772 -0.0000001957 -0.1756811142 -0.0126483580 -0.0382691063 - 0.0000000033 0.3389307857 0.0000000241 -0.0981442109 -0.0030693139 -0.0005428279 - -0.0778401271 0.2149398476 -0.0016879914 -0.5683460832 0.3962213993 -0.6282448173 - -0.0000000006 0.1860864311 0.0000000724 -0.2402160913 0.0215758625 0.0315013304 - -0.0000000005 0.2760956883 -0.0000000670 -0.1930370033 0.0084029762 0.0190546326 - 0.0000000061 0.3388734460 0.0000000150 -0.0932181031 0.0023830060 0.0016602753 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 34 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0006732528 0.0482135043 - -0.0000000079 1.2101045847 -0.1230351850 -0.0000000000 0.0000000000 -0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.5806142092 -0.3867067397 0.6142043471 - -0.0000000056 0.1860865653 0.0000001003 -0.2447452396 -0.0087605761 0.0050830022 - 0.0000000030 0.2763551474 -0.0000000060 -0.1756880134 -0.0124728391 -0.0382408127 - 0.0000000047 0.3389307857 -0.0000001051 -0.0981442183 -0.0029791726 -0.0005268868 - -0.0778401271 0.2149398476 -0.0016879914 -0.5687397122 0.3962439895 -0.6273802519 - -0.0000000067 0.1860864609 -0.0000000378 -0.2399412543 0.0209460016 0.0306321420 - -0.0000000019 0.2760954499 0.0000000914 -0.1930396557 0.0082454327 0.0189483408 - 0.0000000054 0.3388733268 0.0000000612 -0.0932181105 0.0023130223 0.0016115186 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 35 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0006457865 0.0462465733 - 0.0000000285 1.2101042271 -0.1230352074 0.0000000000 -0.0000000000 -0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.5811747909 -0.3867070377 0.6131715178 - -0.0000000009 0.1860864609 0.0000000231 -0.2442502975 -0.0081079062 0.0061414633 - 0.0000000002 0.2763551176 -0.0000000283 -0.1756972373 -0.0122356433 -0.0382025689 - 0.0000000040 0.3389309347 0.0000000006 -0.0981442705 -0.0028573666 -0.0005053435 - -0.0778401271 0.2149398476 -0.0016879914 -0.5692700744 0.3962733746 -0.6262101531 - 0.0000000008 0.1860864908 -0.0000001479 -0.2395693660 0.0200947598 0.0294574462 - 0.0000000014 0.2760954797 -0.0000000433 -0.1930433810 0.0080325501 0.0188047104 - 0.0000000027 0.3388733864 0.0000000422 -0.0932181329 0.0022184525 0.0015456295 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 36 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0006117407 0.0438084528 - 0.0000000059 1.2101047039 -0.1230351999 0.0000000000 -0.0000000001 -0.0000000000 - 0.0778401271 0.2149246335 0.0011441763 -0.5818678141 -0.3867063522 0.6118897200 - -0.0000000037 0.1860864609 -0.0000000291 -0.2436363101 -0.0072990428 0.0074531925 - 0.0000000007 0.2763552964 0.0000000090 -0.1757086068 -0.0119417273 -0.0381551795 - -0.0000000005 0.3389306664 -0.0000000755 -0.0981443226 -0.0027064288 -0.0004786505 - -0.0778401271 0.2149398476 -0.0016879914 -0.5699251294 0.3963082135 -0.6247571707 - -0.0000000004 0.1860864311 -0.0000000324 -0.2391077280 0.0190397408 0.0280015394 - -0.0000000005 0.2760956883 -0.0000000269 -0.1930478364 0.0077687460 0.0186267216 - 0.0000000021 0.3388732970 -0.0000000509 -0.0932181776 0.0021012656 0.0014639868 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 37 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0005716814 0.0409396961 - -0.0000000149 1.2101044655 -0.1230351999 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0778401271 0.2149246335 0.0011441763 -0.5826805830 -0.3867038786 0.6103793383 - 0.0000000000 0.1860865057 -0.0000000389 -0.2429131716 -0.0063475072 0.0089962045 - 0.0000000051 0.2763549984 -0.0000000842 -0.1757221073 -0.0115960147 -0.0380994380 - -0.0000000007 0.3389308155 -0.0000000241 -0.0981443748 -0.0025288910 -0.0004472510 - -0.0778401271 0.2149398476 -0.0016879914 -0.5706922412 0.3963468373 -0.6230442524 - 0.0000000049 0.1860865057 0.0000001349 -0.2385635823 0.0177985504 0.0262887031 - -0.0000000033 0.2760954797 -0.0000000077 -0.1930531412 0.0074584545 0.0184173640 - 0.0000000002 0.3388733864 0.0000000181 -0.0932182074 0.0019634266 0.0013679523 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 38 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0005261747 0.0376808345 - -0.0000000404 1.2101047039 -0.1230351850 -0.0000000000 -0.0000000000 -0.0000000056 - 0.0778401271 0.2149246335 0.0011441763 -0.5836005807 -0.3866990209 0.6086608768 - -0.0000000047 0.1860864609 -0.0000000079 -0.2420907319 -0.0052668345 0.0107485428 - 0.0000000003 0.2763551176 -0.0000000864 -0.1757373512 -0.0112034343 -0.0380361378 - -0.0000000040 0.3389308453 0.0000000576 -0.0981444046 -0.0023272873 -0.0004115966 - -0.0778401271 0.2149398476 -0.0016879914 -0.5715590119 0.3963875473 -0.6210938096 - 0.0000000091 0.1860865206 0.0000001080 -0.2379442751 0.0163887981 0.0243432596 - -0.0000000037 0.2760954499 -0.0000000959 -0.1930591017 0.0071060965 0.0181796271 - -0.0000000030 0.3388733268 0.0000000664 -0.0932182670 0.0018069039 0.0012589038 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 39 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0004757881 0.0340725146 - -0.0000000035 1.2101044655 -0.1230351999 0.0000000000 -0.0000000000 -0.0000000037 - 0.0778401271 0.2149246335 0.0011441763 -0.5846152306 -0.3866911232 0.6067544222 - 0.0000000056 0.1860864609 0.0000001010 -0.2411790937 -0.0040705698 0.0126882149 - -0.0000000026 0.2763553262 -0.0000000146 -0.1757541597 -0.0107689202 -0.0379660614 - -0.0000000009 0.3389307261 -0.0000000667 -0.0981444865 -0.0021041513 -0.0003721355 - -0.0778401271 0.2149398476 -0.0016879914 -0.5725129843 0.3964287341 -0.6189285517 - -0.0000000036 0.1860864460 -0.0000000651 -0.2372568697 0.0148281278 0.0221895240 - 0.0000000013 0.2760955989 0.0000000595 -0.1930656731 0.0067161019 0.0179164875 - -0.0000000034 0.3388735056 -0.0000000835 -0.0932182968 0.0016336621 0.0011382045 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 40 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0004210903 0.0301554538 - -0.0000000092 1.2101049423 -0.1230351925 -0.0000000000 0.0000000000 -0.0000000000 - 0.0778401271 0.2149246335 0.0011441763 -0.5857117176 -0.3866795003 0.6046805382 - 0.0000000051 0.1860864908 -0.0000000415 -0.2401878685 -0.0027722588 0.0147932060 - 0.0000000013 0.2763553858 -0.0000001153 -0.1757723391 -0.0102974009 -0.0378900133 - -0.0000000044 0.3389307261 -0.0000000915 -0.0981445238 -0.0018620145 -0.0003293121 - -0.0778401271 0.2149398476 -0.0016879914 -0.5735418200 0.3964688778 -0.6165711880 - 0.0000000042 0.1860864162 0.0000000434 -0.2365088612 0.0131341927 0.0198518690 - -0.0000000013 0.2760955691 -0.0000001531 -0.1930727363 0.0062928954 0.0176309422 - 0.0000000003 0.3388733864 -0.0000000327 -0.0932183489 0.0014456697 0.0010072280 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 41 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0003626515 0.0259704851 - 0.0000000001 1.2101044655 -0.1230351999 -0.0000000000 -0.0000000000 -0.0000000009 - 0.0778401271 0.2149246335 0.0011441763 -0.5868775249 -0.3866635263 0.6024599671 - 0.0000000023 0.1860864013 0.0000001103 -0.2391273230 -0.0013854794 0.0170414783 - -0.0000000054 0.2763552964 0.0000000357 -0.1757917255 -0.0097938161 -0.0378087834 - -0.0000000044 0.3389306664 -0.0000000656 -0.0981445909 -0.0016034124 -0.0002835751 - -0.0778401271 0.2149398476 -0.0016879914 -0.5746331215 0.3965064585 -0.6140449047 - -0.0000000023 0.1860865206 0.0000001198 -0.2357074469 0.0113246683 0.0173546933 - -0.0000000008 0.2760955691 -0.0000001016 -0.1930801868 0.0058409083 0.0173259694 - -0.0000000017 0.3388732970 0.0000000231 -0.0932183489 0.0012448934 0.0008673480 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 42 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0003010435 0.0215585623 - -0.0000000047 1.2101047039 -0.1230351850 -0.0000000000 0.0000000000 -0.0000000009 - 0.0778401271 0.2149246335 0.0011441763 -0.5881004333 -0.3866427541 0.6001133323 - -0.0000000023 0.1860863715 0.0000000783 -0.2380075157 0.0000761748 0.0194109771 - -0.0000000061 0.2763552964 -0.0000001604 -0.1758121550 -0.0092630927 -0.0377231687 - 0.0000000040 0.3389307261 -0.0000000366 -0.0981446058 -0.0013308759 -0.0002353786 - -0.0778401271 0.2149398476 -0.0016879914 -0.5757748485 0.3965402246 -0.6113730073 - -0.0000000030 0.1860865057 -0.0000000509 -0.2348603010 0.0094172917 0.0147224488 - -0.0000000003 0.2760952413 0.0000002151 -0.1930880547 0.0053645652 0.0170045607 - -0.0000000005 0.3388733268 -0.0000000030 -0.0932184085 0.0010332997 0.0007199265 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 43 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0002368400 0.0169607718 - -0.0000000132 1.2101048231 -0.1230351999 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0778401271 0.2149246335 0.0011441763 -0.5893681049 -0.3866168857 0.5976615548 - 0.0000000002 0.1860864609 0.0000000100 -0.2368382514 0.0015991081 0.0218796227 - -0.0000000002 0.2763552666 0.0000000049 -0.1758333445 -0.0087101664 -0.0376339592 - -0.0000000033 0.3389307857 -0.0000000568 -0.0981446579 -0.0010469402 -0.0001851602 - -0.0778401271 0.2149398476 -0.0016879914 -0.5769551992 0.3965688944 -0.6085788012 - -0.0000000019 0.1860863864 -0.0000000497 -0.2339746356 0.0074297851 0.0119796032 - -0.0000000002 0.2760954201 0.0000000171 -0.1930961609 0.0048682936 0.0166697018 - -0.0000000001 0.3388732672 -0.0000000417 -0.0932184383 0.0008128544 0.0005663424 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 44 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0001706159 0.0122182807 - -0.0000000044 1.2101045847 -0.1230351850 -0.0000000000 0.0000000000 -0.0000000005 - 0.0778401271 0.2149246335 0.0011441763 -0.5906685591 -0.3865856826 0.5951260328 - -0.0000000005 0.1860864908 0.0000001631 -0.2356301695 0.0031696928 0.0244253203 - 0.0000000039 0.2763552070 0.0000001085 -0.1758551747 -0.0081399744 -0.0375419594 - 0.0000000026 0.3389307857 0.0000000221 -0.0981446654 -0.0007541375 -0.0001333770 - -0.0778401271 0.2149398476 -0.0016879914 -0.5781624913 0.3965915143 -0.6056864858 - 0.0000000000 0.1860863864 0.0000000520 -0.2330582589 0.0053799357 0.0091507016 - 0.0000000028 0.2760955691 0.0000001563 -0.1931044012 0.0043565230 0.0163243804 - 0.0000000005 0.3388735354 0.0000000604 -0.0932184681 0.0005855256 0.0004079583 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 45 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0001029475 0.0073723565 - 0.0000000003 1.2101045847 -0.1230351925 -0.0000000000 -0.0000000000 0.0000000002 - 0.0778401271 0.2149246335 0.0011441763 -0.5919897556 -0.3865489066 0.5925280452 - 0.0000000035 0.1860864758 0.0000001380 -0.2343931645 0.0047743018 0.0270259567 - -0.0000000009 0.2763552070 0.0000001186 -0.1758773774 -0.0075574419 -0.0374479406 - 0.0000000084 0.3389307261 0.0000000369 -0.0981447026 -0.0004550016 -0.0000804739 - -0.0778401271 0.2149398476 -0.0016879914 -0.5793853998 0.3966074884 -0.6027203798 - 0.0000000028 0.1860864162 -0.0000000914 -0.2321188897 0.0032855337 0.0062602903 - 0.0000000023 0.2760953903 -0.0000001372 -0.1931128204 0.0038336799 0.0159715787 - -0.0000000051 0.3388734758 0.0000000493 -0.0932184756 0.0003532801 0.0002461507 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 46 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0000344122 0.0024643508 - -0.0000000001 1.2101045847 -0.1230352074 -0.0000000000 0.0000000000 0.0000000001 - 0.0778401271 0.2149246335 0.0011441763 -0.5933201313 -0.3865067959 0.5898893476 - 0.0000000021 0.1860865057 -0.0000001500 -0.2331379056 0.0063992939 0.0296594109 - 0.0000000097 0.2763550878 0.0000000694 -0.1758997440 -0.0069675045 -0.0373527259 - 0.0000000070 0.3389306962 0.0000001031 -0.0981446952 -0.0001520667 -0.0000268964 - -0.0778401271 0.2149398476 -0.0016879914 -0.5806130767 0.3966161311 -0.5997049212 - 0.0000000009 0.1860863864 -0.0000002473 -0.2311642021 0.0011643933 0.0033329488 - 0.0000000019 0.2760954797 0.0000000477 -0.1931212246 0.0033041926 0.0156142879 - 0.0000000021 0.3388733566 0.0000001146 -0.0932184532 0.0001180837 0.0000822884 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 47 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0000344121 -0.0024643526 - 0.0000000001 1.2101044655 -0.1230352074 0.0000000000 -0.0000000000 -0.0000000001 - 0.0778401271 0.2149246335 0.0011441763 -0.5946485996 -0.3864594698 0.5872319937 - -0.0000000019 0.1860864908 0.0000000264 -0.2318747342 0.0080310274 0.0323035754 - 0.0000000026 0.2763552666 0.0000000913 -0.1759222746 -0.0063751009 -0.0372570977 - 0.0000000046 0.3389308453 0.0000001036 -0.0981447026 0.0001521361 0.0000269024 - -0.0778401271 0.2149398476 -0.0016879914 -0.5818349123 0.3966173530 -0.5966655016 - 0.0000000005 0.1860864758 0.0000000477 -0.2302023321 -0.0009656611 0.0003932911 - -0.0000000019 0.2760955393 -0.0000000117 -0.1931295842 0.0027724891 0.0152554996 - -0.0000000075 0.3388735056 -0.0000000192 -0.0932184756 -0.0001180954 -0.0000822589 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 48 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0001029475 -0.0073723621 - 0.0000000016 1.2101045847 -0.1230351850 0.0000000000 0.0000000000 -0.0000000002 - 0.0778401271 0.2149246335 0.0011441763 -0.5959637761 -0.3864072859 0.5845781565 - 0.0000000005 0.1860864460 -0.0000000655 -0.2306141704 0.0096558584 0.0349363312 - 0.0000000102 0.2763551176 -0.0000000346 -0.1759445667 -0.0057851616 -0.0371618457 - 0.0000000015 0.3389309049 0.0000000410 -0.0981446877 0.0004550722 0.0000804789 - -0.0778401271 0.2149398476 -0.0016879914 -0.5830405354 0.3966109753 -0.5936273932 - 0.0000000009 0.1860864311 -0.0000001687 -0.2292412370 -0.0030868074 -0.0025341024 - 0.0000000009 0.2760955393 0.0000000603 -0.1931378394 0.0022430015 0.0148981987 - -0.0000000009 0.3388732374 -0.0000000638 -0.0932184607 -0.0003532919 -0.0002461227 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 49 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0001706159 -0.0122182826 - 0.0000000025 1.2101045847 -0.1230351850 -0.0000000000 -0.0000000000 0.0000000005 - 0.0778401271 0.2149246335 0.0011441763 -0.5972548723 -0.3863508999 0.5819503069 - -0.0000000028 0.1860864162 -0.0000000062 -0.2293669730 0.0112601528 0.0375356041 - -0.0000000026 0.2763551772 -0.0000000149 -0.1759665757 -0.0052026194 -0.0370677896 - 0.0000000062 0.3389309049 0.0000000619 -0.0981446803 0.0007542081 0.0001333809 - -0.0778401271 0.2149398476 -0.0016879914 -0.5842202306 0.3965973556 -0.5906166434 - -0.0000000007 0.1860864609 -0.0000000435 -0.2282890230 -0.0051812138 -0.0054246169 - -0.0000000042 0.2760953307 0.0000000005 -0.1931458861 0.0017201524 0.0145453745 - -0.0000000014 0.3388735056 -0.0000000726 -0.0932184532 -0.0005855380 -0.0004079303 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 50 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0002368400 -0.0169607736 - 0.0000000020 1.2101044655 -0.1230351999 -0.0000000000 -0.0000000000 0.0000000009 - 0.0778401271 0.2149246335 0.0011441763 -0.5985113382 -0.3862910271 0.5793712139 - -0.0000000007 0.1860864908 -0.0000001182 -0.2281437963 0.0128302723 0.0400793031 - 0.0000000087 0.2763552368 0.0000000012 -0.1759880185 -0.0046324078 -0.0369757004 - 0.0000000014 0.3389307261 0.0000000655 -0.0981446728 0.0010470108 0.0001851665 - -0.0778401271 0.2149398476 -0.0016879914 -0.5853643417 0.3965769410 -0.5876592994 - 0.0000000027 0.1860864908 -0.0000001255 -0.2273541242 -0.0072310790 -0.0082536787 - 0.0000000005 0.2760954797 0.0000000904 -0.1931537837 0.0012083721 0.0142000159 - -0.0000000019 0.3388733268 0.0000001149 -0.0932184234 -0.0008128671 -0.0005663113 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 51 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0003010435 -0.0215585604 - 0.0000000010 1.2101044655 -0.1230351850 -0.0000000000 -0.0000000000 0.0000000009 - 0.0778401271 0.2149246335 0.0011441763 -0.5997226834 -0.3862285614 0.5768638253 - -0.0000000051 0.1860864013 -0.0000000469 -0.2269555628 0.0143526113 0.0425453968 - 0.0000000002 0.2763551474 0.0000001031 -0.1760087311 -0.0040794667 -0.0368863977 - 0.0000000033 0.3389308155 0.0000000586 -0.0981446207 0.0013309463 0.0002353798 - -0.0778401271 0.2149398476 -0.0016879914 -0.5864638090 0.3965504766 -0.5847818851 - -0.0000000006 0.1860864758 0.0000000165 -0.2264446318 -0.0092185875 -0.0109967012 - 0.0000000028 0.2760955393 -0.0000000171 -0.1931612492 0.0007120934 0.0138651067 - -0.0000000028 0.3388735354 0.0000000001 -0.0932184085 -0.0010333110 -0.0007198986 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 52 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0003626517 -0.0259704869 - 0.0000000149 1.2101043463 -0.1230351999 0.0000000000 0.0000000000 0.0000000009 - 0.0778401271 0.2149246335 0.0011441763 -0.6008788943 -0.3861644566 0.5744510889 - -0.0000000027 0.1860865057 -0.0000000515 -0.2258129418 0.0158135667 0.0449118912 - -0.0000000007 0.2763552368 0.0000000491 -0.1760285646 -0.0035487271 -0.0368006639 - -0.0000000026 0.3389307261 0.0000000623 -0.0981445909 0.0016034823 0.0002835805 - -0.0778401271 0.2149398476 -0.0016879914 -0.5875098109 0.3965188563 -0.5820113420 - 0.0000000012 0.1860864758 -0.0000001495 -0.2255691737 -0.0111259846 -0.0136291878 - -0.0000000037 0.2760953307 -0.0000000807 -0.1931684315 0.0002357382 0.0135436393 - 0.0000000023 0.3388733864 -0.0000000268 -0.0932183564 -0.0012449060 -0.0008673176 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 53 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0004210905 -0.0301554631 - 0.0000000093 1.2101048231 -0.1230351925 -0.0000000000 -0.0000000000 0.0000000000 - 0.0778401271 0.2149246335 0.0011441763 -0.6019702554 -0.3860999644 0.5721564889 - 0.0000000017 0.1860863715 -0.0000000772 -0.2247269601 0.0171995498 0.0471567661 - -0.0000000030 0.2763552070 0.0000001853 -0.1760473400 -0.0030451149 -0.0367193036 - 0.0000000016 0.3389306962 0.0000000245 -0.0981445387 0.0018620847 0.0003293151 - -0.0778401271 0.2149398476 -0.0016879914 -0.5884938836 0.3964832127 -0.5793746710 - -0.0000000007 0.1860863715 0.0000001291 -0.2247361988 -0.0129355155 -0.0161266159 - -0.0000000009 0.2760954499 -0.0000000241 -0.1931751072 -0.0002162619 0.0132386070 - 0.0000000065 0.3388732076 -0.0000000002 -0.0932183117 -0.0014456835 -0.0010072007 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 54 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0004757880 -0.0340725072 - 0.0000000035 1.2101044655 -0.1230351999 -0.0000000000 0.0000000000 0.0000000037 - 0.0778401271 0.2149246335 0.0011441763 -0.6029866934 -0.3860362172 0.5700033903 - 0.0000000034 0.1860864908 0.0000001453 -0.2237085700 0.0184970163 0.0492581278 - 0.0000000026 0.2763552070 0.0000000396 -0.1760649681 -0.0025735763 -0.0366431139 - -0.0000000077 0.3389306068 -0.0000000323 -0.0981445014 0.0021042218 0.0003721397 - -0.0778401271 0.2149398476 -0.0016879914 -0.5894077420 0.3964449465 -0.5768991113 - -0.0000000009 0.1860864460 -0.0000001481 -0.2239542902 -0.0146294627 -0.0184645280 - 0.0000000009 0.2760954499 -0.0000000277 -0.1931813657 -0.0006394779 0.0129529973 - -0.0000000065 0.3388734162 -0.0000000157 -0.0932182670 -0.0016336751 -0.0011381739 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 55 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0005261746 -0.0376808345 - 0.0000000404 1.2101047039 -0.1230351850 -0.0000000000 0.0000000000 0.0000000056 - 0.0778401271 0.2149246335 0.0011441763 -0.6039189100 -0.3859747350 0.5680154562 - 0.0000000017 0.1860863864 -0.0000000712 -0.2227688432 0.0196924135 0.0511940755 - 0.0000000016 0.2763552368 0.0000000448 -0.1760810912 -0.0021390363 -0.0365728997 - 0.0000000079 0.3389308155 0.0000000241 -0.0981444344 0.0023273560 0.0004116010 - -0.0778401271 0.2149398476 -0.0016879914 -0.5902435184 0.3964055181 -0.5746121407 - -0.0000000014 0.1860865355 -0.0000001573 -0.2232321054 -0.0161901526 -0.0206185635 - -0.0000000037 0.2760953903 -0.0000000233 -0.1931870878 -0.0010294879 0.0126897944 - -0.0000000009 0.3388732970 -0.0000000693 -0.0932182670 -0.0018069171 -0.0012588737 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 56 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0005716815 -0.0409396999 - 0.0000000224 1.2101045847 -0.1230351999 -0.0000000000 0.0000000000 0.0000000000 - 0.0778401271 0.2149246335 0.0011441763 -0.6047574878 -0.3859168887 0.5662160516 - 0.0000000026 0.1860864162 -0.0000000608 -0.2219187170 0.0207722299 0.0529427193 - -0.0000000026 0.2763552070 -0.0000000160 -0.1760956347 -0.0017464275 -0.0365094543 - -0.0000000019 0.3389307559 -0.0000000962 -0.0981443748 0.0025289615 0.0004472560 - -0.0778401271 0.2149398476 -0.0016879914 -0.5909931660 0.3963662684 -0.5725411773 - 0.0000000000 0.1860864013 -0.0000003668 -0.2225782275 -0.0175999142 -0.0225642826 - -0.0000000037 0.2760955095 0.0000001914 -0.1931922883 -0.0013818573 0.0124519868 - 0.0000000019 0.3388732970 0.0000000177 -0.0932182223 -0.0019634401 -0.0013679253 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 57 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0006117407 -0.0438084528 - -0.0000000059 1.2101044655 -0.1230351999 0.0000000000 0.0000000001 0.0000000000 - 0.0778401271 0.2149246335 0.0011441763 -0.6054930091 -0.3858641386 0.5646291375 - 0.0000000035 0.1860864460 -0.0000001601 -0.2211692482 0.0217229426 0.0544822216 - 0.0000000021 0.2763552070 0.0000000270 -0.1761084050 -0.0014006889 -0.0364535786 - -0.0000000009 0.3389307559 0.0000000647 -0.0981443301 0.0027064981 0.0004786549 - -0.0778401271 0.2149398476 -0.0016879914 -0.5916491151 0.3963291049 -0.5707138777 - 0.0000000023 0.1860864758 0.0000001351 -0.2220012993 -0.0188411158 -0.0242773686 - 0.0000000000 0.2760953903 0.0000000334 -0.1931966990 -0.0016921622 0.0122425659 - -0.0000000037 0.3388733864 0.0000000557 -0.0932181925 -0.0021012784 -0.0014639579 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 58 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0006457866 -0.0462465659 - -0.0000000359 1.2101042271 -0.1230352074 -0.0000000000 0.0000000000 0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.6061161160 -0.3858179748 0.5632781386 - -0.0000000009 0.1860864162 -0.0000000348 -0.2205315232 0.0225310624 0.0557907671 - -0.0000000088 0.2763552368 0.0000001609 -0.1761192679 -0.0011067491 -0.0364060663 - -0.0000000033 0.3389308453 0.0000000864 -0.0981442779 0.0028574369 0.0005053490 - -0.0778401271 0.2149398476 -0.0016879914 -0.5922036767 0.3962953389 -0.5691577196 - 0.0000000005 0.1860864311 0.0000000427 -0.2215100825 -0.0198961478 -0.0257335268 - 0.0000000000 0.2760955691 0.0000000542 -0.1932005286 -0.0019559767 0.0120645212 - -0.0000000056 0.3388734460 -0.0000000347 -0.0932181403 -0.0022184646 -0.0015456023 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 59 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0006732529 -0.0482135229 - 0.0000000377 1.2101045847 -0.1230351850 -0.0000000000 -0.0000000000 0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.6066175103 -0.3857797682 0.5621866584 - -0.0000000056 0.1860864162 -0.0000000975 -0.2200164348 0.0231831167 0.0568465479 - -0.0000000051 0.2763553262 0.0000001542 -0.1761280149 -0.0008695455 -0.0363677293 - 0.0000000042 0.3389308751 0.0000000203 -0.0981442481 0.0029792427 0.0005268907 - -0.0778401271 0.2149398476 -0.0016879914 -0.5926492810 0.3962669075 -0.5679001212 - 0.0000000023 0.1860864609 -0.0000001923 -0.2211132050 -0.0207473971 -0.0269084275 - -0.0000000037 0.2760955393 0.0000001357 -0.1932035387 -0.0021688705 0.0119208377 - -0.0000000065 0.3388733864 -0.0000000097 -0.0932181254 -0.0023130334 -0.0016114921 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 60 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0006935737 -0.0496687554 - -0.0000000147 1.2101044655 -0.1230351999 0.0000000000 0.0000000000 0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.6069875956 -0.3857510388 0.5613783002 - 0.0000000019 0.1860864908 0.0000000519 -0.2196350098 0.0236655846 0.0576277189 - 0.0000000043 0.2763552070 0.0000000584 -0.1761345416 -0.0006940040 -0.0363393575 - -0.0000000037 0.3389306068 -0.0000000091 -0.0981442332 0.0030693836 0.0005428338 - -0.0778401271 0.2149398476 -0.0016879914 -0.5929777026 0.3962449729 -0.5669685006 - -0.0000000009 0.1860863864 -0.0000002057 -0.2208191603 -0.0213772804 -0.0277777761 - 0.0000000028 0.2760955691 -0.0000000756 -0.1932057738 -0.0023264212 0.0118145077 - -0.0000000009 0.3388733566 -0.0000000055 -0.0932181105 -0.0023830181 -0.0016602500 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 61 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0007061831 -0.0505717508 - -0.0000000061 1.2101045847 -0.1230351999 -0.0000000000 0.0000000000 0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.6072170138 -0.3857329190 0.5608763099 - 0.0000000051 0.1860864162 -0.0000001931 -0.2193982005 0.0239649899 0.0581124909 - -0.0000000041 0.2763552964 -0.0000000623 -0.1761385351 -0.0005850627 -0.0363217443 - 0.0000000019 0.3389307261 0.0000000034 -0.0981441960 0.0031253248 0.0005527271 - -0.0778401271 0.2149398476 -0.0016879914 -0.5931809545 0.3962310851 -0.5663899183 - -0.0000000005 0.1860864311 0.0000000416 -0.2206365317 -0.0217681304 -0.0283172242 - 0.0000000037 0.2760955393 -0.0000001049 -0.1932071745 -0.0024241989 0.0117485207 - 0.0000000009 0.3388734460 0.0000001045 -0.0932180658 -0.0024264511 -0.0016905095 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - -frame 62 { - 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 - 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 - 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 - 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 - 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0007105127 -0.0508817993 - 0.0000000111 1.2101048231 -0.1230351925 -0.0000000000 -0.0000000000 0.0000000019 - 0.0778401271 0.2149246335 0.0011441763 -0.6072957516 -0.3857267797 0.5607039332 - 0.0000000009 0.1860864162 0.0000000499 -0.2193168551 0.0240677837 0.0582789406 - 0.0000000031 0.2763552666 -0.0000001102 -0.1761399060 -0.0005476516 -0.0363156982 - -0.0000000014 0.3389308155 -0.0000000412 -0.0981442034 0.0031445359 0.0005561242 - -0.0778401271 0.2149398476 -0.0016879914 -0.5932507515 0.3962262571 -0.5661910772 - -0.0000000019 0.1860864460 -0.0000000850 -0.2205737978 -0.0219023414 -0.0285024680 - -0.0000000065 0.2760955393 -0.0000001188 -0.1932076514 -0.0024577731 0.0117258616 - 0.0000000009 0.3388734162 -0.0000000167 -0.0932180807 -0.0024413653 -0.0017009007 - 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 - -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 - -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 - 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 - 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 - -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 - -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 - -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 - -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 - 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 -} - +MD5Version 10 // Parameters used during export: Reorient: False; Scale: 1.0 +commandline "" + +numFrames 63 +numJoints 25 +frameRate 60 +numAnimatedComponents 150 + +hierarchy { + "mixamorig:Hips" -1 63 0 // + "mixamorig:Spine" 0 63 6 // + "mixamorig:Spine1" 1 63 12 // + "mixamorig:Spine2" 2 63 18 // + "mixamorig:Neck" 3 63 24 // + "mixamorig:Head" 4 63 30 // + "mixamorig:HeadTop_End" 5 63 36 // + "mixamorig:LeftShoulder" 3 63 42 // + "mixamorig:LeftArm" 7 63 48 // + "mixamorig:LeftForeArm" 8 63 54 // + "mixamorig:LeftHand" 9 63 60 // + "mixamorig:RightShoulder" 3 63 66 // + "mixamorig:RightArm" 11 63 72 // + "mixamorig:RightForeArm" 12 63 78 // + "mixamorig:RightHand" 13 63 84 // + "mixamorig:LeftUpLeg" 0 63 90 // + "mixamorig:LeftLeg" 15 63 96 // + "mixamorig:LeftFoot" 16 63 102 // + "mixamorig:LeftToeBase" 17 63 108 // + "mixamorig:LeftToe_End" 18 63 114 // + "mixamorig:RightUpLeg" 0 63 120 // + "mixamorig:RightLeg" 20 63 126 // + "mixamorig:RightFoot" 21 63 132 // + "mixamorig:RightToeBase" 22 63 138 // + "mixamorig:RightToe_End" 23 63 144 // +} + +bounds { + ( -0.8060686588 0.0167839937 -0.7383368015 ) ( 0.7746989727 3.2758915424 0.6086186171 ) + ( -0.8060179949 0.0167839937 -0.7383373976 ) ( 0.7748496532 3.2759690285 0.6086184978 ) + ( -0.8058689237 0.0167839937 -0.7383393049 ) ( 0.7752866149 3.2761907578 0.6086180210 ) + ( -0.8056228161 0.0167839937 -0.7383422852 ) ( 0.7759852409 3.2765398026 0.6086173654 ) + ( -0.8052796125 0.0167839937 -0.7383460999 ) ( 0.7769192457 3.2769951820 0.6086164713 ) + ( -0.8048366308 0.0167839937 -0.7383505702 ) ( 0.7780600190 3.2775330544 0.6086155176 ) + ( -0.8042910695 0.0167839937 -0.7383555770 ) ( 0.7793784142 3.2781293392 0.6086144447 ) + ( -0.8036392927 0.0167839937 -0.7383608222 ) ( 0.7808446884 3.2787570953 0.6086132526 ) + ( -0.8028776646 0.0167839937 -0.7383661866 ) ( 0.7824291587 3.2793917656 0.6086119413 ) + ( -0.8020036221 0.0167839937 -0.7383713722 ) ( 0.7841029167 3.2800083160 0.6086108088 ) + ( -0.8010154963 0.0167839937 -0.7383761406 ) ( 0.7858375907 3.2805843353 0.6086097360 ) + ( -0.7999131083 0.0167839937 -0.7383804321 ) ( 0.7876065969 3.2810981274 0.6086086631 ) + ( -0.7986980081 0.0167839937 -0.7383841276 ) ( 0.7893846631 3.2815322876 0.6086077094 ) + ( -0.7973740101 0.0167839937 -0.7383869290 ) ( 0.7911484838 3.2818713188 0.6086069942 ) + ( -0.7959470749 0.0167839937 -0.7383889556 ) ( 0.7928771377 3.2821040154 0.6086064577 ) + ( -0.7944257259 0.0167839937 -0.7383899093 ) ( 0.7945519686 3.2822227478 0.6086061001 ) + ( -0.7928209305 0.0167839937 -0.7383899093 ) ( 0.7961567640 3.2822227478 0.6086059213 ) + ( -0.7911462784 0.0167839937 -0.7383889556 ) ( 0.7976779342 3.2821040154 0.6086059809 ) + ( -0.7894179821 0.0167839937 -0.7383869290 ) ( 0.7991045117 3.2818717957 0.6086062193 ) + ( -0.7876545787 0.0167839937 -0.7383841276 ) ( 0.8004280925 3.2815327644 0.6086066365 ) + ( -0.7858772278 0.0167839937 -0.7383804321 ) ( 0.8016425371 3.2810986042 0.6086072326 ) + ( -0.7841088772 0.0167839937 -0.7383762002 ) ( 0.8027442098 3.2805848122 0.6086080074 ) + ( -0.7823749781 0.0167839937 -0.7383713722 ) ( 0.8037314415 3.2800087929 0.6086088419 ) + ( -0.7807021141 0.0167839937 -0.7383661866 ) ( 0.8046047091 3.2793922424 0.6086097360 ) + ( -0.7791185379 0.0167839937 -0.7383608222 ) ( 0.8053653836 3.2787580490 0.6086108088 ) + ( -0.7776530981 0.0167839937 -0.7383556366 ) ( 0.8060163856 3.2781302929 0.6086117029 ) + ( -0.7763355970 0.0167839937 -0.7383505702 ) ( 0.8065611124 3.2775340080 0.6086126566 ) + ( -0.7751955986 0.0167839937 -0.7383460999 ) ( 0.8070031404 3.2769961357 0.6086134911 ) + ( -0.7742622495 0.0167839937 -0.7383422852 ) ( 0.8073458076 3.2765407562 0.6086142659 ) + ( -0.7735640407 0.0167839937 -0.7383393049 ) ( 0.8075914383 3.2761917114 0.6086148024 ) + ( -0.7731273770 0.0167839937 -0.7383374572 ) ( 0.8077402115 3.2759697437 0.6086151600 ) + ( -0.7729768753 0.0167839937 -0.7383368015 ) ( 0.8077908754 3.2758924961 0.6086152792 ) + ( -0.7731274366 0.0167839937 -0.7383374572 ) ( 0.8077403307 3.2759699821 0.6086151600 ) + ( -0.7735639811 0.0167839937 -0.7383393049 ) ( 0.8075914383 3.2761917114 0.6086148024 ) + ( -0.7742622495 0.0167839937 -0.7383422852 ) ( 0.8073458076 3.2765407562 0.6086142659 ) + ( -0.7751955986 0.0167839937 -0.7383460999 ) ( 0.8070032001 3.2769961357 0.6086134911 ) + ( -0.7763355970 0.0167839937 -0.7383505702 ) ( 0.8065611124 3.2775340080 0.6086126566 ) + ( -0.7776530981 0.0167839937 -0.7383556366 ) ( 0.8060163856 3.2781302929 0.6086117029 ) + ( -0.7791185379 0.0167839937 -0.7383608222 ) ( 0.8053653836 3.2787580490 0.6086108088 ) + ( -0.7807021141 0.0167839937 -0.7383661866 ) ( 0.8046047091 3.2793922424 0.6086097360 ) + ( -0.7823750377 0.0167839937 -0.7383713722 ) ( 0.8037314415 3.2800087929 0.6086088419 ) + ( -0.7841088772 0.0167839937 -0.7383762002 ) ( 0.8027441502 3.2805848122 0.6086080074 ) + ( -0.7858771682 0.0167839937 -0.7383804321 ) ( 0.8016425371 3.2810986042 0.6086072326 ) + ( -0.7876545787 0.0167839937 -0.7383841276 ) ( 0.8004280925 3.2815327644 0.6086066365 ) + ( -0.7894179821 0.0167839937 -0.7383869290 ) ( 0.7991045117 3.2818717957 0.6086062193 ) + ( -0.7911462784 0.0167839937 -0.7383889556 ) ( 0.7976779342 3.2821040154 0.6086059809 ) + ( -0.7928208709 0.0167839937 -0.7383899093 ) ( 0.7961568236 3.2822227478 0.6086059213 ) + ( -0.7944257259 0.0167839937 -0.7383899093 ) ( 0.7945519686 3.2822227478 0.6086061001 ) + ( -0.7959470749 0.0167839937 -0.7383889556 ) ( 0.7928771377 3.2821040154 0.6086064577 ) + ( -0.7973740101 0.0167839937 -0.7383869290 ) ( 0.7911484838 3.2818713188 0.6086069942 ) + ( -0.7986980081 0.0167839937 -0.7383841276 ) ( 0.7893846631 3.2815322876 0.6086077094 ) + ( -0.7999130487 0.0167839937 -0.7383804321 ) ( 0.7876065969 3.2810981274 0.6086086631 ) + ( -0.8010154366 0.0167839937 -0.7383761406 ) ( 0.7858376503 3.2805843353 0.6086097360 ) + ( -0.8020035625 0.0167839937 -0.7383713722 ) ( 0.7841029167 3.2800083160 0.6086108088 ) + ( -0.8028776050 0.0167839937 -0.7383661866 ) ( 0.7824291587 3.2793917656 0.6086119413 ) + ( -0.8036392927 0.0167839937 -0.7383608222 ) ( 0.7808446288 3.2787570953 0.6086132526 ) + ( -0.8042910695 0.0167839937 -0.7383555770 ) ( 0.7793783545 3.2781293392 0.6086144447 ) + ( -0.8048366308 0.0167839937 -0.7383505702 ) ( 0.7780600190 3.2775330544 0.6086155176 ) + ( -0.8052795529 0.0167839937 -0.7383460999 ) ( 0.7769192457 3.2769951820 0.6086164713 ) + ( -0.8056228757 0.0167839937 -0.7383422852 ) ( 0.7759852409 3.2765398026 0.6086173654 ) + ( -0.8058688641 0.0167839937 -0.7383393049 ) ( 0.7752866149 3.2761907578 0.6086180210 ) + ( -0.8060179949 0.0167839937 -0.7383373976 ) ( 0.7748495936 3.2759690285 0.6086184978 ) + ( -0.8060686588 0.0167839937 -0.7383368015 ) ( 0.7746989727 3.2758915424 0.6086186171 ) +} + +baseframe { + ( 0.0000050068 0.7780786753 0.0214254875 ) ( -0.0000000000 -0.0000000000 -0.0000000000 ) + ( 0.0000000000 0.1770023108 -0.0009516347 ) ( 0.0026881641 -0.0000000000 -0.0000000000 ) + ( 0.0000000000 0.2065057456 -0.0000000023 ) ( 0.0000000042 -0.0000000000 -0.0000000000 ) + ( 0.0000000000 0.2360067219 0.0000000005 ) ( 0.0000000042 -0.0000000000 -0.0000000000 ) + ( 0.0000000000 0.2655072510 0.0000000028 ) ( -0.0026881725 -0.0000000000 -0.0000000000 ) + ( 0.0000000000 0.3947657347 -0.0401370823 ) ( -0.0000000000 -0.0000000000 -0.0000000000 ) + ( 0.0000000000 1.2101047039 -0.1230351999 ) ( -0.0000000000 -0.0000000000 -0.0000000000 ) + ( 0.0778401271 0.2149246335 0.0011441763 ) ( -0.6256202459 -0.3355365694 0.6165115833 ) + ( -0.0000000012 0.1860864162 0.0000000018 ) ( -0.0929389596 0.0027408842 0.0293500740 ) + ( -0.0000000028 0.2763552964 0.0000000867 ) ( 0.0149857560 0.0005682616 -0.0378924794 ) + ( -0.0000000065 0.3389307559 -0.0000000972 ) ( -0.0000000378 0.0000000341 0.0000000056 ) + ( -0.0778401271 0.2149398476 -0.0016879914 ) ( -0.6142975092 0.3417052925 -0.6277292371 ) + ( -0.0000000037 0.1860862821 -0.0000001551 ) ( -0.0930364579 0.0003407767 0.0036459784 ) + ( 0.0000000019 0.2760953903 0.0000000816 ) ( 0.0149027547 -0.0002345784 0.0157293510 ) + ( 0.0000000005 0.3388734460 -0.0000000035 ) ( 0.0000002375 -0.0000000079 0.0000000135 ) + ( 0.1861518174 -0.0983439088 -0.0044584572 ) ( -0.0002614523 -0.0164730735 0.9997389913 ) + ( -0.0000000196 0.3293979168 -0.0000000008 ) ( -0.0034133261 0.0000098612 0.0026536337 ) + ( -0.0000000188 0.2477990985 0.0000000010 ) ( -0.3401664197 -0.2407970428 0.0905603021 ) + ( 0.0000000144 0.0675944164 -0.0000000047 ) ( -0.4292519093 0.0104676560 -0.0049753017 ) + ( 0.0000000141 0.0427611358 0.0000000004 ) ( 0.0000002872 -0.0000005488 0.0000004763 ) + ( -0.1861518174 -0.0983439088 -0.0087781679 ) ( -0.0001303761 0.0082231257 -0.9998407960 ) + ( -0.0000000109 0.3292638361 -0.0000000005 ) ( 0.0076488191 0.0000197466 -0.0026609255 ) + ( -0.0000000124 0.2478392422 -0.0000000001 ) ( -0.4255259931 0.1628392488 -0.0781428888 ) + ( -0.0000000123 0.0799339041 0.0000000019 ) ( -0.3500214219 -0.0016251154 0.0006072879 ) + ( 0.0000000126 0.0583351627 -0.0000000048 ) ( 0.0000001371 0.0000002218 -0.0000002390 ) +} + +frame 0 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0007105127 -0.0508817993 + 0.0000000111 1.2101048231 -0.1230351925 -0.0000000000 -0.0000000000 0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.6072957516 -0.3857267797 0.5607039332 + 0.0000000009 0.1860864162 0.0000000499 -0.2193168551 0.0240677837 0.0582789406 + 0.0000000031 0.2763552666 -0.0000001102 -0.1761399060 -0.0005476516 -0.0363156982 + -0.0000000014 0.3389308155 -0.0000000412 -0.0981442034 0.0031445359 0.0005561242 + -0.0778401271 0.2149398476 -0.0016879914 -0.5932507515 0.3962262571 -0.5661910772 + -0.0000000019 0.1860864460 -0.0000000850 -0.2205737978 -0.0219023414 -0.0285024680 + -0.0000000065 0.2760955393 -0.0000001188 -0.1932076514 -0.0024577731 0.0117258616 + 0.0000000009 0.3388734162 -0.0000000167 -0.0932180807 -0.0024413653 -0.0017009007 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 1 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0007061831 -0.0505717471 + 0.0000000237 1.2101045847 -0.1230351999 -0.0000000000 0.0000000000 0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.6072170138 -0.3857329190 0.5608763099 + 0.0000000051 0.1860864162 -0.0000001931 -0.2193982005 0.0239649843 0.0581124835 + -0.0000000031 0.2763552964 -0.0000000923 -0.1761385053 -0.0005850631 -0.0363217406 + -0.0000000009 0.3389307261 0.0000000031 -0.0981441885 0.0031253255 0.0005527262 + -0.0778401271 0.2149398476 -0.0016879914 -0.5931809545 0.3962310851 -0.5663899183 + -0.0000000028 0.1860864311 0.0000000414 -0.2206365168 -0.0217681266 -0.0283172280 + -0.0000000009 0.2760954797 -0.0000001053 -0.1932071894 -0.0024241996 0.0117485225 + 0.0000000047 0.3388735056 0.0000001041 -0.0932180732 -0.0024264504 -0.0016905090 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 2 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0006935738 -0.0496687479 + -0.0000000221 1.2101044655 -0.1230351999 0.0000000000 0.0000000000 0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.6069875956 -0.3857510388 0.5613783002 + -0.0000000023 0.1860864908 0.0000000522 -0.2196349949 0.0236655846 0.0576277301 + 0.0000000043 0.2763552070 0.0000000585 -0.1761345416 -0.0006940026 -0.0363393575 + -0.0000000014 0.3389306068 -0.0000000088 -0.0981442407 0.0030693836 0.0005428338 + -0.0778401271 0.2149398476 -0.0016879914 -0.5929777026 0.3962449729 -0.5669685006 + 0.0000000005 0.1860863864 -0.0000002056 -0.2208191603 -0.0213772673 -0.0277777649 + 0.0000000019 0.2760955691 -0.0000001058 -0.1932057440 -0.0023264210 0.0118145104 + 0.0000000000 0.3388733864 -0.0000000063 -0.0932181180 -0.0023830186 -0.0016602502 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 3 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0006732528 -0.0482135043 + 0.0000000079 1.2101045847 -0.1230351850 -0.0000000000 -0.0000000000 0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.6066175103 -0.3857797682 0.5621866584 + -0.0000000056 0.1860864162 -0.0000000898 -0.2200164497 0.0231831130 0.0568465516 + -0.0000000091 0.2763552964 0.0000001840 -0.1761280149 -0.0008695436 -0.0363677293 + 0.0000000009 0.3389308155 0.0000000503 -0.0981442481 0.0029792432 0.0005268910 + -0.0778401271 0.2149398476 -0.0016879914 -0.5926492810 0.3962669373 -0.5679001212 + 0.0000000037 0.1860864609 -0.0000002075 -0.2211132348 -0.0207474027 -0.0269084238 + 0.0000000019 0.2760954797 0.0000000761 -0.1932035238 -0.0021688715 0.0119208395 + -0.0000000019 0.3388733566 -0.0000000394 -0.0932181329 -0.0023130348 -0.0016114922 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 4 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0006457865 -0.0462465733 + -0.0000000285 1.2101042271 -0.1230352074 0.0000000000 0.0000000000 0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.6061161160 -0.3858179748 0.5632781386 + -0.0000000042 0.1860864162 -0.0000000349 -0.2205315232 0.0225310642 0.0557907633 + 0.0000000051 0.2763552368 0.0000001609 -0.1761192679 -0.0011067488 -0.0364060663 + -0.0000000047 0.3389308453 0.0000000862 -0.0981442779 0.0028574364 0.0005053505 + -0.0778401271 0.2149398476 -0.0016879914 -0.5922036767 0.3962953389 -0.5691577196 + 0.0000000000 0.1860865057 0.0000000278 -0.2215100825 -0.0198961478 -0.0257335268 + 0.0000000037 0.2760955393 0.0000000840 -0.1932005137 -0.0019559769 0.0120645203 + 0.0000000065 0.3388735056 -0.0000000049 -0.0932181478 -0.0022184637 -0.0015456039 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 5 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0006117407 -0.0438084528 + -0.0000000059 1.2101044655 -0.1230351999 0.0000000000 0.0000000001 0.0000000000 + 0.0778401271 0.2149246335 0.0011441763 -0.6054930091 -0.3858641386 0.5646291375 + 0.0000000012 0.1860864162 -0.0000000183 -0.2211692631 0.0217229426 0.0544822104 + -0.0000000005 0.2763552368 0.0000000867 -0.1761084050 -0.0014006894 -0.0364535823 + 0.0000000009 0.3389308155 0.0000000350 -0.0981443301 0.0027064979 0.0004786542 + -0.0778401271 0.2149398476 -0.0016879914 -0.5916491747 0.3963290453 -0.5707138181 + 0.0000000019 0.1860864758 0.0000001349 -0.2220012993 -0.0188411120 -0.0242773704 + -0.0000000037 0.2760953903 0.0000000332 -0.1931966990 -0.0016921622 0.0122425659 + -0.0000000019 0.3388733864 0.0000000554 -0.0932181925 -0.0021012782 -0.0014639592 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 6 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0005716814 -0.0409396961 + 0.0000000150 1.2101045847 -0.1230351999 -0.0000000000 0.0000000000 0.0000000000 + 0.0778401271 0.2149246335 0.0011441763 -0.6047574282 -0.3859169185 0.5662160516 + 0.0000000000 0.1860864311 -0.0000000534 -0.2219186872 0.0207722243 0.0529427007 + -0.0000000088 0.2763552666 -0.0000000459 -0.1760956645 -0.0017464284 -0.0365094543 + -0.0000000014 0.3389307559 -0.0000000667 -0.0981443748 0.0025289613 0.0004472559 + -0.0778401271 0.2149398476 -0.0016879914 -0.5909931660 0.3963662386 -0.5725411773 + 0.0000000000 0.1860864609 -0.0000003668 -0.2225782275 -0.0175999142 -0.0225642864 + 0.0000000019 0.2760955989 0.0000000721 -0.1931922734 -0.0013818556 0.0124519859 + -0.0000000028 0.3388732076 -0.0000000124 -0.0932182223 -0.0019634399 -0.0013679240 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 7 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0005261747 -0.0376808383 + 0.0000000255 1.2101047039 -0.1230351850 -0.0000000000 0.0000000000 0.0000000056 + 0.0778401271 0.2149246335 0.0011441763 -0.6039189100 -0.3859747350 0.5680153966 + 0.0000000026 0.1860864460 -0.0000000637 -0.2227688581 0.0196924154 0.0511940680 + -0.0000000021 0.2763552070 0.0000000150 -0.1760810763 -0.0021390356 -0.0365728997 + -0.0000000014 0.3389306366 0.0000000240 -0.0981444195 0.0023273567 0.0004116016 + -0.0778401271 0.2149398476 -0.0016879914 -0.5902434587 0.3964054585 -0.5746120811 + 0.0000000000 0.1860865206 -0.0000001649 -0.2232321054 -0.0161901526 -0.0206185617 + -0.0000000047 0.2760954797 -0.0000000233 -0.1931870878 -0.0010294864 0.0126897935 + 0.0000000009 0.3388733566 -0.0000000395 -0.0932182521 -0.0018069163 -0.0012588731 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 8 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0004757882 -0.0340725146 + -0.0000000039 1.2101044655 -0.1230351999 0.0000000000 0.0000000000 0.0000000037 + 0.0778401271 0.2149246335 0.0011441763 -0.6029867530 -0.3860362768 0.5700034499 + -0.0000000010 0.1860864311 0.0000000185 -0.2237085551 0.0184970126 0.0492581278 + 0.0000000051 0.2763550878 0.0000000693 -0.1760649532 -0.0025735763 -0.0366431139 + -0.0000000028 0.3389307559 -0.0000000623 -0.0981445014 0.0021042228 0.0003721378 + -0.0778401271 0.2149398476 -0.0016879914 -0.5894077420 0.3964449167 -0.5768991113 + 0.0000000000 0.1860863715 -0.0000001333 -0.2239542753 -0.0146294627 -0.0184645429 + -0.0000000009 0.2760953605 -0.0000002067 -0.1931813657 -0.0006394791 0.0129529955 + -0.0000000019 0.3388734162 -0.0000000158 -0.0932182744 -0.0016336755 -0.0011381749 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 9 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0004210904 -0.0301554576 + 0.0000000167 1.2101048231 -0.1230351925 0.0000000000 -0.0000000000 0.0000000000 + 0.0778401271 0.2149246335 0.0011441763 -0.6019702554 -0.3860999644 0.5721564889 + 0.0000000025 0.1860864609 0.0000000270 -0.2247269601 0.0171995498 0.0471567661 + 0.0000000072 0.2763551176 0.0000001853 -0.1760473400 -0.0030451163 -0.0367193036 + 0.0000000012 0.3389309049 -0.0000000648 -0.0981445536 0.0018620858 0.0003293140 + -0.0778401271 0.2149398476 -0.0016879914 -0.5884938836 0.3964832127 -0.5793746710 + 0.0000000002 0.1860863715 0.0000001364 -0.2247361988 -0.0129355136 -0.0161266178 + -0.0000000056 0.2760955095 -0.0000000837 -0.1931751072 -0.0002162620 0.0132386070 + 0.0000000051 0.3388732076 -0.0000000005 -0.0932183117 -0.0014456833 -0.0010072001 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 10 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0003626516 -0.0259704906 + 0.0000000149 1.2101043463 -0.1230351999 -0.0000000000 0.0000000000 0.0000000009 + 0.0778401271 0.2149246335 0.0011441763 -0.6008788943 -0.3861644566 0.5744510889 + -0.0000000017 0.1860863566 0.0000000678 -0.2258129567 0.0158135667 0.0449118838 + 0.0000000005 0.2763552368 0.0000000491 -0.1760285944 -0.0035487239 -0.0368006639 + 0.0000000012 0.3389307857 0.0000000625 -0.0981445909 0.0016034818 0.0002835816 + -0.0778401271 0.2149398476 -0.0016879914 -0.5875098109 0.3965188563 -0.5820113420 + -0.0000000009 0.1860864758 -0.0000001496 -0.2255691886 -0.0111259846 -0.0136291897 + -0.0000000028 0.2760953605 -0.0000001701 -0.1931684315 0.0002357387 0.0135436421 + -0.0000000005 0.3388733864 0.0000000029 -0.0932183638 -0.0012449066 -0.0008673177 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 11 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0003010435 -0.0215585642 + 0.0000000085 1.2101044655 -0.1230351850 -0.0000000000 -0.0000000000 0.0000000009 + 0.0778401271 0.2149246335 0.0011441763 -0.5997226834 -0.3862285614 0.5768638253 + -0.0000000012 0.1860864013 -0.0000000543 -0.2269554883 0.0143526085 0.0425454006 + -0.0000000051 0.2763551772 -0.0000000161 -0.1760087311 -0.0040794685 -0.0368863977 + 0.0000000019 0.3389308751 -0.0000000010 -0.0981446356 0.0013309470 0.0002353804 + -0.0778401271 0.2149398476 -0.0016879914 -0.5864638090 0.3965504766 -0.5847818851 + -0.0000000008 0.1860864162 0.0000000238 -0.2264446318 -0.0092185903 -0.0109967086 + 0.0000000019 0.2760955393 -0.0000001065 -0.1931612343 0.0007120928 0.0138651058 + -0.0000000005 0.3388733864 -0.0000000595 -0.0932183936 -0.0010333117 -0.0007198984 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 12 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0002368401 -0.0169607755 + -0.0000000017 1.2101044655 -0.1230351999 -0.0000000000 -0.0000000000 0.0000000009 + 0.0778401271 0.2149246335 0.0011441763 -0.5985113382 -0.3862910271 0.5793712139 + -0.0000000016 0.1860864908 -0.0000001182 -0.2281438261 0.0128302723 0.0400793105 + 0.0000000143 0.2763552368 -0.0000000286 -0.1759880334 -0.0046324097 -0.0369757041 + -0.0000000002 0.3389307857 0.0000000060 -0.0981446877 0.0010470105 0.0001851644 + -0.0778401271 0.2149398476 -0.0016879914 -0.5853643417 0.3965769708 -0.5876592994 + -0.0000000016 0.1860865057 -0.0000001330 -0.2273540646 -0.0072310758 -0.0082536777 + 0.0000000061 0.2760954201 0.0000000007 -0.1931537539 0.0012083730 0.0142000141 + 0.0000000000 0.3388733566 0.0000000549 -0.0932184532 -0.0008128681 -0.0005663122 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 13 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0001706160 -0.0122182844 + -0.0000000012 1.2101045847 -0.1230351850 -0.0000000000 -0.0000000000 0.0000000005 + 0.0778401271 0.2149246335 0.0011441763 -0.5972548723 -0.3863509297 0.5819503069 + -0.0000000023 0.1860864311 -0.0000000137 -0.2293669432 0.0112601509 0.0375356041 + 0.0000000002 0.2763551474 -0.0000000744 -0.1759665906 -0.0052026175 -0.0370677896 + -0.0000000013 0.3389308453 0.0000000322 -0.0981446877 0.0007542082 0.0001333839 + -0.0778401271 0.2149398476 -0.0016879914 -0.5842202306 0.3965973556 -0.5906166434 + -0.0000000016 0.1860864908 -0.0000000361 -0.2282890379 -0.0051812180 -0.0054246243 + 0.0000000037 0.2760954201 0.0000000601 -0.1931458712 0.0017201512 0.0145453745 + 0.0000000009 0.3388732076 -0.0000000129 -0.0932184383 -0.0005855380 -0.0004079300 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 14 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0001029475 -0.0073723583 + -0.0000000021 1.2101045847 -0.1230351850 -0.0000000000 0.0000000000 -0.0000000002 + 0.0778401271 0.2149246335 0.0011441763 -0.5959637165 -0.3864072561 0.5845780969 + 0.0000000000 0.1860864162 -0.0000001697 -0.2306141555 0.0096558584 0.0349363387 + -0.0000000019 0.2763552666 -0.0000000645 -0.1759445816 -0.0057851612 -0.0371618494 + 0.0000000041 0.3389308155 -0.0000000187 -0.0981447101 0.0004550727 0.0000804788 + -0.0778401271 0.2149398476 -0.0016879914 -0.5830405354 0.3966109753 -0.5936273932 + 0.0000000000 0.1860864311 -0.0000001688 -0.2292412370 -0.0030868098 -0.0025341080 + -0.0000000019 0.2760955095 0.0000000304 -0.1931378543 0.0022430001 0.0148982005 + 0.0000000033 0.3388732970 -0.0000000340 -0.0932184607 -0.0003532915 -0.0002461231 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 15 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0000344122 -0.0024643545 + -0.0000000008 1.2101044655 -0.1230352074 -0.0000000000 -0.0000000000 -0.0000000001 + 0.0778401271 0.2149246335 0.0011441763 -0.5946485400 -0.3864594102 0.5872319937 + -0.0000000007 0.1860864758 0.0000000264 -0.2318746895 0.0080310274 0.0323035754 + 0.0000000040 0.2763552666 -0.0000000577 -0.1759222746 -0.0063751009 -0.0372570977 + 0.0000000022 0.3389309645 0.0000001035 -0.0981447101 0.0001521367 0.0000269017 + -0.0778401271 0.2149398476 -0.0016879914 -0.5818349123 0.3966173530 -0.5966655016 + 0.0000000005 0.1860864758 0.0000000476 -0.2302023321 -0.0009656642 0.0003932804 + -0.0000000019 0.2760955393 -0.0000000118 -0.1931295842 0.0027724898 0.0152555006 + -0.0000000019 0.3388735056 -0.0000000192 -0.0932184756 -0.0001180955 -0.0000822599 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 16 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0000344121 0.0024643526 + -0.0000000001 1.2101045847 -0.1230352074 0.0000000000 0.0000000000 0.0000000001 + 0.0778401271 0.2149246335 0.0011441763 -0.5933201313 -0.3865067959 0.5898893476 + 0.0000000009 0.1860865057 -0.0000001499 -0.2331379205 0.0063992962 0.0296594128 + -0.0000000028 0.2763552964 0.0000000396 -0.1758997738 -0.0069675068 -0.0373527259 + 0.0000000068 0.3389308751 0.0000000437 -0.0981447026 -0.0001520665 -0.0000268978 + -0.0778401271 0.2149398476 -0.0016879914 -0.5806130767 0.3966161311 -0.5997049212 + 0.0000000033 0.1860863864 -0.0000002473 -0.2311642021 0.0011643918 0.0033329444 + -0.0000000005 0.2760954797 0.0000000477 -0.1931212246 0.0033041926 0.0156142879 + 0.0000000054 0.3388733566 0.0000001146 -0.0932184532 0.0001180837 0.0000822865 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 17 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0001029475 0.0073723546 + 0.0000000003 1.2101045847 -0.1230351925 -0.0000000000 -0.0000000000 0.0000000002 + 0.0778401271 0.2149246335 0.0011441763 -0.5919897556 -0.3865488768 0.5925280452 + 0.0000000013 0.1860864758 0.0000001380 -0.2343931645 0.0047743013 0.0270259567 + 0.0000000001 0.2763552070 0.0000001187 -0.1758773774 -0.0075574410 -0.0374479406 + 0.0000000068 0.3389307261 0.0000000368 -0.0981447026 -0.0004550015 -0.0000804736 + -0.0778401271 0.2149398476 -0.0016879914 -0.5793854594 0.3966074586 -0.6027202606 + 0.0000000014 0.1860863417 -0.0000001957 -0.2321188748 0.0032855335 0.0062602828 + -0.0000000047 0.2760952711 -0.0000000479 -0.1931128353 0.0038336786 0.0159715787 + 0.0000000014 0.3388734162 -0.0000000103 -0.0932184756 0.0003532800 0.0002461509 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 18 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0001706159 0.0122182826 + -0.0000000063 1.2101045847 -0.1230351850 -0.0000000000 0.0000000000 -0.0000000005 + 0.0778401271 0.2149246335 0.0011441763 -0.5906685591 -0.3865856826 0.5951260328 + -0.0000000013 0.1860864908 0.0000001632 -0.2356301695 0.0031696912 0.0244253185 + 0.0000000067 0.2763552070 0.0000001086 -0.1758551747 -0.0081399754 -0.0375419594 + -0.0000000022 0.3389307857 0.0000000222 -0.0981446654 -0.0007541380 -0.0001333770 + -0.0778401271 0.2149398476 -0.0016879914 -0.5781624913 0.3965915740 -0.6056865454 + -0.0000000009 0.1860864460 0.0000000669 -0.2330582738 0.0053799371 0.0091506978 + 0.0000000040 0.2760954499 0.0000000370 -0.1931044310 0.0043565230 0.0163243786 + 0.0000000019 0.3388733864 0.0000000305 -0.0932184681 0.0005855256 0.0004079581 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 19 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0002368400 0.0169607736 + -0.0000000094 1.2101045847 -0.1230351999 -0.0000000000 0.0000000000 -0.0000000009 + 0.0778401271 0.2149246335 0.0011441763 -0.5893681049 -0.3866168857 0.5976615548 + 0.0000000028 0.1860864609 0.0000000101 -0.2368382961 0.0015991064 0.0218796209 + 0.0000000047 0.2763552666 -0.0000000249 -0.1758333445 -0.0087101664 -0.0376339592 + -0.0000000023 0.3389307559 -0.0000000568 -0.0981446579 -0.0010469398 -0.0001851620 + -0.0778401271 0.2149398476 -0.0016879914 -0.5769551992 0.3965688944 -0.6085788012 + 0.0000000026 0.1860863864 -0.0000000571 -0.2339746654 0.0074297851 0.0119796013 + -0.0000000005 0.2760953903 0.0000000171 -0.1930961758 0.0048682936 0.0166697055 + 0.0000000019 0.3388732970 -0.0000000119 -0.0932184532 0.0008128551 0.0005663423 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 20 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0003010435 0.0215585604 + -0.0000000010 1.2101047039 -0.1230351850 -0.0000000000 0.0000000000 -0.0000000009 + 0.0778401271 0.2149246335 0.0011441763 -0.5881004333 -0.3866427839 0.6001133323 + -0.0000000014 0.1860864162 -0.0000000259 -0.2380074561 0.0000761765 0.0194109846 + -0.0000000052 0.2763552964 0.0000000183 -0.1758121401 -0.0092630936 -0.0377231687 + 0.0000000001 0.3389307559 0.0000000231 -0.0981445983 -0.0013308754 -0.0002353764 + -0.0778401271 0.2149398476 -0.0016879914 -0.5757748485 0.3965402246 -0.6113730073 + -0.0000000012 0.1860865057 -0.0000000509 -0.2348602712 0.0094172927 0.0147224395 + 0.0000000001 0.2760952413 0.0000002448 -0.1930880696 0.0053645652 0.0170045625 + 0.0000000026 0.3388734758 0.0000000267 -0.0932184160 0.0010332997 0.0007199266 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 21 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0003626515 0.0259704944 + 0.0000000001 1.2101044655 -0.1230351999 0.0000000000 -0.0000000000 -0.0000000009 + 0.0778401271 0.2149246335 0.0011441763 -0.5868775249 -0.3866635263 0.6024599671 + -0.0000000042 0.1860864609 0.0000001028 -0.2391273826 -0.0013854826 0.0170414820 + -0.0000000044 0.2763552964 0.0000000058 -0.1757917255 -0.0097938161 -0.0378087871 + -0.0000000035 0.3389306366 -0.0000000359 -0.0981445909 -0.0016034129 -0.0002835758 + -0.0778401271 0.2149398476 -0.0016879914 -0.5746331215 0.3965064585 -0.6140449047 + -0.0000000033 0.1860865206 0.0000001198 -0.2357074469 0.0113246683 0.0173546895 + -0.0000000039 0.2760954499 -0.0000000717 -0.1930801868 0.0058409078 0.0173259694 + 0.0000000006 0.3388733268 0.0000000230 -0.0932183489 0.0012448934 0.0008673472 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 22 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0004210905 0.0301554631 + -0.0000000093 1.2101049423 -0.1230351925 -0.0000000000 0.0000000000 -0.0000000000 + 0.0778401271 0.2149246335 0.0011441763 -0.5857117176 -0.3866795003 0.6046805382 + 0.0000000042 0.1860864908 -0.0000000415 -0.2401878685 -0.0027722598 0.0147932051 + -0.0000000006 0.2763553858 -0.0000001152 -0.1757723391 -0.0102974009 -0.0378900133 + -0.0000000006 0.3389307261 -0.0000000915 -0.0981445238 -0.0018620143 -0.0003293103 + -0.0778401271 0.2149398476 -0.0016879914 -0.5735418200 0.3964688778 -0.6165711880 + -0.0000000028 0.1860864162 0.0000000434 -0.2365088612 0.0131341945 0.0198518690 + -0.0000000027 0.2760955691 -0.0000001532 -0.1930727363 0.0062928963 0.0176309422 + 0.0000000049 0.3388733864 -0.0000000330 -0.0932183489 0.0014456700 0.0010072298 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 23 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0004757880 0.0340725146 + -0.0000000035 1.2101044655 -0.1230351999 -0.0000000000 -0.0000000000 -0.0000000037 + 0.0778401271 0.2149246335 0.0011441763 -0.5846152306 -0.3866911232 0.6067544222 + -0.0000000009 0.1860864609 0.0000001012 -0.2411790490 -0.0040705749 0.0126882168 + 0.0000000055 0.2763551772 -0.0000000445 -0.1757541597 -0.0107689193 -0.0379660614 + 0.0000000049 0.3389307559 -0.0000000070 -0.0981444865 -0.0021041520 -0.0003721345 + -0.0778401271 0.2149398476 -0.0016879914 -0.5725129843 0.3964287639 -0.6189285517 + 0.0000000000 0.1860864460 -0.0000000652 -0.2372568697 0.0148281278 0.0221895166 + 0.0000000008 0.2760955989 0.0000000592 -0.1930656731 0.0067161005 0.0179164913 + 0.0000000023 0.3388735056 -0.0000000835 -0.0932182968 0.0016336618 0.0011382034 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 24 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0005261747 0.0376808494 + -0.0000000330 1.2101047039 -0.1230351850 -0.0000000000 -0.0000000000 -0.0000000056 + 0.0778401271 0.2149246335 0.0011441763 -0.5836005807 -0.3866990209 0.6086608768 + -0.0000000019 0.1860864609 -0.0000000080 -0.2420907468 -0.0052668378 0.0107485456 + 0.0000000026 0.2763552368 -0.0000000568 -0.1757373661 -0.0112034352 -0.0380361415 + -0.0000000030 0.3389308453 -0.0000000616 -0.0981444195 -0.0023272873 -0.0004115973 + -0.0778401271 0.2149398476 -0.0016879914 -0.5715590119 0.3963875771 -0.6210938096 + -0.0000000014 0.1860865206 0.0000001079 -0.2379442602 0.0163888019 0.0243432615 + 0.0000000005 0.2760954797 0.0000000231 -0.1930591017 0.0071060960 0.0181796271 + 0.0000000012 0.3388733864 0.0000000068 -0.0932182744 0.0018069039 0.0012589009 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 25 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0005716814 0.0409396924 + -0.0000000075 1.2101044655 -0.1230351999 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0778401271 0.2149246335 0.0011441763 -0.5826805830 -0.3867038786 0.6103793383 + -0.0000000019 0.1860865057 0.0000000729 -0.2429131269 -0.0063475068 0.0089962063 + 0.0000000023 0.2763550282 -0.0000000545 -0.1757220924 -0.0115960166 -0.0380994417 + -0.0000000033 0.3389307857 -0.0000000539 -0.0981443673 -0.0025288912 -0.0004472499 + -0.0778401271 0.2149398476 -0.0016879914 -0.5706922412 0.3963468671 -0.6230442524 + 0.0000000048 0.1860865057 0.0000001274 -0.2385635525 0.0177985448 0.0262886900 + -0.0000000042 0.2760955691 -0.0000000079 -0.1930531710 0.0074584535 0.0184173640 + 0.0000000051 0.3388733566 0.0000000183 -0.0932182074 0.0019634266 0.0013679507 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 26 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0006117407 0.0438084528 + 0.0000000059 1.2101047039 -0.1230351999 0.0000000000 -0.0000000001 -0.0000000000 + 0.0778401271 0.2149246335 0.0011441763 -0.5818678141 -0.3867063522 0.6118897200 + -0.0000000028 0.1860864609 -0.0000000292 -0.2436363101 -0.0072990400 0.0074531971 + 0.0000000035 0.2763552964 0.0000000089 -0.1757086068 -0.0119417254 -0.0381551832 + -0.0000000026 0.3389306664 -0.0000000754 -0.0981443226 -0.0027064283 -0.0004786504 + -0.0778401271 0.2149398476 -0.0016879914 -0.5699251294 0.3963082135 -0.6247571707 + -0.0000000024 0.1860864758 -0.0000000323 -0.2391077578 0.0190397501 0.0280015282 + -0.0000000016 0.2760956585 0.0000000925 -0.1930478513 0.0077687451 0.0186267216 + 0.0000000047 0.3388733268 0.0000000085 -0.0932181925 0.0021012656 0.0014639854 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 27 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0006457868 0.0462465957 + 0.0000000210 1.2101042271 -0.1230352074 0.0000000000 -0.0000000000 -0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.5811747909 -0.3867070377 0.6131715178 + 0.0000000009 0.1860864609 0.0000000157 -0.2442502826 -0.0081079099 0.0061414652 + -0.0000000026 0.2763552368 -0.0000000282 -0.1756972224 -0.0122356471 -0.0382025689 + -0.0000000002 0.3389308751 -0.0000000291 -0.0981442705 -0.0028573666 -0.0005053420 + -0.0778401271 0.2149398476 -0.0016879914 -0.5692700744 0.3962733746 -0.6262101531 + 0.0000000062 0.1860864908 -0.0000001479 -0.2395693660 0.0200947635 0.0294574406 + 0.0000000005 0.2760954797 -0.0000000434 -0.1930433810 0.0080325520 0.0188047104 + -0.0000000035 0.3388733864 0.0000000422 -0.0932181329 0.0022184520 0.0015456313 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 28 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0006732527 0.0482135080 + -0.0000000153 1.2101045847 -0.1230351850 -0.0000000000 0.0000000000 -0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.5806142092 -0.3867067397 0.6142043471 + 0.0000000028 0.1860865653 0.0000001002 -0.2447452396 -0.0087605752 0.0050830110 + 0.0000000002 0.2763551474 -0.0000000061 -0.1756880134 -0.0124728372 -0.0382408127 + 0.0000000079 0.3389307857 -0.0000001050 -0.0981442183 -0.0029791726 -0.0005268861 + -0.0778401271 0.2149398476 -0.0016879914 -0.5687397122 0.3962439895 -0.6273802519 + -0.0000000005 0.1860864311 0.0000000892 -0.2399412543 0.0209460016 0.0306321345 + 0.0000000014 0.2760955393 0.0000001216 -0.1930396557 0.0082454318 0.0189483445 + 0.0000000040 0.3388732970 -0.0000000134 -0.0932181180 0.0023130209 0.0016115179 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 29 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0006935737 0.0496687405 + 0.0000000073 1.2101043463 -0.1230351999 -0.0000000000 -0.0000000000 -0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.5801987052 -0.3867060244 0.6149677634 + 0.0000000047 0.1860865057 -0.0000000115 -0.2451112419 -0.0092435284 0.0042997641 + -0.0000000018 0.2763551772 -0.0000001956 -0.1756811142 -0.0126483580 -0.0382691026 + -0.0000000023 0.3389307857 0.0000000240 -0.0981442109 -0.0030693139 -0.0005428274 + -0.0778401271 0.2149398476 -0.0016879914 -0.5683460832 0.3962213993 -0.6282448173 + -0.0000000082 0.1860864908 0.0000000724 -0.2402160168 0.0215758439 0.0315013267 + 0.0000000005 0.2760955095 -0.0000000078 -0.1930370033 0.0084029771 0.0190546345 + -0.0000000042 0.3388735056 -0.0000000445 -0.0932181031 0.0023830060 0.0016602778 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 30 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0007061831 0.0505717695 + -0.0000000237 1.2101047039 -0.1230351999 -0.0000000000 -0.0000000000 -0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.5799404979 -0.3867053092 0.6154412031 + -0.0000000037 0.1860863715 -0.0000000161 -0.2453381717 -0.0095432326 0.0038136954 + 0.0000000020 0.2763551176 0.0000000328 -0.1756769419 -0.0127572995 -0.0382866673 + -0.0000000056 0.3389305770 -0.0000000446 -0.0981441736 -0.0031252550 -0.0005527237 + -0.0778401271 0.2149398476 -0.0016879914 -0.5681014061 0.3962070346 -0.6287809014 + -0.0000000036 0.1860864609 0.0000002156 -0.2403864563 0.0219667237 0.0320407040 + -0.0000000005 0.2760956287 -0.0000001048 -0.1930352896 0.0085007465 0.0191205982 + 0.0000000005 0.3388733566 0.0000000169 -0.0932180658 0.0024264392 0.0016905358 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 31 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0007105127 0.0508817993 + -0.0000000186 1.2101048231 -0.1230351925 -0.0000000000 0.0000000000 -0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.5798516870 -0.3867050111 0.6156037450 + 0.0000000037 0.1860864908 0.0000000454 -0.2454161346 -0.0096461400 0.0036467924 + 0.0000000033 0.2763551772 -0.0000000042 -0.1756754071 -0.0127946958 -0.0382926911 + 0.0000000002 0.3389307857 0.0000000163 -0.0981441885 -0.0031444661 -0.0005561193 + -0.0778401271 0.2149398476 -0.0016879914 -0.5680173039 0.3962021172 -0.6289648414 + 0.0000000011 0.1860864162 0.0000000171 -0.2404449731 0.0221009236 0.0322259068 + -0.0000000005 0.2760955393 -0.0000000083 -0.1930346489 0.0085343216 0.0191432498 + 0.0000000098 0.3388731778 0.0000000276 -0.0932180658 0.0024413536 0.0017009265 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 32 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0007061831 0.0505717471 + -0.0000000312 1.2101047039 -0.1230351999 -0.0000000000 -0.0000000000 -0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.5799404979 -0.3867053092 0.6154412031 + 0.0000000019 0.1860863715 -0.0000000161 -0.2453381717 -0.0095432298 0.0038136989 + -0.0000000019 0.2763551176 0.0000000327 -0.1756769419 -0.0127572976 -0.0382866673 + -0.0000000086 0.3389305770 -0.0000000442 -0.0981441736 -0.0031252550 -0.0005527227 + -0.0778401271 0.2149398476 -0.0016879914 -0.5681014061 0.3962070644 -0.6287809014 + -0.0000000020 0.1860864609 0.0000002227 -0.2403864861 0.0219667144 0.0320407003 + -0.0000000005 0.2760956287 -0.0000001053 -0.1930353343 0.0085007483 0.0191206019 + 0.0000000012 0.3388733268 0.0000000319 -0.0932180658 0.0024264387 0.0016905370 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 33 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0006935738 0.0496687479 + 0.0000000221 1.2101043463 -0.1230351999 0.0000000000 -0.0000000000 -0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.5801986456 -0.3867059648 0.6149677634 + 0.0000000037 0.1860864758 -0.0000000191 -0.2451112121 -0.0092435256 0.0042997589 + -0.0000000027 0.2763551772 -0.0000001957 -0.1756811142 -0.0126483580 -0.0382691063 + 0.0000000033 0.3389307857 0.0000000241 -0.0981442109 -0.0030693139 -0.0005428279 + -0.0778401271 0.2149398476 -0.0016879914 -0.5683460832 0.3962213993 -0.6282448173 + -0.0000000006 0.1860864311 0.0000000724 -0.2402160913 0.0215758625 0.0315013304 + -0.0000000005 0.2760956883 -0.0000000670 -0.1930370033 0.0084029762 0.0190546326 + 0.0000000061 0.3388734460 0.0000000150 -0.0932181031 0.0023830060 0.0016602753 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 34 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0006732528 0.0482135043 + -0.0000000079 1.2101045847 -0.1230351850 -0.0000000000 0.0000000000 -0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.5806142092 -0.3867067397 0.6142043471 + -0.0000000056 0.1860865653 0.0000001003 -0.2447452396 -0.0087605761 0.0050830022 + 0.0000000030 0.2763551474 -0.0000000060 -0.1756880134 -0.0124728391 -0.0382408127 + 0.0000000047 0.3389307857 -0.0000001051 -0.0981442183 -0.0029791726 -0.0005268868 + -0.0778401271 0.2149398476 -0.0016879914 -0.5687397122 0.3962439895 -0.6273802519 + -0.0000000067 0.1860864609 -0.0000000378 -0.2399412543 0.0209460016 0.0306321420 + -0.0000000019 0.2760954499 0.0000000914 -0.1930396557 0.0082454327 0.0189483408 + 0.0000000054 0.3388733268 0.0000000612 -0.0932181105 0.0023130223 0.0016115186 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 35 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0006457865 0.0462465733 + 0.0000000285 1.2101042271 -0.1230352074 0.0000000000 -0.0000000000 -0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.5811747909 -0.3867070377 0.6131715178 + -0.0000000009 0.1860864609 0.0000000231 -0.2442502975 -0.0081079062 0.0061414633 + 0.0000000002 0.2763551176 -0.0000000283 -0.1756972373 -0.0122356433 -0.0382025689 + 0.0000000040 0.3389309347 0.0000000006 -0.0981442705 -0.0028573666 -0.0005053435 + -0.0778401271 0.2149398476 -0.0016879914 -0.5692700744 0.3962733746 -0.6262101531 + 0.0000000008 0.1860864908 -0.0000001479 -0.2395693660 0.0200947598 0.0294574462 + 0.0000000014 0.2760954797 -0.0000000433 -0.1930433810 0.0080325501 0.0188047104 + 0.0000000027 0.3388733864 0.0000000422 -0.0932181329 0.0022184525 0.0015456295 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 36 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 0.0006117407 0.0438084528 + 0.0000000059 1.2101047039 -0.1230351999 0.0000000000 -0.0000000001 -0.0000000000 + 0.0778401271 0.2149246335 0.0011441763 -0.5818678141 -0.3867063522 0.6118897200 + -0.0000000037 0.1860864609 -0.0000000291 -0.2436363101 -0.0072990428 0.0074531925 + 0.0000000007 0.2763552964 0.0000000090 -0.1757086068 -0.0119417273 -0.0381551795 + -0.0000000005 0.3389306664 -0.0000000755 -0.0981443226 -0.0027064288 -0.0004786505 + -0.0778401271 0.2149398476 -0.0016879914 -0.5699251294 0.3963082135 -0.6247571707 + -0.0000000004 0.1860864311 -0.0000000324 -0.2391077280 0.0190397408 0.0280015394 + -0.0000000005 0.2760956883 -0.0000000269 -0.1930478364 0.0077687460 0.0186267216 + 0.0000000021 0.3388732970 -0.0000000509 -0.0932181776 0.0021012656 0.0014639868 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 37 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0005716814 0.0409396961 + -0.0000000149 1.2101044655 -0.1230351999 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0778401271 0.2149246335 0.0011441763 -0.5826805830 -0.3867038786 0.6103793383 + 0.0000000000 0.1860865057 -0.0000000389 -0.2429131716 -0.0063475072 0.0089962045 + 0.0000000051 0.2763549984 -0.0000000842 -0.1757221073 -0.0115960147 -0.0380994380 + -0.0000000007 0.3389308155 -0.0000000241 -0.0981443748 -0.0025288910 -0.0004472510 + -0.0778401271 0.2149398476 -0.0016879914 -0.5706922412 0.3963468373 -0.6230442524 + 0.0000000049 0.1860865057 0.0000001349 -0.2385635823 0.0177985504 0.0262887031 + -0.0000000033 0.2760954797 -0.0000000077 -0.1930531412 0.0074584545 0.0184173640 + 0.0000000002 0.3388733864 0.0000000181 -0.0932182074 0.0019634266 0.0013679523 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 38 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0005261747 0.0376808345 + -0.0000000404 1.2101047039 -0.1230351850 -0.0000000000 -0.0000000000 -0.0000000056 + 0.0778401271 0.2149246335 0.0011441763 -0.5836005807 -0.3866990209 0.6086608768 + -0.0000000047 0.1860864609 -0.0000000079 -0.2420907319 -0.0052668345 0.0107485428 + 0.0000000003 0.2763551176 -0.0000000864 -0.1757373512 -0.0112034343 -0.0380361378 + -0.0000000040 0.3389308453 0.0000000576 -0.0981444046 -0.0023272873 -0.0004115966 + -0.0778401271 0.2149398476 -0.0016879914 -0.5715590119 0.3963875473 -0.6210938096 + 0.0000000091 0.1860865206 0.0000001080 -0.2379442751 0.0163887981 0.0243432596 + -0.0000000037 0.2760954499 -0.0000000959 -0.1930591017 0.0071060965 0.0181796271 + -0.0000000030 0.3388733268 0.0000000664 -0.0932182670 0.0018069039 0.0012589038 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 39 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0004757881 0.0340725146 + -0.0000000035 1.2101044655 -0.1230351999 0.0000000000 -0.0000000000 -0.0000000037 + 0.0778401271 0.2149246335 0.0011441763 -0.5846152306 -0.3866911232 0.6067544222 + 0.0000000056 0.1860864609 0.0000001010 -0.2411790937 -0.0040705698 0.0126882149 + -0.0000000026 0.2763553262 -0.0000000146 -0.1757541597 -0.0107689202 -0.0379660614 + -0.0000000009 0.3389307261 -0.0000000667 -0.0981444865 -0.0021041513 -0.0003721355 + -0.0778401271 0.2149398476 -0.0016879914 -0.5725129843 0.3964287341 -0.6189285517 + -0.0000000036 0.1860864460 -0.0000000651 -0.2372568697 0.0148281278 0.0221895240 + 0.0000000013 0.2760955989 0.0000000595 -0.1930656731 0.0067161019 0.0179164875 + -0.0000000034 0.3388735056 -0.0000000835 -0.0932182968 0.0016336621 0.0011382045 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 40 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0004210903 0.0301554538 + -0.0000000092 1.2101049423 -0.1230351925 -0.0000000000 0.0000000000 -0.0000000000 + 0.0778401271 0.2149246335 0.0011441763 -0.5857117176 -0.3866795003 0.6046805382 + 0.0000000051 0.1860864908 -0.0000000415 -0.2401878685 -0.0027722588 0.0147932060 + 0.0000000013 0.2763553858 -0.0000001153 -0.1757723391 -0.0102974009 -0.0378900133 + -0.0000000044 0.3389307261 -0.0000000915 -0.0981445238 -0.0018620145 -0.0003293121 + -0.0778401271 0.2149398476 -0.0016879914 -0.5735418200 0.3964688778 -0.6165711880 + 0.0000000042 0.1860864162 0.0000000434 -0.2365088612 0.0131341927 0.0198518690 + -0.0000000013 0.2760955691 -0.0000001531 -0.1930727363 0.0062928954 0.0176309422 + 0.0000000003 0.3388733864 -0.0000000327 -0.0932183489 0.0014456697 0.0010072280 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 41 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0003626515 0.0259704851 + 0.0000000001 1.2101044655 -0.1230351999 -0.0000000000 -0.0000000000 -0.0000000009 + 0.0778401271 0.2149246335 0.0011441763 -0.5868775249 -0.3866635263 0.6024599671 + 0.0000000023 0.1860864013 0.0000001103 -0.2391273230 -0.0013854794 0.0170414783 + -0.0000000054 0.2763552964 0.0000000357 -0.1757917255 -0.0097938161 -0.0378087834 + -0.0000000044 0.3389306664 -0.0000000656 -0.0981445909 -0.0016034124 -0.0002835751 + -0.0778401271 0.2149398476 -0.0016879914 -0.5746331215 0.3965064585 -0.6140449047 + -0.0000000023 0.1860865206 0.0000001198 -0.2357074469 0.0113246683 0.0173546933 + -0.0000000008 0.2760955691 -0.0000001016 -0.1930801868 0.0058409083 0.0173259694 + -0.0000000017 0.3388732970 0.0000000231 -0.0932183489 0.0012448934 0.0008673480 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 42 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0003010435 0.0215585623 + -0.0000000047 1.2101047039 -0.1230351850 -0.0000000000 0.0000000000 -0.0000000009 + 0.0778401271 0.2149246335 0.0011441763 -0.5881004333 -0.3866427541 0.6001133323 + -0.0000000023 0.1860863715 0.0000000783 -0.2380075157 0.0000761748 0.0194109771 + -0.0000000061 0.2763552964 -0.0000001604 -0.1758121550 -0.0092630927 -0.0377231687 + 0.0000000040 0.3389307261 -0.0000000366 -0.0981446058 -0.0013308759 -0.0002353786 + -0.0778401271 0.2149398476 -0.0016879914 -0.5757748485 0.3965402246 -0.6113730073 + -0.0000000030 0.1860865057 -0.0000000509 -0.2348603010 0.0094172917 0.0147224488 + -0.0000000003 0.2760952413 0.0000002151 -0.1930880547 0.0053645652 0.0170045607 + -0.0000000005 0.3388733268 -0.0000000030 -0.0932184085 0.0010332997 0.0007199265 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 43 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0002368400 0.0169607718 + -0.0000000132 1.2101048231 -0.1230351999 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0778401271 0.2149246335 0.0011441763 -0.5893681049 -0.3866168857 0.5976615548 + 0.0000000002 0.1860864609 0.0000000100 -0.2368382514 0.0015991081 0.0218796227 + -0.0000000002 0.2763552666 0.0000000049 -0.1758333445 -0.0087101664 -0.0376339592 + -0.0000000033 0.3389307857 -0.0000000568 -0.0981446579 -0.0010469402 -0.0001851602 + -0.0778401271 0.2149398476 -0.0016879914 -0.5769551992 0.3965688944 -0.6085788012 + -0.0000000019 0.1860863864 -0.0000000497 -0.2339746356 0.0074297851 0.0119796032 + -0.0000000002 0.2760954201 0.0000000171 -0.1930961609 0.0048682936 0.0166697018 + -0.0000000001 0.3388732672 -0.0000000417 -0.0932184383 0.0008128544 0.0005663424 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 44 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0001706159 0.0122182807 + -0.0000000044 1.2101045847 -0.1230351850 -0.0000000000 0.0000000000 -0.0000000005 + 0.0778401271 0.2149246335 0.0011441763 -0.5906685591 -0.3865856826 0.5951260328 + -0.0000000005 0.1860864908 0.0000001631 -0.2356301695 0.0031696928 0.0244253203 + 0.0000000039 0.2763552070 0.0000001085 -0.1758551747 -0.0081399744 -0.0375419594 + 0.0000000026 0.3389307857 0.0000000221 -0.0981446654 -0.0007541375 -0.0001333770 + -0.0778401271 0.2149398476 -0.0016879914 -0.5781624913 0.3965915143 -0.6056864858 + 0.0000000000 0.1860863864 0.0000000520 -0.2330582589 0.0053799357 0.0091507016 + 0.0000000028 0.2760955691 0.0000001563 -0.1931044012 0.0043565230 0.0163243804 + 0.0000000005 0.3388735354 0.0000000604 -0.0932184681 0.0005855256 0.0004079583 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 45 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0001029475 0.0073723565 + 0.0000000003 1.2101045847 -0.1230351925 -0.0000000000 -0.0000000000 0.0000000002 + 0.0778401271 0.2149246335 0.0011441763 -0.5919897556 -0.3865489066 0.5925280452 + 0.0000000035 0.1860864758 0.0000001380 -0.2343931645 0.0047743018 0.0270259567 + -0.0000000009 0.2763552070 0.0000001186 -0.1758773774 -0.0075574419 -0.0374479406 + 0.0000000084 0.3389307261 0.0000000369 -0.0981447026 -0.0004550016 -0.0000804739 + -0.0778401271 0.2149398476 -0.0016879914 -0.5793853998 0.3966074884 -0.6027203798 + 0.0000000028 0.1860864162 -0.0000000914 -0.2321188897 0.0032855337 0.0062602903 + 0.0000000023 0.2760953903 -0.0000001372 -0.1931128204 0.0038336799 0.0159715787 + -0.0000000051 0.3388734758 0.0000000493 -0.0932184756 0.0003532801 0.0002461507 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 46 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 0.0000344122 0.0024643508 + -0.0000000001 1.2101045847 -0.1230352074 -0.0000000000 0.0000000000 0.0000000001 + 0.0778401271 0.2149246335 0.0011441763 -0.5933201313 -0.3865067959 0.5898893476 + 0.0000000021 0.1860865057 -0.0000001500 -0.2331379056 0.0063992939 0.0296594109 + 0.0000000097 0.2763550878 0.0000000694 -0.1758997440 -0.0069675045 -0.0373527259 + 0.0000000070 0.3389306962 0.0000001031 -0.0981446952 -0.0001520667 -0.0000268964 + -0.0778401271 0.2149398476 -0.0016879914 -0.5806130767 0.3966161311 -0.5997049212 + 0.0000000009 0.1860863864 -0.0000002473 -0.2311642021 0.0011643933 0.0033329488 + 0.0000000019 0.2760954797 0.0000000477 -0.1931212246 0.0033041926 0.0156142879 + 0.0000000021 0.3388733566 0.0000001146 -0.0932184532 0.0001180837 0.0000822884 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 47 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0000344121 -0.0024643526 + 0.0000000001 1.2101044655 -0.1230352074 0.0000000000 -0.0000000000 -0.0000000001 + 0.0778401271 0.2149246335 0.0011441763 -0.5946485996 -0.3864594698 0.5872319937 + -0.0000000019 0.1860864908 0.0000000264 -0.2318747342 0.0080310274 0.0323035754 + 0.0000000026 0.2763552666 0.0000000913 -0.1759222746 -0.0063751009 -0.0372570977 + 0.0000000046 0.3389308453 0.0000001036 -0.0981447026 0.0001521361 0.0000269024 + -0.0778401271 0.2149398476 -0.0016879914 -0.5818349123 0.3966173530 -0.5966655016 + 0.0000000005 0.1860864758 0.0000000477 -0.2302023321 -0.0009656611 0.0003932911 + -0.0000000019 0.2760955393 -0.0000000117 -0.1931295842 0.0027724891 0.0152554996 + -0.0000000075 0.3388735056 -0.0000000192 -0.0932184756 -0.0001180954 -0.0000822589 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 48 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0001029475 -0.0073723621 + 0.0000000016 1.2101045847 -0.1230351850 0.0000000000 0.0000000000 -0.0000000002 + 0.0778401271 0.2149246335 0.0011441763 -0.5959637761 -0.3864072859 0.5845781565 + 0.0000000005 0.1860864460 -0.0000000655 -0.2306141704 0.0096558584 0.0349363312 + 0.0000000102 0.2763551176 -0.0000000346 -0.1759445667 -0.0057851616 -0.0371618457 + 0.0000000015 0.3389309049 0.0000000410 -0.0981446877 0.0004550722 0.0000804789 + -0.0778401271 0.2149398476 -0.0016879914 -0.5830405354 0.3966109753 -0.5936273932 + 0.0000000009 0.1860864311 -0.0000001687 -0.2292412370 -0.0030868074 -0.0025341024 + 0.0000000009 0.2760955393 0.0000000603 -0.1931378394 0.0022430015 0.0148981987 + -0.0000000009 0.3388732374 -0.0000000638 -0.0932184607 -0.0003532919 -0.0002461227 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 49 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0001706159 -0.0122182826 + 0.0000000025 1.2101045847 -0.1230351850 -0.0000000000 -0.0000000000 0.0000000005 + 0.0778401271 0.2149246335 0.0011441763 -0.5972548723 -0.3863508999 0.5819503069 + -0.0000000028 0.1860864162 -0.0000000062 -0.2293669730 0.0112601528 0.0375356041 + -0.0000000026 0.2763551772 -0.0000000149 -0.1759665757 -0.0052026194 -0.0370677896 + 0.0000000062 0.3389309049 0.0000000619 -0.0981446803 0.0007542081 0.0001333809 + -0.0778401271 0.2149398476 -0.0016879914 -0.5842202306 0.3965973556 -0.5906166434 + -0.0000000007 0.1860864609 -0.0000000435 -0.2282890230 -0.0051812138 -0.0054246169 + -0.0000000042 0.2760953307 0.0000000005 -0.1931458861 0.0017201524 0.0145453745 + -0.0000000014 0.3388735056 -0.0000000726 -0.0932184532 -0.0005855380 -0.0004079303 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 50 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0002368400 -0.0169607736 + 0.0000000020 1.2101044655 -0.1230351999 -0.0000000000 -0.0000000000 0.0000000009 + 0.0778401271 0.2149246335 0.0011441763 -0.5985113382 -0.3862910271 0.5793712139 + -0.0000000007 0.1860864908 -0.0000001182 -0.2281437963 0.0128302723 0.0400793031 + 0.0000000087 0.2763552368 0.0000000012 -0.1759880185 -0.0046324078 -0.0369757004 + 0.0000000014 0.3389307261 0.0000000655 -0.0981446728 0.0010470108 0.0001851665 + -0.0778401271 0.2149398476 -0.0016879914 -0.5853643417 0.3965769410 -0.5876592994 + 0.0000000027 0.1860864908 -0.0000001255 -0.2273541242 -0.0072310790 -0.0082536787 + 0.0000000005 0.2760954797 0.0000000904 -0.1931537837 0.0012083721 0.0142000159 + -0.0000000019 0.3388733268 0.0000001149 -0.0932184234 -0.0008128671 -0.0005663113 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 51 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0003010435 -0.0215585604 + 0.0000000010 1.2101044655 -0.1230351850 -0.0000000000 -0.0000000000 0.0000000009 + 0.0778401271 0.2149246335 0.0011441763 -0.5997226834 -0.3862285614 0.5768638253 + -0.0000000051 0.1860864013 -0.0000000469 -0.2269555628 0.0143526113 0.0425453968 + 0.0000000002 0.2763551474 0.0000001031 -0.1760087311 -0.0040794667 -0.0368863977 + 0.0000000033 0.3389308155 0.0000000586 -0.0981446207 0.0013309463 0.0002353798 + -0.0778401271 0.2149398476 -0.0016879914 -0.5864638090 0.3965504766 -0.5847818851 + -0.0000000006 0.1860864758 0.0000000165 -0.2264446318 -0.0092185875 -0.0109967012 + 0.0000000028 0.2760955393 -0.0000000171 -0.1931612492 0.0007120934 0.0138651067 + -0.0000000028 0.3388735354 0.0000000001 -0.0932184085 -0.0010333110 -0.0007198986 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 52 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0003626517 -0.0259704869 + 0.0000000149 1.2101043463 -0.1230351999 0.0000000000 0.0000000000 0.0000000009 + 0.0778401271 0.2149246335 0.0011441763 -0.6008788943 -0.3861644566 0.5744510889 + -0.0000000027 0.1860865057 -0.0000000515 -0.2258129418 0.0158135667 0.0449118912 + -0.0000000007 0.2763552368 0.0000000491 -0.1760285646 -0.0035487271 -0.0368006639 + -0.0000000026 0.3389307261 0.0000000623 -0.0981445909 0.0016034823 0.0002835805 + -0.0778401271 0.2149398476 -0.0016879914 -0.5875098109 0.3965188563 -0.5820113420 + 0.0000000012 0.1860864758 -0.0000001495 -0.2255691737 -0.0111259846 -0.0136291878 + -0.0000000037 0.2760953307 -0.0000000807 -0.1931684315 0.0002357382 0.0135436393 + 0.0000000023 0.3388733864 -0.0000000268 -0.0932183564 -0.0012449060 -0.0008673176 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 53 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0004210905 -0.0301554631 + 0.0000000093 1.2101048231 -0.1230351925 -0.0000000000 -0.0000000000 0.0000000000 + 0.0778401271 0.2149246335 0.0011441763 -0.6019702554 -0.3860999644 0.5721564889 + 0.0000000017 0.1860863715 -0.0000000772 -0.2247269601 0.0171995498 0.0471567661 + -0.0000000030 0.2763552070 0.0000001853 -0.1760473400 -0.0030451149 -0.0367193036 + 0.0000000016 0.3389306962 0.0000000245 -0.0981445387 0.0018620847 0.0003293151 + -0.0778401271 0.2149398476 -0.0016879914 -0.5884938836 0.3964832127 -0.5793746710 + -0.0000000007 0.1860863715 0.0000001291 -0.2247361988 -0.0129355155 -0.0161266159 + -0.0000000009 0.2760954499 -0.0000000241 -0.1931751072 -0.0002162619 0.0132386070 + 0.0000000065 0.3388732076 -0.0000000002 -0.0932183117 -0.0014456835 -0.0010072007 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 54 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0004757880 -0.0340725072 + 0.0000000035 1.2101044655 -0.1230351999 -0.0000000000 0.0000000000 0.0000000037 + 0.0778401271 0.2149246335 0.0011441763 -0.6029866934 -0.3860362172 0.5700033903 + 0.0000000034 0.1860864908 0.0000001453 -0.2237085700 0.0184970163 0.0492581278 + 0.0000000026 0.2763552070 0.0000000396 -0.1760649681 -0.0025735763 -0.0366431139 + -0.0000000077 0.3389306068 -0.0000000323 -0.0981445014 0.0021042218 0.0003721397 + -0.0778401271 0.2149398476 -0.0016879914 -0.5894077420 0.3964449465 -0.5768991113 + -0.0000000009 0.1860864460 -0.0000001481 -0.2239542902 -0.0146294627 -0.0184645280 + 0.0000000009 0.2760954499 -0.0000000277 -0.1931813657 -0.0006394779 0.0129529973 + -0.0000000065 0.3388734162 -0.0000000157 -0.0932182670 -0.0016336751 -0.0011381739 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 55 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0005261746 -0.0376808345 + 0.0000000404 1.2101047039 -0.1230351850 -0.0000000000 0.0000000000 0.0000000056 + 0.0778401271 0.2149246335 0.0011441763 -0.6039189100 -0.3859747350 0.5680154562 + 0.0000000017 0.1860863864 -0.0000000712 -0.2227688432 0.0196924135 0.0511940755 + 0.0000000016 0.2763552368 0.0000000448 -0.1760810912 -0.0021390363 -0.0365728997 + 0.0000000079 0.3389308155 0.0000000241 -0.0981444344 0.0023273560 0.0004116010 + -0.0778401271 0.2149398476 -0.0016879914 -0.5902435184 0.3964055181 -0.5746121407 + -0.0000000014 0.1860865355 -0.0000001573 -0.2232321054 -0.0161901526 -0.0206185635 + -0.0000000037 0.2760953903 -0.0000000233 -0.1931870878 -0.0010294879 0.0126897944 + -0.0000000009 0.3388732970 -0.0000000693 -0.0932182670 -0.0018069171 -0.0012588737 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 56 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000161 -0.0005716815 -0.0409396999 + 0.0000000224 1.2101045847 -0.1230351999 -0.0000000000 0.0000000000 0.0000000000 + 0.0778401271 0.2149246335 0.0011441763 -0.6047574878 -0.3859168887 0.5662160516 + 0.0000000026 0.1860864162 -0.0000000608 -0.2219187170 0.0207722299 0.0529427193 + -0.0000000026 0.2763552070 -0.0000000160 -0.1760956347 -0.0017464275 -0.0365094543 + -0.0000000019 0.3389307559 -0.0000000962 -0.0981443748 0.0025289615 0.0004472560 + -0.0778401271 0.2149398476 -0.0016879914 -0.5909931660 0.3963662684 -0.5725411773 + 0.0000000000 0.1860864013 -0.0000003668 -0.2225782275 -0.0175999142 -0.0225642826 + -0.0000000037 0.2760955095 0.0000001914 -0.1931922883 -0.0013818573 0.0124519868 + 0.0000000019 0.3388732970 0.0000000177 -0.0932182223 -0.0019634401 -0.0013679253 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 57 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0006117407 -0.0438084528 + -0.0000000059 1.2101044655 -0.1230351999 0.0000000000 0.0000000001 0.0000000000 + 0.0778401271 0.2149246335 0.0011441763 -0.6054930091 -0.3858641386 0.5646291375 + 0.0000000035 0.1860864460 -0.0000001601 -0.2211692482 0.0217229426 0.0544822216 + 0.0000000021 0.2763552070 0.0000000270 -0.1761084050 -0.0014006889 -0.0364535786 + -0.0000000009 0.3389307559 0.0000000647 -0.0981443301 0.0027064981 0.0004786549 + -0.0778401271 0.2149398476 -0.0016879914 -0.5916491151 0.3963291049 -0.5707138777 + 0.0000000023 0.1860864758 0.0000001351 -0.2220012993 -0.0188411158 -0.0242773686 + 0.0000000000 0.2760953903 0.0000000334 -0.1931966990 -0.0016921622 0.0122425659 + -0.0000000037 0.3388733864 0.0000000557 -0.0932181925 -0.0021012784 -0.0014639579 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 58 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0006457866 -0.0462465659 + -0.0000000359 1.2101042271 -0.1230352074 -0.0000000000 0.0000000000 0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.6061161160 -0.3858179748 0.5632781386 + -0.0000000009 0.1860864162 -0.0000000348 -0.2205315232 0.0225310624 0.0557907671 + -0.0000000088 0.2763552368 0.0000001609 -0.1761192679 -0.0011067491 -0.0364060663 + -0.0000000033 0.3389308453 0.0000000864 -0.0981442779 0.0028574369 0.0005053490 + -0.0778401271 0.2149398476 -0.0016879914 -0.5922036767 0.3962953389 -0.5691577196 + 0.0000000005 0.1860864311 0.0000000427 -0.2215100825 -0.0198961478 -0.0257335268 + 0.0000000000 0.2760955691 0.0000000542 -0.1932005286 -0.0019559767 0.0120645212 + -0.0000000056 0.3388734460 -0.0000000347 -0.0932181403 -0.0022184646 -0.0015456023 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 59 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0006732529 -0.0482135229 + 0.0000000377 1.2101045847 -0.1230351850 -0.0000000000 -0.0000000000 0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.6066175103 -0.3857797682 0.5621866584 + -0.0000000056 0.1860864162 -0.0000000975 -0.2200164348 0.0231831167 0.0568465479 + -0.0000000051 0.2763553262 0.0000001542 -0.1761280149 -0.0008695455 -0.0363677293 + 0.0000000042 0.3389308751 0.0000000203 -0.0981442481 0.0029792427 0.0005268907 + -0.0778401271 0.2149398476 -0.0016879914 -0.5926492810 0.3962669075 -0.5679001212 + 0.0000000023 0.1860864609 -0.0000001923 -0.2211132050 -0.0207473971 -0.0269084275 + -0.0000000037 0.2760955393 0.0000001357 -0.1932035387 -0.0021688705 0.0119208377 + -0.0000000065 0.3388733864 -0.0000000097 -0.0932181254 -0.0023130334 -0.0016114921 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 60 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0006935737 -0.0496687554 + -0.0000000147 1.2101044655 -0.1230351999 0.0000000000 0.0000000000 0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.6069875956 -0.3857510388 0.5613783002 + 0.0000000019 0.1860864908 0.0000000519 -0.2196350098 0.0236655846 0.0576277189 + 0.0000000043 0.2763552070 0.0000000584 -0.1761345416 -0.0006940040 -0.0363393575 + -0.0000000037 0.3389306068 -0.0000000091 -0.0981442332 0.0030693836 0.0005428338 + -0.0778401271 0.2149398476 -0.0016879914 -0.5929777026 0.3962449729 -0.5669685006 + -0.0000000009 0.1860863864 -0.0000002057 -0.2208191603 -0.0213772804 -0.0277777761 + 0.0000000028 0.2760955691 -0.0000000756 -0.1932057738 -0.0023264212 0.0118145077 + -0.0000000009 0.3388733566 -0.0000000055 -0.0932181105 -0.0023830181 -0.0016602500 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 61 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0007061831 -0.0505717508 + -0.0000000061 1.2101045847 -0.1230351999 -0.0000000000 0.0000000000 0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.6072170138 -0.3857329190 0.5608763099 + 0.0000000051 0.1860864162 -0.0000001931 -0.2193982005 0.0239649899 0.0581124909 + -0.0000000041 0.2763552964 -0.0000000623 -0.1761385351 -0.0005850627 -0.0363217443 + 0.0000000019 0.3389307261 0.0000000034 -0.0981441960 0.0031253248 0.0005527271 + -0.0778401271 0.2149398476 -0.0016879914 -0.5931809545 0.3962310851 -0.5663899183 + -0.0000000005 0.1860864311 0.0000000416 -0.2206365317 -0.0217681304 -0.0283172242 + 0.0000000037 0.2760955393 -0.0000001049 -0.1932071745 -0.0024241989 0.0117485207 + 0.0000000009 0.3388734460 0.0000001045 -0.0932180658 -0.0024264511 -0.0016905095 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + +frame 62 { + 0.0000050068 0.7780786753 0.0214254875 -0.0000000000 -0.0000000000 -0.0000000000 + 0.0000000000 0.1770023108 -0.0009516347 0.0026881641 -0.0000000000 -0.0000000000 + 0.0000000000 0.2065057456 -0.0000000023 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2360067219 0.0000000005 0.0000000042 -0.0000000000 -0.0000000000 + 0.0000000000 0.2655072510 0.0000000028 -0.0026881725 -0.0000000000 -0.0000000000 + 0.0000000000 0.3947657347 -0.0401370823 -0.0000000160 -0.0007105127 -0.0508817993 + 0.0000000111 1.2101048231 -0.1230351925 -0.0000000000 -0.0000000000 0.0000000019 + 0.0778401271 0.2149246335 0.0011441763 -0.6072957516 -0.3857267797 0.5607039332 + 0.0000000009 0.1860864162 0.0000000499 -0.2193168551 0.0240677837 0.0582789406 + 0.0000000031 0.2763552666 -0.0000001102 -0.1761399060 -0.0005476516 -0.0363156982 + -0.0000000014 0.3389308155 -0.0000000412 -0.0981442034 0.0031445359 0.0005561242 + -0.0778401271 0.2149398476 -0.0016879914 -0.5932507515 0.3962262571 -0.5661910772 + -0.0000000019 0.1860864460 -0.0000000850 -0.2205737978 -0.0219023414 -0.0285024680 + -0.0000000065 0.2760955393 -0.0000001188 -0.1932076514 -0.0024577731 0.0117258616 + 0.0000000009 0.3388734162 -0.0000000167 -0.0932180807 -0.0024413653 -0.0017009007 + 0.1861518174 -0.0983439088 -0.0044584572 -0.0002614523 -0.0164730735 0.9997389913 + -0.0000000196 0.3293979168 -0.0000000008 -0.0034133261 0.0000098612 0.0026536337 + -0.0000000188 0.2477990985 0.0000000010 -0.3401664197 -0.2407970428 0.0905603021 + 0.0000000144 0.0675944164 -0.0000000047 -0.4292519093 0.0104676560 -0.0049753017 + 0.0000000141 0.0427611358 0.0000000004 0.0000002872 -0.0000005488 0.0000004763 + -0.1861518174 -0.0983439088 -0.0087781679 -0.0001303761 0.0082231257 -0.9998407960 + -0.0000000109 0.3292638361 -0.0000000005 0.0076488191 0.0000197466 -0.0026609255 + -0.0000000124 0.2478392422 -0.0000000001 -0.4255259931 0.1628392488 -0.0781428888 + -0.0000000123 0.0799339041 0.0000000019 -0.3500214219 -0.0016251154 0.0006072879 + 0.0000000126 0.0583351627 -0.0000000048 0.0000001371 0.0000002218 -0.0000002390 +} + diff --git a/models/player/player.md5mesh b/models/player/player.md5mesh index e782ee4..d14f363 100644 --- a/models/player/player.md5mesh +++ b/models/player/player.md5mesh @@ -1,1234 +1,1234 @@ -MD5Version 10 // Parameters used during export: Reorient: False; Scale: 1.0 -commandline "" - -numJoints 25 -numMeshes 1 - -joints { - "mixamorig:Hips" -1 ( 0.0000050068 0.7780786753 0.0214254875 ) ( -0.0000000000 -0.0000000000 -0.0000000000 ) - "mixamorig:Spine" 0 ( 0.0000050068 0.9550809860 0.0204738528 ) ( 0.0026881641 -0.0000000000 -0.0000000000 ) - "mixamorig:Spine1" 1 ( 0.0000050068 1.1615837812 0.0193636138 ) ( 0.0026881683 -0.0000000000 -0.0000000000 ) - "mixamorig:Spine2" 2 ( 0.0000050068 1.3975870609 0.0180947669 ) ( 0.0026881725 -0.0000000000 -0.0000000000 ) - "mixamorig:Neck" 3 ( 0.0000050068 1.6630904675 0.0166673157 ) ( 0.0000000002 -0.0000000000 -0.0000000000 ) - "mixamorig:Head" 4 ( 0.0000050068 2.0578560829 -0.0234697666 ) ( 0.0000000002 -0.0000000000 -0.0000000000 ) - "mixamorig:HeadTop_End" 5 ( 0.0000050068 3.2679605484 -0.1465049684 ) ( 0.0000000002 -0.0000000000 -0.0000000000 ) - "mixamorig:LeftShoulder" 3 ( 0.0778451338 1.6125147343 0.0180834215 ) ( -0.6247026324 -0.3338780999 0.6174114347 ) - "mixamorig:LeftArm" 7 ( 0.2340943515 1.5114883184 0.0209156312 ) ( -0.6420348287 -0.2923028171 0.6572546363 ) - "mixamorig:LeftForeArm" 8 ( 0.4341848195 1.3212496042 0.0088629127 ) ( -0.6482289433 -0.2774304450 0.6426414251 ) - "mixamorig:LeftHand" 9 ( 0.6866635084 1.0953937769 0.0197164454 ) ( -0.6482288837 -0.2774304152 0.6426414847 ) - "mixamorig:RightShoulder" 3 ( -0.0778351203 1.6125147343 0.0152512118 ) ( -0.6133962274 0.3400166035 -0.6286455393 ) - "mixamorig:RightArm" 11 ( -0.2340843379 1.5114883184 0.0124189947 ) ( -0.6434517503 0.2779306769 -0.6561143398 ) - "mixamorig:RightForeArm" 12 ( -0.4341749549 1.3212496042 0.0111083360 ) ( -0.6433499455 0.2774566412 -0.6475695968 ) - "mixamorig:RightHand" 13 ( -0.6866537333 1.0953935385 0.0199788399 ) ( -0.6433498263 0.2774567604 -0.6475695372 ) - "mixamorig:LeftUpLeg" 0 ( 0.1861568242 0.6797347665 0.0169670302 ) ( -0.0002614523 -0.0164730735 0.9997389913 ) - "mixamorig:LeftLeg" 15 ( 0.1965884268 0.3506807387 0.0061202003 ) ( -0.0002619248 -0.0130610233 0.9998278022 ) - "mixamorig:LeftFoot" 16 ( 0.2031211704 0.1030523032 -0.0003499896 ) ( 0.2442932129 -0.3250968158 -0.9099078774 ) - "mixamorig:LeftToeBase" 17 ( 0.1823154092 0.0506515764 0.0369365625 ) ( 0.1743443906 -0.6845366359 -0.6851633191 ) - "mixamorig:LeftToe_End" 18 ( 0.1616981477 0.0506648533 0.0743991286 ) ( 0.1743451357 -0.6845363975 -0.6851633191 ) - "mixamorig:RightUpLeg" 0 ( -0.1861468107 0.6797347665 0.0126473196 ) ( -0.0001303761 0.0082231257 -0.9998407960 ) - "mixamorig:RightLeg" 20 ( -0.1965784132 0.3506806493 0.0072343871 ) ( -0.0000070597 0.0158711169 -0.9997871518 ) - "mixamorig:RightFoot" 21 ( -0.2031111270 0.1030523032 -0.0006308653 ) ( 0.1671799421 0.4092147350 0.8943320513 ) - "mixamorig:RightToeBase" 22 ( -0.1823053807 0.0506510064 0.0560317598 ) ( 0.1307421327 0.6963525414 0.6948363781 ) - "mixamorig:RightToe_End" 23 ( -0.1616881490 0.0506637171 0.1106020957 ) ( 0.1307424605 0.6963524818 0.6948363781 ) -} - -mesh { - shader "Material.001" - - numverts 360 - vert 0 ( 0.9770900011 0.2309870124 ) 0 1 - vert 1 ( 0.6280120015 0.1237249970 ) 1 1 - vert 2 ( 0.6345289946 0.1068750024 ) 2 1 - vert 3 ( 0.6294689775 0.1207150221 ) 3 1 - vert 4 ( 0.6270750165 0.1237490177 ) 4 1 - vert 5 ( 0.9619359970 0.1288509965 ) 5 1 - vert 6 ( 0.6267939806 0.1221429706 ) 6 1 - vert 7 ( 0.6278039813 0.1244599819 ) 7 1 - vert 8 ( 0.6277189851 0.1250759959 ) 8 1 - vert 9 ( 0.6275889874 0.1251239777 ) 9 1 - vert 10 ( 0.6273840070 0.1248769760 ) 10 1 - vert 11 ( 0.6274170280 0.1244670153 ) 11 1 - vert 12 ( 0.6276659966 0.1251080036 ) 12 1 - vert 13 ( 0.6276990175 0.1247619987 ) 13 1 - vert 14 ( 0.6275320053 0.1247850060 ) 14 1 - vert 15 ( 0.5844860077 0.0141670108 ) 15 1 - vert 16 ( 0.9262359738 0.2288500071 ) 16 1 - vert 17 ( 0.8765550256 0.0418639779 ) 17 1 - vert 18 ( 0.8923299909 0.1293950081 ) 18 1 - vert 19 ( 0.6290599704 0.1236950159 ) 19 1 - vert 20 ( 0.6281279922 0.1245719790 ) 20 1 - vert 21 ( 0.6279190183 0.1248049736 ) 21 1 - vert 22 ( 0.6272850037 0.1250529885 ) 22 1 - vert 23 ( 0.6277779937 0.1249799728 ) 23 1 - vert 24 ( 0.1929789931 0.8408509940 ) 24 1 - vert 25 ( 0.1771589965 0.9808309991 ) 25 1 - vert 26 ( 0.4022620022 0.9350420013 ) 26 1 - vert 27 ( 0.4366309941 0.9020529985 ) 27 1 - vert 28 ( 0.6284980178 0.1200129986 ) 28 1 - vert 29 ( 0.2793749869 0.7931790054 ) 29 1 - vert 30 ( 0.9767739773 0.1109529734 ) 30 1 - vert 31 ( 0.6172839999 0.1166309714 ) 31 1 - vert 32 ( 0.3981139958 0.4433689713 ) 32 1 - vert 33 ( 0.3689439893 0.2599049807 ) 33 1 - vert 34 ( 0.6660386324 0.3566115499 ) 34 1 - vert 35 ( 0.7027752399 0.3440144658 ) 35 1 - vert 36 ( 0.1389996111 0.0135309696 ) 36 1 - vert 37 ( 0.1603786498 0.0651845336 ) 37 1 - vert 38 ( 0.4172109962 0.4506959915 ) 38 1 - vert 39 ( 0.6661924720 0.3876863718 ) 39 1 - vert 40 ( 0.7041609883 0.4037358165 ) 40 1 - vert 41 ( 0.0421696305 0.0356623530 ) 41 1 - vert 42 ( 0.3640710115 0.3078100085 ) 42 1 - vert 43 ( 0.6439904571 0.4093347192 ) 43 1 - vert 44 ( 0.6606106162 0.4438698292 ) 44 1 - vert 45 ( 0.3638960123 0.1557689905 ) 45 1 - vert 46 ( 0.3605380058 0.2527520061 ) 46 1 - vert 47 ( 0.3427940011 0.3544380069 ) 47 1 - vert 48 ( 0.3759880066 0.3210170269 ) 48 1 - vert 49 ( 0.3811979890 0.4251279831 ) 49 1 - vert 50 ( 0.3842659891 0.8901999965 ) 50 1 - vert 51 ( 0.3785459995 0.8891329989 ) 51 1 - vert 52 ( 0.6258339882 0.1211379766 ) 52 1 - vert 53 ( 0.3810040057 0.8677999973 ) 53 1 - vert 54 ( 0.3707079887 0.8718049973 ) 54 1 - vert 55 ( 0.3819220066 0.8358670026 ) 55 1 - vert 56 ( 0.3483920097 0.8548330069 ) 56 1 - vert 57 ( 0.6258339882 0.1211370230 ) 57 1 - vert 58 ( 0.3800359964 0.8845999986 ) 58 1 - vert 59 ( 0.3783299923 0.8806720003 ) 59 1 - vert 60 ( 0.3872820139 0.8811160028 ) 60 1 - vert 61 ( 0.3822369874 0.8789430037 ) 61 1 - vert 62 ( 0.3885929883 0.8864990026 ) 62 1 - vert 63 ( 0.3722690046 0.8641059995 ) 63 1 - vert 64 ( 0.3723649979 0.8620190024 ) 64 1 - vert 65 ( 0.3821539879 0.8834739998 ) 65 1 - vert 66 ( 0.3833589852 0.8852609992 ) 66 1 - vert 67 ( 0.1410059929 0.9049080014 ) 67 1 - vert 68 ( 0.0966409966 0.9468900003 ) 68 1 - vert 69 ( 0.0561060011 0.8406559974 ) 69 1 - vert 70 ( 0.1553100049 0.8000580072 ) 70 1 - vert 71 ( 0.1400219947 0.8402269930 ) 71 1 - vert 72 ( 0.1138530001 0.8421600014 ) 72 1 - vert 73 ( 0.0970600024 0.8607649952 ) 73 1 - vert 74 ( 0.0946189985 0.8864549994 ) 74 1 - vert 75 ( 0.1159150004 0.9006400034 ) 75 1 - vert 76 ( 0.1577479988 0.8849460036 ) 76 1 - vert 77 ( 0.1580969989 0.8594820052 ) 77 1 - vert 78 ( 0.0625320002 0.6487930119 ) 78 1 - vert 79 ( 0.0544370003 0.6221770048 ) 79 1 - vert 80 ( 0.0709389970 0.6446329951 ) 80 1 - vert 81 ( 0.0642590001 0.6206119955 ) 81 1 - vert 82 ( 0.4915809929 0.2518169880 ) 82 1 - vert 83 ( 0.1726122499 0.0897893906 ) 83 1 - vert 84 ( 0.3437370062 0.3190500140 ) 84 1 - vert 85 ( 0.4043140113 0.4421190023 ) 85 1 - vert 86 ( 0.4561789930 0.3619400263 ) 86 1 - vert 87 ( 0.3798719943 0.4756839871 ) 87 1 - vert 88 ( 0.0695969984 0.5694989860 ) 88 1 - vert 89 ( 0.4506610036 0.2520239949 ) 89 1 - vert 90 ( 0.0263630003 0.6900230050 ) 90 1 - vert 91 ( 0.6276289821 0.1250270009 ) 91 1 - vert 92 ( 0.2008090019 0.8977760002 ) 92 1 - vert 93 ( 0.9607030153 0.0021219850 ) 93 1 - vert 94 ( 0.6288570166 0.1259790063 ) 94 1 - vert 95 ( 0.6319339871 0.1272889972 ) 95 1 - vert 96 ( 0.6281350255 0.1265770197 ) 96 1 - vert 97 ( 0.7894579768 0.1288509965 ) 97 1 - vert 98 ( 0.8756970167 0.2174919844 ) 98 1 - vert 99 ( 0.6532779932 0.1152070165 ) 99 1 - vert 100 ( 0.6282160282 0.1255609989 ) 100 1 - vert 101 ( 0.6277480125 0.1251530051 ) 101 1 - vert 102 ( 0.7727810144 0.2414770126 ) 102 1 - vert 103 ( 0.6273130178 0.1252719760 ) 103 1 - vert 104 ( 0.6275830269 0.1251710057 ) 104 1 - vert 105 ( 0.7523630261 0.3643490076 ) 105 1 - vert 106 ( 0.6279199719 0.1258109808 ) 106 1 - vert 107 ( 0.6276860237 0.1251639724 ) 107 1 - vert 108 ( 0.6284040213 0.1248630285 ) 108 1 - vert 109 ( 0.6277520061 0.1251080036 ) 109 1 - vert 110 ( 0.6276770234 0.1251360178 ) 110 1 - vert 111 ( 0.6280540228 0.1249939799 ) 111 1 - vert 112 ( 0.6277949810 0.1254870296 ) 112 1 - vert 113 ( 0.6279379725 0.1254019737 ) 113 1 - vert 114 ( 0.6278619766 0.1250659823 ) 114 1 - vert 115 ( 0.6274809837 0.1251069903 ) 115 1 - vert 116 ( 0.8756970167 0.0103880167 ) 116 1 - vert 117 ( 0.4881300032 0.3988339901 ) 117 1 - vert 118 ( 0.4400950074 0.4895849824 ) 118 1 - vert 119 ( 0.6296809912 0.1253119707 ) 119 1 - vert 120 ( 0.8348699808 0.1288409829 ) 120 1 - vert 121 ( 0.6283879876 0.1252639890 ) 121 1 - vert 122 ( 0.8251060247 0.2293919921 ) 122 1 - vert 123 ( 0.6280760169 0.1252260208 ) 123 1 - vert 124 ( 0.8126369715 0.3676660061 ) 124 1 - vert 125 ( 0.6278579831 0.1251860261 ) 125 1 - vert 126 ( 0.6275569797 0.1252970099 ) 126 1 - vert 127 ( 0.2312439978 0.8272600025 ) 127 1 - vert 128 ( 0.6276999712 0.1252350211 ) 128 1 - vert 129 ( 0.6289139986 0.1293590069 ) 129 1 - vert 130 ( 0.6289160252 0.1293579936 ) 130 1 - vert 131 ( 0.3191629946 0.8554199934 ) 131 1 - vert 132 ( 0.6388469934 0.1547129750 ) 132 1 - vert 133 ( 0.6444680095 0.1343740225 ) 133 1 - vert 134 ( 0.6274279952 0.1284369826 ) 134 1 - vert 135 ( 0.4257969856 0.4489369988 ) 135 1 - vert 136 ( 0.4019640088 0.3519570231 ) 136 1 - vert 137 ( 0.4873979986 0.1361770034 ) 137 1 - vert 138 ( 0.6447083354 0.3277802467 ) 138 1 - vert 139 ( 0.6268743873 0.3713766336 ) 139 1 - vert 140 ( 0.6092867851 0.3333960176 ) 140 1 - vert 141 ( 0.5919111967 0.2986634970 ) 141 1 - vert 142 ( 0.3658135533 0.0130164623 ) 142 1 - vert 143 ( 0.3437762558 0.0652713180 ) 143 1 - vert 144 ( 0.4568969905 0.4110100269 ) 144 1 - vert 145 ( 0.5873978734 0.3554539680 ) 145 1 - vert 146 ( 0.5490666032 0.3402915597 ) 146 1 - vert 147 ( 0.4605230093 0.0344183445 ) 147 1 - vert 148 ( 0.4237800837 0.0960637927 ) 148 1 - vert 149 ( 0.4879930019 0.3997430205 ) 149 1 - vert 150 ( 0.5880622864 0.3864561319 ) 150 1 - vert 151 ( 0.5520027876 0.3994416595 ) 151 1 - vert 152 ( 0.1267140061 0.1523479819 ) 152 1 - vert 153 ( 0.1492120028 0.3544380069 ) 153 1 - vert 154 ( 0.6091287136 0.4147571325 ) 154 1 - vert 155 ( 0.5975006223 0.4431831241 ) 155 1 - vert 156 ( 0.5779694319 0.4909285307 ) 156 1 - vert 157 ( 0.2460030019 0.3558310270 ) 157 1 - vert 158 ( 0.6567584276 0.2983228564 ) 158 1 - vert 159 ( 0.6746314168 0.2546311021 ) 159 1 - vert 160 ( 0.6289150119 0.1293590069 ) 160 1 - vert 161 ( 0.3650270104 0.8906970024 ) 161 1 - vert 162 ( 0.3682929873 0.8682879955 ) 162 1 - vert 163 ( 0.3620750010 0.8816469982 ) 163 1 - vert 164 ( 0.3785890043 0.8722939938 ) 164 1 - vert 165 ( 0.6289250255 0.1293600202 ) 165 1 - vert 166 ( 0.3673749864 0.8363559991 ) 166 1 - vert 167 ( 0.4009050131 0.8553210050 ) 167 1 - vert 168 ( 0.6289250255 0.1293730140 ) 168 1 - vert 169 ( 0.3707529902 0.8896239996 ) 169 1 - vert 170 ( 0.3709670007 0.8811599985 ) 170 1 - vert 171 ( 0.3670600057 0.8794310018 ) 171 1 - vert 172 ( 0.3607040048 0.8869879991 ) 172 1 - vert 173 ( 0.3770259917 0.8645929992 ) 173 1 - vert 174 ( 0.3769269884 0.8625030071 ) 174 1 - vert 175 ( 0.3692579865 0.8850919977 ) 175 1 - vert 176 ( 0.3671439886 0.8839619979 ) 176 1 - vert 177 ( 0.3659380078 0.8857500032 ) 177 1 - vert 178 ( 0.1550669968 0.9419599995 ) 178 1 - vert 179 ( 0.1960739940 0.9030029997 ) 179 1 - vert 180 ( 0.6276919842 0.1252430081 ) 180 1 - vert 181 ( 0.0593810007 0.9045839980 ) 181 1 - vert 182 ( 0.1144220009 0.9042780027 ) 182 1 - vert 183 ( 0.0957439989 0.8894170001 ) 183 1 - vert 184 ( 0.0928639993 0.8642549962 ) 184 1 - vert 185 ( 0.1105709970 0.8472200036 ) 185 1 - vert 186 ( 0.1562670022 0.8587670028 ) 186 1 - vert 187 ( 0.1559319943 0.8851289973 ) 187 1 - vert 188 ( 0.1393499970 0.9052110016 ) 188 1 - vert 189 ( 0.0604659989 0.6426970065 ) 189 1 - vert 190 ( 0.0575169995 0.6145370007 ) 190 1 - vert 191 ( 0.0698840022 0.6406809986 ) 191 1 - vert 192 ( 0.0675899982 0.6152510047 ) 192 1 - vert 193 ( 0.0113709997 0.2589859962 ) 193 1 - vert 194 ( 0.1399970055 0.2594069839 ) 194 1 - vert 195 ( 0.2460030019 0.2340459824 ) 195 1 - vert 196 ( 0.2524371743 0.0557144284 ) 196 1 - vert 197 ( 0.2536570132 0.4331889749 ) 197 1 - vert 198 ( 0.3362450004 0.0372470021 ) 198 1 - vert 199 ( 0.3329065442 0.0890851021 ) 199 1 - vert 200 ( 0.2460030019 0.2827500105 ) 200 1 - vert 201 ( 0.2526259422 0.0799843669 ) 201 1 - vert 202 ( 0.3286344111 0.1076187491 ) 202 1 - vert 203 ( 0.0505100004 0.3663420081 ) 203 1 - vert 204 ( 0.1610649973 0.3217980266 ) 204 1 - vert 205 ( 0.2460030019 0.3192819953 ) 205 1 - vert 206 ( 0.2541404068 0.1028505564 ) 206 1 - vert 207 ( 0.4818849862 0.3736709952 ) 207 1 - vert 208 ( 0.0809919983 0.5675910115 ) 208 1 - vert 209 ( 0.0806230009 0.3518000245 ) 209 1 - vert 210 ( 0.4475649893 0.4347280264 ) 210 1 - vert 211 ( 0.4620740116 0.3537070155 ) 211 1 - vert 212 ( 0.6317139864 0.1284459829 ) 212 1 - vert 213 ( 0.6280450225 0.1287209988 ) 213 1 - vert 214 ( 0.7746189833 0.1109529734 ) 214 1 - vert 215 ( 0.6289780140 0.1279810071 ) 215 1 - vert 216 ( 0.6955029964 0.0293049812 ) 216 1 - vert 217 ( 0.6253359914 0.1227399707 ) 217 1 - vert 218 ( 0.5816770196 0.0927789807 ) 218 1 - vert 219 ( 0.1275420040 0.8719480038 ) 219 1 - vert 220 ( 0.7414439917 0.1526179910 ) 220 1 - vert 221 ( 0.6143440008 0.1797749996 ) 221 1 - vert 222 ( 0.1245450005 0.8749449998 ) 222 1 - vert 223 ( 0.6258360147 0.1211370230 ) 223 1 - vert 224 ( 0.3505359888 0.9358170033 ) 224 1 - vert 225 ( 0.8096579909 0.0429260135 ) 225 1 - vert 226 ( 0.6289139986 0.1293590069 ) 226 1 - vert 227 ( 0.6276180148 0.1252030134 ) 227 1 - vert 228 ( 0.0981490016 0.9462199993 ) 228 1 - vert 229 ( 0.6277040243 0.1252470016 ) 229 1 - vert 230 ( 0.0186180007 0.9150779992 ) 230 1 - vert 231 ( 0.0649780035 0.6335799992 ) 231 1 - vert 232 ( 0.0589819998 0.6355690062 ) 232 1 - vert 233 ( 0.0594930016 0.6292249858 ) 233 1 - vert 234 ( 0.0660500005 0.6284390092 ) 234 1 - vert 235 ( 0.0651919991 0.3043059707 ) 235 1 - vert 236 ( 0.4205529988 0.3454099894 ) 236 1 - vert 237 ( 0.6263669729 0.1244400144 ) 237 1 - vert 238 ( 0.6234359741 0.1237630248 ) 238 1 - vert 239 ( 0.9990299940 0.3643490076 ) 239 1 - vert 240 ( 0.3445369899 0.4483079910 ) 240 1 - vert 241 ( 0.9387570024 0.3676660061 ) 241 1 - vert 242 ( 0.6276410222 0.1250360012 ) 242 1 - vert 243 ( 0.6276410222 0.1250560284 ) 243 1 - vert 244 ( 0.6258500218 0.1211190224 ) 244 1 - vert 245 ( 0.6258320212 0.1211040020 ) 245 1 - vert 246 ( 0.6258320212 0.1211410165 ) 246 1 - vert 247 ( 0.6232309937 0.1226410270 ) 247 1 - vert 248 ( 0.9401900172 0.0425660014 ) 248 1 - vert 249 ( 0.4459069967 0.4552189708 ) 249 1 - vert 250 ( 0.3984790146 0.3889309764 ) 250 1 - vert 251 ( 0.2553119957 0.3806899786 ) 251 1 - vert 252 ( 0.3689439893 0.2599049807 ) 252 1 - vert 253 ( 0.7483572364 0.3297877908 ) 253 1 - vert 254 ( 0.7469862700 0.4222422838 ) 254 1 - vert 255 ( 0.4960930049 0.1402699947 ) 255 1 - vert 256 ( 0.4066590071 0.4814119935 ) 256 1 - vert 257 ( 0.4271129966 0.3943110108 ) 257 1 - vert 258 ( 0.3731999993 0.1485310197 ) 258 1 - vert 259 ( 0.6828961372 0.4872912169 ) 259 1 - vert 260 ( 0.3644340038 0.2510650158 ) 260 1 - vert 261 ( 0.3379189968 0.3492659926 ) 261 1 - vert 262 ( 0.2115100026 0.3792759776 ) 262 1 - vert 263 ( 0.3270049989 0.4265609980 ) 263 1 - vert 264 ( 0.3580130041 0.8870590031 ) 264 1 - vert 265 ( 0.4301339984 0.8549319953 ) 265 1 - vert 266 ( 0.6276299953 0.1250450015 ) 266 1 - vert 267 ( 0.6276249886 0.1250349879 ) 267 1 - vert 268 ( 0.6276370287 0.1250309944 ) 268 1 - vert 269 ( 0.0796861947 0.0949854255 ) 269 1 - vert 270 ( 0.1094729975 0.5613940060 ) 270 1 - vert 271 ( 0.3494420052 0.3227739930 ) 271 1 - vert 272 ( 0.1775498390 0.1082749963 ) 272 1 - vert 273 ( 0.3916580081 0.4803019762 ) 273 1 - vert 274 ( 0.1219109967 0.7397130132 ) 274 1 - vert 275 ( 0.0150539996 0.5661869943 ) 275 1 - vert 276 ( 0.4209469855 0.3505399823 ) 276 1 - vert 277 ( 0.4469589889 0.4331520200 ) 277 1 - vert 278 ( 0.6167619824 0.0958999991 ) 278 1 - vert 279 ( 0.6253830194 0.1289579868 ) 279 1 - vert 280 ( 0.6272040009 0.1264169812 ) 280 1 - vert 281 ( 0.8756970167 0.3414480090 ) 281 1 - vert 282 ( 0.6276220083 0.1255369782 ) 282 1 - vert 283 ( 0.3894360065 0.3493469954 ) 283 1 - vert 284 ( 0.6682329774 0.2370920181 ) 284 1 - vert 285 ( 0.7451130152 0.0810130239 ) 285 1 - vert 286 ( 0.6277009845 0.1252179742 ) 286 1 - vert 287 ( 0.1358039975 0.8401570022 ) 287 1 - vert 288 ( 0.3858850002 0.8867010027 ) 288 1 - vert 289 ( 0.3582699895 0.7582779974 ) 289 1 - vert 290 ( 0.6289150119 0.1293590069 ) 290 1 - vert 291 ( 0.7916359901 0.0025309920 ) 291 1 - vert 292 ( 0.4516420066 0.4454410076 ) 292 1 - vert 293 ( 0.4617660046 0.4410409927 ) 293 1 - vert 294 ( 0.4439600110 0.4271969795 ) 294 1 - vert 295 ( 0.1335480064 0.4531610012 ) 295 1 - vert 296 ( 0.4413880110 0.4011240005 ) 296 1 - vert 297 ( 0.4018290043 0.3278620243 ) 297 1 - vert 298 ( 0.5693684816 0.2565689683 ) 298 1 - vert 299 ( 0.5055488944 0.3234776855 ) 299 1 - vert 300 ( 0.0037580000 0.1478310227 ) 300 1 - vert 301 ( 0.1231850013 0.5863040090 ) 301 1 - vert 302 ( 0.0782629997 0.3964080215 ) 302 1 - vert 303 ( 0.1281100065 0.1557689905 ) 303 1 - vert 304 ( 0.5056744218 0.4147952795 ) 304 1 - vert 305 ( 0.1676200032 0.3516579866 ) 305 1 - vert 306 ( 0.3470360041 0.9355280027 ) 306 1 - vert 307 ( 0.6277149916 0.1252350211 ) 307 1 - vert 308 ( 0.0900750011 0.8031409979 ) 308 1 - vert 309 ( 0.6277120113 0.1252499819 ) 309 1 - vert 310 ( 0.4333678484 0.0820311904 ) 310 1 - vert 311 ( 0.1109289974 0.5051110089 ) 311 1 - vert 312 ( 0.1322540045 0.2574980259 ) 312 1 - vert 313 ( 0.2574259937 0.4273149967 ) 313 1 - vert 314 ( 0.4483200014 0.3981130123 ) 314 1 - vert 315 ( 0.4865030050 0.3854569793 ) 315 1 - vert 316 ( 0.1033670008 0.7451390028 ) 316 1 - vert 317 ( 0.0476320013 0.7256459892 ) 317 1 - vert 318 ( 0.4685730040 0.4793140292 ) 318 1 - vert 319 ( 0.0166549999 0.6725839972 ) 319 1 - vert 320 ( 0.0241529997 0.5575430095 ) 320 1 - vert 321 ( 0.0548859984 0.2560560107 ) 321 1 - vert 322 ( 0.6259930134 0.1299329996 ) 322 1 - vert 323 ( 0.4460049868 0.4623540044 ) 323 1 - vert 324 ( 0.3829610050 0.3183860183 ) 324 1 - vert 325 ( 0.1038580015 0.6833919883 ) 325 1 - vert 326 ( 0.0899780691 0.1195011139 ) 326 1 - vert 327 ( 0.1006100029 0.8047830015 ) 327 1 - vert 328 ( 0.6276400089 0.1250410080 ) 328 1 - vert 329 ( 0.6274359822 0.1254559755 ) 329 1 - vert 330 ( 0.2460030019 0.1686859727 ) 330 1 - vert 331 ( 0.2526209950 0.3444650173 ) 331 1 - vert 332 ( 0.2522003353 0.0025228262 ) 332 1 - vert 333 ( 0.4699220061 0.7936670035 ) 333 1 - vert 334 ( 0.3126710057 0.9025399983 ) 334 1 - vert 335 ( 0.6277109981 0.1252300143 ) 335 1 - vert 336 ( 0.1801899970 0.4283540249 ) 336 1 - vert 337 ( 0.3003309965 0.3764070272 ) 337 1 - vert 338 ( 0.4704709947 0.1426770091 ) 338 1 - vert 339 ( 0.1425929964 0.3229569793 ) 339 1 - vert 340 ( 0.4222159982 0.4160159826 ) 340 1 - vert 341 ( 0.0937429965 0.6905100048 ) 341 1 - vert 342 ( 0.4166484177 0.1181108952 ) 342 1 - vert 343 ( 0.3908190131 0.4905909896 ) 343 1 - vert 344 ( 0.8982509971 0.0058349967 ) 344 1 - vert 345 ( 0.3450439870 0.3811349869 ) 345 1 - vert 346 ( 0.4786790013 0.4594330192 ) 346 1 - vert 347 ( 0.8539239764 0.0056009889 ) 347 1 - vert 348 ( 0.4443129897 0.3469979763 ) 348 1 - vert 349 ( 0.3910270035 0.7577899992 ) 349 1 - vert 350 ( 0.6258360147 0.1211379766 ) 350 1 - vert 351 ( 0.6244940162 0.1396149993 ) 351 1 - vert 352 ( 0.4231719971 0.9866469996 ) 352 1 - vert 353 ( 0.6277149916 0.1252409816 ) 353 1 - vert 354 ( 0.0524270013 0.8491390049 ) 354 1 - vert 355 ( 0.6276180148 0.1250439882 ) 355 1 - vert 356 ( 0.4738889933 0.4092710018 ) 356 1 - vert 357 ( 0.4270829856 0.4775859714 ) 357 1 - vert 358 ( 0.4205529988 0.3454099894 ) 358 1 - vert 359 ( 0.0646610036 0.7349320054 ) 359 1 - - numtris 470 - tri 0 99 108 19 - tri 1 11 237 4 - tri 2 216 278 15 - tri 3 182 183 222 - tri 4 120 17 18 - tri 5 238 247 217 - tri 6 75 68 74 - tri 7 216 285 99 - tri 8 5 248 30 - tri 9 72 71 219 - tri 10 237 238 217 - tri 11 241 281 16 - tri 12 347 116 17 - tri 13 212 95 133 - tri 14 1 3 19 - tri 15 93 248 344 - tri 16 3 6 28 - tri 17 126 227 180 - tri 18 183 184 222 - tri 19 34 39 139 - tri 20 249 256 38 - tri 21 256 249 323 - tri 22 251 313 262 - tri 23 144 293 340 - tri 24 43 154 139 - tri 25 331 197 305 - tri 26 312 200 339 - tri 27 73 72 219 - tri 28 58 51 264 - tri 29 55 64 56 - tri 30 224 264 51 - tri 31 56 54 264 - tri 32 76 92 67 - tri 33 54 63 53 - tri 34 66 58 65 - tri 35 325 274 359 - tri 36 67 92 25 - tri 37 71 77 219 - tri 38 10 91 267 - tri 39 266 9 355 - tri 40 230 74 68 - tri 41 75 74 219 - tri 42 76 67 219 - tri 43 325 88 270 - tri 44 77 76 219 - tri 45 74 73 219 - tri 46 67 75 219 - tri 47 99 220 133 - tri 48 28 6 350 - tri 49 231 81 88 - tri 50 96 215 134 - tri 51 200 195 260 - tri 52 144 340 314 - tri 53 251 337 313 - tri 54 200 312 195 - tri 55 223 247 31 - tri 56 23 328 242 - tri 57 2 278 216 - tri 58 220 284 132 - tri 59 108 121 111 - tri 60 106 96 280 - tri 61 280 134 279 - tri 62 126 282 329 - tri 63 17 225 347 - tri 64 205 200 271 - tri 65 286 227 107 - tri 66 139 140 138 - tri 67 117 296 348 - tri 68 355 115 10 - tri 69 6 4 217 - tri 70 335 101 125 - tri 71 243 12 9 - tri 72 132 133 220 - tri 73 225 291 347 - tri 74 134 215 213 - tri 75 213 322 134 - tri 76 95 212 215 - tri 77 162 171 163 - tri 78 39 43 139 - tri 79 145 139 150 - tri 80 139 154 150 - tri 81 295 302 336 - tri 82 351 130 290 - tri 83 139 145 140 - tri 84 164 288 170 - tri 85 204 235 194 - tri 86 139 138 34 - tri 87 290 168 351 - tri 88 352 169 288 - tri 89 167 288 164 - tri 90 179 187 186 - tri 91 172 177 161 - tri 92 167 333 288 - tri 93 175 177 176 - tri 94 164 162 173 - tri 95 170 176 171 - tri 96 28 2 3 - tri 97 188 182 222 - tri 98 186 287 127 - tri 99 125 307 335 - tri 100 185 287 222 - tri 101 186 187 222 - tri 102 187 188 222 - tri 103 184 185 222 - tri 104 287 186 222 - tri 105 2 216 99 - tri 106 220 99 285 - tri 107 237 217 4 - tri 108 322 213 130 - tri 109 96 134 280 - tri 110 248 17 344 - tri 111 121 108 119 - tri 112 52 6 246 - tri 113 14 91 10 - tri 114 357 276 277 - tri 115 189 233 190 - tri 116 234 208 192 - tri 117 317 189 319 - tri 118 321 194 235 - tri 119 208 311 320 - tri 120 208 301 311 - tri 121 208 341 301 - tri 122 356 210 211 - tri 123 210 356 318 - tri 124 316 341 317 - tri 125 271 260 89 - tri 126 275 270 88 - tri 127 2 99 3 - tri 128 150 154 151 - tri 129 343 240 32 - tri 130 107 227 110 - tri 131 115 103 22 - tri 132 278 218 15 - tri 133 18 16 98 - tri 134 18 5 16 - tri 135 3 1 6 - tri 136 118 343 135 - tri 137 345 283 250 - tri 138 109 101 110 - tri 139 12 8 110 - tri 140 108 20 19 - tri 141 104 9 110 - tri 142 21 20 111 - tri 143 201 206 83 - tri 144 13 7 21 - tri 145 114 109 23 - tri 146 7 13 11 - tri 147 227 126 104 - tri 148 14 10 11 - tri 149 114 125 109 - tri 150 23 21 114 - tri 151 240 345 49 - tri 152 196 143 201 - tri 153 281 98 16 - tri 154 9 115 355 - tri 155 115 9 104 - tri 156 108 99 119 - tri 157 17 248 18 - tri 158 239 241 0 - tri 159 125 113 353 - tri 160 18 98 120 - tri 161 118 135 346 - tri 162 281 124 122 - tri 163 111 123 114 - tri 164 36 332 37 - tri 165 67 68 75 - tri 166 324 252 48 - tri 167 61 53 60 - tri 168 322 279 134 - tri 169 35 253 40 - tri 170 296 250 348 - tri 171 69 327 73 - tri 172 158 141 159 - tri 173 196 201 37 - tri 174 253 35 159 - tri 175 330 195 303 - tri 176 140 141 138 - tri 177 158 35 138 - tri 178 271 89 358 - tri 179 36 37 41 - tri 180 263 261 257 - tri 181 37 83 269 - tri 182 83 272 326 - tri 183 89 260 258 - tri 184 320 319 190 - tri 185 340 292 249 - tri 186 249 38 340 - tri 187 330 45 195 - tri 188 331 261 197 - tri 189 200 260 271 - tri 190 48 42 324 - tri 191 55 53 64 - tri 192 297 338 33 - tri 193 60 53 265 - tri 194 245 57 31 - tri 195 54 56 63 - tri 196 60 265 62 - tri 197 51 50 224 - tri 198 50 62 26 - tri 199 29 349 56 - tri 200 66 62 50 - tri 201 61 60 65 - tri 202 59 54 61 - tri 203 265 55 349 - tri 204 29 56 264 - tri 205 62 66 60 - tri 206 50 51 66 - tri 207 58 59 65 - tri 208 54 59 264 - tri 209 65 59 61 - tri 210 92 76 24 - tri 211 355 10 267 - tri 212 81 231 79 - tri 213 74 230 69 - tri 214 243 9 266 - tri 215 68 67 25 - tri 216 23 242 268 - tri 217 275 88 79 - tri 218 80 325 78 - tri 219 43 39 44 - tri 220 78 359 90 - tri 221 43 44 154 - tri 222 31 278 245 - tri 223 155 156 151 - tri 224 155 44 156 - tri 225 44 40 259 - tri 226 34 35 39 - tri 227 201 199 206 - tri 228 293 292 340 - tri 229 85 38 273 - tri 230 261 236 257 - tri 231 205 271 157 - tri 232 340 38 85 - tri 233 205 157 339 - tri 234 141 146 298 - tri 235 90 275 79 - tri 236 70 71 327 - tri 237 6 217 246 - tri 238 74 69 73 - tri 239 77 71 24 - tri 240 244 245 2 - tri 241 350 244 28 - tri 242 100 121 94 - tri 243 247 223 217 - tri 244 113 112 353 - tri 245 284 221 132 - tri 246 119 99 95 - tri 247 296 117 294 - tri 248 113 125 123 - tri 249 96 106 94 - tri 250 120 122 97 - tri 251 95 94 119 - tri 252 96 94 215 - tri 253 107 101 286 - tri 254 100 106 113 - tri 255 21 23 13 - tri 256 280 282 106 - tri 257 105 102 124 - tri 258 151 304 146 - tri 259 97 225 120 - tri 260 225 97 214 - tri 261 10 115 22 - tri 262 282 229 112 - tri 263 113 123 100 - tri 264 12 243 8 - tri 265 226 129 215 - tri 266 180 229 126 - tri 267 188 187 178 - tri 268 140 145 141 - tri 269 146 145 151 - tri 270 144 149 293 - tri 271 199 342 202 - tri 272 302 305 336 - tri 273 143 142 310 - tri 274 143 148 199 - tri 275 209 235 204 - tri 276 321 193 300 - tri 277 213 160 130 - tri 278 137 136 198 - tri 279 169 175 288 - tri 280 129 160 215 - tri 281 174 166 167 - tri 282 166 174 162 - tri 283 166 162 131 - tri 284 163 172 131 - tri 285 169 352 161 - tri 286 161 306 172 - tri 287 183 182 181 - tri 288 333 167 289 - tri 289 162 164 171 - tri 290 289 166 131 - tri 291 172 163 177 - tri 292 175 169 177 - tri 293 128 227 286 - tri 294 176 170 175 - tri 295 184 354 185 - tri 296 174 167 173 - tri 297 188 178 182 - tri 298 183 181 184 - tri 299 287 185 308 - tri 300 176 163 171 - tri 301 320 190 208 - tri 302 179 186 127 - tri 303 353 307 125 - tri 304 227 128 180 - tri 305 317 341 189 - tri 306 192 190 234 - tri 307 341 208 191 - tri 308 215 212 226 - tri 309 196 332 143 - tri 310 310 148 143 - tri 311 302 209 305 - tri 312 314 315 144 - tri 313 168 132 351 - tri 314 322 130 351 - tri 315 132 168 133 - tri 316 133 165 212 - tri 317 115 126 103 - tri 318 122 98 281 - tri 319 7 1 20 - tri 320 116 344 17 - tri 321 8 328 23 - tri 322 200 205 339 - tri 323 4 1 11 - tri 324 91 14 268 - tri 325 6 52 350 - tri 326 223 31 57 - tri 327 231 88 80 - tri 328 268 13 23 - tri 329 90 79 78 - tri 330 80 78 231 - tri 331 78 79 232 - tri 332 233 189 234 - tri 333 197 336 305 - tri 334 121 123 111 - tri 335 288 175 170 - tri 336 99 19 3 - tri 337 154 155 151 - tri 338 240 49 32 - tri 339 227 104 110 - tri 340 5 0 16 - tri 341 1 4 6 - tri 342 343 32 135 - tri 343 101 107 110 - tri 344 8 109 110 - tri 345 9 12 110 - tri 346 20 108 111 - tri 347 206 272 83 - tri 348 7 20 21 - tri 349 109 8 23 - tri 350 13 14 11 - tri 351 126 115 104 - tri 352 10 237 11 - tri 353 125 101 109 - tri 354 21 111 114 - tri 355 345 250 49 - tri 356 143 199 201 - tri 357 248 5 18 - tri 358 241 16 0 - tri 359 98 122 120 - tri 360 135 294 346 - tri 361 123 125 114 - tri 362 332 196 37 - tri 363 253 254 40 - tri 364 250 283 348 - tri 365 327 72 73 - tri 366 141 298 159 - tri 367 201 83 37 - tri 368 35 158 159 - tri 369 195 312 303 - tri 370 141 158 138 - tri 371 35 34 138 - tri 372 37 269 41 - tri 373 83 326 269 - tri 374 85 273 87 - tri 375 89 255 82 - tri 376 89 258 255 - tri 377 319 189 190 - tri 378 45 46 195 - tri 379 261 263 197 - tri 380 53 63 64 - tri 381 53 55 265 - tri 382 56 64 63 - tri 383 265 27 62 - tri 384 50 26 224 - tri 385 62 27 26 - tri 386 349 55 56 - tri 387 54 53 61 - tri 388 66 65 60 - tri 389 51 58 66 - tri 390 59 58 264 - tri 391 76 77 24 - tri 392 231 232 79 - tri 393 88 81 79 - tri 394 325 359 78 - tri 395 39 40 44 - tri 396 44 155 154 - tri 397 156 304 151 - tri 398 44 259 156 - tri 399 40 254 259 - tri 400 35 40 39 - tri 401 199 202 206 - tri 402 38 256 273 - tri 403 257 236 86 - tri 404 261 84 236 - tri 405 271 47 157 - tri 406 157 153 339 - tri 407 146 299 298 - tri 408 71 72 327 - tri 409 71 70 24 - tri 410 245 278 2 - tri 411 244 2 28 - tri 412 121 119 94 - tri 413 223 246 217 - tri 414 112 309 353 - tri 415 99 133 95 - tri 416 117 346 294 - tri 417 106 100 94 - tri 418 122 102 97 - tri 419 94 95 215 - tri 420 101 335 286 - tri 421 106 112 113 - tri 422 282 112 106 - tri 423 102 122 124 - tri 424 304 299 146 - tri 425 225 17 120 - tri 426 229 309 112 - tri 427 123 121 100 - tri 428 243 328 8 - tri 429 229 282 126 - tri 430 187 179 178 - tri 431 145 146 141 - tri 432 145 150 151 - tri 433 207 315 314 - tri 434 142 147 310 - tri 435 148 342 199 - tri 436 321 152 194 - tri 437 321 300 152 - tri 438 160 213 215 - tri 439 174 173 162 - tri 440 162 163 131 - tri 441 172 334 131 - tri 442 352 306 161 - tri 443 306 334 172 - tri 444 182 228 181 - tri 445 167 166 289 - tri 446 164 170 171 - tri 447 163 176 177 - tri 448 169 161 177 - tri 449 354 308 185 - tri 450 167 164 173 - tri 451 178 228 182 - tri 452 181 354 184 - tri 453 190 192 208 - tri 454 341 191 189 - tri 455 190 233 234 - tri 456 208 234 191 - tri 457 332 142 143 - tri 458 305 209 204 - tri 459 302 203 209 - tri 460 315 149 144 - tri 461 168 165 133 - tri 462 165 226 212 - tri 463 126 329 103 - tri 464 1 19 20 - tri 465 1 7 11 - tri 466 14 13 268 - tri 467 88 325 80 - tri 468 78 232 231 - tri 469 189 191 234 - - numweights 360 - weight 0 2 1.0000000000 ( 0.2439319938 0.0499284454 0.2035437673 ) - weight 1 2 1.0000000000 ( 0.2350439876 0.0386660509 -0.1570599973 ) - weight 2 3 1.0000000000 ( 0.1468819976 0.2431893200 -0.1329962164 ) - weight 3 3 1.0000000000 ( 0.1868539900 0.0340141021 -0.1547431201 ) - weight 4 2 1.0000000000 ( 0.2639710009 0.0537303165 0.0159244947 ) - weight 5 3 1.0000000000 ( 0.1861609966 0.0953991860 0.1915709078 ) - weight 6 3 1.0000000000 ( 0.2285970002 -0.0190709401 -0.0142364986 ) - weight 7 1 1.0000000000 ( 0.3034240007 0.0756526217 -0.1794317067 ) - weight 8 15 1.0000000000 ( 0.1355637610 0.1599988341 -0.1184319407 ) - weight 9 15 1.0000000000 ( 0.1309300661 0.1559493095 0.1280044913 ) - weight 10 0 1.0000000000 ( 0.3404839933 0.0529571772 0.1671295166 ) - weight 11 1 1.0000000000 ( 0.3391319811 0.0750562176 0.0016326986 ) - weight 12 15 1.0000000000 ( 0.1489165127 0.1844431013 -0.0088376291 ) - weight 13 0 1.0000000000 ( 0.3395859897 0.0439382195 -0.1631174833 ) - weight 14 0 1.0000000000 ( 0.3889379799 0.0506551862 0.0073615173 ) - weight 15 4 1.0000000000 ( 0.0705629960 0.0848673582 -0.0615953095 ) - weight 16 2 1.0000000000 ( 0.1190169901 0.0599804558 0.2684907317 ) - weight 17 4 1.0000000000 ( 0.0006129916 0.0637564659 0.0699426830 ) - weight 18 3 1.0000000000 ( 0.0385599919 0.1152020395 0.2334879637 ) - weight 19 2 1.0000000000 ( 0.1151029915 0.0728035569 -0.2197413594 ) - weight 20 1 1.0000000000 ( 0.1639789939 0.0782810822 -0.2524156272 ) - weight 21 0 1.0000000000 ( 0.1762349904 0.0837392211 -0.2474874854 ) - weight 22 0 1.0000000000 ( 0.1762349904 0.0643042326 0.2256545126 ) - weight 23 0 1.0000000000 ( 0.1576959938 -0.1277057528 -0.1835524887 ) - weight 24 17 1.0000000000 ( 0.0680590793 -0.1028278694 -0.0648958981 ) - weight 25 15 1.0000000000 ( 0.1383750886 0.3645852506 -0.0049345810 ) - weight 26 9 1.0000000000 ( 0.0795513690 0.1844145805 -0.0157230105 ) - weight 27 9 1.0000000000 ( 0.0432985425 0.1875272989 -0.0675230026 ) - weight 28 3 1.0000000000 ( 0.2132139951 0.0611511469 -0.1208057329 ) - weight 29 9 1.0000000000 ( -0.0445946343 0.2564639449 0.0450837091 ) - weight 30 3 1.0000000000 ( 0.2126979977 0.1201973557 0.1432525218 ) - weight 31 3 1.0000000000 ( 0.1475549936 0.2980909944 0.0494865850 ) - weight 32 4 1.0000000000 ( 0.0482579879 0.1410723925 -0.1014293134 ) - weight 33 4 1.0000000000 ( 0.0117849912 0.1506624222 -0.0038563106 ) - weight 34 5 1.0000000000 ( 0.2498759925 1.1327595711 -0.3092742264 ) - weight 35 5 1.0000000000 ( 0.4259600043 0.9609866142 -0.4556492269 ) - weight 36 5 1.0000000000 ( 0.5045909882 0.7150216103 -0.5220972300 ) - weight 37 5 1.0000000000 ( 0.4640769958 0.3028106689 -0.4996452034 ) - weight 38 5 1.0000000000 ( 0.2884320021 -0.0966032743 -0.2449832261 ) - weight 39 5 1.0000000000 ( 0.3387569785 1.1393196583 -0.0777652338 ) - weight 40 5 1.0000000000 ( 0.5802649856 0.9604737759 -0.0781242326 ) - weight 41 5 1.0000000000 ( 0.6948559880 0.7089786530 -0.0778682306 ) - weight 42 5 1.0000000000 ( 0.5167359710 -0.1222293377 -0.0203252304 ) - weight 43 5 1.0000000000 ( 0.2486589998 1.1295747757 0.1535777748 ) - weight 44 5 1.0000000000 ( 0.4240689874 0.9566686153 0.2969137728 ) - weight 45 5 1.0000000000 ( 0.5041099787 0.7030787468 0.3581047654 ) - weight 46 5 1.0000000000 ( 0.4698289931 0.2859137058 0.3518387675 ) - weight 47 5 1.0000000000 ( 0.3811949790 -0.1297823191 0.3299477696 ) - weight 48 4 1.0000000000 ( 0.1325989962 0.1678954363 -0.0169863105 ) - weight 49 4 1.0000000000 ( 0.0715219900 0.1374104023 -0.0627613142 ) - weight 50 10 1.0000000000 ( 0.0840645060 0.1210490838 -0.0181316938 ) - weight 51 10 1.0000000000 ( 0.0575683862 0.1251404732 0.0378176831 ) - weight 52 10 1.0000000000 ( -0.0002098754 0.0546463765 0.0658383071 ) - weight 53 10 1.0000000000 ( -0.0627470165 0.0624686852 -0.0117829153 ) - weight 54 10 1.0000000000 ( -0.0590158813 0.0695136413 0.0414663702 ) - weight 55 10 1.0000000000 ( -0.0650505200 -0.0035594087 -0.0099944593 ) - weight 56 10 1.0000000000 ( -0.0613203868 0.0034854293 0.0432546809 ) - weight 57 9 1.0000000000 ( -0.0132750962 0.2916550636 -0.0645581484 ) - weight 58 10 1.0000000000 ( 0.0210795142 0.1713905782 0.0260487832 ) - weight 59 10 1.0000000000 ( -0.0339472182 0.1386612058 0.0273603126 ) - weight 60 10 1.0000000000 ( -0.0045190584 0.1215111911 -0.0678468496 ) - weight 61 10 1.0000000000 ( -0.0377568416 0.1327892989 -0.0186499339 ) - weight 62 10 1.0000000000 ( 0.0525807440 0.1186101437 -0.0695189536 ) - weight 63 10 1.0000000000 ( -0.1305689365 0.0510407835 0.0251007006 ) - weight 64 10 1.0000000000 ( -0.1319397390 0.0182728413 0.0168420617 ) - weight 65 10 1.0000000000 ( 0.0048729759 0.1857358515 -0.0151548022 ) - weight 66 10 1.0000000000 ( 0.0411435924 0.1764152050 -0.0300002247 ) - weight 67 18 1.0000000000 ( 0.1038829386 0.0158947278 0.0029720145 ) - weight 68 18 1.0000000000 ( 0.0394554958 0.0885941535 0.0973428190 ) - weight 69 18 1.0000000000 ( -0.1282062978 -0.0032369436 0.0986670703 ) - weight 70 17 1.0000000000 ( -0.0343980715 -0.1179947853 -0.0710503906 ) - weight 71 17 1.0000000000 ( -0.0267230254 -0.0240106471 -0.1161581948 ) - weight 72 18 1.0000000000 ( -0.0953479484 -0.0946307927 -0.0016044304 ) - weight 73 18 1.0000000000 ( -0.1046545953 -0.0106829302 -0.0015861008 ) - weight 74 18 1.0000000000 ( -0.0566503927 0.0627773404 0.0044931932 ) - weight 75 18 1.0000000000 ( 0.0320712924 0.0645642951 -0.0022616275 ) - weight 76 18 1.0000000000 ( 0.1073177084 -0.0721633211 -0.0025780962 ) - weight 77 17 1.0000000000 ( 0.0570398942 -0.0178213380 -0.1072523296 ) - weight 78 5 1.0000000000 ( 0.7447710037 0.0725736618 -0.0303482283 ) - weight 79 5 1.0000000000 ( 0.7426120043 0.2516007423 -0.0305892285 ) - weight 80 5 1.0000000000 ( 0.7222160101 0.0878257751 -0.0735782310 ) - weight 81 5 1.0000000000 ( 0.7219740152 0.2373116016 -0.0736612305 ) - weight 82 5 1.0000000000 ( 0.6486669779 0.2471966743 -0.0761172324 ) - weight 83 5 1.0000000000 ( 0.3968510032 0.1162166595 -0.4449752271 ) - weight 84 5 1.0000000000 ( 0.4264929891 -0.0116553307 0.3855787814 ) - weight 85 5 1.0000000000 ( 0.3449510038 0.0062587261 -0.3619642258 ) - weight 86 5 1.0000000000 ( 0.5977219939 -0.0077822208 -0.0438172258 ) - weight 87 5 1.0000000000 ( 0.6196209788 0.0677487850 -0.0317612290 ) - weight 88 5 1.0000000000 ( 0.6246069670 0.2611856461 -0.0222792309 ) - weight 89 5 1.0000000000 ( 0.6096429825 0.2903735638 0.0331927724 ) - weight 90 5 1.0000000000 ( 0.6140149832 0.0971865654 0.0184367709 ) - weight 91 18 1.0000000000 ( -0.1133777350 -0.1069344580 0.0901804268 ) - weight 92 18 1.0000000000 ( 0.1313204467 -0.0760601237 0.0959457457 ) - weight 93 3 1.0000000000 ( 0.1538379937 0.3069235086 -0.0582844801 ) - weight 94 2 1.0000000000 ( -0.2350540012 0.0386660509 -0.1570599973 ) - weight 95 2 1.0000000000 ( -0.1868640035 0.2700208426 -0.1547431201 ) - weight 96 2 1.0000000000 ( -0.2639810145 0.0537303165 0.0159244929 ) - weight 97 3 1.0000000000 ( -0.1861710101 0.0953991860 0.1915709078 ) - weight 98 2 1.0000000000 ( -0.0000050080 0.0951434374 0.2741678655 ) - weight 99 3 1.0000000000 ( -0.0004480089 0.2667391300 -0.1622940153 ) - weight 100 1 1.0000000000 ( -0.3034340143 0.0756526217 -0.1794317067 ) - weight 101 0 1.0000000000 ( -0.0557330102 -0.2585647106 -0.1282364875 ) - weight 102 2 1.0000000000 ( -0.2537190020 0.0219821762 0.2003624737 ) - weight 103 0 1.0000000000 ( 0.0030679922 0.1357972026 0.2502985001 ) - weight 104 0 1.0000000000 ( -0.0000050083 -0.2192987204 0.1261775196 ) - weight 105 0 1.0000000000 ( -0.3399960101 0.0680472255 0.1706835181 ) - weight 106 1 1.0000000000 ( -0.3391419947 0.0750562176 0.0016326972 ) - weight 107 20 1.0000000000 ( -0.1489012241 0.1841989905 -0.0076375632 ) - weight 108 1 1.0000000000 ( 0.0067869909 0.0901962817 -0.2603986859 ) - weight 109 0 1.0000000000 ( -0.0000050088 -0.2192857265 -0.1325974762 ) - weight 110 15 1.0000000000 ( 0.1910143495 0.1503635943 -0.0099164341 ) - weight 111 0 1.0000000000 ( -0.0000050091 0.0824261904 -0.2682794929 ) - weight 112 0 1.0000000000 ( -0.3884370029 0.0409191847 0.0048475144 ) - weight 113 0 1.0000000000 ( -0.3383989930 0.0429071784 -0.1631864905 ) - weight 114 0 1.0000000000 ( -0.0000050089 -0.0896587372 -0.1991924793 ) - weight 115 0 1.0000000000 ( 0.1318969876 -0.1043447256 0.1910755187 ) - weight 116 4 1.0000000000 ( -0.0000050086 0.1022064686 0.0052606883 ) - weight 117 4 1.0000000000 ( -0.0705730096 0.0848673582 -0.0615953095 ) - weight 118 4 1.0000000000 ( -0.0000050088 0.0721414089 -0.1301623136 ) - weight 119 2 1.0000000000 ( -0.1177550033 0.0740632117 -0.2187535763 ) - weight 120 3 1.0000000000 ( -0.0936910063 0.1105483249 0.2241318226 ) - weight 121 1 1.0000000000 ( -0.1639890075 0.0782810822 -0.2524156272 ) - weight 122 2 1.0000000000 ( -0.1199790090 0.0585936196 0.2680982649 ) - weight 123 0 1.0000000000 ( -0.1762450039 0.0837392211 -0.2474874854 ) - weight 124 0 1.0000000000 ( -0.1762450039 0.0643051863 0.2256545126 ) - weight 125 0 1.0000000000 ( -0.1524530053 -0.1214027405 -0.1853304803 ) - weight 126 0 1.0000000000 ( -0.1447610110 -0.1289037466 0.1825795174 ) - weight 127 21 1.0000000000 ( -0.1389897615 0.0231919978 -0.0029347057 ) - weight 128 23 1.0000000000 ( -0.0535812676 0.0499770865 0.0058840741 ) - weight 129 14 1.0000000000 ( -0.0017304621 0.0613811798 0.0646476820 ) - weight 130 13 1.0000000000 ( 0.0555704571 0.2862195969 -0.0049750358 ) - weight 131 13 1.0000000000 ( 0.0135755520 0.2865525484 -0.0642039329 ) - weight 132 3 1.0000000000 ( -0.1538820118 0.3067788482 -0.0564772338 ) - weight 133 3 1.0000000000 ( -0.1495530009 0.2452591062 -0.1284980327 ) - weight 134 12 1.0000000000 ( 0.0911287814 0.0608176850 0.0854393542 ) - weight 135 4 1.0000000000 ( -0.0026890088 0.1482334137 -0.1286133081 ) - weight 136 4 1.0000000000 ( -0.0553100109 0.1402064562 -0.0947723165 ) - weight 137 4 1.0000000000 ( -0.0692200065 0.1349633932 -0.0506333113 ) - weight 138 5 1.0000000000 ( -0.0000050096 1.1117727757 -0.4507312179 ) - weight 139 5 1.0000000000 ( -0.0000050088 1.2243816853 -0.0775632337 ) - weight 140 5 1.0000000000 ( -0.2498860061 1.1327595711 -0.3092742264 ) - weight 141 5 1.0000000000 ( -0.4259700179 0.9609866142 -0.4556492269 ) - weight 142 5 1.0000000000 ( -0.5046010017 0.7150216103 -0.5220972300 ) - weight 143 5 1.0000000000 ( -0.4609000087 0.2964856625 -0.4992172420 ) - weight 144 5 1.0000000000 ( -0.2884420156 -0.0966032743 -0.2449832261 ) - weight 145 5 1.0000000000 ( -0.3387669921 1.1393196583 -0.0777652338 ) - weight 146 5 1.0000000000 ( -0.5802749991 0.9604737759 -0.0781242326 ) - weight 147 5 1.0000000000 ( -0.6948660016 0.7089786530 -0.0778682306 ) - weight 148 5 1.0000000000 ( -0.6434710026 0.2211437225 -0.0741632283 ) - weight 149 5 1.0000000000 ( -0.5243380070 -0.1196773052 -0.0272742324 ) - weight 150 5 1.0000000000 ( -0.2486690134 1.1295747757 0.1535777748 ) - weight 151 5 1.0000000000 ( -0.4240790009 0.9566686153 0.2969137728 ) - weight 152 5 1.0000000000 ( -0.5041199923 0.7030797005 0.3581047654 ) - weight 153 5 1.0000000000 ( -0.3812049925 -0.1297823191 0.3299477696 ) - weight 154 5 1.0000000000 ( -0.0000050081 1.1044816971 0.2957377732 ) - weight 155 5 1.0000000000 ( -0.0000050078 0.9445097446 0.4667787850 ) - weight 156 5 1.0000000000 ( -0.0000050076 0.6810626984 0.5266547203 ) - weight 157 5 1.0000000000 ( -0.0000050077 -0.1461132765 0.4810087681 ) - weight 158 5 1.0000000000 ( -0.0000050099 0.9571917057 -0.6301112771 ) - weight 159 5 1.0000000000 ( -0.0000050101 0.7253117561 -0.7149202824 ) - weight 160 13 1.0000000000 ( 0.0463922694 0.2802905738 0.0442495123 ) - weight 161 14 1.0000000000 ( -0.0833840370 0.1214816272 -0.0192015376 ) - weight 162 14 1.0000000000 ( 0.0629921705 0.0621013753 -0.0109975962 ) - weight 163 14 1.0000000000 ( 0.0078901201 0.1220879331 -0.0677610263 ) - weight 164 14 1.0000000000 ( 0.0586328208 0.0691662431 0.0422012955 ) - weight 165 13 1.0000000000 ( -0.0808355883 0.2192443162 -0.0167186707 ) - weight 166 14 1.0000000000 ( 0.0648868382 -0.0039392030 -0.0091874273 ) - weight 167 14 1.0000000000 ( 0.0605284907 0.0031256306 0.0440113917 ) - weight 168 13 1.0000000000 ( -0.0447062105 0.2124781162 -0.0675421432 ) - weight 169 14 1.0000000000 ( -0.0575735942 0.1254563481 0.0370921977 ) - weight 170 14 1.0000000000 ( 0.0341483578 0.1384596825 0.0277884044 ) - weight 171 14 1.0000000000 ( 0.0385019928 0.1325672269 -0.0181709044 ) - weight 172 14 1.0000000000 ( -0.0512700081 0.1189182997 -0.0701737031 ) - weight 173 14 1.0000000000 ( 0.1303148419 0.0502187163 0.0267068148 ) - weight 174 14 1.0000000000 ( 0.1315677762 0.0174156167 0.0183925666 ) - weight 175 14 1.0000000000 ( -0.0207511429 0.1715090275 0.0257847589 ) - weight 176 14 1.0000000000 ( -0.0038252384 0.1857609302 -0.0151947644 ) - weight 177 14 1.0000000000 ( -0.0400343053 0.1766116321 -0.0305401124 ) - weight 178 21 1.0000000000 ( -0.0002869133 0.2120810598 -0.1354150176 ) - weight 179 23 1.0000000000 ( -0.1234615073 -0.1141351983 0.1194031015 ) - weight 180 23 1.0000000000 ( 0.0467823632 0.0643939823 0.1052294001 ) - weight 181 23 1.0000000000 ( 0.1220394522 -0.1072524711 0.0868532360 ) - weight 182 21 1.0000000000 ( 0.0745377094 0.3067426682 -0.0756031498 ) - weight 183 23 1.0000000000 ( 0.1009945646 -0.0980652645 -0.0031518384 ) - weight 184 23 1.0000000000 ( 0.0983374864 -0.0136448871 -0.0031416886 ) - weight 185 23 1.0000000000 ( 0.0367675237 0.0441700891 -0.0024927855 ) - weight 186 23 1.0000000000 ( -0.1123263314 -0.0187586397 0.0045190910 ) - weight 187 23 1.0000000000 ( -0.1028023362 -0.1044807136 -0.0009608638 ) - weight 188 21 1.0000000000 ( -0.0034821164 0.3057115674 -0.1079403907 ) - weight 189 5 1.0000000000 ( -0.7444339991 0.0751547813 -0.0318212323 ) - weight 190 5 1.0000000000 ( -0.7435020208 0.2530076504 -0.0290212333 ) - weight 191 5 1.0000000000 ( -0.7222260237 0.0878257751 -0.0735782310 ) - weight 192 5 1.0000000000 ( -0.7219840288 0.2373116016 -0.0736612305 ) - weight 193 5 1.0000000000 ( -0.6635960340 0.3325855732 -0.0769592300 ) - weight 194 5 1.0000000000 ( -0.4656029940 0.2647736073 0.3577857614 ) - weight 195 5 1.0000000000 ( -0.0000050076 0.3785226345 0.5495947599 ) - weight 196 5 1.0000000000 ( -0.0000050100 0.3182396889 -0.7015962601 ) - weight 197 4 1.0000000000 ( -0.0000050083 0.1964104176 0.1350407004 ) - weight 198 4 1.0000000000 ( -0.1352310032 0.1694433689 -0.0120103117 ) - weight 199 5 1.0000000000 ( -0.3968610168 0.1162166595 -0.4449752271 ) - weight 200 5 1.0000000000 ( -0.0011740075 0.1602315903 0.6320757270 ) - weight 201 5 1.0000000000 ( -0.0000050099 0.1296665668 -0.6253422499 ) - weight 202 5 1.0000000000 ( -0.3449610174 0.0062596798 -0.3619642258 ) - weight 203 5 1.0000000000 ( -0.5977320075 -0.0077822208 -0.0438172296 ) - weight 204 5 1.0000000000 ( -0.4269320071 -0.0125763416 0.3837057650 ) - weight 205 5 1.0000000000 ( -0.0000050075 -0.0224974155 0.5942327380 ) - weight 206 5 1.0000000000 ( -0.0064530098 0.0034856799 -0.4967412055 ) - weight 207 5 1.0000000000 ( -0.6157209873 0.0642697811 -0.0270992331 ) - weight 208 5 1.0000000000 ( -0.6349800229 0.2593867779 -0.0279122330 ) - weight 209 5 1.0000000000 ( -0.5701000094 0.0105457306 0.0549767688 ) - weight 210 5 1.0000000000 ( -0.6129220128 0.1027877331 0.0184877682 ) - weight 211 5 1.0000000000 ( -0.6128450036 0.2897186279 0.0315487683 ) - weight 212 12 1.0000000000 ( -0.1158716232 0.0201270971 0.0491891019 ) - weight 213 12 1.0000000000 ( 0.0872496739 0.1113573015 0.0637981370 ) - weight 214 3 1.0000000000 ( -0.2141140103 0.1201936603 0.1420764774 ) - weight 215 12 1.0000000000 ( -0.0126306918 0.0874328613 0.0986144468 ) - weight 216 4 1.0000000000 ( 0.0438169912 0.0775594711 -0.1045673117 ) - weight 217 3 1.0000000000 ( 0.2205429971 0.0161442142 0.0847542584 ) - weight 218 4 1.0000000000 ( 0.0449609943 0.0962994099 -0.0204623118 ) - weight 219 18 1.0000000000 ( 0.0011799699 -0.0414329879 -0.0338607319 ) - weight 220 4 1.0000000000 ( -0.0440810099 0.0774574280 -0.1045083106 ) - weight 221 4 1.0000000000 ( -0.0431900062 0.0971654654 -0.0186633114 ) - weight 222 23 1.0000000000 ( -0.0025738224 -0.0590697229 -0.0338284299 ) - weight 223 9 1.0000000000 ( -0.0533952340 0.2892489135 -0.0143909361 ) - weight 224 9 1.0000000000 ( 0.0562215596 0.2561028302 0.0456988700 ) - weight 225 3 1.0000000000 ( -0.1545470059 0.2914696336 0.0549230687 ) - weight 226 13 1.0000000000 ( -0.0580988005 0.2712232769 0.0443733186 ) - weight 227 20 1.0000000000 ( -0.1310398579 0.1583033651 0.1291549206 ) - weight 228 21 1.0000000000 ( 0.0949197859 0.2086136490 -0.0965016410 ) - weight 229 23 1.0000000000 ( 0.1216894090 -0.0001581186 0.1038506329 ) - weight 230 18 1.0000000000 ( -0.0590410009 0.0907540843 0.2211083770 ) - weight 231 5 1.0000000000 ( 0.7708590031 0.1625685692 -0.0736192316 ) - weight 232 5 1.0000000000 ( 0.7953590155 0.1624417305 -0.0258412305 ) - weight 233 5 1.0000000000 ( -0.7936379910 0.1624417305 -0.0258412324 ) - weight 234 5 1.0000000000 ( -0.7691379786 0.1625685692 -0.0736192316 ) - weight 235 5 1.0000000000 ( -0.5859230161 0.1645586491 0.0488767661 ) - weight 236 5 1.0000000000 ( 0.5673360229 0.0094766617 0.0599237718 ) - weight 237 2 1.0000000000 ( 0.2439319938 0.0499284454 0.2035437673 ) - weight 238 3 1.0000000000 ( 0.1861609966 0.0953991860 0.1915709078 ) - weight 239 0 1.0000000000 ( 0.3404839933 0.0529571772 0.1671295166 ) - weight 240 4 1.0000000000 ( 0.0705629960 0.0848673582 -0.0615953095 ) - weight 241 0 1.0000000000 ( 0.1762349904 0.0643042326 0.2256545126 ) - weight 242 17 1.0000000000 ( 0.0680590793 -0.1028278694 -0.0648958981 ) - weight 243 15 1.0000000000 ( 0.1383750886 0.3645852506 -0.0049345810 ) - weight 244 9 1.0000000000 ( 0.0795513690 0.1844145805 -0.0157230105 ) - weight 245 9 1.0000000000 ( 0.0432985425 0.1875272989 -0.0675230026 ) - weight 246 9 1.0000000000 ( -0.0445946343 0.2564639449 0.0450837091 ) - weight 247 3 1.0000000000 ( 0.2126979977 0.1201973557 0.1432525218 ) - weight 248 3 1.0000000000 ( 0.1475549936 0.2980909944 0.0494865850 ) - weight 249 4 1.0000000000 ( 0.0482579879 0.1410723925 -0.1014293134 ) - weight 250 4 1.0000000000 ( 0.0117849912 0.1506624222 -0.0038563106 ) - weight 251 4 1.0000000000 ( 0.0117849912 0.1506624222 -0.0038563106 ) - weight 252 4 1.0000000000 ( 0.0117849912 0.1506624222 -0.0038563106 ) - weight 253 5 1.0000000000 ( 0.5045909882 0.7150216103 -0.5220972300 ) - weight 254 5 1.0000000000 ( 0.6948559880 0.7089786530 -0.0778682306 ) - weight 255 5 1.0000000000 ( 0.6948559880 0.7089786530 -0.0778682306 ) - weight 256 5 1.0000000000 ( 0.5167359710 -0.1222293377 -0.0203252304 ) - weight 257 5 1.0000000000 ( 0.5167359710 -0.1222293377 -0.0203252304 ) - weight 258 5 1.0000000000 ( 0.5041099787 0.7030787468 0.3581047654 ) - weight 259 5 1.0000000000 ( 0.5041099787 0.7030787468 0.3581047654 ) - weight 260 5 1.0000000000 ( 0.4698289931 0.2859137058 0.3518387675 ) - weight 261 5 1.0000000000 ( 0.3811949790 -0.1297823191 0.3299477696 ) - weight 262 4 1.0000000000 ( 0.1325989962 0.1678954363 -0.0169863105 ) - weight 263 4 1.0000000000 ( 0.1325989962 0.1678954363 -0.0169863105 ) - weight 264 10 1.0000000000 ( -0.0002098754 0.0546463765 0.0658383071 ) - weight 265 9 1.0000000000 ( -0.0132750962 0.2916550636 -0.0645581484 ) - weight 266 18 1.0000000000 ( 0.0394554958 0.0885941535 0.0973428190 ) - weight 267 18 1.0000000000 ( -0.1282062978 -0.0032369436 0.0986670703 ) - weight 268 17 1.0000000000 ( -0.0343980715 -0.1179947853 -0.0710503906 ) - weight 269 5 1.0000000000 ( 0.6486669779 0.2471966743 -0.0761172324 ) - weight 270 5 1.0000000000 ( 0.6486669779 0.2471966743 -0.0761172324 ) - weight 271 5 1.0000000000 ( 0.4264929891 -0.0116553307 0.3855787814 ) - weight 272 5 1.0000000000 ( 0.3449510038 0.0062587261 -0.3619642258 ) - weight 273 5 1.0000000000 ( 0.5977219939 -0.0077822208 -0.0438172258 ) - weight 274 5 1.0000000000 ( 0.5977219939 -0.0077822208 -0.0438172258 ) - weight 275 5 1.0000000000 ( 0.6096429825 0.2903735638 0.0331927724 ) - weight 276 5 1.0000000000 ( 0.6096429825 0.2903735638 0.0331927724 ) - weight 277 5 1.0000000000 ( 0.6140149832 0.0971865654 0.0184367709 ) - weight 278 3 1.0000000000 ( 0.1538379937 0.3069235086 -0.0582844801 ) - weight 279 3 1.0000000000 ( -0.1861710101 0.0953991860 0.1915709078 ) - weight 280 2 1.0000000000 ( -0.2537190020 0.0219821762 0.2003624737 ) - weight 281 0 1.0000000000 ( 0.0030679922 0.1357972026 0.2502985001 ) - weight 282 0 1.0000000000 ( -0.3399960101 0.0680472255 0.1706835181 ) - weight 283 4 1.0000000000 ( -0.0000050086 0.1022064686 0.0052606883 ) - weight 284 4 1.0000000000 ( -0.0705730096 0.0848673582 -0.0615953095 ) - weight 285 4 1.0000000000 ( -0.0000050088 0.0721414089 -0.1301623136 ) - weight 286 21 1.0000000000 ( -0.1389897615 0.0231919978 -0.0029347057 ) - weight 287 23 1.0000000000 ( -0.0535812676 0.0499770865 0.0058840741 ) - weight 288 14 1.0000000000 ( -0.0017304621 0.0613811798 0.0646476820 ) - weight 289 13 1.0000000000 ( 0.0555704571 0.2862195969 -0.0049750358 ) - weight 290 13 1.0000000000 ( 0.0135755520 0.2865525484 -0.0642039329 ) - weight 291 3 1.0000000000 ( -0.1538820118 0.3067788482 -0.0564772338 ) - weight 292 4 1.0000000000 ( -0.0026890088 0.1482334137 -0.1286133081 ) - weight 293 4 1.0000000000 ( -0.0553100109 0.1402064562 -0.0947723165 ) - weight 294 4 1.0000000000 ( -0.0553100109 0.1402064562 -0.0947723165 ) - weight 295 4 1.0000000000 ( -0.0553100109 0.1402064562 -0.0947723165 ) - weight 296 4 1.0000000000 ( -0.0692200065 0.1349633932 -0.0506333113 ) - weight 297 4 1.0000000000 ( -0.0692200065 0.1349633932 -0.0506333113 ) - weight 298 5 1.0000000000 ( -0.5046010017 0.7150216103 -0.5220972300 ) - weight 299 5 1.0000000000 ( -0.6948660016 0.7089786530 -0.0778682306 ) - weight 300 5 1.0000000000 ( -0.6948660016 0.7089786530 -0.0778682306 ) - weight 301 5 1.0000000000 ( -0.6434710026 0.2211437225 -0.0741632283 ) - weight 302 5 1.0000000000 ( -0.5243380070 -0.1196773052 -0.0272742324 ) - weight 303 5 1.0000000000 ( -0.5041199923 0.7030797005 0.3581047654 ) - weight 304 5 1.0000000000 ( -0.5041199923 0.7030797005 0.3581047654 ) - weight 305 5 1.0000000000 ( -0.3812049925 -0.1297823191 0.3299477696 ) - weight 306 13 1.0000000000 ( -0.0808355883 0.2192443162 -0.0167186707 ) - weight 307 21 1.0000000000 ( -0.0002869133 0.2120810598 -0.1354150176 ) - weight 308 23 1.0000000000 ( 0.0467823632 0.0643939823 0.1052294001 ) - weight 309 23 1.0000000000 ( 0.1220394522 -0.1072524711 0.0868532360 ) - weight 310 5 1.0000000000 ( -0.6635960340 0.3325855732 -0.0769592300 ) - weight 311 5 1.0000000000 ( -0.6635960340 0.3325855732 -0.0769592300 ) - weight 312 5 1.0000000000 ( -0.4656029940 0.2647736073 0.3577857614 ) - weight 313 4 1.0000000000 ( -0.0000050083 0.1964104176 0.1350407004 ) - weight 314 5 1.0000000000 ( -0.3449610174 0.0062596798 -0.3619642258 ) - weight 315 5 1.0000000000 ( -0.5977320075 -0.0077822208 -0.0438172296 ) - weight 316 5 1.0000000000 ( -0.5977320075 -0.0077822208 -0.0438172296 ) - weight 317 5 1.0000000000 ( -0.5701000094 0.0105457306 0.0549767688 ) - weight 318 5 1.0000000000 ( -0.5701000094 0.0105457306 0.0549767688 ) - weight 319 5 1.0000000000 ( -0.6129220128 0.1027877331 0.0184877682 ) - weight 320 5 1.0000000000 ( -0.6128450036 0.2897186279 0.0315487683 ) - weight 321 5 1.0000000000 ( -0.6128450036 0.2897186279 0.0315487683 ) - weight 322 3 1.0000000000 ( -0.2141140103 0.1201936603 0.1420764774 ) - weight 323 4 1.0000000000 ( 0.0715219900 0.1374104023 -0.0627613142 ) - weight 324 4 1.0000000000 ( 0.0715219900 0.1374104023 -0.0627613142 ) - weight 325 5 1.0000000000 ( 0.6196209788 0.0677487850 -0.0317612290 ) - weight 326 5 1.0000000000 ( 0.6196209788 0.0677487850 -0.0317612290 ) - weight 327 18 1.0000000000 ( -0.1133777350 -0.1069344580 0.0901804268 ) - weight 328 18 1.0000000000 ( 0.1313204467 -0.0760601237 0.0959457457 ) - weight 329 0 1.0000000000 ( -0.1762450039 0.0643051863 0.2256545126 ) - weight 330 5 1.0000000000 ( -0.0000050076 0.6810626984 0.5266547203 ) - weight 331 5 1.0000000000 ( -0.0000050077 -0.1461132765 0.4810087681 ) - weight 332 5 1.0000000000 ( -0.0000050101 0.7253117561 -0.7149202824 ) - weight 333 13 1.0000000000 ( 0.0463922694 0.2802905738 0.0442495123 ) - weight 334 13 1.0000000000 ( -0.0447062105 0.2124781162 -0.0675421432 ) - weight 335 23 1.0000000000 ( -0.1234615073 -0.1141351983 0.1194031015 ) - weight 336 4 1.0000000000 ( -0.1352310032 0.1694433689 -0.0120103117 ) - weight 337 4 1.0000000000 ( -0.1352310032 0.1694433689 -0.0120103117 ) - weight 338 4 1.0000000000 ( -0.1352310032 0.1694433689 -0.0120103117 ) - weight 339 5 1.0000000000 ( -0.4269320071 -0.0125763416 0.3837057650 ) - weight 340 5 1.0000000000 ( -0.0064530098 0.0034856799 -0.4967412055 ) - weight 341 5 1.0000000000 ( -0.6157209873 0.0642697811 -0.0270992331 ) - weight 342 5 1.0000000000 ( -0.6157209873 0.0642697811 -0.0270992331 ) - weight 343 4 1.0000000000 ( 0.0438169912 0.0775594711 -0.1045673117 ) - weight 344 4 1.0000000000 ( 0.0449609943 0.0962994099 -0.0204623118 ) - weight 345 4 1.0000000000 ( 0.0449609943 0.0962994099 -0.0204623118 ) - weight 346 4 1.0000000000 ( -0.0440810099 0.0774574280 -0.1045083106 ) - weight 347 4 1.0000000000 ( -0.0431900062 0.0971654654 -0.0186633114 ) - weight 348 4 1.0000000000 ( -0.0431900062 0.0971654654 -0.0186633114 ) - weight 349 9 1.0000000000 ( -0.0533952340 0.2892489135 -0.0143909361 ) - weight 350 9 1.0000000000 ( 0.0562215596 0.2561028302 0.0456988700 ) - weight 351 3 1.0000000000 ( -0.1545470059 0.2914696336 0.0549230687 ) - weight 352 13 1.0000000000 ( -0.0580988005 0.2712232769 0.0443733186 ) - weight 353 21 1.0000000000 ( 0.0949197859 0.2086136490 -0.0965016410 ) - weight 354 23 1.0000000000 ( 0.1216894090 -0.0001581186 0.1038506329 ) - weight 355 18 1.0000000000 ( -0.0590410009 0.0907540843 0.2211083770 ) - weight 356 5 1.0000000000 ( -0.5859230161 0.1645586491 0.0488767661 ) - weight 357 5 1.0000000000 ( 0.5673360229 0.0094766617 0.0599237718 ) - weight 358 5 1.0000000000 ( 0.5673360229 0.0094766617 0.0599237718 ) - weight 359 5 1.0000000000 ( 0.5673360229 0.0094766617 0.0599237718 ) -} - +MD5Version 10 // Parameters used during export: Reorient: False; Scale: 1.0 +commandline "" + +numJoints 25 +numMeshes 1 + +joints { + "mixamorig:Hips" -1 ( 0.0000050068 0.7780786753 0.0214254875 ) ( -0.0000000000 -0.0000000000 -0.0000000000 ) + "mixamorig:Spine" 0 ( 0.0000050068 0.9550809860 0.0204738528 ) ( 0.0026881641 -0.0000000000 -0.0000000000 ) + "mixamorig:Spine1" 1 ( 0.0000050068 1.1615837812 0.0193636138 ) ( 0.0026881683 -0.0000000000 -0.0000000000 ) + "mixamorig:Spine2" 2 ( 0.0000050068 1.3975870609 0.0180947669 ) ( 0.0026881725 -0.0000000000 -0.0000000000 ) + "mixamorig:Neck" 3 ( 0.0000050068 1.6630904675 0.0166673157 ) ( 0.0000000002 -0.0000000000 -0.0000000000 ) + "mixamorig:Head" 4 ( 0.0000050068 2.0578560829 -0.0234697666 ) ( 0.0000000002 -0.0000000000 -0.0000000000 ) + "mixamorig:HeadTop_End" 5 ( 0.0000050068 3.2679605484 -0.1465049684 ) ( 0.0000000002 -0.0000000000 -0.0000000000 ) + "mixamorig:LeftShoulder" 3 ( 0.0778451338 1.6125147343 0.0180834215 ) ( -0.6247026324 -0.3338780999 0.6174114347 ) + "mixamorig:LeftArm" 7 ( 0.2340943515 1.5114883184 0.0209156312 ) ( -0.6420348287 -0.2923028171 0.6572546363 ) + "mixamorig:LeftForeArm" 8 ( 0.4341848195 1.3212496042 0.0088629127 ) ( -0.6482289433 -0.2774304450 0.6426414251 ) + "mixamorig:LeftHand" 9 ( 0.6866635084 1.0953937769 0.0197164454 ) ( -0.6482288837 -0.2774304152 0.6426414847 ) + "mixamorig:RightShoulder" 3 ( -0.0778351203 1.6125147343 0.0152512118 ) ( -0.6133962274 0.3400166035 -0.6286455393 ) + "mixamorig:RightArm" 11 ( -0.2340843379 1.5114883184 0.0124189947 ) ( -0.6434517503 0.2779306769 -0.6561143398 ) + "mixamorig:RightForeArm" 12 ( -0.4341749549 1.3212496042 0.0111083360 ) ( -0.6433499455 0.2774566412 -0.6475695968 ) + "mixamorig:RightHand" 13 ( -0.6866537333 1.0953935385 0.0199788399 ) ( -0.6433498263 0.2774567604 -0.6475695372 ) + "mixamorig:LeftUpLeg" 0 ( 0.1861568242 0.6797347665 0.0169670302 ) ( -0.0002614523 -0.0164730735 0.9997389913 ) + "mixamorig:LeftLeg" 15 ( 0.1965884268 0.3506807387 0.0061202003 ) ( -0.0002619248 -0.0130610233 0.9998278022 ) + "mixamorig:LeftFoot" 16 ( 0.2031211704 0.1030523032 -0.0003499896 ) ( 0.2442932129 -0.3250968158 -0.9099078774 ) + "mixamorig:LeftToeBase" 17 ( 0.1823154092 0.0506515764 0.0369365625 ) ( 0.1743443906 -0.6845366359 -0.6851633191 ) + "mixamorig:LeftToe_End" 18 ( 0.1616981477 0.0506648533 0.0743991286 ) ( 0.1743451357 -0.6845363975 -0.6851633191 ) + "mixamorig:RightUpLeg" 0 ( -0.1861468107 0.6797347665 0.0126473196 ) ( -0.0001303761 0.0082231257 -0.9998407960 ) + "mixamorig:RightLeg" 20 ( -0.1965784132 0.3506806493 0.0072343871 ) ( -0.0000070597 0.0158711169 -0.9997871518 ) + "mixamorig:RightFoot" 21 ( -0.2031111270 0.1030523032 -0.0006308653 ) ( 0.1671799421 0.4092147350 0.8943320513 ) + "mixamorig:RightToeBase" 22 ( -0.1823053807 0.0506510064 0.0560317598 ) ( 0.1307421327 0.6963525414 0.6948363781 ) + "mixamorig:RightToe_End" 23 ( -0.1616881490 0.0506637171 0.1106020957 ) ( 0.1307424605 0.6963524818 0.6948363781 ) +} + +mesh { + shader "Material.001" + + numverts 360 + vert 0 ( 0.9770900011 0.2309870124 ) 0 1 + vert 1 ( 0.6280120015 0.1237249970 ) 1 1 + vert 2 ( 0.6345289946 0.1068750024 ) 2 1 + vert 3 ( 0.6294689775 0.1207150221 ) 3 1 + vert 4 ( 0.6270750165 0.1237490177 ) 4 1 + vert 5 ( 0.9619359970 0.1288509965 ) 5 1 + vert 6 ( 0.6267939806 0.1221429706 ) 6 1 + vert 7 ( 0.6278039813 0.1244599819 ) 7 1 + vert 8 ( 0.6277189851 0.1250759959 ) 8 1 + vert 9 ( 0.6275889874 0.1251239777 ) 9 1 + vert 10 ( 0.6273840070 0.1248769760 ) 10 1 + vert 11 ( 0.6274170280 0.1244670153 ) 11 1 + vert 12 ( 0.6276659966 0.1251080036 ) 12 1 + vert 13 ( 0.6276990175 0.1247619987 ) 13 1 + vert 14 ( 0.6275320053 0.1247850060 ) 14 1 + vert 15 ( 0.5844860077 0.0141670108 ) 15 1 + vert 16 ( 0.9262359738 0.2288500071 ) 16 1 + vert 17 ( 0.8765550256 0.0418639779 ) 17 1 + vert 18 ( 0.8923299909 0.1293950081 ) 18 1 + vert 19 ( 0.6290599704 0.1236950159 ) 19 1 + vert 20 ( 0.6281279922 0.1245719790 ) 20 1 + vert 21 ( 0.6279190183 0.1248049736 ) 21 1 + vert 22 ( 0.6272850037 0.1250529885 ) 22 1 + vert 23 ( 0.6277779937 0.1249799728 ) 23 1 + vert 24 ( 0.1929789931 0.8408509940 ) 24 1 + vert 25 ( 0.1771589965 0.9808309991 ) 25 1 + vert 26 ( 0.4022620022 0.9350420013 ) 26 1 + vert 27 ( 0.4366309941 0.9020529985 ) 27 1 + vert 28 ( 0.6284980178 0.1200129986 ) 28 1 + vert 29 ( 0.2793749869 0.7931790054 ) 29 1 + vert 30 ( 0.9767739773 0.1109529734 ) 30 1 + vert 31 ( 0.6172839999 0.1166309714 ) 31 1 + vert 32 ( 0.3981139958 0.4433689713 ) 32 1 + vert 33 ( 0.3689439893 0.2599049807 ) 33 1 + vert 34 ( 0.6660386324 0.3566115499 ) 34 1 + vert 35 ( 0.7027752399 0.3440144658 ) 35 1 + vert 36 ( 0.1389996111 0.0135309696 ) 36 1 + vert 37 ( 0.1603786498 0.0651845336 ) 37 1 + vert 38 ( 0.4172109962 0.4506959915 ) 38 1 + vert 39 ( 0.6661924720 0.3876863718 ) 39 1 + vert 40 ( 0.7041609883 0.4037358165 ) 40 1 + vert 41 ( 0.0421696305 0.0356623530 ) 41 1 + vert 42 ( 0.3640710115 0.3078100085 ) 42 1 + vert 43 ( 0.6439904571 0.4093347192 ) 43 1 + vert 44 ( 0.6606106162 0.4438698292 ) 44 1 + vert 45 ( 0.3638960123 0.1557689905 ) 45 1 + vert 46 ( 0.3605380058 0.2527520061 ) 46 1 + vert 47 ( 0.3427940011 0.3544380069 ) 47 1 + vert 48 ( 0.3759880066 0.3210170269 ) 48 1 + vert 49 ( 0.3811979890 0.4251279831 ) 49 1 + vert 50 ( 0.3842659891 0.8901999965 ) 50 1 + vert 51 ( 0.3785459995 0.8891329989 ) 51 1 + vert 52 ( 0.6258339882 0.1211379766 ) 52 1 + vert 53 ( 0.3810040057 0.8677999973 ) 53 1 + vert 54 ( 0.3707079887 0.8718049973 ) 54 1 + vert 55 ( 0.3819220066 0.8358670026 ) 55 1 + vert 56 ( 0.3483920097 0.8548330069 ) 56 1 + vert 57 ( 0.6258339882 0.1211370230 ) 57 1 + vert 58 ( 0.3800359964 0.8845999986 ) 58 1 + vert 59 ( 0.3783299923 0.8806720003 ) 59 1 + vert 60 ( 0.3872820139 0.8811160028 ) 60 1 + vert 61 ( 0.3822369874 0.8789430037 ) 61 1 + vert 62 ( 0.3885929883 0.8864990026 ) 62 1 + vert 63 ( 0.3722690046 0.8641059995 ) 63 1 + vert 64 ( 0.3723649979 0.8620190024 ) 64 1 + vert 65 ( 0.3821539879 0.8834739998 ) 65 1 + vert 66 ( 0.3833589852 0.8852609992 ) 66 1 + vert 67 ( 0.1410059929 0.9049080014 ) 67 1 + vert 68 ( 0.0966409966 0.9468900003 ) 68 1 + vert 69 ( 0.0561060011 0.8406559974 ) 69 1 + vert 70 ( 0.1553100049 0.8000580072 ) 70 1 + vert 71 ( 0.1400219947 0.8402269930 ) 71 1 + vert 72 ( 0.1138530001 0.8421600014 ) 72 1 + vert 73 ( 0.0970600024 0.8607649952 ) 73 1 + vert 74 ( 0.0946189985 0.8864549994 ) 74 1 + vert 75 ( 0.1159150004 0.9006400034 ) 75 1 + vert 76 ( 0.1577479988 0.8849460036 ) 76 1 + vert 77 ( 0.1580969989 0.8594820052 ) 77 1 + vert 78 ( 0.0625320002 0.6487930119 ) 78 1 + vert 79 ( 0.0544370003 0.6221770048 ) 79 1 + vert 80 ( 0.0709389970 0.6446329951 ) 80 1 + vert 81 ( 0.0642590001 0.6206119955 ) 81 1 + vert 82 ( 0.4915809929 0.2518169880 ) 82 1 + vert 83 ( 0.1726122499 0.0897893906 ) 83 1 + vert 84 ( 0.3437370062 0.3190500140 ) 84 1 + vert 85 ( 0.4043140113 0.4421190023 ) 85 1 + vert 86 ( 0.4561789930 0.3619400263 ) 86 1 + vert 87 ( 0.3798719943 0.4756839871 ) 87 1 + vert 88 ( 0.0695969984 0.5694989860 ) 88 1 + vert 89 ( 0.4506610036 0.2520239949 ) 89 1 + vert 90 ( 0.0263630003 0.6900230050 ) 90 1 + vert 91 ( 0.6276289821 0.1250270009 ) 91 1 + vert 92 ( 0.2008090019 0.8977760002 ) 92 1 + vert 93 ( 0.9607030153 0.0021219850 ) 93 1 + vert 94 ( 0.6288570166 0.1259790063 ) 94 1 + vert 95 ( 0.6319339871 0.1272889972 ) 95 1 + vert 96 ( 0.6281350255 0.1265770197 ) 96 1 + vert 97 ( 0.7894579768 0.1288509965 ) 97 1 + vert 98 ( 0.8756970167 0.2174919844 ) 98 1 + vert 99 ( 0.6532779932 0.1152070165 ) 99 1 + vert 100 ( 0.6282160282 0.1255609989 ) 100 1 + vert 101 ( 0.6277480125 0.1251530051 ) 101 1 + vert 102 ( 0.7727810144 0.2414770126 ) 102 1 + vert 103 ( 0.6273130178 0.1252719760 ) 103 1 + vert 104 ( 0.6275830269 0.1251710057 ) 104 1 + vert 105 ( 0.7523630261 0.3643490076 ) 105 1 + vert 106 ( 0.6279199719 0.1258109808 ) 106 1 + vert 107 ( 0.6276860237 0.1251639724 ) 107 1 + vert 108 ( 0.6284040213 0.1248630285 ) 108 1 + vert 109 ( 0.6277520061 0.1251080036 ) 109 1 + vert 110 ( 0.6276770234 0.1251360178 ) 110 1 + vert 111 ( 0.6280540228 0.1249939799 ) 111 1 + vert 112 ( 0.6277949810 0.1254870296 ) 112 1 + vert 113 ( 0.6279379725 0.1254019737 ) 113 1 + vert 114 ( 0.6278619766 0.1250659823 ) 114 1 + vert 115 ( 0.6274809837 0.1251069903 ) 115 1 + vert 116 ( 0.8756970167 0.0103880167 ) 116 1 + vert 117 ( 0.4881300032 0.3988339901 ) 117 1 + vert 118 ( 0.4400950074 0.4895849824 ) 118 1 + vert 119 ( 0.6296809912 0.1253119707 ) 119 1 + vert 120 ( 0.8348699808 0.1288409829 ) 120 1 + vert 121 ( 0.6283879876 0.1252639890 ) 121 1 + vert 122 ( 0.8251060247 0.2293919921 ) 122 1 + vert 123 ( 0.6280760169 0.1252260208 ) 123 1 + vert 124 ( 0.8126369715 0.3676660061 ) 124 1 + vert 125 ( 0.6278579831 0.1251860261 ) 125 1 + vert 126 ( 0.6275569797 0.1252970099 ) 126 1 + vert 127 ( 0.2312439978 0.8272600025 ) 127 1 + vert 128 ( 0.6276999712 0.1252350211 ) 128 1 + vert 129 ( 0.6289139986 0.1293590069 ) 129 1 + vert 130 ( 0.6289160252 0.1293579936 ) 130 1 + vert 131 ( 0.3191629946 0.8554199934 ) 131 1 + vert 132 ( 0.6388469934 0.1547129750 ) 132 1 + vert 133 ( 0.6444680095 0.1343740225 ) 133 1 + vert 134 ( 0.6274279952 0.1284369826 ) 134 1 + vert 135 ( 0.4257969856 0.4489369988 ) 135 1 + vert 136 ( 0.4019640088 0.3519570231 ) 136 1 + vert 137 ( 0.4873979986 0.1361770034 ) 137 1 + vert 138 ( 0.6447083354 0.3277802467 ) 138 1 + vert 139 ( 0.6268743873 0.3713766336 ) 139 1 + vert 140 ( 0.6092867851 0.3333960176 ) 140 1 + vert 141 ( 0.5919111967 0.2986634970 ) 141 1 + vert 142 ( 0.3658135533 0.0130164623 ) 142 1 + vert 143 ( 0.3437762558 0.0652713180 ) 143 1 + vert 144 ( 0.4568969905 0.4110100269 ) 144 1 + vert 145 ( 0.5873978734 0.3554539680 ) 145 1 + vert 146 ( 0.5490666032 0.3402915597 ) 146 1 + vert 147 ( 0.4605230093 0.0344183445 ) 147 1 + vert 148 ( 0.4237800837 0.0960637927 ) 148 1 + vert 149 ( 0.4879930019 0.3997430205 ) 149 1 + vert 150 ( 0.5880622864 0.3864561319 ) 150 1 + vert 151 ( 0.5520027876 0.3994416595 ) 151 1 + vert 152 ( 0.1267140061 0.1523479819 ) 152 1 + vert 153 ( 0.1492120028 0.3544380069 ) 153 1 + vert 154 ( 0.6091287136 0.4147571325 ) 154 1 + vert 155 ( 0.5975006223 0.4431831241 ) 155 1 + vert 156 ( 0.5779694319 0.4909285307 ) 156 1 + vert 157 ( 0.2460030019 0.3558310270 ) 157 1 + vert 158 ( 0.6567584276 0.2983228564 ) 158 1 + vert 159 ( 0.6746314168 0.2546311021 ) 159 1 + vert 160 ( 0.6289150119 0.1293590069 ) 160 1 + vert 161 ( 0.3650270104 0.8906970024 ) 161 1 + vert 162 ( 0.3682929873 0.8682879955 ) 162 1 + vert 163 ( 0.3620750010 0.8816469982 ) 163 1 + vert 164 ( 0.3785890043 0.8722939938 ) 164 1 + vert 165 ( 0.6289250255 0.1293600202 ) 165 1 + vert 166 ( 0.3673749864 0.8363559991 ) 166 1 + vert 167 ( 0.4009050131 0.8553210050 ) 167 1 + vert 168 ( 0.6289250255 0.1293730140 ) 168 1 + vert 169 ( 0.3707529902 0.8896239996 ) 169 1 + vert 170 ( 0.3709670007 0.8811599985 ) 170 1 + vert 171 ( 0.3670600057 0.8794310018 ) 171 1 + vert 172 ( 0.3607040048 0.8869879991 ) 172 1 + vert 173 ( 0.3770259917 0.8645929992 ) 173 1 + vert 174 ( 0.3769269884 0.8625030071 ) 174 1 + vert 175 ( 0.3692579865 0.8850919977 ) 175 1 + vert 176 ( 0.3671439886 0.8839619979 ) 176 1 + vert 177 ( 0.3659380078 0.8857500032 ) 177 1 + vert 178 ( 0.1550669968 0.9419599995 ) 178 1 + vert 179 ( 0.1960739940 0.9030029997 ) 179 1 + vert 180 ( 0.6276919842 0.1252430081 ) 180 1 + vert 181 ( 0.0593810007 0.9045839980 ) 181 1 + vert 182 ( 0.1144220009 0.9042780027 ) 182 1 + vert 183 ( 0.0957439989 0.8894170001 ) 183 1 + vert 184 ( 0.0928639993 0.8642549962 ) 184 1 + vert 185 ( 0.1105709970 0.8472200036 ) 185 1 + vert 186 ( 0.1562670022 0.8587670028 ) 186 1 + vert 187 ( 0.1559319943 0.8851289973 ) 187 1 + vert 188 ( 0.1393499970 0.9052110016 ) 188 1 + vert 189 ( 0.0604659989 0.6426970065 ) 189 1 + vert 190 ( 0.0575169995 0.6145370007 ) 190 1 + vert 191 ( 0.0698840022 0.6406809986 ) 191 1 + vert 192 ( 0.0675899982 0.6152510047 ) 192 1 + vert 193 ( 0.0113709997 0.2589859962 ) 193 1 + vert 194 ( 0.1399970055 0.2594069839 ) 194 1 + vert 195 ( 0.2460030019 0.2340459824 ) 195 1 + vert 196 ( 0.2524371743 0.0557144284 ) 196 1 + vert 197 ( 0.2536570132 0.4331889749 ) 197 1 + vert 198 ( 0.3362450004 0.0372470021 ) 198 1 + vert 199 ( 0.3329065442 0.0890851021 ) 199 1 + vert 200 ( 0.2460030019 0.2827500105 ) 200 1 + vert 201 ( 0.2526259422 0.0799843669 ) 201 1 + vert 202 ( 0.3286344111 0.1076187491 ) 202 1 + vert 203 ( 0.0505100004 0.3663420081 ) 203 1 + vert 204 ( 0.1610649973 0.3217980266 ) 204 1 + vert 205 ( 0.2460030019 0.3192819953 ) 205 1 + vert 206 ( 0.2541404068 0.1028505564 ) 206 1 + vert 207 ( 0.4818849862 0.3736709952 ) 207 1 + vert 208 ( 0.0809919983 0.5675910115 ) 208 1 + vert 209 ( 0.0806230009 0.3518000245 ) 209 1 + vert 210 ( 0.4475649893 0.4347280264 ) 210 1 + vert 211 ( 0.4620740116 0.3537070155 ) 211 1 + vert 212 ( 0.6317139864 0.1284459829 ) 212 1 + vert 213 ( 0.6280450225 0.1287209988 ) 213 1 + vert 214 ( 0.7746189833 0.1109529734 ) 214 1 + vert 215 ( 0.6289780140 0.1279810071 ) 215 1 + vert 216 ( 0.6955029964 0.0293049812 ) 216 1 + vert 217 ( 0.6253359914 0.1227399707 ) 217 1 + vert 218 ( 0.5816770196 0.0927789807 ) 218 1 + vert 219 ( 0.1275420040 0.8719480038 ) 219 1 + vert 220 ( 0.7414439917 0.1526179910 ) 220 1 + vert 221 ( 0.6143440008 0.1797749996 ) 221 1 + vert 222 ( 0.1245450005 0.8749449998 ) 222 1 + vert 223 ( 0.6258360147 0.1211370230 ) 223 1 + vert 224 ( 0.3505359888 0.9358170033 ) 224 1 + vert 225 ( 0.8096579909 0.0429260135 ) 225 1 + vert 226 ( 0.6289139986 0.1293590069 ) 226 1 + vert 227 ( 0.6276180148 0.1252030134 ) 227 1 + vert 228 ( 0.0981490016 0.9462199993 ) 228 1 + vert 229 ( 0.6277040243 0.1252470016 ) 229 1 + vert 230 ( 0.0186180007 0.9150779992 ) 230 1 + vert 231 ( 0.0649780035 0.6335799992 ) 231 1 + vert 232 ( 0.0589819998 0.6355690062 ) 232 1 + vert 233 ( 0.0594930016 0.6292249858 ) 233 1 + vert 234 ( 0.0660500005 0.6284390092 ) 234 1 + vert 235 ( 0.0651919991 0.3043059707 ) 235 1 + vert 236 ( 0.4205529988 0.3454099894 ) 236 1 + vert 237 ( 0.6263669729 0.1244400144 ) 237 1 + vert 238 ( 0.6234359741 0.1237630248 ) 238 1 + vert 239 ( 0.9990299940 0.3643490076 ) 239 1 + vert 240 ( 0.3445369899 0.4483079910 ) 240 1 + vert 241 ( 0.9387570024 0.3676660061 ) 241 1 + vert 242 ( 0.6276410222 0.1250360012 ) 242 1 + vert 243 ( 0.6276410222 0.1250560284 ) 243 1 + vert 244 ( 0.6258500218 0.1211190224 ) 244 1 + vert 245 ( 0.6258320212 0.1211040020 ) 245 1 + vert 246 ( 0.6258320212 0.1211410165 ) 246 1 + vert 247 ( 0.6232309937 0.1226410270 ) 247 1 + vert 248 ( 0.9401900172 0.0425660014 ) 248 1 + vert 249 ( 0.4459069967 0.4552189708 ) 249 1 + vert 250 ( 0.3984790146 0.3889309764 ) 250 1 + vert 251 ( 0.2553119957 0.3806899786 ) 251 1 + vert 252 ( 0.3689439893 0.2599049807 ) 252 1 + vert 253 ( 0.7483572364 0.3297877908 ) 253 1 + vert 254 ( 0.7469862700 0.4222422838 ) 254 1 + vert 255 ( 0.4960930049 0.1402699947 ) 255 1 + vert 256 ( 0.4066590071 0.4814119935 ) 256 1 + vert 257 ( 0.4271129966 0.3943110108 ) 257 1 + vert 258 ( 0.3731999993 0.1485310197 ) 258 1 + vert 259 ( 0.6828961372 0.4872912169 ) 259 1 + vert 260 ( 0.3644340038 0.2510650158 ) 260 1 + vert 261 ( 0.3379189968 0.3492659926 ) 261 1 + vert 262 ( 0.2115100026 0.3792759776 ) 262 1 + vert 263 ( 0.3270049989 0.4265609980 ) 263 1 + vert 264 ( 0.3580130041 0.8870590031 ) 264 1 + vert 265 ( 0.4301339984 0.8549319953 ) 265 1 + vert 266 ( 0.6276299953 0.1250450015 ) 266 1 + vert 267 ( 0.6276249886 0.1250349879 ) 267 1 + vert 268 ( 0.6276370287 0.1250309944 ) 268 1 + vert 269 ( 0.0796861947 0.0949854255 ) 269 1 + vert 270 ( 0.1094729975 0.5613940060 ) 270 1 + vert 271 ( 0.3494420052 0.3227739930 ) 271 1 + vert 272 ( 0.1775498390 0.1082749963 ) 272 1 + vert 273 ( 0.3916580081 0.4803019762 ) 273 1 + vert 274 ( 0.1219109967 0.7397130132 ) 274 1 + vert 275 ( 0.0150539996 0.5661869943 ) 275 1 + vert 276 ( 0.4209469855 0.3505399823 ) 276 1 + vert 277 ( 0.4469589889 0.4331520200 ) 277 1 + vert 278 ( 0.6167619824 0.0958999991 ) 278 1 + vert 279 ( 0.6253830194 0.1289579868 ) 279 1 + vert 280 ( 0.6272040009 0.1264169812 ) 280 1 + vert 281 ( 0.8756970167 0.3414480090 ) 281 1 + vert 282 ( 0.6276220083 0.1255369782 ) 282 1 + vert 283 ( 0.3894360065 0.3493469954 ) 283 1 + vert 284 ( 0.6682329774 0.2370920181 ) 284 1 + vert 285 ( 0.7451130152 0.0810130239 ) 285 1 + vert 286 ( 0.6277009845 0.1252179742 ) 286 1 + vert 287 ( 0.1358039975 0.8401570022 ) 287 1 + vert 288 ( 0.3858850002 0.8867010027 ) 288 1 + vert 289 ( 0.3582699895 0.7582779974 ) 289 1 + vert 290 ( 0.6289150119 0.1293590069 ) 290 1 + vert 291 ( 0.7916359901 0.0025309920 ) 291 1 + vert 292 ( 0.4516420066 0.4454410076 ) 292 1 + vert 293 ( 0.4617660046 0.4410409927 ) 293 1 + vert 294 ( 0.4439600110 0.4271969795 ) 294 1 + vert 295 ( 0.1335480064 0.4531610012 ) 295 1 + vert 296 ( 0.4413880110 0.4011240005 ) 296 1 + vert 297 ( 0.4018290043 0.3278620243 ) 297 1 + vert 298 ( 0.5693684816 0.2565689683 ) 298 1 + vert 299 ( 0.5055488944 0.3234776855 ) 299 1 + vert 300 ( 0.0037580000 0.1478310227 ) 300 1 + vert 301 ( 0.1231850013 0.5863040090 ) 301 1 + vert 302 ( 0.0782629997 0.3964080215 ) 302 1 + vert 303 ( 0.1281100065 0.1557689905 ) 303 1 + vert 304 ( 0.5056744218 0.4147952795 ) 304 1 + vert 305 ( 0.1676200032 0.3516579866 ) 305 1 + vert 306 ( 0.3470360041 0.9355280027 ) 306 1 + vert 307 ( 0.6277149916 0.1252350211 ) 307 1 + vert 308 ( 0.0900750011 0.8031409979 ) 308 1 + vert 309 ( 0.6277120113 0.1252499819 ) 309 1 + vert 310 ( 0.4333678484 0.0820311904 ) 310 1 + vert 311 ( 0.1109289974 0.5051110089 ) 311 1 + vert 312 ( 0.1322540045 0.2574980259 ) 312 1 + vert 313 ( 0.2574259937 0.4273149967 ) 313 1 + vert 314 ( 0.4483200014 0.3981130123 ) 314 1 + vert 315 ( 0.4865030050 0.3854569793 ) 315 1 + vert 316 ( 0.1033670008 0.7451390028 ) 316 1 + vert 317 ( 0.0476320013 0.7256459892 ) 317 1 + vert 318 ( 0.4685730040 0.4793140292 ) 318 1 + vert 319 ( 0.0166549999 0.6725839972 ) 319 1 + vert 320 ( 0.0241529997 0.5575430095 ) 320 1 + vert 321 ( 0.0548859984 0.2560560107 ) 321 1 + vert 322 ( 0.6259930134 0.1299329996 ) 322 1 + vert 323 ( 0.4460049868 0.4623540044 ) 323 1 + vert 324 ( 0.3829610050 0.3183860183 ) 324 1 + vert 325 ( 0.1038580015 0.6833919883 ) 325 1 + vert 326 ( 0.0899780691 0.1195011139 ) 326 1 + vert 327 ( 0.1006100029 0.8047830015 ) 327 1 + vert 328 ( 0.6276400089 0.1250410080 ) 328 1 + vert 329 ( 0.6274359822 0.1254559755 ) 329 1 + vert 330 ( 0.2460030019 0.1686859727 ) 330 1 + vert 331 ( 0.2526209950 0.3444650173 ) 331 1 + vert 332 ( 0.2522003353 0.0025228262 ) 332 1 + vert 333 ( 0.4699220061 0.7936670035 ) 333 1 + vert 334 ( 0.3126710057 0.9025399983 ) 334 1 + vert 335 ( 0.6277109981 0.1252300143 ) 335 1 + vert 336 ( 0.1801899970 0.4283540249 ) 336 1 + vert 337 ( 0.3003309965 0.3764070272 ) 337 1 + vert 338 ( 0.4704709947 0.1426770091 ) 338 1 + vert 339 ( 0.1425929964 0.3229569793 ) 339 1 + vert 340 ( 0.4222159982 0.4160159826 ) 340 1 + vert 341 ( 0.0937429965 0.6905100048 ) 341 1 + vert 342 ( 0.4166484177 0.1181108952 ) 342 1 + vert 343 ( 0.3908190131 0.4905909896 ) 343 1 + vert 344 ( 0.8982509971 0.0058349967 ) 344 1 + vert 345 ( 0.3450439870 0.3811349869 ) 345 1 + vert 346 ( 0.4786790013 0.4594330192 ) 346 1 + vert 347 ( 0.8539239764 0.0056009889 ) 347 1 + vert 348 ( 0.4443129897 0.3469979763 ) 348 1 + vert 349 ( 0.3910270035 0.7577899992 ) 349 1 + vert 350 ( 0.6258360147 0.1211379766 ) 350 1 + vert 351 ( 0.6244940162 0.1396149993 ) 351 1 + vert 352 ( 0.4231719971 0.9866469996 ) 352 1 + vert 353 ( 0.6277149916 0.1252409816 ) 353 1 + vert 354 ( 0.0524270013 0.8491390049 ) 354 1 + vert 355 ( 0.6276180148 0.1250439882 ) 355 1 + vert 356 ( 0.4738889933 0.4092710018 ) 356 1 + vert 357 ( 0.4270829856 0.4775859714 ) 357 1 + vert 358 ( 0.4205529988 0.3454099894 ) 358 1 + vert 359 ( 0.0646610036 0.7349320054 ) 359 1 + + numtris 470 + tri 0 99 108 19 + tri 1 11 237 4 + tri 2 216 278 15 + tri 3 182 183 222 + tri 4 120 17 18 + tri 5 238 247 217 + tri 6 75 68 74 + tri 7 216 285 99 + tri 8 5 248 30 + tri 9 72 71 219 + tri 10 237 238 217 + tri 11 241 281 16 + tri 12 347 116 17 + tri 13 212 95 133 + tri 14 1 3 19 + tri 15 93 248 344 + tri 16 3 6 28 + tri 17 126 227 180 + tri 18 183 184 222 + tri 19 34 39 139 + tri 20 249 256 38 + tri 21 256 249 323 + tri 22 251 313 262 + tri 23 144 293 340 + tri 24 43 154 139 + tri 25 331 197 305 + tri 26 312 200 339 + tri 27 73 72 219 + tri 28 58 51 264 + tri 29 55 64 56 + tri 30 224 264 51 + tri 31 56 54 264 + tri 32 76 92 67 + tri 33 54 63 53 + tri 34 66 58 65 + tri 35 325 274 359 + tri 36 67 92 25 + tri 37 71 77 219 + tri 38 10 91 267 + tri 39 266 9 355 + tri 40 230 74 68 + tri 41 75 74 219 + tri 42 76 67 219 + tri 43 325 88 270 + tri 44 77 76 219 + tri 45 74 73 219 + tri 46 67 75 219 + tri 47 99 220 133 + tri 48 28 6 350 + tri 49 231 81 88 + tri 50 96 215 134 + tri 51 200 195 260 + tri 52 144 340 314 + tri 53 251 337 313 + tri 54 200 312 195 + tri 55 223 247 31 + tri 56 23 328 242 + tri 57 2 278 216 + tri 58 220 284 132 + tri 59 108 121 111 + tri 60 106 96 280 + tri 61 280 134 279 + tri 62 126 282 329 + tri 63 17 225 347 + tri 64 205 200 271 + tri 65 286 227 107 + tri 66 139 140 138 + tri 67 117 296 348 + tri 68 355 115 10 + tri 69 6 4 217 + tri 70 335 101 125 + tri 71 243 12 9 + tri 72 132 133 220 + tri 73 225 291 347 + tri 74 134 215 213 + tri 75 213 322 134 + tri 76 95 212 215 + tri 77 162 171 163 + tri 78 39 43 139 + tri 79 145 139 150 + tri 80 139 154 150 + tri 81 295 302 336 + tri 82 351 130 290 + tri 83 139 145 140 + tri 84 164 288 170 + tri 85 204 235 194 + tri 86 139 138 34 + tri 87 290 168 351 + tri 88 352 169 288 + tri 89 167 288 164 + tri 90 179 187 186 + tri 91 172 177 161 + tri 92 167 333 288 + tri 93 175 177 176 + tri 94 164 162 173 + tri 95 170 176 171 + tri 96 28 2 3 + tri 97 188 182 222 + tri 98 186 287 127 + tri 99 125 307 335 + tri 100 185 287 222 + tri 101 186 187 222 + tri 102 187 188 222 + tri 103 184 185 222 + tri 104 287 186 222 + tri 105 2 216 99 + tri 106 220 99 285 + tri 107 237 217 4 + tri 108 322 213 130 + tri 109 96 134 280 + tri 110 248 17 344 + tri 111 121 108 119 + tri 112 52 6 246 + tri 113 14 91 10 + tri 114 357 276 277 + tri 115 189 233 190 + tri 116 234 208 192 + tri 117 317 189 319 + tri 118 321 194 235 + tri 119 208 311 320 + tri 120 208 301 311 + tri 121 208 341 301 + tri 122 356 210 211 + tri 123 210 356 318 + tri 124 316 341 317 + tri 125 271 260 89 + tri 126 275 270 88 + tri 127 2 99 3 + tri 128 150 154 151 + tri 129 343 240 32 + tri 130 107 227 110 + tri 131 115 103 22 + tri 132 278 218 15 + tri 133 18 16 98 + tri 134 18 5 16 + tri 135 3 1 6 + tri 136 118 343 135 + tri 137 345 283 250 + tri 138 109 101 110 + tri 139 12 8 110 + tri 140 108 20 19 + tri 141 104 9 110 + tri 142 21 20 111 + tri 143 201 206 83 + tri 144 13 7 21 + tri 145 114 109 23 + tri 146 7 13 11 + tri 147 227 126 104 + tri 148 14 10 11 + tri 149 114 125 109 + tri 150 23 21 114 + tri 151 240 345 49 + tri 152 196 143 201 + tri 153 281 98 16 + tri 154 9 115 355 + tri 155 115 9 104 + tri 156 108 99 119 + tri 157 17 248 18 + tri 158 239 241 0 + tri 159 125 113 353 + tri 160 18 98 120 + tri 161 118 135 346 + tri 162 281 124 122 + tri 163 111 123 114 + tri 164 36 332 37 + tri 165 67 68 75 + tri 166 324 252 48 + tri 167 61 53 60 + tri 168 322 279 134 + tri 169 35 253 40 + tri 170 296 250 348 + tri 171 69 327 73 + tri 172 158 141 159 + tri 173 196 201 37 + tri 174 253 35 159 + tri 175 330 195 303 + tri 176 140 141 138 + tri 177 158 35 138 + tri 178 271 89 358 + tri 179 36 37 41 + tri 180 263 261 257 + tri 181 37 83 269 + tri 182 83 272 326 + tri 183 89 260 258 + tri 184 320 319 190 + tri 185 340 292 249 + tri 186 249 38 340 + tri 187 330 45 195 + tri 188 331 261 197 + tri 189 200 260 271 + tri 190 48 42 324 + tri 191 55 53 64 + tri 192 297 338 33 + tri 193 60 53 265 + tri 194 245 57 31 + tri 195 54 56 63 + tri 196 60 265 62 + tri 197 51 50 224 + tri 198 50 62 26 + tri 199 29 349 56 + tri 200 66 62 50 + tri 201 61 60 65 + tri 202 59 54 61 + tri 203 265 55 349 + tri 204 29 56 264 + tri 205 62 66 60 + tri 206 50 51 66 + tri 207 58 59 65 + tri 208 54 59 264 + tri 209 65 59 61 + tri 210 92 76 24 + tri 211 355 10 267 + tri 212 81 231 79 + tri 213 74 230 69 + tri 214 243 9 266 + tri 215 68 67 25 + tri 216 23 242 268 + tri 217 275 88 79 + tri 218 80 325 78 + tri 219 43 39 44 + tri 220 78 359 90 + tri 221 43 44 154 + tri 222 31 278 245 + tri 223 155 156 151 + tri 224 155 44 156 + tri 225 44 40 259 + tri 226 34 35 39 + tri 227 201 199 206 + tri 228 293 292 340 + tri 229 85 38 273 + tri 230 261 236 257 + tri 231 205 271 157 + tri 232 340 38 85 + tri 233 205 157 339 + tri 234 141 146 298 + tri 235 90 275 79 + tri 236 70 71 327 + tri 237 6 217 246 + tri 238 74 69 73 + tri 239 77 71 24 + tri 240 244 245 2 + tri 241 350 244 28 + tri 242 100 121 94 + tri 243 247 223 217 + tri 244 113 112 353 + tri 245 284 221 132 + tri 246 119 99 95 + tri 247 296 117 294 + tri 248 113 125 123 + tri 249 96 106 94 + tri 250 120 122 97 + tri 251 95 94 119 + tri 252 96 94 215 + tri 253 107 101 286 + tri 254 100 106 113 + tri 255 21 23 13 + tri 256 280 282 106 + tri 257 105 102 124 + tri 258 151 304 146 + tri 259 97 225 120 + tri 260 225 97 214 + tri 261 10 115 22 + tri 262 282 229 112 + tri 263 113 123 100 + tri 264 12 243 8 + tri 265 226 129 215 + tri 266 180 229 126 + tri 267 188 187 178 + tri 268 140 145 141 + tri 269 146 145 151 + tri 270 144 149 293 + tri 271 199 342 202 + tri 272 302 305 336 + tri 273 143 142 310 + tri 274 143 148 199 + tri 275 209 235 204 + tri 276 321 193 300 + tri 277 213 160 130 + tri 278 137 136 198 + tri 279 169 175 288 + tri 280 129 160 215 + tri 281 174 166 167 + tri 282 166 174 162 + tri 283 166 162 131 + tri 284 163 172 131 + tri 285 169 352 161 + tri 286 161 306 172 + tri 287 183 182 181 + tri 288 333 167 289 + tri 289 162 164 171 + tri 290 289 166 131 + tri 291 172 163 177 + tri 292 175 169 177 + tri 293 128 227 286 + tri 294 176 170 175 + tri 295 184 354 185 + tri 296 174 167 173 + tri 297 188 178 182 + tri 298 183 181 184 + tri 299 287 185 308 + tri 300 176 163 171 + tri 301 320 190 208 + tri 302 179 186 127 + tri 303 353 307 125 + tri 304 227 128 180 + tri 305 317 341 189 + tri 306 192 190 234 + tri 307 341 208 191 + tri 308 215 212 226 + tri 309 196 332 143 + tri 310 310 148 143 + tri 311 302 209 305 + tri 312 314 315 144 + tri 313 168 132 351 + tri 314 322 130 351 + tri 315 132 168 133 + tri 316 133 165 212 + tri 317 115 126 103 + tri 318 122 98 281 + tri 319 7 1 20 + tri 320 116 344 17 + tri 321 8 328 23 + tri 322 200 205 339 + tri 323 4 1 11 + tri 324 91 14 268 + tri 325 6 52 350 + tri 326 223 31 57 + tri 327 231 88 80 + tri 328 268 13 23 + tri 329 90 79 78 + tri 330 80 78 231 + tri 331 78 79 232 + tri 332 233 189 234 + tri 333 197 336 305 + tri 334 121 123 111 + tri 335 288 175 170 + tri 336 99 19 3 + tri 337 154 155 151 + tri 338 240 49 32 + tri 339 227 104 110 + tri 340 5 0 16 + tri 341 1 4 6 + tri 342 343 32 135 + tri 343 101 107 110 + tri 344 8 109 110 + tri 345 9 12 110 + tri 346 20 108 111 + tri 347 206 272 83 + tri 348 7 20 21 + tri 349 109 8 23 + tri 350 13 14 11 + tri 351 126 115 104 + tri 352 10 237 11 + tri 353 125 101 109 + tri 354 21 111 114 + tri 355 345 250 49 + tri 356 143 199 201 + tri 357 248 5 18 + tri 358 241 16 0 + tri 359 98 122 120 + tri 360 135 294 346 + tri 361 123 125 114 + tri 362 332 196 37 + tri 363 253 254 40 + tri 364 250 283 348 + tri 365 327 72 73 + tri 366 141 298 159 + tri 367 201 83 37 + tri 368 35 158 159 + tri 369 195 312 303 + tri 370 141 158 138 + tri 371 35 34 138 + tri 372 37 269 41 + tri 373 83 326 269 + tri 374 85 273 87 + tri 375 89 255 82 + tri 376 89 258 255 + tri 377 319 189 190 + tri 378 45 46 195 + tri 379 261 263 197 + tri 380 53 63 64 + tri 381 53 55 265 + tri 382 56 64 63 + tri 383 265 27 62 + tri 384 50 26 224 + tri 385 62 27 26 + tri 386 349 55 56 + tri 387 54 53 61 + tri 388 66 65 60 + tri 389 51 58 66 + tri 390 59 58 264 + tri 391 76 77 24 + tri 392 231 232 79 + tri 393 88 81 79 + tri 394 325 359 78 + tri 395 39 40 44 + tri 396 44 155 154 + tri 397 156 304 151 + tri 398 44 259 156 + tri 399 40 254 259 + tri 400 35 40 39 + tri 401 199 202 206 + tri 402 38 256 273 + tri 403 257 236 86 + tri 404 261 84 236 + tri 405 271 47 157 + tri 406 157 153 339 + tri 407 146 299 298 + tri 408 71 72 327 + tri 409 71 70 24 + tri 410 245 278 2 + tri 411 244 2 28 + tri 412 121 119 94 + tri 413 223 246 217 + tri 414 112 309 353 + tri 415 99 133 95 + tri 416 117 346 294 + tri 417 106 100 94 + tri 418 122 102 97 + tri 419 94 95 215 + tri 420 101 335 286 + tri 421 106 112 113 + tri 422 282 112 106 + tri 423 102 122 124 + tri 424 304 299 146 + tri 425 225 17 120 + tri 426 229 309 112 + tri 427 123 121 100 + tri 428 243 328 8 + tri 429 229 282 126 + tri 430 187 179 178 + tri 431 145 146 141 + tri 432 145 150 151 + tri 433 207 315 314 + tri 434 142 147 310 + tri 435 148 342 199 + tri 436 321 152 194 + tri 437 321 300 152 + tri 438 160 213 215 + tri 439 174 173 162 + tri 440 162 163 131 + tri 441 172 334 131 + tri 442 352 306 161 + tri 443 306 334 172 + tri 444 182 228 181 + tri 445 167 166 289 + tri 446 164 170 171 + tri 447 163 176 177 + tri 448 169 161 177 + tri 449 354 308 185 + tri 450 167 164 173 + tri 451 178 228 182 + tri 452 181 354 184 + tri 453 190 192 208 + tri 454 341 191 189 + tri 455 190 233 234 + tri 456 208 234 191 + tri 457 332 142 143 + tri 458 305 209 204 + tri 459 302 203 209 + tri 460 315 149 144 + tri 461 168 165 133 + tri 462 165 226 212 + tri 463 126 329 103 + tri 464 1 19 20 + tri 465 1 7 11 + tri 466 14 13 268 + tri 467 88 325 80 + tri 468 78 232 231 + tri 469 189 191 234 + + numweights 360 + weight 0 2 1.0000000000 ( 0.2439319938 0.0499284454 0.2035437673 ) + weight 1 2 1.0000000000 ( 0.2350439876 0.0386660509 -0.1570599973 ) + weight 2 3 1.0000000000 ( 0.1468819976 0.2431893200 -0.1329962164 ) + weight 3 3 1.0000000000 ( 0.1868539900 0.0340141021 -0.1547431201 ) + weight 4 2 1.0000000000 ( 0.2639710009 0.0537303165 0.0159244947 ) + weight 5 3 1.0000000000 ( 0.1861609966 0.0953991860 0.1915709078 ) + weight 6 3 1.0000000000 ( 0.2285970002 -0.0190709401 -0.0142364986 ) + weight 7 1 1.0000000000 ( 0.3034240007 0.0756526217 -0.1794317067 ) + weight 8 15 1.0000000000 ( 0.1355637610 0.1599988341 -0.1184319407 ) + weight 9 15 1.0000000000 ( 0.1309300661 0.1559493095 0.1280044913 ) + weight 10 0 1.0000000000 ( 0.3404839933 0.0529571772 0.1671295166 ) + weight 11 1 1.0000000000 ( 0.3391319811 0.0750562176 0.0016326986 ) + weight 12 15 1.0000000000 ( 0.1489165127 0.1844431013 -0.0088376291 ) + weight 13 0 1.0000000000 ( 0.3395859897 0.0439382195 -0.1631174833 ) + weight 14 0 1.0000000000 ( 0.3889379799 0.0506551862 0.0073615173 ) + weight 15 4 1.0000000000 ( 0.0705629960 0.0848673582 -0.0615953095 ) + weight 16 2 1.0000000000 ( 0.1190169901 0.0599804558 0.2684907317 ) + weight 17 4 1.0000000000 ( 0.0006129916 0.0637564659 0.0699426830 ) + weight 18 3 1.0000000000 ( 0.0385599919 0.1152020395 0.2334879637 ) + weight 19 2 1.0000000000 ( 0.1151029915 0.0728035569 -0.2197413594 ) + weight 20 1 1.0000000000 ( 0.1639789939 0.0782810822 -0.2524156272 ) + weight 21 0 1.0000000000 ( 0.1762349904 0.0837392211 -0.2474874854 ) + weight 22 0 1.0000000000 ( 0.1762349904 0.0643042326 0.2256545126 ) + weight 23 0 1.0000000000 ( 0.1576959938 -0.1277057528 -0.1835524887 ) + weight 24 17 1.0000000000 ( 0.0680590793 -0.1028278694 -0.0648958981 ) + weight 25 15 1.0000000000 ( 0.1383750886 0.3645852506 -0.0049345810 ) + weight 26 9 1.0000000000 ( 0.0795513690 0.1844145805 -0.0157230105 ) + weight 27 9 1.0000000000 ( 0.0432985425 0.1875272989 -0.0675230026 ) + weight 28 3 1.0000000000 ( 0.2132139951 0.0611511469 -0.1208057329 ) + weight 29 9 1.0000000000 ( -0.0445946343 0.2564639449 0.0450837091 ) + weight 30 3 1.0000000000 ( 0.2126979977 0.1201973557 0.1432525218 ) + weight 31 3 1.0000000000 ( 0.1475549936 0.2980909944 0.0494865850 ) + weight 32 4 1.0000000000 ( 0.0482579879 0.1410723925 -0.1014293134 ) + weight 33 4 1.0000000000 ( 0.0117849912 0.1506624222 -0.0038563106 ) + weight 34 5 1.0000000000 ( 0.2498759925 1.1327595711 -0.3092742264 ) + weight 35 5 1.0000000000 ( 0.4259600043 0.9609866142 -0.4556492269 ) + weight 36 5 1.0000000000 ( 0.5045909882 0.7150216103 -0.5220972300 ) + weight 37 5 1.0000000000 ( 0.4640769958 0.3028106689 -0.4996452034 ) + weight 38 5 1.0000000000 ( 0.2884320021 -0.0966032743 -0.2449832261 ) + weight 39 5 1.0000000000 ( 0.3387569785 1.1393196583 -0.0777652338 ) + weight 40 5 1.0000000000 ( 0.5802649856 0.9604737759 -0.0781242326 ) + weight 41 5 1.0000000000 ( 0.6948559880 0.7089786530 -0.0778682306 ) + weight 42 5 1.0000000000 ( 0.5167359710 -0.1222293377 -0.0203252304 ) + weight 43 5 1.0000000000 ( 0.2486589998 1.1295747757 0.1535777748 ) + weight 44 5 1.0000000000 ( 0.4240689874 0.9566686153 0.2969137728 ) + weight 45 5 1.0000000000 ( 0.5041099787 0.7030787468 0.3581047654 ) + weight 46 5 1.0000000000 ( 0.4698289931 0.2859137058 0.3518387675 ) + weight 47 5 1.0000000000 ( 0.3811949790 -0.1297823191 0.3299477696 ) + weight 48 4 1.0000000000 ( 0.1325989962 0.1678954363 -0.0169863105 ) + weight 49 4 1.0000000000 ( 0.0715219900 0.1374104023 -0.0627613142 ) + weight 50 10 1.0000000000 ( 0.0840645060 0.1210490838 -0.0181316938 ) + weight 51 10 1.0000000000 ( 0.0575683862 0.1251404732 0.0378176831 ) + weight 52 10 1.0000000000 ( -0.0002098754 0.0546463765 0.0658383071 ) + weight 53 10 1.0000000000 ( -0.0627470165 0.0624686852 -0.0117829153 ) + weight 54 10 1.0000000000 ( -0.0590158813 0.0695136413 0.0414663702 ) + weight 55 10 1.0000000000 ( -0.0650505200 -0.0035594087 -0.0099944593 ) + weight 56 10 1.0000000000 ( -0.0613203868 0.0034854293 0.0432546809 ) + weight 57 9 1.0000000000 ( -0.0132750962 0.2916550636 -0.0645581484 ) + weight 58 10 1.0000000000 ( 0.0210795142 0.1713905782 0.0260487832 ) + weight 59 10 1.0000000000 ( -0.0339472182 0.1386612058 0.0273603126 ) + weight 60 10 1.0000000000 ( -0.0045190584 0.1215111911 -0.0678468496 ) + weight 61 10 1.0000000000 ( -0.0377568416 0.1327892989 -0.0186499339 ) + weight 62 10 1.0000000000 ( 0.0525807440 0.1186101437 -0.0695189536 ) + weight 63 10 1.0000000000 ( -0.1305689365 0.0510407835 0.0251007006 ) + weight 64 10 1.0000000000 ( -0.1319397390 0.0182728413 0.0168420617 ) + weight 65 10 1.0000000000 ( 0.0048729759 0.1857358515 -0.0151548022 ) + weight 66 10 1.0000000000 ( 0.0411435924 0.1764152050 -0.0300002247 ) + weight 67 18 1.0000000000 ( 0.1038829386 0.0158947278 0.0029720145 ) + weight 68 18 1.0000000000 ( 0.0394554958 0.0885941535 0.0973428190 ) + weight 69 18 1.0000000000 ( -0.1282062978 -0.0032369436 0.0986670703 ) + weight 70 17 1.0000000000 ( -0.0343980715 -0.1179947853 -0.0710503906 ) + weight 71 17 1.0000000000 ( -0.0267230254 -0.0240106471 -0.1161581948 ) + weight 72 18 1.0000000000 ( -0.0953479484 -0.0946307927 -0.0016044304 ) + weight 73 18 1.0000000000 ( -0.1046545953 -0.0106829302 -0.0015861008 ) + weight 74 18 1.0000000000 ( -0.0566503927 0.0627773404 0.0044931932 ) + weight 75 18 1.0000000000 ( 0.0320712924 0.0645642951 -0.0022616275 ) + weight 76 18 1.0000000000 ( 0.1073177084 -0.0721633211 -0.0025780962 ) + weight 77 17 1.0000000000 ( 0.0570398942 -0.0178213380 -0.1072523296 ) + weight 78 5 1.0000000000 ( 0.7447710037 0.0725736618 -0.0303482283 ) + weight 79 5 1.0000000000 ( 0.7426120043 0.2516007423 -0.0305892285 ) + weight 80 5 1.0000000000 ( 0.7222160101 0.0878257751 -0.0735782310 ) + weight 81 5 1.0000000000 ( 0.7219740152 0.2373116016 -0.0736612305 ) + weight 82 5 1.0000000000 ( 0.6486669779 0.2471966743 -0.0761172324 ) + weight 83 5 1.0000000000 ( 0.3968510032 0.1162166595 -0.4449752271 ) + weight 84 5 1.0000000000 ( 0.4264929891 -0.0116553307 0.3855787814 ) + weight 85 5 1.0000000000 ( 0.3449510038 0.0062587261 -0.3619642258 ) + weight 86 5 1.0000000000 ( 0.5977219939 -0.0077822208 -0.0438172258 ) + weight 87 5 1.0000000000 ( 0.6196209788 0.0677487850 -0.0317612290 ) + weight 88 5 1.0000000000 ( 0.6246069670 0.2611856461 -0.0222792309 ) + weight 89 5 1.0000000000 ( 0.6096429825 0.2903735638 0.0331927724 ) + weight 90 5 1.0000000000 ( 0.6140149832 0.0971865654 0.0184367709 ) + weight 91 18 1.0000000000 ( -0.1133777350 -0.1069344580 0.0901804268 ) + weight 92 18 1.0000000000 ( 0.1313204467 -0.0760601237 0.0959457457 ) + weight 93 3 1.0000000000 ( 0.1538379937 0.3069235086 -0.0582844801 ) + weight 94 2 1.0000000000 ( -0.2350540012 0.0386660509 -0.1570599973 ) + weight 95 2 1.0000000000 ( -0.1868640035 0.2700208426 -0.1547431201 ) + weight 96 2 1.0000000000 ( -0.2639810145 0.0537303165 0.0159244929 ) + weight 97 3 1.0000000000 ( -0.1861710101 0.0953991860 0.1915709078 ) + weight 98 2 1.0000000000 ( -0.0000050080 0.0951434374 0.2741678655 ) + weight 99 3 1.0000000000 ( -0.0004480089 0.2667391300 -0.1622940153 ) + weight 100 1 1.0000000000 ( -0.3034340143 0.0756526217 -0.1794317067 ) + weight 101 0 1.0000000000 ( -0.0557330102 -0.2585647106 -0.1282364875 ) + weight 102 2 1.0000000000 ( -0.2537190020 0.0219821762 0.2003624737 ) + weight 103 0 1.0000000000 ( 0.0030679922 0.1357972026 0.2502985001 ) + weight 104 0 1.0000000000 ( -0.0000050083 -0.2192987204 0.1261775196 ) + weight 105 0 1.0000000000 ( -0.3399960101 0.0680472255 0.1706835181 ) + weight 106 1 1.0000000000 ( -0.3391419947 0.0750562176 0.0016326972 ) + weight 107 20 1.0000000000 ( -0.1489012241 0.1841989905 -0.0076375632 ) + weight 108 1 1.0000000000 ( 0.0067869909 0.0901962817 -0.2603986859 ) + weight 109 0 1.0000000000 ( -0.0000050088 -0.2192857265 -0.1325974762 ) + weight 110 15 1.0000000000 ( 0.1910143495 0.1503635943 -0.0099164341 ) + weight 111 0 1.0000000000 ( -0.0000050091 0.0824261904 -0.2682794929 ) + weight 112 0 1.0000000000 ( -0.3884370029 0.0409191847 0.0048475144 ) + weight 113 0 1.0000000000 ( -0.3383989930 0.0429071784 -0.1631864905 ) + weight 114 0 1.0000000000 ( -0.0000050089 -0.0896587372 -0.1991924793 ) + weight 115 0 1.0000000000 ( 0.1318969876 -0.1043447256 0.1910755187 ) + weight 116 4 1.0000000000 ( -0.0000050086 0.1022064686 0.0052606883 ) + weight 117 4 1.0000000000 ( -0.0705730096 0.0848673582 -0.0615953095 ) + weight 118 4 1.0000000000 ( -0.0000050088 0.0721414089 -0.1301623136 ) + weight 119 2 1.0000000000 ( -0.1177550033 0.0740632117 -0.2187535763 ) + weight 120 3 1.0000000000 ( -0.0936910063 0.1105483249 0.2241318226 ) + weight 121 1 1.0000000000 ( -0.1639890075 0.0782810822 -0.2524156272 ) + weight 122 2 1.0000000000 ( -0.1199790090 0.0585936196 0.2680982649 ) + weight 123 0 1.0000000000 ( -0.1762450039 0.0837392211 -0.2474874854 ) + weight 124 0 1.0000000000 ( -0.1762450039 0.0643051863 0.2256545126 ) + weight 125 0 1.0000000000 ( -0.1524530053 -0.1214027405 -0.1853304803 ) + weight 126 0 1.0000000000 ( -0.1447610110 -0.1289037466 0.1825795174 ) + weight 127 21 1.0000000000 ( -0.1389897615 0.0231919978 -0.0029347057 ) + weight 128 23 1.0000000000 ( -0.0535812676 0.0499770865 0.0058840741 ) + weight 129 14 1.0000000000 ( -0.0017304621 0.0613811798 0.0646476820 ) + weight 130 13 1.0000000000 ( 0.0555704571 0.2862195969 -0.0049750358 ) + weight 131 13 1.0000000000 ( 0.0135755520 0.2865525484 -0.0642039329 ) + weight 132 3 1.0000000000 ( -0.1538820118 0.3067788482 -0.0564772338 ) + weight 133 3 1.0000000000 ( -0.1495530009 0.2452591062 -0.1284980327 ) + weight 134 12 1.0000000000 ( 0.0911287814 0.0608176850 0.0854393542 ) + weight 135 4 1.0000000000 ( -0.0026890088 0.1482334137 -0.1286133081 ) + weight 136 4 1.0000000000 ( -0.0553100109 0.1402064562 -0.0947723165 ) + weight 137 4 1.0000000000 ( -0.0692200065 0.1349633932 -0.0506333113 ) + weight 138 5 1.0000000000 ( -0.0000050096 1.1117727757 -0.4507312179 ) + weight 139 5 1.0000000000 ( -0.0000050088 1.2243816853 -0.0775632337 ) + weight 140 5 1.0000000000 ( -0.2498860061 1.1327595711 -0.3092742264 ) + weight 141 5 1.0000000000 ( -0.4259700179 0.9609866142 -0.4556492269 ) + weight 142 5 1.0000000000 ( -0.5046010017 0.7150216103 -0.5220972300 ) + weight 143 5 1.0000000000 ( -0.4609000087 0.2964856625 -0.4992172420 ) + weight 144 5 1.0000000000 ( -0.2884420156 -0.0966032743 -0.2449832261 ) + weight 145 5 1.0000000000 ( -0.3387669921 1.1393196583 -0.0777652338 ) + weight 146 5 1.0000000000 ( -0.5802749991 0.9604737759 -0.0781242326 ) + weight 147 5 1.0000000000 ( -0.6948660016 0.7089786530 -0.0778682306 ) + weight 148 5 1.0000000000 ( -0.6434710026 0.2211437225 -0.0741632283 ) + weight 149 5 1.0000000000 ( -0.5243380070 -0.1196773052 -0.0272742324 ) + weight 150 5 1.0000000000 ( -0.2486690134 1.1295747757 0.1535777748 ) + weight 151 5 1.0000000000 ( -0.4240790009 0.9566686153 0.2969137728 ) + weight 152 5 1.0000000000 ( -0.5041199923 0.7030797005 0.3581047654 ) + weight 153 5 1.0000000000 ( -0.3812049925 -0.1297823191 0.3299477696 ) + weight 154 5 1.0000000000 ( -0.0000050081 1.1044816971 0.2957377732 ) + weight 155 5 1.0000000000 ( -0.0000050078 0.9445097446 0.4667787850 ) + weight 156 5 1.0000000000 ( -0.0000050076 0.6810626984 0.5266547203 ) + weight 157 5 1.0000000000 ( -0.0000050077 -0.1461132765 0.4810087681 ) + weight 158 5 1.0000000000 ( -0.0000050099 0.9571917057 -0.6301112771 ) + weight 159 5 1.0000000000 ( -0.0000050101 0.7253117561 -0.7149202824 ) + weight 160 13 1.0000000000 ( 0.0463922694 0.2802905738 0.0442495123 ) + weight 161 14 1.0000000000 ( -0.0833840370 0.1214816272 -0.0192015376 ) + weight 162 14 1.0000000000 ( 0.0629921705 0.0621013753 -0.0109975962 ) + weight 163 14 1.0000000000 ( 0.0078901201 0.1220879331 -0.0677610263 ) + weight 164 14 1.0000000000 ( 0.0586328208 0.0691662431 0.0422012955 ) + weight 165 13 1.0000000000 ( -0.0808355883 0.2192443162 -0.0167186707 ) + weight 166 14 1.0000000000 ( 0.0648868382 -0.0039392030 -0.0091874273 ) + weight 167 14 1.0000000000 ( 0.0605284907 0.0031256306 0.0440113917 ) + weight 168 13 1.0000000000 ( -0.0447062105 0.2124781162 -0.0675421432 ) + weight 169 14 1.0000000000 ( -0.0575735942 0.1254563481 0.0370921977 ) + weight 170 14 1.0000000000 ( 0.0341483578 0.1384596825 0.0277884044 ) + weight 171 14 1.0000000000 ( 0.0385019928 0.1325672269 -0.0181709044 ) + weight 172 14 1.0000000000 ( -0.0512700081 0.1189182997 -0.0701737031 ) + weight 173 14 1.0000000000 ( 0.1303148419 0.0502187163 0.0267068148 ) + weight 174 14 1.0000000000 ( 0.1315677762 0.0174156167 0.0183925666 ) + weight 175 14 1.0000000000 ( -0.0207511429 0.1715090275 0.0257847589 ) + weight 176 14 1.0000000000 ( -0.0038252384 0.1857609302 -0.0151947644 ) + weight 177 14 1.0000000000 ( -0.0400343053 0.1766116321 -0.0305401124 ) + weight 178 21 1.0000000000 ( -0.0002869133 0.2120810598 -0.1354150176 ) + weight 179 23 1.0000000000 ( -0.1234615073 -0.1141351983 0.1194031015 ) + weight 180 23 1.0000000000 ( 0.0467823632 0.0643939823 0.1052294001 ) + weight 181 23 1.0000000000 ( 0.1220394522 -0.1072524711 0.0868532360 ) + weight 182 21 1.0000000000 ( 0.0745377094 0.3067426682 -0.0756031498 ) + weight 183 23 1.0000000000 ( 0.1009945646 -0.0980652645 -0.0031518384 ) + weight 184 23 1.0000000000 ( 0.0983374864 -0.0136448871 -0.0031416886 ) + weight 185 23 1.0000000000 ( 0.0367675237 0.0441700891 -0.0024927855 ) + weight 186 23 1.0000000000 ( -0.1123263314 -0.0187586397 0.0045190910 ) + weight 187 23 1.0000000000 ( -0.1028023362 -0.1044807136 -0.0009608638 ) + weight 188 21 1.0000000000 ( -0.0034821164 0.3057115674 -0.1079403907 ) + weight 189 5 1.0000000000 ( -0.7444339991 0.0751547813 -0.0318212323 ) + weight 190 5 1.0000000000 ( -0.7435020208 0.2530076504 -0.0290212333 ) + weight 191 5 1.0000000000 ( -0.7222260237 0.0878257751 -0.0735782310 ) + weight 192 5 1.0000000000 ( -0.7219840288 0.2373116016 -0.0736612305 ) + weight 193 5 1.0000000000 ( -0.6635960340 0.3325855732 -0.0769592300 ) + weight 194 5 1.0000000000 ( -0.4656029940 0.2647736073 0.3577857614 ) + weight 195 5 1.0000000000 ( -0.0000050076 0.3785226345 0.5495947599 ) + weight 196 5 1.0000000000 ( -0.0000050100 0.3182396889 -0.7015962601 ) + weight 197 4 1.0000000000 ( -0.0000050083 0.1964104176 0.1350407004 ) + weight 198 4 1.0000000000 ( -0.1352310032 0.1694433689 -0.0120103117 ) + weight 199 5 1.0000000000 ( -0.3968610168 0.1162166595 -0.4449752271 ) + weight 200 5 1.0000000000 ( -0.0011740075 0.1602315903 0.6320757270 ) + weight 201 5 1.0000000000 ( -0.0000050099 0.1296665668 -0.6253422499 ) + weight 202 5 1.0000000000 ( -0.3449610174 0.0062596798 -0.3619642258 ) + weight 203 5 1.0000000000 ( -0.5977320075 -0.0077822208 -0.0438172296 ) + weight 204 5 1.0000000000 ( -0.4269320071 -0.0125763416 0.3837057650 ) + weight 205 5 1.0000000000 ( -0.0000050075 -0.0224974155 0.5942327380 ) + weight 206 5 1.0000000000 ( -0.0064530098 0.0034856799 -0.4967412055 ) + weight 207 5 1.0000000000 ( -0.6157209873 0.0642697811 -0.0270992331 ) + weight 208 5 1.0000000000 ( -0.6349800229 0.2593867779 -0.0279122330 ) + weight 209 5 1.0000000000 ( -0.5701000094 0.0105457306 0.0549767688 ) + weight 210 5 1.0000000000 ( -0.6129220128 0.1027877331 0.0184877682 ) + weight 211 5 1.0000000000 ( -0.6128450036 0.2897186279 0.0315487683 ) + weight 212 12 1.0000000000 ( -0.1158716232 0.0201270971 0.0491891019 ) + weight 213 12 1.0000000000 ( 0.0872496739 0.1113573015 0.0637981370 ) + weight 214 3 1.0000000000 ( -0.2141140103 0.1201936603 0.1420764774 ) + weight 215 12 1.0000000000 ( -0.0126306918 0.0874328613 0.0986144468 ) + weight 216 4 1.0000000000 ( 0.0438169912 0.0775594711 -0.1045673117 ) + weight 217 3 1.0000000000 ( 0.2205429971 0.0161442142 0.0847542584 ) + weight 218 4 1.0000000000 ( 0.0449609943 0.0962994099 -0.0204623118 ) + weight 219 18 1.0000000000 ( 0.0011799699 -0.0414329879 -0.0338607319 ) + weight 220 4 1.0000000000 ( -0.0440810099 0.0774574280 -0.1045083106 ) + weight 221 4 1.0000000000 ( -0.0431900062 0.0971654654 -0.0186633114 ) + weight 222 23 1.0000000000 ( -0.0025738224 -0.0590697229 -0.0338284299 ) + weight 223 9 1.0000000000 ( -0.0533952340 0.2892489135 -0.0143909361 ) + weight 224 9 1.0000000000 ( 0.0562215596 0.2561028302 0.0456988700 ) + weight 225 3 1.0000000000 ( -0.1545470059 0.2914696336 0.0549230687 ) + weight 226 13 1.0000000000 ( -0.0580988005 0.2712232769 0.0443733186 ) + weight 227 20 1.0000000000 ( -0.1310398579 0.1583033651 0.1291549206 ) + weight 228 21 1.0000000000 ( 0.0949197859 0.2086136490 -0.0965016410 ) + weight 229 23 1.0000000000 ( 0.1216894090 -0.0001581186 0.1038506329 ) + weight 230 18 1.0000000000 ( -0.0590410009 0.0907540843 0.2211083770 ) + weight 231 5 1.0000000000 ( 0.7708590031 0.1625685692 -0.0736192316 ) + weight 232 5 1.0000000000 ( 0.7953590155 0.1624417305 -0.0258412305 ) + weight 233 5 1.0000000000 ( -0.7936379910 0.1624417305 -0.0258412324 ) + weight 234 5 1.0000000000 ( -0.7691379786 0.1625685692 -0.0736192316 ) + weight 235 5 1.0000000000 ( -0.5859230161 0.1645586491 0.0488767661 ) + weight 236 5 1.0000000000 ( 0.5673360229 0.0094766617 0.0599237718 ) + weight 237 2 1.0000000000 ( 0.2439319938 0.0499284454 0.2035437673 ) + weight 238 3 1.0000000000 ( 0.1861609966 0.0953991860 0.1915709078 ) + weight 239 0 1.0000000000 ( 0.3404839933 0.0529571772 0.1671295166 ) + weight 240 4 1.0000000000 ( 0.0705629960 0.0848673582 -0.0615953095 ) + weight 241 0 1.0000000000 ( 0.1762349904 0.0643042326 0.2256545126 ) + weight 242 17 1.0000000000 ( 0.0680590793 -0.1028278694 -0.0648958981 ) + weight 243 15 1.0000000000 ( 0.1383750886 0.3645852506 -0.0049345810 ) + weight 244 9 1.0000000000 ( 0.0795513690 0.1844145805 -0.0157230105 ) + weight 245 9 1.0000000000 ( 0.0432985425 0.1875272989 -0.0675230026 ) + weight 246 9 1.0000000000 ( -0.0445946343 0.2564639449 0.0450837091 ) + weight 247 3 1.0000000000 ( 0.2126979977 0.1201973557 0.1432525218 ) + weight 248 3 1.0000000000 ( 0.1475549936 0.2980909944 0.0494865850 ) + weight 249 4 1.0000000000 ( 0.0482579879 0.1410723925 -0.1014293134 ) + weight 250 4 1.0000000000 ( 0.0117849912 0.1506624222 -0.0038563106 ) + weight 251 4 1.0000000000 ( 0.0117849912 0.1506624222 -0.0038563106 ) + weight 252 4 1.0000000000 ( 0.0117849912 0.1506624222 -0.0038563106 ) + weight 253 5 1.0000000000 ( 0.5045909882 0.7150216103 -0.5220972300 ) + weight 254 5 1.0000000000 ( 0.6948559880 0.7089786530 -0.0778682306 ) + weight 255 5 1.0000000000 ( 0.6948559880 0.7089786530 -0.0778682306 ) + weight 256 5 1.0000000000 ( 0.5167359710 -0.1222293377 -0.0203252304 ) + weight 257 5 1.0000000000 ( 0.5167359710 -0.1222293377 -0.0203252304 ) + weight 258 5 1.0000000000 ( 0.5041099787 0.7030787468 0.3581047654 ) + weight 259 5 1.0000000000 ( 0.5041099787 0.7030787468 0.3581047654 ) + weight 260 5 1.0000000000 ( 0.4698289931 0.2859137058 0.3518387675 ) + weight 261 5 1.0000000000 ( 0.3811949790 -0.1297823191 0.3299477696 ) + weight 262 4 1.0000000000 ( 0.1325989962 0.1678954363 -0.0169863105 ) + weight 263 4 1.0000000000 ( 0.1325989962 0.1678954363 -0.0169863105 ) + weight 264 10 1.0000000000 ( -0.0002098754 0.0546463765 0.0658383071 ) + weight 265 9 1.0000000000 ( -0.0132750962 0.2916550636 -0.0645581484 ) + weight 266 18 1.0000000000 ( 0.0394554958 0.0885941535 0.0973428190 ) + weight 267 18 1.0000000000 ( -0.1282062978 -0.0032369436 0.0986670703 ) + weight 268 17 1.0000000000 ( -0.0343980715 -0.1179947853 -0.0710503906 ) + weight 269 5 1.0000000000 ( 0.6486669779 0.2471966743 -0.0761172324 ) + weight 270 5 1.0000000000 ( 0.6486669779 0.2471966743 -0.0761172324 ) + weight 271 5 1.0000000000 ( 0.4264929891 -0.0116553307 0.3855787814 ) + weight 272 5 1.0000000000 ( 0.3449510038 0.0062587261 -0.3619642258 ) + weight 273 5 1.0000000000 ( 0.5977219939 -0.0077822208 -0.0438172258 ) + weight 274 5 1.0000000000 ( 0.5977219939 -0.0077822208 -0.0438172258 ) + weight 275 5 1.0000000000 ( 0.6096429825 0.2903735638 0.0331927724 ) + weight 276 5 1.0000000000 ( 0.6096429825 0.2903735638 0.0331927724 ) + weight 277 5 1.0000000000 ( 0.6140149832 0.0971865654 0.0184367709 ) + weight 278 3 1.0000000000 ( 0.1538379937 0.3069235086 -0.0582844801 ) + weight 279 3 1.0000000000 ( -0.1861710101 0.0953991860 0.1915709078 ) + weight 280 2 1.0000000000 ( -0.2537190020 0.0219821762 0.2003624737 ) + weight 281 0 1.0000000000 ( 0.0030679922 0.1357972026 0.2502985001 ) + weight 282 0 1.0000000000 ( -0.3399960101 0.0680472255 0.1706835181 ) + weight 283 4 1.0000000000 ( -0.0000050086 0.1022064686 0.0052606883 ) + weight 284 4 1.0000000000 ( -0.0705730096 0.0848673582 -0.0615953095 ) + weight 285 4 1.0000000000 ( -0.0000050088 0.0721414089 -0.1301623136 ) + weight 286 21 1.0000000000 ( -0.1389897615 0.0231919978 -0.0029347057 ) + weight 287 23 1.0000000000 ( -0.0535812676 0.0499770865 0.0058840741 ) + weight 288 14 1.0000000000 ( -0.0017304621 0.0613811798 0.0646476820 ) + weight 289 13 1.0000000000 ( 0.0555704571 0.2862195969 -0.0049750358 ) + weight 290 13 1.0000000000 ( 0.0135755520 0.2865525484 -0.0642039329 ) + weight 291 3 1.0000000000 ( -0.1538820118 0.3067788482 -0.0564772338 ) + weight 292 4 1.0000000000 ( -0.0026890088 0.1482334137 -0.1286133081 ) + weight 293 4 1.0000000000 ( -0.0553100109 0.1402064562 -0.0947723165 ) + weight 294 4 1.0000000000 ( -0.0553100109 0.1402064562 -0.0947723165 ) + weight 295 4 1.0000000000 ( -0.0553100109 0.1402064562 -0.0947723165 ) + weight 296 4 1.0000000000 ( -0.0692200065 0.1349633932 -0.0506333113 ) + weight 297 4 1.0000000000 ( -0.0692200065 0.1349633932 -0.0506333113 ) + weight 298 5 1.0000000000 ( -0.5046010017 0.7150216103 -0.5220972300 ) + weight 299 5 1.0000000000 ( -0.6948660016 0.7089786530 -0.0778682306 ) + weight 300 5 1.0000000000 ( -0.6948660016 0.7089786530 -0.0778682306 ) + weight 301 5 1.0000000000 ( -0.6434710026 0.2211437225 -0.0741632283 ) + weight 302 5 1.0000000000 ( -0.5243380070 -0.1196773052 -0.0272742324 ) + weight 303 5 1.0000000000 ( -0.5041199923 0.7030797005 0.3581047654 ) + weight 304 5 1.0000000000 ( -0.5041199923 0.7030797005 0.3581047654 ) + weight 305 5 1.0000000000 ( -0.3812049925 -0.1297823191 0.3299477696 ) + weight 306 13 1.0000000000 ( -0.0808355883 0.2192443162 -0.0167186707 ) + weight 307 21 1.0000000000 ( -0.0002869133 0.2120810598 -0.1354150176 ) + weight 308 23 1.0000000000 ( 0.0467823632 0.0643939823 0.1052294001 ) + weight 309 23 1.0000000000 ( 0.1220394522 -0.1072524711 0.0868532360 ) + weight 310 5 1.0000000000 ( -0.6635960340 0.3325855732 -0.0769592300 ) + weight 311 5 1.0000000000 ( -0.6635960340 0.3325855732 -0.0769592300 ) + weight 312 5 1.0000000000 ( -0.4656029940 0.2647736073 0.3577857614 ) + weight 313 4 1.0000000000 ( -0.0000050083 0.1964104176 0.1350407004 ) + weight 314 5 1.0000000000 ( -0.3449610174 0.0062596798 -0.3619642258 ) + weight 315 5 1.0000000000 ( -0.5977320075 -0.0077822208 -0.0438172296 ) + weight 316 5 1.0000000000 ( -0.5977320075 -0.0077822208 -0.0438172296 ) + weight 317 5 1.0000000000 ( -0.5701000094 0.0105457306 0.0549767688 ) + weight 318 5 1.0000000000 ( -0.5701000094 0.0105457306 0.0549767688 ) + weight 319 5 1.0000000000 ( -0.6129220128 0.1027877331 0.0184877682 ) + weight 320 5 1.0000000000 ( -0.6128450036 0.2897186279 0.0315487683 ) + weight 321 5 1.0000000000 ( -0.6128450036 0.2897186279 0.0315487683 ) + weight 322 3 1.0000000000 ( -0.2141140103 0.1201936603 0.1420764774 ) + weight 323 4 1.0000000000 ( 0.0715219900 0.1374104023 -0.0627613142 ) + weight 324 4 1.0000000000 ( 0.0715219900 0.1374104023 -0.0627613142 ) + weight 325 5 1.0000000000 ( 0.6196209788 0.0677487850 -0.0317612290 ) + weight 326 5 1.0000000000 ( 0.6196209788 0.0677487850 -0.0317612290 ) + weight 327 18 1.0000000000 ( -0.1133777350 -0.1069344580 0.0901804268 ) + weight 328 18 1.0000000000 ( 0.1313204467 -0.0760601237 0.0959457457 ) + weight 329 0 1.0000000000 ( -0.1762450039 0.0643051863 0.2256545126 ) + weight 330 5 1.0000000000 ( -0.0000050076 0.6810626984 0.5266547203 ) + weight 331 5 1.0000000000 ( -0.0000050077 -0.1461132765 0.4810087681 ) + weight 332 5 1.0000000000 ( -0.0000050101 0.7253117561 -0.7149202824 ) + weight 333 13 1.0000000000 ( 0.0463922694 0.2802905738 0.0442495123 ) + weight 334 13 1.0000000000 ( -0.0447062105 0.2124781162 -0.0675421432 ) + weight 335 23 1.0000000000 ( -0.1234615073 -0.1141351983 0.1194031015 ) + weight 336 4 1.0000000000 ( -0.1352310032 0.1694433689 -0.0120103117 ) + weight 337 4 1.0000000000 ( -0.1352310032 0.1694433689 -0.0120103117 ) + weight 338 4 1.0000000000 ( -0.1352310032 0.1694433689 -0.0120103117 ) + weight 339 5 1.0000000000 ( -0.4269320071 -0.0125763416 0.3837057650 ) + weight 340 5 1.0000000000 ( -0.0064530098 0.0034856799 -0.4967412055 ) + weight 341 5 1.0000000000 ( -0.6157209873 0.0642697811 -0.0270992331 ) + weight 342 5 1.0000000000 ( -0.6157209873 0.0642697811 -0.0270992331 ) + weight 343 4 1.0000000000 ( 0.0438169912 0.0775594711 -0.1045673117 ) + weight 344 4 1.0000000000 ( 0.0449609943 0.0962994099 -0.0204623118 ) + weight 345 4 1.0000000000 ( 0.0449609943 0.0962994099 -0.0204623118 ) + weight 346 4 1.0000000000 ( -0.0440810099 0.0774574280 -0.1045083106 ) + weight 347 4 1.0000000000 ( -0.0431900062 0.0971654654 -0.0186633114 ) + weight 348 4 1.0000000000 ( -0.0431900062 0.0971654654 -0.0186633114 ) + weight 349 9 1.0000000000 ( -0.0533952340 0.2892489135 -0.0143909361 ) + weight 350 9 1.0000000000 ( 0.0562215596 0.2561028302 0.0456988700 ) + weight 351 3 1.0000000000 ( -0.1545470059 0.2914696336 0.0549230687 ) + weight 352 13 1.0000000000 ( -0.0580988005 0.2712232769 0.0443733186 ) + weight 353 21 1.0000000000 ( 0.0949197859 0.2086136490 -0.0965016410 ) + weight 354 23 1.0000000000 ( 0.1216894090 -0.0001581186 0.1038506329 ) + weight 355 18 1.0000000000 ( -0.0590410009 0.0907540843 0.2211083770 ) + weight 356 5 1.0000000000 ( -0.5859230161 0.1645586491 0.0488767661 ) + weight 357 5 1.0000000000 ( 0.5673360229 0.0094766617 0.0599237718 ) + weight 358 5 1.0000000000 ( 0.5673360229 0.0094766617 0.0599237718 ) + weight 359 5 1.0000000000 ( 0.5673360229 0.0094766617 0.0599237718 ) +} + diff --git a/models/player/player.mtl b/models/player/player.mtl index 1f1ffac..9588830 100644 --- a/models/player/player.mtl +++ b/models/player/player.mtl @@ -1,12 +1,12 @@ -# Blender 3.6.0 MTL File: 'new_player.blend' -# www.blender.org - -newmtl Material.001 -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.450000 -illum 1 -map_Kd NewPlayerModel.psd -map_d NewPlayerModel.psd +# Blender 3.6.0 MTL File: 'new_player.blend' +# www.blender.org + +newmtl Material.001 +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.450000 +illum 1 +map_Kd NewPlayerModel.psd +map_d NewPlayerModel.psd diff --git a/models/player/player.obj b/models/player/player.obj index 977567e..faac9f7 100644 --- a/models/player/player.obj +++ b/models/player/player.obj @@ -1,1301 +1,1301 @@ -# Blender 3.6.0 -# www.blender.org -mtllib player.mtl -o Walter_mesh -v 0.002711 0.011918 0.001927 -v 0.002427 0.011912 -0.001671 -v 0.001655 0.016350 -0.001281 -v 0.001965 0.014258 -0.001613 -v 0.002812 0.012004 0.000044 -v 0.002278 0.014729 0.001859 -v 0.002485 0.013658 -0.000271 -v 0.003107 0.010181 -0.001863 -v 0.000516 0.004719 -0.000148 -v 0.000832 0.005994 0.001938 -v 0.003473 0.008149 0.001627 -v 0.003501 0.010134 -0.000061 -v 0.000520 0.005059 0.000930 -v 0.003448 0.008110 -0.001676 -v 0.003950 0.008140 0.000027 -v 0.000996 0.017429 -0.000437 -v 0.001502 0.012038 0.002646 -v 0.000386 0.017158 0.000911 -v 0.000851 0.014953 0.002413 -v 0.001207 0.012308 -0.002222 -v 0.001700 0.010262 -0.002564 -v 0.001820 0.008556 -0.002506 -v 0.001836 0.008289 0.002222 -v 0.001592 0.006436 -0.001898 -v 0.001641 0.002233 -0.000735 -v 0.000743 0.003522 0.001849 -v 0.005245 0.010990 -0.000084 -v 0.005572 0.011316 0.000349 -v 0.002266 0.014507 -0.001288 -v 0.004552 0.010455 0.001206 -v 0.002508 0.014988 0.001364 -v 0.001837 0.016823 0.000556 -v 0.000759 0.018017 -0.000787 -v 0.000467 0.018065 0.000216 -v 0.002953 0.032064 -0.002095 -v 0.004659 0.030471 -0.003753 -v 0.005399 0.028075 -0.004660 -v 0.004948 0.023954 -0.004807 -v 0.003200 0.019760 -0.002599 -v 0.003896 0.031905 0.000194 -v 0.006287 0.030100 -0.000032 -v 0.007402 0.027584 -0.000289 -v 0.005530 0.019273 -0.000441 -v 0.003047 0.031604 0.002510 -v 0.004811 0.029731 0.003735 -v 0.005594 0.027141 0.004091 -v 0.005197 0.022997 0.003652 -v 0.004255 0.018888 0.003071 -v 0.001667 0.018219 0.000008 -v 0.001018 0.017954 -0.000421 -v 0.006310 0.008702 0.001023 -v 0.005752 0.008475 0.001171 -v 0.005043 0.009091 0.001341 -v 0.005516 0.009576 0.002076 -v 0.005099 0.009252 0.001972 -v 0.005246 0.010122 0.001819 -v 0.004829 0.009798 0.001715 -v 0.005735 0.010599 0.001279 -v 0.005896 0.008252 0.001710 -v 0.005567 0.008674 0.002061 -v 0.006424 0.009189 0.001907 -v 0.005926 0.008954 0.002157 -v 0.006630 0.009058 0.001390 -v 0.004917 0.009688 0.002563 -v 0.004861 0.010003 0.002455 -v 0.006245 0.008377 0.001991 -v 0.006466 0.008422 0.001657 -v 0.000742 0.001126 0.000705 -v 0.001253 0.001975 0.001628 -v 0.003096 0.001915 0.001122 -v 0.002659 0.002271 -0.000538 -v 0.002504 0.001238 -0.000516 -v 0.002931 0.000994 0.000086 -v 0.002825 0.000939 0.000922 -v 0.002191 0.000993 0.001530 -v 0.001321 0.000992 0.001338 -v 0.000911 0.001124 -0.000162 -v 0.001675 0.001279 -0.000672 -v 0.007832 0.021199 -0.000415 -v 0.007833 0.022981 -0.000252 -v 0.007599 0.021393 -0.000826 -v 0.007615 0.022881 -0.000689 -v 0.006883 0.022989 -0.000687 -v 0.004265 0.022053 -0.004419 -v 0.004735 0.020008 0.003723 -v 0.003751 0.020886 -0.003682 -v 0.006349 0.020426 -0.000588 -v 0.006580 0.021165 -0.000404 -v 0.006656 0.023081 -0.000132 -v 0.006523 0.023322 0.000450 -v 0.006539 0.021412 0.000124 -v 0.003190 0.001901 0.000076 -v 0.000746 0.002125 -0.000182 -v 0.001810 0.016954 -0.000519 -v -0.002265 0.012054 -0.001416 -v -0.001710 0.014351 -0.001356 -v -0.002457 0.012164 0.000331 -v -0.001430 0.014839 0.002185 -v 0.000329 0.012424 0.002776 -v 0.000170 0.016641 -0.001434 -v -0.002957 0.010366 -0.001737 -v -0.000568 0.005165 -0.001355 -v -0.002266 0.011791 0.002157 -v 0.000121 0.009037 0.002487 -v 0.000009 0.005507 0.001192 -v -0.003327 0.008445 0.001697 -v -0.003277 0.010341 0.000080 -v -0.000278 0.004988 -0.000082 -v 0.000131 0.010430 -0.002609 -v -0.000003 0.005547 -0.001396 -v 0.000080 0.005349 0.000805 -v 0.000056 0.008584 -0.002706 -v -0.003824 0.008210 0.000037 -v -0.003331 0.008245 -0.001645 -v 0.000022 0.006853 -0.002042 -v 0.001355 0.006618 0.001852 -v 0.000344 0.017579 0.000289 -v -0.000412 0.017458 -0.000336 -v 0.000240 0.017355 -0.001076 -v -0.001116 0.012390 -0.002086 -v -0.000476 0.014949 0.002434 -v -0.001577 0.010362 -0.002495 -v -0.000884 0.012096 0.002771 -v -0.001704 0.008631 -0.002490 -v -0.001688 0.008364 0.002238 -v -0.001508 0.006566 -0.001901 -v -0.001417 0.006433 0.001777 -v -0.000297 0.003403 -0.000439 -v -0.000595 0.000609 -0.000278 -v -0.004606 0.009662 0.002407 -v -0.004707 0.011100 0.002219 -v -0.005337 0.011126 0.001859 -v -0.001253 0.017042 -0.000231 -v -0.001292 0.016456 -0.000976 -v -0.001858 0.013965 0.001372 -v 0.000234 0.018115 -0.001017 -v -0.000269 0.018026 -0.000646 -v -0.000378 0.017952 -0.000200 -v 0.000421 0.032011 -0.003463 -v 0.000520 0.032787 0.000356 -v -0.002042 0.032115 -0.001976 -v -0.003858 0.030559 -0.003549 -v -0.004690 0.028179 -0.004419 -v -0.004300 0.023986 -0.004588 -v -0.002567 0.019819 -0.002461 -v -0.002877 0.031975 0.000356 -v -0.005314 0.030220 0.000245 -v -0.006491 0.027727 0.000043 -v -0.006037 0.022862 -0.000383 -v -0.004878 0.019412 -0.000259 -v -0.001925 0.031655 0.002628 -v -0.003667 0.029819 0.003938 -v -0.004485 0.027246 0.004332 -v -0.003367 0.018966 0.003254 -v 0.000590 0.031248 0.003961 -v 0.000609 0.029497 0.005516 -v 0.000590 0.026818 0.005869 -v 0.000476 0.018625 0.004651 -v 0.000360 0.030638 -0.005391 -v 0.000312 0.028408 -0.006449 -v -0.004258 0.010891 0.002123 -v -0.005759 0.009138 0.002050 -v -0.005156 0.010309 0.002926 -v -0.006005 0.009812 0.002794 -v -0.004707 0.010012 0.002943 -v -0.004868 0.010937 0.000712 -v -0.004899 0.010803 0.002570 -v -0.004450 0.010506 0.002587 -v -0.005228 0.011387 0.000960 -v -0.005206 0.009009 0.002300 -v -0.005139 0.009429 0.003128 -v -0.005526 0.009687 0.003119 -v -0.006144 0.009538 0.002287 -v -0.004625 0.010591 0.003424 -v -0.004581 0.010877 0.003248 -v -0.005394 0.008905 0.002860 -v -0.005781 0.009058 0.003070 -v -0.005966 0.009001 0.002716 -v -0.001545 0.001859 -0.002258 -v -0.000522 0.001731 -0.002068 -v -0.001469 0.001615 0.000211 -v -0.002791 0.001436 -0.001118 -v -0.002197 0.000719 -0.001960 -v -0.002571 0.000533 -0.001102 -v -0.002242 0.000535 -0.000324 -v -0.001460 0.000536 -0.000006 -v -0.000295 0.000586 -0.001130 -v -0.000693 0.000530 -0.001895 -v -0.001428 0.000890 -0.002264 -v -0.007055 0.021379 -0.000072 -v -0.007023 0.023147 0.000120 -v -0.006841 0.021542 -0.000481 -v -0.006820 0.023030 -0.000344 -v -0.006225 0.023976 -0.000303 -v -0.004155 0.022878 0.003915 -v 0.000557 0.023785 0.005818 -v 0.000264 0.024343 -0.006693 -v 0.000459 0.018446 0.001633 -v -0.001000 0.018288 0.000252 -v -0.003670 0.022135 -0.004230 -v 0.000537 0.021535 0.006438 -v 0.000258 0.022395 -0.006108 -v -0.003146 0.020958 -0.003517 -v -0.005602 0.020549 -0.000303 -v -0.003797 0.020088 0.003908 -v 0.000518 0.019751 0.005892 -v 0.000207 0.021020 -0.004942 -v -0.005769 0.021253 -0.000066 -v -0.005937 0.023199 0.000111 -v -0.005300 0.020638 0.000691 -v -0.005725 0.021594 0.000423 -v -0.005698 0.023443 0.000726 -v -0.001574 0.014568 -0.000662 -v -0.002341 0.013725 0.001257 -v -0.001743 0.015115 0.001726 -v -0.001783 0.013707 0.000327 -v 0.000697 0.017386 -0.000850 -v 0.002502 0.013971 0.000735 -v 0.000773 0.017525 -0.000003 -v 0.001850 0.000715 0.000357 -v -0.000180 0.017403 -0.000786 -v -0.000105 0.017551 0.000079 -v -0.001468 0.000215 -0.001109 -v 0.005153 0.010493 0.001532 -v 0.004903 0.010167 0.000306 -v -0.001168 0.016844 0.000872 -v -0.004450 0.010413 0.001209 -v -0.000688 0.005142 0.001251 -v -0.002488 0.001697 -0.001879 -v -0.002400 0.001609 -0.000121 -v 0.002278 0.003132 0.001966 -v 0.008094 0.022132 -0.000769 -v 0.008350 0.022084 -0.000300 -v -0.007535 0.022248 0.000080 -v -0.007301 0.022291 -0.000401 -v -0.005441 0.022178 0.000776 -v 0.006071 0.020505 0.000467 -vn 0.2150 0.1882 -0.9583 -vn -0.0199 0.1104 -0.9937 -vn -0.0720 0.3825 -0.9212 -vn 0.9636 0.2533 -0.0855 -vn 0.7939 0.1372 0.5923 -vn 0.9675 0.2522 -0.0208 -vn 0.7747 0.6156 -0.1448 -vn 0.6553 0.6972 -0.2905 -vn 0.4993 0.3509 -0.7922 -vn -0.0114 -0.9971 -0.0749 -vn -0.7591 -0.6491 -0.0494 -vn -0.4822 -0.5435 -0.6870 -vn 0.2112 0.3641 0.9071 -vn 0.0774 0.7398 0.6683 -vn -0.1365 0.3670 0.9201 -vn 0.4319 -0.3909 0.8128 -vn 0.7626 0.2988 0.5737 -vn 0.7020 0.2548 0.6651 -vn 0.1856 -0.6462 0.7402 -vn -0.4074 -0.2496 0.8785 -vn -0.4100 -0.6851 0.6022 -vn -0.0590 0.2980 -0.9528 -vn 0.5956 0.6938 0.4049 -vn -0.0509 -0.9908 -0.1251 -vn 0.3698 -0.4963 -0.7855 -vn 0.6770 -0.6758 -0.2915 -vn 0.2830 0.0212 0.9589 -vn 0.0092 -0.1595 0.9872 -vn 0.2343 -0.1683 0.9575 -vn 0.0382 0.5917 0.8053 -vn -0.4874 0.5886 0.6449 -vn -0.5738 0.4023 -0.7134 -vn -0.8063 0.2726 -0.5249 -vn -0.8387 0.0089 -0.5446 -vn 0.5721 0.1190 -0.8115 -vn 0.7518 0.2625 -0.6049 -vn 0.6557 0.5345 0.5332 -vn 0.5933 -0.0754 -0.8014 -vn 0.3438 -0.7111 -0.6133 -vn -0.0446 -0.2818 0.9584 -vn 0.3810 -0.4481 0.8088 -vn -0.1496 -0.3088 0.9393 -vn -0.5410 -0.6303 0.5568 -vn 0.0127 0.9949 0.1001 -vn 0.4702 0.8791 0.0779 -vn 0.3288 0.9038 -0.2740 -vn 0.2968 -0.7579 -0.5810 -vn 0.5928 -0.7835 -0.1864 -vn 0.4579 -0.5113 -0.7273 -vn 0.6962 -0.7176 -0.0190 -vn 0.2061 -0.9653 0.1606 -vn -0.0054 -0.9895 0.1444 -vn 0.1418 -0.7151 0.6845 -vn -0.0319 -0.7008 -0.7127 -vn -0.6330 -0.5258 -0.5682 -vn -0.3379 -0.7495 -0.5693 -vn 0.0229 0.7864 0.6173 -vn 0.3419 0.8316 0.4377 -vn -0.4654 -0.8119 0.3525 -vn 0.0019 -0.8704 0.4923 -vn -0.6806 -0.3586 0.6389 -vn 0.0206 -0.0189 0.9996 -vn -0.7108 -0.0775 0.6991 -vn 0.6327 -0.7105 0.3079 -vn -0.8032 -0.5804 -0.1343 -vn -0.2624 -0.7941 -0.5482 -vn -0.2238 -0.9720 0.0715 -vn -0.9719 0.0179 0.2346 -vn -0.4437 0.6090 0.6575 -vn 0.0383 0.6979 0.7152 -vn -0.3587 -0.5313 -0.7675 -vn -0.6571 -0.5318 0.5342 -vn -0.8136 -0.5578 0.1639 -vn -0.8738 -0.1200 -0.4713 -vn -0.6491 -0.5808 -0.4912 -vn 0.3442 0.2093 0.9153 -vn -0.2867 -0.2036 0.9361 -vn 0.4075 -0.6272 0.6638 -vn 0.7642 -0.6449 0.0065 -vn 0.8496 -0.3968 0.3475 -vn 0.8151 -0.5373 -0.2165 -vn 0.5129 -0.5647 -0.6466 -vn -0.5624 -0.1007 0.8207 -vn -0.1542 -0.4687 -0.8698 -vn 0.8589 -0.1972 0.4727 -vn 0.9418 -0.1738 -0.2876 -vn 0.7478 -0.0102 0.6638 -vn 0.2358 -0.1110 0.9654 -vn -0.5115 0.2482 0.8227 -vn 0.9792 -0.1865 -0.0797 -vn 0.9697 0.2133 -0.1188 -vn -0.6111 0.3807 -0.6940 -vn 0.0226 0.4722 -0.8812 -vn 0.4749 0.0811 -0.8763 -vn -0.7537 -0.1562 0.6384 -vn -0.6794 -0.6073 -0.4119 -vn -0.9260 0.3775 -0.0047 -vn 0.7428 -0.0892 0.6636 -vn 0.0251 0.0767 0.9967 -vn -0.4863 -0.5920 -0.6427 -vn -0.2227 -0.9680 0.1157 -vn -0.0987 0.3797 0.9198 -vn -0.1766 -0.1766 -0.9683 -vn 0.1097 -0.3459 -0.9318 -vn 0.4442 0.3817 -0.8105 -vn -0.6499 0.7416 -0.1661 -vn -0.7837 0.6170 -0.0718 -vn -0.0120 -0.1486 -0.9888 -vn -0.3013 0.1522 -0.9413 -vn -0.7296 0.1702 0.6623 -vn -0.9524 0.3037 0.0247 -vn -0.5568 0.2899 0.7784 -vn -0.2115 -0.1770 0.9612 -vn -0.7506 -0.0453 0.6591 -vn -0.4923 0.7154 0.4958 -vn 0.6996 -0.3728 0.6096 -vn 0.0159 -0.4829 0.8755 -vn 0.9599 -0.2723 -0.0661 -vn 0.9977 -0.0165 0.0659 -vn -0.0012 0.8985 -0.4390 -vn -0.3228 0.9105 -0.2584 -vn -0.7758 -0.5873 0.2308 -vn 0.0218 -0.0874 0.9959 -vn -0.0528 -0.1639 -0.9851 -vn 0.7252 -0.2308 -0.6487 -vn 0.6821 -0.0300 -0.7306 -vn -0.8611 -0.3926 0.3231 -vn 0.6344 -0.5368 0.5563 -vn -0.5949 0.3388 0.7289 -vn -0.7937 0.3394 0.5048 -vn -0.2280 0.2270 0.9468 -vn -0.4546 0.3859 0.8027 -vn -0.3034 0.8382 0.4531 -vn -0.4477 0.8886 0.0998 -vn -0.6220 -0.7650 -0.1668 -vn -0.7285 0.5975 0.3351 -vn -0.0230 0.5596 0.8284 -vn 0.4392 -0.2625 0.8592 -vn 0.8391 -0.5363 0.0912 -vn 0.6325 -0.3215 0.7047 -vn -0.8128 -0.1248 0.5690 -vn -0.8421 0.3318 -0.4253 -vn 0.3769 -0.8716 -0.3134 -vn 0.4283 -0.6642 -0.6127 -vn 0.9441 0.1505 0.2933 -vn 0.8316 -0.5550 -0.0197 -vn 0.4421 -0.6468 -0.6214 -vn -0.3793 -0.6818 -0.6255 -vn -0.7101 -0.6982 0.0910 -vn -0.9748 -0.0606 -0.2145 -vn 0.5604 0.1218 0.8192 -vn -0.4314 -0.4935 0.7552 -vn 0.2819 -0.9019 0.3272 -vn 0.1930 0.0522 0.9798 -vn 0.0535 -0.3590 -0.9318 -vn 0.5968 -0.5806 0.5538 -vn -0.0869 0.0143 -0.9961 -vn -0.0007 -0.6360 0.7717 -vn -0.3079 0.2129 -0.9273 -vn -0.7328 -0.1683 0.6593 -vn 0.9997 0.0222 -0.0058 -vn 0.5395 -0.0339 0.8413 -vn 0.8767 -0.0104 0.4809 -vn -0.6321 0.6857 0.3609 -vn -0.8841 -0.0403 0.4656 -vn -0.6702 -0.7153 0.1980 -vn -0.0642 0.4731 -0.8787 -vn -0.8866 0.4347 -0.1579 -vn -0.5099 0.0841 -0.8561 -vn -0.5041 -0.0479 0.8623 -vn -0.8393 -0.3733 0.3952 -vn -0.8505 -0.0138 0.5258 -vn -0.9937 -0.1120 -0.0062 -vn -0.9739 -0.1971 -0.1124 -vn -0.5659 -0.5635 -0.6019 -vn -0.8418 -0.5079 -0.1830 -vn -0.5447 0.5026 0.6713 -vn -0.0616 -0.9309 0.3600 -vn 0.0539 0.0358 0.9979 -vn -0.1118 -0.5265 -0.8428 -vn 0.1523 -0.7112 -0.6863 -vn -0.8785 -0.4119 -0.2420 -vn 0.2704 0.1164 -0.9557 -vn 0.1805 -0.7113 0.6793 -vn 0.2555 -0.1430 -0.9562 -vn 0.5503 -0.4229 -0.7199 -vn -0.0238 -0.4523 -0.8915 -vn 0.7651 0.2095 -0.6089 -vn 0.7592 -0.0820 -0.6457 -vn -0.0125 -0.3479 -0.9374 -vn -0.6878 -0.1522 -0.7098 -vn -0.0250 -0.1279 -0.9915 -vn -0.7017 -0.0788 -0.7081 -vn -0.7664 -0.0088 -0.6423 -vn -0.1818 0.0237 0.9831 -vn -0.2739 -0.1203 -0.9542 -vn 0.6541 -0.1603 -0.7392 -vn -0.0211 0.2363 -0.9715 -vn 0.6822 0.2013 -0.7029 -vn 0.7127 0.2665 0.6489 -vn 0.1281 0.0121 0.9917 -vn 0.8091 0.5861 0.0427 -vn 0.5659 0.6241 -0.5387 -vn -0.5780 0.6359 -0.5113 -vn -0.0120 0.6314 -0.7753 -vn -0.6679 0.0910 0.7387 -vn 0.0252 0.0450 0.9987 -vn 0.9906 0.1368 -0.0091 -vn 0.4659 -0.8213 0.3292 -vn 0.4346 -0.6111 -0.6616 -vn 0.7050 0.0744 0.7053 -vn 0.6464 0.5274 0.5514 -vn 0.8815 0.4131 -0.2287 -vn 0.9921 0.0654 -0.1068 -vn 0.5014 -0.4786 -0.7208 -vn 0.4802 -0.0437 -0.8761 -vn -0.4917 -0.4970 0.7150 -vn 0.6585 0.6788 0.3250 -vn 0.5204 -0.1486 -0.8409 -vn 0.6521 -0.7365 0.1800 -vn 0.1035 -0.3765 -0.9206 -vn 0.5865 0.4909 0.6443 -vn 0.0260 0.4254 0.9047 -vn -0.5937 -0.4108 -0.6919 -vn -0.7097 0.2164 -0.6704 -vn -0.7939 0.6027 0.0810 -vn -0.7959 0.3452 -0.4974 -vn -0.7751 0.2527 -0.5792 -vn -0.9994 0.0207 0.0290 -vn -0.6707 -0.2565 0.6960 -vn -0.9865 0.1593 0.0382 -vn -0.1654 0.8421 0.5133 -vn 0.3195 0.7880 0.5262 -vn -0.3483 -0.2774 -0.8954 -vn -0.9792 -0.1999 -0.0351 -vn -0.1529 -0.3812 -0.9118 -vn 0.9068 -0.0441 0.4193 -vt 0.629060 0.876305 -vt 0.628404 0.875137 -vt 0.653278 0.884793 -vt 0.627075 0.876251 -vt 0.626367 0.875560 -vt 0.627417 0.875533 -vt 0.584486 0.985833 -vt 0.616762 0.904100 -vt 0.695503 0.970695 -vt 0.124545 0.125055 -vt 0.095744 0.110583 -vt 0.114422 0.095722 -vt 0.892330 0.870605 -vt 0.876555 0.958136 -vt 0.834870 0.871159 -vt 0.625336 0.877260 -vt 0.623231 0.877359 -vt 0.623436 0.876237 -vt 0.094619 0.113545 -vt 0.096641 0.053110 -vt 0.115915 0.099360 -vt 0.745113 0.918987 -vt 0.976774 0.889047 -vt 0.940190 0.957434 -vt 0.961936 0.871149 -vt 0.127542 0.128052 -vt 0.140022 0.159773 -vt 0.113853 0.157840 -vt 0.926236 0.771150 -vt 0.875697 0.658552 -vt 0.938757 0.632334 -vt 0.875697 0.989612 -vt 0.853924 0.994399 -vt 0.644468 0.865626 -vt 0.631934 0.872711 -vt 0.631714 0.871554 -vt 0.629469 0.879285 -vt 0.628012 0.876275 -vt 0.898251 0.994165 -vt 0.960703 0.997878 -vt 0.628498 0.879987 -vt 0.626794 0.877857 -vt 0.627692 0.874757 -vt 0.627618 0.874797 -vt 0.627557 0.874703 -vt 0.092864 0.135745 -vt 0.626874 0.628623 -vt 0.666192 0.612314 -vt 0.666039 0.643388 -vt 0.417211 0.549304 -vt 0.406659 0.518588 -vt 0.445907 0.544781 -vt 0.446005 0.537646 -vt 0.211510 0.620724 -vt 0.257426 0.572685 -vt 0.255312 0.619310 -vt 0.422216 0.583984 -vt 0.461766 0.558959 -vt 0.456897 0.588990 -vt 0.609129 0.585243 -vt 0.643990 0.590665 -vt 0.167620 0.648342 -vt 0.253657 0.566811 -vt 0.252621 0.655535 -vt 0.142593 0.677043 -vt 0.246003 0.717250 -vt 0.132254 0.742502 -vt 0.097060 0.139235 -vt 0.358013 0.112941 -vt 0.378546 0.110867 -vt 0.380036 0.115400 -vt 0.348392 0.145167 -vt 0.372365 0.137981 -vt 0.381922 0.164133 -vt 0.350536 0.064183 -vt 0.370708 0.128195 -vt 0.141006 0.095092 -vt 0.200809 0.102224 -vt 0.157748 0.115054 -vt 0.381004 0.132200 -vt 0.372269 0.135894 -vt 0.382154 0.116526 -vt 0.383359 0.114739 -vt 0.064661 0.265068 -vt 0.121911 0.260287 -vt 0.103858 0.316608 -vt 0.177159 0.019169 -vt 0.158097 0.140518 -vt 0.627625 0.874965 -vt 0.627629 0.874973 -vt 0.627384 0.875123 -vt 0.627618 0.874956 -vt 0.627589 0.874876 -vt 0.627630 0.874955 -vt 0.018618 0.084922 -vt 0.109473 0.438606 -vt 0.069597 0.430501 -vt 0.741444 0.847382 -vt 0.625836 0.878862 -vt 0.064259 0.379388 -vt 0.064978 0.366420 -vt 0.627428 0.871563 -vt 0.628978 0.872019 -vt 0.628135 0.873423 -vt 0.364434 0.748935 -vt 0.246003 0.765954 -vt 0.448320 0.601887 -vt 0.300331 0.623593 -vt 0.617284 0.883369 -vt 0.625836 0.878863 -vt 0.627641 0.874964 -vt 0.627640 0.874959 -vt 0.627778 0.875020 -vt 0.634529 0.893125 -vt 0.638847 0.845287 -vt 0.668233 0.762908 -vt 0.628054 0.875006 -vt 0.628388 0.874736 -vt 0.627204 0.873583 -vt 0.627920 0.874189 -vt 0.625383 0.871042 -vt 0.627436 0.874544 -vt 0.627622 0.874463 -vt 0.809658 0.957074 -vt 0.349442 0.677226 -vt 0.246003 0.680718 -vt 0.627686 0.874836 -vt 0.627701 0.874782 -vt 0.644708 0.672220 -vt 0.609287 0.666604 -vt 0.444313 0.653002 -vt 0.441388 0.598876 -vt 0.488130 0.601166 -vt 0.627481 0.874893 -vt 0.627858 0.874814 -vt 0.627748 0.874847 -vt 0.627711 0.874770 -vt 0.627666 0.874892 -vt 0.627641 0.874944 -vt 0.791636 0.997469 -vt 0.628045 0.871279 -vt 0.625993 0.870067 -vt 0.362075 0.118353 -vt 0.367060 0.120569 -vt 0.368293 0.131712 -vt 0.588062 0.613544 -vt 0.587398 0.644546 -vt 0.180190 0.571646 -vt 0.078263 0.603592 -vt 0.133548 0.546839 -vt 0.628915 0.870641 -vt 0.628916 0.870642 -vt 0.624494 0.860385 -vt 0.370967 0.118840 -vt 0.385885 0.113299 -vt 0.378589 0.127706 -vt 0.139997 0.740593 -vt 0.065192 0.695694 -vt 0.161065 0.678202 -vt 0.628925 0.870627 -vt 0.370753 0.110376 -vt 0.423172 0.013353 -vt 0.400905 0.144679 -vt 0.156267 0.141233 -vt 0.155932 0.114871 -vt 0.196074 0.096997 -vt 0.365027 0.109303 -vt 0.365938 0.114250 -vt 0.360704 0.113012 -vt 0.469922 0.206333 -vt 0.367144 0.116038 -vt 0.369258 0.114908 -vt 0.377026 0.135407 -vt 0.139350 0.094789 -vt 0.231244 0.172740 -vt 0.135804 0.159843 -vt 0.627715 0.874765 -vt 0.110571 0.152780 -vt 0.629681 0.874688 -vt 0.625832 0.878859 -vt 0.625834 0.878862 -vt 0.627532 0.875215 -vt 0.446959 0.566848 -vt 0.420947 0.649460 -vt 0.427083 0.522414 -vt 0.057517 0.385463 -vt 0.059493 0.370775 -vt 0.060466 0.357303 -vt 0.067590 0.384749 -vt 0.080992 0.432409 -vt 0.066050 0.371561 -vt 0.016655 0.327416 -vt 0.047632 0.274354 -vt 0.054886 0.743944 -vt 0.024153 0.442457 -vt 0.110929 0.494889 -vt 0.123185 0.413696 -vt 0.093743 0.309490 -vt 0.462074 0.646293 -vt 0.447565 0.565272 -vt 0.473889 0.590729 -vt 0.468573 0.520686 -vt 0.103367 0.254861 -vt 0.450661 0.747976 -vt 0.015054 0.433813 -vt 0.552003 0.600558 -vt 0.398114 0.556631 -vt 0.344537 0.551692 -vt 0.390819 0.509409 -vt 0.627677 0.874864 -vt 0.627285 0.874947 -vt 0.627313 0.874728 -vt 0.581677 0.907221 -vt 0.875697 0.782508 -vt 0.425797 0.551063 -vt 0.440095 0.510415 -vt 0.398479 0.611069 -vt 0.389436 0.650653 -vt 0.345044 0.618865 -vt 0.627752 0.874892 -vt 0.627719 0.874924 -vt 0.628128 0.875428 -vt 0.627583 0.874829 -vt 0.627919 0.875195 -vt 0.393315 0.564694 -vt 0.412114 0.594087 -vt 0.627804 0.875540 -vt 0.627699 0.875238 -vt 0.627862 0.874934 -vt 0.381198 0.574872 -vt 0.434229 0.628469 -vt 0.400922 0.605278 -vt 0.977090 0.769013 -vt 0.999030 0.635651 -vt 0.627715 0.874759 -vt 0.627938 0.874598 -vt 0.478679 0.540567 -vt 0.825106 0.770608 -vt 0.812637 0.632334 -vt 0.628076 0.874774 -vt 0.377201 0.572247 -vt 0.377833 0.628368 -vt 0.347180 0.593406 -vt 0.375988 0.678983 -vt 0.368944 0.740095 -vt 0.382961 0.681614 -vt 0.387282 0.118884 -vt 0.382237 0.121057 -vt 0.704161 0.596264 -vt 0.748357 0.670212 -vt 0.702775 0.655986 -vt 0.100610 0.195217 -vt 0.056106 0.159344 -vt 0.674631 0.745369 -vt 0.591911 0.701337 -vt 0.656758 0.701677 -vt 0.128110 0.844231 -vt 0.246003 0.831314 -vt 0.420553 0.654590 -vt 0.317842 0.551439 -vt 0.427113 0.605689 -vt 0.337919 0.650734 -vt 0.327005 0.573439 -vt 0.365797 0.529197 -vt 0.379872 0.524316 -vt 0.404314 0.557881 -vt 0.373200 0.851469 -vt 0.451642 0.554559 -vt 0.363896 0.844231 -vt 0.364071 0.692190 -vt 0.470471 0.857323 -vt 0.401829 0.672138 -vt 0.430134 0.145068 -vt 0.625834 0.878863 -vt 0.625832 0.878896 -vt 0.388593 0.113501 -vt 0.384266 0.109800 -vt 0.402262 0.064958 -vt 0.391027 0.242210 -vt 0.279375 0.206821 -vt 0.378330 0.119328 -vt 0.192979 0.159149 -vt 0.054437 0.377823 -vt 0.627637 0.874969 -vt 0.062532 0.351207 -vt 0.070939 0.355367 -vt 0.660611 0.556130 -vt 0.026363 0.309977 -vt 0.577969 0.509071 -vt 0.597501 0.556817 -vt 0.682896 0.512709 -vt 0.441507 0.612886 -vt 0.391658 0.519698 -vt 0.246003 0.644169 -vt 0.569368 0.743431 -vt 0.549067 0.659708 -vt 0.155310 0.199942 -vt 0.625850 0.878881 -vt 0.628857 0.874021 -vt 0.628216 0.874439 -vt 0.627795 0.874513 -vt 0.614344 0.820225 -vt 0.443960 0.572803 -vt 0.789458 0.871149 -vt 0.772781 0.758523 -vt 0.752363 0.635651 -vt 0.505674 0.585205 -vt 0.774619 0.889047 -vt 0.627704 0.874753 -vt 0.628914 0.870641 -vt 0.155067 0.058040 -vt 0.487993 0.600257 -vt 0.481885 0.626329 -vt 0.474131 0.649034 -vt 0.412795 0.659021 -vt 0.477885 0.637754 -vt 0.080623 0.648200 -vt 0.003758 0.852169 -vt 0.011371 0.741014 -vt 0.336245 0.962753 -vt 0.401964 0.648043 -vt 0.487398 0.863823 -vt 0.367375 0.163644 -vt 0.376927 0.137497 -vt 0.319163 0.144580 -vt 0.347036 0.064472 -vt 0.059381 0.095416 -vt 0.358270 0.241722 -vt 0.627700 0.874765 -vt 0.052427 0.150861 -vt 0.090075 0.196859 -vt 0.069884 0.359319 -vt 0.486503 0.614543 -vt 0.628925 0.870640 -vt 0.058982 0.364431 -vt 0.746986 0.577758 -vt 0.491581 0.748183 -vt 0.496093 0.859730 -vt 0.360538 0.747248 -vt 0.436631 0.097947 -vt 0.456179 0.638060 -vt 0.343737 0.680950 -vt 0.342794 0.645562 -vt 0.149212 0.645562 -vt 0.505549 0.676522 -vt 0.627712 0.874750 -vt 0.454762 0.688359 -vt 0.126714 0.847652 -vt 0.312671 0.097460 -vt 0.098149 0.053780 -vt 0.050510 0.633658 -s 1 -usemtl Material.001 -f 20/1/1 109/2/2 100/3/3 -f 5/4/4 1/5/5 12/6/6 -f 16/7/7 94/8/8 217/9/9 -f 223/10/10 184/11/11 183/12/12 -f 19/13/13 18/14/14 121/15/15 -f 218/16/16 31/17/17 6/18/18 -f 75/19/19 69/20/20 76/21/21 -f 100/3/3 119/22/22 217/9/9 -f 31/23/17 32/24/23 6/25/18 -f 220/26/24 72/27/25 73/28/26 -f 218/16/16 6/18/18 1/5/5 -f 17/29/27 104/30/28 23/31/29 -f 18/14/14 117/32/30 222/33/31 -f 134/34/32 96/35/33 213/36/34 -f 20/1/1 4/37/35 2/38/36 -f 219/39/37 32/24/23 94/40/8 -f 29/41/38 7/42/39 4/37/35 -f 181/43/40 228/44/41 127/45/42 -f 223/10/10 185/46/43 184/11/11 -f 140/47/44 40/48/45 35/49/46 -f 39/50/47 43/51/48 33/52/49 -f 50/53/50 33/52/49 43/51/48 -f 49/54/51 198/55/52 34/56/53 -f 207/57/54 137/58/55 145/59/56 -f 140/47/44 155/60/57 44/61/58 -f 154/62/59 198/63/52 158/64/60 -f 205/65/61 201/66/62 195/67/63 -f 220/26/24 73/28/26 74/68/64 -f 53/69/65 52/70/66 59/71/67 -f 57/72/68 65/73/69 56/74/70 -f 52/70/66 53/69/65 225/75/71 -f 53/69/65 55/76/72 57/72/68 -f 68/77/73 93/78/74 77/79/75 -f 54/80/76 64/81/77 55/76/72 -f 66/82/78 59/71/67 67/83/79 -f 237/84/80 87/85/81 88/86/82 -f 26/87/83 93/78/74 68/77/73 -f 220/26/24 78/88/84 72/27/25 -f 70/89/85 92/90/86 11/91/87 -f 231/92/88 10/93/89 69/94/20 -f 69/20/20 75/19/19 231/95/88 -f 220/26/24 75/19/19 76/21/21 -f 220/26/24 68/77/73 77/79/75 -f 83/96/90 89/97/91 88/86/82 -f 220/26/24 77/79/75 78/88/84 -f 220/26/24 74/68/64 75/19/19 -f 220/26/24 76/21/21 68/77/73 -f 134/34/32 221/98/92 100/3/3 -f 225/99/71 7/42/39 29/41/38 -f 89/97/91 82/100/93 232/101/94 -f 135/102/95 216/103/96 97/104/97 -f 47/105/98 196/106/99 201/66/62 -f 203/107/100 207/57/54 145/59/56 -f 198/55/52 199/108/101 34/56/53 -f 196/106/99 195/67/63 201/66/62 -f 32/109/23 31/17/17 224/110/102 -f 25/111/103 93/112/74 24/113/104 -f 217/9/9 94/8/8 3/114/105 -f 133/115/106 118/116/107 221/98/92 -f 112/117/108 122/118/109 109/2/2 -f 103/119/110 97/104/97 107/120/111 -f 98/121/112 135/102/95 103/119/110 -f 125/122/113 106/123/114 127/45/42 -f 222/33/31 226/124/115 18/14/14 -f 85/125/116 201/66/62 206/126/117 -f 108/127/118 228/44/41 128/128/119 -f 139/129/120 141/130/121 140/47/44 -f 222/131/31 138/132/122 118/133/107 -f 11/91/87 116/134/123 231/92/88 -f 218/16/16 5/4/4 7/42/39 -f 126/135/124 102/136/125 180/137/126 -f 10/93/89 13/138/127 26/139/83 -f 221/98/92 134/34/32 133/115/106 -f 222/33/31 133/140/106 226/124/115 -f 214/141/128 216/103/96 135/102/95 -f 135/102/95 215/142/129 214/141/128 -f 216/103/96 213/36/34 96/35/33 -f 164/143/130 172/144/131 163/145/132 -f 140/47/44 44/61/58 40/48/45 -f 151/146/133 140/47/44 146/147/134 -f 151/146/133 155/60/57 140/47/44 -f 199/148/101 150/149/135 137/150/55 -f 132/151/136 131/152/137 226/153/115 -f 141/130/121 146/147/134 140/47/44 -f 171/154/138 130/155/139 165/156/140 -f 195/157/63 236/158/141 205/159/61 -f 35/49/46 139/129/120 140/47/44 -f 226/153/115 169/160/142 132/151/136 -f 130/155/139 170/161/143 227/162/144 -f 165/156/140 130/155/139 168/163/145 -f 187/164/146 188/165/147 180/166/126 -f 162/167/148 178/168/149 173/169/150 -f 130/155/139 161/170/151 168/163/145 -f 177/171/152 178/168/149 176/172/153 -f 174/173/154 163/145/132 165/156/140 -f 172/144/131 177/171/152 171/154/138 -f 4/37/35 3/114/105 29/41/38 -f 223/10/10 183/12/12 189/174/155 -f 128/175/119 129/176/156 187/164/146 -f 180/137/126 179/177/157 126/135/124 -f 223/10/10 129/176/156 186/178/158 -f 223/10/10 188/165/147 187/164/146 -f 223/10/10 189/174/155 188/165/147 -f 223/10/10 186/178/158 185/46/43 -f 223/10/10 187/164/146 129/176/156 -f 100/3/3 217/9/9 3/114/105 -f 119/22/22 100/3/3 221/98/92 -f 5/4/4 218/16/16 1/5/5 -f 131/152/137 214/141/128 215/142/129 -f 103/119/110 135/102/95 97/104/97 -f 219/39/37 18/14/14 32/24/23 -f 120/179/159 109/2/2 122/118/109 -f 30/180/160 7/42/39 53/181/65 -f 11/91/87 92/90/86 15/182/161 -f 91/183/162 90/184/163 237/185/80 -f 191/186/164 234/187/165 190/188/166 -f 193/189/167 209/190/168 235/191/169 -f 211/192/170 190/188/166 210/193/171 -f 236/158/141 195/157/63 212/194/172 -f 212/195/172 194/196/173 209/190/168 -f 194/196/173 149/197/174 209/190/168 -f 149/197/174 208/198/175 209/190/168 -f 212/199/172 211/200/170 236/201/141 -f 210/202/171 236/201/141 211/200/170 -f 210/193/171 208/198/175 204/203/176 -f 90/204/163 47/105/98 85/125/116 -f 89/97/91 83/96/90 90/205/163 -f 4/37/35 100/3/3 3/114/105 -f 152/206/177 155/60/57 151/146/133 -f 33/207/49 16/208/7 217/209/9 -f 111/210/178 228/44/41 108/127/118 -f 23/211/29 104/212/28 116/134/123 -f 16/7/7 219/213/37 94/8/8 -f 99/214/179 17/29/27 19/13/13 -f 17/29/27 6/25/18 19/13/13 -f 7/42/39 2/38/36 4/37/35 -f 136/215/180 217/209/9 119/216/22 -f 34/217/53 117/218/30 219/219/37 -f 111/210/178 102/136/125 110/220/181 -f 111/210/178 9/221/182 13/138/127 -f 20/1/1 21/222/183 109/2/2 -f 111/210/178 10/93/89 105/223/184 -f 112/117/108 21/222/183 22/224/185 -f 84/225/186 207/57/54 202/226/187 -f 22/224/185 8/227/188 14/228/189 -f 24/113/104 110/220/181 115/229/190 -f 12/6/6 14/228/189 8/227/188 -f 105/223/184 127/45/42 228/44/41 -f 12/6/6 11/91/87 15/182/161 -f 110/220/181 126/135/124 115/229/190 -f 115/229/190 22/224/185 24/113/104 -f 50/230/50 219/219/37 16/208/7 -f 202/226/187 144/231/191 197/232/192 -f 17/29/27 99/214/179 104/30/28 -f 231/92/88 116/134/123 10/93/89 -f 105/223/184 10/93/89 116/134/123 -f 120/179/159 100/3/3 109/2/2 -f 19/13/13 32/24/23 18/14/14 -f 1/233/5 23/31/29 11/234/87 -f 229/235/193 114/236/194 126/135/124 -f 121/15/15 99/214/179 19/13/13 -f 221/237/92 136/215/180 119/216/22 -f 123/238/195 125/239/113 104/30/28 -f 115/229/190 124/240/196 112/117/108 -f 38/241/197 160/242/198 37/243/199 -f 76/21/21 69/20/20 68/77/73 -f 49/244/51 34/245/53 50/246/50 -f 61/247/200 54/80/76 62/248/201 -f 135/102/95 98/121/112 215/142/129 -f 41/249/202 37/250/199 36/251/203 -f 222/131/31 34/217/53 138/132/122 -f 74/68/64 92/252/86 70/253/85 -f 160/254/198 142/255/204 159/256/205 -f 38/241/197 202/226/187 197/232/192 -f 160/254/198 36/251/203 37/250/199 -f 153/257/206 196/106/99 157/258/207 -f 139/129/120 142/255/204 141/130/121 -f 139/129/120 36/251/203 159/256/205 -f 237/259/80 90/204/163 85/125/116 -f 42/260/208 38/241/197 37/243/199 -f 43/261/48 48/262/209 49/263/51 -f 83/264/90 84/225/186 38/241/197 -f 88/265/82 86/266/210 84/225/186 -f 46/267/211 47/105/98 90/204/163 -f 191/186/164 211/192/170 212/195/172 -f 33/52/49 136/268/180 207/57/54 -f 207/57/54 39/50/47 33/52/49 -f 196/106/99 46/269/211 157/258/207 -f 198/63/52 48/262/209 158/64/60 -f 85/125/116 47/105/98 201/66/62 -f 50/246/50 43/270/48 49/244/51 -f 65/73/69 54/80/76 56/74/70 -f 34/245/53 199/271/101 138/272/122 -f 58/273/212 54/80/76 61/247/200 -f 32/109/23 58/274/212 28/275/213 -f 64/81/77 57/72/68 55/76/72 -f 63/276/214 58/273/212 61/247/200 -f 225/75/71 51/277/215 52/70/66 -f 27/278/216 63/276/214 51/277/215 -f 57/72/68 224/279/102 30/280/160 -f 51/277/215 63/276/214 67/83/79 -f 66/82/78 61/247/200 62/248/201 -f 62/248/201 55/76/72 60/281/217 -f 224/279/102 56/74/70 58/273/212 -f 53/69/65 57/72/68 30/280/160 -f 61/247/200 67/83/79 63/276/214 -f 67/83/79 52/70/66 51/277/215 -f 66/82/78 60/281/217 59/71/67 -f 53/69/65 60/281/217 55/76/72 -f 62/248/201 60/281/217 66/82/78 -f 25/282/103 77/79/75 93/78/74 -f 70/89/85 11/91/87 231/92/88 -f 80/283/218 232/101/94 82/100/93 -f 70/253/85 231/95/88 75/19/19 -f 69/94/20 10/93/89 26/139/83 -f 26/87/83 68/77/73 69/20/20 -f 71/284/219 25/111/103 24/113/104 -f 80/283/218 89/97/91 90/205/163 -f 79/285/220 88/86/82 81/286/221 -f 45/287/222 40/48/45 44/61/58 -f 91/288/162 237/84/80 79/285/220 -f 155/60/57 45/287/222 44/61/58 -f 28/275/213 94/8/8 32/109/23 -f 152/206/177 157/289/207 156/290/223 -f 157/289/207 45/287/222 156/290/223 -f 46/291/211 41/249/202 45/287/222 -f 40/48/45 36/251/203 35/49/46 -f 207/57/54 200/292/224 202/226/187 -f 207/57/54 136/268/180 137/58/55 -f 87/293/81 39/50/47 86/266/210 -f 43/261/48 237/259/80 48/262/209 -f 158/294/60 85/125/116 206/126/117 -f 86/266/210 39/50/47 207/57/54 -f 205/65/61 158/294/60 206/126/117 -f 143/295/225 147/296/226 142/255/204 -f 80/283/218 90/205/163 91/288/162 -f 92/252/86 72/27/25 71/297/219 -f 30/180/160 218/16/16 7/42/39 -f 74/68/64 70/253/85 75/19/19 -f 25/282/103 72/27/25 78/88/84 -f 3/114/105 28/275/213 27/298/216 -f 29/41/38 27/298/216 225/99/71 -f 95/299/227 122/118/109 101/300/228 -f 218/16/16 224/110/102 31/17/17 -f 229/235/193 113/301/229 114/236/194 -f 133/115/106 222/302/31 118/116/107 -f 96/35/33 100/3/3 120/179/159 -f 137/303/55 118/133/107 138/132/122 -f 124/240/196 126/135/124 114/236/194 -f 95/299/227 107/120/111 97/104/97 -f 98/304/112 123/238/195 121/15/15 -f 120/179/159 95/299/227 96/35/33 -f 216/103/96 95/299/227 97/104/97 -f 128/128/119 102/136/125 108/127/118 -f 114/236/194 107/120/111 101/300/228 -f 14/228/189 24/113/104 22/224/185 -f 107/120/111 106/123/114 103/119/110 -f 125/239/113 103/305/110 106/306/114 -f 147/296/226 153/307/206 152/206/177 -f 121/15/15 226/124/115 98/304/112 -f 215/308/129 98/304/112 226/124/115 -f 23/211/29 116/134/123 11/91/87 -f 113/301/229 230/309/230 106/123/114 -f 101/300/228 124/240/196 114/236/194 -f 9/221/182 26/139/83 13/138/127 -f 216/103/96 130/310/139 227/310/144 -f 127/45/42 230/309/230 181/43/40 -f 179/311/157 188/165/147 189/174/155 -f 142/255/204 146/147/134 141/130/121 -f 152/206/177 146/147/134 147/296/226 -f 137/58/55 150/312/135 145/59/56 -f 203/107/100 208/313/175 200/292/224 -f 199/148/101 154/62/59 150/149/135 -f 194/314/173 143/315/225 144/231/191 -f 200/292/224 149/316/174 144/231/191 -f 205/159/61 236/158/141 210/317/171 -f 148/318/231 194/319/173 212/194/172 -f 131/152/137 161/151/151 214/141/128 -f 199/320/101 137/321/55 138/322/122 -f 130/155/139 176/172/153 170/161/143 -f 216/103/96 161/151/151 130/310/139 -f 168/163/145 167/323/232 175/324/233 -f 163/145/132 175/324/233 167/323/232 -f 132/325/136 163/145/132 167/323/232 -f 132/325/136 173/169/150 164/143/130 -f 162/167/148 227/162/144 170/161/143 -f 173/169/150 166/326/234 162/167/148 -f 182/327/235 183/12/12 184/11/11 -f 131/328/137 168/163/145 161/170/151 -f 172/144/131 165/156/140 163/145/132 -f 132/325/136 167/323/232 131/328/137 -f 178/168/149 164/143/130 173/169/150 -f 178/168/149 170/161/143 176/172/153 -f 128/128/119 228/44/41 129/329/156 -f 176/172/153 171/154/138 177/171/152 -f 186/178/158 230/330/230 185/46/43 -f 174/173/154 168/163/145 175/324/233 -f 183/12/12 179/311/157 189/174/155 -f 185/46/43 182/327/235 184/11/11 -f 181/331/40 186/178/158 129/176/156 -f 172/144/131 164/143/130 177/171/152 -f 209/190/168 191/186/164 212/195/172 -f 128/175/119 187/164/146 180/166/126 -f 126/135/124 179/177/157 229/235/193 -f 181/43/40 129/329/156 228/44/41 -f 190/188/166 208/198/175 210/193/171 -f 235/191/169 191/186/164 193/189/167 -f 192/332/236 209/190/168 208/198/175 -f 227/310/144 213/36/34 216/103/96 -f 144/231/191 160/242/198 197/232/192 -f 144/231/191 149/316/174 194/314/173 -f 154/62/59 210/317/171 150/149/135 -f 145/59/56 204/333/176 203/107/100 -f 226/153/115 133/115/106 169/160/142 -f 226/153/115 131/152/137 215/142/129 -f 134/34/32 169/160/142 133/115/106 -f 213/36/34 166/334/234 134/34/32 -f 104/212/28 127/45/42 116/134/123 -f 104/30/28 99/214/179 123/238/195 -f 21/222/183 2/38/36 8/227/188 -f 18/14/14 219/39/37 117/32/30 -f 24/113/104 93/112/74 9/221/182 -f 205/65/61 206/126/117 201/66/62 -f 12/6/6 2/38/36 5/4/4 -f 71/284/219 15/182/161 92/90/86 -f 225/99/71 53/181/65 7/42/39 -f 58/274/212 32/109/23 224/110/102 -f 81/286/221 89/97/91 232/101/94 -f 24/113/104 14/228/189 71/284/219 -f 79/285/220 80/283/218 91/288/162 -f 232/101/94 79/285/220 81/286/221 -f 233/335/237 80/283/218 79/285/220 -f 235/191/169 190/188/166 234/187/165 -f 154/62/59 199/148/101 198/63/52 -f 112/117/108 124/240/196 122/118/109 -f 171/154/138 176/172/153 130/155/139 -f 4/37/35 20/1/1 100/3/3 -f 152/206/177 156/290/223 155/60/57 -f 33/207/49 50/230/50 16/208/7 -f 111/210/178 105/223/184 228/44/41 -f 17/29/27 1/233/5 6/25/18 -f 7/42/39 5/4/4 2/38/36 -f 136/215/180 33/207/49 217/209/9 -f 111/210/178 108/127/118 102/136/125 -f 111/210/178 110/220/181 9/221/182 -f 111/210/178 13/138/127 10/93/89 -f 112/117/108 109/2/2 21/222/183 -f 84/225/186 86/266/210 207/57/54 -f 22/224/185 21/222/183 8/227/188 -f 24/113/104 9/221/182 110/220/181 -f 12/6/6 15/182/161 14/228/189 -f 105/223/184 116/134/123 127/45/42 -f 12/6/6 1/5/5 11/91/87 -f 110/220/181 102/136/125 126/135/124 -f 115/229/190 112/117/108 22/224/185 -f 50/230/50 34/217/53 219/219/37 -f 202/226/187 200/292/224 144/231/191 -f 19/13/13 6/25/18 32/24/23 -f 1/233/5 17/29/27 23/31/29 -f 121/15/15 123/238/195 99/214/179 -f 221/237/92 137/303/55 136/215/180 -f 115/229/190 126/135/124 124/240/196 -f 38/241/197 197/232/192 160/242/198 -f 41/249/202 42/336/208 37/250/199 -f 222/131/31 117/218/30 34/217/53 -f 74/68/64 73/28/26 92/252/86 -f 160/254/198 143/295/225 142/255/204 -f 38/241/197 84/225/186 202/226/187 -f 160/254/198 159/256/205 36/251/203 -f 153/257/206 195/67/63 196/106/99 -f 139/129/120 159/256/205 142/255/204 -f 139/129/120 35/49/46 36/251/203 -f 42/260/208 83/264/90 38/241/197 -f 83/264/90 88/265/82 84/225/186 -f 88/265/82 87/293/81 86/266/210 -f 83/337/90 42/338/208 90/204/163 -f 42/338/208 46/267/211 90/204/163 -f 191/186/164 190/188/166 211/192/170 -f 196/106/99 47/339/98 46/269/211 -f 198/63/52 49/263/51 48/262/209 -f 65/73/69 64/81/77 54/80/76 -f 58/273/212 56/74/70 54/80/76 -f 64/81/77 65/73/69 57/72/68 -f 63/276/214 28/340/213 58/273/212 -f 225/75/71 27/278/216 51/277/215 -f 27/278/216 28/340/213 63/276/214 -f 57/72/68 56/74/70 224/279/102 -f 62/248/201 54/80/76 55/76/72 -f 61/247/200 66/82/78 67/83/79 -f 67/83/79 59/71/67 52/70/66 -f 53/69/65 59/71/67 60/281/217 -f 25/282/103 78/88/84 77/79/75 -f 80/283/218 233/335/237 232/101/94 -f 80/283/218 82/100/93 89/97/91 -f 79/285/220 237/84/80 88/86/82 -f 45/287/222 41/249/202 40/48/45 -f 155/60/57 156/290/223 45/287/222 -f 152/206/177 153/307/206 157/289/207 -f 157/289/207 46/291/211 45/287/222 -f 46/291/211 42/336/208 41/249/202 -f 40/48/45 41/249/202 36/251/203 -f 207/57/54 203/107/100 200/292/224 -f 87/293/81 43/51/48 39/50/47 -f 87/341/81 237/259/80 43/261/48 -f 237/259/80 85/342/116 48/262/209 -f 158/294/60 48/343/209 85/125/116 -f 205/65/61 154/344/59 158/294/60 -f 143/295/225 148/345/231 147/296/226 -f 92/252/86 73/28/26 72/27/25 -f 25/282/103 71/297/219 72/27/25 -f 3/114/105 94/8/8 28/275/213 -f 29/41/38 3/114/105 27/298/216 -f 95/299/227 120/179/159 122/118/109 -f 218/16/16 30/180/160 224/110/102 -f 229/235/193 182/346/235 113/301/229 -f 96/35/33 134/34/32 100/3/3 -f 137/303/55 221/237/92 118/133/107 -f 95/299/227 101/300/228 107/120/111 -f 98/304/112 103/305/110 123/238/195 -f 216/103/96 96/35/33 95/299/227 -f 128/128/119 180/137/126 102/136/125 -f 114/236/194 113/301/229 107/120/111 -f 107/120/111 113/301/229 106/123/114 -f 125/239/113 123/238/195 103/305/110 -f 147/296/226 148/345/231 153/307/206 -f 121/15/15 18/14/14 226/124/115 -f 113/301/229 182/346/235 230/309/230 -f 101/300/228 122/118/109 124/240/196 -f 9/221/182 93/112/74 26/139/83 -f 127/45/42 106/123/114 230/309/230 -f 179/311/157 180/166/126 188/165/147 -f 142/255/204 147/296/226 146/147/134 -f 152/206/177 151/146/133 146/147/134 -f 203/107/100 204/333/176 208/313/175 -f 194/314/173 148/347/231 143/315/225 -f 200/292/224 208/313/175 149/316/174 -f 195/157/63 153/348/206 212/194/172 -f 153/348/206 148/318/231 212/194/172 -f 216/103/96 214/141/128 161/151/151 -f 163/145/132 174/173/154 175/324/233 -f 132/325/136 164/143/130 163/145/132 -f 132/325/136 169/349/142 173/169/150 -f 162/167/148 166/326/234 227/162/144 -f 173/169/150 169/349/142 166/326/234 -f 182/327/235 229/350/193 183/12/12 -f 131/328/137 167/323/232 168/163/145 -f 172/144/131 171/154/138 165/156/140 -f 178/168/149 177/171/152 164/143/130 -f 178/168/149 162/167/148 170/161/143 -f 186/178/158 181/331/40 230/330/230 -f 174/173/154 165/156/140 168/163/145 -f 183/12/12 229/350/193 179/311/157 -f 185/46/43 230/330/230 182/327/235 -f 209/190/168 193/189/167 191/186/164 -f 190/188/166 192/332/236 208/198/175 -f 235/191/169 234/187/165 191/186/164 -f 192/332/236 235/191/169 209/190/168 -f 144/231/191 143/315/225 160/242/198 -f 205/159/61 210/317/171 154/62/59 -f 210/317/171 204/351/176 150/149/135 -f 145/59/56 150/312/135 204/333/176 -f 134/34/32 166/334/234 169/160/142 -f 213/36/34 227/310/144 166/334/234 -f 104/212/28 125/122/113 127/45/42 -f 21/222/183 20/1/1 2/38/36 -f 12/6/6 8/227/188 2/38/36 -f 71/284/219 14/228/189 15/182/161 -f 81/286/221 88/86/82 89/97/91 -f 232/101/94 233/335/237 79/285/220 -f 235/191/169 192/332/236 190/188/166 +# Blender 3.6.0 +# www.blender.org +mtllib player.mtl +o Walter_mesh +v 0.002711 0.011918 0.001927 +v 0.002427 0.011912 -0.001671 +v 0.001655 0.016350 -0.001281 +v 0.001965 0.014258 -0.001613 +v 0.002812 0.012004 0.000044 +v 0.002278 0.014729 0.001859 +v 0.002485 0.013658 -0.000271 +v 0.003107 0.010181 -0.001863 +v 0.000516 0.004719 -0.000148 +v 0.000832 0.005994 0.001938 +v 0.003473 0.008149 0.001627 +v 0.003501 0.010134 -0.000061 +v 0.000520 0.005059 0.000930 +v 0.003448 0.008110 -0.001676 +v 0.003950 0.008140 0.000027 +v 0.000996 0.017429 -0.000437 +v 0.001502 0.012038 0.002646 +v 0.000386 0.017158 0.000911 +v 0.000851 0.014953 0.002413 +v 0.001207 0.012308 -0.002222 +v 0.001700 0.010262 -0.002564 +v 0.001820 0.008556 -0.002506 +v 0.001836 0.008289 0.002222 +v 0.001592 0.006436 -0.001898 +v 0.001641 0.002233 -0.000735 +v 0.000743 0.003522 0.001849 +v 0.005245 0.010990 -0.000084 +v 0.005572 0.011316 0.000349 +v 0.002266 0.014507 -0.001288 +v 0.004552 0.010455 0.001206 +v 0.002508 0.014988 0.001364 +v 0.001837 0.016823 0.000556 +v 0.000759 0.018017 -0.000787 +v 0.000467 0.018065 0.000216 +v 0.002953 0.032064 -0.002095 +v 0.004659 0.030471 -0.003753 +v 0.005399 0.028075 -0.004660 +v 0.004948 0.023954 -0.004807 +v 0.003200 0.019760 -0.002599 +v 0.003896 0.031905 0.000194 +v 0.006287 0.030100 -0.000032 +v 0.007402 0.027584 -0.000289 +v 0.005530 0.019273 -0.000441 +v 0.003047 0.031604 0.002510 +v 0.004811 0.029731 0.003735 +v 0.005594 0.027141 0.004091 +v 0.005197 0.022997 0.003652 +v 0.004255 0.018888 0.003071 +v 0.001667 0.018219 0.000008 +v 0.001018 0.017954 -0.000421 +v 0.006310 0.008702 0.001023 +v 0.005752 0.008475 0.001171 +v 0.005043 0.009091 0.001341 +v 0.005516 0.009576 0.002076 +v 0.005099 0.009252 0.001972 +v 0.005246 0.010122 0.001819 +v 0.004829 0.009798 0.001715 +v 0.005735 0.010599 0.001279 +v 0.005896 0.008252 0.001710 +v 0.005567 0.008674 0.002061 +v 0.006424 0.009189 0.001907 +v 0.005926 0.008954 0.002157 +v 0.006630 0.009058 0.001390 +v 0.004917 0.009688 0.002563 +v 0.004861 0.010003 0.002455 +v 0.006245 0.008377 0.001991 +v 0.006466 0.008422 0.001657 +v 0.000742 0.001126 0.000705 +v 0.001253 0.001975 0.001628 +v 0.003096 0.001915 0.001122 +v 0.002659 0.002271 -0.000538 +v 0.002504 0.001238 -0.000516 +v 0.002931 0.000994 0.000086 +v 0.002825 0.000939 0.000922 +v 0.002191 0.000993 0.001530 +v 0.001321 0.000992 0.001338 +v 0.000911 0.001124 -0.000162 +v 0.001675 0.001279 -0.000672 +v 0.007832 0.021199 -0.000415 +v 0.007833 0.022981 -0.000252 +v 0.007599 0.021393 -0.000826 +v 0.007615 0.022881 -0.000689 +v 0.006883 0.022989 -0.000687 +v 0.004265 0.022053 -0.004419 +v 0.004735 0.020008 0.003723 +v 0.003751 0.020886 -0.003682 +v 0.006349 0.020426 -0.000588 +v 0.006580 0.021165 -0.000404 +v 0.006656 0.023081 -0.000132 +v 0.006523 0.023322 0.000450 +v 0.006539 0.021412 0.000124 +v 0.003190 0.001901 0.000076 +v 0.000746 0.002125 -0.000182 +v 0.001810 0.016954 -0.000519 +v -0.002265 0.012054 -0.001416 +v -0.001710 0.014351 -0.001356 +v -0.002457 0.012164 0.000331 +v -0.001430 0.014839 0.002185 +v 0.000329 0.012424 0.002776 +v 0.000170 0.016641 -0.001434 +v -0.002957 0.010366 -0.001737 +v -0.000568 0.005165 -0.001355 +v -0.002266 0.011791 0.002157 +v 0.000121 0.009037 0.002487 +v 0.000009 0.005507 0.001192 +v -0.003327 0.008445 0.001697 +v -0.003277 0.010341 0.000080 +v -0.000278 0.004988 -0.000082 +v 0.000131 0.010430 -0.002609 +v -0.000003 0.005547 -0.001396 +v 0.000080 0.005349 0.000805 +v 0.000056 0.008584 -0.002706 +v -0.003824 0.008210 0.000037 +v -0.003331 0.008245 -0.001645 +v 0.000022 0.006853 -0.002042 +v 0.001355 0.006618 0.001852 +v 0.000344 0.017579 0.000289 +v -0.000412 0.017458 -0.000336 +v 0.000240 0.017355 -0.001076 +v -0.001116 0.012390 -0.002086 +v -0.000476 0.014949 0.002434 +v -0.001577 0.010362 -0.002495 +v -0.000884 0.012096 0.002771 +v -0.001704 0.008631 -0.002490 +v -0.001688 0.008364 0.002238 +v -0.001508 0.006566 -0.001901 +v -0.001417 0.006433 0.001777 +v -0.000297 0.003403 -0.000439 +v -0.000595 0.000609 -0.000278 +v -0.004606 0.009662 0.002407 +v -0.004707 0.011100 0.002219 +v -0.005337 0.011126 0.001859 +v -0.001253 0.017042 -0.000231 +v -0.001292 0.016456 -0.000976 +v -0.001858 0.013965 0.001372 +v 0.000234 0.018115 -0.001017 +v -0.000269 0.018026 -0.000646 +v -0.000378 0.017952 -0.000200 +v 0.000421 0.032011 -0.003463 +v 0.000520 0.032787 0.000356 +v -0.002042 0.032115 -0.001976 +v -0.003858 0.030559 -0.003549 +v -0.004690 0.028179 -0.004419 +v -0.004300 0.023986 -0.004588 +v -0.002567 0.019819 -0.002461 +v -0.002877 0.031975 0.000356 +v -0.005314 0.030220 0.000245 +v -0.006491 0.027727 0.000043 +v -0.006037 0.022862 -0.000383 +v -0.004878 0.019412 -0.000259 +v -0.001925 0.031655 0.002628 +v -0.003667 0.029819 0.003938 +v -0.004485 0.027246 0.004332 +v -0.003367 0.018966 0.003254 +v 0.000590 0.031248 0.003961 +v 0.000609 0.029497 0.005516 +v 0.000590 0.026818 0.005869 +v 0.000476 0.018625 0.004651 +v 0.000360 0.030638 -0.005391 +v 0.000312 0.028408 -0.006449 +v -0.004258 0.010891 0.002123 +v -0.005759 0.009138 0.002050 +v -0.005156 0.010309 0.002926 +v -0.006005 0.009812 0.002794 +v -0.004707 0.010012 0.002943 +v -0.004868 0.010937 0.000712 +v -0.004899 0.010803 0.002570 +v -0.004450 0.010506 0.002587 +v -0.005228 0.011387 0.000960 +v -0.005206 0.009009 0.002300 +v -0.005139 0.009429 0.003128 +v -0.005526 0.009687 0.003119 +v -0.006144 0.009538 0.002287 +v -0.004625 0.010591 0.003424 +v -0.004581 0.010877 0.003248 +v -0.005394 0.008905 0.002860 +v -0.005781 0.009058 0.003070 +v -0.005966 0.009001 0.002716 +v -0.001545 0.001859 -0.002258 +v -0.000522 0.001731 -0.002068 +v -0.001469 0.001615 0.000211 +v -0.002791 0.001436 -0.001118 +v -0.002197 0.000719 -0.001960 +v -0.002571 0.000533 -0.001102 +v -0.002242 0.000535 -0.000324 +v -0.001460 0.000536 -0.000006 +v -0.000295 0.000586 -0.001130 +v -0.000693 0.000530 -0.001895 +v -0.001428 0.000890 -0.002264 +v -0.007055 0.021379 -0.000072 +v -0.007023 0.023147 0.000120 +v -0.006841 0.021542 -0.000481 +v -0.006820 0.023030 -0.000344 +v -0.006225 0.023976 -0.000303 +v -0.004155 0.022878 0.003915 +v 0.000557 0.023785 0.005818 +v 0.000264 0.024343 -0.006693 +v 0.000459 0.018446 0.001633 +v -0.001000 0.018288 0.000252 +v -0.003670 0.022135 -0.004230 +v 0.000537 0.021535 0.006438 +v 0.000258 0.022395 -0.006108 +v -0.003146 0.020958 -0.003517 +v -0.005602 0.020549 -0.000303 +v -0.003797 0.020088 0.003908 +v 0.000518 0.019751 0.005892 +v 0.000207 0.021020 -0.004942 +v -0.005769 0.021253 -0.000066 +v -0.005937 0.023199 0.000111 +v -0.005300 0.020638 0.000691 +v -0.005725 0.021594 0.000423 +v -0.005698 0.023443 0.000726 +v -0.001574 0.014568 -0.000662 +v -0.002341 0.013725 0.001257 +v -0.001743 0.015115 0.001726 +v -0.001783 0.013707 0.000327 +v 0.000697 0.017386 -0.000850 +v 0.002502 0.013971 0.000735 +v 0.000773 0.017525 -0.000003 +v 0.001850 0.000715 0.000357 +v -0.000180 0.017403 -0.000786 +v -0.000105 0.017551 0.000079 +v -0.001468 0.000215 -0.001109 +v 0.005153 0.010493 0.001532 +v 0.004903 0.010167 0.000306 +v -0.001168 0.016844 0.000872 +v -0.004450 0.010413 0.001209 +v -0.000688 0.005142 0.001251 +v -0.002488 0.001697 -0.001879 +v -0.002400 0.001609 -0.000121 +v 0.002278 0.003132 0.001966 +v 0.008094 0.022132 -0.000769 +v 0.008350 0.022084 -0.000300 +v -0.007535 0.022248 0.000080 +v -0.007301 0.022291 -0.000401 +v -0.005441 0.022178 0.000776 +v 0.006071 0.020505 0.000467 +vn 0.2150 0.1882 -0.9583 +vn -0.0199 0.1104 -0.9937 +vn -0.0720 0.3825 -0.9212 +vn 0.9636 0.2533 -0.0855 +vn 0.7939 0.1372 0.5923 +vn 0.9675 0.2522 -0.0208 +vn 0.7747 0.6156 -0.1448 +vn 0.6553 0.6972 -0.2905 +vn 0.4993 0.3509 -0.7922 +vn -0.0114 -0.9971 -0.0749 +vn -0.7591 -0.6491 -0.0494 +vn -0.4822 -0.5435 -0.6870 +vn 0.2112 0.3641 0.9071 +vn 0.0774 0.7398 0.6683 +vn -0.1365 0.3670 0.9201 +vn 0.4319 -0.3909 0.8128 +vn 0.7626 0.2988 0.5737 +vn 0.7020 0.2548 0.6651 +vn 0.1856 -0.6462 0.7402 +vn -0.4074 -0.2496 0.8785 +vn -0.4100 -0.6851 0.6022 +vn -0.0590 0.2980 -0.9528 +vn 0.5956 0.6938 0.4049 +vn -0.0509 -0.9908 -0.1251 +vn 0.3698 -0.4963 -0.7855 +vn 0.6770 -0.6758 -0.2915 +vn 0.2830 0.0212 0.9589 +vn 0.0092 -0.1595 0.9872 +vn 0.2343 -0.1683 0.9575 +vn 0.0382 0.5917 0.8053 +vn -0.4874 0.5886 0.6449 +vn -0.5738 0.4023 -0.7134 +vn -0.8063 0.2726 -0.5249 +vn -0.8387 0.0089 -0.5446 +vn 0.5721 0.1190 -0.8115 +vn 0.7518 0.2625 -0.6049 +vn 0.6557 0.5345 0.5332 +vn 0.5933 -0.0754 -0.8014 +vn 0.3438 -0.7111 -0.6133 +vn -0.0446 -0.2818 0.9584 +vn 0.3810 -0.4481 0.8088 +vn -0.1496 -0.3088 0.9393 +vn -0.5410 -0.6303 0.5568 +vn 0.0127 0.9949 0.1001 +vn 0.4702 0.8791 0.0779 +vn 0.3288 0.9038 -0.2740 +vn 0.2968 -0.7579 -0.5810 +vn 0.5928 -0.7835 -0.1864 +vn 0.4579 -0.5113 -0.7273 +vn 0.6962 -0.7176 -0.0190 +vn 0.2061 -0.9653 0.1606 +vn -0.0054 -0.9895 0.1444 +vn 0.1418 -0.7151 0.6845 +vn -0.0319 -0.7008 -0.7127 +vn -0.6330 -0.5258 -0.5682 +vn -0.3379 -0.7495 -0.5693 +vn 0.0229 0.7864 0.6173 +vn 0.3419 0.8316 0.4377 +vn -0.4654 -0.8119 0.3525 +vn 0.0019 -0.8704 0.4923 +vn -0.6806 -0.3586 0.6389 +vn 0.0206 -0.0189 0.9996 +vn -0.7108 -0.0775 0.6991 +vn 0.6327 -0.7105 0.3079 +vn -0.8032 -0.5804 -0.1343 +vn -0.2624 -0.7941 -0.5482 +vn -0.2238 -0.9720 0.0715 +vn -0.9719 0.0179 0.2346 +vn -0.4437 0.6090 0.6575 +vn 0.0383 0.6979 0.7152 +vn -0.3587 -0.5313 -0.7675 +vn -0.6571 -0.5318 0.5342 +vn -0.8136 -0.5578 0.1639 +vn -0.8738 -0.1200 -0.4713 +vn -0.6491 -0.5808 -0.4912 +vn 0.3442 0.2093 0.9153 +vn -0.2867 -0.2036 0.9361 +vn 0.4075 -0.6272 0.6638 +vn 0.7642 -0.6449 0.0065 +vn 0.8496 -0.3968 0.3475 +vn 0.8151 -0.5373 -0.2165 +vn 0.5129 -0.5647 -0.6466 +vn -0.5624 -0.1007 0.8207 +vn -0.1542 -0.4687 -0.8698 +vn 0.8589 -0.1972 0.4727 +vn 0.9418 -0.1738 -0.2876 +vn 0.7478 -0.0102 0.6638 +vn 0.2358 -0.1110 0.9654 +vn -0.5115 0.2482 0.8227 +vn 0.9792 -0.1865 -0.0797 +vn 0.9697 0.2133 -0.1188 +vn -0.6111 0.3807 -0.6940 +vn 0.0226 0.4722 -0.8812 +vn 0.4749 0.0811 -0.8763 +vn -0.7537 -0.1562 0.6384 +vn -0.6794 -0.6073 -0.4119 +vn -0.9260 0.3775 -0.0047 +vn 0.7428 -0.0892 0.6636 +vn 0.0251 0.0767 0.9967 +vn -0.4863 -0.5920 -0.6427 +vn -0.2227 -0.9680 0.1157 +vn -0.0987 0.3797 0.9198 +vn -0.1766 -0.1766 -0.9683 +vn 0.1097 -0.3459 -0.9318 +vn 0.4442 0.3817 -0.8105 +vn -0.6499 0.7416 -0.1661 +vn -0.7837 0.6170 -0.0718 +vn -0.0120 -0.1486 -0.9888 +vn -0.3013 0.1522 -0.9413 +vn -0.7296 0.1702 0.6623 +vn -0.9524 0.3037 0.0247 +vn -0.5568 0.2899 0.7784 +vn -0.2115 -0.1770 0.9612 +vn -0.7506 -0.0453 0.6591 +vn -0.4923 0.7154 0.4958 +vn 0.6996 -0.3728 0.6096 +vn 0.0159 -0.4829 0.8755 +vn 0.9599 -0.2723 -0.0661 +vn 0.9977 -0.0165 0.0659 +vn -0.0012 0.8985 -0.4390 +vn -0.3228 0.9105 -0.2584 +vn -0.7758 -0.5873 0.2308 +vn 0.0218 -0.0874 0.9959 +vn -0.0528 -0.1639 -0.9851 +vn 0.7252 -0.2308 -0.6487 +vn 0.6821 -0.0300 -0.7306 +vn -0.8611 -0.3926 0.3231 +vn 0.6344 -0.5368 0.5563 +vn -0.5949 0.3388 0.7289 +vn -0.7937 0.3394 0.5048 +vn -0.2280 0.2270 0.9468 +vn -0.4546 0.3859 0.8027 +vn -0.3034 0.8382 0.4531 +vn -0.4477 0.8886 0.0998 +vn -0.6220 -0.7650 -0.1668 +vn -0.7285 0.5975 0.3351 +vn -0.0230 0.5596 0.8284 +vn 0.4392 -0.2625 0.8592 +vn 0.8391 -0.5363 0.0912 +vn 0.6325 -0.3215 0.7047 +vn -0.8128 -0.1248 0.5690 +vn -0.8421 0.3318 -0.4253 +vn 0.3769 -0.8716 -0.3134 +vn 0.4283 -0.6642 -0.6127 +vn 0.9441 0.1505 0.2933 +vn 0.8316 -0.5550 -0.0197 +vn 0.4421 -0.6468 -0.6214 +vn -0.3793 -0.6818 -0.6255 +vn -0.7101 -0.6982 0.0910 +vn -0.9748 -0.0606 -0.2145 +vn 0.5604 0.1218 0.8192 +vn -0.4314 -0.4935 0.7552 +vn 0.2819 -0.9019 0.3272 +vn 0.1930 0.0522 0.9798 +vn 0.0535 -0.3590 -0.9318 +vn 0.5968 -0.5806 0.5538 +vn -0.0869 0.0143 -0.9961 +vn -0.0007 -0.6360 0.7717 +vn -0.3079 0.2129 -0.9273 +vn -0.7328 -0.1683 0.6593 +vn 0.9997 0.0222 -0.0058 +vn 0.5395 -0.0339 0.8413 +vn 0.8767 -0.0104 0.4809 +vn -0.6321 0.6857 0.3609 +vn -0.8841 -0.0403 0.4656 +vn -0.6702 -0.7153 0.1980 +vn -0.0642 0.4731 -0.8787 +vn -0.8866 0.4347 -0.1579 +vn -0.5099 0.0841 -0.8561 +vn -0.5041 -0.0479 0.8623 +vn -0.8393 -0.3733 0.3952 +vn -0.8505 -0.0138 0.5258 +vn -0.9937 -0.1120 -0.0062 +vn -0.9739 -0.1971 -0.1124 +vn -0.5659 -0.5635 -0.6019 +vn -0.8418 -0.5079 -0.1830 +vn -0.5447 0.5026 0.6713 +vn -0.0616 -0.9309 0.3600 +vn 0.0539 0.0358 0.9979 +vn -0.1118 -0.5265 -0.8428 +vn 0.1523 -0.7112 -0.6863 +vn -0.8785 -0.4119 -0.2420 +vn 0.2704 0.1164 -0.9557 +vn 0.1805 -0.7113 0.6793 +vn 0.2555 -0.1430 -0.9562 +vn 0.5503 -0.4229 -0.7199 +vn -0.0238 -0.4523 -0.8915 +vn 0.7651 0.2095 -0.6089 +vn 0.7592 -0.0820 -0.6457 +vn -0.0125 -0.3479 -0.9374 +vn -0.6878 -0.1522 -0.7098 +vn -0.0250 -0.1279 -0.9915 +vn -0.7017 -0.0788 -0.7081 +vn -0.7664 -0.0088 -0.6423 +vn -0.1818 0.0237 0.9831 +vn -0.2739 -0.1203 -0.9542 +vn 0.6541 -0.1603 -0.7392 +vn -0.0211 0.2363 -0.9715 +vn 0.6822 0.2013 -0.7029 +vn 0.7127 0.2665 0.6489 +vn 0.1281 0.0121 0.9917 +vn 0.8091 0.5861 0.0427 +vn 0.5659 0.6241 -0.5387 +vn -0.5780 0.6359 -0.5113 +vn -0.0120 0.6314 -0.7753 +vn -0.6679 0.0910 0.7387 +vn 0.0252 0.0450 0.9987 +vn 0.9906 0.1368 -0.0091 +vn 0.4659 -0.8213 0.3292 +vn 0.4346 -0.6111 -0.6616 +vn 0.7050 0.0744 0.7053 +vn 0.6464 0.5274 0.5514 +vn 0.8815 0.4131 -0.2287 +vn 0.9921 0.0654 -0.1068 +vn 0.5014 -0.4786 -0.7208 +vn 0.4802 -0.0437 -0.8761 +vn -0.4917 -0.4970 0.7150 +vn 0.6585 0.6788 0.3250 +vn 0.5204 -0.1486 -0.8409 +vn 0.6521 -0.7365 0.1800 +vn 0.1035 -0.3765 -0.9206 +vn 0.5865 0.4909 0.6443 +vn 0.0260 0.4254 0.9047 +vn -0.5937 -0.4108 -0.6919 +vn -0.7097 0.2164 -0.6704 +vn -0.7939 0.6027 0.0810 +vn -0.7959 0.3452 -0.4974 +vn -0.7751 0.2527 -0.5792 +vn -0.9994 0.0207 0.0290 +vn -0.6707 -0.2565 0.6960 +vn -0.9865 0.1593 0.0382 +vn -0.1654 0.8421 0.5133 +vn 0.3195 0.7880 0.5262 +vn -0.3483 -0.2774 -0.8954 +vn -0.9792 -0.1999 -0.0351 +vn -0.1529 -0.3812 -0.9118 +vn 0.9068 -0.0441 0.4193 +vt 0.629060 0.876305 +vt 0.628404 0.875137 +vt 0.653278 0.884793 +vt 0.627075 0.876251 +vt 0.626367 0.875560 +vt 0.627417 0.875533 +vt 0.584486 0.985833 +vt 0.616762 0.904100 +vt 0.695503 0.970695 +vt 0.124545 0.125055 +vt 0.095744 0.110583 +vt 0.114422 0.095722 +vt 0.892330 0.870605 +vt 0.876555 0.958136 +vt 0.834870 0.871159 +vt 0.625336 0.877260 +vt 0.623231 0.877359 +vt 0.623436 0.876237 +vt 0.094619 0.113545 +vt 0.096641 0.053110 +vt 0.115915 0.099360 +vt 0.745113 0.918987 +vt 0.976774 0.889047 +vt 0.940190 0.957434 +vt 0.961936 0.871149 +vt 0.127542 0.128052 +vt 0.140022 0.159773 +vt 0.113853 0.157840 +vt 0.926236 0.771150 +vt 0.875697 0.658552 +vt 0.938757 0.632334 +vt 0.875697 0.989612 +vt 0.853924 0.994399 +vt 0.644468 0.865626 +vt 0.631934 0.872711 +vt 0.631714 0.871554 +vt 0.629469 0.879285 +vt 0.628012 0.876275 +vt 0.898251 0.994165 +vt 0.960703 0.997878 +vt 0.628498 0.879987 +vt 0.626794 0.877857 +vt 0.627692 0.874757 +vt 0.627618 0.874797 +vt 0.627557 0.874703 +vt 0.092864 0.135745 +vt 0.626874 0.628623 +vt 0.666192 0.612314 +vt 0.666039 0.643388 +vt 0.417211 0.549304 +vt 0.406659 0.518588 +vt 0.445907 0.544781 +vt 0.446005 0.537646 +vt 0.211510 0.620724 +vt 0.257426 0.572685 +vt 0.255312 0.619310 +vt 0.422216 0.583984 +vt 0.461766 0.558959 +vt 0.456897 0.588990 +vt 0.609129 0.585243 +vt 0.643990 0.590665 +vt 0.167620 0.648342 +vt 0.253657 0.566811 +vt 0.252621 0.655535 +vt 0.142593 0.677043 +vt 0.246003 0.717250 +vt 0.132254 0.742502 +vt 0.097060 0.139235 +vt 0.358013 0.112941 +vt 0.378546 0.110867 +vt 0.380036 0.115400 +vt 0.348392 0.145167 +vt 0.372365 0.137981 +vt 0.381922 0.164133 +vt 0.350536 0.064183 +vt 0.370708 0.128195 +vt 0.141006 0.095092 +vt 0.200809 0.102224 +vt 0.157748 0.115054 +vt 0.381004 0.132200 +vt 0.372269 0.135894 +vt 0.382154 0.116526 +vt 0.383359 0.114739 +vt 0.064661 0.265068 +vt 0.121911 0.260287 +vt 0.103858 0.316608 +vt 0.177159 0.019169 +vt 0.158097 0.140518 +vt 0.627625 0.874965 +vt 0.627629 0.874973 +vt 0.627384 0.875123 +vt 0.627618 0.874956 +vt 0.627589 0.874876 +vt 0.627630 0.874955 +vt 0.018618 0.084922 +vt 0.109473 0.438606 +vt 0.069597 0.430501 +vt 0.741444 0.847382 +vt 0.625836 0.878862 +vt 0.064259 0.379388 +vt 0.064978 0.366420 +vt 0.627428 0.871563 +vt 0.628978 0.872019 +vt 0.628135 0.873423 +vt 0.364434 0.748935 +vt 0.246003 0.765954 +vt 0.448320 0.601887 +vt 0.300331 0.623593 +vt 0.617284 0.883369 +vt 0.625836 0.878863 +vt 0.627641 0.874964 +vt 0.627640 0.874959 +vt 0.627778 0.875020 +vt 0.634529 0.893125 +vt 0.638847 0.845287 +vt 0.668233 0.762908 +vt 0.628054 0.875006 +vt 0.628388 0.874736 +vt 0.627204 0.873583 +vt 0.627920 0.874189 +vt 0.625383 0.871042 +vt 0.627436 0.874544 +vt 0.627622 0.874463 +vt 0.809658 0.957074 +vt 0.349442 0.677226 +vt 0.246003 0.680718 +vt 0.627686 0.874836 +vt 0.627701 0.874782 +vt 0.644708 0.672220 +vt 0.609287 0.666604 +vt 0.444313 0.653002 +vt 0.441388 0.598876 +vt 0.488130 0.601166 +vt 0.627481 0.874893 +vt 0.627858 0.874814 +vt 0.627748 0.874847 +vt 0.627711 0.874770 +vt 0.627666 0.874892 +vt 0.627641 0.874944 +vt 0.791636 0.997469 +vt 0.628045 0.871279 +vt 0.625993 0.870067 +vt 0.362075 0.118353 +vt 0.367060 0.120569 +vt 0.368293 0.131712 +vt 0.588062 0.613544 +vt 0.587398 0.644546 +vt 0.180190 0.571646 +vt 0.078263 0.603592 +vt 0.133548 0.546839 +vt 0.628915 0.870641 +vt 0.628916 0.870642 +vt 0.624494 0.860385 +vt 0.370967 0.118840 +vt 0.385885 0.113299 +vt 0.378589 0.127706 +vt 0.139997 0.740593 +vt 0.065192 0.695694 +vt 0.161065 0.678202 +vt 0.628925 0.870627 +vt 0.370753 0.110376 +vt 0.423172 0.013353 +vt 0.400905 0.144679 +vt 0.156267 0.141233 +vt 0.155932 0.114871 +vt 0.196074 0.096997 +vt 0.365027 0.109303 +vt 0.365938 0.114250 +vt 0.360704 0.113012 +vt 0.469922 0.206333 +vt 0.367144 0.116038 +vt 0.369258 0.114908 +vt 0.377026 0.135407 +vt 0.139350 0.094789 +vt 0.231244 0.172740 +vt 0.135804 0.159843 +vt 0.627715 0.874765 +vt 0.110571 0.152780 +vt 0.629681 0.874688 +vt 0.625832 0.878859 +vt 0.625834 0.878862 +vt 0.627532 0.875215 +vt 0.446959 0.566848 +vt 0.420947 0.649460 +vt 0.427083 0.522414 +vt 0.057517 0.385463 +vt 0.059493 0.370775 +vt 0.060466 0.357303 +vt 0.067590 0.384749 +vt 0.080992 0.432409 +vt 0.066050 0.371561 +vt 0.016655 0.327416 +vt 0.047632 0.274354 +vt 0.054886 0.743944 +vt 0.024153 0.442457 +vt 0.110929 0.494889 +vt 0.123185 0.413696 +vt 0.093743 0.309490 +vt 0.462074 0.646293 +vt 0.447565 0.565272 +vt 0.473889 0.590729 +vt 0.468573 0.520686 +vt 0.103367 0.254861 +vt 0.450661 0.747976 +vt 0.015054 0.433813 +vt 0.552003 0.600558 +vt 0.398114 0.556631 +vt 0.344537 0.551692 +vt 0.390819 0.509409 +vt 0.627677 0.874864 +vt 0.627285 0.874947 +vt 0.627313 0.874728 +vt 0.581677 0.907221 +vt 0.875697 0.782508 +vt 0.425797 0.551063 +vt 0.440095 0.510415 +vt 0.398479 0.611069 +vt 0.389436 0.650653 +vt 0.345044 0.618865 +vt 0.627752 0.874892 +vt 0.627719 0.874924 +vt 0.628128 0.875428 +vt 0.627583 0.874829 +vt 0.627919 0.875195 +vt 0.393315 0.564694 +vt 0.412114 0.594087 +vt 0.627804 0.875540 +vt 0.627699 0.875238 +vt 0.627862 0.874934 +vt 0.381198 0.574872 +vt 0.434229 0.628469 +vt 0.400922 0.605278 +vt 0.977090 0.769013 +vt 0.999030 0.635651 +vt 0.627715 0.874759 +vt 0.627938 0.874598 +vt 0.478679 0.540567 +vt 0.825106 0.770608 +vt 0.812637 0.632334 +vt 0.628076 0.874774 +vt 0.377201 0.572247 +vt 0.377833 0.628368 +vt 0.347180 0.593406 +vt 0.375988 0.678983 +vt 0.368944 0.740095 +vt 0.382961 0.681614 +vt 0.387282 0.118884 +vt 0.382237 0.121057 +vt 0.704161 0.596264 +vt 0.748357 0.670212 +vt 0.702775 0.655986 +vt 0.100610 0.195217 +vt 0.056106 0.159344 +vt 0.674631 0.745369 +vt 0.591911 0.701337 +vt 0.656758 0.701677 +vt 0.128110 0.844231 +vt 0.246003 0.831314 +vt 0.420553 0.654590 +vt 0.317842 0.551439 +vt 0.427113 0.605689 +vt 0.337919 0.650734 +vt 0.327005 0.573439 +vt 0.365797 0.529197 +vt 0.379872 0.524316 +vt 0.404314 0.557881 +vt 0.373200 0.851469 +vt 0.451642 0.554559 +vt 0.363896 0.844231 +vt 0.364071 0.692190 +vt 0.470471 0.857323 +vt 0.401829 0.672138 +vt 0.430134 0.145068 +vt 0.625834 0.878863 +vt 0.625832 0.878896 +vt 0.388593 0.113501 +vt 0.384266 0.109800 +vt 0.402262 0.064958 +vt 0.391027 0.242210 +vt 0.279375 0.206821 +vt 0.378330 0.119328 +vt 0.192979 0.159149 +vt 0.054437 0.377823 +vt 0.627637 0.874969 +vt 0.062532 0.351207 +vt 0.070939 0.355367 +vt 0.660611 0.556130 +vt 0.026363 0.309977 +vt 0.577969 0.509071 +vt 0.597501 0.556817 +vt 0.682896 0.512709 +vt 0.441507 0.612886 +vt 0.391658 0.519698 +vt 0.246003 0.644169 +vt 0.569368 0.743431 +vt 0.549067 0.659708 +vt 0.155310 0.199942 +vt 0.625850 0.878881 +vt 0.628857 0.874021 +vt 0.628216 0.874439 +vt 0.627795 0.874513 +vt 0.614344 0.820225 +vt 0.443960 0.572803 +vt 0.789458 0.871149 +vt 0.772781 0.758523 +vt 0.752363 0.635651 +vt 0.505674 0.585205 +vt 0.774619 0.889047 +vt 0.627704 0.874753 +vt 0.628914 0.870641 +vt 0.155067 0.058040 +vt 0.487993 0.600257 +vt 0.481885 0.626329 +vt 0.474131 0.649034 +vt 0.412795 0.659021 +vt 0.477885 0.637754 +vt 0.080623 0.648200 +vt 0.003758 0.852169 +vt 0.011371 0.741014 +vt 0.336245 0.962753 +vt 0.401964 0.648043 +vt 0.487398 0.863823 +vt 0.367375 0.163644 +vt 0.376927 0.137497 +vt 0.319163 0.144580 +vt 0.347036 0.064472 +vt 0.059381 0.095416 +vt 0.358270 0.241722 +vt 0.627700 0.874765 +vt 0.052427 0.150861 +vt 0.090075 0.196859 +vt 0.069884 0.359319 +vt 0.486503 0.614543 +vt 0.628925 0.870640 +vt 0.058982 0.364431 +vt 0.746986 0.577758 +vt 0.491581 0.748183 +vt 0.496093 0.859730 +vt 0.360538 0.747248 +vt 0.436631 0.097947 +vt 0.456179 0.638060 +vt 0.343737 0.680950 +vt 0.342794 0.645562 +vt 0.149212 0.645562 +vt 0.505549 0.676522 +vt 0.627712 0.874750 +vt 0.454762 0.688359 +vt 0.126714 0.847652 +vt 0.312671 0.097460 +vt 0.098149 0.053780 +vt 0.050510 0.633658 +s 1 +usemtl Material.001 +f 20/1/1 109/2/2 100/3/3 +f 5/4/4 1/5/5 12/6/6 +f 16/7/7 94/8/8 217/9/9 +f 223/10/10 184/11/11 183/12/12 +f 19/13/13 18/14/14 121/15/15 +f 218/16/16 31/17/17 6/18/18 +f 75/19/19 69/20/20 76/21/21 +f 100/3/3 119/22/22 217/9/9 +f 31/23/17 32/24/23 6/25/18 +f 220/26/24 72/27/25 73/28/26 +f 218/16/16 6/18/18 1/5/5 +f 17/29/27 104/30/28 23/31/29 +f 18/14/14 117/32/30 222/33/31 +f 134/34/32 96/35/33 213/36/34 +f 20/1/1 4/37/35 2/38/36 +f 219/39/37 32/24/23 94/40/8 +f 29/41/38 7/42/39 4/37/35 +f 181/43/40 228/44/41 127/45/42 +f 223/10/10 185/46/43 184/11/11 +f 140/47/44 40/48/45 35/49/46 +f 39/50/47 43/51/48 33/52/49 +f 50/53/50 33/52/49 43/51/48 +f 49/54/51 198/55/52 34/56/53 +f 207/57/54 137/58/55 145/59/56 +f 140/47/44 155/60/57 44/61/58 +f 154/62/59 198/63/52 158/64/60 +f 205/65/61 201/66/62 195/67/63 +f 220/26/24 73/28/26 74/68/64 +f 53/69/65 52/70/66 59/71/67 +f 57/72/68 65/73/69 56/74/70 +f 52/70/66 53/69/65 225/75/71 +f 53/69/65 55/76/72 57/72/68 +f 68/77/73 93/78/74 77/79/75 +f 54/80/76 64/81/77 55/76/72 +f 66/82/78 59/71/67 67/83/79 +f 237/84/80 87/85/81 88/86/82 +f 26/87/83 93/78/74 68/77/73 +f 220/26/24 78/88/84 72/27/25 +f 70/89/85 92/90/86 11/91/87 +f 231/92/88 10/93/89 69/94/20 +f 69/20/20 75/19/19 231/95/88 +f 220/26/24 75/19/19 76/21/21 +f 220/26/24 68/77/73 77/79/75 +f 83/96/90 89/97/91 88/86/82 +f 220/26/24 77/79/75 78/88/84 +f 220/26/24 74/68/64 75/19/19 +f 220/26/24 76/21/21 68/77/73 +f 134/34/32 221/98/92 100/3/3 +f 225/99/71 7/42/39 29/41/38 +f 89/97/91 82/100/93 232/101/94 +f 135/102/95 216/103/96 97/104/97 +f 47/105/98 196/106/99 201/66/62 +f 203/107/100 207/57/54 145/59/56 +f 198/55/52 199/108/101 34/56/53 +f 196/106/99 195/67/63 201/66/62 +f 32/109/23 31/17/17 224/110/102 +f 25/111/103 93/112/74 24/113/104 +f 217/9/9 94/8/8 3/114/105 +f 133/115/106 118/116/107 221/98/92 +f 112/117/108 122/118/109 109/2/2 +f 103/119/110 97/104/97 107/120/111 +f 98/121/112 135/102/95 103/119/110 +f 125/122/113 106/123/114 127/45/42 +f 222/33/31 226/124/115 18/14/14 +f 85/125/116 201/66/62 206/126/117 +f 108/127/118 228/44/41 128/128/119 +f 139/129/120 141/130/121 140/47/44 +f 222/131/31 138/132/122 118/133/107 +f 11/91/87 116/134/123 231/92/88 +f 218/16/16 5/4/4 7/42/39 +f 126/135/124 102/136/125 180/137/126 +f 10/93/89 13/138/127 26/139/83 +f 221/98/92 134/34/32 133/115/106 +f 222/33/31 133/140/106 226/124/115 +f 214/141/128 216/103/96 135/102/95 +f 135/102/95 215/142/129 214/141/128 +f 216/103/96 213/36/34 96/35/33 +f 164/143/130 172/144/131 163/145/132 +f 140/47/44 44/61/58 40/48/45 +f 151/146/133 140/47/44 146/147/134 +f 151/146/133 155/60/57 140/47/44 +f 199/148/101 150/149/135 137/150/55 +f 132/151/136 131/152/137 226/153/115 +f 141/130/121 146/147/134 140/47/44 +f 171/154/138 130/155/139 165/156/140 +f 195/157/63 236/158/141 205/159/61 +f 35/49/46 139/129/120 140/47/44 +f 226/153/115 169/160/142 132/151/136 +f 130/155/139 170/161/143 227/162/144 +f 165/156/140 130/155/139 168/163/145 +f 187/164/146 188/165/147 180/166/126 +f 162/167/148 178/168/149 173/169/150 +f 130/155/139 161/170/151 168/163/145 +f 177/171/152 178/168/149 176/172/153 +f 174/173/154 163/145/132 165/156/140 +f 172/144/131 177/171/152 171/154/138 +f 4/37/35 3/114/105 29/41/38 +f 223/10/10 183/12/12 189/174/155 +f 128/175/119 129/176/156 187/164/146 +f 180/137/126 179/177/157 126/135/124 +f 223/10/10 129/176/156 186/178/158 +f 223/10/10 188/165/147 187/164/146 +f 223/10/10 189/174/155 188/165/147 +f 223/10/10 186/178/158 185/46/43 +f 223/10/10 187/164/146 129/176/156 +f 100/3/3 217/9/9 3/114/105 +f 119/22/22 100/3/3 221/98/92 +f 5/4/4 218/16/16 1/5/5 +f 131/152/137 214/141/128 215/142/129 +f 103/119/110 135/102/95 97/104/97 +f 219/39/37 18/14/14 32/24/23 +f 120/179/159 109/2/2 122/118/109 +f 30/180/160 7/42/39 53/181/65 +f 11/91/87 92/90/86 15/182/161 +f 91/183/162 90/184/163 237/185/80 +f 191/186/164 234/187/165 190/188/166 +f 193/189/167 209/190/168 235/191/169 +f 211/192/170 190/188/166 210/193/171 +f 236/158/141 195/157/63 212/194/172 +f 212/195/172 194/196/173 209/190/168 +f 194/196/173 149/197/174 209/190/168 +f 149/197/174 208/198/175 209/190/168 +f 212/199/172 211/200/170 236/201/141 +f 210/202/171 236/201/141 211/200/170 +f 210/193/171 208/198/175 204/203/176 +f 90/204/163 47/105/98 85/125/116 +f 89/97/91 83/96/90 90/205/163 +f 4/37/35 100/3/3 3/114/105 +f 152/206/177 155/60/57 151/146/133 +f 33/207/49 16/208/7 217/209/9 +f 111/210/178 228/44/41 108/127/118 +f 23/211/29 104/212/28 116/134/123 +f 16/7/7 219/213/37 94/8/8 +f 99/214/179 17/29/27 19/13/13 +f 17/29/27 6/25/18 19/13/13 +f 7/42/39 2/38/36 4/37/35 +f 136/215/180 217/209/9 119/216/22 +f 34/217/53 117/218/30 219/219/37 +f 111/210/178 102/136/125 110/220/181 +f 111/210/178 9/221/182 13/138/127 +f 20/1/1 21/222/183 109/2/2 +f 111/210/178 10/93/89 105/223/184 +f 112/117/108 21/222/183 22/224/185 +f 84/225/186 207/57/54 202/226/187 +f 22/224/185 8/227/188 14/228/189 +f 24/113/104 110/220/181 115/229/190 +f 12/6/6 14/228/189 8/227/188 +f 105/223/184 127/45/42 228/44/41 +f 12/6/6 11/91/87 15/182/161 +f 110/220/181 126/135/124 115/229/190 +f 115/229/190 22/224/185 24/113/104 +f 50/230/50 219/219/37 16/208/7 +f 202/226/187 144/231/191 197/232/192 +f 17/29/27 99/214/179 104/30/28 +f 231/92/88 116/134/123 10/93/89 +f 105/223/184 10/93/89 116/134/123 +f 120/179/159 100/3/3 109/2/2 +f 19/13/13 32/24/23 18/14/14 +f 1/233/5 23/31/29 11/234/87 +f 229/235/193 114/236/194 126/135/124 +f 121/15/15 99/214/179 19/13/13 +f 221/237/92 136/215/180 119/216/22 +f 123/238/195 125/239/113 104/30/28 +f 115/229/190 124/240/196 112/117/108 +f 38/241/197 160/242/198 37/243/199 +f 76/21/21 69/20/20 68/77/73 +f 49/244/51 34/245/53 50/246/50 +f 61/247/200 54/80/76 62/248/201 +f 135/102/95 98/121/112 215/142/129 +f 41/249/202 37/250/199 36/251/203 +f 222/131/31 34/217/53 138/132/122 +f 74/68/64 92/252/86 70/253/85 +f 160/254/198 142/255/204 159/256/205 +f 38/241/197 202/226/187 197/232/192 +f 160/254/198 36/251/203 37/250/199 +f 153/257/206 196/106/99 157/258/207 +f 139/129/120 142/255/204 141/130/121 +f 139/129/120 36/251/203 159/256/205 +f 237/259/80 90/204/163 85/125/116 +f 42/260/208 38/241/197 37/243/199 +f 43/261/48 48/262/209 49/263/51 +f 83/264/90 84/225/186 38/241/197 +f 88/265/82 86/266/210 84/225/186 +f 46/267/211 47/105/98 90/204/163 +f 191/186/164 211/192/170 212/195/172 +f 33/52/49 136/268/180 207/57/54 +f 207/57/54 39/50/47 33/52/49 +f 196/106/99 46/269/211 157/258/207 +f 198/63/52 48/262/209 158/64/60 +f 85/125/116 47/105/98 201/66/62 +f 50/246/50 43/270/48 49/244/51 +f 65/73/69 54/80/76 56/74/70 +f 34/245/53 199/271/101 138/272/122 +f 58/273/212 54/80/76 61/247/200 +f 32/109/23 58/274/212 28/275/213 +f 64/81/77 57/72/68 55/76/72 +f 63/276/214 58/273/212 61/247/200 +f 225/75/71 51/277/215 52/70/66 +f 27/278/216 63/276/214 51/277/215 +f 57/72/68 224/279/102 30/280/160 +f 51/277/215 63/276/214 67/83/79 +f 66/82/78 61/247/200 62/248/201 +f 62/248/201 55/76/72 60/281/217 +f 224/279/102 56/74/70 58/273/212 +f 53/69/65 57/72/68 30/280/160 +f 61/247/200 67/83/79 63/276/214 +f 67/83/79 52/70/66 51/277/215 +f 66/82/78 60/281/217 59/71/67 +f 53/69/65 60/281/217 55/76/72 +f 62/248/201 60/281/217 66/82/78 +f 25/282/103 77/79/75 93/78/74 +f 70/89/85 11/91/87 231/92/88 +f 80/283/218 232/101/94 82/100/93 +f 70/253/85 231/95/88 75/19/19 +f 69/94/20 10/93/89 26/139/83 +f 26/87/83 68/77/73 69/20/20 +f 71/284/219 25/111/103 24/113/104 +f 80/283/218 89/97/91 90/205/163 +f 79/285/220 88/86/82 81/286/221 +f 45/287/222 40/48/45 44/61/58 +f 91/288/162 237/84/80 79/285/220 +f 155/60/57 45/287/222 44/61/58 +f 28/275/213 94/8/8 32/109/23 +f 152/206/177 157/289/207 156/290/223 +f 157/289/207 45/287/222 156/290/223 +f 46/291/211 41/249/202 45/287/222 +f 40/48/45 36/251/203 35/49/46 +f 207/57/54 200/292/224 202/226/187 +f 207/57/54 136/268/180 137/58/55 +f 87/293/81 39/50/47 86/266/210 +f 43/261/48 237/259/80 48/262/209 +f 158/294/60 85/125/116 206/126/117 +f 86/266/210 39/50/47 207/57/54 +f 205/65/61 158/294/60 206/126/117 +f 143/295/225 147/296/226 142/255/204 +f 80/283/218 90/205/163 91/288/162 +f 92/252/86 72/27/25 71/297/219 +f 30/180/160 218/16/16 7/42/39 +f 74/68/64 70/253/85 75/19/19 +f 25/282/103 72/27/25 78/88/84 +f 3/114/105 28/275/213 27/298/216 +f 29/41/38 27/298/216 225/99/71 +f 95/299/227 122/118/109 101/300/228 +f 218/16/16 224/110/102 31/17/17 +f 229/235/193 113/301/229 114/236/194 +f 133/115/106 222/302/31 118/116/107 +f 96/35/33 100/3/3 120/179/159 +f 137/303/55 118/133/107 138/132/122 +f 124/240/196 126/135/124 114/236/194 +f 95/299/227 107/120/111 97/104/97 +f 98/304/112 123/238/195 121/15/15 +f 120/179/159 95/299/227 96/35/33 +f 216/103/96 95/299/227 97/104/97 +f 128/128/119 102/136/125 108/127/118 +f 114/236/194 107/120/111 101/300/228 +f 14/228/189 24/113/104 22/224/185 +f 107/120/111 106/123/114 103/119/110 +f 125/239/113 103/305/110 106/306/114 +f 147/296/226 153/307/206 152/206/177 +f 121/15/15 226/124/115 98/304/112 +f 215/308/129 98/304/112 226/124/115 +f 23/211/29 116/134/123 11/91/87 +f 113/301/229 230/309/230 106/123/114 +f 101/300/228 124/240/196 114/236/194 +f 9/221/182 26/139/83 13/138/127 +f 216/103/96 130/310/139 227/310/144 +f 127/45/42 230/309/230 181/43/40 +f 179/311/157 188/165/147 189/174/155 +f 142/255/204 146/147/134 141/130/121 +f 152/206/177 146/147/134 147/296/226 +f 137/58/55 150/312/135 145/59/56 +f 203/107/100 208/313/175 200/292/224 +f 199/148/101 154/62/59 150/149/135 +f 194/314/173 143/315/225 144/231/191 +f 200/292/224 149/316/174 144/231/191 +f 205/159/61 236/158/141 210/317/171 +f 148/318/231 194/319/173 212/194/172 +f 131/152/137 161/151/151 214/141/128 +f 199/320/101 137/321/55 138/322/122 +f 130/155/139 176/172/153 170/161/143 +f 216/103/96 161/151/151 130/310/139 +f 168/163/145 167/323/232 175/324/233 +f 163/145/132 175/324/233 167/323/232 +f 132/325/136 163/145/132 167/323/232 +f 132/325/136 173/169/150 164/143/130 +f 162/167/148 227/162/144 170/161/143 +f 173/169/150 166/326/234 162/167/148 +f 182/327/235 183/12/12 184/11/11 +f 131/328/137 168/163/145 161/170/151 +f 172/144/131 165/156/140 163/145/132 +f 132/325/136 167/323/232 131/328/137 +f 178/168/149 164/143/130 173/169/150 +f 178/168/149 170/161/143 176/172/153 +f 128/128/119 228/44/41 129/329/156 +f 176/172/153 171/154/138 177/171/152 +f 186/178/158 230/330/230 185/46/43 +f 174/173/154 168/163/145 175/324/233 +f 183/12/12 179/311/157 189/174/155 +f 185/46/43 182/327/235 184/11/11 +f 181/331/40 186/178/158 129/176/156 +f 172/144/131 164/143/130 177/171/152 +f 209/190/168 191/186/164 212/195/172 +f 128/175/119 187/164/146 180/166/126 +f 126/135/124 179/177/157 229/235/193 +f 181/43/40 129/329/156 228/44/41 +f 190/188/166 208/198/175 210/193/171 +f 235/191/169 191/186/164 193/189/167 +f 192/332/236 209/190/168 208/198/175 +f 227/310/144 213/36/34 216/103/96 +f 144/231/191 160/242/198 197/232/192 +f 144/231/191 149/316/174 194/314/173 +f 154/62/59 210/317/171 150/149/135 +f 145/59/56 204/333/176 203/107/100 +f 226/153/115 133/115/106 169/160/142 +f 226/153/115 131/152/137 215/142/129 +f 134/34/32 169/160/142 133/115/106 +f 213/36/34 166/334/234 134/34/32 +f 104/212/28 127/45/42 116/134/123 +f 104/30/28 99/214/179 123/238/195 +f 21/222/183 2/38/36 8/227/188 +f 18/14/14 219/39/37 117/32/30 +f 24/113/104 93/112/74 9/221/182 +f 205/65/61 206/126/117 201/66/62 +f 12/6/6 2/38/36 5/4/4 +f 71/284/219 15/182/161 92/90/86 +f 225/99/71 53/181/65 7/42/39 +f 58/274/212 32/109/23 224/110/102 +f 81/286/221 89/97/91 232/101/94 +f 24/113/104 14/228/189 71/284/219 +f 79/285/220 80/283/218 91/288/162 +f 232/101/94 79/285/220 81/286/221 +f 233/335/237 80/283/218 79/285/220 +f 235/191/169 190/188/166 234/187/165 +f 154/62/59 199/148/101 198/63/52 +f 112/117/108 124/240/196 122/118/109 +f 171/154/138 176/172/153 130/155/139 +f 4/37/35 20/1/1 100/3/3 +f 152/206/177 156/290/223 155/60/57 +f 33/207/49 50/230/50 16/208/7 +f 111/210/178 105/223/184 228/44/41 +f 17/29/27 1/233/5 6/25/18 +f 7/42/39 5/4/4 2/38/36 +f 136/215/180 33/207/49 217/209/9 +f 111/210/178 108/127/118 102/136/125 +f 111/210/178 110/220/181 9/221/182 +f 111/210/178 13/138/127 10/93/89 +f 112/117/108 109/2/2 21/222/183 +f 84/225/186 86/266/210 207/57/54 +f 22/224/185 21/222/183 8/227/188 +f 24/113/104 9/221/182 110/220/181 +f 12/6/6 15/182/161 14/228/189 +f 105/223/184 116/134/123 127/45/42 +f 12/6/6 1/5/5 11/91/87 +f 110/220/181 102/136/125 126/135/124 +f 115/229/190 112/117/108 22/224/185 +f 50/230/50 34/217/53 219/219/37 +f 202/226/187 200/292/224 144/231/191 +f 19/13/13 6/25/18 32/24/23 +f 1/233/5 17/29/27 23/31/29 +f 121/15/15 123/238/195 99/214/179 +f 221/237/92 137/303/55 136/215/180 +f 115/229/190 126/135/124 124/240/196 +f 38/241/197 197/232/192 160/242/198 +f 41/249/202 42/336/208 37/250/199 +f 222/131/31 117/218/30 34/217/53 +f 74/68/64 73/28/26 92/252/86 +f 160/254/198 143/295/225 142/255/204 +f 38/241/197 84/225/186 202/226/187 +f 160/254/198 159/256/205 36/251/203 +f 153/257/206 195/67/63 196/106/99 +f 139/129/120 159/256/205 142/255/204 +f 139/129/120 35/49/46 36/251/203 +f 42/260/208 83/264/90 38/241/197 +f 83/264/90 88/265/82 84/225/186 +f 88/265/82 87/293/81 86/266/210 +f 83/337/90 42/338/208 90/204/163 +f 42/338/208 46/267/211 90/204/163 +f 191/186/164 190/188/166 211/192/170 +f 196/106/99 47/339/98 46/269/211 +f 198/63/52 49/263/51 48/262/209 +f 65/73/69 64/81/77 54/80/76 +f 58/273/212 56/74/70 54/80/76 +f 64/81/77 65/73/69 57/72/68 +f 63/276/214 28/340/213 58/273/212 +f 225/75/71 27/278/216 51/277/215 +f 27/278/216 28/340/213 63/276/214 +f 57/72/68 56/74/70 224/279/102 +f 62/248/201 54/80/76 55/76/72 +f 61/247/200 66/82/78 67/83/79 +f 67/83/79 59/71/67 52/70/66 +f 53/69/65 59/71/67 60/281/217 +f 25/282/103 78/88/84 77/79/75 +f 80/283/218 233/335/237 232/101/94 +f 80/283/218 82/100/93 89/97/91 +f 79/285/220 237/84/80 88/86/82 +f 45/287/222 41/249/202 40/48/45 +f 155/60/57 156/290/223 45/287/222 +f 152/206/177 153/307/206 157/289/207 +f 157/289/207 46/291/211 45/287/222 +f 46/291/211 42/336/208 41/249/202 +f 40/48/45 41/249/202 36/251/203 +f 207/57/54 203/107/100 200/292/224 +f 87/293/81 43/51/48 39/50/47 +f 87/341/81 237/259/80 43/261/48 +f 237/259/80 85/342/116 48/262/209 +f 158/294/60 48/343/209 85/125/116 +f 205/65/61 154/344/59 158/294/60 +f 143/295/225 148/345/231 147/296/226 +f 92/252/86 73/28/26 72/27/25 +f 25/282/103 71/297/219 72/27/25 +f 3/114/105 94/8/8 28/275/213 +f 29/41/38 3/114/105 27/298/216 +f 95/299/227 120/179/159 122/118/109 +f 218/16/16 30/180/160 224/110/102 +f 229/235/193 182/346/235 113/301/229 +f 96/35/33 134/34/32 100/3/3 +f 137/303/55 221/237/92 118/133/107 +f 95/299/227 101/300/228 107/120/111 +f 98/304/112 103/305/110 123/238/195 +f 216/103/96 96/35/33 95/299/227 +f 128/128/119 180/137/126 102/136/125 +f 114/236/194 113/301/229 107/120/111 +f 107/120/111 113/301/229 106/123/114 +f 125/239/113 123/238/195 103/305/110 +f 147/296/226 148/345/231 153/307/206 +f 121/15/15 18/14/14 226/124/115 +f 113/301/229 182/346/235 230/309/230 +f 101/300/228 122/118/109 124/240/196 +f 9/221/182 93/112/74 26/139/83 +f 127/45/42 106/123/114 230/309/230 +f 179/311/157 180/166/126 188/165/147 +f 142/255/204 147/296/226 146/147/134 +f 152/206/177 151/146/133 146/147/134 +f 203/107/100 204/333/176 208/313/175 +f 194/314/173 148/347/231 143/315/225 +f 200/292/224 208/313/175 149/316/174 +f 195/157/63 153/348/206 212/194/172 +f 153/348/206 148/318/231 212/194/172 +f 216/103/96 214/141/128 161/151/151 +f 163/145/132 174/173/154 175/324/233 +f 132/325/136 164/143/130 163/145/132 +f 132/325/136 169/349/142 173/169/150 +f 162/167/148 166/326/234 227/162/144 +f 173/169/150 169/349/142 166/326/234 +f 182/327/235 229/350/193 183/12/12 +f 131/328/137 167/323/232 168/163/145 +f 172/144/131 171/154/138 165/156/140 +f 178/168/149 177/171/152 164/143/130 +f 178/168/149 162/167/148 170/161/143 +f 186/178/158 181/331/40 230/330/230 +f 174/173/154 165/156/140 168/163/145 +f 183/12/12 229/350/193 179/311/157 +f 185/46/43 230/330/230 182/327/235 +f 209/190/168 193/189/167 191/186/164 +f 190/188/166 192/332/236 208/198/175 +f 235/191/169 234/187/165 191/186/164 +f 192/332/236 235/191/169 209/190/168 +f 144/231/191 143/315/225 160/242/198 +f 205/159/61 210/317/171 154/62/59 +f 210/317/171 204/351/176 150/149/135 +f 145/59/56 150/312/135 204/333/176 +f 134/34/32 166/334/234 169/160/142 +f 213/36/34 227/310/144 166/334/234 +f 104/212/28 125/122/113 127/45/42 +f 21/222/183 20/1/1 2/38/36 +f 12/6/6 8/227/188 2/38/36 +f 71/284/219 14/228/189 15/182/161 +f 81/286/221 88/86/82 89/97/91 +f 232/101/94 233/335/237 79/285/220 +f 235/191/169 192/332/236 190/188/166 diff --git a/models/player/walk.md5anim b/models/player/walk.md5anim index 93a0c06..1c078a5 100644 --- a/models/player/walk.md5anim +++ b/models/player/walk.md5anim @@ -1,1865 +1,1865 @@ -MD5Version 10 // Parameters used during export: Reorient: False; Scale: 1.0 -commandline "" - -numFrames 62 -numJoints 25 -frameRate 60 -numAnimatedComponents 150 - -hierarchy { - "mixamorig:Hips" -1 63 0 // - "mixamorig:Spine" 0 63 6 // - "mixamorig:Spine1" 1 63 12 // - "mixamorig:Spine2" 2 63 18 // - "mixamorig:Neck" 3 63 24 // - "mixamorig:Head" 4 63 30 // - "mixamorig:HeadTop_End" 5 63 36 // - "mixamorig:LeftShoulder" 3 63 42 // - "mixamorig:LeftArm" 7 63 48 // - "mixamorig:LeftForeArm" 8 63 54 // - "mixamorig:LeftHand" 9 63 60 // - "mixamorig:RightShoulder" 3 63 66 // - "mixamorig:RightArm" 11 63 72 // - "mixamorig:RightForeArm" 12 63 78 // - "mixamorig:RightHand" 13 63 84 // - "mixamorig:LeftUpLeg" 0 63 90 // - "mixamorig:LeftLeg" 15 63 96 // - "mixamorig:LeftFoot" 16 63 102 // - "mixamorig:LeftToeBase" 17 63 108 // - "mixamorig:LeftToe_End" 18 63 114 // - "mixamorig:RightUpLeg" 0 63 120 // - "mixamorig:RightLeg" 20 63 126 // - "mixamorig:RightFoot" 21 63 132 // - "mixamorig:RightToeBase" 22 63 138 // - "mixamorig:RightToe_End" 23 63 144 // -} - -bounds { - ( -0.7690112591 0.0130460672 -0.6869345903 ) ( 0.8198037148 3.2776222229 0.6293076873 ) - ( -0.7654815316 0.0152218007 -0.6848248243 ) ( 0.8233009577 3.2803814411 0.6309520006 ) - ( -0.7602080107 0.0175263640 -0.6792608500 ) ( 0.8285005093 3.2818369865 0.6357978582 ) - ( -0.7565621734 0.0195722040 -0.6745953560 ) ( 0.8320342302 3.2809326649 0.6395508051 ) - ( -0.7534568906 0.0214859284 -0.6692540050 ) ( 0.8350012898 3.2787103653 0.6437878013 ) - ( -0.7516501546 0.0210171156 -0.6627959609 ) ( 0.8366671801 3.2738223076 0.6489366293 ) - ( -0.7498255372 0.0218453109 -0.6562877297 ) ( 0.8383355141 3.2688672543 0.6540952921 ) - ( -0.7479836941 0.0239449479 -0.6497297883 ) ( 0.8400065303 3.2638447285 0.6592631340 ) - ( -0.7474930286 0.0245627146 -0.6429661512 ) ( 0.8403551579 3.2565832138 0.6647189856 ) - ( -0.7471907735 0.0252159797 -0.6366874576 ) ( 0.8405394554 3.2483377457 0.6699254513 ) - ( -0.7466645241 0.0256596357 -0.6348811388 ) ( 0.8410266638 3.2404839993 0.6716330051 ) - ( -0.7461405396 0.0272797104 -0.6330261827 ) ( 0.8415015936 3.2326018810 0.6733726859 ) - ( -0.7456189990 0.0300516151 -0.6311231852 ) ( 0.8419649005 3.2246904373 0.6751442552 ) - ( -0.7444692254 0.0335572138 -0.6386801004 ) ( 0.8431410193 3.2176165581 0.6691085100 ) - ( -0.7433210611 0.0381747335 -0.6461675763 ) ( 0.8442857862 3.2104532719 0.6630891562 ) - ( -0.7416805029 0.0427098721 -0.6580638885 ) ( 0.8459398746 3.2051630020 0.6538401842 ) - ( -0.7400332689 0.0303214602 -0.6698958278 ) ( 0.8475584984 3.1996626854 0.6445352435 ) - ( -0.7383792400 0.0183016676 -0.6816620827 ) ( 0.8491407037 3.1939520836 0.6351764202 ) - ( -0.7369148731 0.0225029141 -0.6911210418 ) ( 0.8505424261 3.1923093796 0.6281216145 ) - ( -0.7354109883 0.0178308152 -0.6992620230 ) ( 0.8519964218 3.1924839020 0.6219094396 ) - ( -0.7338173389 0.0137353316 -0.7056880593 ) ( 0.8535726070 3.1940002441 0.6167638302 ) - ( -0.7323048115 0.0143442228 -0.7127656341 ) ( 0.8551234007 3.1978335381 0.6102328897 ) - ( -0.7304475307 0.0142214745 -0.7166767120 ) ( 0.8570655584 3.2039716244 0.6060970426 ) - ( -0.7277284861 0.0141291451 -0.7137023807 ) ( 0.8598854542 3.2139196396 0.6080901027 ) - ( -0.7241564393 0.0139550706 -0.7083755732 ) ( 0.8635703325 3.2254877090 0.6117745638 ) - ( -0.7206552029 0.0130311893 -0.7011157274 ) ( 0.8671791553 3.2366137505 0.6167758107 ) - ( -0.7172763348 0.0136898132 -0.6937646270 ) ( 0.8706465364 3.2475817204 0.6217334270 ) - ( -0.7146784663 0.0136561301 -0.6867564917 ) ( 0.8733301759 3.2569353580 0.6261819601 ) - ( -0.7130106688 0.0136127379 -0.6793866754 ) ( 0.8750630021 3.2652788162 0.6311582923 ) - ( -0.7125003934 0.0132087590 -0.6700797677 ) ( 0.8755943775 3.2728004456 0.6384427547 ) - ( -0.7138450146 0.0130875260 -0.6631118059 ) ( 0.8742155433 3.2778518200 0.6439070702 ) - ( -0.7176538110 0.0129884817 -0.6562746763 ) ( 0.8702574372 3.2803323269 0.6500672102 ) - ( -0.7213707566 0.0142393289 -0.6493711472 ) ( 0.8663427234 3.2827217579 0.6562758684 ) - ( -0.7275395393 0.0145214545 -0.6441575289 ) ( 0.8598570228 3.2815971375 0.6614631414 ) - ( -0.7345279455 0.0146008004 -0.6387752295 ) ( 0.8524862528 3.2788100243 0.6670643687 ) - ( -0.7417979240 0.0140575226 -0.6334035397 ) ( 0.8448455930 3.2733817101 0.6727272272 ) - ( -0.7490024567 0.0150444265 -0.6279437542 ) ( 0.8372298479 3.2678647041 0.6784591675 ) - ( -0.7558799386 0.0156663693 -0.6226255298 ) ( 0.8300533891 3.2598781586 0.6839175820 ) - ( -0.7622795105 0.0171161778 -0.6164174080 ) ( 0.8234605789 3.2508540154 0.6901251078 ) - ( -0.7680613995 0.0183883943 -0.6104680300 ) ( 0.8176102042 3.2418079376 0.6959877014 ) - ( -0.7727510929 0.0196554810 -0.6084332466 ) ( 0.8130818605 3.2326307297 0.6982004642 ) - ( -0.7774097323 0.0238135122 -0.6063272357 ) ( 0.8085833788 3.2234208584 0.7004650235 ) - ( -0.7820364237 0.0292629041 -0.6041499376 ) ( 0.8041150570 3.2141799927 0.7027810812 ) - ( -0.7853567004 0.0318517126 -0.6088851690 ) ( 0.8011176586 3.2060446739 0.6989673972 ) - ( -0.7872954607 0.0230414644 -0.6191437840 ) ( 0.7995414734 3.1995942593 0.6904717088 ) - ( -0.7892119884 0.0148172900 -0.6293479204 ) ( 0.7979608774 3.1930065155 0.6819806099 ) - ( -0.7894099951 0.0021576621 -0.6425211430 ) ( 0.7980738878 3.1889915466 0.6712079048 ) - ( -0.7885838747 -0.0055490285 -0.6541781425 ) ( 0.7991502881 3.1877150536 0.6621385813 ) - ( -0.7878558636 0.0017282963 -0.6657773852 ) ( 0.8000573516 3.1879167557 0.6530739069 ) - ( -0.7866743803 0.0152590862 -0.6740572453 ) ( 0.8013402224 3.1912202835 0.6470522285 ) - ( -0.7852150202 0.0165399462 -0.6827995181 ) ( 0.8028205633 3.1945526600 0.6401272416 ) - ( -0.7841096520 0.0154608022 -0.6898432970 ) ( 0.8038659096 3.1998810768 0.6343676448 ) - ( -0.7846274972 0.0125986803 -0.6951781511 ) ( 0.8032072783 3.2075438499 0.6297594309 ) - ( -0.7863612771 0.0128998170 -0.6988865733 ) ( 0.8012703657 3.2167980671 0.6262462139 ) - ( -0.7884252667 0.0129759470 -0.7020421624 ) ( 0.7989854813 3.2265834808 0.6228107214 ) - ( -0.7896816134 0.0120607270 -0.7023791075 ) ( 0.7976192236 3.2367019653 0.6216524839 ) - ( -0.7908563614 0.0127046909 -0.7026696801 ) ( 0.7963367701 3.2467858791 0.6205112934 ) - ( -0.7908005118 0.0127969906 -0.7019649744 ) ( 0.7965091467 3.2555460930 0.6199895144 ) - ( -0.7888357639 0.0128388423 -0.7004734278 ) ( 0.7987760305 3.2626106739 0.6200946569 ) - ( -0.7845950723 0.0128760524 -0.6964010000 ) ( 0.8034416437 3.2691068649 0.6226791143 ) - ( -0.7783799171 0.0129376836 -0.6924594045 ) ( 0.8100885153 3.2740764618 0.6250723600 ) - ( -0.7690111995 0.0130463019 -0.6869351268 ) ( 0.8198037148 3.2776222229 0.6293068528 ) -} - -baseframe { - ( 0.0000050068 0.7780786753 0.0214254875 ) ( -0.0000000000 -0.0000000000 -0.0000000000 ) - ( 0.0000000000 0.1770023108 -0.0009516347 ) ( 0.0026881641 -0.0000000000 -0.0000000000 ) - ( 0.0000000000 0.2065057456 -0.0000000023 ) ( 0.0000000042 -0.0000000000 -0.0000000000 ) - ( 0.0000000000 0.2360067219 0.0000000005 ) ( 0.0000000042 -0.0000000000 -0.0000000000 ) - ( 0.0000000000 0.2655072510 0.0000000028 ) ( -0.0026881725 -0.0000000000 -0.0000000000 ) - ( 0.0000000000 0.3947657347 -0.0401370823 ) ( -0.0000000000 -0.0000000000 -0.0000000000 ) - ( 0.0000000000 1.2101047039 -0.1230351999 ) ( -0.0000000000 -0.0000000000 -0.0000000000 ) - ( 0.0778401271 0.2149246335 0.0011441763 ) ( -0.6256202459 -0.3355365694 0.6165115833 ) - ( -0.0000000012 0.1860864162 0.0000000018 ) ( -0.0929389596 0.0027408842 0.0293500740 ) - ( -0.0000000028 0.2763552964 0.0000000867 ) ( 0.0149857560 0.0005682616 -0.0378924794 ) - ( -0.0000000065 0.3389307559 -0.0000000972 ) ( -0.0000000378 0.0000000341 0.0000000056 ) - ( -0.0778401271 0.2149398476 -0.0016879914 ) ( -0.6142975092 0.3417052925 -0.6277292371 ) - ( -0.0000000037 0.1860862821 -0.0000001551 ) ( -0.0930364579 0.0003407767 0.0036459784 ) - ( 0.0000000019 0.2760953903 0.0000000816 ) ( 0.0149027547 -0.0002345784 0.0157293510 ) - ( 0.0000000005 0.3388734460 -0.0000000035 ) ( 0.0000002375 -0.0000000079 0.0000000135 ) - ( 0.1861518174 -0.0983439088 -0.0044584572 ) ( -0.0002614523 -0.0164730735 0.9997389913 ) - ( -0.0000000196 0.3293979168 -0.0000000008 ) ( -0.0034133261 0.0000098612 0.0026536337 ) - ( -0.0000000188 0.2477990985 0.0000000010 ) ( -0.3401664197 -0.2407970428 0.0905603021 ) - ( 0.0000000144 0.0675944164 -0.0000000047 ) ( -0.4292519093 0.0104676560 -0.0049753017 ) - ( 0.0000000141 0.0427611358 0.0000000004 ) ( 0.0000002872 -0.0000005488 0.0000004763 ) - ( -0.1861518174 -0.0983439088 -0.0087781679 ) ( -0.0001303761 0.0082231257 -0.9998407960 ) - ( -0.0000000109 0.3292638361 -0.0000000005 ) ( 0.0076488191 0.0000197466 -0.0026609255 ) - ( -0.0000000124 0.2478392422 -0.0000000001 ) ( -0.4255259931 0.1628392488 -0.0781428888 ) - ( -0.0000000123 0.0799339041 0.0000000019 ) ( -0.3500214219 -0.0016251154 0.0006072879 ) - ( 0.0000000126 0.0583351627 -0.0000000048 ) ( 0.0000001371 0.0000002218 -0.0000002390 ) -} - -frame 0 { - 0.0058503244 0.7704677582 -0.0048820209 -0.0086344583 -0.0225504953 0.0070268088 - -0.0000000014 0.1770024002 -0.0009516320 0.0009044576 -0.0040692152 0.0038613472 - 0.0000000019 0.2065057755 0.0000000021 -0.0033856903 -0.0060042515 -0.0043889782 - -0.0000000010 0.2360068262 0.0000000010 -0.0033856963 -0.0060042748 -0.0043889750 - 0.0000000007 0.2655072510 0.0000000009 -0.0026923516 0.0039511151 0.0105528077 - 0.0000000041 0.3947654963 -0.0401370786 -0.0235005524 0.0268053003 -0.0160073414 - 0.0000000003 1.2101049423 -0.1230351627 -0.0000000000 -0.0000000003 -0.0000000001 - 0.0778401345 0.2149245292 0.0011441750 -0.7156860828 -0.2697965801 0.5411212444 - -0.0000000019 0.1860865057 -0.0000000806 -0.1015061960 0.0861561671 0.0369898565 - -0.0000000037 0.2763551772 -0.0000000723 -0.0879930630 -0.0835359246 -0.3043867648 - -0.0000000447 0.3389307261 -0.0000000186 -0.0000000186 0.0000000335 0.0000000075 - -0.0778401196 0.2149397284 -0.0016879933 -0.6741984487 0.2987586260 -0.5976017118 - 0.0000000075 0.1860863566 0.0000000955 -0.1316784322 -0.0834347010 -0.1467200071 - 0.0000000056 0.2760955691 0.0000000068 -0.1178876162 0.0614951961 0.2305466086 - -0.0000000224 0.3388734460 0.0000000712 0.0000002026 -0.0000000093 0.0000000186 - 0.1861518323 -0.0983439088 -0.0044584554 0.0669171363 0.1714293361 0.9821910858 - -0.0000000065 0.3293979764 -0.0000000037 0.6008620262 -0.0110958414 0.0017875767 - 0.0000000000 0.2477990538 0.0000000037 -0.4581557214 -0.2472454011 0.0519815832 - 0.0000000168 0.0675943792 0.0000000009 -0.4486361444 -0.0152796851 0.0000862294 - 0.0000000205 0.0427611433 -0.0000000056 0.0000003120 -0.0000005476 0.0000004768 - -0.1861518025 -0.0983438790 -0.0087781642 -0.0725823790 0.0732444450 0.9942476153 - -0.0000000200 0.3292638958 0.0000000037 0.1407783628 0.0699299574 -0.0103526758 - 0.0000000146 0.2478393316 0.0000000005 -0.4663488865 0.1899610609 -0.0191553831 - -0.0000000095 0.0799338818 0.0000000000 -0.3888241947 0.0057526552 0.0098785674 - -0.0000000054 0.0583351701 -0.0000000004 0.0000001015 0.0000002370 -0.0000002286 -} - -frame 1 { - 0.0054730019 0.7732385397 -0.0049909595 -0.0088482993 -0.0168970469 0.0068170135 - -0.0000000003 0.1770022810 -0.0009516338 0.0008249178 -0.0050971503 0.0045634098 - -0.0000000001 0.2065059394 0.0000000017 -0.0035372998 -0.0089728385 -0.0025650102 - -0.0000000022 0.2360067219 0.0000000003 -0.0035372979 -0.0089728404 -0.0025650105 - 0.0000000027 0.2655073404 0.0000000016 -0.0031918087 0.0050960579 0.0059322664 - -0.0000000041 0.3947655261 -0.0401370898 -0.0232078861 0.0261579845 -0.0126151368 - 0.0000000013 1.2101044655 -0.1230352223 0.0000000000 0.0000000005 -0.0000000000 - 0.0778401420 0.2149247229 0.0011441717 -0.7130418420 -0.2733647227 0.5423126817 - -0.0000000037 0.1860864460 -0.0000000633 -0.1138909757 0.0852042288 0.0616785325 - 0.0000000012 0.2763551176 0.0000000442 -0.0829592571 -0.0779750124 -0.2994464636 - -0.0000000447 0.3389307857 0.0000000000 -0.0000000559 0.0000000373 -0.0000000000 - -0.0778401196 0.2149400264 -0.0016879961 -0.6737190485 0.3008517623 -0.5952281952 - 0.0000000000 0.1860865206 0.0000000270 -0.1315550953 -0.0992663503 -0.1544358283 - -0.0000000205 0.2760955691 -0.0000000289 -0.1274723709 0.0363622680 0.2750009894 - -0.0000000075 0.3388732970 -0.0000000014 0.0000001872 -0.0000000112 0.0000000149 - 0.1861518323 -0.0983438641 -0.0044584577 0.0664002821 0.2016744912 0.9766364098 - -0.0000000205 0.3293980062 0.0000000112 0.5793343186 -0.0004080181 -0.0000258005 - -0.0000000214 0.2477990687 -0.0000000242 -0.4575015903 -0.2479040325 0.0500915684 - 0.0000000037 0.0675944090 -0.0000000056 -0.4505521357 -0.0081850886 -0.0038456852 - -0.0000000168 0.0427611545 -0.0000000028 0.0000002952 -0.0000005607 0.0000004843 - -0.1861518174 -0.0983438492 -0.0087781660 -0.0754977092 0.0481056422 0.9955485463 - -0.0000000144 0.3292638361 -0.0000000056 0.1328574121 0.0728988200 -0.0103211189 - -0.0000000217 0.2478393018 0.0000000005 -0.4703365862 0.1919984818 -0.0157951899 - -0.0000000055 0.0799338967 0.0000000000 -0.3905808628 0.0066916868 0.0103895795 - -0.0000000133 0.0583351739 0.0000000005 0.0000000927 0.0000002405 -0.0000002331 -} - -frame 2 { - 0.0051399693 0.7746454477 -0.0043798555 -0.0087397685 -0.0116149103 0.0077068326 - -0.0000000002 0.1770022660 -0.0009516349 0.0007273695 -0.0060632434 0.0048236204 - -0.0000000008 0.2065057755 -0.0000000019 -0.0037296989 -0.0117676146 -0.0013723621 - 0.0000000038 0.2360066324 -0.0000000016 -0.0037296948 -0.0117676184 -0.0013723602 - -0.0000000006 0.2655073404 -0.0000000012 -0.0075472607 0.0053683436 0.0040260539 - 0.0000000029 0.3947656453 -0.0401370786 -0.0196418352 0.0259517040 -0.0130316876 - 0.0000000003 1.2101045847 -0.1230351925 0.0000000037 0.0000000001 -0.0000000000 - 0.0778401420 0.2149246931 0.0011441731 -0.7080736160 -0.2794453502 0.5458763838 - -0.0000000130 0.1860863715 -0.0000000561 -0.1246626750 0.0800282508 0.0765554085 - 0.0000000056 0.2763552368 0.0000000224 -0.0791773349 -0.0787264854 -0.2906492352 - 0.0000000149 0.3389307261 -0.0000000708 -0.0000000391 0.0000000335 0.0000000037 - -0.0778401196 0.2149399370 -0.0016879975 -0.6758658886 0.2998867035 -0.5913384557 - -0.0000000037 0.1860864311 -0.0000000498 -0.1300045848 -0.1146208346 -0.1537965089 - 0.0000000000 0.2760954797 0.0000000066 -0.1357719302 0.0172305815 0.3042150736 - 0.0000000298 0.3388732970 -0.0000000985 0.0000001879 -0.0000000101 0.0000000037 - 0.1861518174 -0.0983439609 -0.0044584568 0.0649689883 0.2275681943 0.9711376429 - -0.0000000019 0.3293980360 -0.0000000261 0.5474726558 0.0105678989 -0.0032828660 - -0.0000000061 0.2477990836 0.0000000112 -0.4531188309 -0.2485404462 0.0491409786 - -0.0000000102 0.0675943941 0.0000000037 -0.4614570439 -0.0048982804 -0.0091483481 - -0.0000000019 0.0427611470 0.0000000088 0.0000002990 -0.0000005579 0.0000004983 - -0.1861517876 -0.0983439833 -0.0087781660 -0.0784553140 0.0206537899 0.9962553382 - 0.0000000021 0.3292638063 0.0000000042 0.1208841354 0.0766963884 -0.0107492954 - 0.0000000208 0.2478393018 -0.0000000014 -0.4727994502 0.1929929107 -0.0147830211 - -0.0000000021 0.0799338892 0.0000000036 -0.3905337155 0.0076203179 0.0107666720 - -0.0000000003 0.0583351701 0.0000000045 0.0000000994 0.0000002393 -0.0000002160 -} - -frame 3 { - 0.0049972134 0.7739002109 -0.0041352045 -0.0083624814 -0.0066619632 0.0091713276 - 0.0000000007 0.1770023108 -0.0009516364 0.0002368330 -0.0070341453 0.0049317172 - -0.0000000000 0.2065058500 -0.0000000018 -0.0047155502 -0.0143911373 -0.0001643044 - -0.0000000044 0.2360066622 0.0000000015 -0.0047155572 -0.0143911541 -0.0001643057 - 0.0000000036 0.2655070722 0.0000000070 -0.0071925903 0.0068070809 -0.0018671884 - 0.0000000024 0.3947655261 -0.0401370898 -0.0192452483 0.0245661139 -0.0092612468 - -0.0000000013 1.2101051807 -0.1230351850 -0.0000000018 -0.0000000009 0.0000000001 - 0.0778401345 0.2149245292 0.0011441801 -0.7066113949 -0.2809962630 0.5474590659 - 0.0000000056 0.1860864609 -0.0000000214 -0.1278648525 0.0708996281 0.0965995714 - 0.0000000044 0.2763551772 -0.0000000577 -0.0779278427 -0.0795542896 -0.2942091525 - -0.0000000447 0.3389307857 0.0000000391 -0.0000000317 0.0000000149 0.0000000112 - -0.0778401271 0.2149397731 -0.0016879924 -0.6745421290 0.3032214046 -0.5888224840 - -0.0000000186 0.1860865504 -0.0000001648 -0.1313426197 -0.1256655902 -0.1368662566 - -0.0000000043 0.2760954201 -0.0000000507 -0.1417231411 0.0053637219 0.3217707872 - 0.0000000149 0.3388733566 0.0000000400 0.0000002000 -0.0000000079 0.0000000130 - 0.1861518323 -0.0983439088 -0.0044584591 0.0594901927 0.2480705976 0.9665572047 - 0.0000000161 0.3293980658 -0.0000000056 0.5077090263 0.0237933695 -0.0086242463 - -0.0000000148 0.2477990687 -0.0000000014 -0.4476981163 -0.2487287223 0.0496049002 - -0.0000000084 0.0675943792 0.0000000000 -0.4866221249 0.0289368462 -0.0336130895 - 0.0000000093 0.0427611284 -0.0000000009 0.0000003031 -0.0000005607 0.0000004987 - -0.1861518025 -0.0983438641 -0.0087781688 -0.0813823864 -0.0033456348 0.9962329865 - -0.0000000107 0.3292638361 0.0000000038 0.1174049899 0.0805894509 -0.0122029716 - 0.0000000186 0.2478393167 0.0000000093 -0.4798533916 0.1945700347 -0.0118929446 - -0.0000000054 0.0799339041 0.0000000065 -0.3909425735 0.0079849940 0.0111966981 - -0.0000000009 0.0583351627 -0.0000000019 0.0000000974 0.0000002396 -0.0000002277 -} - -frame 4 { - 0.0050409026 0.7718482614 -0.0036091488 -0.0076904246 -0.0022664173 0.0107179666 - -0.0000000010 0.1770023555 -0.0009516365 -0.0002594983 -0.0079684760 0.0047034281 - -0.0000000023 0.2065058351 -0.0000000006 -0.0057133655 -0.0167348310 0.0002241125 - 0.0000000012 0.2360068262 -0.0000000007 -0.0057133655 -0.0167348273 0.0002241129 - -0.0000000069 0.2655074000 -0.0000000056 -0.0079312921 0.0075129294 -0.0046530450 - 0.0000000021 0.3947654665 -0.0401370823 -0.0183624886 0.0237243231 -0.0071100839 - -0.0000000018 1.2101045847 -0.1230352372 0.0000000001 0.0000000004 -0.0000000003 - 0.0778401271 0.2149246633 0.0011441763 -0.7062858939 -0.2807337046 0.5492771864 - 0.0000000056 0.1860865951 0.0000000373 -0.1299069971 0.0604205318 0.1151785180 - 0.0000000019 0.2763552070 0.0000000673 -0.0769657120 -0.0823619440 -0.2976707220 - 0.0000000596 0.3389309049 -0.0000000354 -0.0000000447 0.0000000373 0.0000000037 - -0.0778401196 0.2149399072 -0.0016879933 -0.6746534705 0.3047552109 -0.5856691599 - -0.0000000037 0.1860864609 -0.0000001127 -0.1279212981 -0.1343410164 -0.1179115027 - 0.0000000158 0.2760954797 0.0000000199 -0.1453479826 -0.0032387436 0.3379523158 - -0.0000000224 0.3388734460 -0.0000000503 0.0000002026 0.0000000107 0.0000000056 - 0.1861518025 -0.0983439013 -0.0044584577 0.0570836589 0.2681042552 0.9613606930 - 0.0000000248 0.3293979466 0.0000000112 0.4679441750 0.0334374197 -0.0090352660 - -0.0000000305 0.2477990538 0.0000000121 -0.4414082766 -0.2509108484 0.0450774133 - -0.0000000014 0.0675943866 0.0000000149 -0.4812765419 0.0276419427 -0.0311256293 - -0.0000000042 0.0427611284 0.0000000009 0.0000003087 -0.0000005565 0.0000004985 - -0.1861518025 -0.0983439013 -0.0087781688 -0.0842015594 -0.0282568634 0.9956401587 - 0.0000000102 0.3292638659 0.0000000037 0.1136699542 0.0846359506 -0.0145819904 - 0.0000000099 0.2478393614 0.0000000247 -0.4877247512 0.1964110732 -0.0086061824 - 0.0000000112 0.0799338892 -0.0000000075 -0.3916606903 0.0074443133 0.0117354719 - 0.0000000001 0.0583351627 0.0000000043 0.0000000977 0.0000002393 -0.0000002317 -} - -frame 5 { - 0.0051902938 0.7670725584 -0.0023954436 -0.0069122803 0.0009711288 0.0117607787 - 0.0000000006 0.1770023257 -0.0009516345 -0.0005590644 -0.0088721570 0.0044986950 - -0.0000000013 0.2065058351 -0.0000000015 -0.0063241902 -0.0185687505 0.0007170364 - -0.0000000041 0.2360067517 -0.0000000037 -0.0063241911 -0.0185687393 0.0007170344 - -0.0000000047 0.2655074894 -0.0000000005 -0.0113282688 0.0082701137 -0.0079254108 - 0.0000000036 0.3947657645 -0.0401370898 -0.0161778815 0.0227861293 -0.0050709001 - 0.0000000011 1.2101047039 -0.1230352372 0.0000000000 -0.0000000001 -0.0000000001 - 0.0778401345 0.2149246782 0.0011441745 -0.7044672370 -0.2830255330 0.5503349900 - 0.0000000037 0.1860865355 -0.0000000438 -0.1368186921 0.0525374003 0.1292736530 - 0.0000000205 0.2763552666 0.0000000701 -0.0756692588 -0.0876818523 -0.2935870290 - -0.0000000522 0.3389306962 0.0000000037 -0.0000000447 0.0000000279 0.0000000186 - -0.0778401271 0.2149400562 -0.0016879989 -0.6743252277 0.3062961400 -0.5836421847 - -0.0000000037 0.1860864162 -0.0000000959 -0.1250526011 -0.1404378861 -0.0925640091 - -0.0000000019 0.2760953605 0.0000001311 -0.1407915503 -0.0091359587 0.3440032005 - 0.0000000000 0.3388734460 0.0000000079 0.0000002137 -0.0000000079 -0.0000000000 - 0.1861518174 -0.0983438715 -0.0044584568 0.0544516817 0.2837089002 0.9570563436 - -0.0000000235 0.3293979764 -0.0000000298 0.4215138853 0.0371134393 -0.0084459838 - 0.0000000131 0.2477990687 -0.0000000037 -0.4244415462 -0.2524687946 0.0429261923 - -0.0000000092 0.0675944090 0.0000000000 -0.4760980904 0.0171031486 -0.0243916642 - 0.0000000040 0.0427611545 -0.0000000026 0.0000003097 -0.0000005561 0.0000004797 - -0.1861517876 -0.0983439833 -0.0087781651 -0.0873206258 -0.0531236418 0.9944491386 - 0.0000000172 0.3292638958 -0.0000000056 0.1126787290 0.0896303728 -0.0179779138 - 0.0000000208 0.2478393018 0.0000000014 -0.4977199733 0.1983327419 -0.0048396424 - -0.0000000122 0.0799339116 0.0000000037 -0.4002713859 0.0103091747 0.0141608622 - 0.0000000041 0.0583351664 -0.0000000004 0.0000000978 0.0000002392 -0.0000002170 -} - -frame 6 { - 0.0053396844 0.7622969151 -0.0011817385 -0.0061340476 0.0042087026 0.0128034651 - -0.0000000019 0.1770022810 -0.0009516333 -0.0008586303 -0.0097758332 0.0042939582 - -0.0000000039 0.2065057904 0.0000000003 -0.0069349925 -0.0204026047 0.0012099599 - -0.0000000086 0.2360068262 -0.0000000029 -0.0069349906 -0.0204026047 0.0012099530 - -0.0000000044 0.2655074000 -0.0000000030 -0.0147250658 0.0090271272 -0.0111976732 - -0.0000000026 0.3947657943 -0.0401370600 -0.0139931105 0.0218477100 -0.0030316487 - 0.0000000029 1.2101044655 -0.1230351776 0.0000000001 -0.0000000001 -0.0000000002 - 0.0778401345 0.2149248421 0.0011441717 -0.7026417255 -0.2853146493 0.5513873696 - -0.0000000037 0.1860864758 -0.0000000321 -0.1436896175 0.0446352884 0.1433326006 - 0.0000000149 0.2763552964 0.0000000981 -0.0743691847 -0.0929978639 -0.2894892097 - -0.0000000075 0.3389307559 -0.0000000233 -0.0000000391 0.0000000335 0.0000000112 - -0.0778401271 0.2149399817 -0.0016879966 -0.6739870906 0.3078326881 -0.5816066861 - 0.0000000186 0.1860862821 0.0000001164 -0.1220950931 -0.1464415640 -0.0671347380 - -0.0000000037 0.2760954201 0.0000000102 -0.1362213641 -0.0150328679 0.3500220180 - -0.0000000149 0.3388734460 0.0000000484 0.0000002163 -0.0000000005 0.0000000056 - 0.1861518025 -0.0983440205 -0.0044584558 0.0518042631 0.2992410064 0.9524918795 - -0.0000000033 0.3293980360 0.0000000224 0.3738168478 0.0406989455 -0.0078322506 - -0.0000000057 0.2477990687 -0.0000000037 -0.4073152244 -0.2539360225 0.0407586507 - -0.0000000040 0.0675943941 -0.0000000037 -0.4708262086 0.0065590004 -0.0176516697 - -0.0000000163 0.0427611247 0.0000000118 0.0000003100 -0.0000005551 0.0000005100 - -0.1861518025 -0.0983439386 -0.0087781660 -0.0903856009 -0.0779722705 0.9926184416 - 0.0000000152 0.3292638958 -0.0000000075 0.1116832718 0.0946216285 -0.0213732906 - 0.0000000189 0.2478392869 -0.0000000116 -0.5076388121 0.2002236247 -0.0010717032 - 0.0000000051 0.0799338967 -0.0000000037 -0.4088420272 0.0131732961 0.0165850334 - 0.0000000077 0.0583351515 -0.0000000029 0.0000000979 0.0000002398 -0.0000002241 -} - -frame 7 { - 0.0054890756 0.7575212121 0.0000319667 -0.0053557460 0.0074461862 0.0138459802 - 0.0000000018 0.1770023108 -0.0009516347 -0.0011581943 -0.0106794974 0.0040892162 - -0.0000000001 0.2065058500 -0.0000000018 -0.0075457646 -0.0222363789 0.0017028735 - -0.0000000044 0.2360069603 -0.0000000029 -0.0075457632 -0.0222363696 0.0017028666 - -0.0000000005 0.2655071318 0.0000000035 -0.0181214437 0.0097839199 -0.0144695984 - -0.0000000026 0.3947657049 -0.0401370823 -0.0118082101 0.0209090766 -0.0009923849 - 0.0000000015 1.2101044655 -0.1230351925 0.0000000001 0.0000000002 -0.0000000002 - 0.0778401345 0.2149245888 0.0011441708 -0.7008093596 -0.2876009643 0.5524345040 - 0.0000000019 0.1860864460 -0.0000000442 -0.1505132765 0.0367216729 0.1573422253 - -0.0000000373 0.2763551772 0.0000000667 -0.0730655715 -0.0983091593 -0.2853778303 - 0.0000000224 0.3389307857 0.0000000242 -0.0000000391 0.0000000391 0.0000000093 - -0.0778401271 0.2149397880 -0.0016879933 -0.6736391783 0.3093647361 -0.5795627832 - -0.0000000186 0.1860864460 -0.0000000624 -0.1190550551 -0.1523395479 -0.0416765511 - 0.0000000084 0.2760954499 -0.0000000163 -0.1316386908 -0.0209277794 0.3560072780 - 0.0000000447 0.3388732672 -0.0000000405 0.0000002047 0.0000000040 0.0000000205 - 0.1861518323 -0.0983439237 -0.0044584577 0.0491435602 0.3146879375 0.9476712346 - 0.0000000140 0.3293980658 -0.0000000149 0.3252393901 0.0441648886 -0.0071990294 - -0.0000000233 0.2477990687 -0.0000000163 -0.3900477290 -0.2553108931 0.0385771431 - -0.0000000019 0.0675943941 -0.0000000224 -0.4654639661 -0.0039843661 -0.0109095601 - 0.0000000028 0.0427611545 0.0000000028 0.0000003162 -0.0000005569 0.0000004913 - -0.1861517876 -0.0983439758 -0.0087781670 -0.0933905691 -0.1027548835 0.9901515245 - -0.0000000172 0.3292637765 -0.0000000037 0.1106836051 0.0996091291 -0.0247677267 - 0.0000000200 0.2478393614 -0.0000000071 -0.5174765587 0.2020828873 0.0026957807 - 0.0000000061 0.0799339190 0.0000000000 -0.4173698723 0.0160357542 0.0190072991 - 0.0000000027 0.0583351851 -0.0000000010 0.0000000979 0.0000002394 -0.0000002318 -} - -frame 8 { - 0.0058398959 0.7505010962 0.0012786128 -0.0051601953 0.0102017578 0.0140981348 - -0.0000000003 0.1770023108 -0.0009516344 -0.0013682669 -0.0116736908 0.0039983303 - 0.0000000039 0.2065057307 0.0000000006 -0.0079815015 -0.0239262506 0.0024215418 - -0.0000000031 0.2360067368 0.0000000012 -0.0079815043 -0.0239262357 0.0024215470 - 0.0000000035 0.2655073702 0.0000000107 -0.0209967177 0.0106709916 -0.0179872327 - -0.0000000013 0.3947656155 -0.0401370935 -0.0098142950 0.0202079918 0.0008170827 - 0.0000000000 1.2101044655 -0.1230352446 0.0000000038 -0.0000000010 -0.0000000003 - 0.0778401420 0.2149246484 0.0011441847 -0.6975350976 -0.2919504046 0.5535973310 - 0.0000000019 0.1860864162 0.0000000147 -0.1612430811 0.0342945158 0.1667544246 - -0.0000000037 0.2763552964 -0.0000000093 -0.0696819499 -0.1045632288 -0.2746305466 - 0.0000000205 0.3389308453 0.0000000182 -0.0000000456 0.0000000447 0.0000000019 - -0.0778401121 0.2149399221 -0.0016879875 -0.6751255393 0.3089475036 -0.5761041045 - -0.0000000149 0.1860863566 -0.0000001574 -0.1159514487 -0.1534063667 -0.0164854955 - 0.0000000363 0.2760954201 -0.0000000629 -0.1182331592 -0.0260983501 0.3575580120 - -0.0000000745 0.3388733864 0.0000000470 0.0000002114 -0.0000000005 0.0000000186 - 0.1861518025 -0.0983439237 -0.0044584568 0.0459977798 0.3287514150 0.9430841804 - 0.0000000126 0.3293979466 0.0000000075 0.2753580809 0.0410965607 -0.0073484005 - -0.0000000102 0.2477990687 -0.0000000177 -0.3626645505 -0.2540715635 0.0436342619 - -0.0000000121 0.0675944164 0.0000000298 -0.4692305624 0.0023769774 -0.0151308114 - 0.0000000270 0.0427611545 0.0000000051 0.0000003106 -0.0000005532 0.0000005020 - -0.1861518025 -0.0983439684 -0.0087781670 -0.0955472216 -0.1261296123 0.9873228669 - -0.0000000158 0.3292638659 0.0000000037 0.1116957814 0.1043934450 -0.0281047896 - -0.0000000149 0.2478393614 -0.0000000020 -0.5270362496 0.2035558373 0.0055402918 - -0.0000000086 0.0799338967 0.0000000037 -0.4289762080 0.0204463825 0.0225269888 - -0.0000000043 0.0583351664 -0.0000000010 0.0000000981 0.0000002398 -0.0000002172 -} - -frame 9 { - 0.0063698897 0.7425159216 0.0025056358 -0.0054135248 0.0130795166 0.0141423764 - 0.0000000010 0.1770023108 -0.0009516341 -0.0015143347 -0.0126688536 0.0040642903 - -0.0000000049 0.2065057904 0.0000000005 -0.0082901837 -0.0257589612 0.0034426658 - -0.0000000008 0.2360066622 -0.0000000009 -0.0082901912 -0.0257589724 0.0034426844 - 0.0000000123 0.2655072808 0.0000000056 -0.0228360128 0.0119184861 -0.0226687118 - -0.0000000013 0.3947655559 -0.0401370972 -0.0082526319 0.0194719266 0.0029625187 - -0.0000000007 1.2101047039 -0.1230352148 0.0000000020 0.0000000002 -0.0000000001 - 0.0778401494 0.2149248272 0.0011441670 -0.6970811486 -0.2930795252 0.5524970889 - 0.0000000075 0.1860864908 0.0000001374 -0.1692922115 0.0311307125 0.1795274168 - 0.0000000075 0.2763551474 -0.0000000369 -0.0654936582 -0.1085601822 -0.2676506639 - 0.0000000027 0.3389308155 0.0000000312 -0.0000000345 0.0000000279 -0.0000000075 - -0.0778401121 0.2149399519 -0.0016879954 -0.6744812131 0.3108595014 -0.5740531683 - 0.0000000149 0.1860864908 0.0000001183 -0.1162327603 -0.1536730677 0.0126496032 - 0.0000000149 0.2760954797 -0.0000000210 -0.1028526127 -0.0292600486 0.3519848287 - 0.0000000596 0.3388733864 -0.0000001108 0.0000001923 0.0000000043 0.0000000149 - 0.1861518323 -0.0983439013 -0.0044584577 0.0417458005 0.3427541554 0.9383118153 - 0.0000000037 0.3293979466 0.0000000307 0.2316601574 0.0371353328 -0.0087068146 - -0.0000000373 0.2477990687 -0.0000000205 -0.3407337070 -0.2513350844 0.0519668274 - -0.0000000335 0.0675943941 0.0000000000 -0.4755331576 0.0102824634 -0.0209286623 - 0.0000000168 0.0427611805 0.0000000023 0.0000002970 -0.0000005579 0.0000005029 - -0.1861518174 -0.0983438939 -0.0087781679 -0.0969487950 -0.1433595270 0.9848891497 - 0.0000000028 0.3292639256 -0.0000000037 0.1246877536 0.1080710292 -0.0314148553 - -0.0000000075 0.2478393316 0.0000000647 -0.5364866257 0.2047955543 0.0079386933 - 0.0000000014 0.0799339116 0.0000000000 -0.4471345842 0.0284310095 0.0270289872 - -0.0000000124 0.0583351888 -0.0000000017 0.0000000977 0.0000002399 -0.0000002257 -} - -frame 10 { - 0.0071683042 0.7347428799 0.0023498759 -0.0059723062 0.0167295877 0.0140706040 - 0.0000000004 0.1770022213 -0.0009516350 -0.0014590063 -0.0139649333 0.0044177733 - -0.0000000050 0.2065058500 0.0000000005 -0.0081854546 -0.0279657245 0.0045084208 - 0.0000000026 0.2360066921 -0.0000000056 -0.0081854584 -0.0279657356 0.0045084343 - -0.0000000014 0.2655071914 -0.0000000075 -0.0234232917 0.0134270648 -0.0274409186 - 0.0000000030 0.3947657049 -0.0401370786 -0.0070374273 0.0192021355 0.0042800335 - 0.0000000056 1.2101043463 -0.1230352223 0.0000000002 0.0000000005 0.0000000001 - 0.0778401420 0.2149245888 0.0011441698 -0.6967486143 -0.2937352061 0.5521098971 - 0.0000000037 0.1860864758 -0.0000000249 -0.1745643616 0.0298311207 0.1909282506 - 0.0000000149 0.2763551772 0.0000000601 -0.0610971525 -0.1113972589 -0.2638326585 - 0.0000000075 0.3389307261 0.0000000789 -0.0000000531 0.0000000373 -0.0000000000 - -0.0778401271 0.2149398476 -0.0016880005 -0.6741792560 0.3122213781 -0.5720854402 - 0.0000000037 0.1860864311 -0.0000000820 -0.1169853732 -0.1519870907 0.0354330428 - -0.0000000037 0.2760954201 -0.0000001681 -0.0878658816 -0.0307270177 0.3448660970 - 0.0000000149 0.3388734460 0.0000000035 0.0000002015 0.0000000005 0.0000000112 - 0.1861518323 -0.0983439833 -0.0044584586 0.0389084332 0.3587377667 0.9324417710 - 0.0000000028 0.3293979764 -0.0000000158 0.2130246907 0.0319335610 -0.0110499002 - -0.0000000144 0.2477990091 0.0000000112 -0.3347626328 -0.2484673411 0.0605425574 - 0.0000000373 0.0675944239 0.0000000224 -0.4841942787 0.0179722700 -0.0273878928 - 0.0000000019 0.0427611135 -0.0000000025 0.0000003045 -0.0000005606 0.0000004983 - -0.1861518174 -0.0983439460 -0.0087781679 -0.0987773314 -0.1600592583 0.9821528196 - 0.0000000037 0.3292638958 0.0000000000 0.1332169771 0.1123124138 -0.0327931345 - -0.0000000065 0.2478393316 -0.0000000013 -0.5377008915 0.2049678713 0.0068398933 - -0.0000000070 0.0799339116 -0.0000000130 -0.4688271880 0.0376612917 0.0317652300 - 0.0000000064 0.0583351813 0.0000000029 0.0000000973 0.0000002395 -0.0000002413 -} - -frame 11 { - 0.0079667186 0.7269698977 0.0021941140 -0.0065310113 0.0203794688 0.0139986342 - 0.0000000014 0.1770022810 -0.0009516358 -0.0014036769 -0.0152609823 0.0047712484 - -0.0000000003 0.2065058798 -0.0000000012 -0.0080806771 -0.0301723331 0.0055741551 - 0.0000000002 0.2360066473 -0.0000000023 -0.0080806771 -0.0301723294 0.0055741644 - -0.0000000040 0.2655071616 -0.0000000079 -0.0240099858 0.0149353435 -0.0322125331 - 0.0000000056 0.3947658539 -0.0401370861 -0.0058221952 0.0189322885 0.0055975383 - -0.0000000009 1.2101043463 -0.1230351701 -0.0000000019 0.0000000008 -0.0000000002 - 0.0778401345 0.2149245888 0.0011441698 -0.6964152455 -0.2943905890 0.5517221689 - 0.0000000149 0.1860864609 -0.0000000324 -0.1798079610 0.0285262614 0.2022988200 - -0.0000000373 0.2763552070 0.0000000001 -0.0566978380 -0.1142296344 -0.2600030303 - -0.0000000112 0.3389308155 0.0000000433 -0.0000000289 0.0000000326 0.0000000065 - -0.0778401345 0.2149397731 -0.0016880012 -0.6738687754 0.3135792911 -0.5701104403 - -0.0000000261 0.1860864908 -0.0000000810 -0.1176771894 -0.1502208114 0.0582098626 - -0.0000000075 0.2760954201 0.0000000256 -0.0728488192 -0.0321852900 0.3376435041 - -0.0000001341 0.3388734758 0.0000000051 0.0000002002 -0.0000000013 0.0000000037 - 0.1861518025 -0.0983439609 -0.0044584568 0.0360586084 0.3746191263 0.9262918830 - 0.0000000061 0.3293979466 0.0000000000 0.1942967176 0.0267169662 -0.0133895110 - -0.0000000333 0.2477990985 0.0000000075 -0.3287494183 -0.2455685735 0.0691118985 - 0.0000000000 0.0675944090 0.0000000261 -0.4927595556 0.0256599784 -0.0338428877 - 0.0000000056 0.0427611619 0.0000000037 0.0000003087 -0.0000005574 0.0000004899 - -0.1861518025 -0.0983439535 -0.0087781698 0.1005736962 0.1767114848 -0.9790903926 - -0.0000000019 0.3292638361 0.0000000224 0.1417343765 0.1165434867 -0.0341684110 - 0.0000000158 0.2478393018 -0.0000000380 -0.5389133096 0.2051394731 0.0057410276 - -0.0000000005 0.0799338967 -0.0000000093 -0.4901997149 0.0468712337 0.0364821441 - 0.0000000045 0.0583351590 -0.0000000107 0.0000000982 0.0000002392 -0.0000002343 -} - -frame 12 { - 0.0087651331 0.7191968560 0.0020383541 -0.0070896214 0.0240290314 0.0139264772 - -0.0000000017 0.1770023257 -0.0009516357 -0.0013483444 -0.0165570099 0.0051247147 - -0.0000000060 0.2065059096 0.0000000006 -0.0079758465 -0.0323787369 0.0066398489 - 0.0000000037 0.2360065877 -0.0000000010 -0.0079758428 -0.0323787220 0.0066398457 - -0.0000000095 0.2655070424 -0.0000000042 -0.0245960541 0.0164432041 -0.0369832143 - -0.0000000030 0.3947656155 -0.0401370749 -0.0046069562 0.0186623689 0.0069150194 - 0.0000000021 1.2101044655 -0.1230352074 -0.0000000015 0.0000000001 -0.0000000002 - 0.0778401196 0.2149244845 0.0011441689 -0.6960810423 -0.2950456142 0.5513336658 - 0.0000000000 0.1860865653 -0.0000002270 -0.1850203425 0.0272167940 0.2136333138 - 0.0000000224 0.2763551772 0.0000000201 -0.0522962846 -0.1170569733 -0.2561624944 - -0.0000000051 0.3389307559 -0.0000000559 -0.0000000368 0.0000000378 0.0000000007 - -0.0778401345 0.2149396241 -0.0016879907 -0.6735497117 0.3149331808 -0.5681281686 - 0.0000000410 0.1860864013 -0.0000000764 -0.1183070838 -0.1483768821 0.0809443593 - -0.0000000298 0.2760954797 -0.0000001453 -0.0578147285 -0.0336337276 0.3303236365 - -0.0000000298 0.3388733864 -0.0000000549 0.0000002107 -0.0000000038 0.0000000075 - 0.1861518174 -0.0983439162 -0.0044584582 0.0331988931 0.3903842866 0.9198679328 - 0.0000000061 0.3293979466 0.0000000382 0.1754986495 0.0214917865 -0.0157228373 - -0.0000000051 0.2477990687 0.0000000037 -0.3226964176 -0.2426398396 0.0776716322 - 0.0000000428 0.0675943643 0.0000000000 -0.5012240410 0.0333410017 -0.0402898006 - 0.0000000540 0.0427611284 0.0000000130 0.0000003143 -0.0000005616 0.0000004973 - -0.1861518025 -0.0983438864 -0.0087781651 0.1023362726 0.1932998300 -0.9757050276 - 0.0000000112 0.3292638361 0.0000000000 0.1502372921 0.1207630336 -0.0355402902 - 0.0000000261 0.2478393316 -0.0000000208 -0.5401239395 0.2053104043 0.0046421844 - 0.0000000075 0.0799338967 -0.0000000037 -0.5112063885 0.0560410656 0.0411695838 - 0.0000000104 0.0583351590 0.0000000006 0.0000000980 0.0000002405 -0.0000002346 -} - -frame 13 { - 0.0096428497 0.7119005322 0.0003068615 -0.0069945478 0.0276334621 0.0140192509 - 0.0000000008 0.1770023406 -0.0009516358 -0.0011981725 -0.0178294498 0.0054617180 - 0.0000000066 0.2065055817 -0.0000000017 -0.0076799085 -0.0345816687 0.0075299512 - 0.0000000070 0.2360067517 0.0000000012 -0.0076799029 -0.0345816575 0.0075299549 - 0.0000000019 0.2655072510 0.0000000051 -0.0210522674 0.0175964013 -0.0399990194 - -0.0000000037 0.3947655261 -0.0401370563 -0.0060003554 0.0194163062 0.0058768946 - -0.0000000085 1.2101045847 -0.1230352074 0.0000000001 0.0000000011 -0.0000000001 - 0.0778401420 0.2149246633 0.0011441754 -0.6951782703 -0.2957347333 0.5528963208 - 0.0000000037 0.1860865355 -0.0000000463 -0.1843583286 0.0253618676 0.2262354344 - 0.0000000224 0.2763551474 -0.0000000731 -0.0515768863 -0.1152533665 -0.2678733170 - 0.0000000158 0.3389307261 0.0000000270 -0.0000000456 0.0000000357 0.0000000002 - -0.0778401196 0.2149398625 -0.0016879928 -0.6730554104 0.3169433177 -0.5651704669 - 0.0000000224 0.1860864013 0.0000001835 -0.1218846813 -0.1438594013 0.0879446417 - 0.0000000224 0.2760955393 0.0000000289 -0.0473792069 -0.0363827311 0.3330185711 - 0.0000000894 0.3388733864 -0.0000000746 0.0000001986 0.0000000042 -0.0000000037 - 0.1861518323 -0.0983439088 -0.0044584600 0.0363739431 0.3968148530 0.9169923067 - -0.0000000107 0.3293980360 -0.0000000116 0.1812745035 0.0118352966 -0.0139081636 - -0.0000000098 0.2477990836 -0.0000000102 -0.3333417773 -0.2426762879 0.0770632774 - 0.0000000019 0.0675944090 0.0000000224 -0.5085168481 0.0202337652 -0.0372060463 - -0.0000000093 0.0427610837 -0.0000000102 0.0000003199 -0.0000005644 0.0000004992 - -0.1861518025 -0.0983439311 -0.0087781688 0.1039329320 0.2067495435 -0.9726792574 - -0.0000000075 0.3292638659 0.0000000075 0.1621001363 0.1242311075 -0.0345466845 - 0.0000000168 0.2478393614 0.0000000193 -0.5343742967 0.2047121823 0.0016917353 - 0.0000000028 0.0799338967 0.0000000037 -0.5329656601 0.0635182410 0.0464681275 - 0.0000000045 0.0583351552 -0.0000000007 0.0000000973 0.0000002393 -0.0000002257 -} - -frame 14 { - 0.0105205663 0.7046042085 -0.0014246330 -0.0068993834 0.0312375370 0.0141118392 - 0.0000000012 0.1770023704 -0.0009516356 -0.0010479981 -0.0191018581 0.0057987110 - -0.0000000020 0.2065058053 -0.0000000006 -0.0073839263 -0.0367843807 0.0084200073 - -0.0000000043 0.2360066921 -0.0000000010 -0.0073839212 -0.0367843769 0.0084200166 - 0.0000000033 0.2655072510 -0.0000000047 -0.0175080057 0.0187491793 -0.0430139154 - -0.0000000071 0.3947656751 -0.0401370749 -0.0073937341 0.0201701727 0.0048387502 - 0.0000000017 1.2101049423 -0.1230352148 -0.0000000018 0.0000000001 -0.0000000001 - 0.0778401345 0.2149246037 0.0011441680 -0.6942718029 -0.2964223027 0.5544560552 - -0.0000000075 0.1860864311 -0.0000000087 -0.1836649776 0.0235026535 0.2387991697 - 0.0000000075 0.2763551176 -0.0000001255 -0.0508497879 -0.1134324595 -0.2795439959 - 0.0000000158 0.3389309049 -0.0000000698 -0.0000000310 0.0000000349 0.0000000000 - -0.0778401121 0.2149398774 -0.0016879998 -0.6725422144 0.3189446032 -0.5621970296 - -0.0000000261 0.1860864908 0.0000000512 -0.1254522353 -0.1393300593 0.0949376449 - 0.0000000447 0.2760953307 -0.0000000356 -0.0369378440 -0.0391272418 0.3356722295 - 0.0000000596 0.3388734460 0.0000000618 0.0000001973 0.0000000003 0.0000000075 - 0.1861518174 -0.0983438268 -0.0044584586 0.0395468026 0.4032218158 0.9140621424 - 0.0000000088 0.3293980360 0.0000000210 0.1870265752 0.0021772550 -0.0120916665 - -0.0000000165 0.2477990538 -0.0000000121 -0.3439444005 -0.2426816523 0.0764450952 - 0.0000000335 0.0675944015 -0.0000000224 -0.5156832337 0.0071214857 -0.0341130346 - -0.0000000242 0.0427611470 0.0000000121 0.0000003045 -0.0000005597 0.0000005122 - -0.1861517876 -0.0983438566 -0.0087781651 0.1055059284 0.2201522440 -0.9694321752 - 0.0000000037 0.3292638659 0.0000000335 0.1739371419 0.1276794076 -0.0335475877 - 0.0000000028 0.2478393316 -0.0000000040 -0.5285938978 0.2041021585 -0.0012588208 - 0.0000000093 0.0799339041 0.0000000000 -0.5543207526 0.0709472597 0.0517313890 - 0.0000000091 0.0583351515 -0.0000000019 0.0000000977 0.0000002391 -0.0000002240 -} - -frame 15 { - 0.0116952369 0.6989737749 -0.0025084913 -0.0070098219 0.0333500430 0.0134186186 - -0.0000000003 0.1770022362 -0.0009516328 -0.0004957010 -0.0197899304 0.0060253982 - 0.0000000014 0.2065057009 -0.0000000026 -0.0062912973 -0.0380838513 0.0092723155 - 0.0000000027 0.2360066324 0.0000000028 -0.0062912907 -0.0380838588 0.0092723230 - 0.0000000177 0.2655070126 0.0000000037 -0.0137164528 0.0186735541 -0.0424690396 - -0.0000000038 0.3947655857 -0.0401370749 -0.0090085482 0.0217424836 0.0009050248 - -0.0000000031 1.2101043463 -0.1230351776 -0.0000000001 0.0000000008 0.0000000000 - 0.0778401718 0.2149243504 0.0011441819 -0.6968694329 -0.2929137349 0.5537709594 - -0.0000000019 0.1860862821 -0.0000000856 -0.1800791770 0.0202137921 0.2513740957 - 0.0000000149 0.2763552666 -0.0000000349 -0.0511397086 -0.1073938832 -0.2966829240 - -0.0000000037 0.3389307857 0.0000000410 -0.0000000400 0.0000000347 -0.0000000000 - -0.0778401121 0.2149396539 -0.0016879933 -0.6706143618 0.3213885128 -0.5627007484 - -0.0000000261 0.1860864758 0.0000001900 -0.1307889521 -0.1305160820 0.0903399214 - 0.0000000149 0.2760955095 0.0000001621 -0.0317560248 -0.0416775234 0.3520503342 - 0.0000000447 0.3388733864 -0.0000000147 0.0000002054 -0.0000000080 0.0000000037 - 0.1861518174 -0.0983439162 -0.0044584563 0.0437562317 0.3977428079 0.9163065553 - -0.0000000042 0.3293980360 -0.0000000205 0.1949704438 -0.0101634357 -0.0075451010 - 0.0000000072 0.2477990985 0.0000000214 -0.3318418264 -0.2438336462 0.0743290931 - 0.0000000205 0.0675943792 -0.0000000149 -0.5254772902 0.0025180203 -0.0404851213 - -0.0000000037 0.0427611396 0.0000000261 0.0000003031 -0.0000005653 0.0000005011 - -0.1861518025 -0.0983439237 -0.0087781679 0.1059962511 0.2289593369 -0.9671667218 - 0.0000000037 0.3292638958 -0.0000000224 0.1909675002 0.1277264357 -0.0314204358 - 0.0000000093 0.2478393465 0.0000000165 -0.5084233880 0.2014465779 -0.0099950591 - 0.0000000158 0.0799339041 0.0000000019 -0.5786763430 0.0800949484 0.0557723530 - 0.0000000115 0.0583351888 -0.0000000003 0.0000000999 0.0000002395 -0.0000002263 -} - -frame 16 { - 0.0128699066 0.6933432817 -0.0035923515 -0.0071202293 0.0354624093 0.0127253318 - -0.0000000010 0.1770022362 -0.0009516340 0.0000565990 -0.0204779916 0.0062520797 - -0.0000000012 0.2065058202 0.0000000002 -0.0051986380 -0.0393831730 0.0101245847 - 0.0000000034 0.2360064536 -0.0000000008 -0.0051986384 -0.0393832102 0.0101245977 - -0.0000000061 0.2655071020 0.0000000070 -0.0099246418 0.0185976457 -0.0419234969 - 0.0000000031 0.3947657347 -0.0401370972 -0.0106232148 0.0233143810 -0.0030288007 - 0.0000000039 1.2101045847 -0.1230352223 0.0000000038 -0.0000000010 -0.0000000000 - 0.0778401345 0.2149244547 0.0011441796 -0.6994526982 -0.2893990278 0.5530743003 - 0.0000000065 0.1860864758 0.0000001212 -0.1764588803 0.0169205070 0.2639040947 - 0.0000000075 0.2763552368 0.0000000638 -0.0514117517 -0.1013154685 -0.3137236238 - 0.0000000112 0.3389307261 -0.0000000736 -0.0000000447 0.0000000349 0.0000000047 - -0.0778401271 0.2149396688 -0.0016879903 -0.6686796546 0.3238291442 -0.5631986260 - -0.0000000186 0.1860864609 -0.0000000484 -0.1361095607 -0.1216842085 0.0857300311 - -0.0000000596 0.2760955393 -0.0000000633 -0.0265617557 -0.0442146286 0.3683153093 - 0.0000000298 0.3388733566 0.0000000196 0.0000002149 0.0000000153 0.0000000224 - 0.1861518323 -0.0983439535 -0.0044584568 0.0479634032 0.3922408819 0.9184991121 - -0.0000000061 0.3293980062 -0.0000000279 0.2028697878 -0.0225046482 -0.0029956584 - -0.0000000321 0.2477990538 0.0000000123 -0.3196802437 -0.2449439615 0.0721999407 - 0.0000000056 0.0675944015 0.0000000075 -0.5351700783 -0.0020868548 -0.0468504801 - -0.0000000186 0.0427611545 0.0000000056 0.0000003078 -0.0000005718 0.0000005029 - -0.1861518323 -0.0983439237 -0.0087781660 0.1064740419 0.2377402484 -0.9647864699 - -0.0000000149 0.3292638659 0.0000000000 0.2079448849 0.1277345866 -0.0292830486 - -0.0000000056 0.2478393018 -0.0000000091 -0.4879015982 0.1986554116 -0.0187304225 - 0.0000000065 0.0799338967 0.0000000345 -0.6024679542 0.0891704708 0.0597607084 - -0.0000000235 0.0583351590 -0.0000000065 0.0000000961 0.0000002397 -0.0000002192 -} - -frame 17 { - 0.0140445773 0.6877128482 -0.0046762098 -0.0072305994 0.0375745781 0.0120319864 - -0.0000000012 0.1770023704 -0.0009516362 0.0006088974 -0.0211660340 0.0064787576 - -0.0000000023 0.2065058947 -0.0000000015 -0.0041059647 -0.0406823494 0.0109768175 - 0.0000000063 0.2360064387 -0.0000000022 -0.0041059647 -0.0406823978 0.0109768324 - 0.0000000021 0.2655070722 0.0000000056 -0.0061327401 0.0185214728 -0.0413773805 - 0.0000000061 0.3947656751 -0.0401370898 -0.0122376308 0.0248857662 -0.0069624814 - -0.0000000093 1.2101043463 -0.1230351999 0.0000000039 -0.0000000024 0.0000000003 - 0.0778401494 0.2149245143 0.0011441766 -0.7020212412 -0.2858783603 0.5523662567 - -0.0000000056 0.1860864162 0.0000000240 -0.1728061438 0.0136246653 0.2763820887 - -0.0000000596 0.2763552964 -0.0000000440 -0.0516656674 -0.0952036828 -0.3306483924 - 0.0000000224 0.3389309347 0.0000000261 -0.0000000438 0.0000000326 0.0000000075 - -0.0778401196 0.2149397135 -0.0016879933 -0.6667380333 0.3262663782 -0.5636906028 - -0.0000000335 0.1860865206 -0.0000000512 -0.1414120644 -0.1128379479 0.0811097622 - -0.0000000224 0.2760955095 -0.0000000829 -0.0213603042 -0.0467359945 0.3844507337 - 0.0000000447 0.3388733268 -0.0000000079 0.0000002037 0.0000000015 0.0000000298 - 0.1861518025 -0.0983439311 -0.0044584591 0.0521676131 0.3867170513 0.9206392169 - 0.0000000126 0.3293980062 -0.0000000168 0.2107188106 -0.0348375514 0.0015534146 - -0.0000000032 0.2477990687 0.0000000526 -0.3074658811 -0.2460121065 0.0700588152 - -0.0000000093 0.0675943941 -0.0000000224 -0.5447555780 -0.0066903653 -0.0532053933 - -0.0000000019 0.0427611656 0.0000000061 0.0000002915 -0.0000005662 0.0000005160 - -0.1861517876 -0.0983439088 -0.0087781707 0.1069392338 0.2464921176 -0.9622921348 - -0.0000000075 0.3292638659 0.0000000112 0.2248537987 0.1277038604 -0.0271374192 - 0.0000000112 0.2478393167 -0.0000000016 -0.4670695066 0.1957341731 -0.0274475813 - -0.0000000130 0.0799338967 0.0000000135 -0.6256230474 0.0981461406 0.0636842623 - 0.0000000086 0.0583351739 -0.0000000077 0.0000000960 0.0000002398 -0.0000002203 -} - -frame 18 { - 0.0153393280 0.6860882044 -0.0056903344 -0.0087263901 0.0380687974 0.0100333011 - -0.0000000008 0.1770023108 -0.0009516361 0.0017168742 -0.0211180896 0.0069267140 - 0.0000000093 0.2065056413 -0.0000000004 -0.0018971984 -0.0408243872 0.0121025974 - 0.0000000099 0.2360066622 0.0000000015 -0.0018971923 -0.0408243574 0.0121025788 - -0.0000000097 0.2655071616 0.0000000084 -0.0072869183 0.0176274925 -0.0392474942 - -0.0000000056 0.3947654068 -0.0401370786 -0.0104281446 0.0259319805 -0.0115936659 - -0.0000000075 1.2101047039 -0.1230352074 0.0000000036 -0.0000000011 0.0000000004 - 0.0778401345 0.2149246186 0.0011441770 -0.7061094046 -0.2805997729 0.5502875447 - -0.0000000028 0.1860865206 -0.0000000033 -0.1700828075 0.0125663588 0.2835948169 - 0.0000000075 0.2763550878 0.0000000445 -0.0507302657 -0.0889704674 -0.3389315605 - 0.0000000224 0.3389308453 -0.0000000009 -0.0000000494 0.0000000289 0.0000000112 - -0.0778401196 0.2149398327 -0.0016879905 -0.6654406190 0.3268946707 -0.5663490295 - 0.0000000037 0.1860864013 -0.0000000661 -0.1470474005 -0.1011420488 0.0691783056 - 0.0000000224 0.2760953903 -0.0000000726 -0.0175698306 -0.0476904623 0.4032670856 - 0.0000000745 0.3388734162 -0.0000001197 0.0000002051 0.0000000071 0.0000000224 - 0.1861518174 -0.0983439088 -0.0044584586 0.0533757620 0.3872988224 0.9203416705 - 0.0000000158 0.3293980062 0.0000000102 0.2357167900 -0.0445759781 0.0057244049 - -0.0000000033 0.2477990240 -0.0000000233 -0.2889152169 -0.2426573485 0.0803533047 - -0.0000000335 0.0675944015 0.0000000075 -0.5168524981 0.0108208340 -0.0546021238 - -0.0000000224 0.0427611619 0.0000000047 0.0000002934 -0.0000005588 0.0000004973 - -0.1861518025 -0.0983438343 -0.0087781670 0.1078495532 0.2451980263 -0.9623177052 - -0.0000000075 0.3292638063 0.0000000112 0.2435418665 0.1216544285 -0.0222015828 - -0.0000000033 0.2478393316 0.0000000400 -0.4257854521 0.1890467554 -0.0458444767 - 0.0000000000 0.0799338967 -0.0000000540 -0.6544468403 0.1117336899 0.0655472949 - -0.0000000107 0.0583352000 -0.0000000016 0.0000000901 0.0000002407 -0.0000002186 -} - -frame 19 { - 0.0167015772 0.6864140034 -0.0069546755 -0.0107671795 0.0376159586 0.0074901516 - -0.0000000021 0.1770023406 -0.0009516357 0.0030084734 -0.0206528064 0.0077614337 - -0.0000000042 0.2065058053 -0.0000000022 0.0006856409 -0.0402618200 0.0137938969 - 0.0000000004 0.2360067368 -0.0000000005 0.0006856386 -0.0402618311 0.0137938950 - 0.0000000169 0.2655069828 0.0000000070 -0.0098947529 0.0169528704 -0.0391407125 - -0.0000000049 0.3947655559 -0.0401370898 -0.0083384812 0.0258404259 -0.0146194929 - 0.0000000107 1.2101045847 -0.1230351925 -0.0000000014 -0.0000000012 0.0000000002 - 0.0778401494 0.2149243653 0.0011441815 -0.7063502073 -0.2806496918 0.5493223667 - 0.0000000056 0.1860864758 -0.0000000724 -0.1699387729 0.0146319745 0.2847552001 - -0.0000000373 0.2763552368 0.0000000477 -0.0518407188 -0.0846732482 -0.3416270316 - -0.0000000075 0.3389308751 0.0000000428 -0.0000000475 0.0000000326 0.0000000130 - -0.0778401196 0.2149395794 -0.0016879907 -0.6659907699 0.3242675364 -0.5706304908 - 0.0000000149 0.1860864908 0.0000002189 -0.1493643075 -0.0873431340 0.0536152832 - 0.0000000075 0.2760954499 0.0000000596 -0.0128701478 -0.0484639928 0.4236587286 - 0.0000000149 0.3388734162 -0.0000000708 0.0000001974 -0.0000000087 0.0000000186 - 0.1861518174 -0.0983439237 -0.0044584577 0.0532490350 0.3854445219 0.9211420417 - -0.0000000061 0.3293980360 0.0000000335 0.2601168752 -0.0418879576 0.0078636883 - 0.0000000065 0.2477990091 0.0000000205 -0.2648596764 -0.2384555638 0.0915553942 - -0.0000000284 0.0675944090 -0.0000000112 -0.4867624938 0.0324924216 -0.0432236567 - -0.0000000389 0.0427611433 0.0000000042 0.0000003073 -0.0000005579 0.0000004934 - -0.1861518174 -0.0983438492 -0.0087781688 0.1081366092 0.2394874841 -0.9635425210 - -0.0000000261 0.3292638958 -0.0000000112 0.2637743950 0.1097479910 -0.0163631272 - -0.0000000101 0.2478393167 -0.0000000140 -0.3769133389 0.1812472641 -0.0659756437 - 0.0000000037 0.0799338967 -0.0000000075 -0.6749090552 0.1169974580 0.0610343255 - 0.0000000028 0.0583351851 0.0000000056 0.0000000903 0.0000002375 -0.0000002263 -} - -frame 20 { - 0.0179873202 0.6880324483 -0.0080564227 -0.0128015168 0.0362923779 0.0047970512 - 0.0000000007 0.1770022810 -0.0009516368 0.0045252158 -0.0198778156 0.0086859381 - 0.0000000022 0.2065057456 0.0000000003 0.0037206786 -0.0389873609 0.0155802118 - 0.0000000110 0.2360065728 0.0000000012 0.0037206726 -0.0389873572 0.0155802090 - 0.0000000158 0.2655071616 0.0000000028 -0.0157945380 0.0162852909 -0.0396802574 - 0.0000000051 0.3947656751 -0.0401370861 -0.0054238797 0.0246856492 -0.0165955406 - -0.0000000030 1.2101043463 -0.1230351850 0.0000000003 0.0000000003 -0.0000000005 - 0.0778401420 0.2149246633 0.0011441750 -0.7012289166 -0.2870921493 0.5523501039 - 0.0000000019 0.1860865057 0.0000000743 -0.1711069793 0.0168058202 0.2780103087 - -0.0000000373 0.2763551772 -0.0000000084 -0.0541964881 -0.0832215101 -0.3421886861 - -0.0000000075 0.3389309049 -0.0000000368 -0.0000000396 0.0000000298 0.0000000158 - -0.0778400898 0.2149398029 -0.0016879924 -0.6689256430 0.3193988502 -0.5724556446 - 0.0000000112 0.1860864609 0.0000000279 -0.1527942866 -0.0709160566 0.0310001764 - 0.0000000000 0.2760954499 0.0000000941 -0.0053380900 -0.0510230996 0.4434570670 - 0.0000000298 0.3388733864 0.0000000140 0.0000002114 -0.0000000088 0.0000000149 - 0.1861518323 -0.0983439013 -0.0044584610 0.0498180166 0.3767602146 0.9249424934 - -0.0000000033 0.3293980360 0.0000000065 0.2729614079 -0.0285554212 0.0068174126 - -0.0000000192 0.2477990836 0.0000000321 -0.2330546975 -0.2363110483 0.0958120823 - -0.0000000279 0.0675944015 0.0000000037 -0.4640530050 0.0367564261 -0.0317258947 - 0.0000000097 0.0427611768 -0.0000000019 0.0000003120 -0.0000005579 0.0000004804 - -0.1861518174 -0.0983438641 -0.0087781698 0.1050261185 0.2368863821 -0.9644099474 - -0.0000000149 0.3292638361 0.0000000261 0.2779785693 0.0896695852 -0.0098485053 - -0.0000000047 0.2478392720 0.0000000112 -0.3222498596 0.1737253815 -0.0845787227 - -0.0000000075 0.0799338967 -0.0000000037 -0.6740021706 0.1062074378 0.0429904833 - 0.0000000130 0.0583351217 0.0000000205 0.0000000987 0.0000002366 -0.0000002310 -} - -frame 21 { - 0.0189918838 0.6920874119 -0.0115400646 -0.0142245712 0.0340590440 0.0024478503 - 0.0000000017 0.1770022959 -0.0009516333 0.0051485323 -0.0186174214 0.0094065182 - 0.0000000007 0.2065058351 0.0000000029 0.0049675643 -0.0370024405 0.0170821175 - 0.0000000030 0.2360065430 0.0000000007 0.0049675624 -0.0370024368 0.0170821045 - 0.0000000189 0.2655072510 0.0000000035 -0.0149870953 0.0153211216 -0.0392704010 - -0.0000000047 0.3947657943 -0.0401370861 -0.0070768325 0.0229960829 -0.0179642402 - 0.0000000035 1.2101050615 -0.1230352148 0.0000000000 -0.0000000002 -0.0000000009 - 0.0778401569 0.2149246484 0.0011441787 -0.7007899880 -0.2883086503 0.5510452986 - -0.0000000023 0.1860864609 0.0000000052 -0.1709268689 0.0223253928 0.2746132910 - -0.0000000522 0.2763551474 0.0000000591 -0.0567346998 -0.0787707567 -0.3435197175 - 0.0000000214 0.3389308453 0.0000000000 -0.0000000442 0.0000000373 0.0000000056 - -0.0778401121 0.2149399072 -0.0016879935 -0.6705958843 0.3154141903 -0.5759848952 - 0.0000000037 0.1860865355 0.0000000093 -0.1561410427 -0.0558280423 0.0129251555 - 0.0000000075 0.2760954797 -0.0000000689 0.0026874710 -0.0523236208 0.4597300887 - 0.0000000000 0.3388733268 -0.0000000065 0.0000002049 -0.0000000205 0.0000000261 - 0.1861518174 -0.0983439311 -0.0044584572 0.0497048125 0.3742484748 0.9259875417 - -0.0000000051 0.3293980062 -0.0000000205 0.3093574345 -0.0282282904 0.0095414091 - -0.0000000019 0.2477990836 0.0000000042 -0.2711749077 -0.2416727692 0.0817964822 - -0.0000000338 0.0675944090 -0.0000000037 -0.4569223523 0.0336157270 -0.0304405056 - -0.0000000102 0.0427611060 -0.0000000009 0.0000003092 -0.0000005560 0.0000005018 - -0.1861518025 -0.0983439460 -0.0087781660 0.0979514718 0.2285986394 -0.9672023654 - 0.0000000224 0.3292638958 -0.0000000224 0.2971230447 0.0622063242 -0.0022853045 - -0.0000000112 0.2478392869 -0.0000000019 -0.2750898302 0.1688307524 -0.0959665850 - -0.0000000019 0.0799338892 -0.0000000484 -0.6620151401 0.0819549933 0.0163964648 - -0.0000000037 0.0583351627 -0.0000000168 0.0000001062 0.0000002393 -0.0000002272 -} - -frame 22 { - 0.0202317759 0.6983003020 -0.0137700606 -0.0146438349 0.0312293600 0.0009588066 - 0.0000000001 0.1770022810 -0.0009516313 0.0050249617 -0.0169476252 0.0091788210 - 0.0000000015 0.2065057307 0.0000000016 0.0047099572 -0.0344692096 0.0171614941 - -0.0000000090 0.2360067219 0.0000000003 0.0047099595 -0.0344692059 0.0171614941 - -0.0000000017 0.2655075490 -0.0000000002 -0.0106086489 0.0131175090 -0.0334251933 - -0.0000000054 0.3947658539 -0.0401370898 -0.0115532922 0.0216373932 -0.0210523643 - -0.0000000054 1.2101045847 -0.1230351850 -0.0000000007 0.0000000011 0.0000000003 - 0.0778401345 0.2149248421 0.0011441745 -0.7102583051 -0.2754852772 0.5474158525 - -0.0000000035 0.1860864609 0.0000000574 -0.1600486636 0.0241138116 0.2799563408 - -0.0000000224 0.2763551772 -0.0000000146 -0.0554759875 -0.0709118247 -0.3573926091 - -0.0000000056 0.3389307857 0.0000000414 -0.0000000414 0.0000000354 0.0000000093 - -0.0778401121 0.2149400264 -0.0016879942 -0.6695837975 0.3162579536 -0.5771759748 - 0.0000000000 0.1860864908 -0.0000000494 -0.1657878011 -0.0432110019 -0.0023593404 - 0.0000000186 0.2760954499 0.0000000186 0.0101012392 -0.0524580032 0.4680597782 - 0.0000000000 0.3388734460 -0.0000000242 0.0000002058 0.0000000035 0.0000000224 - 0.1861518025 -0.0983439013 -0.0044584554 0.0481550321 0.3629357815 0.9305689931 - -0.0000000247 0.3293979466 0.0000000754 0.3320266604 -0.0280127991 0.0106309485 - -0.0000000270 0.2477990985 0.0000000030 -0.3040046394 -0.2455997765 0.0700622723 - -0.0000000215 0.0675943792 -0.0000000037 -0.4583790600 0.0338303670 -0.0293498207 - -0.0000000005 0.0427611209 -0.0000000028 0.0000003106 -0.0000005555 0.0000004950 - -0.1861518025 -0.0983439684 -0.0087781623 0.0930754915 0.2065400779 -0.9727286100 - -0.0000000149 0.3292638659 0.0000000149 0.3345482647 0.0371735655 0.0053824591 - 0.0000000168 0.2478393167 -0.0000000168 -0.2533868253 0.1702238619 -0.0951149613 - 0.0000000075 0.0799339265 0.0000000056 -0.6215758324 0.0527365431 0.0023960001 - 0.0000000102 0.0583351254 -0.0000000093 0.0000000717 0.0000002375 -0.0000002254 -} - -frame 23 { - 0.0219288226 0.7080014944 -0.0129672419 -0.0140112285 0.0284590255 0.0003291802 - -0.0000000010 0.1770023257 -0.0009516348 0.0047607031 -0.0152546391 0.0086739920 - -0.0000000010 0.2065058649 -0.0000000016 0.0041690124 -0.0316533893 0.0167280380 - 0.0000000011 0.2360066772 0.0000000003 0.0041690157 -0.0316533856 0.0167280268 - 0.0000000051 0.2655071914 0.0000000014 -0.0112916771 0.0109537514 -0.0279773884 - 0.0000000016 0.3947657049 -0.0401370786 -0.0129045602 0.0192543454 -0.0231283288 - -0.0000000054 1.2101047039 -0.1230351999 -0.0000000005 0.0000000006 0.0000000001 - 0.0778401420 0.2149245739 0.0011441726 -0.7193616629 -0.2625016272 0.5443990231 - -0.0000000121 0.1860864460 0.0000000853 -0.1498627961 0.0278050341 0.2780745327 - -0.0000000224 0.2763550878 -0.0000000222 -0.0514669009 -0.0668348223 -0.3585326076 - 0.0000000019 0.3389307857 -0.0000000198 -0.0000000279 0.0000000373 -0.0000000019 - -0.0778401121 0.2149398029 -0.0016879940 -0.6668304205 0.3207784593 -0.5757094026 - -0.0000000149 0.1860864162 0.0000001565 -0.1850089729 -0.0319502130 -0.0131525109 - -0.0000000102 0.2760955095 -0.0000000978 0.0187368169 -0.0478261262 0.4599823356 - 0.0000000894 0.3388733864 0.0000000186 0.0000001919 0.0000000023 0.0000000112 - 0.1861518174 -0.0983438864 -0.0044584600 -0.0479709022 -0.3402306736 -0.9391112924 - 0.0000000200 0.3293979764 0.0000000149 0.3384396136 -0.0297076479 0.0106547847 - -0.0000000233 0.2477990389 -0.0000000100 -0.3309733868 -0.2486557811 0.0599978454 - 0.0000000272 0.0675944090 0.0000000037 -0.4594680667 0.0343571641 -0.0293483846 - 0.0000000156 0.0427611507 0.0000000028 0.0000003069 -0.0000005579 0.0000005128 - -0.1861518174 -0.0983438641 -0.0087781688 0.0914346278 0.1740365624 -0.9793104529 - -0.0000000075 0.3292637467 -0.0000000224 0.3788903952 0.0186779033 0.0120810401 - -0.0000000242 0.2478393018 0.0000000205 -0.2517239153 0.1778368801 -0.0839829817 - 0.0000000075 0.0799338892 0.0000000075 -0.5414887071 0.0432237163 0.0120898243 - -0.0000000140 0.0583351552 0.0000000000 0.0000000950 0.0000002407 -0.0000002213 -} - -frame 24 { - 0.0241172686 0.7193578482 -0.0119102355 -0.0126180025 0.0259549264 0.0007854554 - 0.0000000002 0.1770023704 -0.0009516343 0.0039576632 -0.0135245686 0.0076813572 - -0.0000000007 0.2065057606 -0.0000000008 0.0025418620 -0.0286789089 0.0156670455 - -0.0000000069 0.2360067219 -0.0000000010 0.0025418589 -0.0286789015 0.0156670511 - -0.0000000161 0.2655073106 0.0000000029 -0.0098747974 0.0085790548 -0.0218301397 - -0.0000000051 0.3947656453 -0.0401370861 -0.0157072656 0.0165851042 -0.0249363035 - 0.0000000042 1.2101047039 -0.1230352223 0.0000000010 -0.0000000008 0.0000000002 - 0.0778401494 0.2149246335 0.0011441750 -0.7259122133 -0.2536541820 0.5404537320 - -0.0000000102 0.1860864162 -0.0000001381 -0.1459276378 0.0353060775 0.2674729228 - -0.0000000447 0.2763552666 -0.0000000407 -0.0481287464 -0.0654231012 -0.3457761705 - -0.0000000161 0.3389307559 0.0000000657 -0.0000000289 0.0000000391 -0.0000000019 - -0.0778401420 0.2149399519 -0.0016879945 -0.6642054915 0.3232135475 -0.5782011747 - -0.0000000075 0.1860863119 0.0000000773 -0.1967358440 -0.0219179969 -0.0187846534 - -0.0000000149 0.2760954201 -0.0000000484 0.0259100515 -0.0394149609 0.4486718476 - -0.0000000596 0.3388734460 -0.0000000540 0.0000002068 -0.0000000033 0.0000000112 - 0.1861518323 -0.0983438343 -0.0044584591 -0.0469957255 -0.3104085922 -0.9494177699 - -0.0000000126 0.3293980062 0.0000000205 0.3322730958 -0.0311354157 0.0093751997 - -0.0000000061 0.2477990538 0.0000000061 -0.3517746329 -0.2507775128 0.0524028391 - 0.0000000027 0.0675944015 0.0000000037 -0.4615301788 0.0353958867 -0.0293933395 - -0.0000000248 0.0427611545 -0.0000000028 0.0000003092 -0.0000005546 0.0000005038 - -0.1861518025 -0.0983438715 -0.0087781670 0.0893294290 0.1357254982 -0.9856780171 - -0.0000000056 0.3292638063 -0.0000000075 0.4221429825 0.0065127742 0.0165698249 - 0.0000000019 0.2478392720 -0.0000000317 -0.2637544572 0.1873328388 -0.0665888265 - 0.0000000112 0.0799338669 -0.0000000168 -0.4776146412 0.0230658576 0.0237956103 - -0.0000000083 0.0583351329 -0.0000000233 0.0000000959 0.0000002423 -0.0000002191 -} - -frame 25 { - 0.0257537253 0.7302250862 -0.0109339114 -0.0109470282 0.0234910026 0.0026737538 - -0.0000000006 0.1770022213 -0.0009516319 0.0034476458 -0.0116681270 0.0065112081 - -0.0000000012 0.2065057904 -0.0000000022 0.0014986513 -0.0256368611 0.0145390080 - 0.0000000011 0.2360064685 0.0000000002 0.0014986488 -0.0256368518 0.0145390099 - 0.0000000013 0.2655072510 0.0000000045 -0.0135162510 0.0071011675 -0.0193334874 - 0.0000000120 0.3947654665 -0.0401370637 -0.0161098447 0.0127298506 -0.0246052537 - -0.0000000007 1.2101045847 -0.1230351999 0.0000000002 -0.0000000005 -0.0000000001 - 0.0778401196 0.2149246931 0.0011441754 -0.7255806923 -0.2544777095 0.5397937298 - 0.0000000037 0.1860863566 0.0000000603 -0.1481355131 0.0402138680 0.2437928915 - 0.0000000000 0.2763552666 0.0000000393 -0.0450248271 -0.0700727180 -0.3212072849 - 0.0000000391 0.3389308155 0.0000000822 -0.0000000438 0.0000000410 0.0000000130 - -0.0778401196 0.2149399072 -0.0016879925 -0.6658311486 0.3198631108 -0.5805039406 - 0.0000000056 0.1860863566 0.0000000168 -0.2022223324 -0.0131858541 -0.0286193434 - 0.0000000000 0.2760955989 -0.0000000237 0.0314664394 -0.0285132080 0.4328631759 - 0.0000000596 0.3388734460 -0.0000000596 0.0000001946 -0.0000000028 0.0000000186 - 0.1861518174 -0.0983439609 -0.0044584554 -0.0486383513 -0.2772200108 -0.9595470428 - 0.0000000126 0.3293978870 0.0000000233 0.3183287084 -0.0355802290 0.0089270286 - -0.0000000237 0.2477990240 -0.0000000168 -0.3675931394 -0.2525202036 0.0461172797 - 0.0000000014 0.0675944015 -0.0000000037 -0.4630859792 0.0357860252 -0.0293528046 - -0.0000000077 0.0427611396 0.0000000028 0.0000003115 -0.0000005560 0.0000004892 - -0.1861518025 -0.0983439758 -0.0087781670 0.0855607018 0.0944441631 -0.9910854697 - -0.0000000019 0.3292639256 -0.0000000112 0.4571656883 -0.0013530585 0.0188327301 - 0.0000000168 0.2478393167 -0.0000000019 -0.2896714509 0.1973728240 -0.0471478291 - -0.0000000078 0.0799339265 0.0000000168 -0.4548375905 0.0196099654 0.0261784866 - 0.0000000000 0.0583351478 0.0000000016 0.0000001036 0.0000002417 -0.0000002258 -} - -frame 26 { - 0.0273901802 0.7410922647 -0.0099575836 -0.0092759160 0.0210267808 0.0045620184 - -0.0000000019 0.1770023108 -0.0009516370 0.0029376105 -0.0098116258 0.0053410269 - -0.0000000011 0.2065057307 0.0000000010 0.0004554252 -0.0225945152 0.0134108001 - -0.0000000031 0.2360067219 -0.0000000008 0.0004554208 -0.0225945115 0.0134108020 - 0.0000000039 0.2655072212 0.0000000050 -0.0171574093 0.0056231273 -0.0168364123 - 0.0000000087 0.3947656453 -0.0401370935 -0.0165121835 0.0088744042 -0.0242738277 - 0.0000000043 1.2101041079 -0.1230352148 0.0000000001 0.0000000001 0.0000000001 - 0.0778401494 0.2149246037 0.0011441787 -0.7252472639 -0.2553005517 0.5391323566 - 0.0000000102 0.1860865057 0.0000001467 -0.1502510309 0.0450965986 0.2199608833 - 0.0000000149 0.2763551474 -0.0000000342 -0.0418889821 -0.0746727288 -0.2964110374 - 0.0000000112 0.3389307261 0.0000000265 -0.0000000484 0.0000000335 -0.0000000037 - -0.0778401196 0.2149399519 -0.0016879911 -0.6674339175 0.3165017664 -0.5827869773 - 0.0000000224 0.1860864758 -0.0000000303 -0.2076674551 -0.0044510034 -0.0384481363 - 0.0000000019 0.2760955393 -0.0000000894 0.0370082930 -0.0175983515 0.4168539643 - 0.0000000298 0.3388733268 0.0000000726 0.0000001919 -0.0000000009 0.0000000186 - 0.1861518174 -0.0983439311 -0.0044584572 -0.0502222553 -0.2436968088 -0.9685178995 - 0.0000000093 0.3293979764 0.0000000428 0.3043093085 -0.0400166698 0.0084767556 - -0.0000000035 0.2477990687 0.0000000023 -0.3832885325 -0.2541783154 0.0398162790 - -0.0000000058 0.0675943941 -0.0000000075 -0.4646403491 0.0361760780 -0.0293121915 - -0.0000000070 0.0427611321 0.0000000047 0.0000003111 -0.0000005560 0.0000005031 - -0.1861518174 -0.0983439311 -0.0087781660 0.0816390365 0.0529939719 -0.9947216511 - 0.0000000047 0.3292639256 -0.0000000037 0.4914623797 -0.0092167305 0.0210657082 - 0.0000000186 0.2478393316 0.0000000428 -0.3152342141 0.2071714252 -0.0276491567 - -0.0000000279 0.0799338818 -0.0000000093 -0.4317506850 0.0161407292 0.0285435505 - -0.0000000056 0.0583351701 0.0000000091 0.0000001068 0.0000002380 -0.0000002207 -} - -frame 27 { - 0.0288322344 0.7505620122 -0.0094136540 -0.0080448631 0.0179409739 0.0074487976 - -0.0000000056 0.1770022810 -0.0009516348 0.0023168386 -0.0080113793 0.0037817156 - -0.0000000022 0.2065057755 -0.0000000014 -0.0008076343 -0.0192287620 0.0114778280 - -0.0000000051 0.2360067964 0.0000000011 -0.0008076387 -0.0192287695 0.0114778327 - -0.0000000127 0.2655073106 0.0000000016 -0.0181526691 0.0038956257 -0.0134256119 - -0.0000000047 0.3947655857 -0.0401370674 -0.0186699107 0.0056148437 -0.0245259702 - -0.0000000163 1.2101050615 -0.1230351999 -0.0000000017 -0.0000000013 -0.0000000000 - 0.0778401271 0.2149247229 0.0011441745 -0.7231671214 -0.2584577203 0.5396101475 - 0.0000000207 0.1860864311 0.0000000591 -0.1536725163 0.0484519340 0.1930104494 - 0.0000000000 0.2763551772 0.0000000780 -0.0394982696 -0.0790738091 -0.2770137787 - -0.0000000186 0.3389307261 0.0000000270 -0.0000000307 0.0000000317 0.0000000075 - -0.0778401271 0.2149398327 -0.0016879933 -0.6695722342 0.3124533892 -0.5848332047 - -0.0000000112 0.1860864013 0.0000000531 -0.2094368488 0.0008114387 -0.0484474041 - -0.0000000009 0.2760956883 0.0000000442 0.0394485891 -0.0052695065 0.3976170123 - 0.0000000298 0.3388733268 0.0000000671 0.0000002049 0.0000000019 -0.0000000000 - 0.1861518025 -0.0983439237 -0.0044584558 -0.0565697998 -0.2094224244 -0.9761651754 - -0.0000000084 0.3293979466 -0.0000000149 0.2850683630 -0.0499253199 0.0094752889 - -0.0000000175 0.2477990687 -0.0000000019 -0.3945153952 -0.2559128106 0.0336754285 - -0.0000000083 0.0675944090 0.0000000075 -0.4650355279 0.0363028497 -0.0294325333 - 0.0000000022 0.0427611358 -0.0000000019 0.0000003101 -0.0000005583 0.0000004913 - -0.1861518025 -0.0983438939 -0.0087781642 0.0776881948 0.0064580645 -0.9966670871 - -0.0000000042 0.3292638659 0.0000000005 0.5181834698 -0.0145614389 0.0210772976 - -0.0000000037 0.2478393018 -0.0000000354 -0.3498132229 0.2149324417 -0.0090806996 - 0.0000000112 0.0799339116 0.0000000056 -0.4254468679 0.0067691328 0.0278342776 - 0.0000000075 0.0583351627 -0.0000000102 0.0000000990 0.0000002375 -0.0000002226 -} - -frame 28 { - 0.0301721655 0.7590711117 -0.0088849645 -0.0073848977 0.0137352375 0.0104693370 - 0.0000000045 0.1770023108 -0.0009516343 0.0019066524 -0.0062463782 0.0021661583 - -0.0000000017 0.2065057606 0.0000000009 -0.0016419900 -0.0154770799 0.0091222487 - 0.0000000035 0.2360065281 0.0000000010 -0.0016419903 -0.0154770706 0.0091222413 - -0.0000000010 0.2655072510 0.0000000005 -0.0205727965 0.0019853134 -0.0092795771 - 0.0000000107 0.3947655857 -0.0401370861 -0.0193936341 0.0029065437 -0.0255806185 - 0.0000000025 1.2101039886 -0.1230351776 0.0000000021 0.0000000017 0.0000000003 - 0.0778401420 0.2149245292 0.0011441726 -0.7238564491 -0.2575565875 0.5390976071 - -0.0000000126 0.1860864609 -0.0000001597 -0.1525105536 0.0484242141 0.1728899181 - 0.0000000149 0.2763551772 -0.0000000822 -0.0377598144 -0.0810694993 -0.2705287635 - 0.0000000075 0.3389308453 0.0000000242 -0.0000000410 0.0000000186 0.0000000093 - -0.0778401271 0.2149398923 -0.0016879971 -0.6704135537 0.3096509278 -0.5879050493 - 0.0000000000 0.1860863715 -0.0000001390 -0.2092615217 0.0028899785 -0.0567829497 - -0.0000000270 0.2760956287 -0.0000001042 0.0379255190 0.0094393706 0.3741264939 - 0.0000000596 0.3388734460 -0.0000000596 0.0000001881 -0.0000000019 0.0000000149 - 0.1861518174 -0.0983438566 -0.0044584572 -0.0642432496 -0.1744463593 -0.9825573564 - 0.0000000168 0.3293978870 0.0000000149 0.2612828016 -0.0624749549 0.0103867706 - -0.0000000164 0.2477990687 -0.0000000051 -0.4025740027 -0.2573171556 0.0286280140 - -0.0000000117 0.0675943866 -0.0000000075 -0.4655480981 0.0364561044 -0.0295494720 - -0.0000000021 0.0427611433 -0.0000000009 0.0000003083 -0.0000005565 0.0000004928 - -0.1861517876 -0.0983439386 -0.0087781660 0.0741446763 -0.0373501219 -0.9964284897 - -0.0000000054 0.3292638659 -0.0000000005 0.5321110487 -0.0189976003 0.0197677072 - 0.0000000056 0.2478393465 -0.0000000224 -0.3824193776 0.2196974158 0.0055827303 - 0.0000000056 0.0799338818 0.0000000112 -0.4212465882 -0.0262922235 0.0252914168 - -0.0000000065 0.0583351813 0.0000000051 0.0000001082 0.0000002421 -0.0000002319 -} - -frame 29 { - 0.0312623270 0.7667068839 -0.0074421428 -0.0073802960 0.0080419118 0.0131048430 - -0.0000000019 0.1770022959 -0.0009516339 0.0019437770 -0.0044512171 0.0008991816 - 0.0000000015 0.2065056711 -0.0000000020 -0.0015704428 -0.0113309687 0.0070361798 - 0.0000000063 0.2360067517 -0.0000000001 -0.0015704444 -0.0113309715 0.0070361886 - -0.0000000039 0.2655075192 0.0000000033 -0.0277586039 0.0005822647 -0.0068264422 - -0.0000000015 0.3947658241 -0.0401370861 -0.0161186829 0.0001250577 -0.0263521057 - -0.0000000052 1.2101039886 -0.1230352446 0.0000000038 -0.0000000007 0.0000000003 - 0.0778401420 0.2149247825 0.0011441772 -0.7229968309 -0.2584467828 0.5402300358 - -0.0000000084 0.1860865504 0.0000000093 -0.1503520310 0.0470766909 0.1526275575 - 0.0000000028 0.2763553262 -0.0000000480 -0.0370297506 -0.0829837322 -0.2687171400 - -0.0000000298 0.3389306962 0.0000000894 -0.0000000354 0.0000000335 0.0000000037 - -0.0778401196 0.2149400115 -0.0016879910 -0.6695958376 0.3091935515 -0.5909265280 - -0.0000000130 0.1860864609 -0.0000001071 -0.2117881775 0.0015913754 -0.0607739277 - -0.0000000057 0.2760956585 0.0000000175 0.0335282758 0.0264616106 0.3385289609 - -0.0000000447 0.3388733268 -0.0000000261 0.0000001974 -0.0000000261 -0.0000000037 - 0.1861518174 -0.0983439311 -0.0044584572 -0.0710518807 -0.1370203644 -0.9880128503 - 0.0000000121 0.3293980062 0.0000000093 0.2309801579 -0.0756764859 0.0105666639 - -0.0000000246 0.2477990538 -0.0000000019 -0.4076044261 -0.2583551407 0.0249974132 - -0.0000000002 0.0675944090 -0.0000000030 -0.4704784155 0.0377156436 -0.0288220681 - -0.0000000133 0.0427611247 -0.0000000019 0.0000003148 -0.0000005546 0.0000005073 - -0.1861517876 -0.0983439609 -0.0087781670 0.0704249442 -0.0758782700 -0.9945960641 - -0.0000000016 0.3292638958 0.0000000093 0.5319021940 -0.0252879467 0.0179004036 - -0.0000000205 0.2478393167 -0.0000000112 -0.4107421041 0.2232529521 0.0150978286 - 0.0000000037 0.0799339041 -0.0000000093 -0.4106606245 -0.0202454161 0.0293763690 - -0.0000000126 0.0583351627 -0.0000000019 0.0000000719 0.0000002412 -0.0000002198 -} - -frame 30 { - 0.0320039988 0.7719780207 -0.0071780104 -0.0080338540 0.0008861966 0.0148533937 - -0.0000000046 0.1770022660 -0.0009516371 0.0017005326 -0.0025528562 -0.0000306443 - 0.0000000043 0.2065057606 0.0000000017 -0.0020497544 -0.0068382761 0.0052190935 - 0.0000000031 0.2360065430 -0.0000000008 -0.0020497558 -0.0068382733 0.0052190921 - 0.0000000060 0.2655071914 0.0000000037 -0.0294165742 -0.0007917398 -0.0048433710 - -0.0000000130 0.3947656751 -0.0401370786 -0.0153498929 -0.0019709810 -0.0273736212 - -0.0000000048 1.2101048231 -0.1230352595 0.0000000000 0.0000000006 0.0000000003 - 0.0778401494 0.2149245739 0.0011441750 -0.7212067842 -0.2618589401 0.5389935970 - 0.0000000140 0.1860864013 0.0000000545 -0.1507776529 0.0464512743 0.1332792491 - 0.0000000123 0.2763553560 -0.0000000511 -0.0395540148 -0.0814874545 -0.2721754611 - 0.0000000224 0.3389307857 -0.0000000112 -0.0000000466 0.0000000596 -0.0000000037 - -0.0778401271 0.2149399221 -0.0016879946 -0.6699844003 0.3056919873 -0.5962142348 - 0.0000000019 0.1860864758 -0.0000000619 -0.2073269486 -0.0011453185 -0.0678721666 - -0.0000000158 0.2760953903 -0.0000000454 0.0300837718 0.0390898958 0.3113302290 - -0.0000000447 0.3388733268 0.0000000522 0.0000002161 0.0000000037 0.0000000112 - 0.1861518174 -0.0983439609 -0.0044584596 -0.0748556256 -0.1050576493 -0.9916427135 - -0.0000000065 0.3293979764 0.0000000037 0.2071465403 -0.0860494226 0.0103231957 - -0.0000000090 0.2477990985 0.0000000021 -0.4109262824 -0.2615102232 0.0156300589 - 0.0000000064 0.0675944015 0.0000000093 -0.4795985818 0.0416883118 -0.0265342034 - 0.0000000033 0.0427611321 -0.0000000014 0.0000003129 -0.0000005579 0.0000005055 - -0.1861518174 -0.0983439758 -0.0087781698 0.0679529980 -0.1129684076 -0.9912703037 - 0.0000000088 0.3292638659 -0.0000000130 0.5239154100 -0.0305728577 0.0161770619 - -0.0000000056 0.2478393167 -0.0000000056 -0.4355545938 0.2239090651 0.0209062323 - 0.0000000009 0.0799338967 0.0000000154 -0.4076785147 -0.0147663411 0.0282245725 - -0.0000000081 0.0583351664 -0.0000000037 0.0000000871 0.0000002338 -0.0000002170 -} - -frame 31 { - 0.0323606730 0.7745720148 -0.0069452133 -0.0094371000 -0.0073706247 0.0146508701 - 0.0000000021 0.1770022810 -0.0009516368 0.0015550337 -0.0006694404 -0.0002905812 - -0.0000000018 0.2065057904 0.0000000002 -0.0023274641 -0.0023716956 0.0043702363 - -0.0000000058 0.2360068262 0.0000000007 -0.0023274662 -0.0023716956 0.0043702382 - -0.0000000036 0.2655071616 0.0000000019 -0.0310354624 -0.0016929172 -0.0046093664 - -0.0000000030 0.3947654963 -0.0401370563 -0.0129087232 -0.0037346741 -0.0281866509 - -0.0000000003 1.2101048231 -0.1230351999 -0.0000000020 0.0000000005 -0.0000000000 - 0.0778401420 0.2149247080 0.0011441724 -0.7206996679 -0.2637488842 0.5364320874 - -0.0000000335 0.1860864460 -0.0000000191 -0.1465752870 0.0442995355 0.1211117357 - -0.0000000019 0.2763553560 -0.0000001363 -0.0442833230 -0.0759286359 -0.2901674509 - -0.0000000596 0.3389307261 -0.0000000149 -0.0000000242 0.0000000410 0.0000000037 - -0.0778401196 0.2149398923 -0.0016879967 -0.6687150598 0.3045520186 -0.6013411283 - -0.0000000112 0.1860863268 -0.0000000722 -0.2036889046 -0.0076067932 -0.0710511059 - -0.0000000193 0.2760954499 0.0000001229 0.0230741221 0.0517659970 0.2770199776 - 0.0000000000 0.3388734162 -0.0000000857 0.0000001844 -0.0000000075 0.0000000186 - 0.1861518174 -0.0983438939 -0.0044584596 -0.0774692297 -0.0757198632 -0.9941146970 - -0.0000000140 0.3293980360 0.0000000019 0.1844513714 -0.0974002630 0.0101860445 - -0.0000000179 0.2477990687 0.0000000061 -0.4130528271 -0.2615413070 0.0147228288 - 0.0000000063 0.0675944090 0.0000000037 -0.4832671881 0.0394618474 -0.0274637826 - 0.0000000042 0.0427611396 0.0000000037 0.0000003092 -0.0000005588 0.0000005047 - -0.1861518174 -0.0983439013 -0.0087781670 -0.0655106008 0.1452499777 0.9872238040 - 0.0000000009 0.3292638659 0.0000000168 0.5020199418 -0.0350135192 0.0142236976 - 0.0000000056 0.2478393167 0.0000000019 -0.4506765008 0.2221563160 0.0215902571 - -0.0000000158 0.0799338892 0.0000000130 -0.4103136659 -0.0124092670 0.0279444233 - -0.0000000031 0.0583351701 -0.0000000037 0.0000000973 0.0000002363 -0.0000002214 -} - -frame 32 { - 0.0327173434 0.7771659493 -0.0067124162 -0.0108396867 -0.0156269316 0.0144473240 - -0.0000000031 0.1770022959 -0.0009516329 0.0014095287 0.0012139790 -0.0005505175 - 0.0000000036 0.2065056115 0.0000000004 -0.0026051258 0.0020949338 0.0035212897 - -0.0000000034 0.2360066921 0.0000000029 -0.0026051286 0.0020949321 0.0035212904 - 0.0000000123 0.2655072212 -0.0000000013 -0.0326542407 -0.0025940917 -0.0043753455 - -0.0000000053 0.3947657645 -0.0401370786 -0.0104674436 -0.0054983301 -0.0289994311 - -0.0000000152 1.2101043463 -0.1230351925 0.0000000020 0.0000000013 0.0000000002 - 0.0778401494 0.2149246484 0.0011441745 -0.7201759815 -0.2656327486 0.5338580608 - 0.0000000075 0.1860864609 0.0000001658 -0.1423472762 0.0421400219 0.1089229807 - -0.0000000056 0.2763552964 0.0000000314 -0.0489947796 -0.0703392550 -0.3080425858 - 0.0000000149 0.3389307857 0.0000000522 -0.0000000261 0.0000000335 0.0000000037 - -0.0778401121 0.2149399072 -0.0016879967 -0.6674028635 0.3033924997 -0.6064294577 - -0.0000000056 0.1860865057 -0.0000000724 -0.2000376135 -0.0140677616 -0.0742253810 - -0.0000000168 0.2760954499 0.0000000014 0.0160301011 0.0643649399 0.2422968447 - -0.0000000075 0.3388733864 -0.0000000354 0.0000001974 -0.0000000075 0.0000000112 - 0.1861518025 -0.0983439088 -0.0044584549 0.0800151005 0.0463158898 0.9957170486 - 0.0000000101 0.3293980062 0.0000000023 0.1616351753 -0.1086872220 0.0100422148 - -0.0000000278 0.2477990240 0.0000000084 -0.4151766896 -0.2615707219 0.0138155185 - -0.0000000009 0.0675943941 0.0000000121 -0.4869247675 0.0372344218 -0.0283927079 - 0.0000000049 0.0427611284 -0.0000000034 0.0000003129 -0.0000005588 0.0000005120 - -0.1861517876 -0.0983438939 -0.0087781660 -0.0629982278 0.1773763597 0.9821226597 - 0.0000000055 0.3292638361 -0.0000000158 0.4797876477 -0.0394306891 0.0122608049 - 0.0000000191 0.2478393167 0.0000000056 -0.4656698704 0.2203402072 0.0222681277 - -0.0000000057 0.0799338892 -0.0000000075 -0.4129430056 -0.0100519834 0.0276638269 - -0.0000000026 0.0583351627 0.0000000037 0.0000001173 0.0000002421 -0.0000002286 -} - -frame 33 { - 0.0325596482 0.7761875391 -0.0065162126 -0.0125375865 -0.0234853849 0.0122927725 - -0.0000000010 0.1770022511 -0.0009516340 0.0011676580 0.0028766003 -0.0005016768 - -0.0000000011 0.2065058947 -0.0000000015 -0.0030772276 0.0059676277 0.0032016858 - -0.0000000037 0.2360069305 -0.0000000019 -0.0030772320 0.0059676287 0.0032016900 - -0.0000000007 0.2655071914 -0.0000000003 -0.0311992876 -0.0036708168 -0.0031599887 - -0.0000000009 0.3947655559 -0.0401370637 -0.0091200452 -0.0063240174 -0.0306504387 - 0.0000000054 1.2101047039 -0.1230351701 -0.0000000017 0.0000000001 -0.0000000002 - 0.0778401494 0.2149244994 0.0011441780 -0.7214801311 -0.2645927370 0.5312795043 - -0.0000000149 0.1860863417 0.0000001676 -0.1322940141 0.0383348092 0.1037160680 - 0.0000000186 0.2763551772 -0.0000000251 -0.0537638515 -0.0595894791 -0.3416557312 - -0.0000000447 0.3389307857 0.0000000671 -0.0000000335 0.0000000335 0.0000000037 - -0.0778401196 0.2149397880 -0.0016879954 -0.6655121446 0.3039843142 -0.6099105477 - -0.0000000214 0.1860864162 0.0000000552 -0.1969890594 -0.0174870919 -0.0784976557 - 0.0000000186 0.2760955989 -0.0000000417 0.0089063961 0.0736592561 0.2140982598 - 0.0000000186 0.3388733864 0.0000000829 0.0000002068 -0.0000000019 0.0000000224 - 0.1861518174 -0.0983439684 -0.0044584572 0.0846925601 0.0174988657 0.9962508678 - 0.0000000000 0.3293980658 -0.0000000002 0.1403757483 -0.1198847145 0.0132408058 - -0.0000000120 0.2477990985 0.0000000061 -0.4207057953 -0.2604711354 0.0148109216 - -0.0000000068 0.0675944164 -0.0000000075 -0.4863808453 0.0316390209 -0.0274388436 - 0.0000000000 0.0427611247 -0.0000000062 0.0000003120 -0.0000005551 0.0000005107 - -0.1861518174 -0.0983439088 -0.0087781670 -0.0597096644 0.2069393396 0.9765300155 - -0.0000000090 0.3292638361 0.0000000121 0.4483855069 -0.0425402261 0.0108229946 - 0.0000000137 0.2478393614 0.0000000028 -0.4709036350 0.2181767970 0.0196315125 - -0.0000000070 0.0799338967 0.0000000037 -0.4134617150 -0.0047181821 0.0255547408 - 0.0000000079 0.0583351627 -0.0000000037 0.0000000875 0.0000002468 -0.0000002244 -} - -frame 34 { - 0.0321685150 0.7735652328 -0.0060668513 -0.0140816299 -0.0302470364 0.0091358656 - 0.0000000037 0.1770023257 -0.0009516373 0.0008808243 0.0042873742 -0.0000715139 - -0.0000000012 0.2065057158 -0.0000000014 -0.0036409022 0.0091616791 0.0035004674 - -0.0000000042 0.2360068113 -0.0000000056 -0.0036409060 0.0091616791 0.0035004721 - 0.0000000014 0.2655073404 0.0000000013 -0.0299204364 -0.0043439432 -0.0031136139 - -0.0000000048 0.3947658837 -0.0401370935 -0.0070780753 -0.0071556149 -0.0316865742 - -0.0000000136 1.2101048231 -0.1230352074 -0.0000000001 0.0000000002 0.0000000009 - 0.0778401494 0.2149246037 0.0011441738 -0.7206913829 -0.2666692436 0.5291694999 - -0.0000000224 0.1860865057 0.0000001295 -0.1256929934 0.0376238041 0.0944982991 - -0.0000000037 0.2763551474 0.0000000186 -0.0577299446 -0.0481061041 -0.3694139123 - 0.0000000149 0.3389307559 -0.0000000596 -0.0000000149 0.0000000447 0.0000000075 - -0.0778401271 0.2149398774 -0.0016879907 -0.6663843989 0.3007005453 -0.6130492091 - 0.0000000168 0.1860864013 -0.0000001548 -0.1894735694 -0.0172982756 -0.0898704156 - -0.0000000261 0.2760955393 0.0000000496 0.0022995025 0.0792591646 0.1999634504 - 0.0000000000 0.3388733864 -0.0000000368 0.0000002133 -0.0000000056 0.0000000130 - 0.1861518025 -0.0983438864 -0.0044584619 0.0866638571 -0.0119778411 0.9961640239 - 0.0000000186 0.3293980062 0.0000000019 0.1193209514 -0.1321028471 0.0109418938 - 0.0000000100 0.2477990538 0.0000000019 -0.4291165471 -0.2617770731 0.0088375192 - 0.0000000136 0.0675943866 -0.0000000037 -0.4885687828 0.0363781527 -0.0288181547 - 0.0000000030 0.0427611396 0.0000000037 0.0000003092 -0.0000005579 0.0000005143 - -0.1861518025 -0.0983438566 -0.0087781725 0.0569339357 -0.2320820540 -0.9710237980 - -0.0000000250 0.3292638361 -0.0000000098 0.4069894254 -0.0426359922 0.0098273121 - -0.0000000126 0.2478393167 0.0000000030 -0.4710985124 0.2158902287 0.0176302791 - -0.0000000121 0.0799339041 0.0000000037 -0.4149358869 -0.0056401347 0.0196920205 - 0.0000000065 0.0583351813 -0.0000000102 0.0000000978 0.0000002375 -0.0000002254 -} - -frame 35 { - 0.0316940993 0.7682825923 -0.0049332250 -0.0150513891 -0.0349891372 0.0055754734 - 0.0000000041 0.1770022511 -0.0009516360 0.0006719721 0.0053270808 0.0002643923 - -0.0000000001 0.2065058649 -0.0000000014 -0.0040527112 0.0113391597 0.0037322361 - -0.0000000040 0.2360067219 0.0000000015 -0.0040527172 0.0113391597 0.0037322391 - -0.0000000035 0.2655073106 -0.0000000033 -0.0303416569 -0.0051234257 -0.0015946866 - 0.0000000023 0.3947656155 -0.0401370935 -0.0040981253 -0.0074595455 -0.0330616161 - 0.0000000028 1.2101043463 -0.1230351329 -0.0000000021 -0.0000000007 0.0000000005 - 0.0778401345 0.2149245590 0.0011441743 -0.7197493911 -0.2683090866 0.5287719965 - 0.0000000112 0.1860865057 -0.0000000587 -0.1178114861 0.0376898237 0.0831757411 - -0.0000000037 0.2763551474 0.0000001416 -0.0604307726 -0.0363617055 -0.3947496414 - -0.0000000894 0.3389307559 -0.0000001043 -0.0000000261 0.0000000335 0.0000000075 - -0.0778401271 0.2149399221 -0.0016880012 -0.6680377722 0.2974653542 -0.6142466068 - 0.0000000093 0.1860864311 0.0000000172 -0.1821664274 -0.0130821345 -0.1063669845 - 0.0000000075 0.2760954797 -0.0000001630 -0.0051292623 0.0826660842 0.1965071559 - 0.0000000102 0.3388732672 -0.0000000615 0.0000001974 -0.0000000047 0.0000000056 - 0.1861518174 -0.0983439758 -0.0044584591 0.0914091170 -0.0435958356 0.9948517680 - -0.0000000049 0.3293980658 -0.0000000037 0.0981025323 -0.1434267908 0.0117234783 - -0.0000000088 0.2477990389 -0.0000000084 -0.4384711385 -0.2617076635 0.0056927796 - -0.0000000003 0.0675944090 -0.0000000075 -0.4888302684 0.0362864845 -0.0288903862 - 0.0000000023 0.0427611545 -0.0000000005 0.0000003129 -0.0000005560 0.0000005061 - -0.1861517876 -0.0983439907 -0.0087781679 0.0532096997 -0.2518107891 -0.9662855864 - 0.0000000005 0.3292638659 -0.0000000349 0.3630568683 -0.0410676263 0.0103170648 - 0.0000000149 0.2478393316 -0.0000000019 -0.4703564346 0.2141061276 0.0155955339 - 0.0000000224 0.0799338892 -0.0000000149 -0.4246833026 -0.0017470254 0.0210699644 - 0.0000000065 0.0583351441 0.0000000075 0.0000000983 0.0000002354 -0.0000002210 -} - -frame 36 { - 0.0312196836 0.7629999518 -0.0037995968 -0.0160206072 -0.0397299901 0.0020148815 - 0.0000000014 0.1770022959 -0.0009516318 0.0004631159 0.0063667810 0.0006002972 - -0.0000000041 0.2065057307 0.0000000028 -0.0044644997 0.0135165872 0.0039639855 - -0.0000000001 0.2360068262 -0.0000000016 -0.0044645076 0.0135165844 0.0039639878 - 0.0000000005 0.2655073106 -0.0000000066 -0.0307627879 -0.0059028938 -0.0000757517 - -0.0000000010 0.3947655261 -0.0401370861 -0.0011181382 -0.0077633942 -0.0344362929 - -0.0000000123 1.2101044655 -0.1230351701 0.0000000001 -0.0000000016 0.0000000005 - 0.0778401420 0.2149246037 0.0011441747 -0.7188035846 -0.2699474394 0.5283716321 - 0.0000000000 0.1860864013 0.0000000345 -0.1099070683 0.0377485380 0.0718370676 - 0.0000000112 0.2763552070 -0.0000000466 -0.0630778894 -0.0245848969 -0.4197340310 - -0.0000001043 0.3389308155 -0.0000000522 -0.0000000335 0.0000000186 0.0000000130 - -0.0778401196 0.2149398029 -0.0016879924 -0.6696756482 0.2942233682 -0.6154296994 - -0.0000000028 0.1860865057 -0.0000001325 -0.1747966409 -0.0088614961 -0.1228270307 - -0.0000000540 0.2760955095 -0.0000000743 -0.0125575736 0.0860664696 0.1930353343 - 0.0000000000 0.3388734758 0.0000000033 0.0000002058 -0.0000000099 0.0000000205 - 0.1861518174 -0.0983439535 -0.0044584535 0.0960604697 -0.0751690492 0.9925171733 - 0.0000000037 0.3293980360 -0.0000000037 0.0768272728 -0.1546676606 0.0124982605 - -0.0000000224 0.2477990687 -0.0000000019 -0.4477735460 -0.2616071105 0.0025474117 - 0.0000000057 0.0675944090 -0.0000000075 -0.4890918136 0.0361948311 -0.0289626513 - -0.0000000028 0.0427611396 -0.0000000014 0.0000003101 -0.0000005569 0.0000004994 - -0.1861518025 -0.0983439311 -0.0087781660 0.0494618975 -0.2714279592 -0.9611192346 - 0.0000000093 0.3292638063 0.0000000205 0.3182994723 -0.0394059718 0.0107833864 - -0.0000000088 0.2478393018 -0.0000000037 -0.4696103334 0.2123201936 0.0135606201 - 0.0000000112 0.0799339041 -0.0000000037 -0.4343743324 0.0021463088 0.0224451032 - -0.0000000205 0.0583351590 0.0000000056 0.0000001034 0.0000002421 -0.0000002170 -} - -frame 37 { - 0.0307241548 0.7552762628 -0.0021972228 -0.0163716599 -0.0427851751 -0.0011961824 - -0.0000000031 0.1770023853 -0.0009516405 0.0000328350 0.0071172151 0.0006000867 - 0.0000000045 0.2065057755 -0.0000000026 -0.0053211492 0.0149956383 0.0035575929 - 0.0000000008 0.2360067964 -0.0000000034 -0.0053211604 0.0149956346 0.0035575952 - 0.0000000076 0.2655071318 0.0000000111 -0.0296134613 -0.0070029991 0.0040291068 - -0.0000000039 0.3947654665 -0.0401370861 0.0006132373 -0.0073508164 -0.0364435129 - -0.0000000133 1.2101042271 -0.1230351850 -0.0000000003 -0.0000000001 0.0000000005 - 0.0778401420 0.2149246037 0.0011441796 -0.7206436396 -0.2680162787 0.5258492231 - 0.0000000149 0.1860864162 0.0000003250 -0.1015981063 0.0409427583 0.0642565489 - 0.0000000075 0.2763551176 0.0000000885 -0.0636368692 -0.0112130875 -0.4418083429 - -0.0000000596 0.3389307261 0.0000001118 -0.0000000224 0.0000000410 -0.0000000186 - -0.0778401121 0.2149397582 -0.0016879882 -0.6674141288 0.2971901596 -0.6160486341 - 0.0000000112 0.1860864013 0.0000000712 -0.1721251309 -0.0061860587 -0.1249731779 - -0.0000000037 0.2760955095 0.0000000142 -0.0261694528 0.0975442082 0.1730046868 - -0.0000000056 0.3388733268 -0.0000000596 0.0000002133 -0.0000000033 0.0000000140 - 0.1861518174 -0.0983438790 -0.0044584591 0.1010557488 -0.1004279032 0.9897536635 - 0.0000000037 0.3293979764 0.0000000075 0.0737370253 -0.1648152024 0.0153699685 - -0.0000000298 0.2477990389 0.0000000009 -0.4622935951 -0.2623595893 -0.0043994030 - -0.0000000116 0.0675943941 0.0000000037 -0.4924226105 0.0341518484 -0.0299031734 - -0.0000000109 0.0427611396 -0.0000000140 0.0000003129 -0.0000005551 0.0000004938 - -0.1861518025 -0.0983439088 -0.0087781725 0.0456974618 -0.2903811634 -0.9556946754 - 0.0000000162 0.3292638361 0.0000000012 0.2730980515 -0.0371678360 0.0128437532 - -0.0000000309 0.2478393167 -0.0000000159 -0.4704517424 0.2097348124 0.0094727864 - 0.0000000075 0.0799338967 0.0000000075 -0.4306609035 0.0090151308 0.0183918476 - -0.0000000168 0.0583351552 -0.0000000186 0.0000001211 0.0000002459 -0.0000002105 -} - -frame 38 { - 0.0301154647 0.7465047240 0.0004971009 -0.0164572392 -0.0452634245 -0.0039524022 - -0.0000000025 0.1770024002 -0.0009516352 -0.0003263228 0.0077624754 0.0006083181 - 0.0000000012 0.2065058500 0.0000000019 -0.0060361596 0.0163112842 0.0031238461 - 0.0000000013 0.2360066921 -0.0000000064 -0.0060361573 0.0163112618 0.0031238450 - -0.0000000038 0.2655070722 0.0000000003 -0.0295488536 -0.0077772876 0.0073519526 - 0.0000000034 0.3947656453 -0.0401370712 0.0025224274 -0.0071552410 -0.0374727212 - -0.0000000090 1.2101045847 -0.1230351925 0.0000000002 0.0000000010 -0.0000000001 - 0.0778401271 0.2149245590 0.0011441730 -0.7184998989 -0.2708194256 0.5273426175 - 0.0000000298 0.1860865802 0.0000000186 -0.0960942507 0.0462692045 0.0468707271 - -0.0000000261 0.2763551176 -0.0000001332 -0.0649801046 -0.0024484948 -0.4540911615 - 0.0000000447 0.3389308155 -0.0000000075 -0.0000000410 0.0000000689 0.0000000000 - -0.0778401196 0.2149396241 -0.0016879824 -0.6674585342 0.2963218689 -0.6172364354 - -0.0000000149 0.1860865057 0.0000001760 -0.1680711508 0.0023412120 -0.1362708807 - -0.0000000298 0.2760953903 -0.0000000095 -0.0306263510 0.1041737497 0.1733768731 - -0.0000000112 0.3388733268 -0.0000000149 0.0000002029 -0.0000000075 0.0000000168 - 0.1861518323 -0.0983438641 -0.0044584572 0.1042272896 -0.1184436753 0.9873620272 - -0.0000000242 0.3293980062 0.0000000000 0.0897218212 -0.1726025045 0.0211222991 - -0.0000000240 0.2477990538 -0.0000000075 -0.4788700640 -0.2640811503 -0.0145909442 - 0.0000000050 0.0675944164 0.0000000186 -0.5013285279 0.0285244957 -0.0323589891 - 0.0000000009 0.0427611247 -0.0000000009 0.0000003111 -0.0000005551 0.0000005122 - -0.1861518025 -0.0983438417 -0.0087781670 0.0421738140 -0.3090324104 -0.9499168396 - 0.0000000060 0.3292638659 0.0000000151 0.2311901599 -0.0360586904 0.0149047375 - 0.0000000077 0.2478393316 -0.0000000075 -0.4751386642 0.2057677060 0.0023064914 - -0.0000000261 0.0799339116 0.0000000000 -0.4452133179 0.0137984278 0.0224858541 - 0.0000000000 0.0583351739 0.0000000056 0.0000000931 0.0000002570 -0.0000002291 -} - -frame 39 { - 0.0294224303 0.7377065420 0.0025789198 -0.0164464973 -0.0477613695 -0.0062347455 - -0.0000000056 0.1770022064 -0.0009516373 -0.0007878604 0.0085128024 0.0006333871 - 0.0000000016 0.2065057158 -0.0000000014 -0.0069563095 0.0177071411 0.0027504270 - -0.0000000013 0.2360066772 0.0000000031 -0.0069563016 0.0177071430 0.0027504289 - -0.0000000014 0.2655072510 0.0000000143 -0.0289979074 -0.0081662741 0.0094738193 - 0.0000000009 0.3947655261 -0.0401370786 0.0041383323 -0.0072791087 -0.0373313390 - 0.0000000065 1.2101044655 -0.1230351850 0.0000000020 -0.0000000002 -0.0000000003 - 0.0778401271 0.2149246633 0.0011441832 -0.7187536955 -0.2703885436 0.5274518728 - -0.0000000075 0.1860865355 0.0000000410 -0.0875671878 0.0497381054 0.0334166065 - -0.0000000056 0.2763552070 0.0000000596 -0.0624842681 0.0075854519 -0.4674458802 - -0.0000001043 0.3389307261 0.0000000447 -0.0000000261 0.0000000298 -0.0000000056 - -0.0778401196 0.2149397880 -0.0016879751 -0.6679875851 0.2947086990 -0.6184387207 - 0.0000000168 0.1860865206 -0.0000001295 -0.1643985361 0.0098381341 -0.1460763961 - 0.0000000484 0.2760954201 -0.0000000019 -0.0338692144 0.1125904173 0.1738351285 - 0.0000000186 0.3388733268 0.0000001024 0.0000002207 -0.0000000121 0.0000000093 - 0.1861518174 -0.0983439907 -0.0044584554 0.1071930975 -0.1333082169 0.9850252867 - 0.0000000354 0.3293980658 -0.0000000075 0.1107317433 -0.1801104546 0.0276880097 - -0.0000000256 0.2477990687 0.0000000047 -0.4908493459 -0.2657902539 -0.0237856377 - 0.0000000156 0.0675943643 -0.0000000037 -0.5149884820 0.0197573453 -0.0360150672 - -0.0000000198 0.0427611284 0.0000000037 0.0000003148 -0.0000005532 0.0000005155 - -0.1861518025 -0.0983440652 -0.0087781679 0.0404407792 -0.3240041137 -0.9449098110 - -0.0000000072 0.3292638958 -0.0000000305 0.1844578832 -0.0345200151 0.0160273295 - 0.0000000005 0.2478393167 -0.0000000335 -0.4775360227 0.1994580179 -0.0096049327 - 0.0000000205 0.0799338818 0.0000000112 -0.4433555603 0.0188978221 0.0260633659 - 0.0000000075 0.0583352186 -0.0000000149 0.0000000978 0.0000002421 -0.0000002235 -} - -frame 40 { - 0.0288664140 0.7285305858 0.0037637446 -0.0166690294 -0.0512606502 -0.0078075281 - 0.0000000014 0.1770023108 -0.0009516403 -0.0010318523 0.0096207345 0.0003969166 - 0.0000000013 0.2065058053 -0.0000000005 -0.0074425298 0.0195770357 0.0019428501 - 0.0000000022 0.2360067517 -0.0000000042 -0.0074425251 0.0195770375 0.0019428530 - 0.0000000013 0.2655074000 0.0000000078 -0.0265345909 -0.0087597091 0.0126264300 - 0.0000000005 0.3947656453 -0.0401370674 0.0034154661 -0.0071282852 -0.0366563126 - 0.0000000056 1.2101044655 -0.1230352223 -0.0000000001 0.0000000006 0.0000000006 - 0.0778401345 0.2149247378 0.0011441882 -0.7192997336 -0.2696592510 0.5271283984 - 0.0000000075 0.1860862672 -0.0000001844 -0.0811699331 0.0557417423 0.0228708182 - 0.0000000075 0.2763551176 0.0000000745 -0.0600660481 0.0145824766 -0.4748789370 - 0.0000000894 0.3389307857 0.0000001043 -0.0000000205 0.0000000503 -0.0000000019 - -0.0778401196 0.2149400264 -0.0016879907 -0.6668947339 0.2961695790 -0.6186916232 - 0.0000000047 0.1860864758 0.0000001583 -0.1655328423 0.0181181505 -0.1544004977 - -0.0000000149 0.2760954499 -0.0000000610 -0.0355497561 0.1205635294 0.1768801808 - 0.0000000000 0.3388733566 0.0000000447 0.0000002238 -0.0000000149 0.0000000084 - 0.1861518025 -0.0983439982 -0.0044584610 0.1042764634 -0.1448798031 0.9835735559 - -0.0000000186 0.3293980062 0.0000000298 0.1343239397 -0.1818687469 0.0315405987 - -0.0000000036 0.2477990538 -0.0000000512 -0.4937920570 -0.2669614851 -0.0290965270 - 0.0000000026 0.0675943792 -0.0000000224 -0.5372225642 0.0065163621 -0.0421040617 - 0.0000000035 0.0427611284 0.0000000047 0.0000003101 -0.0000005551 0.0000005058 - -0.1861518025 -0.0983439088 -0.0087781716 0.0420014039 -0.3346105516 -0.9410706758 - -0.0000000128 0.3292638958 0.0000000040 0.1496303827 -0.0297907237 0.0154056624 - -0.0000000339 0.2478393167 -0.0000000121 -0.4780418277 0.1896913499 -0.0253036674 - 0.0000000000 0.0799338967 0.0000000075 -0.4475391805 0.0196542237 0.0230307486 - 0.0000000075 0.0583351590 0.0000000326 0.0000000778 0.0000002440 -0.0000002179 -} - -frame 41 { - 0.0283103976 0.7193546295 0.0049485676 -0.0168913249 -0.0547592416 -0.0093802204 - -0.0000000041 0.1770023257 -0.0009516357 -0.0012758397 0.0107286610 0.0001604454 - 0.0000000001 0.2065057307 0.0000000000 -0.0079287197 0.0214468613 0.0011352621 - -0.0000000016 0.2360066921 -0.0000000030 -0.0079287151 0.0214468539 0.0011352651 - -0.0000000036 0.2655072212 -0.0000000070 -0.0240708068 -0.0093530137 0.0157788899 - -0.0000000009 0.3947655857 -0.0401370749 0.0026925930 -0.0069774515 -0.0359812230 - 0.0000000147 1.2101048231 -0.1230352297 -0.0000000004 -0.0000000003 0.0000000018 - 0.0778401271 0.2149246037 0.0011441675 -0.7198449969 -0.2689297497 0.5268045068 - 0.0000000075 0.1860864758 0.0000000037 -0.0747561678 0.0617360100 0.0123187397 - 0.0000000028 0.2763551772 0.0000000298 -0.0576400161 0.0215785671 -0.4822534621 - -0.0000000149 0.3389307559 -0.0000000671 -0.0000000186 0.0000000410 -0.0000000000 - -0.0778401196 0.2149398178 -0.0016879998 -0.6657993197 0.2976293564 -0.6189424992 - -0.0000000121 0.1860864311 -0.0000000182 -0.1666438133 0.0263967570 -0.1627039015 - 0.0000000000 0.2760954797 0.0000000242 -0.0372276455 0.1285278946 0.1799117178 - 0.0000000149 0.3388733864 0.0000001099 0.0000002040 -0.0000000112 0.0000000158 - 0.1861518174 -0.0983439088 -0.0044584544 0.1013414264 -0.1564285010 0.9819520116 - 0.0000000000 0.3293980062 -0.0000000149 0.1578511298 -0.1835213155 0.0353769287 - -0.0000000147 0.2477990538 -0.0000000289 -0.4967132509 -0.2681210935 -0.0344063565 - 0.0000000056 0.0675943792 0.0000000056 -0.5589932203 -0.0067424071 -0.0481606647 - 0.0000000100 0.0427611098 -0.0000000056 0.0000003139 -0.0000005560 0.0000004990 - -0.1861518174 -0.0983438417 -0.0087781725 0.0435565226 -0.3451727033 -0.9371027350 - -0.0000000171 0.3292638361 0.0000000116 0.1145676598 -0.0250174124 0.0147635555 - 0.0000000031 0.2478393018 -0.0000000144 -0.4783827662 0.1798558235 -0.0409990884 - -0.0000000410 0.0799339041 -0.0000000186 -0.4517089427 0.0204100348 0.0199973118 - -0.0000000075 0.0583351962 -0.0000000210 0.0000000787 0.0000002328 -0.0000002198 -} - -frame 42 { - 0.0277543813 0.7101786733 0.0061333925 -0.0171133727 -0.0582569800 -0.0109527521 - -0.0000000024 0.1770022810 -0.0009516361 -0.0015198287 0.0118365642 -0.0000760243 - 0.0000000001 0.2065057009 -0.0000000064 -0.0084148711 0.0233165696 0.0003276721 - -0.0000000027 0.2360065430 0.0000000078 -0.0084148692 0.0233165622 0.0003276743 - -0.0000000025 0.2655072510 0.0000000094 -0.0216066577 -0.0099461526 0.0189310350 - 0.0000000008 0.3947656751 -0.0401370674 0.0019697309 -0.0068266182 -0.0353061259 - -0.0000000158 1.2101044655 -0.1230351776 -0.0000000022 0.0000000015 -0.0000000019 - 0.0778401271 0.2149245888 0.0011441953 -0.7203896046 -0.2682000101 0.5264800191 - 0.0000000373 0.1860864908 -0.0000001006 -0.0683295429 0.0677175149 0.0017663183 - 0.0000000130 0.2763552666 0.0000000801 -0.0552070774 0.0285710823 -0.4895667136 - -0.0000001341 0.3389307857 -0.0000000820 -0.0000000335 0.0000000317 -0.0000000000 - -0.0778401196 0.2149398476 -0.0016879864 -0.6647016406 0.2990880013 -0.6191909909 - 0.0000000037 0.1860864758 -0.0000001611 -0.1677310616 0.0346704721 -0.1709830761 - 0.0000000261 0.2760954797 -0.0000000075 -0.0389025025 0.1364815682 0.1829289198 - 0.0000000000 0.3388733268 -0.0000000261 0.0000002142 -0.0000000019 0.0000000149 - 0.1861518025 -0.0983438864 -0.0044584563 0.0983894095 -0.1679482460 0.9801613688 - -0.0000000186 0.3293979466 0.0000000075 0.1812720448 -0.1850654483 0.0391902961 - -0.0000000182 0.2477990538 -0.0000000400 -0.4996127486 -0.2692690194 -0.0397144891 - 0.0000000037 0.0675944015 -0.0000000149 -0.5802418590 -0.0199831855 -0.0541685559 - 0.0000000130 0.0427611433 -0.0000000065 0.0000003139 -0.0000005593 0.0000004836 - -0.1861518025 -0.0983438790 -0.0087781716 0.0451055132 -0.3556865156 -0.9330074191 - 0.0000000171 0.3292638659 0.0000000377 0.0794037133 -0.0202183221 0.0141034694 - 0.0000000046 0.2478393614 0.0000000205 -0.4785587490 0.1699617207 -0.0566749610 - -0.0000000112 0.0799339190 -0.0000000087 -0.4558644295 0.0211651828 0.0169633273 - 0.0000000298 0.0583351701 0.0000000609 0.0000001015 0.0000002456 -0.0000002272 -} - -frame 43 { - 0.0273046102 0.7018097639 0.0050632823 -0.0177315194 -0.0626448467 -0.0118454918 - 0.0000000015 0.1770022511 -0.0009516336 -0.0015471274 0.0131576946 -0.0004886952 - 0.0000000027 0.2065057904 0.0000000013 -0.0084697353 0.0254987180 -0.0008917517 - 0.0000000048 0.2360067368 -0.0000000045 -0.0084697399 0.0254987217 -0.0008917467 - -0.0000000014 0.2655071914 0.0000000018 -0.0154939936 -0.0108974744 0.0232023317 - -0.0000000001 0.3947655857 -0.0401371270 -0.0017390226 -0.0061738882 -0.0344306044 - -0.0000000106 1.2101044655 -0.1230351925 -0.0000000002 0.0000000003 -0.0000000000 - 0.0778401345 0.2149246484 0.0011441779 -0.7235593796 -0.2640128136 0.5242730975 - 0.0000000075 0.1860864013 -0.0000001043 -0.0610336736 0.0743385926 -0.0014604285 - 0.0000000112 0.2763552964 0.0000000279 -0.0533062890 0.0327990092 -0.4929466844 - -0.0000000596 0.3389307857 -0.0000000596 -0.0000000130 0.0000000335 -0.0000000112 - -0.0778401121 0.2149399221 -0.0016880017 -0.6620590687 0.3008725345 -0.6222953796 - -0.0000000047 0.1860865057 0.0000000633 -0.1650819927 0.0447137579 -0.1866257042 - 0.0000000373 0.2760955095 -0.0000000307 -0.0373224840 0.1379285157 0.2085390240 - 0.0000000000 0.3388733566 0.0000000782 0.0000002021 -0.0000000037 0.0000000186 - 0.1861518323 -0.0983439460 -0.0044584535 0.0937054306 -0.1776929200 0.9787964225 - -0.0000000075 0.3293979764 0.0000000373 0.1997094601 -0.1836514473 0.0366819650 - -0.0000000140 0.2477990389 0.0000000140 -0.4916441739 -0.2689304054 -0.0375967287 - -0.0000000084 0.0675944239 0.0000000242 -0.6067899466 -0.0425296053 -0.0658368617 - -0.0000000022 0.0427611396 -0.0000000019 0.0000003069 -0.0000005555 0.0000004894 - -0.1861518174 -0.0983439088 -0.0087781698 0.0454645120 -0.3693536818 -0.9276071191 - -0.0000000026 0.3292638958 0.0000000133 0.0864968300 -0.0152676180 0.0140145198 - 0.0000000178 0.2478393018 0.0000000393 -0.4812517464 0.1639006287 -0.0658185929 - 0.0000000149 0.0799339339 -0.0000000140 -0.4432595372 0.0270446241 0.0158460476 - 0.0000000037 0.0583352074 -0.0000000436 0.0000001027 0.0000002407 -0.0000002161 -} - -frame 44 { - 0.0265439451 0.6948063374 0.0024724249 -0.0186505131 -0.0666139275 -0.0115774414 - 0.0000000005 0.1770023108 -0.0009516338 -0.0010714063 0.0142077757 -0.0008718444 - 0.0000000076 0.2065057755 0.0000000006 -0.0075191627 0.0273675602 -0.0017357597 - 0.0000000051 0.2360066473 0.0000000056 -0.0075191474 0.0273675751 -0.0017357569 - -0.0000000041 0.2655073106 0.0000000114 -0.0103726424 -0.0111394785 0.0243846886 - -0.0000000014 0.3947655559 -0.0401370712 -0.0053263963 -0.0060010836 -0.0317803137 - -0.0000000027 1.2101044655 -0.1230352297 0.0000000018 0.0000000001 0.0000000002 - 0.0778401345 0.2149246037 0.0011441906 -0.7232728601 -0.2645007968 0.5241985321 - -0.0000000224 0.1860863566 -0.0000000596 -0.0580973588 0.0798092708 -0.0055422955 - 0.0000000000 0.2763551474 0.0000000577 -0.0535575747 0.0338532589 -0.4932433665 - 0.0000000000 0.3389307857 0.0000000224 -0.0000000205 0.0000000410 -0.0000000037 - -0.0778401196 0.2149400115 -0.0016879846 -0.6614947915 0.3009355664 -0.6234039664 - -0.0000000112 0.1860863715 0.0000000703 -0.1635357440 0.0514426008 -0.2007348686 - 0.0000000037 0.2760954499 0.0000001797 -0.0370151065 0.1379772574 0.2232279181 - 0.0000000000 0.3388734758 0.0000000186 0.0000002026 -0.0000000140 0.0000000168 - 0.1861518323 -0.0983438864 -0.0044584572 0.0970157683 -0.1929204464 0.9753489494 - 0.0000000186 0.3293979764 0.0000000298 0.2014546990 -0.1888049543 0.0303339101 - -0.0000000102 0.2477990240 0.0000000186 -0.4834381938 -0.2679376304 -0.0316145681 - 0.0000000000 0.0675943866 0.0000000093 -0.6215763688 -0.0555694290 -0.0717563778 - -0.0000000140 0.0427612029 -0.0000000037 0.0000003129 -0.0000005555 0.0000004878 - -0.1861518174 -0.0983438715 -0.0087781744 0.0449546240 -0.3839324415 -0.9217013121 - -0.0000000058 0.3292638659 0.0000000224 0.1208163798 -0.0114293173 0.0138205234 - 0.0000000022 0.2478393465 0.0000000197 -0.4786839485 0.1648253500 -0.0665849298 - 0.0000000112 0.0799339041 -0.0000000019 -0.4562006891 0.0372064412 0.0175828114 - 0.0000000037 0.0583352149 0.0000000021 0.0000000823 0.0000002471 -0.0000002179 -} - -frame 45 { - 0.0257832780 0.6878028512 -0.0001184326 -0.0195691865 -0.0705818385 -0.0113091944 - -0.0000000003 0.1770023704 -0.0009516389 -0.0005956806 0.0152578326 -0.0012549927 - -0.0000000038 0.2065058351 -0.0000000023 -0.0065685511 0.0292362906 -0.0025797605 - -0.0000000012 0.2360067964 0.0000000021 -0.0065685213 0.0292362887 -0.0025797577 - -0.0000000011 0.2655071020 -0.0000000150 -0.0052510039 -0.0113811763 0.0255663786 - -0.0000000022 0.3947653472 -0.0401370861 -0.0089136567 -0.0058281617 -0.0291294139 - 0.0000000079 1.2101043463 -0.1230352372 0.0000000019 -0.0000000001 0.0000000013 - 0.0778401271 0.2149244249 0.0011441725 -0.7229860425 -0.2649887502 0.5241237283 - 0.0000000298 0.1860864758 0.0000000186 -0.0551577993 0.0852755830 -0.0096238563 - 0.0000000075 0.2763550878 0.0000000307 -0.0538088195 0.0349074528 -0.4935392737 - 0.0000000745 0.3389307261 -0.0000000186 -0.0000000205 0.0000000419 -0.0000000075 - -0.0778401196 0.2149397135 -0.0016880077 -0.6609286070 0.3009978235 -0.6245108843 - 0.0000000168 0.1860864162 0.0000000161 -0.1619478017 0.0581583194 -0.2147929072 - -0.0000000596 0.2760955095 0.0000000224 -0.0366993770 0.1379946917 0.2378661931 - 0.0000000075 0.3388734460 0.0000000559 0.0000002091 0.0000000102 0.0000000168 - 0.1861518472 -0.0983438492 -0.0044584610 0.1002985761 -0.2080932558 0.9716243148 - -0.0000000298 0.3293980658 -0.0000000522 0.2031854838 -0.1939449012 0.0239836983 - -0.0000000093 0.2477990389 0.0000000130 -0.4751677513 -0.2669090927 -0.0256282259 - 0.0000000242 0.0675943866 -0.0000000224 -0.6359957457 -0.0685764477 -0.0776335225 - -0.0000000020 0.0427612029 -0.0000000019 0.0000003115 -0.0000005579 0.0000004835 - -0.1861518025 -0.0983438492 -0.0087781707 0.0444335975 -0.3984160125 -0.9155669808 - -0.0000000050 0.3292638361 0.0000000140 0.1549903750 -0.0075772423 0.0136098703 - -0.0000000014 0.2478393465 0.0000000407 -0.4761115611 0.1657484472 -0.0673505887 - -0.0000000019 0.0799339414 -0.0000000056 -0.4689950049 0.0473563187 0.0193139371 - 0.0000000112 0.0583351888 -0.0000000024 0.0000000891 0.0000002366 -0.0000002272 -} - -frame 46 { - 0.0249190629 0.6833446622 -0.0034516174 -0.0208713058 -0.0732041076 -0.0096749282 - -0.0000000010 0.1770022660 -0.0009516347 0.0002239249 0.0158340912 -0.0018721836 - 0.0000000002 0.2065058500 -0.0000000019 -0.0049309433 0.0303311776 -0.0039276634 - 0.0000000010 0.2360067964 -0.0000000001 -0.0049309339 0.0303311795 -0.0039276546 - 0.0000000070 0.2655071318 0.0000000024 -0.0011565756 -0.0117496010 0.0275738854 - 0.0000000031 0.3947656751 -0.0401370861 -0.0114991637 -0.0050276979 -0.0272022020 - -0.0000000171 1.2101043463 -0.1230351999 -0.0000000003 -0.0000000001 -0.0000000002 - 0.0778401420 0.2149245888 0.0011441696 -0.7268434167 -0.2597756088 0.5215622187 - 0.0000000075 0.1860864460 -0.0000000764 -0.0487445369 0.0860323757 -0.0022031209 - -0.0000000373 0.2763551772 0.0000000494 -0.0520722233 0.0377112627 -0.4975024462 - 0.0000000298 0.3389308155 0.0000000112 -0.0000000168 0.0000000335 -0.0000000112 - -0.0778401121 0.2149397284 -0.0016879939 -0.6581073403 0.3038343787 -0.6263819337 - 0.0000000014 0.1860864162 -0.0000001239 -0.1629581153 0.0588417947 -0.2224076986 - -0.0000000820 0.2760954797 -0.0000000512 -0.0349424742 0.1391775459 0.2410606593 - 0.0000000149 0.3388733864 0.0000000298 0.0000002007 0.0000000037 0.0000000093 - 0.1861518174 -0.0983439907 -0.0044584554 0.1002223417 -0.2237199098 0.9678594470 - -0.0000000149 0.3293980062 0.0000000075 0.1963295341 -0.1936047077 0.0181341097 - -0.0000000205 0.2477990389 0.0000000512 -0.4614106119 -0.2657902837 -0.0165588893 - 0.0000000056 0.0675944090 -0.0000000391 -0.6399134398 -0.0814322755 -0.0839217007 - -0.0000000319 0.0427611582 0.0000000007 0.0000003101 -0.0000005560 0.0000005106 - -0.1861517876 -0.0983438939 -0.0087781679 0.0441464335 -0.4042490423 -0.9131231904 - -0.0000000002 0.3292638659 0.0000000070 0.1836367548 -0.0041455277 0.0138766216 - -0.0000000009 0.2478392869 -0.0000000221 -0.4552828372 0.1685976088 -0.0664741248 - -0.0000000056 0.0799339190 0.0000000000 -0.4927184880 0.0609366521 0.0253087413 - -0.0000000112 0.0583351552 0.0000000006 0.0000000972 0.0000002400 -0.0000002310 -} - -frame 47 { - 0.0236920752 0.6814902425 -0.0054201279 -0.0224865079 -0.0743334889 -0.0070805638 - -0.0000000005 0.1770023108 -0.0009516322 0.0016750497 0.0159573685 -0.0022787915 - 0.0000000005 0.2065058798 -0.0000000016 -0.0020308143 0.0306362044 -0.0050453069 - -0.0000000036 0.2360065579 -0.0000000023 -0.0020308208 0.0306361746 -0.0050453139 - -0.0000000032 0.2655071616 0.0000000060 -0.0037816991 -0.0114454152 0.0273532998 - 0.0000000019 0.3947655857 -0.0401370823 -0.0098239621 -0.0044712359 -0.0246414021 - -0.0000000031 1.2101043463 -0.1230351552 -0.0000000001 0.0000000002 0.0000000006 - 0.0778401345 0.2149244845 0.0011441754 -0.7287888527 -0.2560371757 0.5230758786 - 0.0000000373 0.1860863715 0.0000000093 -0.0415895022 0.0851114690 0.0030225227 - 0.0000000149 0.2763551772 0.0000001201 -0.0536324047 0.0357980356 -0.4981374741 - -0.0000000447 0.3389307857 0.0000000335 -0.0000000186 0.0000000531 -0.0000000019 - -0.0778401271 0.2149398029 -0.0016879935 -0.6573480368 0.3046392202 -0.6268102527 - 0.0000000023 0.1860864758 0.0000001311 -0.1656827331 0.0582980849 -0.2280513346 - 0.0000000186 0.2760955691 0.0000000279 -0.0321898609 0.1408886611 0.2342552245 - 0.0000000000 0.3388734460 -0.0000000596 0.0000001984 -0.0000000019 0.0000000149 - 0.1861518174 -0.0983439162 -0.0044584572 0.0985213816 -0.2344993353 0.9651720524 - -0.0000000261 0.3293980360 0.0000000075 0.1960775852 -0.1862395257 0.0129169170 - 0.0000000121 0.2477990389 -0.0000000047 -0.4494316280 -0.2660801113 -0.0098201828 - -0.0000000149 0.0675943866 -0.0000000298 -0.6377928257 -0.0814369917 -0.0817389265 - 0.0000000449 0.0427611619 0.0000000049 0.0000003098 -0.0000005567 0.0000004701 - -0.1861518025 -0.0983439535 -0.0087781642 0.0447386168 -0.4041026831 -0.9132983088 - -0.0000000029 0.3292638361 0.0000000093 0.2046047896 -0.0014404459 0.0133681539 - 0.0000000042 0.2478393167 -0.0000000088 -0.4256402850 0.1711577624 -0.0670968518 - 0.0000000317 0.0799338967 0.0000000075 -0.5094832778 0.0577997677 0.0286134649 - 0.0000000224 0.0583351664 -0.0000000425 0.0000001062 0.0000002395 -0.0000002198 -} - -frame 48 { - 0.0218607876 0.6814361215 -0.0063827131 -0.0243663266 -0.0737056285 -0.0037747649 - -0.0000000009 0.1770022511 -0.0009516336 0.0029882391 0.0154902386 -0.0024541896 - 0.0000000021 0.2065057755 -0.0000000005 0.0005926726 0.0300665740 -0.0062831636 - -0.0000000045 0.2360067815 -0.0000000054 0.0005926642 0.0300665442 -0.0062831710 - 0.0000000096 0.2655073404 0.0000000021 -0.0032199998 -0.0106602926 0.0254814457 - -0.0000000018 0.3947657943 -0.0401370823 -0.0103598470 -0.0037799110 -0.0217331816 - -0.0000000104 1.2101047039 -0.1230351925 -0.0000000020 0.0000000004 -0.0000000008 - 0.0778401420 0.2149247974 0.0011441731 -0.7305260301 -0.2534452379 0.5224162340 - 0.0000000298 0.1860864013 -0.0000000093 -0.0382627696 0.0847328827 0.0106987087 - 0.0000000224 0.2763551474 0.0000000754 -0.0559083186 0.0334286354 -0.4973084927 - 0.0000000894 0.3389307857 0.0000000186 -0.0000000205 0.0000000428 -0.0000000056 - -0.0778401121 0.2149400115 -0.0016879987 -0.6565048099 0.3047271073 -0.6284321547 - -0.0000000075 0.1860864609 -0.0000000164 -0.1652000546 0.0611306615 -0.2357463837 - -0.0000000224 0.2760953903 0.0000000047 -0.0285703000 0.1388837099 0.2419325709 - 0.0000000149 0.3388733566 -0.0000000037 0.0000002030 0.0000000084 0.0000000093 - 0.1861518174 -0.0983439013 -0.0044584610 0.0958334431 -0.2229845673 0.9678268433 - 0.0000000075 0.3293980062 0.0000000000 0.2480417937 -0.1702244878 0.0111328112 - -0.0000000019 0.2477990389 0.0000000142 -0.4490534067 -0.2702611685 -0.0149576506 - -0.0000000186 0.0675943941 -0.0000000228 -0.6173495650 -0.0579247996 -0.0671497434 - 0.0000000112 0.0427611358 -0.0000000026 0.0000003092 -0.0000005551 0.0000005076 - -0.1861518025 -0.0983439609 -0.0087781660 0.0456925258 -0.4015085399 -0.9144748449 - -0.0000000007 0.3292638361 0.0000000158 0.2187496275 -0.0006773776 0.0107201813 - -0.0000000066 0.2478393316 -0.0000000149 -0.3852547705 0.1655461043 -0.0816630051 - 0.0000000019 0.0799339116 0.0000000037 -0.4889713824 0.0428433456 0.0237283912 - -0.0000000019 0.0583351590 -0.0000000058 0.0000000983 0.0000002342 -0.0000002254 -} - -frame 49 { - 0.0201799348 0.6847563982 -0.0048024524 -0.0262795258 -0.0714980289 0.0002113608 - -0.0000000012 0.1770023257 -0.0009516347 0.0042009419 0.0144439703 -0.0026333169 - -0.0000000012 0.2065058649 -0.0000000033 0.0030177969 0.0286985170 -0.0077485046 - -0.0000000016 0.2360065877 0.0000000037 0.0030177871 0.0286985170 -0.0077485088 - 0.0000000037 0.2655074596 0.0000000038 -0.0022295429 -0.0096161384 0.0230206400 - -0.0000000027 0.3947655857 -0.0401370823 -0.0111401640 -0.0027436689 -0.0192235578 - -0.0000000027 1.2101044655 -0.1230351999 -0.0000000001 0.0000000004 0.0000000005 - 0.0778401494 0.2149247974 0.0011441724 -0.7297149897 -0.2544892430 0.5231435299 - -0.0000000186 0.1860864758 -0.0000000745 -0.0386402272 0.0841036737 0.0115947090 - 0.0000000000 0.2763551772 -0.0000000680 -0.0602057390 0.0271415170 -0.4897136986 - -0.0000000298 0.3389307261 0.0000000373 -0.0000000205 0.0000000428 -0.0000000075 - -0.0778401271 0.2149399370 -0.0016879915 -0.6554825902 0.3048292100 -0.6303846836 - -0.0000000037 0.1860863715 -0.0000000627 -0.1621167064 0.0633810014 -0.2415400296 - -0.0000000373 0.2760953605 -0.0000000587 -0.0278276261 0.1365062743 0.2530862987 - -0.0000000596 0.3388734162 0.0000000186 0.0000001979 -0.0000000065 0.0000000168 - 0.1861518025 -0.0983439311 -0.0044584554 0.0948905051 -0.1832674742 0.9758784771 - 0.0000000224 0.3293980360 -0.0000000224 0.3546363115 -0.1494255215 0.0115538165 - 0.0000000009 0.2477990687 -0.0000000198 -0.4120484889 -0.2730816603 -0.0104704872 - -0.0000000224 0.0675944090 -0.0000000130 -0.6069840193 -0.0314723849 -0.0467542596 - -0.0000000373 0.0427611209 -0.0000000037 0.0000003241 -0.0000005420 0.0000005178 - -0.1861518025 -0.0983438790 -0.0087781688 0.0461883098 -0.3940078914 -0.9178162813 - -0.0000000203 0.3292639256 0.0000000363 0.2297186553 0.0004788298 0.0061653336 - -0.0000000118 0.2478393167 -0.0000000386 -0.3504793644 0.1644133478 -0.0843568146 - -0.0000000386 0.0799338669 0.0000000186 -0.4434855878 0.0233707875 0.0163915269 - -0.0000000037 0.0583351627 -0.0000000077 0.0000000964 0.0000002431 -0.0000002207 -} - -frame 50 { - 0.0188280679 0.6883106232 -0.0053995010 -0.0278367531 -0.0686222613 0.0048588775 - 0.0000000006 0.1770022810 -0.0009516329 0.0052390057 0.0133149717 -0.0033337823 - -0.0000000008 0.2065058500 0.0000000058 0.0050962847 0.0267608725 -0.0097427126 - -0.0000000005 0.2360068113 -0.0000000045 0.0050962879 0.0267608762 -0.0097427126 - 0.0000000074 0.2655073106 0.0000000003 -0.0018170504 -0.0088172294 0.0222447291 - 0.0000000004 0.3947656751 -0.0401370861 -0.0114485221 -0.0009535994 -0.0183699261 - 0.0000000071 1.2101045847 -0.1230351999 0.0000000018 0.0000000003 0.0000000002 - 0.0778401420 0.2149247378 0.0011441763 -0.7274091244 -0.2573310137 0.5254982114 - 0.0000000000 0.1860862970 -0.0000001267 -0.0419618972 0.0828404352 0.0062545962 - 0.0000000149 0.2763552666 0.0000000251 -0.0650837272 0.0179504044 -0.4753405750 - 0.0000000894 0.3389307559 0.0000001155 -0.0000000130 0.0000000410 -0.0000000168 - -0.0778401196 0.2149399668 -0.0016879931 -0.6561176777 0.3053235114 -0.6283683181 - -0.0000000005 0.1860863119 -0.0000000561 -0.1630569845 0.0605232641 -0.2435249835 - 0.0000000335 0.2760955691 0.0000000829 -0.0292988941 0.1344258338 0.2527883947 - 0.0000000000 0.3388733864 0.0000000671 0.0000002328 -0.0000000056 0.0000000093 - 0.1861518323 -0.0983438939 -0.0044584665 0.0886757895 -0.1706984341 0.9783687592 - -0.0000000335 0.3293979168 0.0000000000 0.3988252878 -0.1267306805 0.0102259647 - -0.0000000338 0.2477990091 0.0000000456 -0.4019855559 -0.2711654007 0.0042316075 - -0.0000000056 0.0675944239 -0.0000000112 -0.5663021207 -0.0205482617 -0.0385633446 - -0.0000000261 0.0427611992 0.0000000084 0.0000003045 -0.0000005579 0.0000005104 - -0.1861518025 -0.0983439237 -0.0087781707 0.0462636463 -0.3828848600 -0.9225932360 - 0.0000000105 0.3292638659 0.0000000065 0.2341158837 0.0010609664 0.0017658350 - 0.0000000017 0.2478393018 -0.0000000289 -0.3262773752 0.1639061272 -0.0841321647 - 0.0000000098 0.0799339041 0.0000000186 -0.3861450851 0.0023798246 0.0080088023 - 0.0000000203 0.0583351962 -0.0000000006 0.0000001043 0.0000002389 -0.0000002313 -} - -frame 51 { - 0.0176164843 0.6941003203 -0.0062829424 -0.0286315102 -0.0654918626 0.0094416905 - 0.0000000019 0.1770022810 -0.0009516336 0.0056374348 0.0119895227 -0.0041516563 - 0.0000000036 0.2065057307 -0.0000000040 0.0058987308 0.0245069228 -0.0119120460 - -0.0000000013 0.2360066622 -0.0000000026 0.0058987159 0.0245069284 -0.0119120590 - -0.0000000021 0.2655072808 -0.0000000052 0.0015309622 -0.0080235507 0.0221371073 - 0.0000000013 0.3947655559 -0.0401370861 -0.0132145360 0.0013333187 -0.0186193828 - -0.0000000010 1.2101045847 -0.1230351850 -0.0000000001 0.0000000005 0.0000000004 - 0.0778401271 0.2149246931 0.0011441739 -0.7251466513 -0.2605419755 0.5266793370 - 0.0000000000 0.1860864460 0.0000000168 -0.0482403822 0.0818255693 -0.0021129977 - 0.0000000298 0.2763552070 0.0000001313 -0.0685807616 0.0075771804 -0.4552355409 - 0.0000000596 0.3389307857 0.0000001416 -0.0000000261 0.0000000224 -0.0000000056 - -0.0778401121 0.2149398476 -0.0016879961 -0.6596242785 0.3011447191 -0.6269971728 - 0.0000000028 0.1860864311 0.0000000608 -0.1548435390 0.0552339852 -0.2480594069 - -0.0000000224 0.2760954797 -0.0000000177 -0.0344127864 0.1293442249 0.2629822493 - 0.0000000149 0.3388735056 -0.0000000633 0.0000001965 -0.0000000047 0.0000000205 - 0.1861518174 -0.0983438864 -0.0044584591 0.0844099000 -0.1522052735 0.9815468192 - 0.0000000149 0.3293980658 0.0000000075 0.4422889650 -0.0948960558 0.0023159257 - 0.0000000061 0.2477990687 -0.0000000121 -0.3861489594 -0.2663160264 0.0262405295 - 0.0000000000 0.0675944015 -0.0000000112 -0.5261663198 -0.0206554886 -0.0235835090 - -0.0000000224 0.0427612104 0.0000000391 0.0000002868 -0.0000005597 0.0000005234 - -0.1861518025 -0.0983439311 -0.0087781642 0.0469793342 -0.3663773835 -0.9292783141 - 0.0000000102 0.3292638361 -0.0000000158 0.2334100008 0.0016138796 -0.0015578978 - -0.0000000270 0.2478393167 0.0000000135 -0.3154336512 0.1648146063 -0.0816870406 - -0.0000000106 0.0799339041 0.0000000149 -0.3699338436 -0.0019236815 0.0062074726 - -0.0000000024 0.0583351664 0.0000000024 0.0000000972 0.0000002398 -0.0000002323 -} - -frame 52 { - 0.0156355463 0.7023747563 -0.0065824222 -0.0283442959 -0.0625154302 0.0131659871 - -0.0000000014 0.1770023406 -0.0009516347 0.0053658746 0.0104656899 -0.0043870285 - -0.0000000003 0.2065058351 0.0000000023 0.0053653996 0.0221460406 -0.0133635728 - -0.0000000037 0.2360067070 -0.0000000001 0.0053653885 0.0221460313 -0.0133635728 - 0.0000000019 0.2655073404 0.0000000008 0.0081337839 -0.0065512387 0.0192858484 - -0.0000000006 0.3947655559 -0.0401370786 -0.0171743985 0.0034224489 -0.0180153977 - 0.0000000003 1.2101045847 -0.1230351925 -0.0000000008 -0.0000000000 0.0000000010 - 0.0778401345 0.2149246931 0.0011441765 -0.7263116241 -0.2587732971 0.5263679624 - 0.0000000112 0.1860863417 -0.0000000987 -0.0463595577 0.0796588957 -0.0057019480 - 0.0000000000 0.2763551772 -0.0000000168 -0.0722100213 -0.0027062322 -0.4398987591 - 0.0000000000 0.3389307857 -0.0000000298 -0.0000000224 0.0000000391 -0.0000000112 - -0.0778401121 0.2149399370 -0.0016879921 -0.6622512937 0.3004749417 -0.6224010587 - -0.0000000177 0.1860864460 0.0000000906 -0.1576396674 0.0418773890 -0.2441291064 - 0.0000000224 0.2760955989 0.0000000801 -0.0386472940 0.1242536306 0.2554716766 - 0.0000000000 0.3388733566 -0.0000000335 0.0000002095 0.0000000019 0.0000000158 - 0.1861518323 -0.0983438939 -0.0044584591 0.0818257704 -0.1262954921 0.9852524996 - 0.0000000075 0.3293980062 0.0000000075 0.4862888157 -0.0702879727 -0.0038647850 - -0.0000000093 0.2477990687 0.0000000149 -0.3537300825 -0.2650919557 0.0336336046 - 0.0000000149 0.0675943792 -0.0000000075 -0.5056189299 -0.0153266378 -0.0152124576 - -0.0000000298 0.0427611396 0.0000000298 0.0000003194 -0.0000005523 0.0000005029 - -0.1861518025 -0.0983439013 -0.0087781716 -0.0468956903 0.3486647010 0.9360459447 - -0.0000000033 0.3292638958 0.0000000237 0.2415077090 0.0021149295 -0.0025981201 - 0.0000000102 0.2478392869 -0.0000000065 -0.3304107487 0.1694656610 -0.0714426264 - -0.0000000072 0.0799338967 -0.0000000075 -0.3874478638 0.0060880929 0.0091982475 - -0.0000000051 0.0583352037 0.0000000010 0.0000000976 0.0000002380 -0.0000002437 -} - -frame 53 { - 0.0133966720 0.7119659185 -0.0064499993 -0.0268644691 -0.0596917532 0.0154642900 - 0.0000000001 0.1770023108 -0.0009516325 0.0050809975 0.0086490856 -0.0038846240 - 0.0000000027 0.2065057009 -0.0000000023 0.0048137144 0.0198499300 -0.0140230358 - 0.0000000015 0.2360066921 -0.0000000047 0.0048137088 0.0198499113 -0.0140230432 - 0.0000000058 0.2655071616 0.0000000042 0.0105807018 -0.0047449809 0.0149482200 - -0.0000000005 0.3947654665 -0.0401370823 -0.0192935411 0.0054392954 -0.0170450024 - 0.0000000030 1.2101048231 -0.1230351850 0.0000000019 0.0000000000 0.0000000002 - 0.0778401271 0.2149245441 0.0011441777 -0.7234108448 -0.2623707056 0.5291378498 - 0.0000000410 0.1860865355 0.0000001062 -0.0501741543 0.0792743713 -0.0176816117 - 0.0000000000 0.2763551474 0.0000000112 -0.0783399791 -0.0179334488 -0.4152306616 - 0.0000000000 0.3389308453 0.0000000671 -0.0000000112 0.0000000279 -0.0000000075 - -0.0778401047 0.2149399221 -0.0016879966 -0.6672779918 0.2944126725 -0.6203605533 - 0.0000000019 0.1860865951 0.0000000382 -0.1488806456 0.0289263278 -0.2474492639 - 0.0000000484 0.2760955095 -0.0000000019 -0.0455898643 0.1155117750 0.2639344931 - 0.0000000149 0.3388732374 -0.0000000317 0.0000002107 -0.0000000056 0.0000000100 - 0.1861518323 -0.0983438864 -0.0044584591 0.0816450492 -0.0932725593 0.9889961481 - -0.0000000224 0.3293980360 0.0000000149 0.5314694047 -0.0485609211 -0.0112972828 - -0.0000000559 0.2477990687 0.0000000186 -0.3205316067 -0.2698010504 0.0197770875 - 0.0000000019 0.0675944164 0.0000000261 -0.5025274158 -0.0005194793 -0.0042555123 - -0.0000000075 0.0427611656 -0.0000000522 0.0000003134 -0.0000005569 0.0000004820 - -0.1861518174 -0.0983439237 -0.0087781688 -0.0494986475 0.3300677538 0.9425247312 - 0.0000000065 0.3292639554 0.0000000113 0.2534994781 0.0058316747 -0.0024085767 - 0.0000000009 0.2478392720 -0.0000000093 -0.3527174890 0.1743435115 -0.0605349280 - -0.0000000194 0.0799338892 0.0000000261 -0.3952082694 0.0095114624 0.0106929708 - -0.0000000084 0.0583351329 0.0000000017 0.0000000991 0.0000002377 -0.0000002310 -} - -frame 54 { - 0.0115795797 0.7220494747 -0.0071331318 -0.0243527144 -0.0570837297 0.0161919612 - -0.0000000003 0.1770023108 -0.0009516336 0.0042939889 0.0067675672 -0.0029248935 - -0.0000000031 0.2065059394 0.0000000037 0.0032643680 0.0175487995 -0.0142524857 - 0.0000000010 0.2360066324 0.0000000002 0.0032643592 0.0175487809 -0.0142524829 - -0.0000000009 0.2655072808 0.0000000027 0.0143690975 -0.0031167443 0.0115859462 - -0.0000000002 0.3947655857 -0.0401370823 -0.0223181583 0.0078136316 -0.0167691726 - -0.0000000031 1.2101047039 -0.1230351925 0.0000000016 -0.0000000003 0.0000000008 - 0.0778401271 0.2149247676 0.0011441738 -0.7222551107 -0.2642711103 0.5290570855 - 0.0000000000 0.1860865057 -0.0000001034 -0.0559584983 0.0778304040 -0.0271518081 - -0.0000000224 0.2763551474 -0.0000000298 -0.0808130205 -0.0326874368 -0.3887432218 - -0.0000000447 0.3389307857 -0.0000000298 -0.0000000224 0.0000000335 -0.0000000075 - -0.0778401121 0.2149399370 -0.0016879913 -0.6704267859 0.2913020551 -0.6180101037 - -0.0000000093 0.1860864311 0.0000000389 -0.1449680179 0.0152222179 -0.2419156432 - -0.0000000373 0.2760953307 0.0000000237 -0.0509079397 0.1086085886 0.2649798989 - -0.0000000075 0.3388734460 -0.0000000261 0.0000001985 -0.0000000019 0.0000000168 - 0.1861518174 -0.0983438939 -0.0044584572 0.0774215460 -0.0563626960 0.9925426245 - -0.0000000037 0.3293980360 0.0000000112 0.5737635493 -0.0364939384 -0.0147235524 - -0.0000000112 0.2477990538 0.0000000354 -0.3095033467 -0.2765706480 -0.0030323237 - 0.0000000037 0.0675944164 -0.0000000075 -0.5006561279 0.0245501809 0.0011656965 - -0.0000000224 0.0427611470 0.0000000624 0.0000003129 -0.0000005551 0.0000005001 - -0.1861518025 -0.0983439460 -0.0087781670 -0.0543800332 0.3035686016 0.9509947896 - 0.0000000072 0.3292638361 0.0000000073 0.2520068288 0.0124347061 -0.0026840763 - -0.0000000107 0.2478393167 -0.0000000107 -0.3729420602 0.1776811481 -0.0528861247 - -0.0000000142 0.0799338967 0.0000000112 -0.3960424662 0.0096061416 0.0110178748 - 0.0000000063 0.0583351515 0.0000000030 0.0000001012 0.0000002382 -0.0000002387 -} - -frame 55 { - 0.0104325823 0.7319670320 -0.0069171321 -0.0210941900 -0.0544106886 0.0153903114 - 0.0000000055 0.1770022660 -0.0009516299 0.0036035264 0.0052264244 -0.0018303959 - -0.0000000011 0.2065057904 -0.0000000037 0.0019052026 0.0150174461 -0.0135973692 - -0.0000000010 0.2360068709 0.0000000010 0.0019052022 0.0150174443 -0.0135973673 - 0.0000000015 0.2655071914 0.0000000042 0.0133735426 -0.0016908976 0.0091994284 - 0.0000000010 0.3947656453 -0.0401370823 -0.0230225585 0.0104167536 -0.0168593731 - 0.0000000144 1.2101044655 -0.1230351925 -0.0000000012 0.0000000003 -0.0000000002 - 0.0778401271 0.2149246037 0.0011441761 -0.7219554782 -0.2644781470 0.5297500491 - -0.0000000037 0.1860865206 0.0000000289 -0.0615700223 0.0772429258 -0.0323190019 - 0.0000000298 0.2763552070 -0.0000000545 -0.0828921720 -0.0471242741 -0.3622296453 - 0.0000000149 0.3389308453 -0.0000000820 -0.0000000335 0.0000000298 -0.0000000075 - -0.0778401121 0.2149398029 -0.0016879898 -0.6719297767 0.2902928889 -0.6161780357 - 0.0000000019 0.1860863864 -0.0000002338 -0.1441334039 0.0076665953 -0.2281066477 - -0.0000000186 0.2760956585 0.0000000503 -0.0532126501 0.1045003310 0.2634286582 - 0.0000000000 0.3388735354 -0.0000000149 0.0000001877 -0.0000000049 0.0000000130 - 0.1861518323 -0.0983439684 -0.0044584535 0.0752911866 -0.0215327740 0.9944407940 - -0.0000000335 0.3293979466 -0.0000000037 0.5970001221 -0.0348554775 -0.0120150922 - -0.0000000168 0.2477990836 0.0000000149 -0.3239134848 -0.2790440619 -0.0134645123 - -0.0000000075 0.0675944239 0.0000000112 -0.4944718182 0.0365797058 0.0002543994 - -0.0000000019 0.0427611098 0.0000000242 0.0000003008 -0.0000005635 0.0000004848 - -0.1861518174 -0.0983438864 -0.0087781688 -0.0582935475 0.2698687613 0.9607939720 - -0.0000000026 0.3292638361 0.0000000119 0.2397137135 0.0192471929 -0.0036861498 - 0.0000000075 0.2478393018 0.0000000012 -0.3922075033 0.1802600622 -0.0465385653 - 0.0000000044 0.0799339041 -0.0000000037 -0.3926701248 0.0077860616 0.0105065126 - -0.0000000207 0.0583351851 -0.0000000029 0.0000001038 0.0000002356 -0.0000002368 -} - -frame 56 { - 0.0092855860 0.7418845892 -0.0067011323 -0.0178352799 -0.0517366342 0.0145883765 - -0.0000000019 0.1770024002 -0.0009516346 0.0029130508 0.0036852560 -0.0007358943 - -0.0000000004 0.2065058649 0.0000000002 0.0005460195 0.0124859698 -0.0129421344 - -0.0000000007 0.2360065877 -0.0000000003 0.0005460287 0.0124859717 -0.0129421344 - 0.0000000017 0.2655072510 0.0000000008 0.0123778721 -0.0002650347 0.0068128309 - -0.0000000029 0.3947654963 -0.0401370823 -0.0237267949 0.0130198095 -0.0169494599 - -0.0000000033 1.2101042271 -0.1230352223 0.0000000013 -0.0000000000 0.0000000004 - 0.0778401345 0.2149245888 0.0011441745 -0.7216551304 -0.2646849751 0.5304425359 - 0.0000000075 0.1860865653 0.0000000102 -0.0671778917 0.0766509250 -0.0374842882 - 0.0000000075 0.2763552368 0.0000000140 -0.0848871768 -0.0615133420 -0.3353484869 - 0.0000000149 0.3389306664 -0.0000000596 -0.0000000149 0.0000000410 -0.0000000112 - -0.0778401196 0.2149398327 -0.0016879935 -0.6734269261 0.2892812192 -0.6143407822 - -0.0000000075 0.1860863864 0.0000000237 -0.1432612091 0.0001090095 -0.2142380178 - 0.0000000596 0.2760955095 -0.0000000377 -0.0555159263 0.1003894433 0.2618706524 - 0.0000000102 0.3388734162 0.0000000671 0.0000002137 -0.0000000036 0.0000000158 - 0.1861518174 -0.0983438939 -0.0044584591 0.0730670020 0.0133239748 0.9950992465 - 0.0000000410 0.3293980062 -0.0000000016 0.6197423935 -0.0331881493 -0.0092967041 - 0.0000000019 0.2477990836 0.0000000335 -0.3382079005 -0.2814177871 -0.0238919109 - -0.0000000075 0.0675943941 -0.0000000186 -0.4881918430 0.0486021452 -0.0006569435 - 0.0000000130 0.0427611545 0.0000000130 0.0000003204 -0.0000005597 0.0000004899 - -0.1861518025 -0.0983439609 -0.0087781660 -0.0621338263 0.2358297706 0.9693855643 - 0.0000000112 0.3292638361 0.0000000014 0.2273708284 0.0260556806 -0.0046874629 - 0.0000000084 0.2478393316 -0.0000000113 -0.4112819731 0.1827511638 -0.0401683189 - 0.0000000058 0.0799338967 0.0000000037 -0.3892909288 0.0059658512 0.0099950023 - -0.0000000114 0.0583351627 0.0000000044 0.0000001002 0.0000002371 -0.0000002300 -} - -frame 57 { - 0.0082982518 0.7503269911 -0.0067441110 -0.0147543913 -0.0479369797 0.0127712181 - -0.0000000004 0.1770023257 -0.0009516333 0.0021097483 0.0022023576 0.0004507727 - 0.0000000030 0.2065059245 0.0000000041 -0.0010388417 0.0094192130 -0.0116709219 - -0.0000000004 0.2360066473 0.0000000009 -0.0010388391 0.0094192149 -0.0116709266 - 0.0000000018 0.2655071616 0.0000000018 0.0121764028 0.0008977635 0.0057565374 - -0.0000000021 0.3947656751 -0.0401370823 -0.0253544040 0.0158398803 -0.0171327516 - -0.0000000191 1.2101047039 -0.1230352074 0.0000000017 0.0000000003 0.0000000011 - 0.0778401494 0.2149244845 0.0011441736 -0.7233601809 -0.2617578208 0.5308603644 - -0.0000000112 0.1860864311 0.0000000047 -0.0688805729 0.0798674151 -0.0303651206 - 0.0000000075 0.2763551474 -0.0000000363 -0.0897083506 -0.0702521056 -0.3192568421 - -0.0000000596 0.3389307559 -0.0000000298 -0.0000000224 0.0000000075 0.0000000149 - -0.0778401271 0.2149397582 -0.0016879940 -0.6734642386 0.2905637920 -0.6123579741 - -0.0000000019 0.1860866249 0.0000000973 -0.1437152773 -0.0044980235 -0.1956226975 - 0.0000000186 0.2760956287 0.0000000177 -0.0583742708 0.0967556164 0.2618060410 - 0.0000000428 0.3388733864 -0.0000000447 0.0000002095 -0.0000000065 0.0000000135 - 0.1861518323 -0.0983439237 -0.0044584591 0.0669272467 0.0483399518 0.9949855208 - -0.0000000051 0.3293980062 0.0000000028 0.6302598715 -0.0319557786 -0.0047154725 - -0.0000000075 0.2477990687 0.0000000522 -0.3663515449 -0.2828288376 -0.0324122272 - -0.0000000168 0.0675944164 -0.0000000149 -0.4842981696 0.0600736886 -0.0023152784 - 0.0000000056 0.0427611321 -0.0000000093 0.0000002887 -0.0000005672 0.0000004871 - -0.1861518174 -0.0983439386 -0.0087781660 -0.0646299422 0.2021853626 0.9767758250 - 0.0000000081 0.3292639256 -0.0000000070 0.2123202085 0.0332649872 -0.0062333136 - 0.0000000135 0.2478393167 -0.0000000191 -0.4249276221 0.1839312762 -0.0363218859 - 0.0000000076 0.0799338818 -0.0000000186 -0.3879581392 0.0052071079 0.0098782629 - 0.0000000065 0.0583351701 -0.0000000007 0.0000000952 0.0000002400 -0.0000002365 -} - -frame 58 { - 0.0074097048 0.7569062710 -0.0068279877 -0.0122189438 -0.0430582911 0.0111455377 - 0.0000000002 0.1770022362 -0.0009516325 0.0015338103 0.0007068861 0.0013080769 - -0.0000000011 0.2065058798 -0.0000000005 -0.0021755593 0.0059505240 -0.0099701388 - 0.0000000001 0.2360066026 -0.0000000015 -0.0021755528 0.0059505207 -0.0099701388 - -0.0000000009 0.2655072510 0.0000000109 0.0104566226 0.0020048958 0.0050737383 - -0.0000000003 0.3947657347 -0.0401370823 -0.0263890736 0.0185801871 -0.0169521738 - 0.0000000058 1.2101045847 -0.1230352223 0.0000000016 0.0000000005 0.0000000015 - 0.0778401345 0.2149248570 0.0011441782 -0.7236732841 -0.2606965601 0.5321893096 - 0.0000000000 0.1860865206 -0.0000000703 -0.0720142201 0.0845320746 -0.0187491868 - -0.0000000224 0.2763551772 -0.0000001909 -0.0956915915 -0.0767809898 -0.3076722622 - -0.0000000745 0.3389307857 -0.0000001043 -0.0000000335 0.0000000335 0.0000000149 - -0.0778401196 0.2149398476 -0.0016879865 -0.6733870506 0.2922274470 -0.6100234985 - 0.0000000056 0.1860864013 -0.0000000978 -0.1427897811 -0.0109663988 -0.1782482713 - 0.0000000075 0.2760955393 -0.0000000959 -0.0647298396 0.0915276483 0.2619378567 - 0.0000000321 0.3388733268 -0.0000000134 0.0000002002 -0.0000000168 0.0000000102 - 0.1861518323 -0.0983439237 -0.0044584535 0.0642048419 0.0781159475 0.9936038256 - -0.0000000347 0.3293979764 -0.0000000075 0.6300843358 -0.0262661446 -0.0035994472 - -0.0000000140 0.2477990538 -0.0000000056 -0.4010139704 -0.2771889865 -0.0213947501 - 0.0000000112 0.0675943792 0.0000000112 -0.4755384028 0.0488400273 -0.0005673760 - 0.0000000037 0.0427611396 -0.0000000112 0.0000003381 -0.0000005607 0.0000004862 - -0.1861518025 -0.0983438864 -0.0087781679 -0.0668737590 0.1708031297 0.9825797677 - 0.0000000086 0.3292638063 0.0000000093 0.1996025592 0.0410636626 -0.0075538973 - 0.0000000077 0.2478393018 0.0000000061 -0.4385397434 0.1856959760 -0.0311824922 - -0.0000000168 0.0799339116 -0.0000000037 -0.3877292573 0.0050663310 0.0098654805 - -0.0000000026 0.0583351552 -0.0000000029 0.0000000997 0.0000002368 -0.0000002278 -} - -frame 59 { - 0.0068441508 0.7626317739 -0.0056581143 -0.0103592621 -0.0371085554 0.0095850443 - 0.0000000019 0.1770023704 -0.0009516345 0.0015406457 -0.0008338151 0.0021777276 - 0.0000000033 0.2065057606 -0.0000000007 -0.0021486017 0.0021742028 -0.0079758046 - -0.0000000030 0.2360066772 -0.0000000041 -0.0021485994 0.0021741977 -0.0079758065 - -0.0000000024 0.2655070722 0.0000000078 0.0030568317 0.0030350413 0.0048687598 - -0.0000000012 0.3947658241 -0.0401370823 -0.0241984855 0.0211340319 -0.0165211055 - 0.0000000068 1.2101044655 -0.1230352223 0.0000000021 0.0000000005 0.0000000015 - 0.0778401271 0.2149244249 0.0011441791 -0.7194254398 -0.2657043040 0.5366521478 - -0.0000000149 0.1860865206 0.0000001006 -0.0837648958 0.0913216695 -0.0086630583 - 0.0000000000 0.2763552666 -0.0000001407 -0.0984988064 -0.0831848606 -0.2918091416 - 0.0000000149 0.3389308453 0.0000001118 -0.0000000000 0.0000000261 0.0000000112 - -0.0778401196 0.2149398029 -0.0016879891 -0.6749756932 0.2926354110 -0.6057118773 - -0.0000000261 0.1860865057 0.0000000191 -0.1407663524 -0.0228512771 -0.1662477404 - -0.0000000745 0.2760953605 -0.0000000547 -0.0746138766 0.0843065828 0.2575826049 - -0.0000000056 0.3388734162 0.0000000186 0.0000002095 -0.0000000168 0.0000000149 - 0.1861518174 -0.0983438641 -0.0044584563 0.0640999153 0.1066684946 0.9911663532 - -0.0000000065 0.3293979466 0.0000000000 0.6232311130 -0.0216892213 -0.0022445628 - -0.0000000065 0.2477990836 0.0000000093 -0.4219030738 -0.2666741908 0.0049456870 - 0.0000000037 0.0675943866 -0.0000000075 -0.4741801918 0.0207000170 -0.0032979196 - 0.0000000000 0.0427611582 0.0000000056 0.0000003185 -0.0000005653 0.0000004992 - -0.1861517876 -0.0983438268 -0.0087781670 -0.0696661621 0.1379823983 0.9875273705 - 0.0000000014 0.3292638659 0.0000000009 0.1831955016 0.0505755544 -0.0088562444 - 0.0000000123 0.2478393316 -0.0000000009 -0.4503660500 0.1874278635 -0.0261684824 - 0.0000000031 0.0799338967 0.0000000037 -0.3880111277 0.0052441047 0.0098584304 - -0.0000000102 0.0583351701 -0.0000000034 0.0000001026 0.0000002380 -0.0000002281 -} - -frame 60 { - 0.0066259904 0.7672243118 -0.0054335538 -0.0091267582 -0.0303288046 0.0081739165 - -0.0000000012 0.1770022959 -0.0009516331 0.0010870188 -0.0024321589 0.0027801546 - -0.0000000006 0.2065056860 0.0000000014 -0.0030412178 -0.0018421877 -0.0064574187 - 0.0000000010 0.2360066921 0.0000000009 -0.0030412164 -0.0018421845 -0.0064574215 - -0.0000000031 0.2655071914 0.0000000055 0.0015622914 0.0032911117 0.0082448833 - 0.0000000009 0.3947659135 -0.0401370861 -0.0251240209 0.0242919996 -0.0172829740 - 0.0000000051 1.2101044655 -0.1230351999 0.0000000001 -0.0000000003 0.0000000006 - 0.0778401345 0.2149244845 0.0011441777 -0.7176806331 -0.2674528956 0.5391428471 - 0.0000000224 0.1860865206 -0.0000000494 -0.0929247811 0.0920252427 0.0097507359 - 0.0000000000 0.2763551772 0.0000000853 -0.0953899696 -0.0851468295 -0.2906797826 - 0.0000000000 0.3389308453 -0.0000000261 -0.0000000224 0.0000000335 -0.0000000112 - -0.0778401196 0.2149396986 -0.0016879910 -0.6744634509 0.2959953547 -0.6015549898 - -0.0000000037 0.1860865206 -0.0000000689 -0.1376286894 -0.0480288938 -0.1544502228 - 0.0000000130 0.2760954499 0.0000000360 -0.0922923088 0.0748896226 0.2470783144 - 0.0000000075 0.3388732076 -0.0000000382 0.0000001928 -0.0000000065 0.0000000075 - 0.1861518025 -0.0983439013 -0.0044584582 0.0633690581 0.1361641437 0.9877592921 - -0.0000000056 0.3293980360 -0.0000000037 0.6130381227 -0.0166307744 0.0005482050 - -0.0000000140 0.2477990687 -0.0000000596 -0.4533219039 -0.2525115609 0.0393729359 - -0.0000000037 0.0675944090 0.0000000037 -0.4535809457 -0.0071494244 -0.0036736852 - 0.0000000093 0.0427611433 0.0000000065 0.0000003031 -0.0000005625 0.0000004992 - -0.1861518025 -0.0983439386 -0.0087781660 -0.0715492368 0.1054119170 0.9914184809 - -0.0000000191 0.3292638063 0.0000000028 0.1627262235 0.0601309948 -0.0099361669 - -0.0000000130 0.2478393465 0.0000000033 -0.4588916898 0.1887685061 -0.0224401746 - -0.0000000105 0.0799338967 0.0000000186 -0.3884511292 0.0055295797 0.0098508727 - 0.0000000016 0.0583351627 0.0000000019 0.0000001004 0.0000002372 -0.0000002442 -} - -frame 61 { - 0.0058503188 0.7704677582 -0.0048821010 -0.0086344611 -0.0225505047 0.0070268563 - 0.0000000003 0.1770024002 -0.0009516344 0.0009045101 -0.0040692436 0.0038613288 - 0.0000000007 0.2065057158 0.0000000013 -0.0033855762 -0.0060042860 -0.0043890141 - -0.0000000004 0.2360068113 -0.0000000035 -0.0033855813 -0.0060042995 -0.0043890118 - -0.0000000023 0.2655071020 0.0000000001 -0.0026922210 0.0039511588 0.0105528999 - 0.0000000058 0.3947654665 -0.0401370749 -0.0235009175 0.0268053152 -0.0160073861 - 0.0000000002 1.2101047039 -0.1230351925 0.0000000019 0.0000000000 0.0000000000 - 0.0778401345 0.2149245143 0.0011441726 -0.7156860828 -0.2697965205 0.5411211848 - -0.0000000019 0.1860864460 0.0000001071 -0.1015061513 0.0861559063 0.0369906835 - 0.0000000084 0.2763552964 0.0000002293 -0.0879928172 -0.0835360140 -0.3043875396 - 0.0000000447 0.3389308155 0.0000000335 -0.0000000224 0.0000000373 -0.0000000075 - -0.0778401196 0.2149397135 -0.0016879956 -0.6741982102 0.2987589240 -0.5976017118 - -0.0000000037 0.1860864758 -0.0000000708 -0.1316784620 -0.0834346786 -0.1467200071 - 0.0000000093 0.2760955989 0.0000000572 -0.1178873703 0.0614951327 0.2305465192 - -0.0000000037 0.3388733566 -0.0000000936 0.0000001970 -0.0000000112 -0.0000000000 - 0.1861518174 -0.0983438939 -0.0044584582 0.0669170469 0.1714290828 0.9821910262 - 0.0000000186 0.3293979764 -0.0000000037 0.6008624434 -0.0110959345 0.0017876340 - -0.0000000168 0.2477990389 0.0000000130 -0.4581562281 -0.2472454458 0.0519816652 - 0.0000000075 0.0675943941 0.0000000140 -0.4486360550 -0.0152796926 0.0000862330 - -0.0000000168 0.0427611619 -0.0000000056 0.0000003059 -0.0000005476 0.0000004806 - -0.1861518174 -0.0983438939 -0.0087781660 -0.0725823864 0.0732451603 0.9942475557 - -0.0000000037 0.3292639554 -0.0000000037 0.1407798231 0.0699301213 -0.0103528118 - 0.0000000301 0.2478393018 -0.0000000014 -0.4663497508 0.1899605393 -0.0191563703 - 0.0000000040 0.0799338967 -0.0000000037 -0.3888242245 0.0057526338 0.0098785339 - 0.0000000165 0.0583351627 0.0000000030 0.0000001004 0.0000002398 -0.0000002237 -} - +MD5Version 10 // Parameters used during export: Reorient: False; Scale: 1.0 +commandline "" + +numFrames 62 +numJoints 25 +frameRate 60 +numAnimatedComponents 150 + +hierarchy { + "mixamorig:Hips" -1 63 0 // + "mixamorig:Spine" 0 63 6 // + "mixamorig:Spine1" 1 63 12 // + "mixamorig:Spine2" 2 63 18 // + "mixamorig:Neck" 3 63 24 // + "mixamorig:Head" 4 63 30 // + "mixamorig:HeadTop_End" 5 63 36 // + "mixamorig:LeftShoulder" 3 63 42 // + "mixamorig:LeftArm" 7 63 48 // + "mixamorig:LeftForeArm" 8 63 54 // + "mixamorig:LeftHand" 9 63 60 // + "mixamorig:RightShoulder" 3 63 66 // + "mixamorig:RightArm" 11 63 72 // + "mixamorig:RightForeArm" 12 63 78 // + "mixamorig:RightHand" 13 63 84 // + "mixamorig:LeftUpLeg" 0 63 90 // + "mixamorig:LeftLeg" 15 63 96 // + "mixamorig:LeftFoot" 16 63 102 // + "mixamorig:LeftToeBase" 17 63 108 // + "mixamorig:LeftToe_End" 18 63 114 // + "mixamorig:RightUpLeg" 0 63 120 // + "mixamorig:RightLeg" 20 63 126 // + "mixamorig:RightFoot" 21 63 132 // + "mixamorig:RightToeBase" 22 63 138 // + "mixamorig:RightToe_End" 23 63 144 // +} + +bounds { + ( -0.7690112591 0.0130460672 -0.6869345903 ) ( 0.8198037148 3.2776222229 0.6293076873 ) + ( -0.7654815316 0.0152218007 -0.6848248243 ) ( 0.8233009577 3.2803814411 0.6309520006 ) + ( -0.7602080107 0.0175263640 -0.6792608500 ) ( 0.8285005093 3.2818369865 0.6357978582 ) + ( -0.7565621734 0.0195722040 -0.6745953560 ) ( 0.8320342302 3.2809326649 0.6395508051 ) + ( -0.7534568906 0.0214859284 -0.6692540050 ) ( 0.8350012898 3.2787103653 0.6437878013 ) + ( -0.7516501546 0.0210171156 -0.6627959609 ) ( 0.8366671801 3.2738223076 0.6489366293 ) + ( -0.7498255372 0.0218453109 -0.6562877297 ) ( 0.8383355141 3.2688672543 0.6540952921 ) + ( -0.7479836941 0.0239449479 -0.6497297883 ) ( 0.8400065303 3.2638447285 0.6592631340 ) + ( -0.7474930286 0.0245627146 -0.6429661512 ) ( 0.8403551579 3.2565832138 0.6647189856 ) + ( -0.7471907735 0.0252159797 -0.6366874576 ) ( 0.8405394554 3.2483377457 0.6699254513 ) + ( -0.7466645241 0.0256596357 -0.6348811388 ) ( 0.8410266638 3.2404839993 0.6716330051 ) + ( -0.7461405396 0.0272797104 -0.6330261827 ) ( 0.8415015936 3.2326018810 0.6733726859 ) + ( -0.7456189990 0.0300516151 -0.6311231852 ) ( 0.8419649005 3.2246904373 0.6751442552 ) + ( -0.7444692254 0.0335572138 -0.6386801004 ) ( 0.8431410193 3.2176165581 0.6691085100 ) + ( -0.7433210611 0.0381747335 -0.6461675763 ) ( 0.8442857862 3.2104532719 0.6630891562 ) + ( -0.7416805029 0.0427098721 -0.6580638885 ) ( 0.8459398746 3.2051630020 0.6538401842 ) + ( -0.7400332689 0.0303214602 -0.6698958278 ) ( 0.8475584984 3.1996626854 0.6445352435 ) + ( -0.7383792400 0.0183016676 -0.6816620827 ) ( 0.8491407037 3.1939520836 0.6351764202 ) + ( -0.7369148731 0.0225029141 -0.6911210418 ) ( 0.8505424261 3.1923093796 0.6281216145 ) + ( -0.7354109883 0.0178308152 -0.6992620230 ) ( 0.8519964218 3.1924839020 0.6219094396 ) + ( -0.7338173389 0.0137353316 -0.7056880593 ) ( 0.8535726070 3.1940002441 0.6167638302 ) + ( -0.7323048115 0.0143442228 -0.7127656341 ) ( 0.8551234007 3.1978335381 0.6102328897 ) + ( -0.7304475307 0.0142214745 -0.7166767120 ) ( 0.8570655584 3.2039716244 0.6060970426 ) + ( -0.7277284861 0.0141291451 -0.7137023807 ) ( 0.8598854542 3.2139196396 0.6080901027 ) + ( -0.7241564393 0.0139550706 -0.7083755732 ) ( 0.8635703325 3.2254877090 0.6117745638 ) + ( -0.7206552029 0.0130311893 -0.7011157274 ) ( 0.8671791553 3.2366137505 0.6167758107 ) + ( -0.7172763348 0.0136898132 -0.6937646270 ) ( 0.8706465364 3.2475817204 0.6217334270 ) + ( -0.7146784663 0.0136561301 -0.6867564917 ) ( 0.8733301759 3.2569353580 0.6261819601 ) + ( -0.7130106688 0.0136127379 -0.6793866754 ) ( 0.8750630021 3.2652788162 0.6311582923 ) + ( -0.7125003934 0.0132087590 -0.6700797677 ) ( 0.8755943775 3.2728004456 0.6384427547 ) + ( -0.7138450146 0.0130875260 -0.6631118059 ) ( 0.8742155433 3.2778518200 0.6439070702 ) + ( -0.7176538110 0.0129884817 -0.6562746763 ) ( 0.8702574372 3.2803323269 0.6500672102 ) + ( -0.7213707566 0.0142393289 -0.6493711472 ) ( 0.8663427234 3.2827217579 0.6562758684 ) + ( -0.7275395393 0.0145214545 -0.6441575289 ) ( 0.8598570228 3.2815971375 0.6614631414 ) + ( -0.7345279455 0.0146008004 -0.6387752295 ) ( 0.8524862528 3.2788100243 0.6670643687 ) + ( -0.7417979240 0.0140575226 -0.6334035397 ) ( 0.8448455930 3.2733817101 0.6727272272 ) + ( -0.7490024567 0.0150444265 -0.6279437542 ) ( 0.8372298479 3.2678647041 0.6784591675 ) + ( -0.7558799386 0.0156663693 -0.6226255298 ) ( 0.8300533891 3.2598781586 0.6839175820 ) + ( -0.7622795105 0.0171161778 -0.6164174080 ) ( 0.8234605789 3.2508540154 0.6901251078 ) + ( -0.7680613995 0.0183883943 -0.6104680300 ) ( 0.8176102042 3.2418079376 0.6959877014 ) + ( -0.7727510929 0.0196554810 -0.6084332466 ) ( 0.8130818605 3.2326307297 0.6982004642 ) + ( -0.7774097323 0.0238135122 -0.6063272357 ) ( 0.8085833788 3.2234208584 0.7004650235 ) + ( -0.7820364237 0.0292629041 -0.6041499376 ) ( 0.8041150570 3.2141799927 0.7027810812 ) + ( -0.7853567004 0.0318517126 -0.6088851690 ) ( 0.8011176586 3.2060446739 0.6989673972 ) + ( -0.7872954607 0.0230414644 -0.6191437840 ) ( 0.7995414734 3.1995942593 0.6904717088 ) + ( -0.7892119884 0.0148172900 -0.6293479204 ) ( 0.7979608774 3.1930065155 0.6819806099 ) + ( -0.7894099951 0.0021576621 -0.6425211430 ) ( 0.7980738878 3.1889915466 0.6712079048 ) + ( -0.7885838747 -0.0055490285 -0.6541781425 ) ( 0.7991502881 3.1877150536 0.6621385813 ) + ( -0.7878558636 0.0017282963 -0.6657773852 ) ( 0.8000573516 3.1879167557 0.6530739069 ) + ( -0.7866743803 0.0152590862 -0.6740572453 ) ( 0.8013402224 3.1912202835 0.6470522285 ) + ( -0.7852150202 0.0165399462 -0.6827995181 ) ( 0.8028205633 3.1945526600 0.6401272416 ) + ( -0.7841096520 0.0154608022 -0.6898432970 ) ( 0.8038659096 3.1998810768 0.6343676448 ) + ( -0.7846274972 0.0125986803 -0.6951781511 ) ( 0.8032072783 3.2075438499 0.6297594309 ) + ( -0.7863612771 0.0128998170 -0.6988865733 ) ( 0.8012703657 3.2167980671 0.6262462139 ) + ( -0.7884252667 0.0129759470 -0.7020421624 ) ( 0.7989854813 3.2265834808 0.6228107214 ) + ( -0.7896816134 0.0120607270 -0.7023791075 ) ( 0.7976192236 3.2367019653 0.6216524839 ) + ( -0.7908563614 0.0127046909 -0.7026696801 ) ( 0.7963367701 3.2467858791 0.6205112934 ) + ( -0.7908005118 0.0127969906 -0.7019649744 ) ( 0.7965091467 3.2555460930 0.6199895144 ) + ( -0.7888357639 0.0128388423 -0.7004734278 ) ( 0.7987760305 3.2626106739 0.6200946569 ) + ( -0.7845950723 0.0128760524 -0.6964010000 ) ( 0.8034416437 3.2691068649 0.6226791143 ) + ( -0.7783799171 0.0129376836 -0.6924594045 ) ( 0.8100885153 3.2740764618 0.6250723600 ) + ( -0.7690111995 0.0130463019 -0.6869351268 ) ( 0.8198037148 3.2776222229 0.6293068528 ) +} + +baseframe { + ( 0.0000050068 0.7780786753 0.0214254875 ) ( -0.0000000000 -0.0000000000 -0.0000000000 ) + ( 0.0000000000 0.1770023108 -0.0009516347 ) ( 0.0026881641 -0.0000000000 -0.0000000000 ) + ( 0.0000000000 0.2065057456 -0.0000000023 ) ( 0.0000000042 -0.0000000000 -0.0000000000 ) + ( 0.0000000000 0.2360067219 0.0000000005 ) ( 0.0000000042 -0.0000000000 -0.0000000000 ) + ( 0.0000000000 0.2655072510 0.0000000028 ) ( -0.0026881725 -0.0000000000 -0.0000000000 ) + ( 0.0000000000 0.3947657347 -0.0401370823 ) ( -0.0000000000 -0.0000000000 -0.0000000000 ) + ( 0.0000000000 1.2101047039 -0.1230351999 ) ( -0.0000000000 -0.0000000000 -0.0000000000 ) + ( 0.0778401271 0.2149246335 0.0011441763 ) ( -0.6256202459 -0.3355365694 0.6165115833 ) + ( -0.0000000012 0.1860864162 0.0000000018 ) ( -0.0929389596 0.0027408842 0.0293500740 ) + ( -0.0000000028 0.2763552964 0.0000000867 ) ( 0.0149857560 0.0005682616 -0.0378924794 ) + ( -0.0000000065 0.3389307559 -0.0000000972 ) ( -0.0000000378 0.0000000341 0.0000000056 ) + ( -0.0778401271 0.2149398476 -0.0016879914 ) ( -0.6142975092 0.3417052925 -0.6277292371 ) + ( -0.0000000037 0.1860862821 -0.0000001551 ) ( -0.0930364579 0.0003407767 0.0036459784 ) + ( 0.0000000019 0.2760953903 0.0000000816 ) ( 0.0149027547 -0.0002345784 0.0157293510 ) + ( 0.0000000005 0.3388734460 -0.0000000035 ) ( 0.0000002375 -0.0000000079 0.0000000135 ) + ( 0.1861518174 -0.0983439088 -0.0044584572 ) ( -0.0002614523 -0.0164730735 0.9997389913 ) + ( -0.0000000196 0.3293979168 -0.0000000008 ) ( -0.0034133261 0.0000098612 0.0026536337 ) + ( -0.0000000188 0.2477990985 0.0000000010 ) ( -0.3401664197 -0.2407970428 0.0905603021 ) + ( 0.0000000144 0.0675944164 -0.0000000047 ) ( -0.4292519093 0.0104676560 -0.0049753017 ) + ( 0.0000000141 0.0427611358 0.0000000004 ) ( 0.0000002872 -0.0000005488 0.0000004763 ) + ( -0.1861518174 -0.0983439088 -0.0087781679 ) ( -0.0001303761 0.0082231257 -0.9998407960 ) + ( -0.0000000109 0.3292638361 -0.0000000005 ) ( 0.0076488191 0.0000197466 -0.0026609255 ) + ( -0.0000000124 0.2478392422 -0.0000000001 ) ( -0.4255259931 0.1628392488 -0.0781428888 ) + ( -0.0000000123 0.0799339041 0.0000000019 ) ( -0.3500214219 -0.0016251154 0.0006072879 ) + ( 0.0000000126 0.0583351627 -0.0000000048 ) ( 0.0000001371 0.0000002218 -0.0000002390 ) +} + +frame 0 { + 0.0058503244 0.7704677582 -0.0048820209 -0.0086344583 -0.0225504953 0.0070268088 + -0.0000000014 0.1770024002 -0.0009516320 0.0009044576 -0.0040692152 0.0038613472 + 0.0000000019 0.2065057755 0.0000000021 -0.0033856903 -0.0060042515 -0.0043889782 + -0.0000000010 0.2360068262 0.0000000010 -0.0033856963 -0.0060042748 -0.0043889750 + 0.0000000007 0.2655072510 0.0000000009 -0.0026923516 0.0039511151 0.0105528077 + 0.0000000041 0.3947654963 -0.0401370786 -0.0235005524 0.0268053003 -0.0160073414 + 0.0000000003 1.2101049423 -0.1230351627 -0.0000000000 -0.0000000003 -0.0000000001 + 0.0778401345 0.2149245292 0.0011441750 -0.7156860828 -0.2697965801 0.5411212444 + -0.0000000019 0.1860865057 -0.0000000806 -0.1015061960 0.0861561671 0.0369898565 + -0.0000000037 0.2763551772 -0.0000000723 -0.0879930630 -0.0835359246 -0.3043867648 + -0.0000000447 0.3389307261 -0.0000000186 -0.0000000186 0.0000000335 0.0000000075 + -0.0778401196 0.2149397284 -0.0016879933 -0.6741984487 0.2987586260 -0.5976017118 + 0.0000000075 0.1860863566 0.0000000955 -0.1316784322 -0.0834347010 -0.1467200071 + 0.0000000056 0.2760955691 0.0000000068 -0.1178876162 0.0614951961 0.2305466086 + -0.0000000224 0.3388734460 0.0000000712 0.0000002026 -0.0000000093 0.0000000186 + 0.1861518323 -0.0983439088 -0.0044584554 0.0669171363 0.1714293361 0.9821910858 + -0.0000000065 0.3293979764 -0.0000000037 0.6008620262 -0.0110958414 0.0017875767 + 0.0000000000 0.2477990538 0.0000000037 -0.4581557214 -0.2472454011 0.0519815832 + 0.0000000168 0.0675943792 0.0000000009 -0.4486361444 -0.0152796851 0.0000862294 + 0.0000000205 0.0427611433 -0.0000000056 0.0000003120 -0.0000005476 0.0000004768 + -0.1861518025 -0.0983438790 -0.0087781642 -0.0725823790 0.0732444450 0.9942476153 + -0.0000000200 0.3292638958 0.0000000037 0.1407783628 0.0699299574 -0.0103526758 + 0.0000000146 0.2478393316 0.0000000005 -0.4663488865 0.1899610609 -0.0191553831 + -0.0000000095 0.0799338818 0.0000000000 -0.3888241947 0.0057526552 0.0098785674 + -0.0000000054 0.0583351701 -0.0000000004 0.0000001015 0.0000002370 -0.0000002286 +} + +frame 1 { + 0.0054730019 0.7732385397 -0.0049909595 -0.0088482993 -0.0168970469 0.0068170135 + -0.0000000003 0.1770022810 -0.0009516338 0.0008249178 -0.0050971503 0.0045634098 + -0.0000000001 0.2065059394 0.0000000017 -0.0035372998 -0.0089728385 -0.0025650102 + -0.0000000022 0.2360067219 0.0000000003 -0.0035372979 -0.0089728404 -0.0025650105 + 0.0000000027 0.2655073404 0.0000000016 -0.0031918087 0.0050960579 0.0059322664 + -0.0000000041 0.3947655261 -0.0401370898 -0.0232078861 0.0261579845 -0.0126151368 + 0.0000000013 1.2101044655 -0.1230352223 0.0000000000 0.0000000005 -0.0000000000 + 0.0778401420 0.2149247229 0.0011441717 -0.7130418420 -0.2733647227 0.5423126817 + -0.0000000037 0.1860864460 -0.0000000633 -0.1138909757 0.0852042288 0.0616785325 + 0.0000000012 0.2763551176 0.0000000442 -0.0829592571 -0.0779750124 -0.2994464636 + -0.0000000447 0.3389307857 0.0000000000 -0.0000000559 0.0000000373 -0.0000000000 + -0.0778401196 0.2149400264 -0.0016879961 -0.6737190485 0.3008517623 -0.5952281952 + 0.0000000000 0.1860865206 0.0000000270 -0.1315550953 -0.0992663503 -0.1544358283 + -0.0000000205 0.2760955691 -0.0000000289 -0.1274723709 0.0363622680 0.2750009894 + -0.0000000075 0.3388732970 -0.0000000014 0.0000001872 -0.0000000112 0.0000000149 + 0.1861518323 -0.0983438641 -0.0044584577 0.0664002821 0.2016744912 0.9766364098 + -0.0000000205 0.3293980062 0.0000000112 0.5793343186 -0.0004080181 -0.0000258005 + -0.0000000214 0.2477990687 -0.0000000242 -0.4575015903 -0.2479040325 0.0500915684 + 0.0000000037 0.0675944090 -0.0000000056 -0.4505521357 -0.0081850886 -0.0038456852 + -0.0000000168 0.0427611545 -0.0000000028 0.0000002952 -0.0000005607 0.0000004843 + -0.1861518174 -0.0983438492 -0.0087781660 -0.0754977092 0.0481056422 0.9955485463 + -0.0000000144 0.3292638361 -0.0000000056 0.1328574121 0.0728988200 -0.0103211189 + -0.0000000217 0.2478393018 0.0000000005 -0.4703365862 0.1919984818 -0.0157951899 + -0.0000000055 0.0799338967 0.0000000000 -0.3905808628 0.0066916868 0.0103895795 + -0.0000000133 0.0583351739 0.0000000005 0.0000000927 0.0000002405 -0.0000002331 +} + +frame 2 { + 0.0051399693 0.7746454477 -0.0043798555 -0.0087397685 -0.0116149103 0.0077068326 + -0.0000000002 0.1770022660 -0.0009516349 0.0007273695 -0.0060632434 0.0048236204 + -0.0000000008 0.2065057755 -0.0000000019 -0.0037296989 -0.0117676146 -0.0013723621 + 0.0000000038 0.2360066324 -0.0000000016 -0.0037296948 -0.0117676184 -0.0013723602 + -0.0000000006 0.2655073404 -0.0000000012 -0.0075472607 0.0053683436 0.0040260539 + 0.0000000029 0.3947656453 -0.0401370786 -0.0196418352 0.0259517040 -0.0130316876 + 0.0000000003 1.2101045847 -0.1230351925 0.0000000037 0.0000000001 -0.0000000000 + 0.0778401420 0.2149246931 0.0011441731 -0.7080736160 -0.2794453502 0.5458763838 + -0.0000000130 0.1860863715 -0.0000000561 -0.1246626750 0.0800282508 0.0765554085 + 0.0000000056 0.2763552368 0.0000000224 -0.0791773349 -0.0787264854 -0.2906492352 + 0.0000000149 0.3389307261 -0.0000000708 -0.0000000391 0.0000000335 0.0000000037 + -0.0778401196 0.2149399370 -0.0016879975 -0.6758658886 0.2998867035 -0.5913384557 + -0.0000000037 0.1860864311 -0.0000000498 -0.1300045848 -0.1146208346 -0.1537965089 + 0.0000000000 0.2760954797 0.0000000066 -0.1357719302 0.0172305815 0.3042150736 + 0.0000000298 0.3388732970 -0.0000000985 0.0000001879 -0.0000000101 0.0000000037 + 0.1861518174 -0.0983439609 -0.0044584568 0.0649689883 0.2275681943 0.9711376429 + -0.0000000019 0.3293980360 -0.0000000261 0.5474726558 0.0105678989 -0.0032828660 + -0.0000000061 0.2477990836 0.0000000112 -0.4531188309 -0.2485404462 0.0491409786 + -0.0000000102 0.0675943941 0.0000000037 -0.4614570439 -0.0048982804 -0.0091483481 + -0.0000000019 0.0427611470 0.0000000088 0.0000002990 -0.0000005579 0.0000004983 + -0.1861517876 -0.0983439833 -0.0087781660 -0.0784553140 0.0206537899 0.9962553382 + 0.0000000021 0.3292638063 0.0000000042 0.1208841354 0.0766963884 -0.0107492954 + 0.0000000208 0.2478393018 -0.0000000014 -0.4727994502 0.1929929107 -0.0147830211 + -0.0000000021 0.0799338892 0.0000000036 -0.3905337155 0.0076203179 0.0107666720 + -0.0000000003 0.0583351701 0.0000000045 0.0000000994 0.0000002393 -0.0000002160 +} + +frame 3 { + 0.0049972134 0.7739002109 -0.0041352045 -0.0083624814 -0.0066619632 0.0091713276 + 0.0000000007 0.1770023108 -0.0009516364 0.0002368330 -0.0070341453 0.0049317172 + -0.0000000000 0.2065058500 -0.0000000018 -0.0047155502 -0.0143911373 -0.0001643044 + -0.0000000044 0.2360066622 0.0000000015 -0.0047155572 -0.0143911541 -0.0001643057 + 0.0000000036 0.2655070722 0.0000000070 -0.0071925903 0.0068070809 -0.0018671884 + 0.0000000024 0.3947655261 -0.0401370898 -0.0192452483 0.0245661139 -0.0092612468 + -0.0000000013 1.2101051807 -0.1230351850 -0.0000000018 -0.0000000009 0.0000000001 + 0.0778401345 0.2149245292 0.0011441801 -0.7066113949 -0.2809962630 0.5474590659 + 0.0000000056 0.1860864609 -0.0000000214 -0.1278648525 0.0708996281 0.0965995714 + 0.0000000044 0.2763551772 -0.0000000577 -0.0779278427 -0.0795542896 -0.2942091525 + -0.0000000447 0.3389307857 0.0000000391 -0.0000000317 0.0000000149 0.0000000112 + -0.0778401271 0.2149397731 -0.0016879924 -0.6745421290 0.3032214046 -0.5888224840 + -0.0000000186 0.1860865504 -0.0000001648 -0.1313426197 -0.1256655902 -0.1368662566 + -0.0000000043 0.2760954201 -0.0000000507 -0.1417231411 0.0053637219 0.3217707872 + 0.0000000149 0.3388733566 0.0000000400 0.0000002000 -0.0000000079 0.0000000130 + 0.1861518323 -0.0983439088 -0.0044584591 0.0594901927 0.2480705976 0.9665572047 + 0.0000000161 0.3293980658 -0.0000000056 0.5077090263 0.0237933695 -0.0086242463 + -0.0000000148 0.2477990687 -0.0000000014 -0.4476981163 -0.2487287223 0.0496049002 + -0.0000000084 0.0675943792 0.0000000000 -0.4866221249 0.0289368462 -0.0336130895 + 0.0000000093 0.0427611284 -0.0000000009 0.0000003031 -0.0000005607 0.0000004987 + -0.1861518025 -0.0983438641 -0.0087781688 -0.0813823864 -0.0033456348 0.9962329865 + -0.0000000107 0.3292638361 0.0000000038 0.1174049899 0.0805894509 -0.0122029716 + 0.0000000186 0.2478393167 0.0000000093 -0.4798533916 0.1945700347 -0.0118929446 + -0.0000000054 0.0799339041 0.0000000065 -0.3909425735 0.0079849940 0.0111966981 + -0.0000000009 0.0583351627 -0.0000000019 0.0000000974 0.0000002396 -0.0000002277 +} + +frame 4 { + 0.0050409026 0.7718482614 -0.0036091488 -0.0076904246 -0.0022664173 0.0107179666 + -0.0000000010 0.1770023555 -0.0009516365 -0.0002594983 -0.0079684760 0.0047034281 + -0.0000000023 0.2065058351 -0.0000000006 -0.0057133655 -0.0167348310 0.0002241125 + 0.0000000012 0.2360068262 -0.0000000007 -0.0057133655 -0.0167348273 0.0002241129 + -0.0000000069 0.2655074000 -0.0000000056 -0.0079312921 0.0075129294 -0.0046530450 + 0.0000000021 0.3947654665 -0.0401370823 -0.0183624886 0.0237243231 -0.0071100839 + -0.0000000018 1.2101045847 -0.1230352372 0.0000000001 0.0000000004 -0.0000000003 + 0.0778401271 0.2149246633 0.0011441763 -0.7062858939 -0.2807337046 0.5492771864 + 0.0000000056 0.1860865951 0.0000000373 -0.1299069971 0.0604205318 0.1151785180 + 0.0000000019 0.2763552070 0.0000000673 -0.0769657120 -0.0823619440 -0.2976707220 + 0.0000000596 0.3389309049 -0.0000000354 -0.0000000447 0.0000000373 0.0000000037 + -0.0778401196 0.2149399072 -0.0016879933 -0.6746534705 0.3047552109 -0.5856691599 + -0.0000000037 0.1860864609 -0.0000001127 -0.1279212981 -0.1343410164 -0.1179115027 + 0.0000000158 0.2760954797 0.0000000199 -0.1453479826 -0.0032387436 0.3379523158 + -0.0000000224 0.3388734460 -0.0000000503 0.0000002026 0.0000000107 0.0000000056 + 0.1861518025 -0.0983439013 -0.0044584577 0.0570836589 0.2681042552 0.9613606930 + 0.0000000248 0.3293979466 0.0000000112 0.4679441750 0.0334374197 -0.0090352660 + -0.0000000305 0.2477990538 0.0000000121 -0.4414082766 -0.2509108484 0.0450774133 + -0.0000000014 0.0675943866 0.0000000149 -0.4812765419 0.0276419427 -0.0311256293 + -0.0000000042 0.0427611284 0.0000000009 0.0000003087 -0.0000005565 0.0000004985 + -0.1861518025 -0.0983439013 -0.0087781688 -0.0842015594 -0.0282568634 0.9956401587 + 0.0000000102 0.3292638659 0.0000000037 0.1136699542 0.0846359506 -0.0145819904 + 0.0000000099 0.2478393614 0.0000000247 -0.4877247512 0.1964110732 -0.0086061824 + 0.0000000112 0.0799338892 -0.0000000075 -0.3916606903 0.0074443133 0.0117354719 + 0.0000000001 0.0583351627 0.0000000043 0.0000000977 0.0000002393 -0.0000002317 +} + +frame 5 { + 0.0051902938 0.7670725584 -0.0023954436 -0.0069122803 0.0009711288 0.0117607787 + 0.0000000006 0.1770023257 -0.0009516345 -0.0005590644 -0.0088721570 0.0044986950 + -0.0000000013 0.2065058351 -0.0000000015 -0.0063241902 -0.0185687505 0.0007170364 + -0.0000000041 0.2360067517 -0.0000000037 -0.0063241911 -0.0185687393 0.0007170344 + -0.0000000047 0.2655074894 -0.0000000005 -0.0113282688 0.0082701137 -0.0079254108 + 0.0000000036 0.3947657645 -0.0401370898 -0.0161778815 0.0227861293 -0.0050709001 + 0.0000000011 1.2101047039 -0.1230352372 0.0000000000 -0.0000000001 -0.0000000001 + 0.0778401345 0.2149246782 0.0011441745 -0.7044672370 -0.2830255330 0.5503349900 + 0.0000000037 0.1860865355 -0.0000000438 -0.1368186921 0.0525374003 0.1292736530 + 0.0000000205 0.2763552666 0.0000000701 -0.0756692588 -0.0876818523 -0.2935870290 + -0.0000000522 0.3389306962 0.0000000037 -0.0000000447 0.0000000279 0.0000000186 + -0.0778401271 0.2149400562 -0.0016879989 -0.6743252277 0.3062961400 -0.5836421847 + -0.0000000037 0.1860864162 -0.0000000959 -0.1250526011 -0.1404378861 -0.0925640091 + -0.0000000019 0.2760953605 0.0000001311 -0.1407915503 -0.0091359587 0.3440032005 + 0.0000000000 0.3388734460 0.0000000079 0.0000002137 -0.0000000079 -0.0000000000 + 0.1861518174 -0.0983438715 -0.0044584568 0.0544516817 0.2837089002 0.9570563436 + -0.0000000235 0.3293979764 -0.0000000298 0.4215138853 0.0371134393 -0.0084459838 + 0.0000000131 0.2477990687 -0.0000000037 -0.4244415462 -0.2524687946 0.0429261923 + -0.0000000092 0.0675944090 0.0000000000 -0.4760980904 0.0171031486 -0.0243916642 + 0.0000000040 0.0427611545 -0.0000000026 0.0000003097 -0.0000005561 0.0000004797 + -0.1861517876 -0.0983439833 -0.0087781651 -0.0873206258 -0.0531236418 0.9944491386 + 0.0000000172 0.3292638958 -0.0000000056 0.1126787290 0.0896303728 -0.0179779138 + 0.0000000208 0.2478393018 0.0000000014 -0.4977199733 0.1983327419 -0.0048396424 + -0.0000000122 0.0799339116 0.0000000037 -0.4002713859 0.0103091747 0.0141608622 + 0.0000000041 0.0583351664 -0.0000000004 0.0000000978 0.0000002392 -0.0000002170 +} + +frame 6 { + 0.0053396844 0.7622969151 -0.0011817385 -0.0061340476 0.0042087026 0.0128034651 + -0.0000000019 0.1770022810 -0.0009516333 -0.0008586303 -0.0097758332 0.0042939582 + -0.0000000039 0.2065057904 0.0000000003 -0.0069349925 -0.0204026047 0.0012099599 + -0.0000000086 0.2360068262 -0.0000000029 -0.0069349906 -0.0204026047 0.0012099530 + -0.0000000044 0.2655074000 -0.0000000030 -0.0147250658 0.0090271272 -0.0111976732 + -0.0000000026 0.3947657943 -0.0401370600 -0.0139931105 0.0218477100 -0.0030316487 + 0.0000000029 1.2101044655 -0.1230351776 0.0000000001 -0.0000000001 -0.0000000002 + 0.0778401345 0.2149248421 0.0011441717 -0.7026417255 -0.2853146493 0.5513873696 + -0.0000000037 0.1860864758 -0.0000000321 -0.1436896175 0.0446352884 0.1433326006 + 0.0000000149 0.2763552964 0.0000000981 -0.0743691847 -0.0929978639 -0.2894892097 + -0.0000000075 0.3389307559 -0.0000000233 -0.0000000391 0.0000000335 0.0000000112 + -0.0778401271 0.2149399817 -0.0016879966 -0.6739870906 0.3078326881 -0.5816066861 + 0.0000000186 0.1860862821 0.0000001164 -0.1220950931 -0.1464415640 -0.0671347380 + -0.0000000037 0.2760954201 0.0000000102 -0.1362213641 -0.0150328679 0.3500220180 + -0.0000000149 0.3388734460 0.0000000484 0.0000002163 -0.0000000005 0.0000000056 + 0.1861518025 -0.0983440205 -0.0044584558 0.0518042631 0.2992410064 0.9524918795 + -0.0000000033 0.3293980360 0.0000000224 0.3738168478 0.0406989455 -0.0078322506 + -0.0000000057 0.2477990687 -0.0000000037 -0.4073152244 -0.2539360225 0.0407586507 + -0.0000000040 0.0675943941 -0.0000000037 -0.4708262086 0.0065590004 -0.0176516697 + -0.0000000163 0.0427611247 0.0000000118 0.0000003100 -0.0000005551 0.0000005100 + -0.1861518025 -0.0983439386 -0.0087781660 -0.0903856009 -0.0779722705 0.9926184416 + 0.0000000152 0.3292638958 -0.0000000075 0.1116832718 0.0946216285 -0.0213732906 + 0.0000000189 0.2478392869 -0.0000000116 -0.5076388121 0.2002236247 -0.0010717032 + 0.0000000051 0.0799338967 -0.0000000037 -0.4088420272 0.0131732961 0.0165850334 + 0.0000000077 0.0583351515 -0.0000000029 0.0000000979 0.0000002398 -0.0000002241 +} + +frame 7 { + 0.0054890756 0.7575212121 0.0000319667 -0.0053557460 0.0074461862 0.0138459802 + 0.0000000018 0.1770023108 -0.0009516347 -0.0011581943 -0.0106794974 0.0040892162 + -0.0000000001 0.2065058500 -0.0000000018 -0.0075457646 -0.0222363789 0.0017028735 + -0.0000000044 0.2360069603 -0.0000000029 -0.0075457632 -0.0222363696 0.0017028666 + -0.0000000005 0.2655071318 0.0000000035 -0.0181214437 0.0097839199 -0.0144695984 + -0.0000000026 0.3947657049 -0.0401370823 -0.0118082101 0.0209090766 -0.0009923849 + 0.0000000015 1.2101044655 -0.1230351925 0.0000000001 0.0000000002 -0.0000000002 + 0.0778401345 0.2149245888 0.0011441708 -0.7008093596 -0.2876009643 0.5524345040 + 0.0000000019 0.1860864460 -0.0000000442 -0.1505132765 0.0367216729 0.1573422253 + -0.0000000373 0.2763551772 0.0000000667 -0.0730655715 -0.0983091593 -0.2853778303 + 0.0000000224 0.3389307857 0.0000000242 -0.0000000391 0.0000000391 0.0000000093 + -0.0778401271 0.2149397880 -0.0016879933 -0.6736391783 0.3093647361 -0.5795627832 + -0.0000000186 0.1860864460 -0.0000000624 -0.1190550551 -0.1523395479 -0.0416765511 + 0.0000000084 0.2760954499 -0.0000000163 -0.1316386908 -0.0209277794 0.3560072780 + 0.0000000447 0.3388732672 -0.0000000405 0.0000002047 0.0000000040 0.0000000205 + 0.1861518323 -0.0983439237 -0.0044584577 0.0491435602 0.3146879375 0.9476712346 + 0.0000000140 0.3293980658 -0.0000000149 0.3252393901 0.0441648886 -0.0071990294 + -0.0000000233 0.2477990687 -0.0000000163 -0.3900477290 -0.2553108931 0.0385771431 + -0.0000000019 0.0675943941 -0.0000000224 -0.4654639661 -0.0039843661 -0.0109095601 + 0.0000000028 0.0427611545 0.0000000028 0.0000003162 -0.0000005569 0.0000004913 + -0.1861517876 -0.0983439758 -0.0087781670 -0.0933905691 -0.1027548835 0.9901515245 + -0.0000000172 0.3292637765 -0.0000000037 0.1106836051 0.0996091291 -0.0247677267 + 0.0000000200 0.2478393614 -0.0000000071 -0.5174765587 0.2020828873 0.0026957807 + 0.0000000061 0.0799339190 0.0000000000 -0.4173698723 0.0160357542 0.0190072991 + 0.0000000027 0.0583351851 -0.0000000010 0.0000000979 0.0000002394 -0.0000002318 +} + +frame 8 { + 0.0058398959 0.7505010962 0.0012786128 -0.0051601953 0.0102017578 0.0140981348 + -0.0000000003 0.1770023108 -0.0009516344 -0.0013682669 -0.0116736908 0.0039983303 + 0.0000000039 0.2065057307 0.0000000006 -0.0079815015 -0.0239262506 0.0024215418 + -0.0000000031 0.2360067368 0.0000000012 -0.0079815043 -0.0239262357 0.0024215470 + 0.0000000035 0.2655073702 0.0000000107 -0.0209967177 0.0106709916 -0.0179872327 + -0.0000000013 0.3947656155 -0.0401370935 -0.0098142950 0.0202079918 0.0008170827 + 0.0000000000 1.2101044655 -0.1230352446 0.0000000038 -0.0000000010 -0.0000000003 + 0.0778401420 0.2149246484 0.0011441847 -0.6975350976 -0.2919504046 0.5535973310 + 0.0000000019 0.1860864162 0.0000000147 -0.1612430811 0.0342945158 0.1667544246 + -0.0000000037 0.2763552964 -0.0000000093 -0.0696819499 -0.1045632288 -0.2746305466 + 0.0000000205 0.3389308453 0.0000000182 -0.0000000456 0.0000000447 0.0000000019 + -0.0778401121 0.2149399221 -0.0016879875 -0.6751255393 0.3089475036 -0.5761041045 + -0.0000000149 0.1860863566 -0.0000001574 -0.1159514487 -0.1534063667 -0.0164854955 + 0.0000000363 0.2760954201 -0.0000000629 -0.1182331592 -0.0260983501 0.3575580120 + -0.0000000745 0.3388733864 0.0000000470 0.0000002114 -0.0000000005 0.0000000186 + 0.1861518025 -0.0983439237 -0.0044584568 0.0459977798 0.3287514150 0.9430841804 + 0.0000000126 0.3293979466 0.0000000075 0.2753580809 0.0410965607 -0.0073484005 + -0.0000000102 0.2477990687 -0.0000000177 -0.3626645505 -0.2540715635 0.0436342619 + -0.0000000121 0.0675944164 0.0000000298 -0.4692305624 0.0023769774 -0.0151308114 + 0.0000000270 0.0427611545 0.0000000051 0.0000003106 -0.0000005532 0.0000005020 + -0.1861518025 -0.0983439684 -0.0087781670 -0.0955472216 -0.1261296123 0.9873228669 + -0.0000000158 0.3292638659 0.0000000037 0.1116957814 0.1043934450 -0.0281047896 + -0.0000000149 0.2478393614 -0.0000000020 -0.5270362496 0.2035558373 0.0055402918 + -0.0000000086 0.0799338967 0.0000000037 -0.4289762080 0.0204463825 0.0225269888 + -0.0000000043 0.0583351664 -0.0000000010 0.0000000981 0.0000002398 -0.0000002172 +} + +frame 9 { + 0.0063698897 0.7425159216 0.0025056358 -0.0054135248 0.0130795166 0.0141423764 + 0.0000000010 0.1770023108 -0.0009516341 -0.0015143347 -0.0126688536 0.0040642903 + -0.0000000049 0.2065057904 0.0000000005 -0.0082901837 -0.0257589612 0.0034426658 + -0.0000000008 0.2360066622 -0.0000000009 -0.0082901912 -0.0257589724 0.0034426844 + 0.0000000123 0.2655072808 0.0000000056 -0.0228360128 0.0119184861 -0.0226687118 + -0.0000000013 0.3947655559 -0.0401370972 -0.0082526319 0.0194719266 0.0029625187 + -0.0000000007 1.2101047039 -0.1230352148 0.0000000020 0.0000000002 -0.0000000001 + 0.0778401494 0.2149248272 0.0011441670 -0.6970811486 -0.2930795252 0.5524970889 + 0.0000000075 0.1860864908 0.0000001374 -0.1692922115 0.0311307125 0.1795274168 + 0.0000000075 0.2763551474 -0.0000000369 -0.0654936582 -0.1085601822 -0.2676506639 + 0.0000000027 0.3389308155 0.0000000312 -0.0000000345 0.0000000279 -0.0000000075 + -0.0778401121 0.2149399519 -0.0016879954 -0.6744812131 0.3108595014 -0.5740531683 + 0.0000000149 0.1860864908 0.0000001183 -0.1162327603 -0.1536730677 0.0126496032 + 0.0000000149 0.2760954797 -0.0000000210 -0.1028526127 -0.0292600486 0.3519848287 + 0.0000000596 0.3388733864 -0.0000001108 0.0000001923 0.0000000043 0.0000000149 + 0.1861518323 -0.0983439013 -0.0044584577 0.0417458005 0.3427541554 0.9383118153 + 0.0000000037 0.3293979466 0.0000000307 0.2316601574 0.0371353328 -0.0087068146 + -0.0000000373 0.2477990687 -0.0000000205 -0.3407337070 -0.2513350844 0.0519668274 + -0.0000000335 0.0675943941 0.0000000000 -0.4755331576 0.0102824634 -0.0209286623 + 0.0000000168 0.0427611805 0.0000000023 0.0000002970 -0.0000005579 0.0000005029 + -0.1861518174 -0.0983438939 -0.0087781679 -0.0969487950 -0.1433595270 0.9848891497 + 0.0000000028 0.3292639256 -0.0000000037 0.1246877536 0.1080710292 -0.0314148553 + -0.0000000075 0.2478393316 0.0000000647 -0.5364866257 0.2047955543 0.0079386933 + 0.0000000014 0.0799339116 0.0000000000 -0.4471345842 0.0284310095 0.0270289872 + -0.0000000124 0.0583351888 -0.0000000017 0.0000000977 0.0000002399 -0.0000002257 +} + +frame 10 { + 0.0071683042 0.7347428799 0.0023498759 -0.0059723062 0.0167295877 0.0140706040 + 0.0000000004 0.1770022213 -0.0009516350 -0.0014590063 -0.0139649333 0.0044177733 + -0.0000000050 0.2065058500 0.0000000005 -0.0081854546 -0.0279657245 0.0045084208 + 0.0000000026 0.2360066921 -0.0000000056 -0.0081854584 -0.0279657356 0.0045084343 + -0.0000000014 0.2655071914 -0.0000000075 -0.0234232917 0.0134270648 -0.0274409186 + 0.0000000030 0.3947657049 -0.0401370786 -0.0070374273 0.0192021355 0.0042800335 + 0.0000000056 1.2101043463 -0.1230352223 0.0000000002 0.0000000005 0.0000000001 + 0.0778401420 0.2149245888 0.0011441698 -0.6967486143 -0.2937352061 0.5521098971 + 0.0000000037 0.1860864758 -0.0000000249 -0.1745643616 0.0298311207 0.1909282506 + 0.0000000149 0.2763551772 0.0000000601 -0.0610971525 -0.1113972589 -0.2638326585 + 0.0000000075 0.3389307261 0.0000000789 -0.0000000531 0.0000000373 -0.0000000000 + -0.0778401271 0.2149398476 -0.0016880005 -0.6741792560 0.3122213781 -0.5720854402 + 0.0000000037 0.1860864311 -0.0000000820 -0.1169853732 -0.1519870907 0.0354330428 + -0.0000000037 0.2760954201 -0.0000001681 -0.0878658816 -0.0307270177 0.3448660970 + 0.0000000149 0.3388734460 0.0000000035 0.0000002015 0.0000000005 0.0000000112 + 0.1861518323 -0.0983439833 -0.0044584586 0.0389084332 0.3587377667 0.9324417710 + 0.0000000028 0.3293979764 -0.0000000158 0.2130246907 0.0319335610 -0.0110499002 + -0.0000000144 0.2477990091 0.0000000112 -0.3347626328 -0.2484673411 0.0605425574 + 0.0000000373 0.0675944239 0.0000000224 -0.4841942787 0.0179722700 -0.0273878928 + 0.0000000019 0.0427611135 -0.0000000025 0.0000003045 -0.0000005606 0.0000004983 + -0.1861518174 -0.0983439460 -0.0087781679 -0.0987773314 -0.1600592583 0.9821528196 + 0.0000000037 0.3292638958 0.0000000000 0.1332169771 0.1123124138 -0.0327931345 + -0.0000000065 0.2478393316 -0.0000000013 -0.5377008915 0.2049678713 0.0068398933 + -0.0000000070 0.0799339116 -0.0000000130 -0.4688271880 0.0376612917 0.0317652300 + 0.0000000064 0.0583351813 0.0000000029 0.0000000973 0.0000002395 -0.0000002413 +} + +frame 11 { + 0.0079667186 0.7269698977 0.0021941140 -0.0065310113 0.0203794688 0.0139986342 + 0.0000000014 0.1770022810 -0.0009516358 -0.0014036769 -0.0152609823 0.0047712484 + -0.0000000003 0.2065058798 -0.0000000012 -0.0080806771 -0.0301723331 0.0055741551 + 0.0000000002 0.2360066473 -0.0000000023 -0.0080806771 -0.0301723294 0.0055741644 + -0.0000000040 0.2655071616 -0.0000000079 -0.0240099858 0.0149353435 -0.0322125331 + 0.0000000056 0.3947658539 -0.0401370861 -0.0058221952 0.0189322885 0.0055975383 + -0.0000000009 1.2101043463 -0.1230351701 -0.0000000019 0.0000000008 -0.0000000002 + 0.0778401345 0.2149245888 0.0011441698 -0.6964152455 -0.2943905890 0.5517221689 + 0.0000000149 0.1860864609 -0.0000000324 -0.1798079610 0.0285262614 0.2022988200 + -0.0000000373 0.2763552070 0.0000000001 -0.0566978380 -0.1142296344 -0.2600030303 + -0.0000000112 0.3389308155 0.0000000433 -0.0000000289 0.0000000326 0.0000000065 + -0.0778401345 0.2149397731 -0.0016880012 -0.6738687754 0.3135792911 -0.5701104403 + -0.0000000261 0.1860864908 -0.0000000810 -0.1176771894 -0.1502208114 0.0582098626 + -0.0000000075 0.2760954201 0.0000000256 -0.0728488192 -0.0321852900 0.3376435041 + -0.0000001341 0.3388734758 0.0000000051 0.0000002002 -0.0000000013 0.0000000037 + 0.1861518025 -0.0983439609 -0.0044584568 0.0360586084 0.3746191263 0.9262918830 + 0.0000000061 0.3293979466 0.0000000000 0.1942967176 0.0267169662 -0.0133895110 + -0.0000000333 0.2477990985 0.0000000075 -0.3287494183 -0.2455685735 0.0691118985 + 0.0000000000 0.0675944090 0.0000000261 -0.4927595556 0.0256599784 -0.0338428877 + 0.0000000056 0.0427611619 0.0000000037 0.0000003087 -0.0000005574 0.0000004899 + -0.1861518025 -0.0983439535 -0.0087781698 0.1005736962 0.1767114848 -0.9790903926 + -0.0000000019 0.3292638361 0.0000000224 0.1417343765 0.1165434867 -0.0341684110 + 0.0000000158 0.2478393018 -0.0000000380 -0.5389133096 0.2051394731 0.0057410276 + -0.0000000005 0.0799338967 -0.0000000093 -0.4901997149 0.0468712337 0.0364821441 + 0.0000000045 0.0583351590 -0.0000000107 0.0000000982 0.0000002392 -0.0000002343 +} + +frame 12 { + 0.0087651331 0.7191968560 0.0020383541 -0.0070896214 0.0240290314 0.0139264772 + -0.0000000017 0.1770023257 -0.0009516357 -0.0013483444 -0.0165570099 0.0051247147 + -0.0000000060 0.2065059096 0.0000000006 -0.0079758465 -0.0323787369 0.0066398489 + 0.0000000037 0.2360065877 -0.0000000010 -0.0079758428 -0.0323787220 0.0066398457 + -0.0000000095 0.2655070424 -0.0000000042 -0.0245960541 0.0164432041 -0.0369832143 + -0.0000000030 0.3947656155 -0.0401370749 -0.0046069562 0.0186623689 0.0069150194 + 0.0000000021 1.2101044655 -0.1230352074 -0.0000000015 0.0000000001 -0.0000000002 + 0.0778401196 0.2149244845 0.0011441689 -0.6960810423 -0.2950456142 0.5513336658 + 0.0000000000 0.1860865653 -0.0000002270 -0.1850203425 0.0272167940 0.2136333138 + 0.0000000224 0.2763551772 0.0000000201 -0.0522962846 -0.1170569733 -0.2561624944 + -0.0000000051 0.3389307559 -0.0000000559 -0.0000000368 0.0000000378 0.0000000007 + -0.0778401345 0.2149396241 -0.0016879907 -0.6735497117 0.3149331808 -0.5681281686 + 0.0000000410 0.1860864013 -0.0000000764 -0.1183070838 -0.1483768821 0.0809443593 + -0.0000000298 0.2760954797 -0.0000001453 -0.0578147285 -0.0336337276 0.3303236365 + -0.0000000298 0.3388733864 -0.0000000549 0.0000002107 -0.0000000038 0.0000000075 + 0.1861518174 -0.0983439162 -0.0044584582 0.0331988931 0.3903842866 0.9198679328 + 0.0000000061 0.3293979466 0.0000000382 0.1754986495 0.0214917865 -0.0157228373 + -0.0000000051 0.2477990687 0.0000000037 -0.3226964176 -0.2426398396 0.0776716322 + 0.0000000428 0.0675943643 0.0000000000 -0.5012240410 0.0333410017 -0.0402898006 + 0.0000000540 0.0427611284 0.0000000130 0.0000003143 -0.0000005616 0.0000004973 + -0.1861518025 -0.0983438864 -0.0087781651 0.1023362726 0.1932998300 -0.9757050276 + 0.0000000112 0.3292638361 0.0000000000 0.1502372921 0.1207630336 -0.0355402902 + 0.0000000261 0.2478393316 -0.0000000208 -0.5401239395 0.2053104043 0.0046421844 + 0.0000000075 0.0799338967 -0.0000000037 -0.5112063885 0.0560410656 0.0411695838 + 0.0000000104 0.0583351590 0.0000000006 0.0000000980 0.0000002405 -0.0000002346 +} + +frame 13 { + 0.0096428497 0.7119005322 0.0003068615 -0.0069945478 0.0276334621 0.0140192509 + 0.0000000008 0.1770023406 -0.0009516358 -0.0011981725 -0.0178294498 0.0054617180 + 0.0000000066 0.2065055817 -0.0000000017 -0.0076799085 -0.0345816687 0.0075299512 + 0.0000000070 0.2360067517 0.0000000012 -0.0076799029 -0.0345816575 0.0075299549 + 0.0000000019 0.2655072510 0.0000000051 -0.0210522674 0.0175964013 -0.0399990194 + -0.0000000037 0.3947655261 -0.0401370563 -0.0060003554 0.0194163062 0.0058768946 + -0.0000000085 1.2101045847 -0.1230352074 0.0000000001 0.0000000011 -0.0000000001 + 0.0778401420 0.2149246633 0.0011441754 -0.6951782703 -0.2957347333 0.5528963208 + 0.0000000037 0.1860865355 -0.0000000463 -0.1843583286 0.0253618676 0.2262354344 + 0.0000000224 0.2763551474 -0.0000000731 -0.0515768863 -0.1152533665 -0.2678733170 + 0.0000000158 0.3389307261 0.0000000270 -0.0000000456 0.0000000357 0.0000000002 + -0.0778401196 0.2149398625 -0.0016879928 -0.6730554104 0.3169433177 -0.5651704669 + 0.0000000224 0.1860864013 0.0000001835 -0.1218846813 -0.1438594013 0.0879446417 + 0.0000000224 0.2760955393 0.0000000289 -0.0473792069 -0.0363827311 0.3330185711 + 0.0000000894 0.3388733864 -0.0000000746 0.0000001986 0.0000000042 -0.0000000037 + 0.1861518323 -0.0983439088 -0.0044584600 0.0363739431 0.3968148530 0.9169923067 + -0.0000000107 0.3293980360 -0.0000000116 0.1812745035 0.0118352966 -0.0139081636 + -0.0000000098 0.2477990836 -0.0000000102 -0.3333417773 -0.2426762879 0.0770632774 + 0.0000000019 0.0675944090 0.0000000224 -0.5085168481 0.0202337652 -0.0372060463 + -0.0000000093 0.0427610837 -0.0000000102 0.0000003199 -0.0000005644 0.0000004992 + -0.1861518025 -0.0983439311 -0.0087781688 0.1039329320 0.2067495435 -0.9726792574 + -0.0000000075 0.3292638659 0.0000000075 0.1621001363 0.1242311075 -0.0345466845 + 0.0000000168 0.2478393614 0.0000000193 -0.5343742967 0.2047121823 0.0016917353 + 0.0000000028 0.0799338967 0.0000000037 -0.5329656601 0.0635182410 0.0464681275 + 0.0000000045 0.0583351552 -0.0000000007 0.0000000973 0.0000002393 -0.0000002257 +} + +frame 14 { + 0.0105205663 0.7046042085 -0.0014246330 -0.0068993834 0.0312375370 0.0141118392 + 0.0000000012 0.1770023704 -0.0009516356 -0.0010479981 -0.0191018581 0.0057987110 + -0.0000000020 0.2065058053 -0.0000000006 -0.0073839263 -0.0367843807 0.0084200073 + -0.0000000043 0.2360066921 -0.0000000010 -0.0073839212 -0.0367843769 0.0084200166 + 0.0000000033 0.2655072510 -0.0000000047 -0.0175080057 0.0187491793 -0.0430139154 + -0.0000000071 0.3947656751 -0.0401370749 -0.0073937341 0.0201701727 0.0048387502 + 0.0000000017 1.2101049423 -0.1230352148 -0.0000000018 0.0000000001 -0.0000000001 + 0.0778401345 0.2149246037 0.0011441680 -0.6942718029 -0.2964223027 0.5544560552 + -0.0000000075 0.1860864311 -0.0000000087 -0.1836649776 0.0235026535 0.2387991697 + 0.0000000075 0.2763551176 -0.0000001255 -0.0508497879 -0.1134324595 -0.2795439959 + 0.0000000158 0.3389309049 -0.0000000698 -0.0000000310 0.0000000349 0.0000000000 + -0.0778401121 0.2149398774 -0.0016879998 -0.6725422144 0.3189446032 -0.5621970296 + -0.0000000261 0.1860864908 0.0000000512 -0.1254522353 -0.1393300593 0.0949376449 + 0.0000000447 0.2760953307 -0.0000000356 -0.0369378440 -0.0391272418 0.3356722295 + 0.0000000596 0.3388734460 0.0000000618 0.0000001973 0.0000000003 0.0000000075 + 0.1861518174 -0.0983438268 -0.0044584586 0.0395468026 0.4032218158 0.9140621424 + 0.0000000088 0.3293980360 0.0000000210 0.1870265752 0.0021772550 -0.0120916665 + -0.0000000165 0.2477990538 -0.0000000121 -0.3439444005 -0.2426816523 0.0764450952 + 0.0000000335 0.0675944015 -0.0000000224 -0.5156832337 0.0071214857 -0.0341130346 + -0.0000000242 0.0427611470 0.0000000121 0.0000003045 -0.0000005597 0.0000005122 + -0.1861517876 -0.0983438566 -0.0087781651 0.1055059284 0.2201522440 -0.9694321752 + 0.0000000037 0.3292638659 0.0000000335 0.1739371419 0.1276794076 -0.0335475877 + 0.0000000028 0.2478393316 -0.0000000040 -0.5285938978 0.2041021585 -0.0012588208 + 0.0000000093 0.0799339041 0.0000000000 -0.5543207526 0.0709472597 0.0517313890 + 0.0000000091 0.0583351515 -0.0000000019 0.0000000977 0.0000002391 -0.0000002240 +} + +frame 15 { + 0.0116952369 0.6989737749 -0.0025084913 -0.0070098219 0.0333500430 0.0134186186 + -0.0000000003 0.1770022362 -0.0009516328 -0.0004957010 -0.0197899304 0.0060253982 + 0.0000000014 0.2065057009 -0.0000000026 -0.0062912973 -0.0380838513 0.0092723155 + 0.0000000027 0.2360066324 0.0000000028 -0.0062912907 -0.0380838588 0.0092723230 + 0.0000000177 0.2655070126 0.0000000037 -0.0137164528 0.0186735541 -0.0424690396 + -0.0000000038 0.3947655857 -0.0401370749 -0.0090085482 0.0217424836 0.0009050248 + -0.0000000031 1.2101043463 -0.1230351776 -0.0000000001 0.0000000008 0.0000000000 + 0.0778401718 0.2149243504 0.0011441819 -0.6968694329 -0.2929137349 0.5537709594 + -0.0000000019 0.1860862821 -0.0000000856 -0.1800791770 0.0202137921 0.2513740957 + 0.0000000149 0.2763552666 -0.0000000349 -0.0511397086 -0.1073938832 -0.2966829240 + -0.0000000037 0.3389307857 0.0000000410 -0.0000000400 0.0000000347 -0.0000000000 + -0.0778401121 0.2149396539 -0.0016879933 -0.6706143618 0.3213885128 -0.5627007484 + -0.0000000261 0.1860864758 0.0000001900 -0.1307889521 -0.1305160820 0.0903399214 + 0.0000000149 0.2760955095 0.0000001621 -0.0317560248 -0.0416775234 0.3520503342 + 0.0000000447 0.3388733864 -0.0000000147 0.0000002054 -0.0000000080 0.0000000037 + 0.1861518174 -0.0983439162 -0.0044584563 0.0437562317 0.3977428079 0.9163065553 + -0.0000000042 0.3293980360 -0.0000000205 0.1949704438 -0.0101634357 -0.0075451010 + 0.0000000072 0.2477990985 0.0000000214 -0.3318418264 -0.2438336462 0.0743290931 + 0.0000000205 0.0675943792 -0.0000000149 -0.5254772902 0.0025180203 -0.0404851213 + -0.0000000037 0.0427611396 0.0000000261 0.0000003031 -0.0000005653 0.0000005011 + -0.1861518025 -0.0983439237 -0.0087781679 0.1059962511 0.2289593369 -0.9671667218 + 0.0000000037 0.3292638958 -0.0000000224 0.1909675002 0.1277264357 -0.0314204358 + 0.0000000093 0.2478393465 0.0000000165 -0.5084233880 0.2014465779 -0.0099950591 + 0.0000000158 0.0799339041 0.0000000019 -0.5786763430 0.0800949484 0.0557723530 + 0.0000000115 0.0583351888 -0.0000000003 0.0000000999 0.0000002395 -0.0000002263 +} + +frame 16 { + 0.0128699066 0.6933432817 -0.0035923515 -0.0071202293 0.0354624093 0.0127253318 + -0.0000000010 0.1770022362 -0.0009516340 0.0000565990 -0.0204779916 0.0062520797 + -0.0000000012 0.2065058202 0.0000000002 -0.0051986380 -0.0393831730 0.0101245847 + 0.0000000034 0.2360064536 -0.0000000008 -0.0051986384 -0.0393832102 0.0101245977 + -0.0000000061 0.2655071020 0.0000000070 -0.0099246418 0.0185976457 -0.0419234969 + 0.0000000031 0.3947657347 -0.0401370972 -0.0106232148 0.0233143810 -0.0030288007 + 0.0000000039 1.2101045847 -0.1230352223 0.0000000038 -0.0000000010 -0.0000000000 + 0.0778401345 0.2149244547 0.0011441796 -0.6994526982 -0.2893990278 0.5530743003 + 0.0000000065 0.1860864758 0.0000001212 -0.1764588803 0.0169205070 0.2639040947 + 0.0000000075 0.2763552368 0.0000000638 -0.0514117517 -0.1013154685 -0.3137236238 + 0.0000000112 0.3389307261 -0.0000000736 -0.0000000447 0.0000000349 0.0000000047 + -0.0778401271 0.2149396688 -0.0016879903 -0.6686796546 0.3238291442 -0.5631986260 + -0.0000000186 0.1860864609 -0.0000000484 -0.1361095607 -0.1216842085 0.0857300311 + -0.0000000596 0.2760955393 -0.0000000633 -0.0265617557 -0.0442146286 0.3683153093 + 0.0000000298 0.3388733566 0.0000000196 0.0000002149 0.0000000153 0.0000000224 + 0.1861518323 -0.0983439535 -0.0044584568 0.0479634032 0.3922408819 0.9184991121 + -0.0000000061 0.3293980062 -0.0000000279 0.2028697878 -0.0225046482 -0.0029956584 + -0.0000000321 0.2477990538 0.0000000123 -0.3196802437 -0.2449439615 0.0721999407 + 0.0000000056 0.0675944015 0.0000000075 -0.5351700783 -0.0020868548 -0.0468504801 + -0.0000000186 0.0427611545 0.0000000056 0.0000003078 -0.0000005718 0.0000005029 + -0.1861518323 -0.0983439237 -0.0087781660 0.1064740419 0.2377402484 -0.9647864699 + -0.0000000149 0.3292638659 0.0000000000 0.2079448849 0.1277345866 -0.0292830486 + -0.0000000056 0.2478393018 -0.0000000091 -0.4879015982 0.1986554116 -0.0187304225 + 0.0000000065 0.0799338967 0.0000000345 -0.6024679542 0.0891704708 0.0597607084 + -0.0000000235 0.0583351590 -0.0000000065 0.0000000961 0.0000002397 -0.0000002192 +} + +frame 17 { + 0.0140445773 0.6877128482 -0.0046762098 -0.0072305994 0.0375745781 0.0120319864 + -0.0000000012 0.1770023704 -0.0009516362 0.0006088974 -0.0211660340 0.0064787576 + -0.0000000023 0.2065058947 -0.0000000015 -0.0041059647 -0.0406823494 0.0109768175 + 0.0000000063 0.2360064387 -0.0000000022 -0.0041059647 -0.0406823978 0.0109768324 + 0.0000000021 0.2655070722 0.0000000056 -0.0061327401 0.0185214728 -0.0413773805 + 0.0000000061 0.3947656751 -0.0401370898 -0.0122376308 0.0248857662 -0.0069624814 + -0.0000000093 1.2101043463 -0.1230351999 0.0000000039 -0.0000000024 0.0000000003 + 0.0778401494 0.2149245143 0.0011441766 -0.7020212412 -0.2858783603 0.5523662567 + -0.0000000056 0.1860864162 0.0000000240 -0.1728061438 0.0136246653 0.2763820887 + -0.0000000596 0.2763552964 -0.0000000440 -0.0516656674 -0.0952036828 -0.3306483924 + 0.0000000224 0.3389309347 0.0000000261 -0.0000000438 0.0000000326 0.0000000075 + -0.0778401196 0.2149397135 -0.0016879933 -0.6667380333 0.3262663782 -0.5636906028 + -0.0000000335 0.1860865206 -0.0000000512 -0.1414120644 -0.1128379479 0.0811097622 + -0.0000000224 0.2760955095 -0.0000000829 -0.0213603042 -0.0467359945 0.3844507337 + 0.0000000447 0.3388733268 -0.0000000079 0.0000002037 0.0000000015 0.0000000298 + 0.1861518025 -0.0983439311 -0.0044584591 0.0521676131 0.3867170513 0.9206392169 + 0.0000000126 0.3293980062 -0.0000000168 0.2107188106 -0.0348375514 0.0015534146 + -0.0000000032 0.2477990687 0.0000000526 -0.3074658811 -0.2460121065 0.0700588152 + -0.0000000093 0.0675943941 -0.0000000224 -0.5447555780 -0.0066903653 -0.0532053933 + -0.0000000019 0.0427611656 0.0000000061 0.0000002915 -0.0000005662 0.0000005160 + -0.1861517876 -0.0983439088 -0.0087781707 0.1069392338 0.2464921176 -0.9622921348 + -0.0000000075 0.3292638659 0.0000000112 0.2248537987 0.1277038604 -0.0271374192 + 0.0000000112 0.2478393167 -0.0000000016 -0.4670695066 0.1957341731 -0.0274475813 + -0.0000000130 0.0799338967 0.0000000135 -0.6256230474 0.0981461406 0.0636842623 + 0.0000000086 0.0583351739 -0.0000000077 0.0000000960 0.0000002398 -0.0000002203 +} + +frame 18 { + 0.0153393280 0.6860882044 -0.0056903344 -0.0087263901 0.0380687974 0.0100333011 + -0.0000000008 0.1770023108 -0.0009516361 0.0017168742 -0.0211180896 0.0069267140 + 0.0000000093 0.2065056413 -0.0000000004 -0.0018971984 -0.0408243872 0.0121025974 + 0.0000000099 0.2360066622 0.0000000015 -0.0018971923 -0.0408243574 0.0121025788 + -0.0000000097 0.2655071616 0.0000000084 -0.0072869183 0.0176274925 -0.0392474942 + -0.0000000056 0.3947654068 -0.0401370786 -0.0104281446 0.0259319805 -0.0115936659 + -0.0000000075 1.2101047039 -0.1230352074 0.0000000036 -0.0000000011 0.0000000004 + 0.0778401345 0.2149246186 0.0011441770 -0.7061094046 -0.2805997729 0.5502875447 + -0.0000000028 0.1860865206 -0.0000000033 -0.1700828075 0.0125663588 0.2835948169 + 0.0000000075 0.2763550878 0.0000000445 -0.0507302657 -0.0889704674 -0.3389315605 + 0.0000000224 0.3389308453 -0.0000000009 -0.0000000494 0.0000000289 0.0000000112 + -0.0778401196 0.2149398327 -0.0016879905 -0.6654406190 0.3268946707 -0.5663490295 + 0.0000000037 0.1860864013 -0.0000000661 -0.1470474005 -0.1011420488 0.0691783056 + 0.0000000224 0.2760953903 -0.0000000726 -0.0175698306 -0.0476904623 0.4032670856 + 0.0000000745 0.3388734162 -0.0000001197 0.0000002051 0.0000000071 0.0000000224 + 0.1861518174 -0.0983439088 -0.0044584586 0.0533757620 0.3872988224 0.9203416705 + 0.0000000158 0.3293980062 0.0000000102 0.2357167900 -0.0445759781 0.0057244049 + -0.0000000033 0.2477990240 -0.0000000233 -0.2889152169 -0.2426573485 0.0803533047 + -0.0000000335 0.0675944015 0.0000000075 -0.5168524981 0.0108208340 -0.0546021238 + -0.0000000224 0.0427611619 0.0000000047 0.0000002934 -0.0000005588 0.0000004973 + -0.1861518025 -0.0983438343 -0.0087781670 0.1078495532 0.2451980263 -0.9623177052 + -0.0000000075 0.3292638063 0.0000000112 0.2435418665 0.1216544285 -0.0222015828 + -0.0000000033 0.2478393316 0.0000000400 -0.4257854521 0.1890467554 -0.0458444767 + 0.0000000000 0.0799338967 -0.0000000540 -0.6544468403 0.1117336899 0.0655472949 + -0.0000000107 0.0583352000 -0.0000000016 0.0000000901 0.0000002407 -0.0000002186 +} + +frame 19 { + 0.0167015772 0.6864140034 -0.0069546755 -0.0107671795 0.0376159586 0.0074901516 + -0.0000000021 0.1770023406 -0.0009516357 0.0030084734 -0.0206528064 0.0077614337 + -0.0000000042 0.2065058053 -0.0000000022 0.0006856409 -0.0402618200 0.0137938969 + 0.0000000004 0.2360067368 -0.0000000005 0.0006856386 -0.0402618311 0.0137938950 + 0.0000000169 0.2655069828 0.0000000070 -0.0098947529 0.0169528704 -0.0391407125 + -0.0000000049 0.3947655559 -0.0401370898 -0.0083384812 0.0258404259 -0.0146194929 + 0.0000000107 1.2101045847 -0.1230351925 -0.0000000014 -0.0000000012 0.0000000002 + 0.0778401494 0.2149243653 0.0011441815 -0.7063502073 -0.2806496918 0.5493223667 + 0.0000000056 0.1860864758 -0.0000000724 -0.1699387729 0.0146319745 0.2847552001 + -0.0000000373 0.2763552368 0.0000000477 -0.0518407188 -0.0846732482 -0.3416270316 + -0.0000000075 0.3389308751 0.0000000428 -0.0000000475 0.0000000326 0.0000000130 + -0.0778401196 0.2149395794 -0.0016879907 -0.6659907699 0.3242675364 -0.5706304908 + 0.0000000149 0.1860864908 0.0000002189 -0.1493643075 -0.0873431340 0.0536152832 + 0.0000000075 0.2760954499 0.0000000596 -0.0128701478 -0.0484639928 0.4236587286 + 0.0000000149 0.3388734162 -0.0000000708 0.0000001974 -0.0000000087 0.0000000186 + 0.1861518174 -0.0983439237 -0.0044584577 0.0532490350 0.3854445219 0.9211420417 + -0.0000000061 0.3293980360 0.0000000335 0.2601168752 -0.0418879576 0.0078636883 + 0.0000000065 0.2477990091 0.0000000205 -0.2648596764 -0.2384555638 0.0915553942 + -0.0000000284 0.0675944090 -0.0000000112 -0.4867624938 0.0324924216 -0.0432236567 + -0.0000000389 0.0427611433 0.0000000042 0.0000003073 -0.0000005579 0.0000004934 + -0.1861518174 -0.0983438492 -0.0087781688 0.1081366092 0.2394874841 -0.9635425210 + -0.0000000261 0.3292638958 -0.0000000112 0.2637743950 0.1097479910 -0.0163631272 + -0.0000000101 0.2478393167 -0.0000000140 -0.3769133389 0.1812472641 -0.0659756437 + 0.0000000037 0.0799338967 -0.0000000075 -0.6749090552 0.1169974580 0.0610343255 + 0.0000000028 0.0583351851 0.0000000056 0.0000000903 0.0000002375 -0.0000002263 +} + +frame 20 { + 0.0179873202 0.6880324483 -0.0080564227 -0.0128015168 0.0362923779 0.0047970512 + 0.0000000007 0.1770022810 -0.0009516368 0.0045252158 -0.0198778156 0.0086859381 + 0.0000000022 0.2065057456 0.0000000003 0.0037206786 -0.0389873609 0.0155802118 + 0.0000000110 0.2360065728 0.0000000012 0.0037206726 -0.0389873572 0.0155802090 + 0.0000000158 0.2655071616 0.0000000028 -0.0157945380 0.0162852909 -0.0396802574 + 0.0000000051 0.3947656751 -0.0401370861 -0.0054238797 0.0246856492 -0.0165955406 + -0.0000000030 1.2101043463 -0.1230351850 0.0000000003 0.0000000003 -0.0000000005 + 0.0778401420 0.2149246633 0.0011441750 -0.7012289166 -0.2870921493 0.5523501039 + 0.0000000019 0.1860865057 0.0000000743 -0.1711069793 0.0168058202 0.2780103087 + -0.0000000373 0.2763551772 -0.0000000084 -0.0541964881 -0.0832215101 -0.3421886861 + -0.0000000075 0.3389309049 -0.0000000368 -0.0000000396 0.0000000298 0.0000000158 + -0.0778400898 0.2149398029 -0.0016879924 -0.6689256430 0.3193988502 -0.5724556446 + 0.0000000112 0.1860864609 0.0000000279 -0.1527942866 -0.0709160566 0.0310001764 + 0.0000000000 0.2760954499 0.0000000941 -0.0053380900 -0.0510230996 0.4434570670 + 0.0000000298 0.3388733864 0.0000000140 0.0000002114 -0.0000000088 0.0000000149 + 0.1861518323 -0.0983439013 -0.0044584610 0.0498180166 0.3767602146 0.9249424934 + -0.0000000033 0.3293980360 0.0000000065 0.2729614079 -0.0285554212 0.0068174126 + -0.0000000192 0.2477990836 0.0000000321 -0.2330546975 -0.2363110483 0.0958120823 + -0.0000000279 0.0675944015 0.0000000037 -0.4640530050 0.0367564261 -0.0317258947 + 0.0000000097 0.0427611768 -0.0000000019 0.0000003120 -0.0000005579 0.0000004804 + -0.1861518174 -0.0983438641 -0.0087781698 0.1050261185 0.2368863821 -0.9644099474 + -0.0000000149 0.3292638361 0.0000000261 0.2779785693 0.0896695852 -0.0098485053 + -0.0000000047 0.2478392720 0.0000000112 -0.3222498596 0.1737253815 -0.0845787227 + -0.0000000075 0.0799338967 -0.0000000037 -0.6740021706 0.1062074378 0.0429904833 + 0.0000000130 0.0583351217 0.0000000205 0.0000000987 0.0000002366 -0.0000002310 +} + +frame 21 { + 0.0189918838 0.6920874119 -0.0115400646 -0.0142245712 0.0340590440 0.0024478503 + 0.0000000017 0.1770022959 -0.0009516333 0.0051485323 -0.0186174214 0.0094065182 + 0.0000000007 0.2065058351 0.0000000029 0.0049675643 -0.0370024405 0.0170821175 + 0.0000000030 0.2360065430 0.0000000007 0.0049675624 -0.0370024368 0.0170821045 + 0.0000000189 0.2655072510 0.0000000035 -0.0149870953 0.0153211216 -0.0392704010 + -0.0000000047 0.3947657943 -0.0401370861 -0.0070768325 0.0229960829 -0.0179642402 + 0.0000000035 1.2101050615 -0.1230352148 0.0000000000 -0.0000000002 -0.0000000009 + 0.0778401569 0.2149246484 0.0011441787 -0.7007899880 -0.2883086503 0.5510452986 + -0.0000000023 0.1860864609 0.0000000052 -0.1709268689 0.0223253928 0.2746132910 + -0.0000000522 0.2763551474 0.0000000591 -0.0567346998 -0.0787707567 -0.3435197175 + 0.0000000214 0.3389308453 0.0000000000 -0.0000000442 0.0000000373 0.0000000056 + -0.0778401121 0.2149399072 -0.0016879935 -0.6705958843 0.3154141903 -0.5759848952 + 0.0000000037 0.1860865355 0.0000000093 -0.1561410427 -0.0558280423 0.0129251555 + 0.0000000075 0.2760954797 -0.0000000689 0.0026874710 -0.0523236208 0.4597300887 + 0.0000000000 0.3388733268 -0.0000000065 0.0000002049 -0.0000000205 0.0000000261 + 0.1861518174 -0.0983439311 -0.0044584572 0.0497048125 0.3742484748 0.9259875417 + -0.0000000051 0.3293980062 -0.0000000205 0.3093574345 -0.0282282904 0.0095414091 + -0.0000000019 0.2477990836 0.0000000042 -0.2711749077 -0.2416727692 0.0817964822 + -0.0000000338 0.0675944090 -0.0000000037 -0.4569223523 0.0336157270 -0.0304405056 + -0.0000000102 0.0427611060 -0.0000000009 0.0000003092 -0.0000005560 0.0000005018 + -0.1861518025 -0.0983439460 -0.0087781660 0.0979514718 0.2285986394 -0.9672023654 + 0.0000000224 0.3292638958 -0.0000000224 0.2971230447 0.0622063242 -0.0022853045 + -0.0000000112 0.2478392869 -0.0000000019 -0.2750898302 0.1688307524 -0.0959665850 + -0.0000000019 0.0799338892 -0.0000000484 -0.6620151401 0.0819549933 0.0163964648 + -0.0000000037 0.0583351627 -0.0000000168 0.0000001062 0.0000002393 -0.0000002272 +} + +frame 22 { + 0.0202317759 0.6983003020 -0.0137700606 -0.0146438349 0.0312293600 0.0009588066 + 0.0000000001 0.1770022810 -0.0009516313 0.0050249617 -0.0169476252 0.0091788210 + 0.0000000015 0.2065057307 0.0000000016 0.0047099572 -0.0344692096 0.0171614941 + -0.0000000090 0.2360067219 0.0000000003 0.0047099595 -0.0344692059 0.0171614941 + -0.0000000017 0.2655075490 -0.0000000002 -0.0106086489 0.0131175090 -0.0334251933 + -0.0000000054 0.3947658539 -0.0401370898 -0.0115532922 0.0216373932 -0.0210523643 + -0.0000000054 1.2101045847 -0.1230351850 -0.0000000007 0.0000000011 0.0000000003 + 0.0778401345 0.2149248421 0.0011441745 -0.7102583051 -0.2754852772 0.5474158525 + -0.0000000035 0.1860864609 0.0000000574 -0.1600486636 0.0241138116 0.2799563408 + -0.0000000224 0.2763551772 -0.0000000146 -0.0554759875 -0.0709118247 -0.3573926091 + -0.0000000056 0.3389307857 0.0000000414 -0.0000000414 0.0000000354 0.0000000093 + -0.0778401121 0.2149400264 -0.0016879942 -0.6695837975 0.3162579536 -0.5771759748 + 0.0000000000 0.1860864908 -0.0000000494 -0.1657878011 -0.0432110019 -0.0023593404 + 0.0000000186 0.2760954499 0.0000000186 0.0101012392 -0.0524580032 0.4680597782 + 0.0000000000 0.3388734460 -0.0000000242 0.0000002058 0.0000000035 0.0000000224 + 0.1861518025 -0.0983439013 -0.0044584554 0.0481550321 0.3629357815 0.9305689931 + -0.0000000247 0.3293979466 0.0000000754 0.3320266604 -0.0280127991 0.0106309485 + -0.0000000270 0.2477990985 0.0000000030 -0.3040046394 -0.2455997765 0.0700622723 + -0.0000000215 0.0675943792 -0.0000000037 -0.4583790600 0.0338303670 -0.0293498207 + -0.0000000005 0.0427611209 -0.0000000028 0.0000003106 -0.0000005555 0.0000004950 + -0.1861518025 -0.0983439684 -0.0087781623 0.0930754915 0.2065400779 -0.9727286100 + -0.0000000149 0.3292638659 0.0000000149 0.3345482647 0.0371735655 0.0053824591 + 0.0000000168 0.2478393167 -0.0000000168 -0.2533868253 0.1702238619 -0.0951149613 + 0.0000000075 0.0799339265 0.0000000056 -0.6215758324 0.0527365431 0.0023960001 + 0.0000000102 0.0583351254 -0.0000000093 0.0000000717 0.0000002375 -0.0000002254 +} + +frame 23 { + 0.0219288226 0.7080014944 -0.0129672419 -0.0140112285 0.0284590255 0.0003291802 + -0.0000000010 0.1770023257 -0.0009516348 0.0047607031 -0.0152546391 0.0086739920 + -0.0000000010 0.2065058649 -0.0000000016 0.0041690124 -0.0316533893 0.0167280380 + 0.0000000011 0.2360066772 0.0000000003 0.0041690157 -0.0316533856 0.0167280268 + 0.0000000051 0.2655071914 0.0000000014 -0.0112916771 0.0109537514 -0.0279773884 + 0.0000000016 0.3947657049 -0.0401370786 -0.0129045602 0.0192543454 -0.0231283288 + -0.0000000054 1.2101047039 -0.1230351999 -0.0000000005 0.0000000006 0.0000000001 + 0.0778401420 0.2149245739 0.0011441726 -0.7193616629 -0.2625016272 0.5443990231 + -0.0000000121 0.1860864460 0.0000000853 -0.1498627961 0.0278050341 0.2780745327 + -0.0000000224 0.2763550878 -0.0000000222 -0.0514669009 -0.0668348223 -0.3585326076 + 0.0000000019 0.3389307857 -0.0000000198 -0.0000000279 0.0000000373 -0.0000000019 + -0.0778401121 0.2149398029 -0.0016879940 -0.6668304205 0.3207784593 -0.5757094026 + -0.0000000149 0.1860864162 0.0000001565 -0.1850089729 -0.0319502130 -0.0131525109 + -0.0000000102 0.2760955095 -0.0000000978 0.0187368169 -0.0478261262 0.4599823356 + 0.0000000894 0.3388733864 0.0000000186 0.0000001919 0.0000000023 0.0000000112 + 0.1861518174 -0.0983438864 -0.0044584600 -0.0479709022 -0.3402306736 -0.9391112924 + 0.0000000200 0.3293979764 0.0000000149 0.3384396136 -0.0297076479 0.0106547847 + -0.0000000233 0.2477990389 -0.0000000100 -0.3309733868 -0.2486557811 0.0599978454 + 0.0000000272 0.0675944090 0.0000000037 -0.4594680667 0.0343571641 -0.0293483846 + 0.0000000156 0.0427611507 0.0000000028 0.0000003069 -0.0000005579 0.0000005128 + -0.1861518174 -0.0983438641 -0.0087781688 0.0914346278 0.1740365624 -0.9793104529 + -0.0000000075 0.3292637467 -0.0000000224 0.3788903952 0.0186779033 0.0120810401 + -0.0000000242 0.2478393018 0.0000000205 -0.2517239153 0.1778368801 -0.0839829817 + 0.0000000075 0.0799338892 0.0000000075 -0.5414887071 0.0432237163 0.0120898243 + -0.0000000140 0.0583351552 0.0000000000 0.0000000950 0.0000002407 -0.0000002213 +} + +frame 24 { + 0.0241172686 0.7193578482 -0.0119102355 -0.0126180025 0.0259549264 0.0007854554 + 0.0000000002 0.1770023704 -0.0009516343 0.0039576632 -0.0135245686 0.0076813572 + -0.0000000007 0.2065057606 -0.0000000008 0.0025418620 -0.0286789089 0.0156670455 + -0.0000000069 0.2360067219 -0.0000000010 0.0025418589 -0.0286789015 0.0156670511 + -0.0000000161 0.2655073106 0.0000000029 -0.0098747974 0.0085790548 -0.0218301397 + -0.0000000051 0.3947656453 -0.0401370861 -0.0157072656 0.0165851042 -0.0249363035 + 0.0000000042 1.2101047039 -0.1230352223 0.0000000010 -0.0000000008 0.0000000002 + 0.0778401494 0.2149246335 0.0011441750 -0.7259122133 -0.2536541820 0.5404537320 + -0.0000000102 0.1860864162 -0.0000001381 -0.1459276378 0.0353060775 0.2674729228 + -0.0000000447 0.2763552666 -0.0000000407 -0.0481287464 -0.0654231012 -0.3457761705 + -0.0000000161 0.3389307559 0.0000000657 -0.0000000289 0.0000000391 -0.0000000019 + -0.0778401420 0.2149399519 -0.0016879945 -0.6642054915 0.3232135475 -0.5782011747 + -0.0000000075 0.1860863119 0.0000000773 -0.1967358440 -0.0219179969 -0.0187846534 + -0.0000000149 0.2760954201 -0.0000000484 0.0259100515 -0.0394149609 0.4486718476 + -0.0000000596 0.3388734460 -0.0000000540 0.0000002068 -0.0000000033 0.0000000112 + 0.1861518323 -0.0983438343 -0.0044584591 -0.0469957255 -0.3104085922 -0.9494177699 + -0.0000000126 0.3293980062 0.0000000205 0.3322730958 -0.0311354157 0.0093751997 + -0.0000000061 0.2477990538 0.0000000061 -0.3517746329 -0.2507775128 0.0524028391 + 0.0000000027 0.0675944015 0.0000000037 -0.4615301788 0.0353958867 -0.0293933395 + -0.0000000248 0.0427611545 -0.0000000028 0.0000003092 -0.0000005546 0.0000005038 + -0.1861518025 -0.0983438715 -0.0087781670 0.0893294290 0.1357254982 -0.9856780171 + -0.0000000056 0.3292638063 -0.0000000075 0.4221429825 0.0065127742 0.0165698249 + 0.0000000019 0.2478392720 -0.0000000317 -0.2637544572 0.1873328388 -0.0665888265 + 0.0000000112 0.0799338669 -0.0000000168 -0.4776146412 0.0230658576 0.0237956103 + -0.0000000083 0.0583351329 -0.0000000233 0.0000000959 0.0000002423 -0.0000002191 +} + +frame 25 { + 0.0257537253 0.7302250862 -0.0109339114 -0.0109470282 0.0234910026 0.0026737538 + -0.0000000006 0.1770022213 -0.0009516319 0.0034476458 -0.0116681270 0.0065112081 + -0.0000000012 0.2065057904 -0.0000000022 0.0014986513 -0.0256368611 0.0145390080 + 0.0000000011 0.2360064685 0.0000000002 0.0014986488 -0.0256368518 0.0145390099 + 0.0000000013 0.2655072510 0.0000000045 -0.0135162510 0.0071011675 -0.0193334874 + 0.0000000120 0.3947654665 -0.0401370637 -0.0161098447 0.0127298506 -0.0246052537 + -0.0000000007 1.2101045847 -0.1230351999 0.0000000002 -0.0000000005 -0.0000000001 + 0.0778401196 0.2149246931 0.0011441754 -0.7255806923 -0.2544777095 0.5397937298 + 0.0000000037 0.1860863566 0.0000000603 -0.1481355131 0.0402138680 0.2437928915 + 0.0000000000 0.2763552666 0.0000000393 -0.0450248271 -0.0700727180 -0.3212072849 + 0.0000000391 0.3389308155 0.0000000822 -0.0000000438 0.0000000410 0.0000000130 + -0.0778401196 0.2149399072 -0.0016879925 -0.6658311486 0.3198631108 -0.5805039406 + 0.0000000056 0.1860863566 0.0000000168 -0.2022223324 -0.0131858541 -0.0286193434 + 0.0000000000 0.2760955989 -0.0000000237 0.0314664394 -0.0285132080 0.4328631759 + 0.0000000596 0.3388734460 -0.0000000596 0.0000001946 -0.0000000028 0.0000000186 + 0.1861518174 -0.0983439609 -0.0044584554 -0.0486383513 -0.2772200108 -0.9595470428 + 0.0000000126 0.3293978870 0.0000000233 0.3183287084 -0.0355802290 0.0089270286 + -0.0000000237 0.2477990240 -0.0000000168 -0.3675931394 -0.2525202036 0.0461172797 + 0.0000000014 0.0675944015 -0.0000000037 -0.4630859792 0.0357860252 -0.0293528046 + -0.0000000077 0.0427611396 0.0000000028 0.0000003115 -0.0000005560 0.0000004892 + -0.1861518025 -0.0983439758 -0.0087781670 0.0855607018 0.0944441631 -0.9910854697 + -0.0000000019 0.3292639256 -0.0000000112 0.4571656883 -0.0013530585 0.0188327301 + 0.0000000168 0.2478393167 -0.0000000019 -0.2896714509 0.1973728240 -0.0471478291 + -0.0000000078 0.0799339265 0.0000000168 -0.4548375905 0.0196099654 0.0261784866 + 0.0000000000 0.0583351478 0.0000000016 0.0000001036 0.0000002417 -0.0000002258 +} + +frame 26 { + 0.0273901802 0.7410922647 -0.0099575836 -0.0092759160 0.0210267808 0.0045620184 + -0.0000000019 0.1770023108 -0.0009516370 0.0029376105 -0.0098116258 0.0053410269 + -0.0000000011 0.2065057307 0.0000000010 0.0004554252 -0.0225945152 0.0134108001 + -0.0000000031 0.2360067219 -0.0000000008 0.0004554208 -0.0225945115 0.0134108020 + 0.0000000039 0.2655072212 0.0000000050 -0.0171574093 0.0056231273 -0.0168364123 + 0.0000000087 0.3947656453 -0.0401370935 -0.0165121835 0.0088744042 -0.0242738277 + 0.0000000043 1.2101041079 -0.1230352148 0.0000000001 0.0000000001 0.0000000001 + 0.0778401494 0.2149246037 0.0011441787 -0.7252472639 -0.2553005517 0.5391323566 + 0.0000000102 0.1860865057 0.0000001467 -0.1502510309 0.0450965986 0.2199608833 + 0.0000000149 0.2763551474 -0.0000000342 -0.0418889821 -0.0746727288 -0.2964110374 + 0.0000000112 0.3389307261 0.0000000265 -0.0000000484 0.0000000335 -0.0000000037 + -0.0778401196 0.2149399519 -0.0016879911 -0.6674339175 0.3165017664 -0.5827869773 + 0.0000000224 0.1860864758 -0.0000000303 -0.2076674551 -0.0044510034 -0.0384481363 + 0.0000000019 0.2760955393 -0.0000000894 0.0370082930 -0.0175983515 0.4168539643 + 0.0000000298 0.3388733268 0.0000000726 0.0000001919 -0.0000000009 0.0000000186 + 0.1861518174 -0.0983439311 -0.0044584572 -0.0502222553 -0.2436968088 -0.9685178995 + 0.0000000093 0.3293979764 0.0000000428 0.3043093085 -0.0400166698 0.0084767556 + -0.0000000035 0.2477990687 0.0000000023 -0.3832885325 -0.2541783154 0.0398162790 + -0.0000000058 0.0675943941 -0.0000000075 -0.4646403491 0.0361760780 -0.0293121915 + -0.0000000070 0.0427611321 0.0000000047 0.0000003111 -0.0000005560 0.0000005031 + -0.1861518174 -0.0983439311 -0.0087781660 0.0816390365 0.0529939719 -0.9947216511 + 0.0000000047 0.3292639256 -0.0000000037 0.4914623797 -0.0092167305 0.0210657082 + 0.0000000186 0.2478393316 0.0000000428 -0.3152342141 0.2071714252 -0.0276491567 + -0.0000000279 0.0799338818 -0.0000000093 -0.4317506850 0.0161407292 0.0285435505 + -0.0000000056 0.0583351701 0.0000000091 0.0000001068 0.0000002380 -0.0000002207 +} + +frame 27 { + 0.0288322344 0.7505620122 -0.0094136540 -0.0080448631 0.0179409739 0.0074487976 + -0.0000000056 0.1770022810 -0.0009516348 0.0023168386 -0.0080113793 0.0037817156 + -0.0000000022 0.2065057755 -0.0000000014 -0.0008076343 -0.0192287620 0.0114778280 + -0.0000000051 0.2360067964 0.0000000011 -0.0008076387 -0.0192287695 0.0114778327 + -0.0000000127 0.2655073106 0.0000000016 -0.0181526691 0.0038956257 -0.0134256119 + -0.0000000047 0.3947655857 -0.0401370674 -0.0186699107 0.0056148437 -0.0245259702 + -0.0000000163 1.2101050615 -0.1230351999 -0.0000000017 -0.0000000013 -0.0000000000 + 0.0778401271 0.2149247229 0.0011441745 -0.7231671214 -0.2584577203 0.5396101475 + 0.0000000207 0.1860864311 0.0000000591 -0.1536725163 0.0484519340 0.1930104494 + 0.0000000000 0.2763551772 0.0000000780 -0.0394982696 -0.0790738091 -0.2770137787 + -0.0000000186 0.3389307261 0.0000000270 -0.0000000307 0.0000000317 0.0000000075 + -0.0778401271 0.2149398327 -0.0016879933 -0.6695722342 0.3124533892 -0.5848332047 + -0.0000000112 0.1860864013 0.0000000531 -0.2094368488 0.0008114387 -0.0484474041 + -0.0000000009 0.2760956883 0.0000000442 0.0394485891 -0.0052695065 0.3976170123 + 0.0000000298 0.3388733268 0.0000000671 0.0000002049 0.0000000019 -0.0000000000 + 0.1861518025 -0.0983439237 -0.0044584558 -0.0565697998 -0.2094224244 -0.9761651754 + -0.0000000084 0.3293979466 -0.0000000149 0.2850683630 -0.0499253199 0.0094752889 + -0.0000000175 0.2477990687 -0.0000000019 -0.3945153952 -0.2559128106 0.0336754285 + -0.0000000083 0.0675944090 0.0000000075 -0.4650355279 0.0363028497 -0.0294325333 + 0.0000000022 0.0427611358 -0.0000000019 0.0000003101 -0.0000005583 0.0000004913 + -0.1861518025 -0.0983438939 -0.0087781642 0.0776881948 0.0064580645 -0.9966670871 + -0.0000000042 0.3292638659 0.0000000005 0.5181834698 -0.0145614389 0.0210772976 + -0.0000000037 0.2478393018 -0.0000000354 -0.3498132229 0.2149324417 -0.0090806996 + 0.0000000112 0.0799339116 0.0000000056 -0.4254468679 0.0067691328 0.0278342776 + 0.0000000075 0.0583351627 -0.0000000102 0.0000000990 0.0000002375 -0.0000002226 +} + +frame 28 { + 0.0301721655 0.7590711117 -0.0088849645 -0.0073848977 0.0137352375 0.0104693370 + 0.0000000045 0.1770023108 -0.0009516343 0.0019066524 -0.0062463782 0.0021661583 + -0.0000000017 0.2065057606 0.0000000009 -0.0016419900 -0.0154770799 0.0091222487 + 0.0000000035 0.2360065281 0.0000000010 -0.0016419903 -0.0154770706 0.0091222413 + -0.0000000010 0.2655072510 0.0000000005 -0.0205727965 0.0019853134 -0.0092795771 + 0.0000000107 0.3947655857 -0.0401370861 -0.0193936341 0.0029065437 -0.0255806185 + 0.0000000025 1.2101039886 -0.1230351776 0.0000000021 0.0000000017 0.0000000003 + 0.0778401420 0.2149245292 0.0011441726 -0.7238564491 -0.2575565875 0.5390976071 + -0.0000000126 0.1860864609 -0.0000001597 -0.1525105536 0.0484242141 0.1728899181 + 0.0000000149 0.2763551772 -0.0000000822 -0.0377598144 -0.0810694993 -0.2705287635 + 0.0000000075 0.3389308453 0.0000000242 -0.0000000410 0.0000000186 0.0000000093 + -0.0778401271 0.2149398923 -0.0016879971 -0.6704135537 0.3096509278 -0.5879050493 + 0.0000000000 0.1860863715 -0.0000001390 -0.2092615217 0.0028899785 -0.0567829497 + -0.0000000270 0.2760956287 -0.0000001042 0.0379255190 0.0094393706 0.3741264939 + 0.0000000596 0.3388734460 -0.0000000596 0.0000001881 -0.0000000019 0.0000000149 + 0.1861518174 -0.0983438566 -0.0044584572 -0.0642432496 -0.1744463593 -0.9825573564 + 0.0000000168 0.3293978870 0.0000000149 0.2612828016 -0.0624749549 0.0103867706 + -0.0000000164 0.2477990687 -0.0000000051 -0.4025740027 -0.2573171556 0.0286280140 + -0.0000000117 0.0675943866 -0.0000000075 -0.4655480981 0.0364561044 -0.0295494720 + -0.0000000021 0.0427611433 -0.0000000009 0.0000003083 -0.0000005565 0.0000004928 + -0.1861517876 -0.0983439386 -0.0087781660 0.0741446763 -0.0373501219 -0.9964284897 + -0.0000000054 0.3292638659 -0.0000000005 0.5321110487 -0.0189976003 0.0197677072 + 0.0000000056 0.2478393465 -0.0000000224 -0.3824193776 0.2196974158 0.0055827303 + 0.0000000056 0.0799338818 0.0000000112 -0.4212465882 -0.0262922235 0.0252914168 + -0.0000000065 0.0583351813 0.0000000051 0.0000001082 0.0000002421 -0.0000002319 +} + +frame 29 { + 0.0312623270 0.7667068839 -0.0074421428 -0.0073802960 0.0080419118 0.0131048430 + -0.0000000019 0.1770022959 -0.0009516339 0.0019437770 -0.0044512171 0.0008991816 + 0.0000000015 0.2065056711 -0.0000000020 -0.0015704428 -0.0113309687 0.0070361798 + 0.0000000063 0.2360067517 -0.0000000001 -0.0015704444 -0.0113309715 0.0070361886 + -0.0000000039 0.2655075192 0.0000000033 -0.0277586039 0.0005822647 -0.0068264422 + -0.0000000015 0.3947658241 -0.0401370861 -0.0161186829 0.0001250577 -0.0263521057 + -0.0000000052 1.2101039886 -0.1230352446 0.0000000038 -0.0000000007 0.0000000003 + 0.0778401420 0.2149247825 0.0011441772 -0.7229968309 -0.2584467828 0.5402300358 + -0.0000000084 0.1860865504 0.0000000093 -0.1503520310 0.0470766909 0.1526275575 + 0.0000000028 0.2763553262 -0.0000000480 -0.0370297506 -0.0829837322 -0.2687171400 + -0.0000000298 0.3389306962 0.0000000894 -0.0000000354 0.0000000335 0.0000000037 + -0.0778401196 0.2149400115 -0.0016879910 -0.6695958376 0.3091935515 -0.5909265280 + -0.0000000130 0.1860864609 -0.0000001071 -0.2117881775 0.0015913754 -0.0607739277 + -0.0000000057 0.2760956585 0.0000000175 0.0335282758 0.0264616106 0.3385289609 + -0.0000000447 0.3388733268 -0.0000000261 0.0000001974 -0.0000000261 -0.0000000037 + 0.1861518174 -0.0983439311 -0.0044584572 -0.0710518807 -0.1370203644 -0.9880128503 + 0.0000000121 0.3293980062 0.0000000093 0.2309801579 -0.0756764859 0.0105666639 + -0.0000000246 0.2477990538 -0.0000000019 -0.4076044261 -0.2583551407 0.0249974132 + -0.0000000002 0.0675944090 -0.0000000030 -0.4704784155 0.0377156436 -0.0288220681 + -0.0000000133 0.0427611247 -0.0000000019 0.0000003148 -0.0000005546 0.0000005073 + -0.1861517876 -0.0983439609 -0.0087781670 0.0704249442 -0.0758782700 -0.9945960641 + -0.0000000016 0.3292638958 0.0000000093 0.5319021940 -0.0252879467 0.0179004036 + -0.0000000205 0.2478393167 -0.0000000112 -0.4107421041 0.2232529521 0.0150978286 + 0.0000000037 0.0799339041 -0.0000000093 -0.4106606245 -0.0202454161 0.0293763690 + -0.0000000126 0.0583351627 -0.0000000019 0.0000000719 0.0000002412 -0.0000002198 +} + +frame 30 { + 0.0320039988 0.7719780207 -0.0071780104 -0.0080338540 0.0008861966 0.0148533937 + -0.0000000046 0.1770022660 -0.0009516371 0.0017005326 -0.0025528562 -0.0000306443 + 0.0000000043 0.2065057606 0.0000000017 -0.0020497544 -0.0068382761 0.0052190935 + 0.0000000031 0.2360065430 -0.0000000008 -0.0020497558 -0.0068382733 0.0052190921 + 0.0000000060 0.2655071914 0.0000000037 -0.0294165742 -0.0007917398 -0.0048433710 + -0.0000000130 0.3947656751 -0.0401370786 -0.0153498929 -0.0019709810 -0.0273736212 + -0.0000000048 1.2101048231 -0.1230352595 0.0000000000 0.0000000006 0.0000000003 + 0.0778401494 0.2149245739 0.0011441750 -0.7212067842 -0.2618589401 0.5389935970 + 0.0000000140 0.1860864013 0.0000000545 -0.1507776529 0.0464512743 0.1332792491 + 0.0000000123 0.2763553560 -0.0000000511 -0.0395540148 -0.0814874545 -0.2721754611 + 0.0000000224 0.3389307857 -0.0000000112 -0.0000000466 0.0000000596 -0.0000000037 + -0.0778401271 0.2149399221 -0.0016879946 -0.6699844003 0.3056919873 -0.5962142348 + 0.0000000019 0.1860864758 -0.0000000619 -0.2073269486 -0.0011453185 -0.0678721666 + -0.0000000158 0.2760953903 -0.0000000454 0.0300837718 0.0390898958 0.3113302290 + -0.0000000447 0.3388733268 0.0000000522 0.0000002161 0.0000000037 0.0000000112 + 0.1861518174 -0.0983439609 -0.0044584596 -0.0748556256 -0.1050576493 -0.9916427135 + -0.0000000065 0.3293979764 0.0000000037 0.2071465403 -0.0860494226 0.0103231957 + -0.0000000090 0.2477990985 0.0000000021 -0.4109262824 -0.2615102232 0.0156300589 + 0.0000000064 0.0675944015 0.0000000093 -0.4795985818 0.0416883118 -0.0265342034 + 0.0000000033 0.0427611321 -0.0000000014 0.0000003129 -0.0000005579 0.0000005055 + -0.1861518174 -0.0983439758 -0.0087781698 0.0679529980 -0.1129684076 -0.9912703037 + 0.0000000088 0.3292638659 -0.0000000130 0.5239154100 -0.0305728577 0.0161770619 + -0.0000000056 0.2478393167 -0.0000000056 -0.4355545938 0.2239090651 0.0209062323 + 0.0000000009 0.0799338967 0.0000000154 -0.4076785147 -0.0147663411 0.0282245725 + -0.0000000081 0.0583351664 -0.0000000037 0.0000000871 0.0000002338 -0.0000002170 +} + +frame 31 { + 0.0323606730 0.7745720148 -0.0069452133 -0.0094371000 -0.0073706247 0.0146508701 + 0.0000000021 0.1770022810 -0.0009516368 0.0015550337 -0.0006694404 -0.0002905812 + -0.0000000018 0.2065057904 0.0000000002 -0.0023274641 -0.0023716956 0.0043702363 + -0.0000000058 0.2360068262 0.0000000007 -0.0023274662 -0.0023716956 0.0043702382 + -0.0000000036 0.2655071616 0.0000000019 -0.0310354624 -0.0016929172 -0.0046093664 + -0.0000000030 0.3947654963 -0.0401370563 -0.0129087232 -0.0037346741 -0.0281866509 + -0.0000000003 1.2101048231 -0.1230351999 -0.0000000020 0.0000000005 -0.0000000000 + 0.0778401420 0.2149247080 0.0011441724 -0.7206996679 -0.2637488842 0.5364320874 + -0.0000000335 0.1860864460 -0.0000000191 -0.1465752870 0.0442995355 0.1211117357 + -0.0000000019 0.2763553560 -0.0000001363 -0.0442833230 -0.0759286359 -0.2901674509 + -0.0000000596 0.3389307261 -0.0000000149 -0.0000000242 0.0000000410 0.0000000037 + -0.0778401196 0.2149398923 -0.0016879967 -0.6687150598 0.3045520186 -0.6013411283 + -0.0000000112 0.1860863268 -0.0000000722 -0.2036889046 -0.0076067932 -0.0710511059 + -0.0000000193 0.2760954499 0.0000001229 0.0230741221 0.0517659970 0.2770199776 + 0.0000000000 0.3388734162 -0.0000000857 0.0000001844 -0.0000000075 0.0000000186 + 0.1861518174 -0.0983438939 -0.0044584596 -0.0774692297 -0.0757198632 -0.9941146970 + -0.0000000140 0.3293980360 0.0000000019 0.1844513714 -0.0974002630 0.0101860445 + -0.0000000179 0.2477990687 0.0000000061 -0.4130528271 -0.2615413070 0.0147228288 + 0.0000000063 0.0675944090 0.0000000037 -0.4832671881 0.0394618474 -0.0274637826 + 0.0000000042 0.0427611396 0.0000000037 0.0000003092 -0.0000005588 0.0000005047 + -0.1861518174 -0.0983439013 -0.0087781670 -0.0655106008 0.1452499777 0.9872238040 + 0.0000000009 0.3292638659 0.0000000168 0.5020199418 -0.0350135192 0.0142236976 + 0.0000000056 0.2478393167 0.0000000019 -0.4506765008 0.2221563160 0.0215902571 + -0.0000000158 0.0799338892 0.0000000130 -0.4103136659 -0.0124092670 0.0279444233 + -0.0000000031 0.0583351701 -0.0000000037 0.0000000973 0.0000002363 -0.0000002214 +} + +frame 32 { + 0.0327173434 0.7771659493 -0.0067124162 -0.0108396867 -0.0156269316 0.0144473240 + -0.0000000031 0.1770022959 -0.0009516329 0.0014095287 0.0012139790 -0.0005505175 + 0.0000000036 0.2065056115 0.0000000004 -0.0026051258 0.0020949338 0.0035212897 + -0.0000000034 0.2360066921 0.0000000029 -0.0026051286 0.0020949321 0.0035212904 + 0.0000000123 0.2655072212 -0.0000000013 -0.0326542407 -0.0025940917 -0.0043753455 + -0.0000000053 0.3947657645 -0.0401370786 -0.0104674436 -0.0054983301 -0.0289994311 + -0.0000000152 1.2101043463 -0.1230351925 0.0000000020 0.0000000013 0.0000000002 + 0.0778401494 0.2149246484 0.0011441745 -0.7201759815 -0.2656327486 0.5338580608 + 0.0000000075 0.1860864609 0.0000001658 -0.1423472762 0.0421400219 0.1089229807 + -0.0000000056 0.2763552964 0.0000000314 -0.0489947796 -0.0703392550 -0.3080425858 + 0.0000000149 0.3389307857 0.0000000522 -0.0000000261 0.0000000335 0.0000000037 + -0.0778401121 0.2149399072 -0.0016879967 -0.6674028635 0.3033924997 -0.6064294577 + -0.0000000056 0.1860865057 -0.0000000724 -0.2000376135 -0.0140677616 -0.0742253810 + -0.0000000168 0.2760954499 0.0000000014 0.0160301011 0.0643649399 0.2422968447 + -0.0000000075 0.3388733864 -0.0000000354 0.0000001974 -0.0000000075 0.0000000112 + 0.1861518025 -0.0983439088 -0.0044584549 0.0800151005 0.0463158898 0.9957170486 + 0.0000000101 0.3293980062 0.0000000023 0.1616351753 -0.1086872220 0.0100422148 + -0.0000000278 0.2477990240 0.0000000084 -0.4151766896 -0.2615707219 0.0138155185 + -0.0000000009 0.0675943941 0.0000000121 -0.4869247675 0.0372344218 -0.0283927079 + 0.0000000049 0.0427611284 -0.0000000034 0.0000003129 -0.0000005588 0.0000005120 + -0.1861517876 -0.0983438939 -0.0087781660 -0.0629982278 0.1773763597 0.9821226597 + 0.0000000055 0.3292638361 -0.0000000158 0.4797876477 -0.0394306891 0.0122608049 + 0.0000000191 0.2478393167 0.0000000056 -0.4656698704 0.2203402072 0.0222681277 + -0.0000000057 0.0799338892 -0.0000000075 -0.4129430056 -0.0100519834 0.0276638269 + -0.0000000026 0.0583351627 0.0000000037 0.0000001173 0.0000002421 -0.0000002286 +} + +frame 33 { + 0.0325596482 0.7761875391 -0.0065162126 -0.0125375865 -0.0234853849 0.0122927725 + -0.0000000010 0.1770022511 -0.0009516340 0.0011676580 0.0028766003 -0.0005016768 + -0.0000000011 0.2065058947 -0.0000000015 -0.0030772276 0.0059676277 0.0032016858 + -0.0000000037 0.2360069305 -0.0000000019 -0.0030772320 0.0059676287 0.0032016900 + -0.0000000007 0.2655071914 -0.0000000003 -0.0311992876 -0.0036708168 -0.0031599887 + -0.0000000009 0.3947655559 -0.0401370637 -0.0091200452 -0.0063240174 -0.0306504387 + 0.0000000054 1.2101047039 -0.1230351701 -0.0000000017 0.0000000001 -0.0000000002 + 0.0778401494 0.2149244994 0.0011441780 -0.7214801311 -0.2645927370 0.5312795043 + -0.0000000149 0.1860863417 0.0000001676 -0.1322940141 0.0383348092 0.1037160680 + 0.0000000186 0.2763551772 -0.0000000251 -0.0537638515 -0.0595894791 -0.3416557312 + -0.0000000447 0.3389307857 0.0000000671 -0.0000000335 0.0000000335 0.0000000037 + -0.0778401196 0.2149397880 -0.0016879954 -0.6655121446 0.3039843142 -0.6099105477 + -0.0000000214 0.1860864162 0.0000000552 -0.1969890594 -0.0174870919 -0.0784976557 + 0.0000000186 0.2760955989 -0.0000000417 0.0089063961 0.0736592561 0.2140982598 + 0.0000000186 0.3388733864 0.0000000829 0.0000002068 -0.0000000019 0.0000000224 + 0.1861518174 -0.0983439684 -0.0044584572 0.0846925601 0.0174988657 0.9962508678 + 0.0000000000 0.3293980658 -0.0000000002 0.1403757483 -0.1198847145 0.0132408058 + -0.0000000120 0.2477990985 0.0000000061 -0.4207057953 -0.2604711354 0.0148109216 + -0.0000000068 0.0675944164 -0.0000000075 -0.4863808453 0.0316390209 -0.0274388436 + 0.0000000000 0.0427611247 -0.0000000062 0.0000003120 -0.0000005551 0.0000005107 + -0.1861518174 -0.0983439088 -0.0087781670 -0.0597096644 0.2069393396 0.9765300155 + -0.0000000090 0.3292638361 0.0000000121 0.4483855069 -0.0425402261 0.0108229946 + 0.0000000137 0.2478393614 0.0000000028 -0.4709036350 0.2181767970 0.0196315125 + -0.0000000070 0.0799338967 0.0000000037 -0.4134617150 -0.0047181821 0.0255547408 + 0.0000000079 0.0583351627 -0.0000000037 0.0000000875 0.0000002468 -0.0000002244 +} + +frame 34 { + 0.0321685150 0.7735652328 -0.0060668513 -0.0140816299 -0.0302470364 0.0091358656 + 0.0000000037 0.1770023257 -0.0009516373 0.0008808243 0.0042873742 -0.0000715139 + -0.0000000012 0.2065057158 -0.0000000014 -0.0036409022 0.0091616791 0.0035004674 + -0.0000000042 0.2360068113 -0.0000000056 -0.0036409060 0.0091616791 0.0035004721 + 0.0000000014 0.2655073404 0.0000000013 -0.0299204364 -0.0043439432 -0.0031136139 + -0.0000000048 0.3947658837 -0.0401370935 -0.0070780753 -0.0071556149 -0.0316865742 + -0.0000000136 1.2101048231 -0.1230352074 -0.0000000001 0.0000000002 0.0000000009 + 0.0778401494 0.2149246037 0.0011441738 -0.7206913829 -0.2666692436 0.5291694999 + -0.0000000224 0.1860865057 0.0000001295 -0.1256929934 0.0376238041 0.0944982991 + -0.0000000037 0.2763551474 0.0000000186 -0.0577299446 -0.0481061041 -0.3694139123 + 0.0000000149 0.3389307559 -0.0000000596 -0.0000000149 0.0000000447 0.0000000075 + -0.0778401271 0.2149398774 -0.0016879907 -0.6663843989 0.3007005453 -0.6130492091 + 0.0000000168 0.1860864013 -0.0000001548 -0.1894735694 -0.0172982756 -0.0898704156 + -0.0000000261 0.2760955393 0.0000000496 0.0022995025 0.0792591646 0.1999634504 + 0.0000000000 0.3388733864 -0.0000000368 0.0000002133 -0.0000000056 0.0000000130 + 0.1861518025 -0.0983438864 -0.0044584619 0.0866638571 -0.0119778411 0.9961640239 + 0.0000000186 0.3293980062 0.0000000019 0.1193209514 -0.1321028471 0.0109418938 + 0.0000000100 0.2477990538 0.0000000019 -0.4291165471 -0.2617770731 0.0088375192 + 0.0000000136 0.0675943866 -0.0000000037 -0.4885687828 0.0363781527 -0.0288181547 + 0.0000000030 0.0427611396 0.0000000037 0.0000003092 -0.0000005579 0.0000005143 + -0.1861518025 -0.0983438566 -0.0087781725 0.0569339357 -0.2320820540 -0.9710237980 + -0.0000000250 0.3292638361 -0.0000000098 0.4069894254 -0.0426359922 0.0098273121 + -0.0000000126 0.2478393167 0.0000000030 -0.4710985124 0.2158902287 0.0176302791 + -0.0000000121 0.0799339041 0.0000000037 -0.4149358869 -0.0056401347 0.0196920205 + 0.0000000065 0.0583351813 -0.0000000102 0.0000000978 0.0000002375 -0.0000002254 +} + +frame 35 { + 0.0316940993 0.7682825923 -0.0049332250 -0.0150513891 -0.0349891372 0.0055754734 + 0.0000000041 0.1770022511 -0.0009516360 0.0006719721 0.0053270808 0.0002643923 + -0.0000000001 0.2065058649 -0.0000000014 -0.0040527112 0.0113391597 0.0037322361 + -0.0000000040 0.2360067219 0.0000000015 -0.0040527172 0.0113391597 0.0037322391 + -0.0000000035 0.2655073106 -0.0000000033 -0.0303416569 -0.0051234257 -0.0015946866 + 0.0000000023 0.3947656155 -0.0401370935 -0.0040981253 -0.0074595455 -0.0330616161 + 0.0000000028 1.2101043463 -0.1230351329 -0.0000000021 -0.0000000007 0.0000000005 + 0.0778401345 0.2149245590 0.0011441743 -0.7197493911 -0.2683090866 0.5287719965 + 0.0000000112 0.1860865057 -0.0000000587 -0.1178114861 0.0376898237 0.0831757411 + -0.0000000037 0.2763551474 0.0000001416 -0.0604307726 -0.0363617055 -0.3947496414 + -0.0000000894 0.3389307559 -0.0000001043 -0.0000000261 0.0000000335 0.0000000075 + -0.0778401271 0.2149399221 -0.0016880012 -0.6680377722 0.2974653542 -0.6142466068 + 0.0000000093 0.1860864311 0.0000000172 -0.1821664274 -0.0130821345 -0.1063669845 + 0.0000000075 0.2760954797 -0.0000001630 -0.0051292623 0.0826660842 0.1965071559 + 0.0000000102 0.3388732672 -0.0000000615 0.0000001974 -0.0000000047 0.0000000056 + 0.1861518174 -0.0983439758 -0.0044584591 0.0914091170 -0.0435958356 0.9948517680 + -0.0000000049 0.3293980658 -0.0000000037 0.0981025323 -0.1434267908 0.0117234783 + -0.0000000088 0.2477990389 -0.0000000084 -0.4384711385 -0.2617076635 0.0056927796 + -0.0000000003 0.0675944090 -0.0000000075 -0.4888302684 0.0362864845 -0.0288903862 + 0.0000000023 0.0427611545 -0.0000000005 0.0000003129 -0.0000005560 0.0000005061 + -0.1861517876 -0.0983439907 -0.0087781679 0.0532096997 -0.2518107891 -0.9662855864 + 0.0000000005 0.3292638659 -0.0000000349 0.3630568683 -0.0410676263 0.0103170648 + 0.0000000149 0.2478393316 -0.0000000019 -0.4703564346 0.2141061276 0.0155955339 + 0.0000000224 0.0799338892 -0.0000000149 -0.4246833026 -0.0017470254 0.0210699644 + 0.0000000065 0.0583351441 0.0000000075 0.0000000983 0.0000002354 -0.0000002210 +} + +frame 36 { + 0.0312196836 0.7629999518 -0.0037995968 -0.0160206072 -0.0397299901 0.0020148815 + 0.0000000014 0.1770022959 -0.0009516318 0.0004631159 0.0063667810 0.0006002972 + -0.0000000041 0.2065057307 0.0000000028 -0.0044644997 0.0135165872 0.0039639855 + -0.0000000001 0.2360068262 -0.0000000016 -0.0044645076 0.0135165844 0.0039639878 + 0.0000000005 0.2655073106 -0.0000000066 -0.0307627879 -0.0059028938 -0.0000757517 + -0.0000000010 0.3947655261 -0.0401370861 -0.0011181382 -0.0077633942 -0.0344362929 + -0.0000000123 1.2101044655 -0.1230351701 0.0000000001 -0.0000000016 0.0000000005 + 0.0778401420 0.2149246037 0.0011441747 -0.7188035846 -0.2699474394 0.5283716321 + 0.0000000000 0.1860864013 0.0000000345 -0.1099070683 0.0377485380 0.0718370676 + 0.0000000112 0.2763552070 -0.0000000466 -0.0630778894 -0.0245848969 -0.4197340310 + -0.0000001043 0.3389308155 -0.0000000522 -0.0000000335 0.0000000186 0.0000000130 + -0.0778401196 0.2149398029 -0.0016879924 -0.6696756482 0.2942233682 -0.6154296994 + -0.0000000028 0.1860865057 -0.0000001325 -0.1747966409 -0.0088614961 -0.1228270307 + -0.0000000540 0.2760955095 -0.0000000743 -0.0125575736 0.0860664696 0.1930353343 + 0.0000000000 0.3388734758 0.0000000033 0.0000002058 -0.0000000099 0.0000000205 + 0.1861518174 -0.0983439535 -0.0044584535 0.0960604697 -0.0751690492 0.9925171733 + 0.0000000037 0.3293980360 -0.0000000037 0.0768272728 -0.1546676606 0.0124982605 + -0.0000000224 0.2477990687 -0.0000000019 -0.4477735460 -0.2616071105 0.0025474117 + 0.0000000057 0.0675944090 -0.0000000075 -0.4890918136 0.0361948311 -0.0289626513 + -0.0000000028 0.0427611396 -0.0000000014 0.0000003101 -0.0000005569 0.0000004994 + -0.1861518025 -0.0983439311 -0.0087781660 0.0494618975 -0.2714279592 -0.9611192346 + 0.0000000093 0.3292638063 0.0000000205 0.3182994723 -0.0394059718 0.0107833864 + -0.0000000088 0.2478393018 -0.0000000037 -0.4696103334 0.2123201936 0.0135606201 + 0.0000000112 0.0799339041 -0.0000000037 -0.4343743324 0.0021463088 0.0224451032 + -0.0000000205 0.0583351590 0.0000000056 0.0000001034 0.0000002421 -0.0000002170 +} + +frame 37 { + 0.0307241548 0.7552762628 -0.0021972228 -0.0163716599 -0.0427851751 -0.0011961824 + -0.0000000031 0.1770023853 -0.0009516405 0.0000328350 0.0071172151 0.0006000867 + 0.0000000045 0.2065057755 -0.0000000026 -0.0053211492 0.0149956383 0.0035575929 + 0.0000000008 0.2360067964 -0.0000000034 -0.0053211604 0.0149956346 0.0035575952 + 0.0000000076 0.2655071318 0.0000000111 -0.0296134613 -0.0070029991 0.0040291068 + -0.0000000039 0.3947654665 -0.0401370861 0.0006132373 -0.0073508164 -0.0364435129 + -0.0000000133 1.2101042271 -0.1230351850 -0.0000000003 -0.0000000001 0.0000000005 + 0.0778401420 0.2149246037 0.0011441796 -0.7206436396 -0.2680162787 0.5258492231 + 0.0000000149 0.1860864162 0.0000003250 -0.1015981063 0.0409427583 0.0642565489 + 0.0000000075 0.2763551176 0.0000000885 -0.0636368692 -0.0112130875 -0.4418083429 + -0.0000000596 0.3389307261 0.0000001118 -0.0000000224 0.0000000410 -0.0000000186 + -0.0778401121 0.2149397582 -0.0016879882 -0.6674141288 0.2971901596 -0.6160486341 + 0.0000000112 0.1860864013 0.0000000712 -0.1721251309 -0.0061860587 -0.1249731779 + -0.0000000037 0.2760955095 0.0000000142 -0.0261694528 0.0975442082 0.1730046868 + -0.0000000056 0.3388733268 -0.0000000596 0.0000002133 -0.0000000033 0.0000000140 + 0.1861518174 -0.0983438790 -0.0044584591 0.1010557488 -0.1004279032 0.9897536635 + 0.0000000037 0.3293979764 0.0000000075 0.0737370253 -0.1648152024 0.0153699685 + -0.0000000298 0.2477990389 0.0000000009 -0.4622935951 -0.2623595893 -0.0043994030 + -0.0000000116 0.0675943941 0.0000000037 -0.4924226105 0.0341518484 -0.0299031734 + -0.0000000109 0.0427611396 -0.0000000140 0.0000003129 -0.0000005551 0.0000004938 + -0.1861518025 -0.0983439088 -0.0087781725 0.0456974618 -0.2903811634 -0.9556946754 + 0.0000000162 0.3292638361 0.0000000012 0.2730980515 -0.0371678360 0.0128437532 + -0.0000000309 0.2478393167 -0.0000000159 -0.4704517424 0.2097348124 0.0094727864 + 0.0000000075 0.0799338967 0.0000000075 -0.4306609035 0.0090151308 0.0183918476 + -0.0000000168 0.0583351552 -0.0000000186 0.0000001211 0.0000002459 -0.0000002105 +} + +frame 38 { + 0.0301154647 0.7465047240 0.0004971009 -0.0164572392 -0.0452634245 -0.0039524022 + -0.0000000025 0.1770024002 -0.0009516352 -0.0003263228 0.0077624754 0.0006083181 + 0.0000000012 0.2065058500 0.0000000019 -0.0060361596 0.0163112842 0.0031238461 + 0.0000000013 0.2360066921 -0.0000000064 -0.0060361573 0.0163112618 0.0031238450 + -0.0000000038 0.2655070722 0.0000000003 -0.0295488536 -0.0077772876 0.0073519526 + 0.0000000034 0.3947656453 -0.0401370712 0.0025224274 -0.0071552410 -0.0374727212 + -0.0000000090 1.2101045847 -0.1230351925 0.0000000002 0.0000000010 -0.0000000001 + 0.0778401271 0.2149245590 0.0011441730 -0.7184998989 -0.2708194256 0.5273426175 + 0.0000000298 0.1860865802 0.0000000186 -0.0960942507 0.0462692045 0.0468707271 + -0.0000000261 0.2763551176 -0.0000001332 -0.0649801046 -0.0024484948 -0.4540911615 + 0.0000000447 0.3389308155 -0.0000000075 -0.0000000410 0.0000000689 0.0000000000 + -0.0778401196 0.2149396241 -0.0016879824 -0.6674585342 0.2963218689 -0.6172364354 + -0.0000000149 0.1860865057 0.0000001760 -0.1680711508 0.0023412120 -0.1362708807 + -0.0000000298 0.2760953903 -0.0000000095 -0.0306263510 0.1041737497 0.1733768731 + -0.0000000112 0.3388733268 -0.0000000149 0.0000002029 -0.0000000075 0.0000000168 + 0.1861518323 -0.0983438641 -0.0044584572 0.1042272896 -0.1184436753 0.9873620272 + -0.0000000242 0.3293980062 0.0000000000 0.0897218212 -0.1726025045 0.0211222991 + -0.0000000240 0.2477990538 -0.0000000075 -0.4788700640 -0.2640811503 -0.0145909442 + 0.0000000050 0.0675944164 0.0000000186 -0.5013285279 0.0285244957 -0.0323589891 + 0.0000000009 0.0427611247 -0.0000000009 0.0000003111 -0.0000005551 0.0000005122 + -0.1861518025 -0.0983438417 -0.0087781670 0.0421738140 -0.3090324104 -0.9499168396 + 0.0000000060 0.3292638659 0.0000000151 0.2311901599 -0.0360586904 0.0149047375 + 0.0000000077 0.2478393316 -0.0000000075 -0.4751386642 0.2057677060 0.0023064914 + -0.0000000261 0.0799339116 0.0000000000 -0.4452133179 0.0137984278 0.0224858541 + 0.0000000000 0.0583351739 0.0000000056 0.0000000931 0.0000002570 -0.0000002291 +} + +frame 39 { + 0.0294224303 0.7377065420 0.0025789198 -0.0164464973 -0.0477613695 -0.0062347455 + -0.0000000056 0.1770022064 -0.0009516373 -0.0007878604 0.0085128024 0.0006333871 + 0.0000000016 0.2065057158 -0.0000000014 -0.0069563095 0.0177071411 0.0027504270 + -0.0000000013 0.2360066772 0.0000000031 -0.0069563016 0.0177071430 0.0027504289 + -0.0000000014 0.2655072510 0.0000000143 -0.0289979074 -0.0081662741 0.0094738193 + 0.0000000009 0.3947655261 -0.0401370786 0.0041383323 -0.0072791087 -0.0373313390 + 0.0000000065 1.2101044655 -0.1230351850 0.0000000020 -0.0000000002 -0.0000000003 + 0.0778401271 0.2149246633 0.0011441832 -0.7187536955 -0.2703885436 0.5274518728 + -0.0000000075 0.1860865355 0.0000000410 -0.0875671878 0.0497381054 0.0334166065 + -0.0000000056 0.2763552070 0.0000000596 -0.0624842681 0.0075854519 -0.4674458802 + -0.0000001043 0.3389307261 0.0000000447 -0.0000000261 0.0000000298 -0.0000000056 + -0.0778401196 0.2149397880 -0.0016879751 -0.6679875851 0.2947086990 -0.6184387207 + 0.0000000168 0.1860865206 -0.0000001295 -0.1643985361 0.0098381341 -0.1460763961 + 0.0000000484 0.2760954201 -0.0000000019 -0.0338692144 0.1125904173 0.1738351285 + 0.0000000186 0.3388733268 0.0000001024 0.0000002207 -0.0000000121 0.0000000093 + 0.1861518174 -0.0983439907 -0.0044584554 0.1071930975 -0.1333082169 0.9850252867 + 0.0000000354 0.3293980658 -0.0000000075 0.1107317433 -0.1801104546 0.0276880097 + -0.0000000256 0.2477990687 0.0000000047 -0.4908493459 -0.2657902539 -0.0237856377 + 0.0000000156 0.0675943643 -0.0000000037 -0.5149884820 0.0197573453 -0.0360150672 + -0.0000000198 0.0427611284 0.0000000037 0.0000003148 -0.0000005532 0.0000005155 + -0.1861518025 -0.0983440652 -0.0087781679 0.0404407792 -0.3240041137 -0.9449098110 + -0.0000000072 0.3292638958 -0.0000000305 0.1844578832 -0.0345200151 0.0160273295 + 0.0000000005 0.2478393167 -0.0000000335 -0.4775360227 0.1994580179 -0.0096049327 + 0.0000000205 0.0799338818 0.0000000112 -0.4433555603 0.0188978221 0.0260633659 + 0.0000000075 0.0583352186 -0.0000000149 0.0000000978 0.0000002421 -0.0000002235 +} + +frame 40 { + 0.0288664140 0.7285305858 0.0037637446 -0.0166690294 -0.0512606502 -0.0078075281 + 0.0000000014 0.1770023108 -0.0009516403 -0.0010318523 0.0096207345 0.0003969166 + 0.0000000013 0.2065058053 -0.0000000005 -0.0074425298 0.0195770357 0.0019428501 + 0.0000000022 0.2360067517 -0.0000000042 -0.0074425251 0.0195770375 0.0019428530 + 0.0000000013 0.2655074000 0.0000000078 -0.0265345909 -0.0087597091 0.0126264300 + 0.0000000005 0.3947656453 -0.0401370674 0.0034154661 -0.0071282852 -0.0366563126 + 0.0000000056 1.2101044655 -0.1230352223 -0.0000000001 0.0000000006 0.0000000006 + 0.0778401345 0.2149247378 0.0011441882 -0.7192997336 -0.2696592510 0.5271283984 + 0.0000000075 0.1860862672 -0.0000001844 -0.0811699331 0.0557417423 0.0228708182 + 0.0000000075 0.2763551176 0.0000000745 -0.0600660481 0.0145824766 -0.4748789370 + 0.0000000894 0.3389307857 0.0000001043 -0.0000000205 0.0000000503 -0.0000000019 + -0.0778401196 0.2149400264 -0.0016879907 -0.6668947339 0.2961695790 -0.6186916232 + 0.0000000047 0.1860864758 0.0000001583 -0.1655328423 0.0181181505 -0.1544004977 + -0.0000000149 0.2760954499 -0.0000000610 -0.0355497561 0.1205635294 0.1768801808 + 0.0000000000 0.3388733566 0.0000000447 0.0000002238 -0.0000000149 0.0000000084 + 0.1861518025 -0.0983439982 -0.0044584610 0.1042764634 -0.1448798031 0.9835735559 + -0.0000000186 0.3293980062 0.0000000298 0.1343239397 -0.1818687469 0.0315405987 + -0.0000000036 0.2477990538 -0.0000000512 -0.4937920570 -0.2669614851 -0.0290965270 + 0.0000000026 0.0675943792 -0.0000000224 -0.5372225642 0.0065163621 -0.0421040617 + 0.0000000035 0.0427611284 0.0000000047 0.0000003101 -0.0000005551 0.0000005058 + -0.1861518025 -0.0983439088 -0.0087781716 0.0420014039 -0.3346105516 -0.9410706758 + -0.0000000128 0.3292638958 0.0000000040 0.1496303827 -0.0297907237 0.0154056624 + -0.0000000339 0.2478393167 -0.0000000121 -0.4780418277 0.1896913499 -0.0253036674 + 0.0000000000 0.0799338967 0.0000000075 -0.4475391805 0.0196542237 0.0230307486 + 0.0000000075 0.0583351590 0.0000000326 0.0000000778 0.0000002440 -0.0000002179 +} + +frame 41 { + 0.0283103976 0.7193546295 0.0049485676 -0.0168913249 -0.0547592416 -0.0093802204 + -0.0000000041 0.1770023257 -0.0009516357 -0.0012758397 0.0107286610 0.0001604454 + 0.0000000001 0.2065057307 0.0000000000 -0.0079287197 0.0214468613 0.0011352621 + -0.0000000016 0.2360066921 -0.0000000030 -0.0079287151 0.0214468539 0.0011352651 + -0.0000000036 0.2655072212 -0.0000000070 -0.0240708068 -0.0093530137 0.0157788899 + -0.0000000009 0.3947655857 -0.0401370749 0.0026925930 -0.0069774515 -0.0359812230 + 0.0000000147 1.2101048231 -0.1230352297 -0.0000000004 -0.0000000003 0.0000000018 + 0.0778401271 0.2149246037 0.0011441675 -0.7198449969 -0.2689297497 0.5268045068 + 0.0000000075 0.1860864758 0.0000000037 -0.0747561678 0.0617360100 0.0123187397 + 0.0000000028 0.2763551772 0.0000000298 -0.0576400161 0.0215785671 -0.4822534621 + -0.0000000149 0.3389307559 -0.0000000671 -0.0000000186 0.0000000410 -0.0000000000 + -0.0778401196 0.2149398178 -0.0016879998 -0.6657993197 0.2976293564 -0.6189424992 + -0.0000000121 0.1860864311 -0.0000000182 -0.1666438133 0.0263967570 -0.1627039015 + 0.0000000000 0.2760954797 0.0000000242 -0.0372276455 0.1285278946 0.1799117178 + 0.0000000149 0.3388733864 0.0000001099 0.0000002040 -0.0000000112 0.0000000158 + 0.1861518174 -0.0983439088 -0.0044584544 0.1013414264 -0.1564285010 0.9819520116 + 0.0000000000 0.3293980062 -0.0000000149 0.1578511298 -0.1835213155 0.0353769287 + -0.0000000147 0.2477990538 -0.0000000289 -0.4967132509 -0.2681210935 -0.0344063565 + 0.0000000056 0.0675943792 0.0000000056 -0.5589932203 -0.0067424071 -0.0481606647 + 0.0000000100 0.0427611098 -0.0000000056 0.0000003139 -0.0000005560 0.0000004990 + -0.1861518174 -0.0983438417 -0.0087781725 0.0435565226 -0.3451727033 -0.9371027350 + -0.0000000171 0.3292638361 0.0000000116 0.1145676598 -0.0250174124 0.0147635555 + 0.0000000031 0.2478393018 -0.0000000144 -0.4783827662 0.1798558235 -0.0409990884 + -0.0000000410 0.0799339041 -0.0000000186 -0.4517089427 0.0204100348 0.0199973118 + -0.0000000075 0.0583351962 -0.0000000210 0.0000000787 0.0000002328 -0.0000002198 +} + +frame 42 { + 0.0277543813 0.7101786733 0.0061333925 -0.0171133727 -0.0582569800 -0.0109527521 + -0.0000000024 0.1770022810 -0.0009516361 -0.0015198287 0.0118365642 -0.0000760243 + 0.0000000001 0.2065057009 -0.0000000064 -0.0084148711 0.0233165696 0.0003276721 + -0.0000000027 0.2360065430 0.0000000078 -0.0084148692 0.0233165622 0.0003276743 + -0.0000000025 0.2655072510 0.0000000094 -0.0216066577 -0.0099461526 0.0189310350 + 0.0000000008 0.3947656751 -0.0401370674 0.0019697309 -0.0068266182 -0.0353061259 + -0.0000000158 1.2101044655 -0.1230351776 -0.0000000022 0.0000000015 -0.0000000019 + 0.0778401271 0.2149245888 0.0011441953 -0.7203896046 -0.2682000101 0.5264800191 + 0.0000000373 0.1860864908 -0.0000001006 -0.0683295429 0.0677175149 0.0017663183 + 0.0000000130 0.2763552666 0.0000000801 -0.0552070774 0.0285710823 -0.4895667136 + -0.0000001341 0.3389307857 -0.0000000820 -0.0000000335 0.0000000317 -0.0000000000 + -0.0778401196 0.2149398476 -0.0016879864 -0.6647016406 0.2990880013 -0.6191909909 + 0.0000000037 0.1860864758 -0.0000001611 -0.1677310616 0.0346704721 -0.1709830761 + 0.0000000261 0.2760954797 -0.0000000075 -0.0389025025 0.1364815682 0.1829289198 + 0.0000000000 0.3388733268 -0.0000000261 0.0000002142 -0.0000000019 0.0000000149 + 0.1861518025 -0.0983438864 -0.0044584563 0.0983894095 -0.1679482460 0.9801613688 + -0.0000000186 0.3293979466 0.0000000075 0.1812720448 -0.1850654483 0.0391902961 + -0.0000000182 0.2477990538 -0.0000000400 -0.4996127486 -0.2692690194 -0.0397144891 + 0.0000000037 0.0675944015 -0.0000000149 -0.5802418590 -0.0199831855 -0.0541685559 + 0.0000000130 0.0427611433 -0.0000000065 0.0000003139 -0.0000005593 0.0000004836 + -0.1861518025 -0.0983438790 -0.0087781716 0.0451055132 -0.3556865156 -0.9330074191 + 0.0000000171 0.3292638659 0.0000000377 0.0794037133 -0.0202183221 0.0141034694 + 0.0000000046 0.2478393614 0.0000000205 -0.4785587490 0.1699617207 -0.0566749610 + -0.0000000112 0.0799339190 -0.0000000087 -0.4558644295 0.0211651828 0.0169633273 + 0.0000000298 0.0583351701 0.0000000609 0.0000001015 0.0000002456 -0.0000002272 +} + +frame 43 { + 0.0273046102 0.7018097639 0.0050632823 -0.0177315194 -0.0626448467 -0.0118454918 + 0.0000000015 0.1770022511 -0.0009516336 -0.0015471274 0.0131576946 -0.0004886952 + 0.0000000027 0.2065057904 0.0000000013 -0.0084697353 0.0254987180 -0.0008917517 + 0.0000000048 0.2360067368 -0.0000000045 -0.0084697399 0.0254987217 -0.0008917467 + -0.0000000014 0.2655071914 0.0000000018 -0.0154939936 -0.0108974744 0.0232023317 + -0.0000000001 0.3947655857 -0.0401371270 -0.0017390226 -0.0061738882 -0.0344306044 + -0.0000000106 1.2101044655 -0.1230351925 -0.0000000002 0.0000000003 -0.0000000000 + 0.0778401345 0.2149246484 0.0011441779 -0.7235593796 -0.2640128136 0.5242730975 + 0.0000000075 0.1860864013 -0.0000001043 -0.0610336736 0.0743385926 -0.0014604285 + 0.0000000112 0.2763552964 0.0000000279 -0.0533062890 0.0327990092 -0.4929466844 + -0.0000000596 0.3389307857 -0.0000000596 -0.0000000130 0.0000000335 -0.0000000112 + -0.0778401121 0.2149399221 -0.0016880017 -0.6620590687 0.3008725345 -0.6222953796 + -0.0000000047 0.1860865057 0.0000000633 -0.1650819927 0.0447137579 -0.1866257042 + 0.0000000373 0.2760955095 -0.0000000307 -0.0373224840 0.1379285157 0.2085390240 + 0.0000000000 0.3388733566 0.0000000782 0.0000002021 -0.0000000037 0.0000000186 + 0.1861518323 -0.0983439460 -0.0044584535 0.0937054306 -0.1776929200 0.9787964225 + -0.0000000075 0.3293979764 0.0000000373 0.1997094601 -0.1836514473 0.0366819650 + -0.0000000140 0.2477990389 0.0000000140 -0.4916441739 -0.2689304054 -0.0375967287 + -0.0000000084 0.0675944239 0.0000000242 -0.6067899466 -0.0425296053 -0.0658368617 + -0.0000000022 0.0427611396 -0.0000000019 0.0000003069 -0.0000005555 0.0000004894 + -0.1861518174 -0.0983439088 -0.0087781698 0.0454645120 -0.3693536818 -0.9276071191 + -0.0000000026 0.3292638958 0.0000000133 0.0864968300 -0.0152676180 0.0140145198 + 0.0000000178 0.2478393018 0.0000000393 -0.4812517464 0.1639006287 -0.0658185929 + 0.0000000149 0.0799339339 -0.0000000140 -0.4432595372 0.0270446241 0.0158460476 + 0.0000000037 0.0583352074 -0.0000000436 0.0000001027 0.0000002407 -0.0000002161 +} + +frame 44 { + 0.0265439451 0.6948063374 0.0024724249 -0.0186505131 -0.0666139275 -0.0115774414 + 0.0000000005 0.1770023108 -0.0009516338 -0.0010714063 0.0142077757 -0.0008718444 + 0.0000000076 0.2065057755 0.0000000006 -0.0075191627 0.0273675602 -0.0017357597 + 0.0000000051 0.2360066473 0.0000000056 -0.0075191474 0.0273675751 -0.0017357569 + -0.0000000041 0.2655073106 0.0000000114 -0.0103726424 -0.0111394785 0.0243846886 + -0.0000000014 0.3947655559 -0.0401370712 -0.0053263963 -0.0060010836 -0.0317803137 + -0.0000000027 1.2101044655 -0.1230352297 0.0000000018 0.0000000001 0.0000000002 + 0.0778401345 0.2149246037 0.0011441906 -0.7232728601 -0.2645007968 0.5241985321 + -0.0000000224 0.1860863566 -0.0000000596 -0.0580973588 0.0798092708 -0.0055422955 + 0.0000000000 0.2763551474 0.0000000577 -0.0535575747 0.0338532589 -0.4932433665 + 0.0000000000 0.3389307857 0.0000000224 -0.0000000205 0.0000000410 -0.0000000037 + -0.0778401196 0.2149400115 -0.0016879846 -0.6614947915 0.3009355664 -0.6234039664 + -0.0000000112 0.1860863715 0.0000000703 -0.1635357440 0.0514426008 -0.2007348686 + 0.0000000037 0.2760954499 0.0000001797 -0.0370151065 0.1379772574 0.2232279181 + 0.0000000000 0.3388734758 0.0000000186 0.0000002026 -0.0000000140 0.0000000168 + 0.1861518323 -0.0983438864 -0.0044584572 0.0970157683 -0.1929204464 0.9753489494 + 0.0000000186 0.3293979764 0.0000000298 0.2014546990 -0.1888049543 0.0303339101 + -0.0000000102 0.2477990240 0.0000000186 -0.4834381938 -0.2679376304 -0.0316145681 + 0.0000000000 0.0675943866 0.0000000093 -0.6215763688 -0.0555694290 -0.0717563778 + -0.0000000140 0.0427612029 -0.0000000037 0.0000003129 -0.0000005555 0.0000004878 + -0.1861518174 -0.0983438715 -0.0087781744 0.0449546240 -0.3839324415 -0.9217013121 + -0.0000000058 0.3292638659 0.0000000224 0.1208163798 -0.0114293173 0.0138205234 + 0.0000000022 0.2478393465 0.0000000197 -0.4786839485 0.1648253500 -0.0665849298 + 0.0000000112 0.0799339041 -0.0000000019 -0.4562006891 0.0372064412 0.0175828114 + 0.0000000037 0.0583352149 0.0000000021 0.0000000823 0.0000002471 -0.0000002179 +} + +frame 45 { + 0.0257832780 0.6878028512 -0.0001184326 -0.0195691865 -0.0705818385 -0.0113091944 + -0.0000000003 0.1770023704 -0.0009516389 -0.0005956806 0.0152578326 -0.0012549927 + -0.0000000038 0.2065058351 -0.0000000023 -0.0065685511 0.0292362906 -0.0025797605 + -0.0000000012 0.2360067964 0.0000000021 -0.0065685213 0.0292362887 -0.0025797577 + -0.0000000011 0.2655071020 -0.0000000150 -0.0052510039 -0.0113811763 0.0255663786 + -0.0000000022 0.3947653472 -0.0401370861 -0.0089136567 -0.0058281617 -0.0291294139 + 0.0000000079 1.2101043463 -0.1230352372 0.0000000019 -0.0000000001 0.0000000013 + 0.0778401271 0.2149244249 0.0011441725 -0.7229860425 -0.2649887502 0.5241237283 + 0.0000000298 0.1860864758 0.0000000186 -0.0551577993 0.0852755830 -0.0096238563 + 0.0000000075 0.2763550878 0.0000000307 -0.0538088195 0.0349074528 -0.4935392737 + 0.0000000745 0.3389307261 -0.0000000186 -0.0000000205 0.0000000419 -0.0000000075 + -0.0778401196 0.2149397135 -0.0016880077 -0.6609286070 0.3009978235 -0.6245108843 + 0.0000000168 0.1860864162 0.0000000161 -0.1619478017 0.0581583194 -0.2147929072 + -0.0000000596 0.2760955095 0.0000000224 -0.0366993770 0.1379946917 0.2378661931 + 0.0000000075 0.3388734460 0.0000000559 0.0000002091 0.0000000102 0.0000000168 + 0.1861518472 -0.0983438492 -0.0044584610 0.1002985761 -0.2080932558 0.9716243148 + -0.0000000298 0.3293980658 -0.0000000522 0.2031854838 -0.1939449012 0.0239836983 + -0.0000000093 0.2477990389 0.0000000130 -0.4751677513 -0.2669090927 -0.0256282259 + 0.0000000242 0.0675943866 -0.0000000224 -0.6359957457 -0.0685764477 -0.0776335225 + -0.0000000020 0.0427612029 -0.0000000019 0.0000003115 -0.0000005579 0.0000004835 + -0.1861518025 -0.0983438492 -0.0087781707 0.0444335975 -0.3984160125 -0.9155669808 + -0.0000000050 0.3292638361 0.0000000140 0.1549903750 -0.0075772423 0.0136098703 + -0.0000000014 0.2478393465 0.0000000407 -0.4761115611 0.1657484472 -0.0673505887 + -0.0000000019 0.0799339414 -0.0000000056 -0.4689950049 0.0473563187 0.0193139371 + 0.0000000112 0.0583351888 -0.0000000024 0.0000000891 0.0000002366 -0.0000002272 +} + +frame 46 { + 0.0249190629 0.6833446622 -0.0034516174 -0.0208713058 -0.0732041076 -0.0096749282 + -0.0000000010 0.1770022660 -0.0009516347 0.0002239249 0.0158340912 -0.0018721836 + 0.0000000002 0.2065058500 -0.0000000019 -0.0049309433 0.0303311776 -0.0039276634 + 0.0000000010 0.2360067964 -0.0000000001 -0.0049309339 0.0303311795 -0.0039276546 + 0.0000000070 0.2655071318 0.0000000024 -0.0011565756 -0.0117496010 0.0275738854 + 0.0000000031 0.3947656751 -0.0401370861 -0.0114991637 -0.0050276979 -0.0272022020 + -0.0000000171 1.2101043463 -0.1230351999 -0.0000000003 -0.0000000001 -0.0000000002 + 0.0778401420 0.2149245888 0.0011441696 -0.7268434167 -0.2597756088 0.5215622187 + 0.0000000075 0.1860864460 -0.0000000764 -0.0487445369 0.0860323757 -0.0022031209 + -0.0000000373 0.2763551772 0.0000000494 -0.0520722233 0.0377112627 -0.4975024462 + 0.0000000298 0.3389308155 0.0000000112 -0.0000000168 0.0000000335 -0.0000000112 + -0.0778401121 0.2149397284 -0.0016879939 -0.6581073403 0.3038343787 -0.6263819337 + 0.0000000014 0.1860864162 -0.0000001239 -0.1629581153 0.0588417947 -0.2224076986 + -0.0000000820 0.2760954797 -0.0000000512 -0.0349424742 0.1391775459 0.2410606593 + 0.0000000149 0.3388733864 0.0000000298 0.0000002007 0.0000000037 0.0000000093 + 0.1861518174 -0.0983439907 -0.0044584554 0.1002223417 -0.2237199098 0.9678594470 + -0.0000000149 0.3293980062 0.0000000075 0.1963295341 -0.1936047077 0.0181341097 + -0.0000000205 0.2477990389 0.0000000512 -0.4614106119 -0.2657902837 -0.0165588893 + 0.0000000056 0.0675944090 -0.0000000391 -0.6399134398 -0.0814322755 -0.0839217007 + -0.0000000319 0.0427611582 0.0000000007 0.0000003101 -0.0000005560 0.0000005106 + -0.1861517876 -0.0983438939 -0.0087781679 0.0441464335 -0.4042490423 -0.9131231904 + -0.0000000002 0.3292638659 0.0000000070 0.1836367548 -0.0041455277 0.0138766216 + -0.0000000009 0.2478392869 -0.0000000221 -0.4552828372 0.1685976088 -0.0664741248 + -0.0000000056 0.0799339190 0.0000000000 -0.4927184880 0.0609366521 0.0253087413 + -0.0000000112 0.0583351552 0.0000000006 0.0000000972 0.0000002400 -0.0000002310 +} + +frame 47 { + 0.0236920752 0.6814902425 -0.0054201279 -0.0224865079 -0.0743334889 -0.0070805638 + -0.0000000005 0.1770023108 -0.0009516322 0.0016750497 0.0159573685 -0.0022787915 + 0.0000000005 0.2065058798 -0.0000000016 -0.0020308143 0.0306362044 -0.0050453069 + -0.0000000036 0.2360065579 -0.0000000023 -0.0020308208 0.0306361746 -0.0050453139 + -0.0000000032 0.2655071616 0.0000000060 -0.0037816991 -0.0114454152 0.0273532998 + 0.0000000019 0.3947655857 -0.0401370823 -0.0098239621 -0.0044712359 -0.0246414021 + -0.0000000031 1.2101043463 -0.1230351552 -0.0000000001 0.0000000002 0.0000000006 + 0.0778401345 0.2149244845 0.0011441754 -0.7287888527 -0.2560371757 0.5230758786 + 0.0000000373 0.1860863715 0.0000000093 -0.0415895022 0.0851114690 0.0030225227 + 0.0000000149 0.2763551772 0.0000001201 -0.0536324047 0.0357980356 -0.4981374741 + -0.0000000447 0.3389307857 0.0000000335 -0.0000000186 0.0000000531 -0.0000000019 + -0.0778401271 0.2149398029 -0.0016879935 -0.6573480368 0.3046392202 -0.6268102527 + 0.0000000023 0.1860864758 0.0000001311 -0.1656827331 0.0582980849 -0.2280513346 + 0.0000000186 0.2760955691 0.0000000279 -0.0321898609 0.1408886611 0.2342552245 + 0.0000000000 0.3388734460 -0.0000000596 0.0000001984 -0.0000000019 0.0000000149 + 0.1861518174 -0.0983439162 -0.0044584572 0.0985213816 -0.2344993353 0.9651720524 + -0.0000000261 0.3293980360 0.0000000075 0.1960775852 -0.1862395257 0.0129169170 + 0.0000000121 0.2477990389 -0.0000000047 -0.4494316280 -0.2660801113 -0.0098201828 + -0.0000000149 0.0675943866 -0.0000000298 -0.6377928257 -0.0814369917 -0.0817389265 + 0.0000000449 0.0427611619 0.0000000049 0.0000003098 -0.0000005567 0.0000004701 + -0.1861518025 -0.0983439535 -0.0087781642 0.0447386168 -0.4041026831 -0.9132983088 + -0.0000000029 0.3292638361 0.0000000093 0.2046047896 -0.0014404459 0.0133681539 + 0.0000000042 0.2478393167 -0.0000000088 -0.4256402850 0.1711577624 -0.0670968518 + 0.0000000317 0.0799338967 0.0000000075 -0.5094832778 0.0577997677 0.0286134649 + 0.0000000224 0.0583351664 -0.0000000425 0.0000001062 0.0000002395 -0.0000002198 +} + +frame 48 { + 0.0218607876 0.6814361215 -0.0063827131 -0.0243663266 -0.0737056285 -0.0037747649 + -0.0000000009 0.1770022511 -0.0009516336 0.0029882391 0.0154902386 -0.0024541896 + 0.0000000021 0.2065057755 -0.0000000005 0.0005926726 0.0300665740 -0.0062831636 + -0.0000000045 0.2360067815 -0.0000000054 0.0005926642 0.0300665442 -0.0062831710 + 0.0000000096 0.2655073404 0.0000000021 -0.0032199998 -0.0106602926 0.0254814457 + -0.0000000018 0.3947657943 -0.0401370823 -0.0103598470 -0.0037799110 -0.0217331816 + -0.0000000104 1.2101047039 -0.1230351925 -0.0000000020 0.0000000004 -0.0000000008 + 0.0778401420 0.2149247974 0.0011441731 -0.7305260301 -0.2534452379 0.5224162340 + 0.0000000298 0.1860864013 -0.0000000093 -0.0382627696 0.0847328827 0.0106987087 + 0.0000000224 0.2763551474 0.0000000754 -0.0559083186 0.0334286354 -0.4973084927 + 0.0000000894 0.3389307857 0.0000000186 -0.0000000205 0.0000000428 -0.0000000056 + -0.0778401121 0.2149400115 -0.0016879987 -0.6565048099 0.3047271073 -0.6284321547 + -0.0000000075 0.1860864609 -0.0000000164 -0.1652000546 0.0611306615 -0.2357463837 + -0.0000000224 0.2760953903 0.0000000047 -0.0285703000 0.1388837099 0.2419325709 + 0.0000000149 0.3388733566 -0.0000000037 0.0000002030 0.0000000084 0.0000000093 + 0.1861518174 -0.0983439013 -0.0044584610 0.0958334431 -0.2229845673 0.9678268433 + 0.0000000075 0.3293980062 0.0000000000 0.2480417937 -0.1702244878 0.0111328112 + -0.0000000019 0.2477990389 0.0000000142 -0.4490534067 -0.2702611685 -0.0149576506 + -0.0000000186 0.0675943941 -0.0000000228 -0.6173495650 -0.0579247996 -0.0671497434 + 0.0000000112 0.0427611358 -0.0000000026 0.0000003092 -0.0000005551 0.0000005076 + -0.1861518025 -0.0983439609 -0.0087781660 0.0456925258 -0.4015085399 -0.9144748449 + -0.0000000007 0.3292638361 0.0000000158 0.2187496275 -0.0006773776 0.0107201813 + -0.0000000066 0.2478393316 -0.0000000149 -0.3852547705 0.1655461043 -0.0816630051 + 0.0000000019 0.0799339116 0.0000000037 -0.4889713824 0.0428433456 0.0237283912 + -0.0000000019 0.0583351590 -0.0000000058 0.0000000983 0.0000002342 -0.0000002254 +} + +frame 49 { + 0.0201799348 0.6847563982 -0.0048024524 -0.0262795258 -0.0714980289 0.0002113608 + -0.0000000012 0.1770023257 -0.0009516347 0.0042009419 0.0144439703 -0.0026333169 + -0.0000000012 0.2065058649 -0.0000000033 0.0030177969 0.0286985170 -0.0077485046 + -0.0000000016 0.2360065877 0.0000000037 0.0030177871 0.0286985170 -0.0077485088 + 0.0000000037 0.2655074596 0.0000000038 -0.0022295429 -0.0096161384 0.0230206400 + -0.0000000027 0.3947655857 -0.0401370823 -0.0111401640 -0.0027436689 -0.0192235578 + -0.0000000027 1.2101044655 -0.1230351999 -0.0000000001 0.0000000004 0.0000000005 + 0.0778401494 0.2149247974 0.0011441724 -0.7297149897 -0.2544892430 0.5231435299 + -0.0000000186 0.1860864758 -0.0000000745 -0.0386402272 0.0841036737 0.0115947090 + 0.0000000000 0.2763551772 -0.0000000680 -0.0602057390 0.0271415170 -0.4897136986 + -0.0000000298 0.3389307261 0.0000000373 -0.0000000205 0.0000000428 -0.0000000075 + -0.0778401271 0.2149399370 -0.0016879915 -0.6554825902 0.3048292100 -0.6303846836 + -0.0000000037 0.1860863715 -0.0000000627 -0.1621167064 0.0633810014 -0.2415400296 + -0.0000000373 0.2760953605 -0.0000000587 -0.0278276261 0.1365062743 0.2530862987 + -0.0000000596 0.3388734162 0.0000000186 0.0000001979 -0.0000000065 0.0000000168 + 0.1861518025 -0.0983439311 -0.0044584554 0.0948905051 -0.1832674742 0.9758784771 + 0.0000000224 0.3293980360 -0.0000000224 0.3546363115 -0.1494255215 0.0115538165 + 0.0000000009 0.2477990687 -0.0000000198 -0.4120484889 -0.2730816603 -0.0104704872 + -0.0000000224 0.0675944090 -0.0000000130 -0.6069840193 -0.0314723849 -0.0467542596 + -0.0000000373 0.0427611209 -0.0000000037 0.0000003241 -0.0000005420 0.0000005178 + -0.1861518025 -0.0983438790 -0.0087781688 0.0461883098 -0.3940078914 -0.9178162813 + -0.0000000203 0.3292639256 0.0000000363 0.2297186553 0.0004788298 0.0061653336 + -0.0000000118 0.2478393167 -0.0000000386 -0.3504793644 0.1644133478 -0.0843568146 + -0.0000000386 0.0799338669 0.0000000186 -0.4434855878 0.0233707875 0.0163915269 + -0.0000000037 0.0583351627 -0.0000000077 0.0000000964 0.0000002431 -0.0000002207 +} + +frame 50 { + 0.0188280679 0.6883106232 -0.0053995010 -0.0278367531 -0.0686222613 0.0048588775 + 0.0000000006 0.1770022810 -0.0009516329 0.0052390057 0.0133149717 -0.0033337823 + -0.0000000008 0.2065058500 0.0000000058 0.0050962847 0.0267608725 -0.0097427126 + -0.0000000005 0.2360068113 -0.0000000045 0.0050962879 0.0267608762 -0.0097427126 + 0.0000000074 0.2655073106 0.0000000003 -0.0018170504 -0.0088172294 0.0222447291 + 0.0000000004 0.3947656751 -0.0401370861 -0.0114485221 -0.0009535994 -0.0183699261 + 0.0000000071 1.2101045847 -0.1230351999 0.0000000018 0.0000000003 0.0000000002 + 0.0778401420 0.2149247378 0.0011441763 -0.7274091244 -0.2573310137 0.5254982114 + 0.0000000000 0.1860862970 -0.0000001267 -0.0419618972 0.0828404352 0.0062545962 + 0.0000000149 0.2763552666 0.0000000251 -0.0650837272 0.0179504044 -0.4753405750 + 0.0000000894 0.3389307559 0.0000001155 -0.0000000130 0.0000000410 -0.0000000168 + -0.0778401196 0.2149399668 -0.0016879931 -0.6561176777 0.3053235114 -0.6283683181 + -0.0000000005 0.1860863119 -0.0000000561 -0.1630569845 0.0605232641 -0.2435249835 + 0.0000000335 0.2760955691 0.0000000829 -0.0292988941 0.1344258338 0.2527883947 + 0.0000000000 0.3388733864 0.0000000671 0.0000002328 -0.0000000056 0.0000000093 + 0.1861518323 -0.0983438939 -0.0044584665 0.0886757895 -0.1706984341 0.9783687592 + -0.0000000335 0.3293979168 0.0000000000 0.3988252878 -0.1267306805 0.0102259647 + -0.0000000338 0.2477990091 0.0000000456 -0.4019855559 -0.2711654007 0.0042316075 + -0.0000000056 0.0675944239 -0.0000000112 -0.5663021207 -0.0205482617 -0.0385633446 + -0.0000000261 0.0427611992 0.0000000084 0.0000003045 -0.0000005579 0.0000005104 + -0.1861518025 -0.0983439237 -0.0087781707 0.0462636463 -0.3828848600 -0.9225932360 + 0.0000000105 0.3292638659 0.0000000065 0.2341158837 0.0010609664 0.0017658350 + 0.0000000017 0.2478393018 -0.0000000289 -0.3262773752 0.1639061272 -0.0841321647 + 0.0000000098 0.0799339041 0.0000000186 -0.3861450851 0.0023798246 0.0080088023 + 0.0000000203 0.0583351962 -0.0000000006 0.0000001043 0.0000002389 -0.0000002313 +} + +frame 51 { + 0.0176164843 0.6941003203 -0.0062829424 -0.0286315102 -0.0654918626 0.0094416905 + 0.0000000019 0.1770022810 -0.0009516336 0.0056374348 0.0119895227 -0.0041516563 + 0.0000000036 0.2065057307 -0.0000000040 0.0058987308 0.0245069228 -0.0119120460 + -0.0000000013 0.2360066622 -0.0000000026 0.0058987159 0.0245069284 -0.0119120590 + -0.0000000021 0.2655072808 -0.0000000052 0.0015309622 -0.0080235507 0.0221371073 + 0.0000000013 0.3947655559 -0.0401370861 -0.0132145360 0.0013333187 -0.0186193828 + -0.0000000010 1.2101045847 -0.1230351850 -0.0000000001 0.0000000005 0.0000000004 + 0.0778401271 0.2149246931 0.0011441739 -0.7251466513 -0.2605419755 0.5266793370 + 0.0000000000 0.1860864460 0.0000000168 -0.0482403822 0.0818255693 -0.0021129977 + 0.0000000298 0.2763552070 0.0000001313 -0.0685807616 0.0075771804 -0.4552355409 + 0.0000000596 0.3389307857 0.0000001416 -0.0000000261 0.0000000224 -0.0000000056 + -0.0778401121 0.2149398476 -0.0016879961 -0.6596242785 0.3011447191 -0.6269971728 + 0.0000000028 0.1860864311 0.0000000608 -0.1548435390 0.0552339852 -0.2480594069 + -0.0000000224 0.2760954797 -0.0000000177 -0.0344127864 0.1293442249 0.2629822493 + 0.0000000149 0.3388735056 -0.0000000633 0.0000001965 -0.0000000047 0.0000000205 + 0.1861518174 -0.0983438864 -0.0044584591 0.0844099000 -0.1522052735 0.9815468192 + 0.0000000149 0.3293980658 0.0000000075 0.4422889650 -0.0948960558 0.0023159257 + 0.0000000061 0.2477990687 -0.0000000121 -0.3861489594 -0.2663160264 0.0262405295 + 0.0000000000 0.0675944015 -0.0000000112 -0.5261663198 -0.0206554886 -0.0235835090 + -0.0000000224 0.0427612104 0.0000000391 0.0000002868 -0.0000005597 0.0000005234 + -0.1861518025 -0.0983439311 -0.0087781642 0.0469793342 -0.3663773835 -0.9292783141 + 0.0000000102 0.3292638361 -0.0000000158 0.2334100008 0.0016138796 -0.0015578978 + -0.0000000270 0.2478393167 0.0000000135 -0.3154336512 0.1648146063 -0.0816870406 + -0.0000000106 0.0799339041 0.0000000149 -0.3699338436 -0.0019236815 0.0062074726 + -0.0000000024 0.0583351664 0.0000000024 0.0000000972 0.0000002398 -0.0000002323 +} + +frame 52 { + 0.0156355463 0.7023747563 -0.0065824222 -0.0283442959 -0.0625154302 0.0131659871 + -0.0000000014 0.1770023406 -0.0009516347 0.0053658746 0.0104656899 -0.0043870285 + -0.0000000003 0.2065058351 0.0000000023 0.0053653996 0.0221460406 -0.0133635728 + -0.0000000037 0.2360067070 -0.0000000001 0.0053653885 0.0221460313 -0.0133635728 + 0.0000000019 0.2655073404 0.0000000008 0.0081337839 -0.0065512387 0.0192858484 + -0.0000000006 0.3947655559 -0.0401370786 -0.0171743985 0.0034224489 -0.0180153977 + 0.0000000003 1.2101045847 -0.1230351925 -0.0000000008 -0.0000000000 0.0000000010 + 0.0778401345 0.2149246931 0.0011441765 -0.7263116241 -0.2587732971 0.5263679624 + 0.0000000112 0.1860863417 -0.0000000987 -0.0463595577 0.0796588957 -0.0057019480 + 0.0000000000 0.2763551772 -0.0000000168 -0.0722100213 -0.0027062322 -0.4398987591 + 0.0000000000 0.3389307857 -0.0000000298 -0.0000000224 0.0000000391 -0.0000000112 + -0.0778401121 0.2149399370 -0.0016879921 -0.6622512937 0.3004749417 -0.6224010587 + -0.0000000177 0.1860864460 0.0000000906 -0.1576396674 0.0418773890 -0.2441291064 + 0.0000000224 0.2760955989 0.0000000801 -0.0386472940 0.1242536306 0.2554716766 + 0.0000000000 0.3388733566 -0.0000000335 0.0000002095 0.0000000019 0.0000000158 + 0.1861518323 -0.0983438939 -0.0044584591 0.0818257704 -0.1262954921 0.9852524996 + 0.0000000075 0.3293980062 0.0000000075 0.4862888157 -0.0702879727 -0.0038647850 + -0.0000000093 0.2477990687 0.0000000149 -0.3537300825 -0.2650919557 0.0336336046 + 0.0000000149 0.0675943792 -0.0000000075 -0.5056189299 -0.0153266378 -0.0152124576 + -0.0000000298 0.0427611396 0.0000000298 0.0000003194 -0.0000005523 0.0000005029 + -0.1861518025 -0.0983439013 -0.0087781716 -0.0468956903 0.3486647010 0.9360459447 + -0.0000000033 0.3292638958 0.0000000237 0.2415077090 0.0021149295 -0.0025981201 + 0.0000000102 0.2478392869 -0.0000000065 -0.3304107487 0.1694656610 -0.0714426264 + -0.0000000072 0.0799338967 -0.0000000075 -0.3874478638 0.0060880929 0.0091982475 + -0.0000000051 0.0583352037 0.0000000010 0.0000000976 0.0000002380 -0.0000002437 +} + +frame 53 { + 0.0133966720 0.7119659185 -0.0064499993 -0.0268644691 -0.0596917532 0.0154642900 + 0.0000000001 0.1770023108 -0.0009516325 0.0050809975 0.0086490856 -0.0038846240 + 0.0000000027 0.2065057009 -0.0000000023 0.0048137144 0.0198499300 -0.0140230358 + 0.0000000015 0.2360066921 -0.0000000047 0.0048137088 0.0198499113 -0.0140230432 + 0.0000000058 0.2655071616 0.0000000042 0.0105807018 -0.0047449809 0.0149482200 + -0.0000000005 0.3947654665 -0.0401370823 -0.0192935411 0.0054392954 -0.0170450024 + 0.0000000030 1.2101048231 -0.1230351850 0.0000000019 0.0000000000 0.0000000002 + 0.0778401271 0.2149245441 0.0011441777 -0.7234108448 -0.2623707056 0.5291378498 + 0.0000000410 0.1860865355 0.0000001062 -0.0501741543 0.0792743713 -0.0176816117 + 0.0000000000 0.2763551474 0.0000000112 -0.0783399791 -0.0179334488 -0.4152306616 + 0.0000000000 0.3389308453 0.0000000671 -0.0000000112 0.0000000279 -0.0000000075 + -0.0778401047 0.2149399221 -0.0016879966 -0.6672779918 0.2944126725 -0.6203605533 + 0.0000000019 0.1860865951 0.0000000382 -0.1488806456 0.0289263278 -0.2474492639 + 0.0000000484 0.2760955095 -0.0000000019 -0.0455898643 0.1155117750 0.2639344931 + 0.0000000149 0.3388732374 -0.0000000317 0.0000002107 -0.0000000056 0.0000000100 + 0.1861518323 -0.0983438864 -0.0044584591 0.0816450492 -0.0932725593 0.9889961481 + -0.0000000224 0.3293980360 0.0000000149 0.5314694047 -0.0485609211 -0.0112972828 + -0.0000000559 0.2477990687 0.0000000186 -0.3205316067 -0.2698010504 0.0197770875 + 0.0000000019 0.0675944164 0.0000000261 -0.5025274158 -0.0005194793 -0.0042555123 + -0.0000000075 0.0427611656 -0.0000000522 0.0000003134 -0.0000005569 0.0000004820 + -0.1861518174 -0.0983439237 -0.0087781688 -0.0494986475 0.3300677538 0.9425247312 + 0.0000000065 0.3292639554 0.0000000113 0.2534994781 0.0058316747 -0.0024085767 + 0.0000000009 0.2478392720 -0.0000000093 -0.3527174890 0.1743435115 -0.0605349280 + -0.0000000194 0.0799338892 0.0000000261 -0.3952082694 0.0095114624 0.0106929708 + -0.0000000084 0.0583351329 0.0000000017 0.0000000991 0.0000002377 -0.0000002310 +} + +frame 54 { + 0.0115795797 0.7220494747 -0.0071331318 -0.0243527144 -0.0570837297 0.0161919612 + -0.0000000003 0.1770023108 -0.0009516336 0.0042939889 0.0067675672 -0.0029248935 + -0.0000000031 0.2065059394 0.0000000037 0.0032643680 0.0175487995 -0.0142524857 + 0.0000000010 0.2360066324 0.0000000002 0.0032643592 0.0175487809 -0.0142524829 + -0.0000000009 0.2655072808 0.0000000027 0.0143690975 -0.0031167443 0.0115859462 + -0.0000000002 0.3947655857 -0.0401370823 -0.0223181583 0.0078136316 -0.0167691726 + -0.0000000031 1.2101047039 -0.1230351925 0.0000000016 -0.0000000003 0.0000000008 + 0.0778401271 0.2149247676 0.0011441738 -0.7222551107 -0.2642711103 0.5290570855 + 0.0000000000 0.1860865057 -0.0000001034 -0.0559584983 0.0778304040 -0.0271518081 + -0.0000000224 0.2763551474 -0.0000000298 -0.0808130205 -0.0326874368 -0.3887432218 + -0.0000000447 0.3389307857 -0.0000000298 -0.0000000224 0.0000000335 -0.0000000075 + -0.0778401121 0.2149399370 -0.0016879913 -0.6704267859 0.2913020551 -0.6180101037 + -0.0000000093 0.1860864311 0.0000000389 -0.1449680179 0.0152222179 -0.2419156432 + -0.0000000373 0.2760953307 0.0000000237 -0.0509079397 0.1086085886 0.2649798989 + -0.0000000075 0.3388734460 -0.0000000261 0.0000001985 -0.0000000019 0.0000000168 + 0.1861518174 -0.0983438939 -0.0044584572 0.0774215460 -0.0563626960 0.9925426245 + -0.0000000037 0.3293980360 0.0000000112 0.5737635493 -0.0364939384 -0.0147235524 + -0.0000000112 0.2477990538 0.0000000354 -0.3095033467 -0.2765706480 -0.0030323237 + 0.0000000037 0.0675944164 -0.0000000075 -0.5006561279 0.0245501809 0.0011656965 + -0.0000000224 0.0427611470 0.0000000624 0.0000003129 -0.0000005551 0.0000005001 + -0.1861518025 -0.0983439460 -0.0087781670 -0.0543800332 0.3035686016 0.9509947896 + 0.0000000072 0.3292638361 0.0000000073 0.2520068288 0.0124347061 -0.0026840763 + -0.0000000107 0.2478393167 -0.0000000107 -0.3729420602 0.1776811481 -0.0528861247 + -0.0000000142 0.0799338967 0.0000000112 -0.3960424662 0.0096061416 0.0110178748 + 0.0000000063 0.0583351515 0.0000000030 0.0000001012 0.0000002382 -0.0000002387 +} + +frame 55 { + 0.0104325823 0.7319670320 -0.0069171321 -0.0210941900 -0.0544106886 0.0153903114 + 0.0000000055 0.1770022660 -0.0009516299 0.0036035264 0.0052264244 -0.0018303959 + -0.0000000011 0.2065057904 -0.0000000037 0.0019052026 0.0150174461 -0.0135973692 + -0.0000000010 0.2360068709 0.0000000010 0.0019052022 0.0150174443 -0.0135973673 + 0.0000000015 0.2655071914 0.0000000042 0.0133735426 -0.0016908976 0.0091994284 + 0.0000000010 0.3947656453 -0.0401370823 -0.0230225585 0.0104167536 -0.0168593731 + 0.0000000144 1.2101044655 -0.1230351925 -0.0000000012 0.0000000003 -0.0000000002 + 0.0778401271 0.2149246037 0.0011441761 -0.7219554782 -0.2644781470 0.5297500491 + -0.0000000037 0.1860865206 0.0000000289 -0.0615700223 0.0772429258 -0.0323190019 + 0.0000000298 0.2763552070 -0.0000000545 -0.0828921720 -0.0471242741 -0.3622296453 + 0.0000000149 0.3389308453 -0.0000000820 -0.0000000335 0.0000000298 -0.0000000075 + -0.0778401121 0.2149398029 -0.0016879898 -0.6719297767 0.2902928889 -0.6161780357 + 0.0000000019 0.1860863864 -0.0000002338 -0.1441334039 0.0076665953 -0.2281066477 + -0.0000000186 0.2760956585 0.0000000503 -0.0532126501 0.1045003310 0.2634286582 + 0.0000000000 0.3388735354 -0.0000000149 0.0000001877 -0.0000000049 0.0000000130 + 0.1861518323 -0.0983439684 -0.0044584535 0.0752911866 -0.0215327740 0.9944407940 + -0.0000000335 0.3293979466 -0.0000000037 0.5970001221 -0.0348554775 -0.0120150922 + -0.0000000168 0.2477990836 0.0000000149 -0.3239134848 -0.2790440619 -0.0134645123 + -0.0000000075 0.0675944239 0.0000000112 -0.4944718182 0.0365797058 0.0002543994 + -0.0000000019 0.0427611098 0.0000000242 0.0000003008 -0.0000005635 0.0000004848 + -0.1861518174 -0.0983438864 -0.0087781688 -0.0582935475 0.2698687613 0.9607939720 + -0.0000000026 0.3292638361 0.0000000119 0.2397137135 0.0192471929 -0.0036861498 + 0.0000000075 0.2478393018 0.0000000012 -0.3922075033 0.1802600622 -0.0465385653 + 0.0000000044 0.0799339041 -0.0000000037 -0.3926701248 0.0077860616 0.0105065126 + -0.0000000207 0.0583351851 -0.0000000029 0.0000001038 0.0000002356 -0.0000002368 +} + +frame 56 { + 0.0092855860 0.7418845892 -0.0067011323 -0.0178352799 -0.0517366342 0.0145883765 + -0.0000000019 0.1770024002 -0.0009516346 0.0029130508 0.0036852560 -0.0007358943 + -0.0000000004 0.2065058649 0.0000000002 0.0005460195 0.0124859698 -0.0129421344 + -0.0000000007 0.2360065877 -0.0000000003 0.0005460287 0.0124859717 -0.0129421344 + 0.0000000017 0.2655072510 0.0000000008 0.0123778721 -0.0002650347 0.0068128309 + -0.0000000029 0.3947654963 -0.0401370823 -0.0237267949 0.0130198095 -0.0169494599 + -0.0000000033 1.2101042271 -0.1230352223 0.0000000013 -0.0000000000 0.0000000004 + 0.0778401345 0.2149245888 0.0011441745 -0.7216551304 -0.2646849751 0.5304425359 + 0.0000000075 0.1860865653 0.0000000102 -0.0671778917 0.0766509250 -0.0374842882 + 0.0000000075 0.2763552368 0.0000000140 -0.0848871768 -0.0615133420 -0.3353484869 + 0.0000000149 0.3389306664 -0.0000000596 -0.0000000149 0.0000000410 -0.0000000112 + -0.0778401196 0.2149398327 -0.0016879935 -0.6734269261 0.2892812192 -0.6143407822 + -0.0000000075 0.1860863864 0.0000000237 -0.1432612091 0.0001090095 -0.2142380178 + 0.0000000596 0.2760955095 -0.0000000377 -0.0555159263 0.1003894433 0.2618706524 + 0.0000000102 0.3388734162 0.0000000671 0.0000002137 -0.0000000036 0.0000000158 + 0.1861518174 -0.0983438939 -0.0044584591 0.0730670020 0.0133239748 0.9950992465 + 0.0000000410 0.3293980062 -0.0000000016 0.6197423935 -0.0331881493 -0.0092967041 + 0.0000000019 0.2477990836 0.0000000335 -0.3382079005 -0.2814177871 -0.0238919109 + -0.0000000075 0.0675943941 -0.0000000186 -0.4881918430 0.0486021452 -0.0006569435 + 0.0000000130 0.0427611545 0.0000000130 0.0000003204 -0.0000005597 0.0000004899 + -0.1861518025 -0.0983439609 -0.0087781660 -0.0621338263 0.2358297706 0.9693855643 + 0.0000000112 0.3292638361 0.0000000014 0.2273708284 0.0260556806 -0.0046874629 + 0.0000000084 0.2478393316 -0.0000000113 -0.4112819731 0.1827511638 -0.0401683189 + 0.0000000058 0.0799338967 0.0000000037 -0.3892909288 0.0059658512 0.0099950023 + -0.0000000114 0.0583351627 0.0000000044 0.0000001002 0.0000002371 -0.0000002300 +} + +frame 57 { + 0.0082982518 0.7503269911 -0.0067441110 -0.0147543913 -0.0479369797 0.0127712181 + -0.0000000004 0.1770023257 -0.0009516333 0.0021097483 0.0022023576 0.0004507727 + 0.0000000030 0.2065059245 0.0000000041 -0.0010388417 0.0094192130 -0.0116709219 + -0.0000000004 0.2360066473 0.0000000009 -0.0010388391 0.0094192149 -0.0116709266 + 0.0000000018 0.2655071616 0.0000000018 0.0121764028 0.0008977635 0.0057565374 + -0.0000000021 0.3947656751 -0.0401370823 -0.0253544040 0.0158398803 -0.0171327516 + -0.0000000191 1.2101047039 -0.1230352074 0.0000000017 0.0000000003 0.0000000011 + 0.0778401494 0.2149244845 0.0011441736 -0.7233601809 -0.2617578208 0.5308603644 + -0.0000000112 0.1860864311 0.0000000047 -0.0688805729 0.0798674151 -0.0303651206 + 0.0000000075 0.2763551474 -0.0000000363 -0.0897083506 -0.0702521056 -0.3192568421 + -0.0000000596 0.3389307559 -0.0000000298 -0.0000000224 0.0000000075 0.0000000149 + -0.0778401271 0.2149397582 -0.0016879940 -0.6734642386 0.2905637920 -0.6123579741 + -0.0000000019 0.1860866249 0.0000000973 -0.1437152773 -0.0044980235 -0.1956226975 + 0.0000000186 0.2760956287 0.0000000177 -0.0583742708 0.0967556164 0.2618060410 + 0.0000000428 0.3388733864 -0.0000000447 0.0000002095 -0.0000000065 0.0000000135 + 0.1861518323 -0.0983439237 -0.0044584591 0.0669272467 0.0483399518 0.9949855208 + -0.0000000051 0.3293980062 0.0000000028 0.6302598715 -0.0319557786 -0.0047154725 + -0.0000000075 0.2477990687 0.0000000522 -0.3663515449 -0.2828288376 -0.0324122272 + -0.0000000168 0.0675944164 -0.0000000149 -0.4842981696 0.0600736886 -0.0023152784 + 0.0000000056 0.0427611321 -0.0000000093 0.0000002887 -0.0000005672 0.0000004871 + -0.1861518174 -0.0983439386 -0.0087781660 -0.0646299422 0.2021853626 0.9767758250 + 0.0000000081 0.3292639256 -0.0000000070 0.2123202085 0.0332649872 -0.0062333136 + 0.0000000135 0.2478393167 -0.0000000191 -0.4249276221 0.1839312762 -0.0363218859 + 0.0000000076 0.0799338818 -0.0000000186 -0.3879581392 0.0052071079 0.0098782629 + 0.0000000065 0.0583351701 -0.0000000007 0.0000000952 0.0000002400 -0.0000002365 +} + +frame 58 { + 0.0074097048 0.7569062710 -0.0068279877 -0.0122189438 -0.0430582911 0.0111455377 + 0.0000000002 0.1770022362 -0.0009516325 0.0015338103 0.0007068861 0.0013080769 + -0.0000000011 0.2065058798 -0.0000000005 -0.0021755593 0.0059505240 -0.0099701388 + 0.0000000001 0.2360066026 -0.0000000015 -0.0021755528 0.0059505207 -0.0099701388 + -0.0000000009 0.2655072510 0.0000000109 0.0104566226 0.0020048958 0.0050737383 + -0.0000000003 0.3947657347 -0.0401370823 -0.0263890736 0.0185801871 -0.0169521738 + 0.0000000058 1.2101045847 -0.1230352223 0.0000000016 0.0000000005 0.0000000015 + 0.0778401345 0.2149248570 0.0011441782 -0.7236732841 -0.2606965601 0.5321893096 + 0.0000000000 0.1860865206 -0.0000000703 -0.0720142201 0.0845320746 -0.0187491868 + -0.0000000224 0.2763551772 -0.0000001909 -0.0956915915 -0.0767809898 -0.3076722622 + -0.0000000745 0.3389307857 -0.0000001043 -0.0000000335 0.0000000335 0.0000000149 + -0.0778401196 0.2149398476 -0.0016879865 -0.6733870506 0.2922274470 -0.6100234985 + 0.0000000056 0.1860864013 -0.0000000978 -0.1427897811 -0.0109663988 -0.1782482713 + 0.0000000075 0.2760955393 -0.0000000959 -0.0647298396 0.0915276483 0.2619378567 + 0.0000000321 0.3388733268 -0.0000000134 0.0000002002 -0.0000000168 0.0000000102 + 0.1861518323 -0.0983439237 -0.0044584535 0.0642048419 0.0781159475 0.9936038256 + -0.0000000347 0.3293979764 -0.0000000075 0.6300843358 -0.0262661446 -0.0035994472 + -0.0000000140 0.2477990538 -0.0000000056 -0.4010139704 -0.2771889865 -0.0213947501 + 0.0000000112 0.0675943792 0.0000000112 -0.4755384028 0.0488400273 -0.0005673760 + 0.0000000037 0.0427611396 -0.0000000112 0.0000003381 -0.0000005607 0.0000004862 + -0.1861518025 -0.0983438864 -0.0087781679 -0.0668737590 0.1708031297 0.9825797677 + 0.0000000086 0.3292638063 0.0000000093 0.1996025592 0.0410636626 -0.0075538973 + 0.0000000077 0.2478393018 0.0000000061 -0.4385397434 0.1856959760 -0.0311824922 + -0.0000000168 0.0799339116 -0.0000000037 -0.3877292573 0.0050663310 0.0098654805 + -0.0000000026 0.0583351552 -0.0000000029 0.0000000997 0.0000002368 -0.0000002278 +} + +frame 59 { + 0.0068441508 0.7626317739 -0.0056581143 -0.0103592621 -0.0371085554 0.0095850443 + 0.0000000019 0.1770023704 -0.0009516345 0.0015406457 -0.0008338151 0.0021777276 + 0.0000000033 0.2065057606 -0.0000000007 -0.0021486017 0.0021742028 -0.0079758046 + -0.0000000030 0.2360066772 -0.0000000041 -0.0021485994 0.0021741977 -0.0079758065 + -0.0000000024 0.2655070722 0.0000000078 0.0030568317 0.0030350413 0.0048687598 + -0.0000000012 0.3947658241 -0.0401370823 -0.0241984855 0.0211340319 -0.0165211055 + 0.0000000068 1.2101044655 -0.1230352223 0.0000000021 0.0000000005 0.0000000015 + 0.0778401271 0.2149244249 0.0011441791 -0.7194254398 -0.2657043040 0.5366521478 + -0.0000000149 0.1860865206 0.0000001006 -0.0837648958 0.0913216695 -0.0086630583 + 0.0000000000 0.2763552666 -0.0000001407 -0.0984988064 -0.0831848606 -0.2918091416 + 0.0000000149 0.3389308453 0.0000001118 -0.0000000000 0.0000000261 0.0000000112 + -0.0778401196 0.2149398029 -0.0016879891 -0.6749756932 0.2926354110 -0.6057118773 + -0.0000000261 0.1860865057 0.0000000191 -0.1407663524 -0.0228512771 -0.1662477404 + -0.0000000745 0.2760953605 -0.0000000547 -0.0746138766 0.0843065828 0.2575826049 + -0.0000000056 0.3388734162 0.0000000186 0.0000002095 -0.0000000168 0.0000000149 + 0.1861518174 -0.0983438641 -0.0044584563 0.0640999153 0.1066684946 0.9911663532 + -0.0000000065 0.3293979466 0.0000000000 0.6232311130 -0.0216892213 -0.0022445628 + -0.0000000065 0.2477990836 0.0000000093 -0.4219030738 -0.2666741908 0.0049456870 + 0.0000000037 0.0675943866 -0.0000000075 -0.4741801918 0.0207000170 -0.0032979196 + 0.0000000000 0.0427611582 0.0000000056 0.0000003185 -0.0000005653 0.0000004992 + -0.1861517876 -0.0983438268 -0.0087781670 -0.0696661621 0.1379823983 0.9875273705 + 0.0000000014 0.3292638659 0.0000000009 0.1831955016 0.0505755544 -0.0088562444 + 0.0000000123 0.2478393316 -0.0000000009 -0.4503660500 0.1874278635 -0.0261684824 + 0.0000000031 0.0799338967 0.0000000037 -0.3880111277 0.0052441047 0.0098584304 + -0.0000000102 0.0583351701 -0.0000000034 0.0000001026 0.0000002380 -0.0000002281 +} + +frame 60 { + 0.0066259904 0.7672243118 -0.0054335538 -0.0091267582 -0.0303288046 0.0081739165 + -0.0000000012 0.1770022959 -0.0009516331 0.0010870188 -0.0024321589 0.0027801546 + -0.0000000006 0.2065056860 0.0000000014 -0.0030412178 -0.0018421877 -0.0064574187 + 0.0000000010 0.2360066921 0.0000000009 -0.0030412164 -0.0018421845 -0.0064574215 + -0.0000000031 0.2655071914 0.0000000055 0.0015622914 0.0032911117 0.0082448833 + 0.0000000009 0.3947659135 -0.0401370861 -0.0251240209 0.0242919996 -0.0172829740 + 0.0000000051 1.2101044655 -0.1230351999 0.0000000001 -0.0000000003 0.0000000006 + 0.0778401345 0.2149244845 0.0011441777 -0.7176806331 -0.2674528956 0.5391428471 + 0.0000000224 0.1860865206 -0.0000000494 -0.0929247811 0.0920252427 0.0097507359 + 0.0000000000 0.2763551772 0.0000000853 -0.0953899696 -0.0851468295 -0.2906797826 + 0.0000000000 0.3389308453 -0.0000000261 -0.0000000224 0.0000000335 -0.0000000112 + -0.0778401196 0.2149396986 -0.0016879910 -0.6744634509 0.2959953547 -0.6015549898 + -0.0000000037 0.1860865206 -0.0000000689 -0.1376286894 -0.0480288938 -0.1544502228 + 0.0000000130 0.2760954499 0.0000000360 -0.0922923088 0.0748896226 0.2470783144 + 0.0000000075 0.3388732076 -0.0000000382 0.0000001928 -0.0000000065 0.0000000075 + 0.1861518025 -0.0983439013 -0.0044584582 0.0633690581 0.1361641437 0.9877592921 + -0.0000000056 0.3293980360 -0.0000000037 0.6130381227 -0.0166307744 0.0005482050 + -0.0000000140 0.2477990687 -0.0000000596 -0.4533219039 -0.2525115609 0.0393729359 + -0.0000000037 0.0675944090 0.0000000037 -0.4535809457 -0.0071494244 -0.0036736852 + 0.0000000093 0.0427611433 0.0000000065 0.0000003031 -0.0000005625 0.0000004992 + -0.1861518025 -0.0983439386 -0.0087781660 -0.0715492368 0.1054119170 0.9914184809 + -0.0000000191 0.3292638063 0.0000000028 0.1627262235 0.0601309948 -0.0099361669 + -0.0000000130 0.2478393465 0.0000000033 -0.4588916898 0.1887685061 -0.0224401746 + -0.0000000105 0.0799338967 0.0000000186 -0.3884511292 0.0055295797 0.0098508727 + 0.0000000016 0.0583351627 0.0000000019 0.0000001004 0.0000002372 -0.0000002442 +} + +frame 61 { + 0.0058503188 0.7704677582 -0.0048821010 -0.0086344611 -0.0225505047 0.0070268563 + 0.0000000003 0.1770024002 -0.0009516344 0.0009045101 -0.0040692436 0.0038613288 + 0.0000000007 0.2065057158 0.0000000013 -0.0033855762 -0.0060042860 -0.0043890141 + -0.0000000004 0.2360068113 -0.0000000035 -0.0033855813 -0.0060042995 -0.0043890118 + -0.0000000023 0.2655071020 0.0000000001 -0.0026922210 0.0039511588 0.0105528999 + 0.0000000058 0.3947654665 -0.0401370749 -0.0235009175 0.0268053152 -0.0160073861 + 0.0000000002 1.2101047039 -0.1230351925 0.0000000019 0.0000000000 0.0000000000 + 0.0778401345 0.2149245143 0.0011441726 -0.7156860828 -0.2697965205 0.5411211848 + -0.0000000019 0.1860864460 0.0000001071 -0.1015061513 0.0861559063 0.0369906835 + 0.0000000084 0.2763552964 0.0000002293 -0.0879928172 -0.0835360140 -0.3043875396 + 0.0000000447 0.3389308155 0.0000000335 -0.0000000224 0.0000000373 -0.0000000075 + -0.0778401196 0.2149397135 -0.0016879956 -0.6741982102 0.2987589240 -0.5976017118 + -0.0000000037 0.1860864758 -0.0000000708 -0.1316784620 -0.0834346786 -0.1467200071 + 0.0000000093 0.2760955989 0.0000000572 -0.1178873703 0.0614951327 0.2305465192 + -0.0000000037 0.3388733566 -0.0000000936 0.0000001970 -0.0000000112 -0.0000000000 + 0.1861518174 -0.0983438939 -0.0044584582 0.0669170469 0.1714290828 0.9821910262 + 0.0000000186 0.3293979764 -0.0000000037 0.6008624434 -0.0110959345 0.0017876340 + -0.0000000168 0.2477990389 0.0000000130 -0.4581562281 -0.2472454458 0.0519816652 + 0.0000000075 0.0675943941 0.0000000140 -0.4486360550 -0.0152796926 0.0000862330 + -0.0000000168 0.0427611619 -0.0000000056 0.0000003059 -0.0000005476 0.0000004806 + -0.1861518174 -0.0983438939 -0.0087781660 -0.0725823864 0.0732451603 0.9942475557 + -0.0000000037 0.3292639554 -0.0000000037 0.1407798231 0.0699301213 -0.0103528118 + 0.0000000301 0.2478393018 -0.0000000014 -0.4663497508 0.1899605393 -0.0191563703 + 0.0000000040 0.0799338967 -0.0000000037 -0.3888242245 0.0057526338 0.0098785339 + 0.0000000165 0.0583351627 0.0000000030 0.0000001004 0.0000002398 -0.0000002237 +} + diff --git a/models/superlab/superlab_mixer.mtl.obj b/models/superlab/superlab_mixer.mtl.obj index 06e8703..4906190 100644 --- a/models/superlab/superlab_mixer.mtl.obj +++ b/models/superlab/superlab_mixer.mtl.obj @@ -1,469 +1,469 @@ -# Blender 3.6.0 -# www.blender.org -mtllib superlab_mixer.mtl.mtl -o Cube.001 -v -0.335186 0.361013 -0.799515 -v -0.335186 0.062186 -0.799515 -v -0.334355 0.361013 0.388377 -v -0.334355 0.062186 0.388377 -v -0.688988 0.361013 -0.804624 -v -0.688988 0.062186 -0.804624 -v -0.699324 0.361013 0.386766 -v -0.699324 0.062186 0.386766 -v -0.345733 0.230334 0.807128 -v -0.330207 0.065097 0.798360 -v -0.345733 0.230334 0.378333 -v -0.330207 0.065097 0.387156 -v 0.412527 0.230334 0.804432 -v 0.396946 0.065097 0.795775 -v 0.409832 0.230334 0.383724 -v 0.394362 0.065097 0.392326 -v 0.386225 0.516466 0.520989 -v 0.396250 0.516466 0.617589 -v 0.360234 0.241310 0.707783 -v 0.360234 0.516466 0.707783 -v 0.286428 0.241310 0.770908 -v 0.286428 0.516466 0.770908 -v 0.191741 0.241310 0.792504 -v 0.191741 0.516466 0.792504 -v 0.097864 0.241310 0.767622 -v 0.097864 0.516466 0.767622 -v 0.026302 0.241310 0.701963 -v 0.026302 0.516466 0.701963 -v -0.006549 0.241310 0.610569 -v -0.006549 0.516466 0.610569 -v 0.006836 0.241310 0.514377 -v 0.006836 0.516466 0.514377 -v 0.063390 0.241310 0.435424 -v 0.063390 0.516466 0.435424 -v 0.150158 0.241310 0.391796 -v 0.150158 0.516466 0.391796 -v 0.247262 0.241310 0.393488 -v 0.247262 0.516466 0.393488 -v 0.332457 0.516466 0.440113 -v 0.088987 0.733116 -0.380707 -v 0.261721 0.733116 -0.314054 -v 0.383694 0.733116 -0.174762 -v 0.426963 0.733116 0.005258 -v 0.381617 0.733116 0.184767 -v 0.258043 0.733116 0.322640 -v 0.084551 0.733116 0.387294 -v -0.099115 0.733116 0.363915 -v -0.250879 0.733116 0.257861 -v -0.335972 0.733116 0.093426 -v -0.334903 0.733116 -0.091718 -v -0.247915 0.733116 -0.255158 -v -0.094936 0.733116 -0.359452 -v 0.040143 0.856548 0.003024 -v 0.090645 0.002327 -0.383112 -v 0.090645 0.732389 -0.383112 -v 0.262142 0.002327 -0.316936 -v 0.262142 0.732389 -0.316936 -v 0.381180 0.002327 0.178315 -v 0.381180 0.732389 0.178315 -v 0.258491 0.002327 0.315202 -v 0.258491 0.732389 0.315202 -v 0.086240 0.002327 0.379392 -v 0.086240 0.732389 0.379392 -v -0.096111 0.002327 0.356181 -v -0.096111 0.732389 0.356181 -v -0.246788 0.002327 0.250886 -v -0.246788 0.732389 0.250886 -v -0.331273 0.002327 0.087628 -v -0.331273 0.732389 0.087628 -v -0.330211 0.002327 -0.096191 -v -0.330211 0.732389 -0.096191 -v -0.243846 0.002327 -0.258462 -v -0.243846 0.732389 -0.258462 -v -0.091962 0.002327 -0.362009 -v -0.091962 0.732389 -0.362009 -v -0.123125 0.151535 -0.797028 -v -0.123125 0.509052 -0.797028 -v -0.036386 0.151535 -0.764579 -v -0.036386 0.509052 -0.764579 -v 0.025337 0.151535 -0.695537 -v 0.025337 0.509052 -0.695537 -v 0.047905 0.151535 -0.605719 -v 0.047905 0.509052 -0.605719 -v 0.026148 0.151535 -0.515701 -v 0.026148 0.509052 -0.515701 -v -0.034951 0.151535 -0.446105 -v -0.034951 0.509052 -0.446105 -v -0.121393 0.151535 -0.412876 -v -0.121393 0.509052 -0.412876 -v -0.213377 0.151535 -0.423624 -v -0.213377 0.509052 -0.423624 -v -0.289830 0.151535 -0.475888 -v -0.289830 0.509052 -0.475888 -v -0.333238 0.151535 -0.557695 -v -0.333238 0.509052 -0.557695 -v -0.333655 0.151535 -0.650304 -v -0.333655 0.509052 -0.650304 -v -0.290987 0.151535 -0.732500 -v -0.290987 0.509052 -0.732500 -v -0.215009 0.151535 -0.785451 -v -0.215009 0.509052 -0.785451 -v 0.372063 0.067969 -0.743993 -v 0.372063 0.721865 -0.743993 -v 0.416362 0.067969 -0.662665 -v 0.416362 0.721865 -0.662665 -v 0.417793 0.067969 -0.570066 -v 0.417793 0.721865 -0.570066 -v 0.376027 0.067969 -0.487409 -v 0.376027 0.721865 -0.487409 -v 0.300633 0.067969 -0.433629 -v 0.300633 0.721865 -0.433629 -v 0.208881 0.067969 -0.421048 -v 0.208881 0.721865 -0.421048 -v 0.121792 0.067969 -0.452546 -v 0.121792 0.721865 -0.452546 -v 0.059317 0.067969 -0.520908 -v 0.059317 0.721865 -0.520908 -v 0.035767 0.067969 -0.610474 -v 0.035767 0.721865 -0.610474 -v 0.056538 0.067969 -0.700724 -v 0.056538 0.721865 -0.700724 -v 0.116872 0.067969 -0.770984 -v 0.116872 0.721865 -0.770984 -v 0.202946 0.067969 -0.805158 -v 0.202946 0.721865 -0.805158 -v 0.295042 0.067969 -0.795417 -v 0.295042 0.721865 -0.795417 -vn 1.0000 -0.0000 -0.0007 -vn -0.0044 -0.0000 1.0000 -vn -1.0000 -0.0000 -0.0087 -vn 0.0144 -0.0000 -0.9999 -vn -0.0000 1.0000 -0.0000 -vn -0.0000 -1.0000 -0.0000 -vn 0.0036 -0.0527 0.9986 -vn 0.2562 -0.0000 -0.9666 -vn -0.9956 -0.0935 -0.0000 -vn 0.8130 -0.0000 0.5823 -vn -0.2224 -0.0000 -0.9750 -vn 0.6761 -0.0000 -0.7368 -vn 0.9411 -0.0000 -0.3383 -vn 0.9905 -0.0000 0.1378 -vn 0.4492 -0.0000 0.8934 -vn -0.0174 -0.0000 0.9998 -vn -0.6500 -0.0000 -0.7600 -vn -0.1124 -0.9500 0.2913 -vn -0.2349 -0.9500 0.2057 -vn -0.3036 -0.9500 0.0730 -vn -0.3027 -0.9500 -0.0765 -vn -0.2325 -0.9500 -0.2084 -vn -0.1090 -0.9500 -0.2926 -vn 0.0394 -0.9500 -0.3097 -vn 0.1788 -0.9500 -0.2559 -vn 0.2773 -0.9500 -0.1435 -vn 0.3122 -0.9500 0.0018 -vn 0.2756 -0.9500 0.1467 -vn 0.1759 -0.9500 0.2580 -vn 0.0358 -0.9500 0.3101 -vn 0.8828 -0.0000 0.4698 -vn -0.3600 -0.0000 0.9330 -vn 0.1148 -0.0000 0.9934 -vn -0.7447 -0.0000 -0.6674 -vn -0.3492 -0.0000 -0.9370 -vn 0.1263 -0.0000 -0.9920 -vn 0.5728 -0.0000 -0.8197 -vn 0.8881 -0.0000 -0.4596 -vn 1.0000 -0.0000 0.0058 -vn 0.5633 -0.0000 0.8263 -vn 0.1250 -0.0000 0.9922 -vn -0.7455 -0.0000 0.6665 -vn -0.9699 -0.0000 0.2437 -vn -0.9720 -0.0000 -0.2349 -vn -0.7515 -0.0000 -0.6597 -vn -0.3588 -0.0000 -0.9334 -vn 0.1161 -0.0000 -0.9932 -vn 0.5643 -0.0000 -0.8255 -vn 0.8834 -0.0000 -0.4687 -vn 1.0000 -0.0000 -0.0045 -vn 0.8875 -0.0000 0.4607 -vn 0.5718 -0.0000 0.8204 -vn -0.3504 -0.0000 0.9366 -vn -0.5553 -0.0000 0.8317 -vn -0.9999 -0.0000 0.0155 -vn -0.8925 -0.0000 -0.4510 -vn -0.5807 -0.0000 -0.8141 -vn -0.1359 -0.0000 -0.9907 -vn 0.3401 -0.0000 -0.9404 -vn 0.7382 -0.0000 -0.6746 -vn 0.9671 -0.0000 -0.2543 -vn 0.9745 -0.0000 0.2243 -vn 0.7587 -0.0000 0.6515 -vn 0.3690 -0.0000 0.9294 -vn -0.1052 -0.0000 0.9945 -vn -0.8782 -0.0000 0.4783 -vn 0.9956 -0.0935 -0.0064 -vn -0.9905 -0.0000 -0.1378 -vn -0.6761 -0.0000 0.7368 -vn -0.8967 0.3035 0.3223 -vn 0.0071 -0.0527 -0.9986 -vn -0.9723 -0.0000 0.2337 -vt 0.330715 0.834858 -vt 0.371495 0.834858 -vt 0.371495 0.875638 -vt 0.330715 0.875638 -vt 0.325832 0.889310 -vt 0.366613 0.889310 -vt 0.366613 0.930091 -vt 0.325832 0.930091 -vt 0.330715 0.916419 -vt 0.371495 0.916419 -vt 0.371495 0.957199 -vt 0.330715 0.957199 -vt 0.257473 0.881027 -vt 0.298253 0.881027 -vt 0.298253 0.921808 -vt 0.257473 0.921808 -vt 0.288940 0.879528 -vt 0.345381 0.879528 -vt 0.345381 0.997996 -vt 0.288940 0.997996 -vt 0.412276 0.916419 -vt 0.412276 0.957199 -vt 0.835585 0.191349 -vt 0.835585 0.138242 -vt 0.953100 0.138242 -vt 0.953100 0.191349 -vt 0.252801 0.924556 -vt 0.252801 0.915746 -vt 0.372199 0.915746 -vt 0.372199 0.924556 -vt 0.921776 0.314738 -vt 0.921776 0.157639 -vt 0.849004 0.157639 -vt 0.849004 0.314738 -vt 0.869213 0.190082 -vt 0.869213 0.130846 -vt 0.991146 0.130846 -vt 0.991146 0.190082 -vt 0.252801 0.959792 -vt 0.252801 0.950983 -vt 0.372199 0.950983 -vt 0.372199 0.959792 -vt 0.625000 0.750000 -vt 0.625000 0.500000 -vt 0.875000 0.500000 -vt 0.875000 0.750000 -vt 0.252801 0.906937 -vt 0.372199 0.906937 -vt 0.252801 0.933365 -vt 0.372199 0.933365 -vt 0.252801 0.942174 -vt 0.372199 0.942174 -vt 0.252801 0.968601 -vt 0.372199 0.968601 -vt 0.353147 0.915937 -vt 0.358646 0.938250 -vt 0.353147 0.960563 -vt 0.337908 0.977764 -vt 0.337908 0.898736 -vt 0.274695 0.970088 -vt 0.264015 0.949740 -vt 0.274695 0.906411 -vt 0.264015 0.926760 -vt 0.252801 0.977411 -vt 0.372199 0.977411 -vt 0.316421 0.890587 -vt 0.316421 0.985913 -vt 0.293608 0.893357 -vt 0.293608 0.983143 -vt 0.252801 0.898128 -vt 0.372199 0.898128 -vt 0.304257 0.974197 -vt 0.304257 0.928712 -vt 0.325395 0.968987 -vt 0.341691 0.954550 -vt 0.349411 0.934194 -vt 0.346786 0.912582 -vt 0.334419 0.894665 -vt 0.315142 0.884548 -vt 0.293372 0.884548 -vt 0.274095 0.894665 -vt 0.261727 0.912582 -vt 0.259103 0.934194 -vt 0.266823 0.954550 -vt 0.283119 0.968987 -vt 0.273058 0.997293 -vt 0.273058 0.878467 -vt 0.282017 0.878467 -vt 0.282017 0.997293 -vt 0.362645 0.997293 -vt 0.362645 0.878467 -vt 0.371603 0.878467 -vt 0.371603 0.997293 -vt 0.255141 0.997293 -vt 0.255141 0.878467 -vt 0.264099 0.878467 -vt 0.264099 0.997293 -vt 0.326810 0.997293 -vt 0.326810 0.878467 -vt 0.335769 0.878467 -vt 0.335769 0.997293 -vt 0.317851 0.997293 -vt 0.317851 0.878467 -vt 0.308893 0.997293 -vt 0.308893 0.878467 -vt 0.299934 0.997293 -vt 0.299934 0.878467 -vt 0.290975 0.997293 -vt 0.290975 0.878467 -vt 0.356328 0.966873 -vt 0.338964 0.982256 -vt 0.364554 0.945183 -vt 0.316441 0.987807 -vt 0.293918 0.982256 -vt 0.276554 0.966873 -vt 0.268329 0.945183 -vt 0.271125 0.922155 -vt 0.284302 0.903064 -vt 0.304843 0.892284 -vt 0.328040 0.892284 -vt 0.348580 0.903064 -vt 0.361758 0.922155 -vt 0.256249 0.882030 -vt 0.265049 0.882030 -vt 0.265049 0.993963 -vt 0.256249 0.993963 -vt 0.353050 0.882030 -vt 0.361850 0.882030 -vt 0.361850 0.993963 -vt 0.353050 0.993963 -vt 0.344250 0.882030 -vt 0.344250 0.993963 -vt 0.335450 0.882030 -vt 0.335450 0.993963 -vt 0.326650 0.882030 -vt 0.326650 0.993963 -vt 0.317849 0.882030 -vt 0.317849 0.993963 -vt 0.309049 0.882030 -vt 0.309049 0.993963 -vt 0.300249 0.882030 -vt 0.300249 0.993963 -vt 0.291449 0.882030 -vt 0.291449 0.993963 -vt 0.282649 0.882030 -vt 0.282649 0.993963 -vt 0.273849 0.882030 -vt 0.273849 0.993963 -vt 0.370650 0.882030 -vt 0.370650 0.993963 -vt 0.828458 0.135744 -vt 0.972297 0.135713 -vt 0.969377 0.194794 -vt 0.831439 0.194824 -vt 0.361678 0.887316 -vt 0.264878 0.949951 -vt 0.264971 0.887172 -vt 0.361679 0.993131 -vt 0.264971 0.993339 -vt 0.904724 0.284113 -vt 0.836251 0.284113 -vt 0.835172 0.164017 -vt 0.906573 0.164017 -s 0 -usemtl Textures -f 1/1/1 3/4/1 4/3/1 2/2/1 -f 3/5/2 7/8/2 8/7/2 4/6/2 -f 7/9/3 5/12/3 6/11/3 8/10/3 -f 5/13/4 1/16/4 2/15/4 6/14/4 -f 3/17/5 1/20/5 5/19/5 7/18/5 -f 8/10/6 6/11/6 2/22/6 4/21/6 -f 9/23/7 10/26/7 14/25/7 13/24/7 -f 25/27/8 26/30/8 24/29/8 23/28/8 -f 11/31/9 12/34/9 10/33/9 9/32/9 -f 9/35/5 13/38/5 15/37/5 11/36/5 -f 33/39/10 34/42/10 32/41/10 31/40/10 -f 14/43/6 10/46/6 12/45/6 16/44/6 -f 23/28/11 24/29/11 22/48/11 21/47/11 -f 27/49/12 28/50/12 26/30/12 25/27/12 -f 29/51/13 30/52/13 28/50/13 27/49/13 -f 31/40/14 32/41/14 30/52/14 29/51/14 -f 35/53/15 36/54/15 34/42/15 33/39/15 -f 18/55/6 39/57/6 17/56/6 -f 39/57/6 18/55/6 20/59/6 38/58/6 -f 32/60/6 26/62/6 30/61/6 -f 30/61/6 26/62/6 28/63/6 -f 37/64/16 38/65/16 36/54/16 35/53/16 -f 22/66/6 36/67/6 38/58/6 20/59/6 -f 24/68/6 34/69/6 36/67/6 22/66/6 -f 26/62/6 32/60/6 34/69/6 24/68/6 -f 21/47/17 22/48/17 20/71/17 19/70/17 -f 40/72/18 41/74/18 53/73/18 -f 41/74/19 42/75/19 53/73/19 -f 42/75/20 43/76/20 53/73/20 -f 43/76/21 44/77/21 53/73/21 -f 44/77/22 45/78/22 53/73/22 -f 45/78/23 46/79/23 53/73/23 -f 46/79/24 47/80/24 53/73/24 -f 47/80/25 48/81/25 53/73/25 -f 48/81/26 49/82/26 53/73/26 -f 49/82/27 50/83/27 53/73/27 -f 50/83/28 51/84/28 53/73/28 -f 51/84/29 52/85/29 53/73/29 -f 52/85/30 40/72/30 53/73/30 -f 73/86/31 71/89/31 70/88/31 72/87/31 -f 57/90/32 55/93/32 54/92/32 56/91/32 -f 55/94/33 75/97/33 74/96/33 54/95/33 -f 61/98/34 59/101/34 58/100/34 60/99/34 -f 63/102/35 61/98/35 60/99/35 62/103/35 -f 65/104/36 63/102/36 62/103/36 64/105/36 -f 67/106/37 65/104/37 64/105/37 66/107/37 -f 69/108/38 67/106/38 66/107/38 68/109/38 -f 71/89/39 69/108/39 68/109/39 70/88/39 -f 75/97/40 73/86/40 72/87/40 74/96/40 -f 81/110/6 83/112/6 79/111/6 -f 79/111/6 83/112/6 77/113/6 -f 77/113/6 99/115/6 101/114/6 -f 99/115/6 95/117/6 97/116/6 -f 95/117/6 91/119/6 93/118/6 -f 91/119/6 87/121/6 89/120/6 -f 87/121/6 83/112/6 85/122/6 -f 77/113/6 95/117/6 99/115/6 -f 95/117/6 87/121/6 91/119/6 -f 76/123/41 77/126/41 101/125/41 100/124/41 -f 80/127/42 81/130/42 79/129/42 78/128/42 -f 82/131/43 83/132/43 81/130/43 80/127/43 -f 84/133/44 85/134/44 83/132/44 82/131/44 -f 86/135/45 87/136/45 85/134/45 84/133/45 -f 88/137/46 89/138/46 87/136/46 86/135/46 -f 90/139/47 91/140/47 89/138/47 88/137/47 -f 92/141/48 93/142/48 91/140/48 90/139/48 -f 94/143/49 95/144/49 93/142/49 92/141/49 -f 96/145/50 97/146/50 95/144/50 94/143/50 -f 98/147/51 99/148/51 97/146/51 96/145/51 -f 100/124/52 101/125/52 99/148/52 98/147/52 -f 83/112/6 87/121/6 95/117/6 77/113/6 -f 78/128/53 79/129/53 77/150/53 76/149/53 -f 107/110/6 109/112/6 105/111/6 -f 105/111/6 109/112/6 103/113/6 -f 103/113/6 125/115/6 127/114/6 -f 125/115/6 121/117/6 123/116/6 -f 121/117/6 117/119/6 119/118/6 -f 117/119/6 113/121/6 115/120/6 -f 113/121/6 109/112/6 111/122/6 -f 103/113/6 121/117/6 125/115/6 -f 121/117/6 113/121/6 117/119/6 -f 102/123/54 103/126/54 127/125/54 126/124/54 -f 106/127/55 107/130/55 105/129/55 104/128/55 -f 108/131/56 109/132/56 107/130/56 106/127/56 -f 110/133/57 111/134/57 109/132/57 108/131/57 -f 112/135/58 113/136/58 111/134/58 110/133/58 -f 114/137/59 115/138/59 113/136/59 112/135/59 -f 116/139/60 117/140/60 115/138/60 114/137/60 -f 118/141/61 119/142/61 117/140/61 116/139/61 -f 120/143/62 121/144/62 119/142/62 118/141/62 -f 122/145/63 123/146/63 121/144/63 120/143/63 -f 124/147/64 125/148/64 123/146/64 122/145/64 -f 126/124/65 127/125/65 125/148/65 124/147/65 -f 109/112/6 113/121/6 121/117/6 103/113/6 -f 104/128/66 105/129/66 103/150/66 102/149/66 -f 13/151/67 14/154/67 16/153/67 15/152/67 -f 19/155/68 20/157/68 17/156/68 -f 37/158/69 17/156/69 38/159/69 -f 17/156/70 37/158/70 19/155/70 -f 12/160/71 11/163/71 15/162/71 16/161/71 -f 56/91/72 58/100/72 59/101/72 57/90/72 +# Blender 3.6.0 +# www.blender.org +mtllib superlab_mixer.mtl.mtl +o Cube.001 +v -0.335186 0.361013 -0.799515 +v -0.335186 0.062186 -0.799515 +v -0.334355 0.361013 0.388377 +v -0.334355 0.062186 0.388377 +v -0.688988 0.361013 -0.804624 +v -0.688988 0.062186 -0.804624 +v -0.699324 0.361013 0.386766 +v -0.699324 0.062186 0.386766 +v -0.345733 0.230334 0.807128 +v -0.330207 0.065097 0.798360 +v -0.345733 0.230334 0.378333 +v -0.330207 0.065097 0.387156 +v 0.412527 0.230334 0.804432 +v 0.396946 0.065097 0.795775 +v 0.409832 0.230334 0.383724 +v 0.394362 0.065097 0.392326 +v 0.386225 0.516466 0.520989 +v 0.396250 0.516466 0.617589 +v 0.360234 0.241310 0.707783 +v 0.360234 0.516466 0.707783 +v 0.286428 0.241310 0.770908 +v 0.286428 0.516466 0.770908 +v 0.191741 0.241310 0.792504 +v 0.191741 0.516466 0.792504 +v 0.097864 0.241310 0.767622 +v 0.097864 0.516466 0.767622 +v 0.026302 0.241310 0.701963 +v 0.026302 0.516466 0.701963 +v -0.006549 0.241310 0.610569 +v -0.006549 0.516466 0.610569 +v 0.006836 0.241310 0.514377 +v 0.006836 0.516466 0.514377 +v 0.063390 0.241310 0.435424 +v 0.063390 0.516466 0.435424 +v 0.150158 0.241310 0.391796 +v 0.150158 0.516466 0.391796 +v 0.247262 0.241310 0.393488 +v 0.247262 0.516466 0.393488 +v 0.332457 0.516466 0.440113 +v 0.088987 0.733116 -0.380707 +v 0.261721 0.733116 -0.314054 +v 0.383694 0.733116 -0.174762 +v 0.426963 0.733116 0.005258 +v 0.381617 0.733116 0.184767 +v 0.258043 0.733116 0.322640 +v 0.084551 0.733116 0.387294 +v -0.099115 0.733116 0.363915 +v -0.250879 0.733116 0.257861 +v -0.335972 0.733116 0.093426 +v -0.334903 0.733116 -0.091718 +v -0.247915 0.733116 -0.255158 +v -0.094936 0.733116 -0.359452 +v 0.040143 0.856548 0.003024 +v 0.090645 0.002327 -0.383112 +v 0.090645 0.732389 -0.383112 +v 0.262142 0.002327 -0.316936 +v 0.262142 0.732389 -0.316936 +v 0.381180 0.002327 0.178315 +v 0.381180 0.732389 0.178315 +v 0.258491 0.002327 0.315202 +v 0.258491 0.732389 0.315202 +v 0.086240 0.002327 0.379392 +v 0.086240 0.732389 0.379392 +v -0.096111 0.002327 0.356181 +v -0.096111 0.732389 0.356181 +v -0.246788 0.002327 0.250886 +v -0.246788 0.732389 0.250886 +v -0.331273 0.002327 0.087628 +v -0.331273 0.732389 0.087628 +v -0.330211 0.002327 -0.096191 +v -0.330211 0.732389 -0.096191 +v -0.243846 0.002327 -0.258462 +v -0.243846 0.732389 -0.258462 +v -0.091962 0.002327 -0.362009 +v -0.091962 0.732389 -0.362009 +v -0.123125 0.151535 -0.797028 +v -0.123125 0.509052 -0.797028 +v -0.036386 0.151535 -0.764579 +v -0.036386 0.509052 -0.764579 +v 0.025337 0.151535 -0.695537 +v 0.025337 0.509052 -0.695537 +v 0.047905 0.151535 -0.605719 +v 0.047905 0.509052 -0.605719 +v 0.026148 0.151535 -0.515701 +v 0.026148 0.509052 -0.515701 +v -0.034951 0.151535 -0.446105 +v -0.034951 0.509052 -0.446105 +v -0.121393 0.151535 -0.412876 +v -0.121393 0.509052 -0.412876 +v -0.213377 0.151535 -0.423624 +v -0.213377 0.509052 -0.423624 +v -0.289830 0.151535 -0.475888 +v -0.289830 0.509052 -0.475888 +v -0.333238 0.151535 -0.557695 +v -0.333238 0.509052 -0.557695 +v -0.333655 0.151535 -0.650304 +v -0.333655 0.509052 -0.650304 +v -0.290987 0.151535 -0.732500 +v -0.290987 0.509052 -0.732500 +v -0.215009 0.151535 -0.785451 +v -0.215009 0.509052 -0.785451 +v 0.372063 0.067969 -0.743993 +v 0.372063 0.721865 -0.743993 +v 0.416362 0.067969 -0.662665 +v 0.416362 0.721865 -0.662665 +v 0.417793 0.067969 -0.570066 +v 0.417793 0.721865 -0.570066 +v 0.376027 0.067969 -0.487409 +v 0.376027 0.721865 -0.487409 +v 0.300633 0.067969 -0.433629 +v 0.300633 0.721865 -0.433629 +v 0.208881 0.067969 -0.421048 +v 0.208881 0.721865 -0.421048 +v 0.121792 0.067969 -0.452546 +v 0.121792 0.721865 -0.452546 +v 0.059317 0.067969 -0.520908 +v 0.059317 0.721865 -0.520908 +v 0.035767 0.067969 -0.610474 +v 0.035767 0.721865 -0.610474 +v 0.056538 0.067969 -0.700724 +v 0.056538 0.721865 -0.700724 +v 0.116872 0.067969 -0.770984 +v 0.116872 0.721865 -0.770984 +v 0.202946 0.067969 -0.805158 +v 0.202946 0.721865 -0.805158 +v 0.295042 0.067969 -0.795417 +v 0.295042 0.721865 -0.795417 +vn 1.0000 -0.0000 -0.0007 +vn -0.0044 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0087 +vn 0.0144 -0.0000 -0.9999 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 0.0036 -0.0527 0.9986 +vn 0.2562 -0.0000 -0.9666 +vn -0.9956 -0.0935 -0.0000 +vn 0.8130 -0.0000 0.5823 +vn -0.2224 -0.0000 -0.9750 +vn 0.6761 -0.0000 -0.7368 +vn 0.9411 -0.0000 -0.3383 +vn 0.9905 -0.0000 0.1378 +vn 0.4492 -0.0000 0.8934 +vn -0.0174 -0.0000 0.9998 +vn -0.6500 -0.0000 -0.7600 +vn -0.1124 -0.9500 0.2913 +vn -0.2349 -0.9500 0.2057 +vn -0.3036 -0.9500 0.0730 +vn -0.3027 -0.9500 -0.0765 +vn -0.2325 -0.9500 -0.2084 +vn -0.1090 -0.9500 -0.2926 +vn 0.0394 -0.9500 -0.3097 +vn 0.1788 -0.9500 -0.2559 +vn 0.2773 -0.9500 -0.1435 +vn 0.3122 -0.9500 0.0018 +vn 0.2756 -0.9500 0.1467 +vn 0.1759 -0.9500 0.2580 +vn 0.0358 -0.9500 0.3101 +vn 0.8828 -0.0000 0.4698 +vn -0.3600 -0.0000 0.9330 +vn 0.1148 -0.0000 0.9934 +vn -0.7447 -0.0000 -0.6674 +vn -0.3492 -0.0000 -0.9370 +vn 0.1263 -0.0000 -0.9920 +vn 0.5728 -0.0000 -0.8197 +vn 0.8881 -0.0000 -0.4596 +vn 1.0000 -0.0000 0.0058 +vn 0.5633 -0.0000 0.8263 +vn 0.1250 -0.0000 0.9922 +vn -0.7455 -0.0000 0.6665 +vn -0.9699 -0.0000 0.2437 +vn -0.9720 -0.0000 -0.2349 +vn -0.7515 -0.0000 -0.6597 +vn -0.3588 -0.0000 -0.9334 +vn 0.1161 -0.0000 -0.9932 +vn 0.5643 -0.0000 -0.8255 +vn 0.8834 -0.0000 -0.4687 +vn 1.0000 -0.0000 -0.0045 +vn 0.8875 -0.0000 0.4607 +vn 0.5718 -0.0000 0.8204 +vn -0.3504 -0.0000 0.9366 +vn -0.5553 -0.0000 0.8317 +vn -0.9999 -0.0000 0.0155 +vn -0.8925 -0.0000 -0.4510 +vn -0.5807 -0.0000 -0.8141 +vn -0.1359 -0.0000 -0.9907 +vn 0.3401 -0.0000 -0.9404 +vn 0.7382 -0.0000 -0.6746 +vn 0.9671 -0.0000 -0.2543 +vn 0.9745 -0.0000 0.2243 +vn 0.7587 -0.0000 0.6515 +vn 0.3690 -0.0000 0.9294 +vn -0.1052 -0.0000 0.9945 +vn -0.8782 -0.0000 0.4783 +vn 0.9956 -0.0935 -0.0064 +vn -0.9905 -0.0000 -0.1378 +vn -0.6761 -0.0000 0.7368 +vn -0.8967 0.3035 0.3223 +vn 0.0071 -0.0527 -0.9986 +vn -0.9723 -0.0000 0.2337 +vt 0.330715 0.834858 +vt 0.371495 0.834858 +vt 0.371495 0.875638 +vt 0.330715 0.875638 +vt 0.325832 0.889310 +vt 0.366613 0.889310 +vt 0.366613 0.930091 +vt 0.325832 0.930091 +vt 0.330715 0.916419 +vt 0.371495 0.916419 +vt 0.371495 0.957199 +vt 0.330715 0.957199 +vt 0.257473 0.881027 +vt 0.298253 0.881027 +vt 0.298253 0.921808 +vt 0.257473 0.921808 +vt 0.288940 0.879528 +vt 0.345381 0.879528 +vt 0.345381 0.997996 +vt 0.288940 0.997996 +vt 0.412276 0.916419 +vt 0.412276 0.957199 +vt 0.835585 0.191349 +vt 0.835585 0.138242 +vt 0.953100 0.138242 +vt 0.953100 0.191349 +vt 0.252801 0.924556 +vt 0.252801 0.915746 +vt 0.372199 0.915746 +vt 0.372199 0.924556 +vt 0.921776 0.314738 +vt 0.921776 0.157639 +vt 0.849004 0.157639 +vt 0.849004 0.314738 +vt 0.869213 0.190082 +vt 0.869213 0.130846 +vt 0.991146 0.130846 +vt 0.991146 0.190082 +vt 0.252801 0.959792 +vt 0.252801 0.950983 +vt 0.372199 0.950983 +vt 0.372199 0.959792 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.252801 0.906937 +vt 0.372199 0.906937 +vt 0.252801 0.933365 +vt 0.372199 0.933365 +vt 0.252801 0.942174 +vt 0.372199 0.942174 +vt 0.252801 0.968601 +vt 0.372199 0.968601 +vt 0.353147 0.915937 +vt 0.358646 0.938250 +vt 0.353147 0.960563 +vt 0.337908 0.977764 +vt 0.337908 0.898736 +vt 0.274695 0.970088 +vt 0.264015 0.949740 +vt 0.274695 0.906411 +vt 0.264015 0.926760 +vt 0.252801 0.977411 +vt 0.372199 0.977411 +vt 0.316421 0.890587 +vt 0.316421 0.985913 +vt 0.293608 0.893357 +vt 0.293608 0.983143 +vt 0.252801 0.898128 +vt 0.372199 0.898128 +vt 0.304257 0.974197 +vt 0.304257 0.928712 +vt 0.325395 0.968987 +vt 0.341691 0.954550 +vt 0.349411 0.934194 +vt 0.346786 0.912582 +vt 0.334419 0.894665 +vt 0.315142 0.884548 +vt 0.293372 0.884548 +vt 0.274095 0.894665 +vt 0.261727 0.912582 +vt 0.259103 0.934194 +vt 0.266823 0.954550 +vt 0.283119 0.968987 +vt 0.273058 0.997293 +vt 0.273058 0.878467 +vt 0.282017 0.878467 +vt 0.282017 0.997293 +vt 0.362645 0.997293 +vt 0.362645 0.878467 +vt 0.371603 0.878467 +vt 0.371603 0.997293 +vt 0.255141 0.997293 +vt 0.255141 0.878467 +vt 0.264099 0.878467 +vt 0.264099 0.997293 +vt 0.326810 0.997293 +vt 0.326810 0.878467 +vt 0.335769 0.878467 +vt 0.335769 0.997293 +vt 0.317851 0.997293 +vt 0.317851 0.878467 +vt 0.308893 0.997293 +vt 0.308893 0.878467 +vt 0.299934 0.997293 +vt 0.299934 0.878467 +vt 0.290975 0.997293 +vt 0.290975 0.878467 +vt 0.356328 0.966873 +vt 0.338964 0.982256 +vt 0.364554 0.945183 +vt 0.316441 0.987807 +vt 0.293918 0.982256 +vt 0.276554 0.966873 +vt 0.268329 0.945183 +vt 0.271125 0.922155 +vt 0.284302 0.903064 +vt 0.304843 0.892284 +vt 0.328040 0.892284 +vt 0.348580 0.903064 +vt 0.361758 0.922155 +vt 0.256249 0.882030 +vt 0.265049 0.882030 +vt 0.265049 0.993963 +vt 0.256249 0.993963 +vt 0.353050 0.882030 +vt 0.361850 0.882030 +vt 0.361850 0.993963 +vt 0.353050 0.993963 +vt 0.344250 0.882030 +vt 0.344250 0.993963 +vt 0.335450 0.882030 +vt 0.335450 0.993963 +vt 0.326650 0.882030 +vt 0.326650 0.993963 +vt 0.317849 0.882030 +vt 0.317849 0.993963 +vt 0.309049 0.882030 +vt 0.309049 0.993963 +vt 0.300249 0.882030 +vt 0.300249 0.993963 +vt 0.291449 0.882030 +vt 0.291449 0.993963 +vt 0.282649 0.882030 +vt 0.282649 0.993963 +vt 0.273849 0.882030 +vt 0.273849 0.993963 +vt 0.370650 0.882030 +vt 0.370650 0.993963 +vt 0.828458 0.135744 +vt 0.972297 0.135713 +vt 0.969377 0.194794 +vt 0.831439 0.194824 +vt 0.361678 0.887316 +vt 0.264878 0.949951 +vt 0.264971 0.887172 +vt 0.361679 0.993131 +vt 0.264971 0.993339 +vt 0.904724 0.284113 +vt 0.836251 0.284113 +vt 0.835172 0.164017 +vt 0.906573 0.164017 +s 0 +usemtl Textures +f 1/1/1 3/4/1 4/3/1 2/2/1 +f 3/5/2 7/8/2 8/7/2 4/6/2 +f 7/9/3 5/12/3 6/11/3 8/10/3 +f 5/13/4 1/16/4 2/15/4 6/14/4 +f 3/17/5 1/20/5 5/19/5 7/18/5 +f 8/10/6 6/11/6 2/22/6 4/21/6 +f 9/23/7 10/26/7 14/25/7 13/24/7 +f 25/27/8 26/30/8 24/29/8 23/28/8 +f 11/31/9 12/34/9 10/33/9 9/32/9 +f 9/35/5 13/38/5 15/37/5 11/36/5 +f 33/39/10 34/42/10 32/41/10 31/40/10 +f 14/43/6 10/46/6 12/45/6 16/44/6 +f 23/28/11 24/29/11 22/48/11 21/47/11 +f 27/49/12 28/50/12 26/30/12 25/27/12 +f 29/51/13 30/52/13 28/50/13 27/49/13 +f 31/40/14 32/41/14 30/52/14 29/51/14 +f 35/53/15 36/54/15 34/42/15 33/39/15 +f 18/55/6 39/57/6 17/56/6 +f 39/57/6 18/55/6 20/59/6 38/58/6 +f 32/60/6 26/62/6 30/61/6 +f 30/61/6 26/62/6 28/63/6 +f 37/64/16 38/65/16 36/54/16 35/53/16 +f 22/66/6 36/67/6 38/58/6 20/59/6 +f 24/68/6 34/69/6 36/67/6 22/66/6 +f 26/62/6 32/60/6 34/69/6 24/68/6 +f 21/47/17 22/48/17 20/71/17 19/70/17 +f 40/72/18 41/74/18 53/73/18 +f 41/74/19 42/75/19 53/73/19 +f 42/75/20 43/76/20 53/73/20 +f 43/76/21 44/77/21 53/73/21 +f 44/77/22 45/78/22 53/73/22 +f 45/78/23 46/79/23 53/73/23 +f 46/79/24 47/80/24 53/73/24 +f 47/80/25 48/81/25 53/73/25 +f 48/81/26 49/82/26 53/73/26 +f 49/82/27 50/83/27 53/73/27 +f 50/83/28 51/84/28 53/73/28 +f 51/84/29 52/85/29 53/73/29 +f 52/85/30 40/72/30 53/73/30 +f 73/86/31 71/89/31 70/88/31 72/87/31 +f 57/90/32 55/93/32 54/92/32 56/91/32 +f 55/94/33 75/97/33 74/96/33 54/95/33 +f 61/98/34 59/101/34 58/100/34 60/99/34 +f 63/102/35 61/98/35 60/99/35 62/103/35 +f 65/104/36 63/102/36 62/103/36 64/105/36 +f 67/106/37 65/104/37 64/105/37 66/107/37 +f 69/108/38 67/106/38 66/107/38 68/109/38 +f 71/89/39 69/108/39 68/109/39 70/88/39 +f 75/97/40 73/86/40 72/87/40 74/96/40 +f 81/110/6 83/112/6 79/111/6 +f 79/111/6 83/112/6 77/113/6 +f 77/113/6 99/115/6 101/114/6 +f 99/115/6 95/117/6 97/116/6 +f 95/117/6 91/119/6 93/118/6 +f 91/119/6 87/121/6 89/120/6 +f 87/121/6 83/112/6 85/122/6 +f 77/113/6 95/117/6 99/115/6 +f 95/117/6 87/121/6 91/119/6 +f 76/123/41 77/126/41 101/125/41 100/124/41 +f 80/127/42 81/130/42 79/129/42 78/128/42 +f 82/131/43 83/132/43 81/130/43 80/127/43 +f 84/133/44 85/134/44 83/132/44 82/131/44 +f 86/135/45 87/136/45 85/134/45 84/133/45 +f 88/137/46 89/138/46 87/136/46 86/135/46 +f 90/139/47 91/140/47 89/138/47 88/137/47 +f 92/141/48 93/142/48 91/140/48 90/139/48 +f 94/143/49 95/144/49 93/142/49 92/141/49 +f 96/145/50 97/146/50 95/144/50 94/143/50 +f 98/147/51 99/148/51 97/146/51 96/145/51 +f 100/124/52 101/125/52 99/148/52 98/147/52 +f 83/112/6 87/121/6 95/117/6 77/113/6 +f 78/128/53 79/129/53 77/150/53 76/149/53 +f 107/110/6 109/112/6 105/111/6 +f 105/111/6 109/112/6 103/113/6 +f 103/113/6 125/115/6 127/114/6 +f 125/115/6 121/117/6 123/116/6 +f 121/117/6 117/119/6 119/118/6 +f 117/119/6 113/121/6 115/120/6 +f 113/121/6 109/112/6 111/122/6 +f 103/113/6 121/117/6 125/115/6 +f 121/117/6 113/121/6 117/119/6 +f 102/123/54 103/126/54 127/125/54 126/124/54 +f 106/127/55 107/130/55 105/129/55 104/128/55 +f 108/131/56 109/132/56 107/130/56 106/127/56 +f 110/133/57 111/134/57 109/132/57 108/131/57 +f 112/135/58 113/136/58 111/134/58 110/133/58 +f 114/137/59 115/138/59 113/136/59 112/135/59 +f 116/139/60 117/140/60 115/138/60 114/137/60 +f 118/141/61 119/142/61 117/140/61 116/139/61 +f 120/143/62 121/144/62 119/142/62 118/141/62 +f 122/145/63 123/146/63 121/144/63 120/143/63 +f 124/147/64 125/148/64 123/146/64 122/145/64 +f 126/124/65 127/125/65 125/148/65 124/147/65 +f 109/112/6 113/121/6 121/117/6 103/113/6 +f 104/128/66 105/129/66 103/150/66 102/149/66 +f 13/151/67 14/154/67 16/153/67 15/152/67 +f 19/155/68 20/157/68 17/156/68 +f 37/158/69 17/156/69 38/159/69 +f 17/156/70 37/158/70 19/155/70 +f 12/160/71 11/163/71 15/162/71 16/161/71 +f 56/91/72 58/100/72 59/101/72 57/90/72 diff --git a/source/card.cpp b/source/card.cpp index 5b86ea4..750f3b9 100644 --- a/source/card.cpp +++ b/source/card.cpp @@ -1,167 +1,167 @@ -// This file is licensed under the GNU GPL 3.0 - -// -// Created by cervi on 28/09/2022. -// -#include "card.hpp" - -void CardBuffer::open(const char *mode) { - if (_opened) - return; - _pos = 0; - _running_in_fat = access("sd:/", F_OK) == 0; // Returns 0 on success - if (_running_in_fat) { // check if sd was inited - _fatFile = fopen("sd:/breaking-bad-ds.sav", mode); - } - else { - _fatFile = nullptr; - } - _opened = true; -} - -void CardBuffer::close() { - if (!_opened) - return; - if (_fatFile != nullptr) { - fclose(_fatFile); - _fatFile = nullptr; - } - _opened = false; -} - -u8 cardCommand(u8 command, bool hold) { - REG_AUXSPICNT = 0xa000 + (hold ? 0x40 : 0); - eepromWaitBusy(); - REG_AUXSPIDATA = command; - eepromWaitBusy(); - return REG_AUXSPIDATA & 0xFF; -} - -u8 cardTransfer(u8 data) { - REG_AUXSPIDATA = data; - eepromWaitBusy(); - return REG_AUXSPIDATA & 0xFF; -} - -void cardWaitInProgress() { - cardCommand(SPI_EEPROM_RDSR, true); - cardCommand(0, false); - - // If EEPROM read/writes aren't supported - if (REG_AUXSPIDATA == 0xFF) - { - consoleClear(); - saveFailed = true; - return; - } - - do { - cardCommand(SPI_EEPROM_RDSR, true); - cardCommand(0, false); - } while (REG_AUXSPIDATA & 1); -} - -void cardReadBytes(u8* dst, u32 addr, u16 size) { - sysSetCardOwner(BUS_OWNER_ARM9); - cardCommand(SPI_EEPROM_READ, true); - cardTransfer(addr >> 8); - cardTransfer(addr & 0xff); - for (u16 i = 0; i < size; i++) { - if (i != size - 1) { - *dst++ = cardTransfer(0); - } else { - *dst++ = cardCommand(0, false); - } - } - cardWaitInProgress(); - cardWaitInProgress(); - swiDelay(14); -} - -void cardWriteBytes(u8* src, u32 addr, u16 size) { - sysSetCardOwner(BUS_OWNER_ARM9); - while (size != 0) { - cardCommand(SPI_EEPROM_WREN, true); - cardCommand(0, false); - - u16 copySize = 32 - (addr % 32); - if (copySize > size) - copySize = size; - - cardCommand(SPI_EEPROM_PP, true); - cardTransfer(addr >> 8); - cardTransfer(addr & 0xff); - for (u16 i = 0; i < copySize; i++) { - if (i != copySize - 1) { - cardTransfer(*src++); - } else { - cardCommand(*src++, false); - } - } - - cardWaitInProgress(); - cardWaitInProgress(); - swiDelay(14); - - size -= copySize; - addr += copySize; - } -} - -void CardBuffer::read(void *data, size_t size) { - if (!_opened) - return; - if (!_running_in_fat) { - cardReadBytes((u8*)data, _pos, size); - } - else if (_fatFile != nullptr) { - size_t bytes_read = fread(data, 1, size, _fatFile); - for (;bytes_read < size; bytes_read++) { - static_cast(data)[bytes_read] = 0xff; - } - } - else { - // We are running in fat but file was not opened - // We simulate that behaviour by writing 0xff - for (size_t bytes_read = 0; bytes_read < size; bytes_read++) { - static_cast(data)[bytes_read] = 0xff; - } - } - _pos += size; -} - -void CardBuffer::write(void *src, size_t size) { - if (!_opened) - return; - if (!_running_in_fat) { - cardWriteBytes((u8*)src, _pos, size); - } - else if (_fatFile != nullptr) { - fwrite(src, size, 1, _fatFile); - } - // The else branch would be running in file but file couldn't be opened - _pos += size; -} - -void CardBuffer::seek(s32 offset, u8 mode) { - if (!_opened) - return; - if (mode == SEEK_SET) - _pos = offset; - else if (mode == SEEK_CUR) - _pos += offset; - else if (mode == SEEK_END) - _pos = 7999 + offset; - if (_fatFile != nullptr) { - fseek(_fatFile, _pos, SEEK_SET); - } -} - -int CardBuffer::tell() const { - if (!_opened) - return -1; - return _pos; -} - -CardBuffer fCard; +// This file is licensed under the GNU GPL 3.0 + +// +// Created by cervi on 28/09/2022. +// +#include "card.hpp" + +void CardBuffer::open(const char *mode) { + if (_opened) + return; + _pos = 0; + _running_in_fat = access("sd:/", F_OK) == 0; // Returns 0 on success + if (_running_in_fat) { // check if sd was inited + _fatFile = fopen("sd:/breaking-bad-ds.sav", mode); + } + else { + _fatFile = nullptr; + } + _opened = true; +} + +void CardBuffer::close() { + if (!_opened) + return; + if (_fatFile != nullptr) { + fclose(_fatFile); + _fatFile = nullptr; + } + _opened = false; +} + +u8 cardCommand(u8 command, bool hold) { + REG_AUXSPICNT = 0xa000 + (hold ? 0x40 : 0); + eepromWaitBusy(); + REG_AUXSPIDATA = command; + eepromWaitBusy(); + return REG_AUXSPIDATA & 0xFF; +} + +u8 cardTransfer(u8 data) { + REG_AUXSPIDATA = data; + eepromWaitBusy(); + return REG_AUXSPIDATA & 0xFF; +} + +void cardWaitInProgress() { + cardCommand(SPI_EEPROM_RDSR, true); + cardCommand(0, false); + + // If EEPROM read/writes aren't supported + if (REG_AUXSPIDATA == 0xFF) + { + consoleClear(); + saveFailed = true; + return; + } + + do { + cardCommand(SPI_EEPROM_RDSR, true); + cardCommand(0, false); + } while (REG_AUXSPIDATA & 1); +} + +void cardReadBytes(u8* dst, u32 addr, u16 size) { + sysSetCardOwner(BUS_OWNER_ARM9); + cardCommand(SPI_EEPROM_READ, true); + cardTransfer(addr >> 8); + cardTransfer(addr & 0xff); + for (u16 i = 0; i < size; i++) { + if (i != size - 1) { + *dst++ = cardTransfer(0); + } else { + *dst++ = cardCommand(0, false); + } + } + cardWaitInProgress(); + cardWaitInProgress(); + swiDelay(14); +} + +void cardWriteBytes(u8* src, u32 addr, u16 size) { + sysSetCardOwner(BUS_OWNER_ARM9); + while (size != 0) { + cardCommand(SPI_EEPROM_WREN, true); + cardCommand(0, false); + + u16 copySize = 32 - (addr % 32); + if (copySize > size) + copySize = size; + + cardCommand(SPI_EEPROM_PP, true); + cardTransfer(addr >> 8); + cardTransfer(addr & 0xff); + for (u16 i = 0; i < copySize; i++) { + if (i != copySize - 1) { + cardTransfer(*src++); + } else { + cardCommand(*src++, false); + } + } + + cardWaitInProgress(); + cardWaitInProgress(); + swiDelay(14); + + size -= copySize; + addr += copySize; + } +} + +void CardBuffer::read(void *data, size_t size) { + if (!_opened) + return; + if (!_running_in_fat) { + cardReadBytes((u8*)data, _pos, size); + } + else if (_fatFile != nullptr) { + size_t bytes_read = fread(data, 1, size, _fatFile); + for (;bytes_read < size; bytes_read++) { + static_cast(data)[bytes_read] = 0xff; + } + } + else { + // We are running in fat but file was not opened + // We simulate that behaviour by writing 0xff + for (size_t bytes_read = 0; bytes_read < size; bytes_read++) { + static_cast(data)[bytes_read] = 0xff; + } + } + _pos += size; +} + +void CardBuffer::write(void *src, size_t size) { + if (!_opened) + return; + if (!_running_in_fat) { + cardWriteBytes((u8*)src, _pos, size); + } + else if (_fatFile != nullptr) { + fwrite(src, size, 1, _fatFile); + } + // The else branch would be running in file but file couldn't be opened + _pos += size; +} + +void CardBuffer::seek(s32 offset, u8 mode) { + if (!_opened) + return; + if (mode == SEEK_SET) + _pos = offset; + else if (mode == SEEK_CUR) + _pos += offset; + else if (mode == SEEK_END) + _pos = 7999 + offset; + if (_fatFile != nullptr) { + fseek(_fatFile, _pos, SEEK_SET); + } +} + +int CardBuffer::tell() const { + if (!_opened) + return -1; + return _pos; +} + +CardBuffer fCard; bool saveFailed; \ No newline at end of file diff --git a/source/card.hpp b/source/card.hpp index df418ce..67957c0 100644 --- a/source/card.hpp +++ b/source/card.hpp @@ -1,36 +1,36 @@ -// This file is licensed under the GNU GPL 3.0 - -// -// Created by cervi on 28/09/2022. -// -#pragma once - -#include -#include -#include - -u8 cardCommand(u8 command, bool hold); -u8 cardTransfer(u8 data); -void cardWaitInProgress(); -void cardReadBytes(u8* dst, u32 addr, u16 size); -void cardWriteBytes(u8* src, u32 addr, u16 size); - -class CardBuffer { -public: - void open(const char* mode); - void close(); - void read(void* data, size_t size); - void write(void* src, size_t size); - int tell() const; - void seek(s32 offset, u8 mode); - ~CardBuffer() {close();} -private: - bool _running_in_fat; - int _pos = 0; - FILE* _fatFile = nullptr; - bool _opened = false; -}; - -extern CardBuffer fCard; -extern bool cardRead; +// This file is licensed under the GNU GPL 3.0 + +// +// Created by cervi on 28/09/2022. +// +#pragma once + +#include +#include +#include + +u8 cardCommand(u8 command, bool hold); +u8 cardTransfer(u8 data); +void cardWaitInProgress(); +void cardReadBytes(u8* dst, u32 addr, u16 size); +void cardWriteBytes(u8* src, u32 addr, u16 size); + +class CardBuffer { +public: + void open(const char* mode); + void close(); + void read(void* data, size_t size); + void write(void* src, size_t size); + int tell() const; + void seek(s32 offset, u8 mode); + ~CardBuffer() {close();} +private: + bool _running_in_fat; + int _pos = 0; + FILE* _fatFile = nullptr; + bool _opened = false; +}; + +extern CardBuffer fCard; +extern bool cardRead; extern bool saveFailed; \ No newline at end of file diff --git a/source/debug.cpp b/source/debug.cpp index 105fe9b..187ff96 100644 --- a/source/debug.cpp +++ b/source/debug.cpp @@ -1,28 +1,28 @@ -#include "debug.h" - -// Routine taken from https://devkitpro.org/viewtopic.php?t=3057 - -extern u8 *fake_heap_end; // current heap start -extern u8 *fake_heap_start; // current heap end - -u8* getHeapStart() { - return fake_heap_start; -} - -u8* getHeapEnd() { - return (u8*)sbrk(0); -} - -u8* getHeapLimit() { - return fake_heap_end; -} - -int getMemUsed() { // returns the amount of used memory in bytes - struct mallinfo mi = mallinfo(); - return mi.uordblks; -} - -int getMemFree() { // returns the amount of free memory in bytes - struct mallinfo mi = mallinfo(); - return mi.fordblks + (getHeapLimit() - getHeapEnd()); +#include "debug.h" + +// Routine taken from https://devkitpro.org/viewtopic.php?t=3057 + +extern u8 *fake_heap_end; // current heap start +extern u8 *fake_heap_start; // current heap end + +u8* getHeapStart() { + return fake_heap_start; +} + +u8* getHeapEnd() { + return (u8*)sbrk(0); +} + +u8* getHeapLimit() { + return fake_heap_end; +} + +int getMemUsed() { // returns the amount of used memory in bytes + struct mallinfo mi = mallinfo(); + return mi.uordblks; +} + +int getMemFree() { // returns the amount of free memory in bytes + struct mallinfo mi = mallinfo(); + return mi.fordblks + (getHeapLimit() - getHeapEnd()); } \ No newline at end of file diff --git a/source/debug.h b/source/debug.h index aaf94e0..53f9d99 100644 --- a/source/debug.h +++ b/source/debug.h @@ -1,11 +1,11 @@ -#pragma once - -#include -#include -#include - -u8* getHeapStart(); -u8* getHeapEnd(); -u8* getHeapLimit(); -int getMemUsed(); +#pragma once + +#include +#include +#include + +u8* getHeapStart(); +u8* getHeapEnd(); +u8* getHeapLimit(); +int getMemUsed(); int getMemFree(); \ No newline at end of file diff --git a/source/dialogue.cpp b/source/dialogue.cpp index ffabbcf..a5159df 100644 --- a/source/dialogue.cpp +++ b/source/dialogue.cpp @@ -1,266 +1,266 @@ -#include "dialogue.h" - -Dialogue::Dialogue() -{ -} - -void Dialogue::Load(ScriptId script, volatile int frame) -{ - Start(SCRIPTS[script].speaker, SCRIPTS[script].lines, SCRIPTS[script].emotes, SCRIPTS[script].length, frame); -} - -void Dialogue::Start(Speaker speaker, const char script[][128], const Emote emotes[64], int scriptLength, int startFrame) -{ - // Set dialog params - currentSpeaker = speaker; - currentLineIndex = 0; - currentLineStartFrame = startFrame; - currentSpeakerAnimation = 0; - currentScriptLength = scriptLength; - - // copy script to currentScript - for (int i = 0; i < scriptLength; i++) - { - strncpy(currentScript[i], script[i], 128); - currentEmotes[i] = emotes[i]; - } - - // Set lab background - NF_LoadTiledBg(PORTRAITS[currentSpeaker].bgName, PORTRAITS[currentSpeaker].bgName, 256, 256); - NF_CreateTiledBg(1, SCRIPT_BG, PORTRAITS[currentSpeaker].bgName); - - // Load sprites - NF_LoadSpriteGfx(PORTRAITS[currentSpeaker].spriteName, 1, 64, 64); - NF_LoadSpritePal(PORTRAITS[currentSpeaker].spriteName, 1); - NF_VramSpriteGfx(1, 1, 0, false); - NF_VramSpritePal(1, 1, 0); - - // Load emotes - NF_LoadSpriteGfx(DIALOGUE_EMOTES_SPRITE_NAME, 2, 32, 32); - NF_LoadSpritePal(DIALOGUE_EMOTES_SPRITE_NAME, 2); - NF_VramSpriteGfx(1, 2, 2, false); - NF_VramSpritePal(1, 2, 2); - NF_CreateSprite(1, DIALOGUE_EMOTES_SPRITE, 2, 2, DIALOGUE_EMOTE_POS[0], DIALOGUE_EMOTE_POS[1]); - NF_ShowSprite(1, DIALOGUE_EMOTES_SPRITE, false); - NF_EnableSpriteRotScale(1, DIALOGUE_EMOTES_SPRITE, 12, true); - NF_SpriteRotScale(1, DIALOGUE_EMOTES_SPRITE, 0, 512, 512); - - // Create, position & scale sprite - NF_CreateSprite(1, 10, 0, 0, 64, -21); - NF_SpriteFrame(1, 10, PORTRAITS[currentSpeaker].eyes[0]); - NF_CreateSprite(1, 11, 0, 0, 64, 43); - NF_SpriteFrame(1, 11, PORTRAITS[currentSpeaker].mouthes[0]); - NF_EnableSpriteRotScale(1, 10, 12, true); - NF_EnableSpriteRotScale(1, 11, 12, true); - NF_SpriteRotScale(1, 10, 0, 512, 512); - NF_SpriteRotScale(1, 11, 0, 512, 512); -} - -bool Dialogue::Update(volatile int frame, uint32 keys, Sound *sound) -{ - Emote lineEmote = currentEmotes[currentLineIndex]; - int charsToPrint = (frame - currentLineStartFrame) / 3; - char currentLine[128]; - strncpy(currentLine, currentScript[currentLineIndex], 128); - bool endOfLine = false; - int lineLength = strlen(currentLine); - if (charsToPrint >= lineLength) - { - endOfLine = true; - charsToPrint = lineLength; - } - - // Update emotes - if (lineEmote != EMOTE_NONE) - { - if (lineEmote == EMOTE_EXCLAMATION && charsToPrint < 4) - { - rumble(frame % 2); - } - NF_SpriteFrame(1, DIALOGUE_EMOTES_SPRITE, lineEmote); - NF_ShowSprite(1, DIALOGUE_EMOTES_SPRITE, true); - - // Emote bob animation - int bob = ((frame % 100) > 50 ? (100 - (frame % 100)) : (frame % 100)) / (10 - (lineEmote / 2)); - NF_MoveSprite(1, DIALOGUE_EMOTES_SPRITE, DIALOGUE_EMOTE_POS[0], DIALOGUE_EMOTE_POS[1] + bob); - } - else - { - NF_ShowSprite(1, DIALOGUE_EMOTES_SPRITE, false); - } - - // Blink animation - int blinkRange = (lastBlink - frame); - bool isBlinking = false; - if (blinkRange < 10 && blinkRange > 0) - { - isBlinking = true; - } - if (blinkRange <= 0) - { - lastBlink = frame + (rand() % 100) + 100; - } - NF_SpriteFrame(1, 10, PORTRAITS[currentSpeaker].eyes[isBlinking]); - - // Update mouth animation - if (!endOfLine) - { - int speechFrame = (frame - currentLineStartFrame); - if (speechFrame % 5 == 0) - { - sound->PlaySFX(SFX_DIALOGUE_BLEEP); - } - if (speechFrame % 10 == 0) - { - currentSpeakerAnimation++; - if (currentSpeakerAnimation > 3) - { - currentSpeakerAnimation = 0; - } - NF_SpriteFrame(1, 11, PORTRAITS[currentSpeaker].mouthes[currentSpeakerAnimation]); - } - } - else - { - NF_SpriteFrame(1, 11, PORTRAITS[currentSpeaker].mouthes[0]); - } - - // Handle input - if (((keys & KEY_A) || (keys & KEY_TOUCH))) - { - if (!endOfLine) - { - currentLineStartFrame = -(lineLength * 10); - charsToPrint = lineLength; - endOfLine = true; - } - else - { - currentLineIndex++; - currentLineStartFrame = frame; - sound->PlaySFX(SFX_MENU_SELECT); - - if (currentLineIndex >= currentScriptLength) - { - return true; - } - } - } - else if (keys & KEY_START) - { - currentLineStartFrame = -(lineLength * 10); - charsToPrint = lineLength; - endOfLine = true; - return true; - } - - char lineToPrint[charsToPrint]; - strncpy(lineToPrint, currentLine, charsToPrint); - NF_ClearTextLayer(1, 0); - - // Print dialogue lines - int line1Chars = charsToPrint > CHARACTERS_PER_DIALOGUE_LINE ? CHARACTERS_PER_DIALOGUE_LINE : charsToPrint; - char line1[line1Chars]; - strncpy(line1, lineToPrint, line1Chars); - line1[line1Chars] = '\0'; - NF_WriteText(1, 0, 1, 18, line1); - - int line2Chars = charsToPrint > CHARACTERS_PER_DIALOGUE_LINE ? charsToPrint - CHARACTERS_PER_DIALOGUE_LINE : 0; - if (line2Chars > 0) - { - char line2[line2Chars]; - strncpy(line2, lineToPrint + CHARACTERS_PER_DIALOGUE_LINE, line2Chars); - line2[line2Chars] = '\0'; - NF_WriteText(1, 0, 1, 20, line2); - } - if (endOfLine) - { - indicatorFrame++; - NF_WriteText(1, 0, 30, 20, (indicatorFrame > 30 ? ">" : " ")); - if (indicatorFrame > 60) - { - indicatorFrame = 0; - } - } - return false; -} - -void Dialogue::Unload() -{ - // Remove bg - NF_DeleteTiledBg(1, SCRIPT_BG); - NF_UnloadTiledBg(PORTRAITS[currentSpeaker].bgName); - - // Remove sprites - NF_DeleteSprite(1, 10); - NF_DeleteSprite(1, 11); - NF_ShowSprite(1, DIALOGUE_EMOTES_SPRITE, false); - NF_DeleteSprite(1, DIALOGUE_EMOTES_SPRITE); - NF_ClearTextLayer(1, 0); - - // Remove stuff from RAM, VRAM - NF_UnloadSpriteGfx(1); - NF_UnloadSpritePal(1); - NF_FreeSpriteGfx(1, 0); - NF_UnloadSpriteGfx(2); - NF_UnloadSpritePal(2); - NF_FreeSpriteGfx(1, 2); -} - -int Dialogue::GetTutorialDialogue(int tutorialProgress, int batchProgress, Tile playerTile) -{ - switch (tutorialProgress) - { - case 0: - return SCRIPT_GALE_TUTORIAL_INTRO; - case 1: - return playerTile == MINIGAME_VALVE ? SCRIPT_GALE_TUTORIAL_VALVE : -1; - case 2: - return batchProgress == 1 ? SCRIPT_GALE_TUTORIAL_VALVE_COMPLETE : -1; - case 3: - return playerTile == MINIGAME_PESTLE ? SCRIPT_GALE_TUTORIAL_PESTLE : -1; - case 4: - return batchProgress == 2 ? SCRIPT_GALE_TUTORIAL_PESTLE_COMPLETE : -1; - case 5: - return playerTile == MINIGAME_MIX ? SCRIPT_GALE_TUTORIAL_MIX : -1; - case 6: - return batchProgress == 3 ? SCRIPT_GALE_TUTORIAL_MIX_COMPLETE : -1; - case 7: - return playerTile == MINIGAME_PIPETTE ? SCRIPT_GALE_TUTORIAL_PIPETTE : -1; - case 8: - return batchProgress == 4 ? SCRIPT_GALE_TUTORIAL_PIPETTE_COMPLETE : -1; - case 9: - return playerTile == MINIGAME_POUR ? SCRIPT_GALE_TUTORIAL_POUR : -1; - case 10: - return batchProgress == 5 ? SCRIPT_GALE_TUTORIAL_POUR_COMPLETE : -1; - case 11: - return playerTile == MINIGAME_CRACK ? SCRIPT_GALE_TUTORIAL_CRACK : -1; - case 12: - return batchProgress == 0 ? SCRIPT_GALE_TUTORIAL_CRACK_COMPLETE : -1; - case 13: - return batchProgress == 1 ? SCRIPT_GUS_TUTORIAL_MULTIPLAYER : -1; - } - return -1; -} - -int Dialogue::GetStoryDialogue(int dialogueProgress, int batchProgress, int batchesComplete, Tile playerTile) -{ - switch (globalSave.currentDay) - { - case 0: - return dialogueProgress == 0 ? SCRIPT_GUS_DAY_1 : -1; - case 1: - return dialogueProgress == 1 ? SCRIPT_GALE_DAY_2 : -1; - case 2: - return dialogueProgress == 2 ? SCRIPT_GUS_DAY_3 : -1; - case 3: - return dialogueProgress == 3 ? SCRIPT_GALE_DAY_4 : -1; - case 4: - if (dialogueProgress == 5 && batchesComplete >= LEVEL_STORY_MODE[globalSave.currentDay].quota) - { - return globalSave.powerUps[PWR_EXPLOSIVES] ? SCRIPT_ENDING_GOOD : SCRIPT_ENDING_BAD; - } - return dialogueProgress == 4 ? SCRIPT_GUS_DAY_5 : -1; - } - return -1; +#include "dialogue.h" + +Dialogue::Dialogue() +{ +} + +void Dialogue::Load(ScriptId script, volatile int frame) +{ + Start(SCRIPTS[script].speaker, SCRIPTS[script].lines, SCRIPTS[script].emotes, SCRIPTS[script].length, frame); +} + +void Dialogue::Start(Speaker speaker, const char script[][128], const Emote emotes[64], int scriptLength, int startFrame) +{ + // Set dialog params + currentSpeaker = speaker; + currentLineIndex = 0; + currentLineStartFrame = startFrame; + currentSpeakerAnimation = 0; + currentScriptLength = scriptLength; + + // copy script to currentScript + for (int i = 0; i < scriptLength; i++) + { + strncpy(currentScript[i], script[i], 128); + currentEmotes[i] = emotes[i]; + } + + // Set lab background + NF_LoadTiledBg(PORTRAITS[currentSpeaker].bgName, PORTRAITS[currentSpeaker].bgName, 256, 256); + NF_CreateTiledBg(1, SCRIPT_BG, PORTRAITS[currentSpeaker].bgName); + + // Load sprites + NF_LoadSpriteGfx(PORTRAITS[currentSpeaker].spriteName, 1, 64, 64); + NF_LoadSpritePal(PORTRAITS[currentSpeaker].spriteName, 1); + NF_VramSpriteGfx(1, 1, 0, false); + NF_VramSpritePal(1, 1, 0); + + // Load emotes + NF_LoadSpriteGfx(DIALOGUE_EMOTES_SPRITE_NAME, 2, 32, 32); + NF_LoadSpritePal(DIALOGUE_EMOTES_SPRITE_NAME, 2); + NF_VramSpriteGfx(1, 2, 2, false); + NF_VramSpritePal(1, 2, 2); + NF_CreateSprite(1, DIALOGUE_EMOTES_SPRITE, 2, 2, DIALOGUE_EMOTE_POS[0], DIALOGUE_EMOTE_POS[1]); + NF_ShowSprite(1, DIALOGUE_EMOTES_SPRITE, false); + NF_EnableSpriteRotScale(1, DIALOGUE_EMOTES_SPRITE, 12, true); + NF_SpriteRotScale(1, DIALOGUE_EMOTES_SPRITE, 0, 512, 512); + + // Create, position & scale sprite + NF_CreateSprite(1, 10, 0, 0, 64, -21); + NF_SpriteFrame(1, 10, PORTRAITS[currentSpeaker].eyes[0]); + NF_CreateSprite(1, 11, 0, 0, 64, 43); + NF_SpriteFrame(1, 11, PORTRAITS[currentSpeaker].mouthes[0]); + NF_EnableSpriteRotScale(1, 10, 12, true); + NF_EnableSpriteRotScale(1, 11, 12, true); + NF_SpriteRotScale(1, 10, 0, 512, 512); + NF_SpriteRotScale(1, 11, 0, 512, 512); +} + +bool Dialogue::Update(volatile int frame, uint32 keys, Sound *sound) +{ + Emote lineEmote = currentEmotes[currentLineIndex]; + int charsToPrint = (frame - currentLineStartFrame) / 3; + char currentLine[128]; + strncpy(currentLine, currentScript[currentLineIndex], 128); + bool endOfLine = false; + int lineLength = strlen(currentLine); + if (charsToPrint >= lineLength) + { + endOfLine = true; + charsToPrint = lineLength; + } + + // Update emotes + if (lineEmote != EMOTE_NONE) + { + if (lineEmote == EMOTE_EXCLAMATION && charsToPrint < 4) + { + rumble(frame % 2); + } + NF_SpriteFrame(1, DIALOGUE_EMOTES_SPRITE, lineEmote); + NF_ShowSprite(1, DIALOGUE_EMOTES_SPRITE, true); + + // Emote bob animation + int bob = ((frame % 100) > 50 ? (100 - (frame % 100)) : (frame % 100)) / (10 - (lineEmote / 2)); + NF_MoveSprite(1, DIALOGUE_EMOTES_SPRITE, DIALOGUE_EMOTE_POS[0], DIALOGUE_EMOTE_POS[1] + bob); + } + else + { + NF_ShowSprite(1, DIALOGUE_EMOTES_SPRITE, false); + } + + // Blink animation + int blinkRange = (lastBlink - frame); + bool isBlinking = false; + if (blinkRange < 10 && blinkRange > 0) + { + isBlinking = true; + } + if (blinkRange <= 0) + { + lastBlink = frame + (rand() % 100) + 100; + } + NF_SpriteFrame(1, 10, PORTRAITS[currentSpeaker].eyes[isBlinking]); + + // Update mouth animation + if (!endOfLine) + { + int speechFrame = (frame - currentLineStartFrame); + if (speechFrame % 5 == 0) + { + sound->PlaySFX(SFX_DIALOGUE_BLEEP); + } + if (speechFrame % 10 == 0) + { + currentSpeakerAnimation++; + if (currentSpeakerAnimation > 3) + { + currentSpeakerAnimation = 0; + } + NF_SpriteFrame(1, 11, PORTRAITS[currentSpeaker].mouthes[currentSpeakerAnimation]); + } + } + else + { + NF_SpriteFrame(1, 11, PORTRAITS[currentSpeaker].mouthes[0]); + } + + // Handle input + if (((keys & KEY_A) || (keys & KEY_TOUCH))) + { + if (!endOfLine) + { + currentLineStartFrame = -(lineLength * 10); + charsToPrint = lineLength; + endOfLine = true; + } + else + { + currentLineIndex++; + currentLineStartFrame = frame; + sound->PlaySFX(SFX_MENU_SELECT); + + if (currentLineIndex >= currentScriptLength) + { + return true; + } + } + } + else if (keys & KEY_START) + { + currentLineStartFrame = -(lineLength * 10); + charsToPrint = lineLength; + endOfLine = true; + return true; + } + + char lineToPrint[charsToPrint]; + strncpy(lineToPrint, currentLine, charsToPrint); + NF_ClearTextLayer(1, 0); + + // Print dialogue lines + int line1Chars = charsToPrint > CHARACTERS_PER_DIALOGUE_LINE ? CHARACTERS_PER_DIALOGUE_LINE : charsToPrint; + char line1[line1Chars]; + strncpy(line1, lineToPrint, line1Chars); + line1[line1Chars] = '\0'; + NF_WriteText(1, 0, 1, 18, line1); + + int line2Chars = charsToPrint > CHARACTERS_PER_DIALOGUE_LINE ? charsToPrint - CHARACTERS_PER_DIALOGUE_LINE : 0; + if (line2Chars > 0) + { + char line2[line2Chars]; + strncpy(line2, lineToPrint + CHARACTERS_PER_DIALOGUE_LINE, line2Chars); + line2[line2Chars] = '\0'; + NF_WriteText(1, 0, 1, 20, line2); + } + if (endOfLine) + { + indicatorFrame++; + NF_WriteText(1, 0, 30, 20, (indicatorFrame > 30 ? ">" : " ")); + if (indicatorFrame > 60) + { + indicatorFrame = 0; + } + } + return false; +} + +void Dialogue::Unload() +{ + // Remove bg + NF_DeleteTiledBg(1, SCRIPT_BG); + NF_UnloadTiledBg(PORTRAITS[currentSpeaker].bgName); + + // Remove sprites + NF_DeleteSprite(1, 10); + NF_DeleteSprite(1, 11); + NF_ShowSprite(1, DIALOGUE_EMOTES_SPRITE, false); + NF_DeleteSprite(1, DIALOGUE_EMOTES_SPRITE); + NF_ClearTextLayer(1, 0); + + // Remove stuff from RAM, VRAM + NF_UnloadSpriteGfx(1); + NF_UnloadSpritePal(1); + NF_FreeSpriteGfx(1, 0); + NF_UnloadSpriteGfx(2); + NF_UnloadSpritePal(2); + NF_FreeSpriteGfx(1, 2); +} + +int Dialogue::GetTutorialDialogue(int tutorialProgress, int batchProgress, Tile playerTile) +{ + switch (tutorialProgress) + { + case 0: + return SCRIPT_GALE_TUTORIAL_INTRO; + case 1: + return playerTile == MINIGAME_VALVE ? SCRIPT_GALE_TUTORIAL_VALVE : -1; + case 2: + return batchProgress == 1 ? SCRIPT_GALE_TUTORIAL_VALVE_COMPLETE : -1; + case 3: + return playerTile == MINIGAME_PESTLE ? SCRIPT_GALE_TUTORIAL_PESTLE : -1; + case 4: + return batchProgress == 2 ? SCRIPT_GALE_TUTORIAL_PESTLE_COMPLETE : -1; + case 5: + return playerTile == MINIGAME_MIX ? SCRIPT_GALE_TUTORIAL_MIX : -1; + case 6: + return batchProgress == 3 ? SCRIPT_GALE_TUTORIAL_MIX_COMPLETE : -1; + case 7: + return playerTile == MINIGAME_PIPETTE ? SCRIPT_GALE_TUTORIAL_PIPETTE : -1; + case 8: + return batchProgress == 4 ? SCRIPT_GALE_TUTORIAL_PIPETTE_COMPLETE : -1; + case 9: + return playerTile == MINIGAME_POUR ? SCRIPT_GALE_TUTORIAL_POUR : -1; + case 10: + return batchProgress == 5 ? SCRIPT_GALE_TUTORIAL_POUR_COMPLETE : -1; + case 11: + return playerTile == MINIGAME_CRACK ? SCRIPT_GALE_TUTORIAL_CRACK : -1; + case 12: + return batchProgress == 0 ? SCRIPT_GALE_TUTORIAL_CRACK_COMPLETE : -1; + case 13: + return batchProgress == 1 ? SCRIPT_GUS_TUTORIAL_MULTIPLAYER : -1; + } + return -1; +} + +int Dialogue::GetStoryDialogue(int dialogueProgress, int batchProgress, int batchesComplete, Tile playerTile) +{ + switch (globalSave.currentDay) + { + case 0: + return dialogueProgress == 0 ? SCRIPT_GUS_DAY_1 : -1; + case 1: + return dialogueProgress == 1 ? SCRIPT_GALE_DAY_2 : -1; + case 2: + return dialogueProgress == 2 ? SCRIPT_GUS_DAY_3 : -1; + case 3: + return dialogueProgress == 3 ? SCRIPT_GALE_DAY_4 : -1; + case 4: + if (dialogueProgress == 5 && batchesComplete >= LEVEL_STORY_MODE[globalSave.currentDay].quota) + { + return globalSave.powerUps[PWR_EXPLOSIVES] ? SCRIPT_ENDING_GOOD : SCRIPT_ENDING_BAD; + } + return dialogueProgress == 4 ? SCRIPT_GUS_DAY_5 : -1; + } + return -1; } \ No newline at end of file diff --git a/source/dialogue.h b/source/dialogue.h index a3a1fd6..84aaab7 100644 --- a/source/dialogue.h +++ b/source/dialogue.h @@ -1,560 +1,561 @@ -#pragma once - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "save.hpp" -#include "sound.h" -#include "enums.h" -#include "levels.h" -#include "rumble.h" - -enum Speaker -{ - DUMMY, - GALE, - GUS -}; - -enum Emote -{ - EMOTE_NONE = -1, - EMOTE_EXCLAMATION = 0, - EMOTE_QUESTION = 1, - EMOTE_ANGRY = 2 -}; - -struct Script -{ - const Speaker speaker; - const int length; - const char lines[64][128]; - const Emote emotes[64]; -}; - -struct Portrait -{ - const Speaker speaker; - const char spriteName[32]; - const char bgName[32]; - const int eyes[2]; - const int mouthes[4]; -}; - -enum ScriptId -{ - SCRIPT_DUMMY_TEST, - SCRIPT_GUS_IDLE, - SCRIPT_GALE_TUTORIAL_IDLE, - SCRIPT_GALE_TUTORIAL_INTRO, - SCRIPT_GALE_TUTORIAL_VALVE, - SCRIPT_GALE_TUTORIAL_VALVE_COMPLETE, - SCRIPT_GALE_TUTORIAL_PESTLE, - SCRIPT_GALE_TUTORIAL_PESTLE_COMPLETE, - SCRIPT_GALE_TUTORIAL_MIX, - SCRIPT_GALE_TUTORIAL_MIX_COMPLETE, - SCRIPT_GALE_TUTORIAL_PIPETTE, - SCRIPT_GALE_TUTORIAL_PIPETTE_COMPLETE, - SCRIPT_GALE_TUTORIAL_POUR, - SCRIPT_GALE_TUTORIAL_POUR_COMPLETE, - SCRIPT_GALE_TUTORIAL_CRACK, - SCRIPT_GALE_TUTORIAL_CRACK_COMPLETE, - SCRIPT_GUS_TUTORIAL_MULTIPLAYER, - SCRIPT_GUS_DAY_1, - SCRIPT_GALE_DAY_2, - SCRIPT_GUS_DAY_3, - SCRIPT_GALE_DAY_4, - SCRIPT_GUS_DAY_5, - SCRIPT_ENDING_GOOD, - SCRIPT_ENDING_BAD, - SCRIPT_GUS_ANGUISH -}; - -const Script SCRIPTS[64] = { - {DUMMY, - 4, - { - "Anger", - "Exclamation", - "Question", - "None" - }, - { - EMOTE_ANGRY, - EMOTE_EXCLAMATION, - EMOTE_QUESTION, - EMOTE_NONE, - }}, - {GUS, - 6, - { - "Walter.", - "We have a deal.", - "You're going to cook for me.", - "You will do so efficiently.", - "Three hundred pounds a week.", - "That is your goal." - "I suggest you get a move on." - }, - {EMOTE_ANGRY, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_EXCLAMATION}}, - {GALE, - 5, - { - "M-Mister White, we're wastingtime!", - "We need to get back to work!", - "Are you feeling okay?", - "If you're lost, check the Floor Plan.", - "Your next step is marked witha little red X!", - }, - {EMOTE_EXCLAMATION, - EMOTE_NONE, - EMOTE_QUESTION, - EMOTE_NONE, - EMOTE_NONE}}, - {GALE, - 6, - { - "M-Mister White!", - "How good it is to see you again!", - "I-I'd be delighted to give you a little refresher.", - "Allow me to take the lead!", - "First and foremost, head to the control valve.", - "I've marked it on the floor plan with a fun red X!" - }, - {EMOTE_EXCLAMATION, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE}}, - {GALE, - 5, - { - "Very good! You've turned on the lab ventilation.", - "By the way, did you see the Batch Checklist?", - "As you work, items will be checked off.", - "You'll need to cook batches to finish your quota!", - "Now! Let's turn on the lab ventillation!", - }, - {EMOTE_NONE, - EMOTE_QUESTION, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_EXCLAMATION}}, - {GALE, - 9, - { - "Heh, looks like that valve needs some oil.", - "The purity of the batch depends on our speed!", - "Don't forget: Dilly-dally for too long at a task...", - "and the quality of the cook will suffer!", - "This will affect the yield. In other words...", - "How much the batch will contribute to the quota.", - "Be sure to check the Purity Meter to mind this.", - "Next up, we'll need to pestle the critical solutes", - "...to a fine powder for dissolving. To the mortar!", - }, - {EMOTE_NONE, - EMOTE_EXCLAMATION, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE}}, - {GALE, - 3, - { - "Oh, what fun! It's time to use the pestle and mortar!", - "Drag the pestle in an up- and-around motion.", - "That'll grind the solutes to a fine powder.", - }, - {EMOTE_EXCLAMATION, - EMOTE_NONE, - EMOTE_NONE}}, - {GALE, - 3, - { - "As expected of Mister White!", - "The solutes are ground to perfection.", - "Now we can use the mixing plant!", - "This will mix our solution into the methylamine base." - }, - {EMOTE_NONE, - EMOTE_NONE, - EMOTE_EXCLAMATION}}, - {GALE, - 7, - { - "Say hello to Sally the mixer.Isn't she a beauty?!", - "She'll do the work for us-- all we need to do is use...", - "...the cranks to position the flexi-pipe.", - "The crank on your right will adjust it vertically...", - "And the crank on your left will adjust it horizontally.", - "Line up the pipe's head with the tank's coupling hole...", - "...and it'll click into place and start mixing!" - }, - {EMOTE_EXCLAMATION, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_EXCLAMATION}}, - {GALE, - 4, - { - "Thank you, Sally!", - "(...)", - "...Let's move on to the next task.", - "To the test tubes!" - }, - {EMOTE_EXCLAMATION, - EMOTE_QUESTION, - EMOTE_NONE, - EMOTE_NONE}}, - {GALE, - 7, - { - "Now we've mixed up the solutes, we'll need to...", - "add a dash of reagent to start the reaction.", - "Drag the pipette over each test tube, then...", - "...when it's in position, release the stylus!", - "The pipette will let out a droplet!", - "Make sure it's aligned with the test tube, and the...", - "...reagent will do the rest!" - }, - {EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_EXCLAMATION}}, - {GALE, - 4, - { - "Excellent! Just look at thosetubes go.", - "Ooh, we're nearly done!", - "Isn't this exciting?", - "Next up, pouring our product into proving trays!" - }, - {EMOTE_EXCLAMATION, - EMOTE_NONE, - EMOTE_EXCLAMATION, - EMOTE_NONE}}, - {GALE, - 6, - { - "It's pouring time!", - "The methamphetamine solution needs pouring into trays.", - "Tap the switch labeled \"Pump\"to start the flow.", - "You need to fill it preciselyto the line-no more or less.", - "Use the drain switch to lowerthe level if you need to!", - "Tap elsewhere on the screen to deactivate both switches." - }, - {EMOTE_EXCLAMATION, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE}}, - {GALE, - 2, - { - "Excellent work! We're nearly there.", - "The last step is fracturing the proven methamphetamine.", - }, - {EMOTE_NONE, - EMOTE_EXCLAMATION}}, - {GALE, - 7, - { - "It's finally time for my favorite step!", - "Cracking the methamphetamine into crystals.", - "You'll need to smash each part of the tray.", - "Once broken, slide each crystal to below the", - "tray to be ready for bagging.", - "After this step, the batch's yield will be calculated.", - "This will be automatically deducted from the quota.", - }, - {EMOTE_EXCLAMATION, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE}}, - {GALE, - 6, - { - "You did it! Excellent work!", - "I hope that gave you a good refresher on the game!", - "To finish your quota in time,you'll need be both...", - "...quick and accurate at eachtask!", - "I'll leave the next batch in your capable hands!", - "Good luck, Mister White!" - }, - {EMOTE_EXCLAMATION, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_EXCLAMATION}}, - {GUS, - 8, - { - "Good evening.", - "I trust Gale's refresher was ...Useful?", - "Allow me to remind you of an old addage:", - "Twice the pride, double the fall.", - "That is of course to remind you that with", - "another Nintendo DS system, you can compete", - "with Jesse in Multiplayer Vs. Mode.", - "A pleasure doing business with you as always." - }, - {EMOTE_NONE, - EMOTE_QUESTION, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE}}, - {GUS, - 12, - { - "Good morning.", - "I trust that you are well.", - "I have prepared a new batch of chemicals for you.", - "I trust you'll find them to your satisfaction.", - "Your quota for today is eightunits.", - "I know you won't disappoint.", - "Allow me to remind you of ourdeal.", - "You shall be paid handsomely for your work.", - "$30 per unit of product. Plusbonuses for quick delivery.", - "Should you maintain a purity level of 100\% all day...", - "...You shall receive some additional compensation.", - "Good luck." - }, - { - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE - } - }, - {GALE, - 10, - { - "(...)", - "M-M-Mister White!", - "(...)", - "I-I-Uh...Don't mind me!", - "I'm... Just here to observe today...", - "(...)", - "Misterfringtoldmetowatchyou", - "(...)", - "Egad! I said too much...", - "I-I'll just be going now..." - }, - { - EMOTE_NONE, - EMOTE_EXCLAMATION, - EMOTE_NONE, - EMOTE_EXCLAMATION, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_QUESTION, - EMOTE_EXCLAMATION, - EMOTE_NONE - } - }, - {GUS, - 8, - { - "Hello again.", - "As you can see, your quota has increased.", - "I apologise for putting such a burden upon you...", - "But I know you can handle it.On a separate matter...", - "I am told you have been consulting after work with", - "...your lawyer.", - "I have no qualms with this. But I trust details of our", - "...arrangement remain... Confidential." - }, - { - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE - } - }, - {GALE, - 8, - { - "M-M-M-M-M-M-M-M-M-M-M-Mister W-W-W-W-W-White...", - "I-I-I'm just here to... observe today...", - "(you gotta get out of here)", - "(the boss is coming)", - "(tomorrow after work)", - "(he... he...)", - "(he's watching now, too.)", - "(you need to come up with a plan...)", - }, - { - EMOTE_EXCLAMATION, - EMOTE_EXCLAMATION, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE - } - }, - {GUS, - 6, - { - "Good morning.", - "After work today, I would like to speak with you.", - "Please make sure you are available.", - "I have a proposition for you.", - "That is all.", - "I will make my way into the lab this evening.", - }, - { - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE - } - }, - {GALE, - 13, - { - "M-M-Mister White!", - "(he's coming, isn't he?)", - "(you need to get out.)", - "(...)", - "(golly gosh! are those... explosives?)", - "(you're going to blow up the lab?!)", - "(...)", - "(but what about Sally...?)", - "(...)", - "I'll help you.", - "But I'll need you to buy me some time.", - "One last batch. That's all I need.", - "We're in this together, sir." - }, - { - EMOTE_EXCLAMATION, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE - } - }, - {GUS, - 7, - { - "Walter.", - "Have you ever heard the expression...", - "...\"The road to hell is pavedwith good intentions?\"", - "I'm afraid I won't be needingyour services any more.", - "I have nothing more to say toyou.", - "Our arrangement is finished.", - "Goodbye." - }, - { - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE, - EMOTE_NONE - } - }, - {GUS, - 1, - { - "HAAAAAAAAAAHHHHHH!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - }, - { - EMOTE_ANGRY - } - }, - }; - -const Portrait PORTRAITS[64] = { - {DUMMY, "sprite/dummy", "bg/guassian", {0, 1}, {2, 3, 4, 5}}, - {GALE, "sprite/gale", "bg/lab_gale", {0, 1}, {2, 3, 4, 5}}, - {GUS, "sprite/gus", "bg/pollos_gus", {0, 1}, {2, 3, 4, 5}} -}; - -class Dialogue -{ -private: - const char DIALOGUE_EMOTES_SPRITE_NAME[32] = "sprite/dialogue_emotes"; - const int DIALOGUE_EMOTE_POS[2] = {144, -10}; - const int CHARACTERS_PER_DIALOGUE_LINE = 29; - const int SCRIPT_BG = 1; - const int DIALOGUE_EMOTES_SPRITE = 9; - - Speaker currentSpeaker = GALE; - char currentScript[64][128]; - Emote currentEmotes[64]; - int currentScriptLength = 0; - int currentLineIndex = 0; - volatile int currentLineStartFrame = 0; - volatile int indicatorFrame = 0; - int currentSpeakerAnimation = 0; - int lastBlink = 0; - - void Start(Speaker speaker, const char script[][128], const Emote emotes[64], int scriptLength, int startFrame); - -public: - Dialogue(); - void Load(ScriptId script, volatile int frame); - bool Update(volatile int frame, uint32 keys, Sound *sound); - void Unload(); - int GetTutorialDialogue(int tutorialProgress, int batchProgress, Tile playerTile); - int GetStoryDialogue(int dialogueProgress, int batchProgress, int batchesComplete, Tile playerTile); +#pragma once + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "save.hpp" +#include "sound.h" +#include "enums.h" +#include "levels.h" +#include "rumble.h" + +enum Speaker +{ + DUMMY, + GALE, + GUS +}; + +enum Emote +{ + EMOTE_NONE = -1, + EMOTE_EXCLAMATION = 0, + EMOTE_QUESTION = 1, + EMOTE_ANGRY = 2 +}; + +struct Script +{ + const Speaker speaker; + const int length; + const char lines[64][128]; + const Emote emotes[64]; +}; + +struct Portrait +{ + const Speaker speaker; + const char spriteName[32]; + const char bgName[32]; + const int eyes[2]; + const int mouthes[4]; +}; + +enum ScriptId +{ + SCRIPT_DUMMY_TEST, + SCRIPT_GUS_IDLE, + SCRIPT_GALE_TUTORIAL_IDLE, + SCRIPT_GALE_TUTORIAL_INTRO, + SCRIPT_GALE_TUTORIAL_VALVE, + SCRIPT_GALE_TUTORIAL_VALVE_COMPLETE, + SCRIPT_GALE_TUTORIAL_PESTLE, + SCRIPT_GALE_TUTORIAL_PESTLE_COMPLETE, + SCRIPT_GALE_TUTORIAL_MIX, + SCRIPT_GALE_TUTORIAL_MIX_COMPLETE, + SCRIPT_GALE_TUTORIAL_PIPETTE, + SCRIPT_GALE_TUTORIAL_PIPETTE_COMPLETE, + SCRIPT_GALE_TUTORIAL_POUR, + SCRIPT_GALE_TUTORIAL_POUR_COMPLETE, + SCRIPT_GALE_TUTORIAL_CRACK, + SCRIPT_GALE_TUTORIAL_CRACK_COMPLETE, + SCRIPT_GUS_TUTORIAL_MULTIPLAYER, + SCRIPT_GUS_DAY_1, + SCRIPT_GALE_DAY_2, + SCRIPT_GUS_DAY_3, + SCRIPT_GALE_DAY_4, + SCRIPT_GUS_DAY_5, + SCRIPT_ENDING_GOOD, + SCRIPT_ENDING_BAD, + SCRIPT_GUS_ANGUISH +}; + +const Script SCRIPTS[64] = { + {DUMMY, + 4, + { + "Anger", + "Exclamation", + "Question", + "None" + }, + { + EMOTE_ANGRY, + EMOTE_EXCLAMATION, + EMOTE_QUESTION, + EMOTE_NONE, + }}, + {GUS, + 6, + { + "Walter.", + "We have a deal.", + "You're going to cook for me.", + "You will do so efficiently.", + "Three hundred pounds a week.", + "That is your goal." + "I suggest you get a move on." + }, + {EMOTE_ANGRY, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_EXCLAMATION}}, + {GALE, + 5, + { + "M-Mister White, we're wastingtime!", + "We need to get back to work!", + "Are you feeling okay?", + "If you're lost, check the Floor Plan.", + "Your next step is marked witha little red X!", + }, + {EMOTE_EXCLAMATION, + EMOTE_NONE, + EMOTE_QUESTION, + EMOTE_NONE, + EMOTE_NONE}}, + {GALE, + 6, + { + "M-Mister White!", + "How good it is to see you again!", + "I-I'd be delighted to give you a little refresher.", + "Allow me to take the lead!", + "First and foremost, head to the control valve.", + "I've marked it on the floor plan with a fun red X!" + }, + {EMOTE_EXCLAMATION, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE}}, + {GALE, + 6, + { + "Very good! This is the lab ventilation valve.", + "By the way, did you see the Batch Checklist?", + "As you work, items will be checked off.", + "You'll need to cook batches to finish your quota!", + "Now! Let's turn on the lab ventilation!", + "Give the valve a nice turn!", + }, + {EMOTE_NONE, + EMOTE_QUESTION, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_EXCLAMATION}}, + {GALE, + 9, + { + "Heh, looks like that valve needs some oil.", + "The purity of the batch depends on our speed!", + "Don't forget: Dilly-dally for too long at a task...", + "and the quality of the cook will suffer!", + "This will affect the yield. In other words...", + "How much the batch will contribute to the quota.", + "Be sure to check the Purity Meter to mind this.", + "Next up, we'll need to pestle the critical solutes", + "...to a fine powder for dissolving. To the mortar!", + }, + {EMOTE_NONE, + EMOTE_EXCLAMATION, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE}}, + {GALE, + 3, + { + "Oh, what fun! It's time to use the pestle and mortar!", + "Drag the pestle in an up- and-around motion.", + "That'll grind the solutes to a fine powder.", + }, + {EMOTE_EXCLAMATION, + EMOTE_NONE, + EMOTE_NONE}}, + {GALE, + 3, + { + "As expected of Mister White!", + "The solutes are ground to perfection.", + "Now we can use the mixing plant!", + "This will mix our solution into the methylamine base." + }, + {EMOTE_NONE, + EMOTE_NONE, + EMOTE_EXCLAMATION}}, + {GALE, + 7, + { + "Say hello to Sally the mixer.Isn't she a beauty?!", + "She'll do the work for us-- all we need to do is use...", + "...the cranks to position the flexi-pipe.", + "The crank on your right will adjust it vertically...", + "And the crank on your left will adjust it horizontally.", + "Line up the pipe's head with the tank's coupling hole...", + "...and it'll click into place and start mixing!" + }, + {EMOTE_EXCLAMATION, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_EXCLAMATION}}, + {GALE, + 4, + { + "Thank you, Sally!", + "(...)", + "...Let's move on to the next task.", + "To the test tubes!" + }, + {EMOTE_EXCLAMATION, + EMOTE_QUESTION, + EMOTE_NONE, + EMOTE_NONE}}, + {GALE, + 7, + { + "Now we've mixed up the solutes, we'll need to...", + "add a dash of reagent to start the reaction.", + "Drag the pipette over each test tube, then...", + "...when it's in position, release the stylus!", + "The pipette will let out a droplet!", + "Make sure it's aligned with the test tube, and the...", + "...reagent will do the rest!" + }, + {EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_EXCLAMATION}}, + {GALE, + 4, + { + "Excellent! Just look at thosetubes go.", + "Ooh, we're nearly done!", + "Isn't this exciting?", + "Next up, pouring our product into proving trays!" + }, + {EMOTE_EXCLAMATION, + EMOTE_NONE, + EMOTE_EXCLAMATION, + EMOTE_NONE}}, + {GALE, + 6, + { + "It's pouring time!", + "The methamphetamine solution needs pouring into trays.", + "Tap the switch labeled \"Pump\"to start the flow.", + "You need to fill it preciselyto the line-no more or less.", + "Use the drain switch to lowerthe level if you need to!", + "Tap elsewhere on the screen to deactivate both switches." + }, + {EMOTE_EXCLAMATION, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE}}, + {GALE, + 2, + { + "Excellent work! We're nearly there.", + "The last step is fracturing the proven methamphetamine.", + }, + {EMOTE_NONE, + EMOTE_EXCLAMATION}}, + {GALE, + 7, + { + "It's finally time for my favorite step!", + "Cracking the methamphetamine into crystals.", + "You'll need to smash each part of the tray.", + "Once broken, slide each crystal to below the", + "tray to be ready for bagging.", + "After this step, the batch's yield will be calculated.", + "This will be automatically deducted from the quota.", + }, + {EMOTE_EXCLAMATION, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE}}, + {GALE, + 6, + { + "You did it! Excellent work!", + "I hope that gave you a good refresher on the game!", + "To finish your quota in time,you'll need be both...", + "...quick and accurate at eachtask!", + "I'll leave the next batch in your capable hands!", + "Good luck, Mister White!" + }, + {EMOTE_EXCLAMATION, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_EXCLAMATION}}, + {GUS, + 8, + { + "Good evening.", + "I trust Gale's refresher was ...Useful?", + "Allow me to remind you of an old adage:", + "Twice the pride, double the fall.", + "That is of course to remind you that with", + "another Nintendo DS system, you can compete", + "with Jesse in Multiplayer Vs. Mode.", + "A pleasure doing business with you as always." + }, + {EMOTE_NONE, + EMOTE_QUESTION, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE}}, + {GUS, + 12, + { + "Good morning.", + "I trust that you are well.", + "I have prepared a new batch of chemicals for you.", + "I trust you'll find them to your satisfaction.", + "Your quota for today is eightunits.", + "I know you won't disappoint.", + "Allow me to remind you of ourdeal.", + "You shall be paid handsomely for your work.", + "$30 per unit of product. Plusbonuses for quick delivery.", + "Should you maintain a purity level of 100\% all day...", + "...You shall receive some additional compensation.", + "Good luck." + }, + { + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE + } + }, + {GALE, + 10, + { + "(...)", + "M-M-Mister White!", + "(...)", + "I-I-Uh...Don't mind me!", + "I'm... Just here to observe today...", + "(...)", + "Misterfringtoldmetowatchyou", + "(...)", + "Egad! I said too much...", + "I-I'll just be going now..." + }, + { + EMOTE_NONE, + EMOTE_EXCLAMATION, + EMOTE_NONE, + EMOTE_EXCLAMATION, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_QUESTION, + EMOTE_EXCLAMATION, + EMOTE_NONE + } + }, + {GUS, + 8, + { + "Hello again.", + "As you can see, your quota has increased.", + "I apologize for putting such a burden upon you...", + "But I know you can handle it.On a separate matter...", + "I am told you have been consulting after work with", + "...your lawyer.", + "I have no qualms with this. But I trust details of our", + "...arrangement remain... Confidential." + }, + { + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE + } + }, + {GALE, + 8, + { + "M-M-M-M-M-M-M-M-M-M-M-Mister W-W-W-W-W-White...", + "I-I-I'm just here to... observe today...", + "(you gotta get out of here)", + "(the boss is coming)", + "(tomorrow after work)", + "(he... he...)", + "(he's watching now, too.)", + "(you need to come up with a plan...)", + }, + { + EMOTE_EXCLAMATION, + EMOTE_EXCLAMATION, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE + } + }, + {GUS, + 6, + { + "Good morning.", + "After work today, I would like to speak with you.", + "Please make sure you are available.", + "I have a proposition for you.", + "That is all.", + "I will make my way into the lab this evening.", + }, + { + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE + } + }, + {GALE, + 13, + { + "M-M-Mister White!", + "(he's coming, isn't he?)", + "(you need to get out.)", + "(...)", + "(golly gosh! are those... explosives?)", + "(you're going to blow up the lab?!)", + "(...)", + "(but what about Sally...?)", + "(...)", + "I'll help you.", + "But I'll need you to buy me some time.", + "One last batch. That's all I need.", + "We're in this together, sir." + }, + { + EMOTE_EXCLAMATION, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE + } + }, + {GUS, + 7, + { + "Walter.", + "Have you ever heard the expression...", + "...\"The road to hell is pavedwith good intentions?\"", + "I'm afraid I won't be needingyour services any more.", + "I have nothing more to say toyou.", + "Our arrangement is finished.", + "Goodbye." + }, + { + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE, + EMOTE_NONE + } + }, + {GUS, + 1, + { + "HAAAAAAAAAAHHHHHH!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" + }, + { + EMOTE_ANGRY + } + }, + }; + +const Portrait PORTRAITS[64] = { + {DUMMY, "sprite/dummy", "bg/guassian", {0, 1}, {2, 3, 4, 5}}, + {GALE, "sprite/gale", "bg/lab_gale", {0, 1}, {2, 3, 4, 5}}, + {GUS, "sprite/gus", "bg/pollos_gus", {0, 1}, {2, 3, 4, 5}} +}; + +class Dialogue +{ +private: + const char DIALOGUE_EMOTES_SPRITE_NAME[32] = "sprite/dialogue_emotes"; + const int DIALOGUE_EMOTE_POS[2] = {144, -10}; + const int CHARACTERS_PER_DIALOGUE_LINE = 29; + const int SCRIPT_BG = 1; + const int DIALOGUE_EMOTES_SPRITE = 9; + + Speaker currentSpeaker = GALE; + char currentScript[64][128]; + Emote currentEmotes[64]; + int currentScriptLength = 0; + int currentLineIndex = 0; + volatile int currentLineStartFrame = 0; + volatile int indicatorFrame = 0; + int currentSpeakerAnimation = 0; + int lastBlink = 0; + + void Start(Speaker speaker, const char script[][128], const Emote emotes[64], int scriptLength, int startFrame); + +public: + Dialogue(); + void Load(ScriptId script, volatile int frame); + bool Update(volatile int frame, uint32 keys, Sound *sound); + void Unload(); + int GetTutorialDialogue(int tutorialProgress, int batchProgress, Tile playerTile); + int GetStoryDialogue(int dialogueProgress, int batchProgress, int batchesComplete, Tile playerTile); }; \ No newline at end of file diff --git a/source/enums.h b/source/enums.h index 44c311a..4503b33 100644 --- a/source/enums.h +++ b/source/enums.h @@ -1,119 +1,119 @@ -#pragma once - -enum Mode -{ - MAIN_MENU, - DIALOGUE, - MOVE, - MINIGAME, - GAME_OVER, - PAUSED, - STORY_TRANSITION, - STORY_SHOP, - STORY_END_SCREEN -}; - -enum Direction -{ - LEFT, - DOWN, - RIGHT, - UP -}; - -enum GameType -{ - GAME_TUTORIAL, - GAME_STORY_MODE, - GAME_MULTIPLAYER_VS, - GAME_CUSTOM, -}; - -enum Tile -{ - // Fallback tile (not walkable) - VOID, - // Collision tiles (not walkable) - WALL, - // Empty floor tiles - FLOOR, - // Minigames - MINIGAME_VALVE, - MINIGAME_PESTLE, - MINIGAME_MIX, - MINIGAME_PIPETTE, - MINIGAME_POUR, - MINIGAME_CRACK -}; - -enum MenuSelection -{ - NONE, - OPEN_GAME_MENU, - START_TUTORIAL, - BACK_TO_TITLE, - TOGGLE_RUMBLE, - START_STORY_MODE, - OPEN_ROOM, - BACK_TO_MAIN_MENU, - SEARCH_FOR_ROOMS, - SKIP_LOGO, - START_MP_GAME, - BACK_TO_GAME_MENU, - OPEN_EXTRAS_MENU, - OPEN_SOUND_TEST_MENU, - OPEN_MINERALS_MENU, - BACK_TO_EXTRAS_MENU, - OPEN_CUSTOM_GAME_MENU, - START_CUSTOM_GAME, -}; - -enum MenuState -{ - // Title group - MENU_LOGO, - MENU_TITLE, - - // Main menu group - MENU_MAIN, - MENU_LOADING, - - // Game selection group - MENU_GAME_SELECT, - MENU_MP_HOST_ROOM, - MENU_MP_JOIN_ROOM, - - // Extras group - MENU_EXTRAS, - MENU_RUMBLE, - MENU_MUSIC_PLAYER, - MENU_MINERALS, - - // Custom game - MENU_CUSTOM_GAME, -}; - -enum MinigameResult -{ - RESULT_GOOD, - RESULT_OKAY, - RESULT_BAD -}; - -enum Character -{ - CHAR_WALT = 0, - CHAR_JESSE = 1, - CHAR_YEPPERS = 2 -}; - -const int POWER_UP_COUNT = 5; -const float WATCH_BATTERY_TIME_MULTIPLIER = 0.25f; -enum PowerUpType -{ - PWR_AIR_JORDANS, - PWR_STEEL_HAMMER, - PWR_GOLDEN_PESTLE, - PWR_WATCH_BATTERY, - PWR_EXPLOSIVES +#pragma once + +enum Mode +{ + MAIN_MENU, + DIALOGUE, + MOVE, + MINIGAME, + GAME_OVER, + PAUSED, + STORY_TRANSITION, + STORY_SHOP, + STORY_END_SCREEN +}; + +enum Direction +{ + LEFT, + DOWN, + RIGHT, + UP +}; + +enum GameType +{ + GAME_TUTORIAL, + GAME_STORY_MODE, + GAME_MULTIPLAYER_VS, + GAME_CUSTOM, +}; + +enum Tile +{ + // Fallback tile (not walkable) + VOID, + // Collision tiles (not walkable) + WALL, + // Empty floor tiles + FLOOR, + // Minigames + MINIGAME_VALVE, + MINIGAME_PESTLE, + MINIGAME_MIX, + MINIGAME_PIPETTE, + MINIGAME_POUR, + MINIGAME_CRACK +}; + +enum MenuSelection +{ + NONE, + OPEN_GAME_MENU, + START_TUTORIAL, + BACK_TO_TITLE, + TOGGLE_RUMBLE, + START_STORY_MODE, + OPEN_ROOM, + BACK_TO_MAIN_MENU, + SEARCH_FOR_ROOMS, + SKIP_LOGO, + START_MP_GAME, + BACK_TO_GAME_MENU, + OPEN_EXTRAS_MENU, + OPEN_SOUND_TEST_MENU, + OPEN_MINERALS_MENU, + BACK_TO_EXTRAS_MENU, + OPEN_CUSTOM_GAME_MENU, + START_CUSTOM_GAME, +}; + +enum MenuState +{ + // Title group + MENU_LOGO, + MENU_TITLE, + + // Main menu group + MENU_MAIN, + MENU_LOADING, + + // Game selection group + MENU_GAME_SELECT, + MENU_MP_HOST_ROOM, + MENU_MP_JOIN_ROOM, + + // Extras group + MENU_EXTRAS, + MENU_RUMBLE, + MENU_MUSIC_PLAYER, + MENU_MINERALS, + + // Custom game + MENU_CUSTOM_GAME, +}; + +enum MinigameResult +{ + RESULT_GOOD, + RESULT_OKAY, + RESULT_BAD +}; + +enum Character +{ + CHAR_WALT = 0, // Walter + CHAR_JESSE = 1, // Jesse + CHAR_YEPPERS = 2 // Kusuri +}; + +const int POWER_UP_COUNT = 5; +const float WATCH_BATTERY_TIME_MULTIPLIER = 0.25f; +enum PowerUpType +{ + PWR_AIR_JORDANS, + PWR_STEEL_HAMMER, + PWR_GOLDEN_PESTLE, + PWR_WATCH_BATTERY, + PWR_EXPLOSIVES }; \ No newline at end of file diff --git a/source/game.cpp b/source/game.cpp index 3333c32..18f6bb6 100644 --- a/source/game.cpp +++ b/source/game.cpp @@ -1,1585 +1,1598 @@ -#include "game.h" - -Game::Game() -{ - consoleDemoInit(); - consoleClear(); - printf("\n\n\n\n\n\n\n\n\n\n\n Getting Ready to Cook...\n"); - - // Initialize nitroFS - if (!nitroFSInit(NULL)) - { - printf("\x1B[31mFailed to start nitroFS\n"); - printf("\x1B[31mPlease reset the system\n"); - - while (1) - { - swiWaitForVBlank(); - } - } - swiWaitForVBlank(); - - // Set the root folder to the nitroFS filesystem - NF_SetRootFolder("NITROFS"); - - // Setup interrupt handlers - irqEnable(IRQ_HBLANK); - irqSet(IRQ_VBLANK, NE_VBLFunc); - irqSet(IRQ_HBLANK, NE_HBLFunc); - - // Prepare NiFi - nifiPrepare(); - - // Setup sound - sound.LoadSound(); - - // Load global save - globalSave.loadData(); -} - -void Game::WaitLoop() -{ - while (1) - { - swiWaitForVBlank(); - } -} - -void Game::Prepare2DGraphics() -{ - // Initialize sub 2D engine - NF_Set2D(1, 0); - - // Initialize sprites for sub screen (it uses VRAM D and I) - NF_InitSpriteBuffers(); - NF_InitSpriteSys(1); - - // Initialize tiled backgrounds and text systems for the 2D sub engine (it - // uses VRAM C and H) - NF_InitTiledBgBuffers(); - NF_InitTiledBgSys(1); - NF_InitTextSys(1); - - // Load assets from filesystem to RAM - NF_LoadTextFont("font/default", "normal", 256, 256, 0); - - // Create text layer - NF_CreateTextLayer(1, 0, 0, "normal"); -} - -void Game::Prepare3DGraphics() -{ - // When using nflib for the 2D sub screen engine, banks C and H are used for - // backgrounds and banks D and I are used for sprites. Nitro Engine only - // uses bank E for palettes, so the only thing we need to do is to tell - // Nitro Engine to only use banks A and B and leave C and D unused. - NE_Init3D(); - - // Reset the texture system - NE_TextureSystemReset(0, 0, NE_VRAM_AB); - - // Setup lighting - NE_LightSet(0, NE_White, -0.5, -0.5, -0.5); - - // Setup background color - NE_ClearColorSet(CLEAR_COLOR, 31, 63); - - // Enable shading and outlining - NE_ShadingEnable(true); - NE_OutliningEnable(true); - NE_OutliningSetColor(1, NE_Black); // Singleplayer player outline - NE_OutliningSetColor(2, NE_Green); // Multiplayer Player 1 outline - NE_OutliningSetColor(3, NE_LightBlue); // Multiplayer: Player 2 outline - - // Create camera - camera = NE_CameraCreate(); -} - -void Game::UpdateCamera() -{ - // Update the camera position based on mode - switch (mode) - { - case MAIN_MENU: - cameraTx = BASE_TITLE_CAMERA_POS[0]; - cameraTy = BASE_TITLE_CAMERA_POS[1]; - cameraTz = BASE_TITLE_CAMERA_POS[2]; - break; - case DIALOGUE: - case PAUSED: - if (enabledCheats[CHEAT_POV]) { - cameraTx = player.x; - cameraTy = 2.5 + (player.y); - cameraTz = player.z; - break; - } - cameraTx = player.x; - cameraTy = 7.5; - cameraTz = -2.5 - 2.5 + (player.z / 6); - break; - case GAME_OVER: - if (gameOverFrame < -10) - { - return; - } - if (!levelClear) - { - cameraTx = player.x - 0.5f; - cameraTy = 5 + (((float)gameOverFrame / 500.0f) * 13.0f); - cameraTz = player.z + 1.5f; - NE_CameraRotate(camera, 0, frame % 2 == 0 ? 1 : 0, 0); - } - else - { - cameraTx = player.x; - cameraTy = 13 - (((float)gameOverFrame / 500.0f) * 5.75f); - cameraTz = player.z - 4.5f; - } - break; - default: - if (enabledCheats[CHEAT_POV]) { - cameraTx = player.x; - cameraTy = 2.5 + (player.y); - cameraTz = player.z; - - // POV Camera pan controls (L/R) - if (keysHeld() & KEY_R) - { - NE_CameraRotate(camera, 0, 5, 0); - } - else if (keysHeld() & KEY_L) - { - NE_CameraRotate(camera, 0, -5, 0); - } - break; - } - cameraTx = player.x; - cameraTy = BASE_MOVE_CAMERA_POS[1] + (player.z / 6); - cameraTz = BASE_MOVE_CAMERA_POS[2] + (player.z / 6); - break; - } - - // Move camera towards target - float camXDiff = cameraTx - cameraX; - float camYDiff = cameraTy - cameraY; - float camZDiff = cameraTz - cameraZ; - float camXSpeed = camXDiff / 10; - float camYSpeed = camYDiff / 10; - float camZSpeed = camZDiff / 10; - - NE_CameraMove(camera, camXSpeed, camYSpeed, camZSpeed); - cameraX += camXSpeed; - cameraY += camYSpeed; - cameraZ += camZSpeed; -} - -void Game::TranslateCamera(float x, float y, float z) -{ - cameraTx += x; - cameraTy += y; - cameraTz += z; -} - -void Game::AwardMineral(MineralType mineralType, bool silent) -{ - if (this->customFlag) - { - return; - } - if (!globalSave.minerals[mineralType]) - { - globalSave.minerals[mineralType] = true; - - if (!silent) - { - sound.PlaySFX(SFX_MINERALS); - } - } -} - -void Game::TogglePauseMenu() -{ - if (!(mode == MOVE || mode == PAUSED)) - { - return; - } - bool pausing = mode == MOVE; - Transition(false, 0, TS_BOTTOM, frame); - - sound.PlaySFX(SFX_MENU_SELECT); - if (pausing) - { - player.canMove = false; - player.walking = false; - ToggleHud(false); - NF_LoadTiledBg(PAUSED_BG_NAME, PAUSED_BG_NAME, 256, 256); - NF_CreateTiledBg(1, PAUSED_BG, PAUSED_BG_NAME); - mode = PAUSED; - } - else - { - NF_DeleteTiledBg(1, PAUSED_BG); - NF_UnloadTiledBg(PAUSED_BG_NAME); - ToggleHud(true); - player.canMove = true; - mode = MOVE; - } - - Transition(true, 15, TS_BOTTOM, frame); -} - -// Show/hide bottom screen HUD -void Game::ToggleHud(bool show) -{ - bool isMultiplayer = gameType == GAME_MULTIPLAYER_VS; - if (show && !hudVisible) - { - NF_LoadTiledBg(isMultiplayer ? MP_HUD_BG_NAME : SP_HUD_BG_NAME, isMultiplayer ? MP_HUD_BG_NAME : SP_HUD_BG_NAME, 256, 256); - NF_CreateTiledBg(1, HUD_BG, isMultiplayer ? MP_HUD_BG_NAME : SP_HUD_BG_NAME); - - // Player markers - int playerSpriteFrame = isMultiplayer ? isHostClient() ? 1 : 2 : 0; - NF_CreateSprite(1, HUD_MAP_PLAYER_SPRITE, HUD_MAP_ICONS + 1, HUD_MAP_ICONS + 1, HUD_MAP_ORIGIN_COORDS[0], HUD_MAP_ORIGIN_COORDS[1]); - NF_SpriteFrame(1, HUD_MAP_PLAYER_SPRITE, playerSpriteFrame); - if (playerSpriteFrame > 0) - { - NF_CreateSprite(1, HUD_MAP_PLAYER2_SPRITE, HUD_MAP_ICONS + 1, HUD_MAP_ICONS + 1, HUD_MAP_ORIGIN_COORDS[0], HUD_MAP_ORIGIN_COORDS[1]); - NF_SpriteFrame(1, HUD_MAP_PLAYER2_SPRITE, playerSpriteFrame == 1 ? 2 : 1); - } - - // Map marker - NF_CreateSprite(1, HUD_MAP_MARKER_SPRITE, HUD_MAP_ICONS + 1, HUD_MAP_ICONS + 1, HUD_MAP_ORIGIN_COORDS[0], HUD_MAP_ORIGIN_COORDS[1]); - NF_SpriteFrame(1, HUD_MAP_MARKER_SPRITE, 3); - - // Checkboxes - for (int i = 0; i < HUD_CHECKBOX_COUNT; i++) - { - NF_CreateSprite(1, HUD_CHECKBOX_SPRITES[i], HUD_CHECKBOXES + 1, HUD_CHECKBOXES + 1, HUD_CHECKBOXES_COORDS[0] + (i / 2), HUD_CHECKBOXES_COORDS[1] + (i * HUD_CHECKBOX_Y_SPACING)); - NF_SpriteFrame(1, HUD_CHECKBOX_SPRITES[i], 0); - } - - // Timer and purity - for (int i = 0; i < 3; i++) - { - NF_CreateSprite(1, HUD_TIMER_SPRITES[i], HUD_NUMBERS + 1, HUD_NUMBERS + 1, HUD_TIMER_COORDS[0] + (i * 16), HUD_TIMER_COORDS[1]); - NF_SpriteFrame(1, HUD_TIMER_SPRITES[i], 0); - NF_CreateSprite(1, HUD_PURITY_SPRITES[i], HUD_NUMBERS + 1, HUD_NUMBERS + 1, HUD_PURITY_COORDS[0] + (i * 16), HUD_PURITY_COORDS[1]); - NF_SpriteFrame(1, HUD_PURITY_SPRITES[i], 0); - } - - // Quota / Multiplayer Vs. Score - for (int i = 0; i < 4; i++) - { - NF_CreateSprite(1, HUD_QUOTA_SPRITES[i], HUD_NUMBERS + 1, HUD_NUMBERS + 1, (HUD_QUOTA_COORDS[0] + (i >= 2 ? 12 : 0)) + (i * 16), HUD_QUOTA_COORDS[1]); - NF_SpriteFrame(1, HUD_QUOTA_SPRITES[i], 0); - } - } - else if (hudVisible) - { - NF_DeleteTiledBg(1, HUD_BG); - NF_UnloadTiledBg(isMultiplayer ? MP_HUD_BG_NAME : SP_HUD_BG_NAME); - NF_DeleteSprite(1, HUD_MAP_PLAYER_SPRITE); - if (isMultiplayer) - { - NF_DeleteSprite(1, HUD_MAP_PLAYER2_SPRITE); - } - NF_DeleteSprite(1, HUD_MAP_MARKER_SPRITE); - for (int i = 0; i < HUD_CHECKBOX_COUNT; i++) - { - NF_DeleteSprite(1, HUD_CHECKBOX_SPRITES[i]); - } - for (int i = 0; i < 3; i++) - { - NF_DeleteSprite(1, HUD_TIMER_SPRITES[i]); - NF_DeleteSprite(1, HUD_PURITY_SPRITES[i]); - } - for (int i = 0; i < 4; i++) - { - NF_DeleteSprite(1, HUD_QUOTA_SPRITES[i]); - } - } - hudVisible = show; -} - -void Game::UpdateHud() -{ - bool isMultiplayer = gameType == GAME_MULTIPLAYER_VS; - if (mode == MOVE) - { - NF_MoveSprite(1, HUD_MAP_PLAYER_SPRITE, HUD_MAP_ORIGIN_COORDS[0] - (player.x * 4.1), HUD_MAP_ORIGIN_COORDS[1] - (player.z * 4.4)); - if (isMultiplayer) - { - NF_MoveSprite(1, HUD_MAP_PLAYER2_SPRITE, HUD_MAP_ORIGIN_COORDS[0] - (player2->x * 4.1), HUD_MAP_ORIGIN_COORDS[1] - (player2->z * 4.4)); - } - NF_MoveSprite(1, HUD_MAP_MARKER_SPRITE, HUD_MAP_ORIGIN_COORDS[0] - (HUD_MAP_MARKER_COORDS[currentBatchProgress][0] * 4.1), HUD_MAP_ORIGIN_COORDS[1] - (HUD_MAP_MARKER_COORDS[currentBatchProgress][1] * 4.4)); - for (int i = 0; i < HUD_CHECKBOX_COUNT; i++) - { - if (isMultiplayer) - { - bool isHost = isHostClient(); - bool p1Completed = isHost ? (currentBatchProgress > i) : (getOpponent()->currentBatchStep > i); - bool p2Completed = isHost ? (getOpponent()->currentBatchStep > i) : (currentBatchProgress > i); - int totalProgress = (p1Completed && p2Completed) ? 4 : p1Completed && !p2Completed ? 2 - : !p1Completed && p2Completed ? 3 - : 0; - NF_SpriteFrame(1, HUD_CHECKBOX_SPRITES[i], totalProgress); - } - else - { - NF_SpriteFrame(1, HUD_CHECKBOX_SPRITES[i], currentBatchProgress > i ? 1 : 0); - } - } - for (int i = 0; i < 3; i++) - { - if (timeLimit > -1) - { - NF_SpriteFrame(1, HUD_TIMER_SPRITES[i], (int)(timeLimit / pow(10, 2 - i)) % 10); - } - NF_SpriteFrame(1, HUD_PURITY_SPRITES[i], (int)(batchPurity / pow(10, 2 - i)) % 10); - } - - for (int i = 0; i < 4; i++) - { - if (i < 2) - { - NF_SpriteFrame(1, HUD_QUOTA_SPRITES[i], (int)((!isMultiplayer ? batchesComplete : (isHostClient() ? batchesComplete : player2BatchesComplete)) / pow(10, 1 - i)) % 10); - } - else - { - NF_SpriteFrame(1, HUD_QUOTA_SPRITES[i], (int)((!isMultiplayer ? batchQuota : (isHostClient() ? player2BatchesComplete : batchesComplete)) / pow(10, 3 - i)) % 10); - } - } - } -} - -void Game::StartDay(uint16 day) -{ - if (gameType != GAME_STORY_MODE) - { - return; - } - ToggleHud(false); - Transition(false, 0, TS_TOP, frame); - globalSave.currentDay = day; - - if (day < LEVEL_COUNT) - { - mode = STORY_TRANSITION; - sound.StopBGM(); - frame = 0; - showingDayNumber = true; - return; - } - - StartLevel(&LEVEL_STORY_MODE[day]); - Transition(true, 60, TS_BOTH, frame); - mode = MOVE; -} - -void Game::StartNextDay() -{ - StartDay(globalSave.currentDay + 1); - if (!customFlag) { - globalSave.saveData(); - } -} - -void Game::OpenShopMenu() -{ - if (gameType != GAME_STORY_MODE) - { - return; - } - mode = STORY_SHOP; - ToggleHud(false); - Transition(false, 0, TS_TOP, frame); - frame = 0; - shop.Load(frame, &sound); -} - -void Game::UpdateDayTransition() -{ - if (!(gameType == GAME_STORY_MODE && mode == STORY_TRANSITION)) - { - showingDayNumber = false; - return; - } - - const Level *level = &LEVEL_STORY_MODE[globalSave.currentDay]; - if (frame <= 1) - { - Transition(true, 60, TS_BOTTOM, frame); - } - - if (showingDayNumber) - { - // Day no - char dayText[12]; - sprintf(dayText, "Day %i", globalSave.currentDay + 1); - NF_WriteText(1, 0, 13, 9, dayText); - - // Level details - int levelTime = level->time + (((int)(((float)level->time) * WATCH_BATTERY_TIME_MULTIPLIER)) * globalSave.powerUps[PWR_WATCH_BATTERY] ? 1 : 0); - char levelText[32]; - if (!enabledCheats[CHEAT_TIMER]) - { - sprintf(levelText, "Time: %is", levelTime); - NF_WriteText(1, 0, 10, 11, levelText); - } - - sprintf(levelText, "Quota: %i", level->quota); - NF_WriteText(1, 0, 10, 12, levelText); - - sprintf(levelText, "Money: $%i", globalSave.currentMoney); - NF_WriteText(1, 0, 10, 13, levelText); - } - - if (frame == 240) - { - Transition(false, 0, TS_BOTH, frame); - showingDayNumber = false; - NF_ClearTextLayer(1, 0); - StartLevel(level); - } - - if (frame > 270) - { - Transition(true, 60, TS_BOTH, frame); - mode = MOVE; - } -} - -void Game::UpdateShopMenu() -{ - if (!(gameType == GAME_STORY_MODE && mode == STORY_SHOP)) - { - return; - } - - if (shop.Update(frame, &sound)) - { - shop.Unload(frame, &sound); - Transition(false, 0, TS_BOTH, frame); - if (!customFlag) { - globalSave.saveData(); - } - if (globalSave.powerUps[PWR_EXPLOSIVES]) - { - AwardMineral(MINERAL_CERIUM, false); - } - StartNextDay(); - } -} - -void Game::ShowEndScreen(bool winScreen) -{ - if (gameType != GAME_STORY_MODE) - { - return; - } - mode = STORY_END_SCREEN; - showingWinScreen = winScreen; - frame = 0; - - Transition(false, 0, TS_BOTH, frame); - NF_ClearTextLayer(1, 0); - sound.StopBGM(); - ToggleHud(false); - - sound.PlayBGM(BGM_TITLE_LOOP, true); - if (winScreen) - { - NF_LoadTiledBg(GOOD_ENDING_BG, GOOD_ENDING_BG, 256, 256); - NF_CreateTiledBg(1, PAUSED_BG, GOOD_ENDING_BG); - } - else - { - NF_LoadTiledBg(BAD_ENDING_BG, BAD_ENDING_BG, 256, 256); - NF_CreateTiledBg(1, PAUSED_BG, BAD_ENDING_BG); - } -} - -void Game::UpdateEndScreen() -{ - if (gameType != GAME_STORY_MODE || mode != STORY_END_SCREEN) - { - return; - } - if (frame == 10) - { - Transition(true, 60, TS_BOTTOM, frame); - } - if (frame == 1080) - { - Transition(false, 120, TS_BOTTOM, frame); - } - if (frame > 1200) - { - NF_DeleteTiledBg(1, PAUSED_BG); - if (showingWinScreen) - { - NF_UnloadTiledBg(GOOD_ENDING_BG); - } - else - { - NF_UnloadTiledBg(BAD_ENDING_BG); - } - - globalSave.currentDay = 0; - globalSave.currentDialogue = 0; - globalSave.currentMoney = 0; - for (int p = 0; p < POWER_UP_COUNT; p++) - { - globalSave.powerUps[p] = false; - } - - levelClear = true; - AwardMineral(MINERAL_EMERALD, true); - QuitToTitle(); - } -} - -void Game::QuitToTitle() -{ - if (isQuitting) - { - return; - } - isQuitting = true; - if (gameType == GAME_MULTIPLAYER_VS) - { - disableMultiplayer(); - } - if (showingIndicatorFor > 0) - { - NF_DeleteSprite(1, QUALITY_INDICATOR_SPRITE); - showingIndicatorFor = 0; - } - sound.StopBGM(); - UnLoadLabScene(); - NE_SpecialEffectSet(NE_NONE); - if (!customFlag) { - globalSave.saveData(); - } - else - { - globalSave.loadData(); - } - StartMenuScreen(false); - if (!levelClear) - { - sound.PlaySFX(SFX_MENU_SELECT); - } -} - -void Game::StartDialogue(ScriptId script) -{ - if (mode == DIALOGUE) - { - return; - } - Transition(false, 0, TS_BOTTOM, frame); - if (mode == MINIGAME) - { - currentMinigame->Unload(&map); - } - mode = DIALOGUE; - ToggleHud(false); - player.facing = DOWN; - player.inDialogue = true; - dialogue.Load(script, frame); - Transition(true, 30, TS_BOTTOM, frame); -} - -void Game::EndDialogue() -{ - if (mode != DIALOGUE) - { - return; - } - Transition(false, 0, TS_BOTTOM, frame); - dialogue.Unload(); - ToggleHud(true); - mode = MOVE; - Transition(true, 30, TS_BOTTOM, frame); - player.inDialogue = false; -} - -void Game::CheckDialogue() -{ - if (gameType == GAME_TUTORIAL || gameType == GAME_STORY_MODE) - { - if (mode == DIALOGUE) - { - return; - } - - int dialogueId = (gameType == GAME_TUTORIAL ? dialogue.GetTutorialDialogue(dialogueProgress, currentBatchProgress, player.GetTile(map)) - : dialogue.GetStoryDialogue(dialogueProgress, currentBatchProgress, batchesComplete, player.GetTile(map))); - if (dialogueId != -1) - { - if (!enabledCheats[CHEAT_DIALOGUE]) { - StartDialogue((ScriptId)dialogueId); - } - dialogueProgress++; - } - } -} - -void Game::StartGame(GameType gameType) -{ - Transition(false, 0, TS_BOTH, frame); - this->isQuitting = false; - - // Reset enabled cheats - for (int i = 0; i < CHEAT_COUNT; i++) { - enabledCheats[i] = false; - } - - // Handle custom games - this->customFlag = false; - if (gameType == GAME_CUSTOM) { - gameType = GAME_STORY_MODE; - this->customFlag = true; - } - - // Set params - this->gameType = gameType; - this->dialogueProgress = gameType == GAME_STORY_MODE ? globalSave.currentDialogue : 0; - this->frame = 0; - this->mode = MOVE; - - // Load lab - LoadLabScene(); - - // Start game - if (this->customFlag) { - int* values = menu.GetCustomGameValues(); - globalSave.currentDay = values[0]; - this->dialogueProgress = values[0]; - globalSave.currentMoney = values[1]; - enabledCheats[CHEAT_TIMER] = !values[3]; - enabledCheats[CHEAT_DIALOGUE] = !values[4]; - enabledCheats[CHEAT_NOCLIP] = values[5]; - enabledCheats[CHEAT_POV] = values[6]; - } - - if (gameType == GAME_STORY_MODE) - { - StartDay(globalSave.currentDay); - } - else - { - StartLevel(gameType == GAME_TUTORIAL ? &LEVEL_TUTORIAL : &LEVEL_MULTIPLAYER_VS); - Transition(true, 60, TS_BOTH, frame); - } -} - -void Game::LoadLabScene() -{ - bool isMultiplayer = gameType == GAME_MULTIPLAYER_VS; - - // Load map and player - if (map.Load() == -1) - { - WaitLoop(); - } - - // Load player animations - playerAnimations[0] = NE_AnimationCreate(); - playerAnimations[1] = NE_AnimationCreate(); - if (NE_AnimationLoadFAT(playerAnimations[0], "model/player_idle.dsa") == 0 || NE_AnimationLoadFAT(playerAnimations[1], "model/player_walk.dsa") == 0) - { - consoleDemoInit(); - printf("Couldn't load player animations..."); - WaitLoop(); - return; - } - - // Determien player 1 character - Character p1Char = (isMultiplayer ? (!isHostClient() ? CHAR_JESSE : CHAR_WALT) : ((keysHeld() & KEY_Y) && (keysHeld() & KEY_SELECT) ? CHAR_YEPPERS : CHAR_WALT)); - - // If this is a custom game, use selected character - if (!isMultiplayer && this->customFlag) - { - p1Char = static_cast(menu.GetCustomGameValues()[2]); - } - - // Load player 1 - if (player.Load(p1Char, playerAnimations) == -1) - { - WaitLoop(); - } - - // Load player 2 (multiplayer vs.) - if (isMultiplayer) - { - player2 = new Player(); - player2->isPlayer2 = true; - if (player2->Load(isHostClient() ? CHAR_JESSE : CHAR_WALT, playerAnimations) == -1) - { - WaitLoop(); - } - } - - // Award achievements as neccessary - switch (p1Char) - { - case CHAR_JESSE: - AwardMineral(MINERAL_YTTRIUM, true); - break; - case CHAR_YEPPERS: - AwardMineral(MINERAL_RUBY, false); - break; - } - - // Set fog color - NE_FogEnable(3, RGB15(15, 0, 0), 31, 3, 0x7c00); - - // Load sprites - NF_LoadSpriteGfx("sprite/quality", QUALITY_INDICATOR_SPRITE, 64, 64); - NF_LoadSpritePal("sprite/quality", QUALITY_INDICATOR_SPRITE); - NF_VramSpriteGfx(1, QUALITY_INDICATOR_SPRITE, QUALITY_INDICATOR_SPRITE + 1, false); - NF_VramSpritePal(1, QUALITY_INDICATOR_SPRITE, QUALITY_INDICATOR_SPRITE + 1); - - NF_LoadSpriteGfx("sprite/map_icons", HUD_MAP_ICONS, 16, 16); - NF_LoadSpritePal("sprite/map_icons", HUD_MAP_ICONS); - NF_VramSpriteGfx(1, HUD_MAP_ICONS, HUD_MAP_ICONS + 1, false); - NF_VramSpritePal(1, HUD_MAP_ICONS, HUD_MAP_ICONS + 1); - - NF_LoadSpriteGfx("sprite/menu_checkboxes", HUD_CHECKBOXES, 16, 16); - NF_LoadSpritePal("sprite/menu_checkboxes", HUD_CHECKBOXES); - NF_VramSpriteGfx(1, HUD_CHECKBOXES, HUD_CHECKBOXES + 1, false); - NF_VramSpritePal(1, HUD_CHECKBOXES, HUD_CHECKBOXES + 1); - - NF_LoadSpriteGfx("sprite/segment_numbers", HUD_NUMBERS, 16, 16); - NF_LoadSpritePal("sprite/segment_numbers", HUD_NUMBERS); - NF_VramSpriteGfx(1, HUD_NUMBERS, HUD_NUMBERS + 1, false); - NF_VramSpritePal(1, HUD_NUMBERS, HUD_NUMBERS + 1); -} - -void Game::StartLevel(const Level *level) -{ - // Set level params - this->timeLimit = level->time + (((int)(((float)level->time) * WATCH_BATTERY_TIME_MULTIPLIER)) * globalSave.powerUps[PWR_WATCH_BATTERY] ? 1 : 0); - this->batchQuota = level->quota; - - // Reset game state - levelClear = false; - currentBatchProgress = 0; - batchPurity = 100; - batchesComplete = 0; - - // Player setup - player.ResetPosition((gameType == GAME_STORY_MODE && globalSave.powerUps[PWR_AIR_JORDANS])); - if (gameType == GAME_MULTIPLAYER_VS) - { - bool isHost = isHostClient(); - player.Translate(isHost ? -11.5 : -9.0, 0, 4.5); - player.targetX = player.tileX = isHost ? 4 : 3; - - player2->ResetPosition(false); - player2->Translate(!isHost ? -11.5 : -9.0, 0, 4.5); - player2->targetX = player2->tileX = !isHost ? 4 : 3; - player2->targetZ = player2->tileZ = 1; - } - else - { - player.Translate(-11.5, 0, 4.5); - player.targetX = player.tileX = 4; - } - player.targetZ = player.tileZ = 1; - - // Setup camera - if (!enabledCheats[CHEAT_POV]) { - cameraX = BASE_MOVE_CAMERA_POS[0]; - cameraY = BASE_MOVE_CAMERA_POS[1]; - cameraZ = BASE_MOVE_CAMERA_POS[2]; - NE_CameraSet(camera, - cameraX, cameraY, cameraZ, - -11.5, 2, 8.5, - 0, 1, 0); - } - else - { - cameraX = player.x; - cameraY = 2.5 + (player.y); - cameraZ = player.z; - NE_CameraSet(camera, - cameraX, cameraY, cameraZ, - -11.5, cameraY, 8.5, - 0, 1, 0); - } - - // Enable HUD, start sound effects, start dialogue if needed - ToggleHud(true); - switch (gameType) - { - case GAME_STORY_MODE: - sound.PlayBGM(globalSave.currentDay < LEVEL_COUNT ? BGM_THE_COUSINS : BGM_FINAL_COOK, true); - break; - case GAME_MULTIPLAYER_VS: - sound.PlayBGM(BGM_THE_COUSINS, true); - break; - case GAME_TUTORIAL: - sound.PlayBGM(BGM_CLEAR_WATERS, true); - break; - } - CheckDialogue(); - - // Fade in (story mode) - if (gameType == GAME_STORY_MODE && mode == DIALOGUE) - { - Transition(true, 60, TS_TOP, frame); - } -} - -// Unload map and player -void Game::UnLoadLabScene() -{ - Transition(false, 0, TS_BOTH, frame); - ToggleHud(false); - map.Unload(); - player.Unload(); - NE_AnimationDelete(playerAnimations[0]); - NE_AnimationDelete(playerAnimations[1]); - - // Unload multiplayer - if (mode == GAME_MULTIPLAYER_VS) - { - player2->Unload(); - } - - // Remove fog - NE_FogDisable(); - - // Free sprites - NF_FreeSpriteGfx(1, QUALITY_INDICATOR_SPRITE + 1); - NF_UnloadSpriteGfx(QUALITY_INDICATOR_SPRITE); - NF_UnloadSpritePal(QUALITY_INDICATOR_SPRITE); - NF_FreeSpriteGfx(1, HUD_MAP_ICONS + 1); - NF_UnloadSpriteGfx(HUD_MAP_ICONS); - NF_UnloadSpritePal(HUD_MAP_ICONS); - NF_FreeSpriteGfx(1, HUD_CHECKBOXES + 1); - NF_UnloadSpriteGfx(HUD_CHECKBOXES); - NF_UnloadSpritePal(HUD_CHECKBOXES); - NF_FreeSpriteGfx(1, HUD_NUMBERS + 1); - NF_UnloadSpriteGfx(HUD_NUMBERS); - NF_UnloadSpritePal(HUD_NUMBERS); - NF_VramSpriteGfxDefrag(1); -} - -void Game::StartMenuScreen(bool debugMode) -{ - Transition(false, 0, TS_BOTH, frame); - - debugFlag = debugMode; - frame = 0; - - if (debugFlag) - { - // StartGame(GAME_STORY_MODE); - // OpenShopMenu(); - // return; - } - - mode = MAIN_MENU; - LoadLogoScene(); - - Transition(true, 120, TS_BOTH, frame); -} - -void Game::LoadLogoScene() -{ - // Position camera - cameraX = BASE_TITLE_CAMERA_POS[0]; - cameraY = BASE_TITLE_CAMERA_POS[1]; - cameraZ = BASE_TITLE_CAMERA_POS[2]; - NE_CameraSet(camera, - cameraX, cameraY + 1.5f, cameraZ, - 0, BASE_TITLE_CAMERA_POS[1], 0, - 0, 1, 0); - - // Load logo - if (menu.Load() == -1) - { - WaitLoop(); - } - menu.SetState(MENU_LOGO, frame, &sound); -} - -void Game::UnLoadLogoScene() -{ - Transition(false, 0, TS_BOTH, frame); - menu.Unload(frame, &sound); -} - -void Game::UpdateMenuScreen() -{ - menu.Update(frame, &sound); - - switch (menu.HandleInput(frame, &sound)) - { - case SKIP_LOGO: - frame = 689; - menu.PositionLogo(); - break; - case START_TUTORIAL: - UnLoadLogoScene(); - StartGame(GAME_TUTORIAL); - break; - case START_STORY_MODE: - UnLoadLogoScene(); - StartGame(GAME_STORY_MODE); - break; - case START_MP_GAME: - UnLoadLogoScene(); - StartGame(GAME_MULTIPLAYER_VS); - break; - case START_CUSTOM_GAME: - NF_ClearTextLayer(1, 0); - UnLoadLogoScene(); - StartGame(GAME_CUSTOM); - break; - } -} - -void Game::StartMinigame(Tile tile) -{ - CheckDialogue(); - if (mode == MINIGAME || mode == DIALOGUE) - { - return; - } - - if (tile > 2 && currentBatchProgress != ((int)tile - 3)) - { - currentMinigame = NULL; - delete currentMinigame; - return; - } - - switch (tile) - { - case MINIGAME_VALVE: - currentMinigame = new ValveMinigame(); - break; - case MINIGAME_PESTLE: - currentMinigame = new PestleMinigame(); - break; - case MINIGAME_PIPETTE: - currentMinigame = new PipetteMinigame(); - break; - case MINIGAME_MIX: - currentMinigame = new MixMinigame(); - break; - case MINIGAME_POUR: - currentMinigame = new PourMinigame(); - break; - case MINIGAME_CRACK: - currentMinigame = new CrackMinigame(); - break; - default: - currentMinigame = NULL; - delete currentMinigame; - return; - } - - Transition(false, 0, TS_BOTTOM, frame); - mode = MINIGAME; - ToggleHud(false); - currentMinigame->Load(); - Transition(true, 30, TS_BOTTOM, frame); -} - -void Game::DeleteMinigame(bool doTransition) -{ - if (currentMinigame == NULL) - { - return; - } - - if (!doTransition) - { - currentMinigame->Unload(&map); - currentMinigame = NULL; - return; - } - - Transition(false, 0, TS_BOTTOM, frame); - currentMinigame->Unload(&map); - currentMinigame = NULL; - ToggleHud(true); - Transition(true, 30, TS_BOTTOM, frame); -} - -void Game::ShowMinigameResult(MinigameResult indicator, int frames) -{ - int animation = indicator; - showingIndicatorFor = frames; - - NF_CreateSprite(1, QUALITY_INDICATOR_SPRITE, QUALITY_INDICATOR_SPRITE + 1, QUALITY_INDICATOR_SPRITE + 1, 64, 32); - NF_SpriteFrame(1, QUALITY_INDICATOR_SPRITE, animation); - NF_EnableSpriteRotScale(1, QUALITY_INDICATOR_SPRITE, QUALITY_INDICATOR_SPRITE, true); - NF_SpriteRotScale(1, QUALITY_INDICATOR_SPRITE, 0, 300, 300); - - if (indicator == RESULT_GOOD) - { - sound.PlaySFX(SFX_SUCCESS_BELL); - } -} - -void Game::StartGameOver(bool hasWon) -{ - if (!(mode == MOVE || mode == MINIGAME)) - { - return; - } - levelClear = hasWon; - player.walking = false; - - Transition(false, 0, TS_BOTH, frame); - - // Clear indicator - if (showingIndicatorFor > 0) - { - NF_DeleteSprite(1, QUALITY_INDICATOR_SPRITE); - showingIndicatorFor = 0; - } - - // Clear other elements - if (mode == MINIGAME) - { - DeleteMinigame(false); - } - else - { - ToggleHud(false); - } - - // Set mode - sound.StopBGM(); - NE_SpecialEffectSet(NE_NONE); - mode = GAME_OVER; - gameOverFrame = -170; - - // Prepare baby blue stuff - if (!hasWon) - { - player.SetLyingDown(true); - NE_CameraRotate(camera, 90, 0, 0); - } - else - { - player.facing = DOWN; - } - - // Achievements - if (gameType == GAME_TUTORIAL) - { - AwardMineral(MIENRAL_ANALCIME, true); - } -} - -void Game::UpdateGameOver() -{ - gameOverFrame++; - NF_WriteText(1, 0, 11, 11, (gameType == GAME_MULTIPLAYER_VS ? (levelClear ? "YOU WIN!" : "YOU LOSE!") : (levelClear ? "DAY CLEAR!" : "GAME OVER"))); - - switch (gameOverFrame) - { - case -150: - if (!levelClear) - { - sound.PlaySFX(SFX_GOODBYE_WALTER); - } - break; - case -55: - case -56: - case -57: - case -58: - case -59: - case -60: - if (!levelClear) - { - rumble(gameOverFrame % 2 == 0); - } - break; - case -10: - sound.StopSFX(); - break; - case 0: - if (!levelClear) - { - sound.PlayBGM(BGM_BABY_BLUE, false); - } - else - { - sound.PlayBGM(BGM_RODRIGO_Y_GABRIELA, false); - } - Transition(true, 60, TS_BOTH, frame); - break; - case 520: - if (!levelClear) - { - Transition(false, 0, TS_BOTH, frame); - } - break; - case 575: - if (levelClear) - { - Transition(false, 0, TS_BOTH, frame); - sound.StopBGM(); - } - break; - case 620: - if (!levelClear) - { - NF_ClearTextLayer(1, 0); - if (gameType == GAME_STORY_MODE) - { - if (globalSave.currentDay == LEVEL_COUNT - 1 && dialogueProgress == LEVEL_COUNT + 1) - { - ShowEndScreen(false); - return; - } - - StartDay(globalSave.currentDay); - return; - } - QuitToTitle(); - } - break; - case 660: - if (levelClear) - { - NF_ClearTextLayer(1, 0); - if (gameType == GAME_STORY_MODE) - { - if (globalSave.currentDay == LEVEL_COUNT - 1) - { - CheckDialogue(); - return; - } - - globalSave.currentMoney += ((batchQuota * 30) + (timeLimit * 3) + (perfectClear ? 150 : 0)); - - bool allPowerups = true; - for (int i = 0; i < POWER_UP_COUNT; i++) - { - allPowerups &= globalSave.powerUps[i]; - } - if (!allPowerups) - { - OpenShopMenu(); - return; - } - StartNextDay(); - return; - } - QuitToTitle(); - } - break; - } -} - -void Game::Tick() -{ - frame++; -} - -void Game::Render() -{ - // Set camera - NE_CameraUse(camera); - - // Set poly format - NE_PolyFormat(31, 0, NE_LIGHT_0, NE_CULL_NONE, NE_FOG_ENABLE); - - // Render title screen - if (mode == MAIN_MENU) - { - menu.Draw(frame); - return; - } - - // Update objects - if (mode != PAUSED) - { - player.Update(frame); - player.Move(map, enabledCheats[CHEAT_NOCLIP]); - - if (gameType == GAME_MULTIPLAYER_VS) - { - player2->Update(frame); - player2->Move(map, false); - } - - map.RotateSecurityCamera(player.x, player.z); - } - - // Draw objects - map.Draw(player.tileX > 2 && player.tileX < 7 && player.tileZ > 4); - if (!enabledCheats[CHEAT_POV]) { - player.Draw(gameType == GAME_MULTIPLAYER_VS ? (isHostClient() ? 1 : 2) : 0); - } - if (gameType == GAME_MULTIPLAYER_VS && (mode != GAME_OVER)) - { - player2->Draw(!isHostClient() ? 1 : 2); - } -} - -void Game::Update() -{ - if (mode != MAIN_MENU && gameType == GAME_MULTIPLAYER_VS && !isQuitting) - { - if (getMultiplayerStatus() == MP_CONNECTION_LOST) - { - QuitToTitle(); - } - else - { - Client *local = getLocalClient(); - local->playerTargetX = player.targetX; - local->playerTargetZ = player.targetZ; - local->playerTileX = player.tileX; - local->playerTileZ = player.tileZ; - local->playerFacing = player.rotation; - local->batchesComplete = batchesComplete; - local->currentBatchStep = currentBatchProgress; - if (isHostClient()) - { - local->timeLeft = timeLimit; - } - - Client *opponent = getOpponent(); - if (opponent != NULL) - { - player2->targetX = opponent->playerTargetX; - player2->targetZ = opponent->playerTargetZ; - player2->tileX = opponent->playerTileX; - player2->tileZ = opponent->playerTileZ; - player2->rotation = opponent->playerFacing; - player2BatchesComplete = opponent->batchesComplete; - player2BatchProgress = opponent->currentBatchStep; - if (!isHostClient()) - { - timeLimit = opponent->timeLeft; - } - } - - tickMultiplayer(); - } - } - - // Wait for the VBlank interrupt - if (mode != PAUSED && !(mode == GAME_OVER && !levelClear)) - { - NE_WaitForVBL(NE_UPDATE_ANIMATIONS); - } - - // Copy shadow OAM copy to the OAM of the 2D sub engine - oamUpdate(&oamSub); - - // Debug - print debug info - if (debugFlag) - { - char debugText[100]; - sprintf(debugText, "Mem: %d (%d)", getMemUsed(), getMemFree()); - NF_WriteText(1, 0, 1, 1, debugText); - sprintf(debugText, "Dialogue: %i", dialogueProgress); - NF_WriteText(1, 0, 1, 2, debugText); - } - - // Update transition - UpdateTransitions(frame); - - // Handle story mode stuff - if (gameType == GAME_STORY_MODE) - { - UpdateDayTransition(); - UpdateShopMenu(); - UpdateEndScreen(); - } - - // Update text layers - NF_UpdateTextLayers(); - - // Handle input - scanKeys(); - if (mode != MAIN_MENU && mode != DIALOGUE && mode != GAME_OVER) - { - if (mode == MOVE || mode == MINIGAME) - { - player.HandleInput(keysHeld()); - } - - if (gameType != GAME_MULTIPLAYER_VS && - (mode == PAUSED) && (keysDown() & KEY_B)) - { - NF_DeleteTiledBg(1, PAUSED_BG); - NF_UnloadTiledBg(PAUSED_BG_NAME); - QuitToTitle(); - return; - } - else if (gameType != GAME_MULTIPLAYER_VS && - (mode == MOVE || mode == PAUSED) && (keysDown() & KEY_START)) - { - TogglePauseMenu(); - } - else if (mode == MOVE && !player.walking && keysHeld() == 0) - { - idleFrames++; - - if (idleFrames == 1800) - { - player.facing = DOWN; - - if (gameType == GAME_STORY_MODE && player.GetTile(map) == MINIGAME_CRACK) - { - AwardMineral(MINERAL_ALGODONITE, false); - } - } - if (idleFrames > 3600) - { - idleFrames = 0; - if (gameType == GAME_TUTORIAL) - { - AwardMineral(MINERAL_AMBER, false); - StartDialogue(SCRIPT_GALE_TUTORIAL_IDLE); - } - else if (gameType == GAME_STORY_MODE && globalSave.currentDay < LEVEL_COUNT) - { - StartDialogue(SCRIPT_GUS_IDLE); - } - } - } - else - { - idleFrames = 0; - } - - // Update status indicators - if (showingIndicatorFor > 0) - { - showingIndicatorFor--; - if (showingIndicatorFor == 0) - { - NF_DeleteSprite(1, QUALITY_INDICATOR_SPRITE); - CheckDialogue(); - } - } - } - - // Update dialogue - if (mode == DIALOGUE) - { - if (dialogue.Update(frame, keysDown(), &sound)) - { - sound.PlaySFX(SFX_MENU_DRUM); - EndDialogue(); - - if (gameType == GAME_STORY_MODE) - { - if (globalSave.currentDay == LEVEL_COUNT - 1 && dialogueProgress == LEVEL_COUNT + 1) - { - if (globalSave.powerUps[PWR_EXPLOSIVES]) - { - StartNextDay(); - } - else - { - player.ResetPosition(false); - player.Translate(-6.5, 0, 8.5); - StartGameOver(false); - } - } - else if (globalSave.currentDay == LEVEL_COUNT && dialogueProgress == LEVEL_COUNT + 2) - { - ShowEndScreen(true); - } - } - } - } - - // Update camera - UpdateCamera(); - - // Update timer - if (!(mode == MAIN_MENU || mode == GAME_OVER || mode == PAUSED || mode == STORY_TRANSITION)) - { - // Update timer - if (frame % 60 == 0 && timeLimit > -1 && mode != DIALOGUE) - { - if ((gameType != GAME_MULTIPLAYER_VS && !enabledCheats[CHEAT_TIMER]) || isHostClient()) - { - timeLimit--; - } - - if (batchesComplete < batchQuota) - { - if (timeLimit < 30 || (gameType == GAME_STORY_MODE && globalSave.currentDay == LEVEL_COUNT)) - { - NE_SpecialEffectNoiseConfig((31 - (timeLimit <= 20 ? timeLimit : 20)) / 4); - NE_SpecialEffectSet(NE_NOISE); - } - - if (timeLimit <= 10) - { - sound.PlaySFX(SFX_MENU_DRUM); - } - - if (timeLimit == 0) - { - if (gameType == GAME_STORY_MODE) - { - StartGameOver(false); - AwardMineral(MINERAL_QUARTZ, true); - } - else if (gameType == GAME_MULTIPLAYER_VS) - { - const bool isDraw = batchesComplete == player2BatchesComplete && currentBatchProgress == player2BatchProgress; - const bool localWin = (batchesComplete == player2BatchesComplete ? currentBatchProgress > player2BatchProgress : batchesComplete > player2BatchesComplete); - if (localWin) - { - AwardMineral(MINERAL_AQUAMARINE, true); - } - - StartGameOver(!isDraw && localWin); - } - return; - } - } - } - - // Update batch progress - if (currentBatchProgress >= 6) - { - if (!(gameType == GAME_STORY_MODE && globalSave.currentDay == LEVEL_COUNT)) - { - sound.PlaySFX(SFX_ACCEPTABLE); - } - - batchesComplete += (BASE_BATCH_YIELD * ((float)batchPurity / 100.0f)); - currentBatchProgress = 0; - perfectClear &= batchPurity == 100; - - if (batchPurity < 40) - { - AwardMineral(MINERAL_FLUORITE, true); - } - else if (batchPurity == 100) - { - AwardMineral(MINERAL_TOPAZ, true); - } - batchPurity = 100; - - if (gameType != GAME_MULTIPLAYER_VS && batchesComplete >= batchQuota) - { - if (perfectClear) - { - AwardMineral(MINERAL_DIAMOND, true); - } - - if (gameType == GAME_STORY_MODE && globalSave.currentDay == LEVEL_COUNT) - { - dialogueProgress = LEVEL_COUNT + 2; - Transition(false, 0, TS_BOTH, frame); - - if (mode == MINIGAME) - { - DeleteMinigame(false); - } - else - { - ToggleHud(false); - } - if (showingIndicatorFor > 0) - { - NF_DeleteSprite(1, QUALITY_INDICATOR_SPRITE); - showingIndicatorFor = 0; - } - - StartDialogue(SCRIPT_GUS_ANGUISH); - return; - } - - StartGameOver(true); - return; - } - } - - Tile tile = map.GetTileAt(player.tileX, player.tileZ); - switch (tile) - { - case MINIGAME_VALVE: - case MINIGAME_PESTLE: - case MINIGAME_PIPETTE: - case MINIGAME_MIX: - case MINIGAME_POUR: - case MINIGAME_CRACK: - if (mode == MOVE) - { - StartMinigame(tile); - } - break; - default: - if (mode == MINIGAME) - { - mode = MOVE; - DeleteMinigame(true); - } - break; - } - - if (hudVisible) - { - UpdateHud(); - } - } - else - { - UpdateMenuScreen(); - } - - // Check for minigame - if (mode == MINIGAME) - { - inMinigameFor++; - currentMinigame->Update(frame, keysHeld(), &sound, &map); - if (currentMinigame->IsComplete() && currentBatchProgress == ((int)player.GetTile(map) - 3)) - { - MinigameResult result = currentMinigame->GetResult(inMinigameFor); - ShowMinigameResult(result, 90); - currentBatchProgress++; - if (result == RESULT_BAD) - { - batchPurity -= (16 + (frame % 5)); - } - else if (result == RESULT_OKAY) - { - batchPurity -= (6 + (frame % 3)); - } - - if (batchPurity < 5) - { - batchPurity = 5; - } - } - } - else - { - inMinigameFor = 0; - } - - if (mode == GAME_OVER) - { - UpdateGameOver(); - } - - // Update sounds - sound.Update(frame); - - // Refresh shadow OAM copy - NF_SpriteOamSet(1); +#include "game.h" + +Game::Game() +{ + consoleDemoInit(); + consoleClear(); + printf("\n\n\n\n\n\n\n\n\n\n\n Getting Ready to Cook...\n"); + + // Initialize nitroFS + if (!nitroFSInit(NULL)) + { + printf("\x1B[31mFailed to start nitroFS\n"); + printf("\x1B[31mPlease reset the system\n"); + + while (1) + { + swiWaitForVBlank(); + } + } + swiWaitForVBlank(); + + // Set the root folder to the nitroFS filesystem + NF_SetRootFolder("NITROFS"); + + // Setup interrupt handlers + irqEnable(IRQ_HBLANK); + irqSet(IRQ_VBLANK, NE_VBLFunc); + irqSet(IRQ_HBLANK, NE_HBLFunc); + + // Prepare NiFi + nifiPrepare(); + + // Setup sound + sound.LoadSound(); + + // Load global save + globalSave.loadData(); +} + +void Game::WaitLoop() +{ + while (1) + { + swiWaitForVBlank(); + } +} + +void Game::Prepare2DGraphics() +{ + // Initialize sub 2D engine + NF_Set2D(1, 0); + + // Initialize sprites for sub screen (it uses VRAM D and I) + NF_InitSpriteBuffers(); + NF_InitSpriteSys(1); + + // Initialize tiled backgrounds and text systems for the 2D sub engine (it + // uses VRAM C and H) + NF_InitTiledBgBuffers(); + NF_InitTiledBgSys(1); + NF_InitTextSys(1); + + // Load assets from filesystem to RAM + NF_LoadTextFont("font/default", "normal", 256, 256, 0); + + // Create text layer + NF_CreateTextLayer(1, 0, 0, "normal"); +} + +void Game::Prepare3DGraphics() +{ + // When using nflib for the 2D sub screen engine, banks C and H are used for + // backgrounds and banks D and I are used for sprites. Nitro Engine only + // uses bank E for palettes, so the only thing we need to do is to tell + // Nitro Engine to only use banks A and B and leave C and D unused. + NE_Init3D(); + + // Reset the texture system + NE_TextureSystemReset(0, 0, NE_VRAM_AB); + + // Setup lighting + NE_LightSet(0, NE_White, -0.5, -0.5, -0.5); + + // Setup background color + NE_ClearColorSet(CLEAR_COLOR, 31, 63); + + // Enable shading and outlining + NE_ShadingEnable(true); + NE_OutliningEnable(true); + NE_OutliningSetColor(1, NE_Black); // Singleplayer player outline + NE_OutliningSetColor(2, NE_Green); // Multiplayer Player 1 outline + NE_OutliningSetColor(3, NE_LightBlue); // Multiplayer: Player 2 outline + + // Create camera + camera = NE_CameraCreate(); +} + +void Game::UpdateCamera() +{ + // Update the camera position based on mode + switch (mode) + { + case MAIN_MENU: + cameraTx = BASE_TITLE_CAMERA_POS[0]; + cameraTy = BASE_TITLE_CAMERA_POS[1]; + cameraTz = BASE_TITLE_CAMERA_POS[2]; + break; + case DIALOGUE: + case PAUSED: + if (enabledCheats[CHEAT_POV]) { + cameraTx = player.x; + cameraTy = 2.5 + (player.y); + cameraTz = player.z; + break; + } + cameraTx = player.x; + cameraTy = 7.5; + cameraTz = -2.5 - 2.5 + (player.z / 6); + break; + case GAME_OVER: + if (gameOverFrame < -10) + { + return; + } + if (!levelClear) + { + cameraTx = player.x - 0.5f; + cameraTy = 5 + (((float)gameOverFrame / 500.0f) * 13.0f); + cameraTz = player.z + 1.5f; + NE_CameraRotate(camera, 0, frame % 2 == 0 ? 1 : 0, 0); + } + else + { + cameraTx = player.x; + cameraTy = 13 - (((float)gameOverFrame / 500.0f) * 5.75f); + cameraTz = player.z - 4.5f; + } + break; + default: + if (enabledCheats[CHEAT_POV]) { + cameraTx = player.x; + cameraTy = 2.5 + (player.y); + cameraTz = player.z; + + // POV Camera pan controls (L/R) + if (keysHeld() & KEY_R) + { + NE_CameraRotate(camera, 0, 5, 0); + } + else if (keysHeld() & KEY_L) + { + NE_CameraRotate(camera, 0, -5, 0); + } + break; + } + cameraTx = player.x; + cameraTy = BASE_MOVE_CAMERA_POS[1] + (player.z / 6); + cameraTz = BASE_MOVE_CAMERA_POS[2] + (player.z / 6); + break; + } + + // Move camera towards target + float camXDiff = cameraTx - cameraX; + float camYDiff = cameraTy - cameraY; + float camZDiff = cameraTz - cameraZ; + float camXSpeed = camXDiff / 10; + float camYSpeed = camYDiff / 10; + float camZSpeed = camZDiff / 10; + + NE_CameraMove(camera, camXSpeed, camYSpeed, camZSpeed); + cameraX += camXSpeed; + cameraY += camYSpeed; + cameraZ += camZSpeed; +} + +void Game::TranslateCamera(float x, float y, float z) +{ + cameraTx += x; + cameraTy += y; + cameraTz += z; +} + +void Game::AwardMineral(MineralType mineralType, bool silent) +{ + if (this->customFlag) + { + return; + } + if (!globalSave.minerals[mineralType]) + { + globalSave.minerals[mineralType] = true; + + if (!silent) + { + sound.PlaySFX(SFX_MINERALS); + } + } +} + +void Game::TogglePauseMenu() +{ + if (!(mode == MOVE || mode == PAUSED)) + { + return; + } + bool pausing = mode == MOVE; + Transition(false, 0, TS_BOTTOM, frame); + + sound.PlaySFX(SFX_MENU_SELECT); + if (pausing) + { + player.canMove = false; + player.walking = false; + ToggleHud(false); + NF_LoadTiledBg(PAUSED_BG_NAME, PAUSED_BG_NAME, 256, 256); + NF_CreateTiledBg(1, PAUSED_END_BG, PAUSED_BG_NAME); + mode = PAUSED; + } + else + { + NF_DeleteTiledBg(1, PAUSED_END_BG); + NF_UnloadTiledBg(PAUSED_BG_NAME); + ToggleHud(true); + player.canMove = true; + mode = MOVE; + } + + Transition(true, 15, TS_BOTTOM, frame); +} + +// Show/hide bottom screen HUD +void Game::ToggleHud(bool show) +{ + bool isMultiplayer = gameType == GAME_MULTIPLAYER_VS; + if (show && !hudVisible) + { + NF_LoadTiledBg(isMultiplayer ? MP_HUD_BG_NAME : SP_HUD_BG_NAME, isMultiplayer ? MP_HUD_BG_NAME : SP_HUD_BG_NAME, 256, 256); + NF_CreateTiledBg(1, HUD_BG, isMultiplayer ? MP_HUD_BG_NAME : SP_HUD_BG_NAME); + + // Player markers + int playerSpriteFrame = isMultiplayer ? isHostClient() ? 1 : 2 : 0; + NF_CreateSprite(1, HUD_MAP_PLAYER_SPRITE, HUD_MAP_ICONS + 1, HUD_MAP_ICONS + 1, HUD_MAP_ORIGIN_COORDS[0], HUD_MAP_ORIGIN_COORDS[1]); + NF_SpriteFrame(1, HUD_MAP_PLAYER_SPRITE, playerSpriteFrame); + if (playerSpriteFrame > 0) + { + NF_CreateSprite(1, HUD_MAP_PLAYER2_SPRITE, HUD_MAP_ICONS + 1, HUD_MAP_ICONS + 1, HUD_MAP_ORIGIN_COORDS[0], HUD_MAP_ORIGIN_COORDS[1]); + NF_SpriteFrame(1, HUD_MAP_PLAYER2_SPRITE, playerSpriteFrame == 1 ? 2 : 1); + } + + // Map marker + NF_CreateSprite(1, HUD_MAP_MARKER_SPRITE, HUD_MAP_ICONS + 1, HUD_MAP_ICONS + 1, HUD_MAP_ORIGIN_COORDS[0], HUD_MAP_ORIGIN_COORDS[1]); + NF_SpriteFrame(1, HUD_MAP_MARKER_SPRITE, 3); + + // Checkboxes + for (int i = 0; i < HUD_CHECKBOX_COUNT; i++) + { + NF_CreateSprite(1, HUD_CHECKBOX_SPRITES[i], HUD_CHECKBOXES + 1, HUD_CHECKBOXES + 1, HUD_CHECKBOXES_COORDS[0] + (i / 2), HUD_CHECKBOXES_COORDS[1] + (i * HUD_CHECKBOX_Y_SPACING)); + NF_SpriteFrame(1, HUD_CHECKBOX_SPRITES[i], 0); + } + + // Timer and purity + for (int i = 0; i < 3; i++) + { + NF_CreateSprite(1, HUD_TIMER_SPRITES[i], HUD_NUMBERS + 1, HUD_NUMBERS + 1, HUD_TIMER_COORDS[0] + (i * 16), HUD_TIMER_COORDS[1]); + NF_SpriteFrame(1, HUD_TIMER_SPRITES[i], 0); + NF_CreateSprite(1, HUD_PURITY_SPRITES[i], HUD_NUMBERS + 1, HUD_NUMBERS + 1, HUD_PURITY_COORDS[0] + (i * 16), HUD_PURITY_COORDS[1]); + NF_SpriteFrame(1, HUD_PURITY_SPRITES[i], 0); + } + + // Quota / Multiplayer Vs. Score + for (int i = 0; i < 4; i++) + { + NF_CreateSprite(1, HUD_QUOTA_SPRITES[i], HUD_NUMBERS + 1, HUD_NUMBERS + 1, (HUD_QUOTA_COORDS[0] + (i >= 2 ? 12 : 0)) + (i * 16), HUD_QUOTA_COORDS[1]); + NF_SpriteFrame(1, HUD_QUOTA_SPRITES[i], 0); + } + } + else if (hudVisible) + { + NF_DeleteTiledBg(1, HUD_BG); + NF_UnloadTiledBg(isMultiplayer ? MP_HUD_BG_NAME : SP_HUD_BG_NAME); + NF_DeleteSprite(1, HUD_MAP_PLAYER_SPRITE); + if (isMultiplayer) + { + NF_DeleteSprite(1, HUD_MAP_PLAYER2_SPRITE); + } + NF_DeleteSprite(1, HUD_MAP_MARKER_SPRITE); + for (int i = 0; i < HUD_CHECKBOX_COUNT; i++) + { + NF_DeleteSprite(1, HUD_CHECKBOX_SPRITES[i]); + } + for (int i = 0; i < 3; i++) + { + NF_DeleteSprite(1, HUD_TIMER_SPRITES[i]); + NF_DeleteSprite(1, HUD_PURITY_SPRITES[i]); + } + for (int i = 0; i < 4; i++) + { + NF_DeleteSprite(1, HUD_QUOTA_SPRITES[i]); + } + } + hudVisible = show; +} + +void Game::UpdateHud() +{ + bool isMultiplayer = gameType == GAME_MULTIPLAYER_VS; + if (mode == MOVE) + { + NF_MoveSprite(1, HUD_MAP_PLAYER_SPRITE, HUD_MAP_ORIGIN_COORDS[0] - (player.x * 4.1), HUD_MAP_ORIGIN_COORDS[1] - (player.z * 4.4)); + if (isMultiplayer) + { + NF_MoveSprite(1, HUD_MAP_PLAYER2_SPRITE, HUD_MAP_ORIGIN_COORDS[0] - (player2->x * 4.1), HUD_MAP_ORIGIN_COORDS[1] - (player2->z * 4.4)); + } + NF_MoveSprite(1, HUD_MAP_MARKER_SPRITE, HUD_MAP_ORIGIN_COORDS[0] - (HUD_MAP_MARKER_COORDS[currentBatchProgress][0] * 4.1), HUD_MAP_ORIGIN_COORDS[1] - (HUD_MAP_MARKER_COORDS[currentBatchProgress][1] * 4.4)); + for (int i = 0; i < HUD_CHECKBOX_COUNT; i++) + { + if (isMultiplayer) + { + bool isHost = isHostClient(); + bool p1Completed = isHost ? (currentBatchProgress > i) : (getOpponent()->currentBatchStep > i); + bool p2Completed = isHost ? (getOpponent()->currentBatchStep > i) : (currentBatchProgress > i); + int totalProgress = (p1Completed && p2Completed) ? 4 : p1Completed && !p2Completed ? 2 + : !p1Completed && p2Completed ? 3 + : 0; + NF_SpriteFrame(1, HUD_CHECKBOX_SPRITES[i], totalProgress); + } + else + { + NF_SpriteFrame(1, HUD_CHECKBOX_SPRITES[i], currentBatchProgress > i ? 1 : 0); + } + } + for (int i = 0; i < 3; i++) + { + if (timeLimit > -1) + { + NF_SpriteFrame(1, HUD_TIMER_SPRITES[i], (int)(timeLimit / pow(10, 2 - i)) % 10); + } + NF_SpriteFrame(1, HUD_PURITY_SPRITES[i], (int)(batchPurity / pow(10, 2 - i)) % 10); + } + + for (int i = 0; i < 4; i++) + { + if (i < 2) + { + NF_SpriteFrame(1, HUD_QUOTA_SPRITES[i], (int)((!isMultiplayer ? batchesComplete : (isHostClient() ? batchesComplete : player2BatchesComplete)) / pow(10, 1 - i)) % 10); + } + else + { + NF_SpriteFrame(1, HUD_QUOTA_SPRITES[i], (int)((!isMultiplayer ? batchQuota : (isHostClient() ? player2BatchesComplete : batchesComplete)) / pow(10, 3 - i)) % 10); + } + } + } +} + +void Game::StartDay(uint16 day) +{ + if (gameType != GAME_STORY_MODE) + { + return; + } + ToggleHud(false); + Transition(false, 0, TS_TOP, frame); + globalSave.currentDay = day; + + if (day < LEVEL_COUNT) + { + mode = STORY_TRANSITION; + sound.StopBGM(); + frame = 0; + showingDayNumber = true; + return; + } + + StartLevel(&LEVEL_STORY_MODE[day]); + Transition(true, 60, TS_BOTH, frame); + mode = MOVE; +} + +void Game::StartNextDay() +{ + StartDay(globalSave.currentDay + 1); + if (!customFlag) { + globalSave.saveData(); + } +} + +void Game::OpenShopMenu() +{ + if (gameType != GAME_STORY_MODE) + { + return; + } + mode = STORY_SHOP; + ToggleHud(false); + Transition(false, 0, TS_TOP, frame); + frame = 0; + shop.Load(frame, &sound); +} + +void Game::UpdateDayTransition() +{ + if (!(gameType == GAME_STORY_MODE && mode == STORY_TRANSITION)) + { + showingDayNumber = false; + return; + } + + const Level *level = &LEVEL_STORY_MODE[globalSave.currentDay]; + if (frame <= 1) + { + Transition(true, 60, TS_BOTTOM, frame); + } + + if (showingDayNumber) + { + // Day no + char dayText[12]; + sprintf(dayText, "Day %i", globalSave.currentDay + 1); + NF_WriteText(1, 0, 13, 9, dayText); + + // Level details + int levelTime = level->time + (((int)(((float)level->time) * WATCH_BATTERY_TIME_MULTIPLIER)) * globalSave.powerUps[PWR_WATCH_BATTERY] ? 1 : 0); + char levelText[32]; + if (!enabledCheats[CHEAT_TIMER]) + { + sprintf(levelText, "Time: %is", levelTime); + NF_WriteText(1, 0, 10, 11, levelText); + } + + sprintf(levelText, "Quota: %i", level->quota); + NF_WriteText(1, 0, 10, 12, levelText); + + sprintf(levelText, "Money: $%i", globalSave.currentMoney); + NF_WriteText(1, 0, 10, 13, levelText); + } + + if (frame == 240) + { + Transition(false, 0, TS_BOTH, frame); + showingDayNumber = false; + NF_ClearTextLayer(1, 0); + StartLevel(level); + } + + if (frame > 270) + { + Transition(true, 60, TS_BOTH, frame); + mode = MOVE; + } +} + +void Game::UpdateShopMenu() +{ + if (!(gameType == GAME_STORY_MODE && mode == STORY_SHOP)) + { + return; + } + + if (shop.Update(frame, &sound)) + { + shop.Unload(frame, &sound); + Transition(false, 0, TS_BOTH, frame); + if (!customFlag) { + globalSave.saveData(); + } + if (globalSave.powerUps[PWR_EXPLOSIVES]) + { + AwardMineral(MINERAL_CERIUM, false); + } + StartNextDay(); + } +} + +void Game::ShowEndScreen(bool winScreen) +{ + if (gameType != GAME_STORY_MODE) + { + return; + } + mode = STORY_END_SCREEN; + showingWinScreen = winScreen; + frame = 0; + + // Award "clear story mode" mineral + AwardMineral(MINERAL_EMERALD, true); + if (!customFlag) { + globalSave.saveData(); + } + + Transition(false, 0, TS_BOTH, frame); + ToggleHud(false); + NF_ClearTextLayer(1, 0); + NF_VramSpriteGfxDefrag(1); + + sound.PlayBGM(BGM_TITLE_LOOP, true); + if (winScreen) + { + NF_LoadTiledBg(GOOD_ENDING_BG, GOOD_ENDING_BG, 256, 256); + NF_CreateTiledBg(1, PAUSED_END_BG, GOOD_ENDING_BG); + } + else + { + NF_LoadTiledBg(BAD_ENDING_BG, BAD_ENDING_BG, 256, 256); + NF_CreateTiledBg(1, PAUSED_END_BG, BAD_ENDING_BG); + } +} + +void Game::UpdateEndScreen() +{ + if (gameType != GAME_STORY_MODE || mode != STORY_END_SCREEN) + { + return; + } + if (frame == 10) + { + Transition(true, 60, TS_BOTTOM, frame); + } + if (frame == 1080) + { + Transition(false, 120, TS_BOTTOM, frame); + } + if (frame > 1200) + { + NF_DeleteTiledBg(1, PAUSED_END_BG); + if (showingWinScreen) + { + NF_UnloadTiledBg(GOOD_ENDING_BG); + } + else + { + NF_UnloadTiledBg(BAD_ENDING_BG); + } + + globalSave.currentDay = 0; + globalSave.currentDialogue = 0; + globalSave.currentMoney = 0; + for (int p = 0; p < POWER_UP_COUNT; p++) + { + globalSave.powerUps[p] = false; + } + + levelClear = true; + QuitToTitle(); + } +} + +void Game::QuitToTitle() +{ + if (isQuitting) + { + return; + } + isQuitting = true; + if (gameType == GAME_MULTIPLAYER_VS) + { + disableMultiplayer(); + } + if (showingIndicatorFor > 0) + { + NF_DeleteSprite(1, QUALITY_INDICATOR_SPRITE); + showingIndicatorFor = 0; + } + sound.StopBGM(); + UnLoadLabScene(); + NE_SpecialEffectSet(NE_NONE); + if (!customFlag) { + globalSave.saveData(); + } + else + { + globalSave.loadData(); + } + NF_VramSpriteGfxDefrag(1); + StartMenuScreen(false); + if (!levelClear) + { + sound.PlaySFX(SFX_MENU_SELECT); + } +} + +void Game::StartDialogue(ScriptId script) +{ + if (mode == DIALOGUE) + { + return; + } + Transition(false, 0, TS_BOTTOM, frame); + if (mode == MINIGAME) + { + currentMinigame->Unload(&map); + } + mode = DIALOGUE; + ToggleHud(false); + player.facing = DOWN; + player.inDialogue = true; + dialogue.Load(script, frame); + Transition(true, 30, TS_BOTTOM, frame); +} + +void Game::EndDialogue() +{ + if (mode != DIALOGUE) + { + return; + } + Transition(false, 0, TS_BOTTOM, frame); + dialogue.Unload(); + ToggleHud(true); + mode = MOVE; + Transition(true, 30, TS_BOTTOM, frame); + player.inDialogue = false; +} + +void Game::CheckDialogue() +{ + if (gameType == GAME_TUTORIAL || gameType == GAME_STORY_MODE) + { + if (mode == DIALOGUE) + { + return; + } + + int dialogueId = (gameType == GAME_TUTORIAL ? dialogue.GetTutorialDialogue(dialogueProgress, currentBatchProgress, player.GetTile(map)) + : dialogue.GetStoryDialogue(dialogueProgress, currentBatchProgress, batchesComplete, player.GetTile(map))); + if (dialogueId != -1) + { + if (!enabledCheats[CHEAT_DIALOGUE]) { + StartDialogue((ScriptId)dialogueId); + } + + // Increment dialogue progress + dialogueProgress++; + if (gameType == GAME_STORY_MODE) + { + globalSave.currentDialogue = dialogueProgress; + } + } + } +} + +void Game::StartGame(GameType gameType) +{ + Transition(false, 0, TS_BOTH, frame); + this->isQuitting = false; + + // Reset enabled cheats + for (int i = 0; i < CHEAT_COUNT; i++) { + enabledCheats[i] = false; + } + + // Handle custom games + this->customFlag = false; + if (gameType == GAME_CUSTOM) { + gameType = GAME_STORY_MODE; + this->customFlag = true; + } + + // Set params + this->gameType = gameType; + this->dialogueProgress = gameType == GAME_STORY_MODE ? globalSave.currentDialogue : 0; + this->frame = 0; + this->mode = MOVE; + + // Load lab + LoadLabScene(); + + // Start game + if (this->customFlag) { + int* values = menu.GetCustomGameValues(); + globalSave.currentDay = values[0]; + this->dialogueProgress = values[0]; + globalSave.currentMoney = values[1]; + enabledCheats[CHEAT_TIMER] = !values[3]; + enabledCheats[CHEAT_DIALOGUE] = !values[4]; + enabledCheats[CHEAT_NOCLIP] = values[5]; + enabledCheats[CHEAT_POV] = values[6]; + } + + if (gameType == GAME_STORY_MODE) + { + StartDay(globalSave.currentDay); + } + else + { + StartLevel(gameType == GAME_TUTORIAL ? &LEVEL_TUTORIAL : &LEVEL_MULTIPLAYER_VS); + Transition(true, 60, TS_BOTH, frame); + } +} + +void Game::LoadLabScene() +{ + bool isMultiplayer = gameType == GAME_MULTIPLAYER_VS; + + // Load map and player + if (map.Load() == -1) + { + WaitLoop(); + } + + // Load player animations + playerAnimations[0] = NE_AnimationCreate(); + playerAnimations[1] = NE_AnimationCreate(); + if (NE_AnimationLoadFAT(playerAnimations[0], "model/player_idle.dsa") == 0 || NE_AnimationLoadFAT(playerAnimations[1], "model/player_walk.dsa") == 0) + { + consoleDemoInit(); + printf("Couldn't load player animations..."); + WaitLoop(); + return; + } + + // Determine player 1 character + Character p1Char = (isMultiplayer ? (!isHostClient() ? CHAR_JESSE : CHAR_WALT) : ((keysHeld() & KEY_Y) && (keysHeld() & KEY_SELECT) ? CHAR_YEPPERS : CHAR_WALT)); + + // If this is a custom game, use selected character + if (!isMultiplayer && this->customFlag) + { + p1Char = static_cast(menu.GetCustomGameValues()[2]); + } + + // Load player 1 + if (player.Load(p1Char, playerAnimations) == -1) + { + WaitLoop(); + } + + // Load player 2 (multiplayer vs.) + if (isMultiplayer) + { + player2 = new Player(); + player2->isPlayer2 = true; + if (player2->Load(isHostClient() ? CHAR_JESSE : CHAR_WALT, playerAnimations) == -1) + { + WaitLoop(); + } + } + + // Award achievements as neccessary + switch (p1Char) + { + case CHAR_JESSE: + AwardMineral(MINERAL_YTTRIUM, true); + break; + case CHAR_YEPPERS: + AwardMineral(MINERAL_RUBY, false); + break; + } + + // Set fog color + NE_FogEnable(3, RGB15(15, 0, 0), 31, 3, 0x7c00); + + // Load sprites + NF_LoadSpriteGfx("sprite/quality", QUALITY_INDICATOR_SPRITE, 64, 64); + NF_LoadSpritePal("sprite/quality", QUALITY_INDICATOR_SPRITE); + NF_VramSpriteGfx(1, QUALITY_INDICATOR_SPRITE, QUALITY_INDICATOR_SPRITE + 1, false); + NF_VramSpritePal(1, QUALITY_INDICATOR_SPRITE, QUALITY_INDICATOR_SPRITE + 1); + + NF_LoadSpriteGfx("sprite/map_icons", HUD_MAP_ICONS, 16, 16); + NF_LoadSpritePal("sprite/map_icons", HUD_MAP_ICONS); + NF_VramSpriteGfx(1, HUD_MAP_ICONS, HUD_MAP_ICONS + 1, false); + NF_VramSpritePal(1, HUD_MAP_ICONS, HUD_MAP_ICONS + 1); + + NF_LoadSpriteGfx("sprite/menu_checkboxes", HUD_CHECKBOXES, 16, 16); + NF_LoadSpritePal("sprite/menu_checkboxes", HUD_CHECKBOXES); + NF_VramSpriteGfx(1, HUD_CHECKBOXES, HUD_CHECKBOXES + 1, false); + NF_VramSpritePal(1, HUD_CHECKBOXES, HUD_CHECKBOXES + 1); + + NF_LoadSpriteGfx("sprite/segment_numbers", HUD_NUMBERS, 16, 16); + NF_LoadSpritePal("sprite/segment_numbers", HUD_NUMBERS); + NF_VramSpriteGfx(1, HUD_NUMBERS, HUD_NUMBERS + 1, false); + NF_VramSpritePal(1, HUD_NUMBERS, HUD_NUMBERS + 1); +} + +void Game::StartLevel(const Level *level) +{ + // Set level params + this->timeLimit = level->time + (((int)(((float)level->time) * WATCH_BATTERY_TIME_MULTIPLIER)) * globalSave.powerUps[PWR_WATCH_BATTERY] ? 1 : 0); + this->batchQuota = level->quota; + + // Reset game state + levelClear = false; + currentBatchProgress = 0; + batchPurity = 100; + batchesComplete = 0; + + // Player setup + player.ResetPosition((gameType == GAME_STORY_MODE && globalSave.powerUps[PWR_AIR_JORDANS])); + if (gameType == GAME_MULTIPLAYER_VS) + { + bool isHost = isHostClient(); + player.Translate(isHost ? -11.5 : -9.0, 0, 4.5); + player.targetX = player.tileX = isHost ? 4 : 3; + + player2->ResetPosition(false); + player2->Translate(!isHost ? -11.5 : -9.0, 0, 4.5); + player2->targetX = player2->tileX = !isHost ? 4 : 3; + player2->targetZ = player2->tileZ = 1; + } + else + { + player.Translate(-11.5, 0, 4.5); + player.targetX = player.tileX = 4; + } + player.targetZ = player.tileZ = 1; + + // Setup camera + if (!enabledCheats[CHEAT_POV]) { + cameraX = BASE_MOVE_CAMERA_POS[0]; + cameraY = BASE_MOVE_CAMERA_POS[1]; + cameraZ = BASE_MOVE_CAMERA_POS[2]; + NE_CameraSet(camera, + cameraX, cameraY, cameraZ, + -11.5, 2, 8.5, + 0, 1, 0); + } + else + { + cameraX = player.x; + cameraY = 2.5 + (player.y); + cameraZ = player.z; + NE_CameraSet(camera, + cameraX, cameraY, cameraZ, + -11.5, cameraY, 8.5, + 0, 1, 0); + } + + // Enable HUD, start sound effects, start dialogue if needed + ToggleHud(true); + switch (gameType) + { + case GAME_STORY_MODE: + sound.PlayBGM(globalSave.currentDay < LEVEL_COUNT ? BGM_THE_COUSINS : BGM_FINAL_COOK, true); + break; + case GAME_MULTIPLAYER_VS: + sound.PlayBGM(BGM_THE_COUSINS, true); + break; + case GAME_TUTORIAL: + sound.PlayBGM(BGM_CLEAR_WATERS, true); + break; + } + CheckDialogue(); + + // Fade in (story mode) + if (gameType == GAME_STORY_MODE && mode == DIALOGUE) + { + Transition(true, 60, TS_TOP, frame); + } +} + +// Unload map and player +void Game::UnLoadLabScene() +{ + Transition(false, 0, TS_BOTH, frame); + ToggleHud(false); + map.Unload(); + player.Unload(); + NE_AnimationDelete(playerAnimations[0]); + NE_AnimationDelete(playerAnimations[1]); + + // Unload multiplayer + if (mode == GAME_MULTIPLAYER_VS) + { + player2->Unload(); + } + + // Remove fog + NE_FogDisable(); + + // Free sprites + NF_FreeSpriteGfx(1, QUALITY_INDICATOR_SPRITE + 1); + NF_UnloadSpriteGfx(QUALITY_INDICATOR_SPRITE); + NF_UnloadSpritePal(QUALITY_INDICATOR_SPRITE); + NF_FreeSpriteGfx(1, HUD_MAP_ICONS + 1); + NF_UnloadSpriteGfx(HUD_MAP_ICONS); + NF_UnloadSpritePal(HUD_MAP_ICONS); + NF_FreeSpriteGfx(1, HUD_CHECKBOXES + 1); + NF_UnloadSpriteGfx(HUD_CHECKBOXES); + NF_UnloadSpritePal(HUD_CHECKBOXES); + NF_FreeSpriteGfx(1, HUD_NUMBERS + 1); + NF_UnloadSpriteGfx(HUD_NUMBERS); + NF_UnloadSpritePal(HUD_NUMBERS); + NF_VramSpriteGfxDefrag(1); +} + +void Game::StartMenuScreen(bool debugMode) +{ + Transition(false, 0, TS_BOTH, frame); + + debugFlag = debugMode; + frame = 0; + + if (debugFlag) + { + // StartGame(GAME_STORY_MODE); + // OpenShopMenu(); + // return; + } + + mode = MAIN_MENU; + LoadLogoScene(); + + Transition(true, 120, TS_BOTH, frame); +} + +void Game::LoadLogoScene() +{ + // Position camera + cameraX = BASE_TITLE_CAMERA_POS[0]; + cameraY = BASE_TITLE_CAMERA_POS[1]; + cameraZ = BASE_TITLE_CAMERA_POS[2]; + NE_CameraSet(camera, + cameraX, cameraY + 1.5f, cameraZ, + 0, BASE_TITLE_CAMERA_POS[1], 0, + 0, 1, 0); + + // Load logo + if (menu.Load() == -1) + { + WaitLoop(); + } + menu.SetState(MENU_LOGO, frame, &sound); +} + +void Game::UnLoadLogoScene() +{ + Transition(false, 0, TS_BOTH, frame); + menu.Unload(frame, &sound); +} + +void Game::UpdateMenuScreen() +{ + menu.Update(frame, &sound); + + switch (menu.HandleInput(frame, &sound)) + { + case SKIP_LOGO: + frame = 689; + menu.PositionLogo(); + break; + case START_TUTORIAL: + UnLoadLogoScene(); + StartGame(GAME_TUTORIAL); + break; + case START_STORY_MODE: + UnLoadLogoScene(); + StartGame(GAME_STORY_MODE); + break; + case START_MP_GAME: + UnLoadLogoScene(); + StartGame(GAME_MULTIPLAYER_VS); + break; + case START_CUSTOM_GAME: + NF_ClearTextLayer(1, 0); + UnLoadLogoScene(); + StartGame(GAME_CUSTOM); + break; + } +} + +void Game::StartMinigame(Tile tile) +{ + CheckDialogue(); + if (mode == MINIGAME || mode == DIALOGUE) + { + return; + } + + if (tile > 2 && currentBatchProgress != ((int)tile - 3)) + { + currentMinigame = NULL; + delete currentMinigame; + return; + } + + switch (tile) + { + case MINIGAME_VALVE: + currentMinigame = new ValveMinigame(); + break; + case MINIGAME_PESTLE: + currentMinigame = new PestleMinigame(); + break; + case MINIGAME_PIPETTE: + currentMinigame = new PipetteMinigame(); + break; + case MINIGAME_MIX: + currentMinigame = new MixMinigame(); + break; + case MINIGAME_POUR: + currentMinigame = new PourMinigame(); + break; + case MINIGAME_CRACK: + currentMinigame = new CrackMinigame(); + break; + default: + currentMinigame = NULL; + delete currentMinigame; + return; + } + + Transition(false, 0, TS_BOTTOM, frame); + mode = MINIGAME; + ToggleHud(false); + currentMinigame->Load(); + Transition(true, 30, TS_BOTTOM, frame); +} + +void Game::DeleteMinigame(bool doTransition) +{ + if (currentMinigame == NULL) + { + return; + } + + if (!doTransition) + { + currentMinigame->Unload(&map); + currentMinigame = NULL; + return; + } + + Transition(false, 0, TS_BOTTOM, frame); + currentMinigame->Unload(&map); + currentMinigame = NULL; + ToggleHud(true); + Transition(true, 30, TS_BOTTOM, frame); +} + +void Game::ShowMinigameResult(MinigameResult indicator, int frames) +{ + int animation = indicator; + showingIndicatorFor = frames; + + NF_CreateSprite(1, QUALITY_INDICATOR_SPRITE, QUALITY_INDICATOR_SPRITE + 1, QUALITY_INDICATOR_SPRITE + 1, 64, 32); + NF_SpriteFrame(1, QUALITY_INDICATOR_SPRITE, animation); + NF_EnableSpriteRotScale(1, QUALITY_INDICATOR_SPRITE, QUALITY_INDICATOR_SPRITE, true); + NF_SpriteRotScale(1, QUALITY_INDICATOR_SPRITE, 0, 300, 300); + + if (indicator == RESULT_GOOD) + { + sound.PlaySFX(SFX_SUCCESS_BELL); + } +} + +void Game::StartGameOver(bool hasWon) +{ + if (!(mode == MOVE || mode == MINIGAME)) + { + return; + } + levelClear = hasWon; + player.walking = false; + + Transition(false, 0, TS_BOTH, frame); + + // Clear indicator + if (showingIndicatorFor > 0) + { + NF_DeleteSprite(1, QUALITY_INDICATOR_SPRITE); + showingIndicatorFor = 0; + } + + // Clear other elements + if (mode == MINIGAME) + { + DeleteMinigame(false); + } + else + { + ToggleHud(false); + } + + // Set mode + sound.StopBGM(); + NE_SpecialEffectSet(NE_NONE); + mode = GAME_OVER; + gameOverFrame = -170; + + // Prepare baby blue stuff + if (!hasWon) + { + player.SetLyingDown(true); + NE_CameraRotate(camera, 90, 0, 0); + } + else + { + player.facing = DOWN; + } + + // Achievements + if (gameType == GAME_TUTORIAL) + { + AwardMineral(MIENRAL_ANALCIME, true); + } +} + +void Game::UpdateGameOver() +{ + gameOverFrame++; + NF_WriteText(1, 0, 11, 11, (gameType == GAME_MULTIPLAYER_VS ? (levelClear ? "YOU WIN!" : "YOU LOSE!") : (levelClear ? "DAY CLEAR!" : "GAME OVER"))); + + switch (gameOverFrame) + { + case -150: + if (!levelClear) + { + sound.PlaySFX(SFX_GOODBYE_WALTER); + } + break; + case -55: + case -56: + case -57: + case -58: + case -59: + case -60: + if (!levelClear) + { + rumble(gameOverFrame % 2 == 0); + } + break; + case -10: + sound.StopSFX(); + break; + case 0: + if (!levelClear) + { + sound.PlayBGM(BGM_BABY_BLUE, false); + } + else + { + sound.PlayBGM(BGM_RODRIGO_Y_GABRIELA, false); + } + Transition(true, 60, TS_BOTH, frame); + break; + case 520: + if (!levelClear) + { + Transition(false, 0, TS_BOTH, frame); + } + break; + case 575: + if (levelClear) + { + Transition(false, 0, TS_BOTH, frame); + sound.StopBGM(); + } + break; + case 620: + if (!levelClear) + { + NF_ClearTextLayer(1, 0); + if (gameType == GAME_STORY_MODE) + { + if (globalSave.currentDay == LEVEL_COUNT - 1 && dialogueProgress == LEVEL_COUNT + 1) + { + ShowEndScreen(false); + return; + } + + StartDay(globalSave.currentDay); + return; + } + QuitToTitle(); + } + break; + case 660: + if (levelClear) + { + NF_ClearTextLayer(1, 0); + if (gameType == GAME_STORY_MODE) + { + if (globalSave.currentDay == LEVEL_COUNT - 1) + { + dialogueProgress = globalSave.currentDialogue = (globalSave.currentDay + 1); + CheckDialogue(); + return; + } + + globalSave.currentMoney += ((batchQuota * 30) + (timeLimit * 3) + (perfectClear ? 150 : 0)); + + bool allPowerups = true; + for (int i = 0; i < POWER_UP_COUNT; i++) + { + allPowerups &= globalSave.powerUps[i]; + } + if (!allPowerups) + { + OpenShopMenu(); + return; + } + StartNextDay(); + return; + } + QuitToTitle(); + } + break; + } +} + +void Game::Tick() +{ + frame++; +} + +void Game::Render() +{ + // Set camera + NE_CameraUse(camera); + + // Set poly format + NE_PolyFormat(31, 0, NE_LIGHT_0, NE_CULL_NONE, NE_FOG_ENABLE); + + // Render title screen + if (mode == MAIN_MENU) + { + menu.Draw(frame); + return; + } + + // Update objects + if (mode != PAUSED) + { + player.Update(frame); + player.Move(map, enabledCheats[CHEAT_NOCLIP]); + + if (gameType == GAME_MULTIPLAYER_VS) + { + player2->Update(frame); + player2->Move(map, false); + } + + map.RotateSecurityCamera(player.x, player.z); + } + + // Draw objects + map.Draw(player.tileX > 2 && player.tileX < 7 && player.tileZ > 4); + if (!enabledCheats[CHEAT_POV]) { + player.Draw(gameType == GAME_MULTIPLAYER_VS ? (isHostClient() ? 1 : 2) : 0); + } + if (gameType == GAME_MULTIPLAYER_VS && (mode != GAME_OVER)) + { + player2->Draw(!isHostClient() ? 1 : 2); + } +} + +void Game::Update() +{ + if (mode != MAIN_MENU && gameType == GAME_MULTIPLAYER_VS && !isQuitting) + { + if (getMultiplayerStatus() == MP_CONNECTION_LOST) + { + QuitToTitle(); + } + else + { + Client *local = getLocalClient(); + local->playerTargetX = player.targetX; + local->playerTargetZ = player.targetZ; + local->playerTileX = player.tileX; + local->playerTileZ = player.tileZ; + local->playerFacing = player.rotation; + local->batchesComplete = batchesComplete; + local->currentBatchStep = currentBatchProgress; + if (isHostClient()) + { + local->timeLeft = timeLimit; + } + + Client *opponent = getOpponent(); + if (opponent != NULL) + { + player2->targetX = opponent->playerTargetX; + player2->targetZ = opponent->playerTargetZ; + player2->tileX = opponent->playerTileX; + player2->tileZ = opponent->playerTileZ; + player2->rotation = opponent->playerFacing; + player2BatchesComplete = opponent->batchesComplete; + player2BatchProgress = opponent->currentBatchStep; + if (!isHostClient()) + { + timeLimit = opponent->timeLeft; + } + } + + tickMultiplayer(); + } + } + + // Wait for the VBlank interrupt + if (mode != PAUSED && !(mode == GAME_OVER && !levelClear)) + { + NE_WaitForVBL(NE_UPDATE_ANIMATIONS); + } + + // Copy shadow OAM copy to the OAM of the 2D sub engine + oamUpdate(&oamSub); + + // Debug - print debug info + if (debugFlag) + { + char debugText[100]; + sprintf(debugText, "Mem: %d (%d)", getMemUsed(), getMemFree()); + NF_WriteText(1, 0, 1, 1, debugText); + sprintf(debugText, "Dialogue: %i", dialogueProgress); + NF_WriteText(1, 0, 1, 2, debugText); + } + + // Update transition + UpdateTransitions(frame); + + // Handle story mode stuff + if (gameType == GAME_STORY_MODE) + { + UpdateDayTransition(); + UpdateShopMenu(); + UpdateEndScreen(); + } + + // Update text layers + NF_UpdateTextLayers(); + + // Handle input + scanKeys(); + if (mode != MAIN_MENU && mode != DIALOGUE && mode != GAME_OVER) + { + if (mode == MOVE || mode == MINIGAME) + { + player.HandleInput(keysHeld()); + } + + if (gameType != GAME_MULTIPLAYER_VS && + (mode == PAUSED) && (keysDown() & KEY_B)) + { + NF_DeleteTiledBg(1, PAUSED_END_BG); + NF_UnloadTiledBg(PAUSED_BG_NAME); + QuitToTitle(); + return; + } + else if (gameType != GAME_MULTIPLAYER_VS && + (mode == MOVE || mode == PAUSED) && (keysDown() & KEY_START)) + { + TogglePauseMenu(); + } + else if (mode == MOVE && !player.walking && keysHeld() == 0) + { + idleFrames++; + + if (idleFrames == 1800) + { + player.facing = DOWN; + + if (gameType == GAME_STORY_MODE && player.GetTile(map) == MINIGAME_CRACK) + { + AwardMineral(MINERAL_ALGODONITE, false); + } + } + if (idleFrames > 3600) + { + idleFrames = 0; + if (gameType == GAME_TUTORIAL) + { + AwardMineral(MINERAL_AMBER, false); + StartDialogue(SCRIPT_GALE_TUTORIAL_IDLE); + } + else if (gameType == GAME_STORY_MODE && globalSave.currentDay < LEVEL_COUNT) + { + StartDialogue(SCRIPT_GUS_IDLE); + } + } + } + else + { + idleFrames = 0; + } + + // Update status indicators + if (showingIndicatorFor > 0) + { + showingIndicatorFor--; + if (showingIndicatorFor == 0) + { + NF_DeleteSprite(1, QUALITY_INDICATOR_SPRITE); + CheckDialogue(); + } + } + } + + // Update dialogue + if (mode == DIALOGUE) + { + if (dialogue.Update(frame, keysDown(), &sound)) + { + sound.PlaySFX(SFX_MENU_DRUM); + EndDialogue(); + + if (gameType == GAME_STORY_MODE) + { + if (globalSave.currentDay == LEVEL_COUNT - 1 && dialogueProgress == LEVEL_COUNT + 1) + { + if (globalSave.powerUps[PWR_EXPLOSIVES]) + { + StartNextDay(); + } + else + { + player.ResetPosition(false); + player.Translate(-6.5, 0, 8.5); + StartGameOver(false); + } + } + else if (globalSave.currentDay == LEVEL_COUNT && dialogueProgress == LEVEL_COUNT + 2) + { + ShowEndScreen(true); + } + } + } + } + + // Update camera + UpdateCamera(); + + // Update timer + if (!(mode == MAIN_MENU || mode == GAME_OVER || mode == PAUSED || mode == STORY_TRANSITION)) + { + // Update timer + if (frame % 60 == 0 && timeLimit > -1 && mode != DIALOGUE) + { + if ((gameType != GAME_MULTIPLAYER_VS && !enabledCheats[CHEAT_TIMER]) || isHostClient()) + { + timeLimit--; + } + + if (batchesComplete < batchQuota) + { + if (timeLimit < 30 || (gameType == GAME_STORY_MODE && globalSave.currentDay == LEVEL_COUNT)) + { + NE_SpecialEffectNoiseConfig((31 - (timeLimit <= 20 ? timeLimit : 20)) / 4); + NE_SpecialEffectSet(NE_NOISE); + } + + if (timeLimit <= 10) + { + sound.PlaySFX(SFX_MENU_DRUM); + } + + if (timeLimit == 0) + { + if (gameType == GAME_STORY_MODE) + { + StartGameOver(false); + AwardMineral(MINERAL_QUARTZ, true); + } + else if (gameType == GAME_MULTIPLAYER_VS) + { + const bool isDraw = batchesComplete == player2BatchesComplete && currentBatchProgress == player2BatchProgress; + const bool localWin = (batchesComplete == player2BatchesComplete ? currentBatchProgress > player2BatchProgress : batchesComplete > player2BatchesComplete); + if (localWin) + { + AwardMineral(MINERAL_AQUAMARINE, true); + } + + StartGameOver(!isDraw && localWin); + } + return; + } + } + } + + // Update batch progress + if (currentBatchProgress >= 6) + { + if (!(gameType == GAME_STORY_MODE && globalSave.currentDay == LEVEL_COUNT)) + { + sound.PlaySFX(SFX_ACCEPTABLE); + } + + batchesComplete += (BASE_BATCH_YIELD * ((float)batchPurity / 100.0f)); + currentBatchProgress = 0; + perfectClear &= batchPurity == 100; + + if (batchPurity < 40) + { + AwardMineral(MINERAL_FLUORITE, true); + } + else if (batchPurity == 100) + { + AwardMineral(MINERAL_TOPAZ, true); + } + batchPurity = 100; + + if (gameType != GAME_MULTIPLAYER_VS && batchesComplete >= batchQuota) + { + if (perfectClear) + { + AwardMineral(MINERAL_DIAMOND, true); + } + + if (gameType == GAME_STORY_MODE && globalSave.currentDay == LEVEL_COUNT) + { + dialogueProgress = LEVEL_COUNT + 2; + Transition(false, 0, TS_BOTH, frame); + + if (mode == MINIGAME) + { + DeleteMinigame(false); + } + else + { + ToggleHud(false); + } + if (showingIndicatorFor > 0) + { + NF_DeleteSprite(1, QUALITY_INDICATOR_SPRITE); + showingIndicatorFor = 0; + } + + StartDialogue(SCRIPT_GUS_ANGUISH); + return; + } + + StartGameOver(true); + return; + } + } + + Tile tile = map.GetTileAt(player.tileX, player.tileZ); + switch (tile) + { + case MINIGAME_VALVE: + case MINIGAME_PESTLE: + case MINIGAME_PIPETTE: + case MINIGAME_MIX: + case MINIGAME_POUR: + case MINIGAME_CRACK: + if (mode == MOVE) + { + StartMinigame(tile); + } + break; + default: + if (mode == MINIGAME) + { + mode = MOVE; + DeleteMinigame(true); + } + break; + } + + if (hudVisible) + { + UpdateHud(); + } + } + else + { + UpdateMenuScreen(); + } + + // Check for minigame + if (mode == MINIGAME) + { + inMinigameFor++; + currentMinigame->Update(frame, keysHeld(), &sound, &map); + if (currentMinigame->IsComplete() && currentBatchProgress == ((int)player.GetTile(map) - 3)) + { + MinigameResult result = currentMinigame->GetResult(inMinigameFor); + ShowMinigameResult(result, 90); + currentBatchProgress++; + if (result == RESULT_BAD) + { + batchPurity -= (16 + (frame % 5)); + } + else if (result == RESULT_OKAY) + { + batchPurity -= (6 + (frame % 3)); + } + + if (batchPurity < 5) + { + batchPurity = 5; + } + } + } + else + { + inMinigameFor = 0; + } + + if (mode == GAME_OVER) + { + UpdateGameOver(); + } + + // Update sounds + sound.Update(frame); + + // Refresh shadow OAM copy + NF_SpriteOamSet(1); } \ No newline at end of file diff --git a/source/game.h b/source/game.h index e92269e..3736660 100644 --- a/source/game.h +++ b/source/game.h @@ -1,211 +1,212 @@ -#pragma once - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "menu.h" -#include "map.h" -#include "player.h" -#include "minigames.h" -#include "enums.h" -#include "dialogue.h" -#include "debug.h" -#include "sound.h" -#include "multiplayer.h" -#include "save.hpp" -#include "levels.h" -#include "transitions.h" -#include "shop.h" - -using namespace std; - -class Game -{ -private: - volatile int frame = 0; - bool debugFlag = true; - Mode mode = MOVE; - bool isQuitting = false; - bool customFlag = false; - - // Main game settings - GameType gameType; - Menu menu; - Map map; - Player player; - Sound sound; - NE_Animation *playerAnimations[2]; - const u32 CLEAR_COLOR = NE_Black; - - // Story mode - Shop shop; - const char GOOD_ENDING_BG[32] = "bg/good_ending"; - const char BAD_ENDING_BG[32] = "bg/bad_ending"; - bool showingWinScreen = false; - - // Cheats - const int CHEAT_COUNT = 4; - enum Cheat { - CHEAT_TIMER, - CHEAT_DIALOGUE, - CHEAT_NOCLIP, - CHEAT_POV - }; - bool enabledCheats[4] = { - false, // Disable timer - false, // Skip dialogue - false, // Noclip - false // POV camera - }; - - // Multiplayer - Player *player2 = NULL; - int player2BatchProgress = 0; - int player2BatchesComplete = 0; - - // Camera - const float CAMERA_SPEED = 0.025; - const float BASE_TITLE_CAMERA_POS[3] = {-10, 8, 0}; - const float BASE_MOVE_CAMERA_POS[3] = {-11.5, 12.5, -4}; - float cameraX = BASE_TITLE_CAMERA_POS[0]; - float cameraY = BASE_TITLE_CAMERA_POS[1]; - float cameraZ = BASE_TITLE_CAMERA_POS[2]; - float cameraTx = cameraX; - float cameraTy = cameraY; - float cameraTz = cameraZ; - NE_Camera *camera; - - // Dialogue - int dialogueProgress = 0; - Dialogue dialogue; - - // Game - int timeLimit = -1; - int batchQuota = 1; - int batchesComplete = 0; - int currentBatchProgress = 0; - int gameOverFrame = 0; - int batchPurity = 100; - volatile int idleFrames = 0; - const float BASE_BATCH_YIELD = 4.5f; - bool levelClear = false; - bool perfectClear = true; - - // HUD - const int HUD_MAP_ICONS = 6; - const int HUD_CHECKBOXES = 7; - const int HUD_NUMBERS = 8; - const int HUD_MAP_PLAYER_SPRITE = 6; - const int HUD_MAP_PLAYER2_SPRITE = 7; - const int HUD_MAP_MARKER_SPRITE = 8; - const float HUD_MAP_MARKER_COORDS[6][2] = {{-24.8, 1.9}, {-4, 6.8}, {-14.4, 4.2}, {-4, 16.2}, {-22.1, 9.1}, {-22.1, 16.2}}; - const int HUD_CHECKBOX_SPRITES[6] = {9, 10, 11, 12, 13, 14}; - const int HUD_TIMER_SPRITES[3] = {20, 21, 22}; - const int HUD_PURITY_SPRITES[3] = {23, 24, 25}; - const int HUD_QUOTA_SPRITES[4] = {26, 27, 28, 29}; - const float HUD_CHECKBOXES_COORDS[2] = {103, 55}; - const int HUD_CHECKBOX_COUNT = 6; - const int HUD_CHECKBOX_Y_SPACING = 19; - const float HUD_MAP_ORIGIN_COORDS[2] = {136, 102}; - const float HUD_TIMER_COORDS[2] = {178, 125}; - const float HUD_PURITY_COORDS[2] = {178, 144}; - const float HUD_QUOTA_COORDS[2] = {176, 163}; - bool hudVisible = false; - bool showingDayNumber = false; - - // Minigames - const int QUALITY_INDICATOR_SPRITE = 5; - int showingIndicatorFor = 0; - int inMinigameFor = 0; - Minigame *currentMinigame = NULL; - - // Backgrounds - const int HUD_BG = 1; - const char SP_HUD_BG_NAME[32] = "bg/hud"; - const char MP_HUD_BG_NAME[32] = "bg/multiplayer_hud"; - const int PAUSED_BG = 2; - const char PAUSED_BG_NAME[32] = "bg/paused"; - -public: - Game(); - - // Setup - void WaitLoop(); - void Prepare3DGraphics(); - void Prepare2DGraphics(); - void LoadSaveFile(); - - // Minerals - void AwardMineral(MineralType mineralType, bool silent); - - // Pause menu - void TogglePauseMenu(); - - // HUD - void ToggleHud(bool show); - void UpdateHud(); - - // Story mode - void StartDay(uint16 day); - void StartNextDay(); - void OpenShopMenu(); - void UpdateDayTransition(); - void UpdateShopMenu(); - void ShowEndScreen(bool winScreen); - void UpdateEndScreen(); - - // Quit to title - void QuitToTitle(); - - // Dialogue - void StartDialogue(ScriptId scriptId); - void EndDialogue(); - void CheckDialogue(); - - // Camera - void UpdateCamera(); - void TranslateCamera(float x, float y, float z); - - // Start game - void StartGame(GameType gameType); - void LoadLabScene(); - void StartLevel(const Level *level); - void UnLoadLabScene(); - - // Start title screen - void StartMenuScreen(bool debugMode); - void LoadLogoScene(); - void UnLoadLogoScene(); - void UpdateMenuScreen(); - - // Minigame stuff - void StartMinigame(Tile tile); - void DeleteMinigame(bool doTransition); - void ShowMinigameResult(MinigameResult indicator, int frames); - - // Game Over - void StartGameOver(bool hasWon); - void UpdateGameOver(); - - // Main tick logic - void Tick(); - void Update(); - void Render(); -}; - -extern "C" { - void nifiPrepare(); - Client* getOpponent(); - Client* getLocalClient(); - void tickMultiplayer(); - void disableMultiplayer(); - int getMultiplayerStatus(); - bool isHostClient(); +#pragma once + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "menu.h" +#include "map.h" +#include "player.h" +#include "minigames.h" +#include "enums.h" +#include "dialogue.h" +#include "debug.h" +#include "sound.h" +#include "multiplayer.h" +#include "save.hpp" +#include "levels.h" +#include "transitions.h" +#include "shop.h" + +using namespace std; + +class Game +{ +private: + volatile int frame = 0; + bool debugFlag = true; + Mode mode = MOVE; + bool isQuitting = false; + bool customFlag = false; + + // Main game settings + GameType gameType; + Menu menu; + Map map; + Player player; + Sound sound; + NE_Animation *playerAnimations[2]; + const u32 CLEAR_COLOR = NE_Black; + + // Story mode + Shop shop; + bool showingWinScreen = false; + + // Cheats + const int CHEAT_COUNT = 4; + enum Cheat { + CHEAT_TIMER, + CHEAT_DIALOGUE, + CHEAT_NOCLIP, + CHEAT_POV + }; + bool enabledCheats[4] = { + false, // Disable timer + false, // Skip dialogue + false, // Noclip + false // POV camera + }; + + // Multiplayer + Player *player2 = NULL; + int player2BatchProgress = 0; + int player2BatchesComplete = 0; + + // Camera + const float CAMERA_SPEED = 0.025; + const float BASE_TITLE_CAMERA_POS[3] = {-10, 8, 0}; + const float BASE_MOVE_CAMERA_POS[3] = {-11.5, 12.5, -4}; + float cameraX = BASE_TITLE_CAMERA_POS[0]; + float cameraY = BASE_TITLE_CAMERA_POS[1]; + float cameraZ = BASE_TITLE_CAMERA_POS[2]; + float cameraTx = cameraX; + float cameraTy = cameraY; + float cameraTz = cameraZ; + NE_Camera *camera; + + // Dialogue + int dialogueProgress = 0; + Dialogue dialogue; + + // Game + int timeLimit = -1; + int batchQuota = 1; + int batchesComplete = 0; + int currentBatchProgress = 0; + int gameOverFrame = 0; + int batchPurity = 100; + volatile int idleFrames = 0; + const float BASE_BATCH_YIELD = 4.5f; + bool levelClear = false; + bool perfectClear = true; + + // HUD + const int HUD_MAP_ICONS = 6; + const int HUD_CHECKBOXES = 7; + const int HUD_NUMBERS = 8; + const int HUD_MAP_PLAYER_SPRITE = 6; + const int HUD_MAP_PLAYER2_SPRITE = 7; + const int HUD_MAP_MARKER_SPRITE = 8; + const float HUD_MAP_MARKER_COORDS[6][2] = {{-24.8, 1.9}, {-4, 6.8}, {-14.4, 4.2}, {-4, 16.2}, {-22.1, 9.1}, {-22.1, 16.2}}; + const int HUD_CHECKBOX_SPRITES[6] = {9, 10, 11, 12, 13, 14}; + const int HUD_TIMER_SPRITES[3] = {20, 21, 22}; + const int HUD_PURITY_SPRITES[3] = {23, 24, 25}; + const int HUD_QUOTA_SPRITES[4] = {26, 27, 28, 29}; + const float HUD_CHECKBOXES_COORDS[2] = {103, 55}; + const int HUD_CHECKBOX_COUNT = 6; + const int HUD_CHECKBOX_Y_SPACING = 19; + const float HUD_MAP_ORIGIN_COORDS[2] = {136, 102}; + const float HUD_TIMER_COORDS[2] = {178, 125}; + const float HUD_PURITY_COORDS[2] = {178, 144}; + const float HUD_QUOTA_COORDS[2] = {176, 163}; + bool hudVisible = false; + bool showingDayNumber = false; + + // Minigames + const int QUALITY_INDICATOR_SPRITE = 5; + int showingIndicatorFor = 0; + int inMinigameFor = 0; + Minigame *currentMinigame = NULL; + + // Backgrounds + const int HUD_BG = 1; // HUD background + const char SP_HUD_BG_NAME[32] = "bg/hud"; + const char MP_HUD_BG_NAME[32] = "bg/multiplayer_hud"; + + const int PAUSED_END_BG = 2; // Pause / end screen background + const char PAUSED_BG_NAME[32] = "bg/paused"; + const char GOOD_ENDING_BG[32] = "bg/good_ending"; + const char BAD_ENDING_BG[32] = "bg/bad_ending"; + +public: + Game(); + + // Setup + void WaitLoop(); + void Prepare3DGraphics(); + void Prepare2DGraphics(); + void LoadSaveFile(); + + // Minerals + void AwardMineral(MineralType mineralType, bool silent); + + // Pause menu + void TogglePauseMenu(); + + // HUD + void ToggleHud(bool show); + void UpdateHud(); + + // Story mode + void StartDay(uint16 day); + void StartNextDay(); + void OpenShopMenu(); + void UpdateDayTransition(); + void UpdateShopMenu(); + void ShowEndScreen(bool winScreen); + void UpdateEndScreen(); + + // Quit to title + void QuitToTitle(); + + // Dialogue + void StartDialogue(ScriptId scriptId); + void EndDialogue(); + void CheckDialogue(); + + // Camera + void UpdateCamera(); + void TranslateCamera(float x, float y, float z); + + // Start game + void StartGame(GameType gameType); + void LoadLabScene(); + void StartLevel(const Level *level); + void UnLoadLabScene(); + + // Start title screen + void StartMenuScreen(bool debugMode); + void LoadLogoScene(); + void UnLoadLogoScene(); + void UpdateMenuScreen(); + + // Minigame stuff + void StartMinigame(Tile tile); + void DeleteMinigame(bool doTransition); + void ShowMinigameResult(MinigameResult indicator, int frames); + + // Game Over + void StartGameOver(bool hasWon); + void UpdateGameOver(); + + // Main tick logic + void Tick(); + void Update(); + void Render(); +}; + +extern "C" { + void nifiPrepare(); + Client* getOpponent(); + Client* getLocalClient(); + void tickMultiplayer(); + void disableMultiplayer(); + int getMultiplayerStatus(); + bool isHostClient(); } \ No newline at end of file diff --git a/source/layouts.h b/source/layouts.h index f95cf83..2271975 100644 --- a/source/layouts.h +++ b/source/layouts.h @@ -1,276 +1,276 @@ -#pragma once - -#include "enums.h" - -struct Button -{ - const int buttonSprite; - const int dimensions[2]; - const int textSprite; - const MenuSelection selection; -}; - -struct Layout -{ - const int buttonCount; - const Button buttons[4]; - const int buttonCoords[4][2]; - const int titleSprite; - const int titleCoords[2]; - bool allowCaretNavigation; - const MenuSelection caretMap[3][2]; - const MenuState backState; - const int backgroundId; - char* backgroundName; -}; - -static Layout LAYOUTS[12] = { - - {0, - {}, - {}, - -1, - {0, 0}, - false, - { - {NONE, NONE}, - {NONE, NONE}, - {NONE, NONE}, - }, - MENU_TITLE, - 1, - "bg/title" - }, - - {4, - { - {3, {90, 58}, 2, OPEN_GAME_MENU}, - {0, {90, 36}, 6, START_TUTORIAL}, - {1, {90, 26}, 5, BACK_TO_TITLE}, - {2, {90, 26}, 7, OPEN_EXTRAS_MENU}, - }, - { - {17, 55}, - {112, 39}, - {65, 112}, - {112, 75}, - }, - 1, - {98, 15}, - true, - { - {OPEN_GAME_MENU, START_TUTORIAL}, - {OPEN_GAME_MENU, OPEN_EXTRAS_MENU}, - {BACK_TO_TITLE, BACK_TO_TITLE}, - }, - MENU_TITLE, - 1, - "bg/title" - }, - - {4, - { - {3, {90, 58}, 0, START_STORY_MODE}, - {2, {90, 26}, 9, OPEN_ROOM}, - {1, {90, 26}, 5, BACK_TO_MAIN_MENU}, - {2, {90, 26}, 10, SEARCH_FOR_ROOMS}, - }, - { - {17, 63}, - {112, 31}, - {112, 97}, - {112, 62}, - }, - 2, - {98, 15}, - true, - { - {START_STORY_MODE, OPEN_ROOM}, - {START_STORY_MODE, SEARCH_FOR_ROOMS}, - {START_STORY_MODE, BACK_TO_MAIN_MENU}, - }, - MENU_MAIN, - 1, - "bg/title" - }, - - {4, - { - {3, {90, 58}, 3, OPEN_MINERALS_MENU}, - {3, {90, 58}, 4, OPEN_SOUND_TEST_MENU}, - {1, {90, 26}, 5, BACK_TO_MAIN_MENU}, - {2, {90, 26}, 8, TOGGLE_RUMBLE}, - }, - { - {17, 49}, - {112, 49}, - {112, 97}, - {17, 97}, - }, - 7, - {98, 15}, - true, - { - {OPEN_MINERALS_MENU, OPEN_SOUND_TEST_MENU}, - {OPEN_MINERALS_MENU, OPEN_SOUND_TEST_MENU}, - {TOGGLE_RUMBLE, BACK_TO_MAIN_MENU}, - }, - MENU_MAIN, - 1, - "bg/title" - }, - - {1, - { - {1, {90, 26}, 5, BACK_TO_GAME_MENU}, - }, - { - {65, 122}, - }, - 9, - {98, 23}, - true, - { - {BACK_TO_GAME_MENU, NONE}, - {NONE, NONE}, - {NONE, NONE}, - }, - MENU_GAME_SELECT, - 2, - "bg/guassian" - }, - - {1, - { - {1, {90, 26}, 5, BACK_TO_GAME_MENU}, - }, - { - {65, 122}, - }, - 10, - {98, 23}, - true, - { - {BACK_TO_GAME_MENU, NONE}, - {NONE, NONE}, - {NONE, NONE}, - }, - MENU_GAME_SELECT, - 2, - "bg/guassian" - }, - - {1, - { - {1, {90, 26}, 5, BACK_TO_EXTRAS_MENU}, - }, - { - {65, 122}, - }, - 4, - {98, 23}, - true, - { - {BACK_TO_GAME_MENU, NONE}, - {NONE, NONE}, - {NONE, NONE}, - }, - MENU_EXTRAS, - 2, - "bg/guassian" - }, - - {1, - { - {1, {90, 26}, 5, BACK_TO_EXTRAS_MENU}, - }, - { - {65, 122}, - }, - 8, - {98, 23}, - true, - { - {BACK_TO_GAME_MENU, NONE}, - {NONE, NONE}, - {NONE, NONE}, - }, - MENU_EXTRAS, - 2, - "bg/guassian" - }, - - // Hank's minerals - {1, - { - {1, {90, 26}, 5, BACK_TO_EXTRAS_MENU}, - }, - { - {17, SCREEN_HEIGHT - 52}, - }, - -1, - {162, SCREEN_HEIGHT - 38}, - true, - { - {BACK_TO_GAME_MENU, NONE}, - {NONE, NONE}, - {NONE, NONE}, - }, - MENU_EXTRAS, - 3, - "bg/minerals_hank" - }, - - // Level select - {2, - { - {0, {90, 36}, 2, START_CUSTOM_GAME}, - {1, {90, 26}, 5, BACK_TO_GAME_MENU}, - }, - { - {135, 96}, - {135, 136}, - }, - 0, - {164, 10}, - false, - { - {START_CUSTOM_GAME, NONE}, - {BACK_TO_GAME_MENU, NONE}, - {NONE, NONE}, - }, - MENU_GAME_SELECT, - 2, - "bg/guassian" - }, - -}; - -static Layout *GetLayoutForState(MenuState state) -{ - switch (state) - { - case MENU_TITLE: - return &LAYOUTS[0]; - case MENU_MAIN: - return &LAYOUTS[1]; - case MENU_GAME_SELECT: - return &LAYOUTS[2]; - case MENU_EXTRAS: - return &LAYOUTS[3]; - case MENU_MP_HOST_ROOM: - return &LAYOUTS[4]; - case MENU_MP_JOIN_ROOM: - return &LAYOUTS[5]; - case MENU_MUSIC_PLAYER: - return &LAYOUTS[6]; - case MENU_RUMBLE: - return &LAYOUTS[7]; - case MENU_MINERALS: - return &LAYOUTS[8]; - case MENU_CUSTOM_GAME: - return &LAYOUTS[9]; - default: - return nullptr; - } +#pragma once + +#include "enums.h" + +struct Button +{ + const int buttonSprite; + const int dimensions[2]; + const int textSprite; + const MenuSelection selection; +}; + +struct Layout +{ + const int buttonCount; + const Button buttons[4]; + const int buttonCoords[4][2]; + const int titleSprite; + const int titleCoords[2]; + bool allowCaretNavigation; + const MenuSelection caretMap[3][2]; + const MenuState backState; + const int backgroundId; + char* backgroundName; +}; + +static Layout LAYOUTS[12] = { + + {0, + {}, + {}, + -1, + {0, 0}, + false, + { + {NONE, NONE}, + {NONE, NONE}, + {NONE, NONE}, + }, + MENU_TITLE, + 1, + "bg/title" + }, + + {4, + { + {3, {90, 58}, 2, OPEN_GAME_MENU}, + {0, {90, 36}, 6, START_TUTORIAL}, + {1, {90, 26}, 5, BACK_TO_TITLE}, + {2, {90, 26}, 7, OPEN_EXTRAS_MENU}, + }, + { + {17, 55}, + {112, 39}, + {65, 112}, + {112, 75}, + }, + 1, + {98, 15}, + true, + { + {OPEN_GAME_MENU, START_TUTORIAL}, + {OPEN_GAME_MENU, OPEN_EXTRAS_MENU}, + {BACK_TO_TITLE, BACK_TO_TITLE}, + }, + MENU_TITLE, + 1, + "bg/title" + }, + + {4, + { + {3, {90, 58}, 0, START_STORY_MODE}, + {2, {90, 26}, 9, OPEN_ROOM}, + {1, {90, 26}, 5, BACK_TO_MAIN_MENU}, + {2, {90, 26}, 10, SEARCH_FOR_ROOMS}, + }, + { + {17, 63}, + {112, 31}, + {112, 97}, + {112, 62}, + }, + 2, + {98, 15}, + true, + { + {START_STORY_MODE, OPEN_ROOM}, + {START_STORY_MODE, SEARCH_FOR_ROOMS}, + {START_STORY_MODE, BACK_TO_MAIN_MENU}, + }, + MENU_MAIN, + 1, + "bg/title" + }, + + {4, + { + {3, {90, 58}, 3, OPEN_MINERALS_MENU}, + {3, {90, 58}, 4, OPEN_SOUND_TEST_MENU}, + {1, {90, 26}, 5, BACK_TO_MAIN_MENU}, + {2, {90, 26}, 8, TOGGLE_RUMBLE}, + }, + { + {17, 49}, + {112, 49}, + {112, 97}, + {17, 97}, + }, + 7, + {98, 15}, + true, + { + {OPEN_MINERALS_MENU, OPEN_SOUND_TEST_MENU}, + {OPEN_MINERALS_MENU, OPEN_SOUND_TEST_MENU}, + {TOGGLE_RUMBLE, BACK_TO_MAIN_MENU}, + }, + MENU_MAIN, + 1, + "bg/title" + }, + + {1, + { + {1, {90, 26}, 5, BACK_TO_GAME_MENU}, + }, + { + {65, 122}, + }, + 9, + {98, 23}, + true, + { + {BACK_TO_GAME_MENU, NONE}, + {NONE, NONE}, + {NONE, NONE}, + }, + MENU_GAME_SELECT, + 2, + "bg/guassian" + }, + + {1, + { + {1, {90, 26}, 5, BACK_TO_GAME_MENU}, + }, + { + {65, 122}, + }, + 10, + {98, 23}, + true, + { + {BACK_TO_GAME_MENU, NONE}, + {NONE, NONE}, + {NONE, NONE}, + }, + MENU_GAME_SELECT, + 2, + "bg/guassian" + }, + + {1, + { + {1, {90, 26}, 5, BACK_TO_EXTRAS_MENU}, + }, + { + {65, 122}, + }, + 4, + {98, 23}, + true, + { + {BACK_TO_GAME_MENU, NONE}, + {NONE, NONE}, + {NONE, NONE}, + }, + MENU_EXTRAS, + 2, + "bg/guassian" + }, + + {1, + { + {1, {90, 26}, 5, BACK_TO_EXTRAS_MENU}, + }, + { + {65, 122}, + }, + 8, + {98, 23}, + true, + { + {BACK_TO_GAME_MENU, NONE}, + {NONE, NONE}, + {NONE, NONE}, + }, + MENU_EXTRAS, + 2, + "bg/guassian" + }, + + // Hank's minerals + {1, + { + {1, {90, 26}, 5, BACK_TO_EXTRAS_MENU}, + }, + { + {17, SCREEN_HEIGHT - 52}, + }, + -1, + {162, SCREEN_HEIGHT - 38}, + true, + { + {BACK_TO_GAME_MENU, NONE}, + {NONE, NONE}, + {NONE, NONE}, + }, + MENU_EXTRAS, + 3, + "bg/minerals_hank" + }, + + // Level select + {2, + { + {0, {90, 36}, 2, START_CUSTOM_GAME}, + {1, {90, 26}, 5, BACK_TO_GAME_MENU}, + }, + { + {135, 96}, + {135, 136}, + }, + 0, + {164, 10}, + false, + { + {START_CUSTOM_GAME, NONE}, + {BACK_TO_GAME_MENU, NONE}, + {NONE, NONE}, + }, + MENU_GAME_SELECT, + 2, + "bg/guassian" + }, + +}; + +static Layout *GetLayoutForState(MenuState state) +{ + switch (state) + { + case MENU_TITLE: + return &LAYOUTS[0]; + case MENU_MAIN: + return &LAYOUTS[1]; + case MENU_GAME_SELECT: + return &LAYOUTS[2]; + case MENU_EXTRAS: + return &LAYOUTS[3]; + case MENU_MP_HOST_ROOM: + return &LAYOUTS[4]; + case MENU_MP_JOIN_ROOM: + return &LAYOUTS[5]; + case MENU_MUSIC_PLAYER: + return &LAYOUTS[6]; + case MENU_RUMBLE: + return &LAYOUTS[7]; + case MENU_MINERALS: + return &LAYOUTS[8]; + case MENU_CUSTOM_GAME: + return &LAYOUTS[9]; + default: + return nullptr; + } }; \ No newline at end of file diff --git a/source/levels.h b/source/levels.h index c3ac6da..e3fdfae 100644 --- a/source/levels.h +++ b/source/levels.h @@ -1,55 +1,55 @@ -#pragma once - -struct Level -{ - int quota; - int time; -}; - -const int LEVEL_COUNT = 5; -const Level LEVEL_STORY_MODE[LEVEL_COUNT + 1] = { - { - 8, - 265 - }, - { - 10, - 245 - }, - { - 12, - 240, - }, - { - 14, - 230 - }, - { - 16, - 250 - }, - { - 1, - 60 - } -}; - -/* const Level LEVEL_STORY_MODE[LEVEL_COUNT + 1] = { - { 1, 999 }, - { 1, 999 }, - { 1, 999 }, - { 1, 999 }, - { 1, 999 }, - { 1, 999 } -}; */ - - -const Level LEVEL_TUTORIAL = { - 5, - -1 -}; - -const Level LEVEL_MULTIPLAYER_VS = { - 99, - 300 +#pragma once + +struct Level +{ + int quota; + int time; +}; + +const int LEVEL_COUNT = 5; +const Level LEVEL_STORY_MODE[LEVEL_COUNT + 1] = { + { + 8, + 265 + }, + { + 10, + 245 + }, + { + 12, + 240, + }, + { + 14, + 230 + }, + { + 16, + 250 + }, + { + 1, + 60 + } +}; + +/* const Level LEVEL_STORY_MODE[LEVEL_COUNT + 1] = { + { 1, 999 }, + { 1, 999 }, + { 1, 999 }, + { 1, 999 }, + { 1, 999 }, + { 1, 999 } +}; */ + + +const Level LEVEL_TUTORIAL = { + 5, + -1 +}; + +const Level LEVEL_MULTIPLAYER_VS = { + 99, + 300 }; \ No newline at end of file diff --git a/source/main.cpp b/source/main.cpp index 18a52e6..5a29f29 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -1,36 +1,36 @@ -#include "game.h" - -const bool DEBUG_MODE = false; -Game game; - -void RenderGame() -{ - game.Render(); -} - -int main() -{ - srand(NULL); - - // Prepare graphics - game.Prepare3DGraphics(); - game.Prepare2DGraphics(); - - // Start the game - game.StartMenuScreen(DEBUG_MODE); - - // Run the game loop - while (true) - { - // Tick the game clock - game.Tick(); - - // Process input, update game state - game.Update(); - - // Render the game 3D scene - NE_Process(RenderGame); - } - - return 0; +#include "game.h" + +const bool DEBUG_MODE = false; +Game game; + +void RenderGame() +{ + game.Render(); +} + +int main() +{ + srand(NULL); + + // Prepare graphics + game.Prepare3DGraphics(); + game.Prepare2DGraphics(); + + // Start the game + game.StartMenuScreen(DEBUG_MODE); + + // Run the game loop + while (true) + { + // Tick the game clock + game.Tick(); + + // Process input, update game state + game.Update(); + + // Render the game 3D scene + NE_Process(RenderGame); + } + + return 0; } \ No newline at end of file diff --git a/source/map.cpp b/source/map.cpp index ba5a1e4..dc5d619 100644 --- a/source/map.cpp +++ b/source/map.cpp @@ -1,117 +1,117 @@ -#include "map.h" - -Map::Map() -{ -} - -int Map::Load() -{ - pipePos[0] = -191; - pipePos[1] = -78; - - material = NE_MaterialCreate(); - if (NE_MaterialTexLoadFAT(material, NE_A1RGB5, 256, 256, NE_TEXGEN_TEXCOORD, "model/superlab_tex.bin") == 0) - { - consoleDemoInit(); - printf("Couldn't load map textures..."); - return -1; - } - - NE_MaterialSetPropierties(material, - RGB15(18, 18, 18), // Diffuse - RGB15(22, 21, 20), // Ambient - RGB15(0, 0, 0), // Specular - RGB15(0, 0, 0), // Emission - false, false); // Vertex color, use shininess table - - for (int i = 0; i < MODEL_COUNT; i++) - { - models[i] = NE_ModelCreate(NE_Static); - if (NE_ModelLoadStaticMeshFAT(models[i], modelPaths[i]) == 0) - { - consoleDemoInit(); - printf("Couldn't load map model: %s...", modelPaths[i]); - return -1; - } - - // Set model rotation on the x axis - NE_ModelSetRot(models[i], 0, 3 * (512 / 4), 0); - - // Set scale - int scale = 26600; - NE_ModelScaleI(models[i], scale, scale, scale); - - // Set position - NE_ModelSetCoord(models[i], -13, 0, 10); - - // Assign material to the model - NE_ModelSetMaterial(models[i], material); - - // Free mesh when deleted - NE_ModelFreeMeshWhenDeleted(models[i]); - } - - // Load security camera - if (securityCamera.Load() != 0) - { - return -1; - } - - return 0; -} - -Tile Map::GetTileAt(int x, int z) -{ - if (x < 0 || x > 9 || z < 0 || z > 8) - { - return VOID; - } - return Tiles[z][x]; -} - -void Map::RotateSecurityCamera(float playerX, float playerZ) -{ - securityCamera.FacePlayer(playerX, playerZ); -} - -void Map::AdjustPipe(float pipeX, float pipeZ) -{ - NE_ModelSetCoord(models[2], -13 - pipeX, -pipeZ, 10); -} - -void Map::Draw(bool playerObscured) -{ - if (playerObscured && mixerAlpha > 20) - { - mixerAlpha--; - } - else if (!playerObscured && mixerAlpha < 31) - { - mixerAlpha++; - } - - // Draw the map - for (int i = 0; i < MODEL_COUNT; i++) - { - NE_PolyFormat(i > 0 ? mixerAlpha : 31, 0, NE_LIGHT_0, NE_CULL_NONE, NE_FOG_ENABLE); - NE_ModelDraw(models[i]); - } - - // Draw the security camera - securityCamera.Draw(); -} - -void Map::Unload() -{ - // Unload the security cameras - securityCamera.Unload(); - - // Delete models - for (int i = 0; i < MODEL_COUNT; i++) - { - NE_ModelDelete(models[i]); - } - - // Unload the map - NE_MaterialDelete(material); +#include "map.h" + +Map::Map() +{ +} + +int Map::Load() +{ + pipePos[0] = -191; + pipePos[1] = -78; + + material = NE_MaterialCreate(); + if (NE_MaterialTexLoadFAT(material, NE_A1RGB5, 256, 256, NE_TEXGEN_TEXCOORD, "model/superlab_tex.bin") == 0) + { + consoleDemoInit(); + printf("Couldn't load map textures..."); + return -1; + } + + NE_MaterialSetPropierties(material, + RGB15(18, 18, 18), // Diffuse + RGB15(22, 21, 20), // Ambient + RGB15(0, 0, 0), // Specular + RGB15(0, 0, 0), // Emission + false, false); // Vertex color, use shininess table + + for (int i = 0; i < MODEL_COUNT; i++) + { + models[i] = NE_ModelCreate(NE_Static); + if (NE_ModelLoadStaticMeshFAT(models[i], modelPaths[i]) == 0) + { + consoleDemoInit(); + printf("Couldn't load map model: %s...", modelPaths[i]); + return -1; + } + + // Set model rotation on the x axis + NE_ModelSetRot(models[i], 0, 3 * (512 / 4), 0); + + // Set scale + int scale = 26600; + NE_ModelScaleI(models[i], scale, scale, scale); + + // Set position + NE_ModelSetCoord(models[i], -13, 0, 10); + + // Assign material to the model + NE_ModelSetMaterial(models[i], material); + + // Free mesh when deleted + NE_ModelFreeMeshWhenDeleted(models[i]); + } + + // Load security camera + if (securityCamera.Load() != 0) + { + return -1; + } + + return 0; +} + +Tile Map::GetTileAt(int x, int z) +{ + if (x < 0 || x > 9 || z < 0 || z > 8) + { + return VOID; + } + return Tiles[z][x]; +} + +void Map::RotateSecurityCamera(float playerX, float playerZ) +{ + securityCamera.FacePlayer(playerX, playerZ); +} + +void Map::AdjustPipe(float pipeX, float pipeZ) +{ + NE_ModelSetCoord(models[2], -13 - pipeX, -pipeZ, 10); +} + +void Map::Draw(bool playerObscured) +{ + if (playerObscured && mixerAlpha > 20) + { + mixerAlpha--; + } + else if (!playerObscured && mixerAlpha < 31) + { + mixerAlpha++; + } + + // Draw the map + for (int i = 0; i < MODEL_COUNT; i++) + { + NE_PolyFormat(i > 0 ? mixerAlpha : 31, 0, NE_LIGHT_0, NE_CULL_NONE, NE_FOG_ENABLE); + NE_ModelDraw(models[i]); + } + + // Draw the security camera + securityCamera.Draw(); +} + +void Map::Unload() +{ + // Unload the security cameras + securityCamera.Unload(); + + // Delete models + for (int i = 0; i < MODEL_COUNT; i++) + { + NE_ModelDelete(models[i]); + } + + // Unload the map + NE_MaterialDelete(material); } \ No newline at end of file diff --git a/source/map.h b/source/map.h index 6eeb1de..f2f95e9 100644 --- a/source/map.h +++ b/source/map.h @@ -1,46 +1,46 @@ -#pragma once - -#include -#include -#include - -#include -#include -#include - -#include "enums.h" -#include "security_camera.h" - -class Map -{ -private: - const int MODEL_COUNT = 3; - const char *modelPaths[3] = {"model/superlab.dl", "model/superlab_mixer.dl", "model/superlab_pipe.dl"}; - NE_Model *models[3]; - u32 mixerAlpha = 31; - float pipePos[2] = { -191, -78 }; - - NE_Material *material; - SecurityCamera securityCamera; - - const Tile Tiles[9][10] = { - {FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, MINIGAME_VALVE}, - {WALL, FLOOR, FLOOR, FLOOR, FLOOR, MINIGAME_MIX, FLOOR, FLOOR, FLOOR, WALL}, - {WALL, MINIGAME_PESTLE, FLOOR, WALL, WALL, WALL, FLOOR, FLOOR, FLOOR, WALL}, - {WALL, FLOOR, FLOOR, WALL, WALL, WALL, WALL, FLOOR, MINIGAME_POUR, WALL}, - {WALL, FLOOR, FLOOR, WALL, WALL, WALL, WALL, FLOOR, FLOOR, WALL}, - {WALL, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, WALL}, - {WALL, MINIGAME_PIPETTE, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, MINIGAME_CRACK, WALL}, - {WALL, WALL, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, WALL, WALL, WALL}, - {WALL, WALL, WALL, WALL, WALL, WALL, WALL, WALL, WALL, WALL}}; - -public: - Map(); - - int Load(); - Tile GetTileAt(int x, int z); - void RotateSecurityCamera(float playerX, float playerZ); - void AdjustPipe(float pipeX, float pipeZ); - void Draw(bool playerObscured); - void Unload(); +#pragma once + +#include +#include +#include + +#include +#include +#include + +#include "enums.h" +#include "security_camera.h" + +class Map +{ +private: + const int MODEL_COUNT = 3; + const char *modelPaths[3] = {"model/superlab.dl", "model/superlab_mixer.dl", "model/superlab_pipe.dl"}; + NE_Model *models[3]; + u32 mixerAlpha = 31; + float pipePos[2] = { -191, -78 }; + + NE_Material *material; + SecurityCamera securityCamera; + + const Tile Tiles[9][10] = { + {FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, MINIGAME_VALVE}, + {WALL, FLOOR, FLOOR, FLOOR, FLOOR, MINIGAME_MIX, FLOOR, FLOOR, FLOOR, WALL}, + {WALL, MINIGAME_PESTLE, FLOOR, WALL, WALL, WALL, FLOOR, FLOOR, FLOOR, WALL}, + {WALL, FLOOR, FLOOR, WALL, WALL, WALL, WALL, FLOOR, MINIGAME_POUR, WALL}, + {WALL, FLOOR, FLOOR, WALL, WALL, WALL, WALL, FLOOR, FLOOR, WALL}, + {WALL, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, WALL}, + {WALL, MINIGAME_PIPETTE, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, MINIGAME_CRACK, WALL}, + {WALL, WALL, FLOOR, FLOOR, FLOOR, FLOOR, FLOOR, WALL, WALL, WALL}, + {WALL, WALL, WALL, WALL, WALL, WALL, WALL, WALL, WALL, WALL}}; + +public: + Map(); + + int Load(); + Tile GetTileAt(int x, int z); + void RotateSecurityCamera(float playerX, float playerZ); + void AdjustPipe(float pipeX, float pipeZ); + void Draw(bool playerObscured); + void Unload(); }; \ No newline at end of file diff --git a/source/menu.cpp b/source/menu.cpp index 08533bc..841ce5f 100644 --- a/source/menu.cpp +++ b/source/menu.cpp @@ -1,1029 +1,1032 @@ -#include "menu.h" - -Menu::Menu() -{ - state = MENU_LOADING; - highlightedItem = NONE; -} - -int Menu::Load() -{ - skybox = NE_ModelCreate(NE_Static); - skyboxMaterial = NE_MaterialCreate(); - - logo = NE_ModelCreate(NE_Static); - logoMaterial = NE_MaterialCreate(); - - text = NE_ModelCreate(NE_Static); - textMaterial = NE_MaterialCreate(); - - // Load assets from the filesystem - if (NE_ModelLoadStaticMeshFAT(skybox, "model/logo_skybox.dl") == 0 || NE_ModelLoadStaticMeshFAT(logo, "model/logo.dl") == 0 || NE_ModelLoadStaticMeshFAT(text, "model/logo_text.dl") == 0) - { - consoleDemoInit(); - printf("Couldn't load logo mesh/text plane..."); - return -1; - } - if (NE_MaterialTexLoadFAT(skyboxMaterial, NE_A1RGB5, 256, 256, NE_TEXGEN_TEXCOORD, "model/logo_skybox_tex.bin") == 0 || NE_MaterialTexLoadFAT(logoMaterial, NE_A1RGB5, 128, 128, NE_TEXGEN_TEXCOORD, "model/logo_tex.bin") == 0 || NE_MaterialTexLoadFAT(textMaterial, NE_A1RGB5, 128, 128, NE_TEXGEN_TEXCOORD, "model/logo_text_tex.bin") == 0) - { - consoleDemoInit(); - printf("Couldn't load logo/text textures..."); - return -1; - } - - // Assign material to the model - NE_ModelSetMaterial(skybox, skyboxMaterial); - NE_ModelSetMaterial(logo, logoMaterial); - NE_MaterialSetPropierties(logoMaterial, - RGB15(24, 24, 24), // Diffuse - RGB15(16, 16, 16), // Ambient - RGB15(8, 8, 8), // Specular - NE_White, // Emission - false, false); // Vertex color, use shininess table - NE_ModelSetMaterial(text, textMaterial); - NE_MaterialSetPropierties(textMaterial, - RGB15(24, 24, 24), // Diffuse - RGB15(16, 16, 16), // Ambient - RGB15(8, 8, 8), // Specular - NE_White, // Emission - false, false); // Vertex color, use shininess table - NE_ModelSetMaterial(skybox, skyboxMaterial); - NE_MaterialSetPropierties(skyboxMaterial, - RGB15(0, 0, 0), // Diffuse - RGB15(12, 12, 12), // Ambient - RGB15(8, 8, 8), // Specular - NE_White, // Emission - false, false); // Vertex color, use shininess table - - // Set model rotation and scale - int scale = 8250; - NE_ModelScaleI(skybox, scale * 8, scale * 8, scale * 8); - NE_ModelScaleI(logo, scale, scale, scale); - NE_ModelScaleI(text, scale, scale, scale); - - // Position models - x = TARGET_X - 10; - textX = TARGET_X - 16; - NE_ModelSetCoordI(skybox, 0, 0, 0); - NE_ModelSetCoordI(logo, 0, 0, 0); - NE_ModelSetCoordI(text, 0, 0, 0); - NE_ModelTranslate(skybox, SKYPOS_POS[0], SKYPOS_POS[1], SKYPOS_POS[2]); - NE_ModelTranslate(logo, x, Y, Z); - NE_ModelTranslate(text, textX, Y + 0.1, Z + 4.55); - - // Mark meshes for removal when deleted - NE_ModelFreeMeshWhenDeleted(skybox); - NE_ModelFreeMeshWhenDeleted(logo); - NE_ModelFreeMeshWhenDeleted(text); - - // Prepare sprites - LoadInterfaceSprites(); - - return 0; -} - -void Menu::LoadInterfaceSprites() -{ - NF_LoadSpriteGfx(MENU_MISC_SPRITE_NAME, 1, 64, 32); - NF_LoadSpritePal(MENU_MISC_SPRITE_NAME, 1); - NF_VramSpriteGfx(1, 1, 0, false); - NF_VramSpritePal(1, 1, 0); - - // Create, position & scale sprite - NF_CreateSprite(1, START_SPRITE, 0, 0, 64, 64); - NF_EnableSpriteRotScale(1, START_SPRITE, START_SPRITE, true); - NF_SpriteRotScale(1, START_SPRITE, 0, 283, 283); - - // Load UI sprites - NF_LoadSpriteGfx(MENU_BUTTONS_SPRITE_NAME, BUTTON_GFX_ID, MENU_SPRITE_SIZE[0], MENU_SPRITE_SIZE[1]); - NF_LoadSpritePal(MENU_BUTTONS_SPRITE_NAME, BUTTON_GFX_ID); - NF_VramSpriteGfx(1, BUTTON_GFX_ID, BUTTON_GFX_ID, false); - NF_VramSpritePal(1, BUTTON_GFX_ID, BUTTON_GFX_ID); - - NF_LoadSpriteGfx(MENU_TEXT_SPRITE_NAME, TEXT_GFX_ID, MENU_SPRITE_SIZE[0], MENU_SPRITE_SIZE[1]); - NF_LoadSpritePal(MENU_TEXT_SPRITE_NAME, TEXT_GFX_ID); - NF_VramSpriteGfx(1, TEXT_GFX_ID, TEXT_GFX_ID, false); - NF_VramSpritePal(1, TEXT_GFX_ID, TEXT_GFX_ID); -} - -void Menu::UnloadInterfaceSprites() -{ - NF_DeleteSprite(1, START_SPRITE); - NF_UnloadSpriteGfx(1); - NF_UnloadSpritePal(1); - NF_FreeSpriteGfx(1, 0); - NF_UnloadSpriteGfx(BUTTON_GFX_ID); - NF_UnloadSpritePal(BUTTON_GFX_ID); - NF_FreeSpriteGfx(1, BUTTON_GFX_ID); - NF_UnloadSpriteGfx(TEXT_GFX_ID); - NF_UnloadSpritePal(TEXT_GFX_ID); - NF_FreeSpriteGfx(1, TEXT_GFX_ID); -} - -void Menu::ShowLayout() -{ - if (currentLayout != nullptr) - { - if (currentLayout->buttonCount > 0) - { - for (int i = 0; i < currentLayout->buttonCount; i++) - { - NF_DeleteSprite(1, TEXT_SPRITES[i]); - for (int j = 0; j < 4; j++) - { - NF_DeleteSprite(1, BUTTON_SPRITES_BASE + (i * 4) + j); - } - } - } - - if (currentLayout->titleSprite != -1) - { - NF_DeleteSprite(1, TITLE_SPRITE); - } - } - - Layout *layout = GetLayoutForState(state); - if (layout == nullptr) - { - currentLayout = nullptr; - return; - } - - menuCaret[0] = menuCaret[1] = 0; - if (layout->allowCaretNavigation && layout->buttonCount > 1) - { - highlightedItem = layout->caretMap[0][0]; - } - - if (layout->buttonCount > 0) - { - for (int b = 0; b < layout->buttonCount; b++) - { - int spriteOffset = b * 4; - Button button = layout->buttons[b]; - for (int i = 0; i < 4; i++) - { - int xOffset = (i == 1 || i == 3) ? 64 : 0; - int yOffset = (i == 2 || i == 3) ? 32 : 0; - int spriteId = BUTTON_SPRITES_BASE + (spriteOffset + i); - NF_CreateSprite(1, spriteId, BUTTON_GFX_ID, BUTTON_GFX_ID, layout->buttonCoords[b][0] + xOffset, layout->buttonCoords[b][1] + yOffset); - NF_HflipSprite(1, spriteId, i % 2 != 0); - NF_VflipSprite(1, spriteId, i > 1); - NF_SpriteFrame(1, spriteId, button.buttonSprite); - } - NF_CreateSprite(1, TEXT_SPRITES[b], TEXT_GFX_ID, TEXT_GFX_ID, layout->buttonCoords[b][0] + 32, layout->buttonCoords[b][1] + 16); - NF_SpriteFrame(1, TEXT_SPRITES[b], button.textSprite); - } - } - - if (layout->titleSprite != -1) - { - NF_CreateSprite(1, TITLE_SPRITE, TEXT_GFX_ID, TEXT_GFX_ID, layout->titleCoords[0], layout->titleCoords[1]); - NF_SpriteFrame(1, TITLE_SPRITE, layout->titleSprite); - } - - currentLayout = layout; -} - -void Menu::UpdateLayout(volatile int frame) -{ - const Layout *layout = GetLayoutForState(state); - if (layout == nullptr) - { - return; - } - - for (int b = 0; b < layout->buttonCount; b++) - { - int spriteOffset = b * 4; - Button button = layout->buttons[b]; - for (int i = 0; i < 4; i++) - { - int spriteId = BUTTON_SPRITES_BASE + (spriteOffset + i); - NF_SpriteFrame(1, spriteId, button.buttonSprite + (highlightedItem == button.selection ? 4 : 0)); - } - } -} - -void Menu::ShowBackground() -{ - if ((state == MENU_LOGO || state == MENU_LOADING)) - { - if (currentBackground != 0) - { - NF_DeleteTiledBg(1, MENU_BG_ID); - NF_UnloadTiledBg(currentBgName); - } - currentBackground = 0; - } - else - { - Layout *layout = GetLayoutForState(state); - if (layout == nullptr) - { - return; - } - - if (currentBackground != layout->backgroundId) - { - if (currentBackground != 0) - { - NF_DeleteTiledBg(1, MENU_BG_ID); - NF_UnloadTiledBg(currentBgName); - } - currentBackground = layout->backgroundId; - currentBgName = layout->backgroundName; - NF_LoadTiledBg(currentBgName, currentBgName, 256, 256); - NF_CreateTiledBg(1, MENU_BG_ID, currentBgName); - } - } -} - -void Menu::SetState(MenuState newState, volatile int frame, Sound *sound) -{ - Layout *newLayout = GetLayoutForState(newState); - bool transitionNeeded = false; - if ((newLayout != nullptr) && (transitionNeeded = (newLayout->backgroundId != currentBackground))) - { - Transition(false, 0, TS_BOTTOM, frame); - } - - if (newState == MENU_LOADING) - { - sound->StopBGM(); - } - else if (state == MENU_LOGO && newState != MENU_LOGO) - { - sound->PlayBGM(BGM_TITLE_LOOP, true); - } - else if (newState == MENU_LOGO) - { - sound->PlayBGM(BGM_TITLE_INTRO, false); - } - - if (state == MENU_MUSIC_PLAYER && newState == MENU_MAIN) - { - sound->PlayBGM(BGM_TITLE_LOOP, true); - currentSoundTestTrack = 1; - } - - if ((state == MENU_MP_HOST_ROOM || state == MENU_MP_JOIN_ROOM) && (newState != MENU_MP_HOST_ROOM && newState != MENU_MP_JOIN_ROOM)) - { - ShowMultiplayerStatus(false); - } - else if (newState == MENU_MP_HOST_ROOM) - { - StartMultiplayer(true); - } - else if (newState == MENU_MP_JOIN_ROOM) - { - StartMultiplayer(false); - } - - if (newState == MENU_MINERALS && state != MENU_MINERALS) - { - ShowMinerals(true); - } - else if (state == MENU_MINERALS && newState != MENU_MINERALS) - { - ShowMinerals(false); - } - - if (state != MENU_LOGO && newState != MENU_LOGO) - { - sound->PlaySFX(SFX_MENU_DRUM); - rumble(state % 2 == 0); - } - state = newState; - ShowLayout(); - ShowBackground(); - - if (transitionNeeded) - { - Transition(true, 15, TS_BOTTOM, frame); - } -} - -void Menu::PositionLogo() -{ - // Position logo - NE_ModelSetCoordI(logo, 0, 0, 0); - NE_ModelSetCoordI(text, 0, 0, 0); - NE_ModelTranslate(logo, TARGET_X, Y, Z); - NE_ModelTranslate(text, TARGET_TEXT_X, Y + 0.1, Z + 4.55); -} - -void Menu::StartMultiplayer(bool mpCreatingRoom) -{ - this->mpCreatingRoom = mpCreatingRoom; - joinMultiplayer(mpCreatingRoom); -} - -void Menu::UpdateMultiplayer() -{ - tickMultiplayer(); - mpCurrentStatus = getMultiplayerStatus(); - ShowMultiplayerStatus(true); -} - -void Menu::ShowMultiplayerStatus(bool showSprite) -{ - if (!showSprite && mpShowingStatus) - { - NF_DeleteSprite(1, MP_STATUS_SPRITE); - } - else if (showSprite) - { - if (!mpShowingStatus && mpCurrentStatus > -1) - { - NF_CreateSprite(1, MP_STATUS_SPRITE, TEXT_GFX_ID, TEXT_GFX_ID, (SCREEN_WIDTH / 2) - 32, (SCREEN_HEIGHT / 2) - 16); - } - - int statusSpriteId; - switch (mpCurrentStatus) - { - case 0: - statusSpriteId = 12; - break; - case 1: - statusSpriteId = 11; - break; - case 2: - statusSpriteId = 14; - break; - case 3: - statusSpriteId = 13; - break; - default: - statusSpriteId = 15; - break; - } - - NF_SpriteFrame(1, MP_STATUS_SPRITE, statusSpriteId); - } - mpShowingStatus = showSprite; -} - -void Menu::ShowMinerals(bool showSprites) -{ - int row = 0; - int col = 0; - for (int i = 0; i < MINERAL_COUNT; i++) - { - int spriteId = MINERAL_SPRITE_BASE + i; - row = i / MINERALS_PER_ROW; - col = i % MINERALS_PER_ROW; - int pos[2] = {MINERAL_GRID_BASE_POS[0] + ((32 + MINERAL_GAP) * col), MINERAL_GRID_BASE_POS[1] + ((32 + MINERAL_GAP) * row)}; - - if (showSprites) - { - NF_CreateSprite(1, spriteId, 0, 0, pos[0], pos[1]); - NF_SpriteFrame(1, spriteId, 4); - NF_ShowSprite(1, spriteId, !globalSave.minerals[i]); - } - else - { - NF_DeleteSprite(1, MINERAL_SPRITE_BASE + i); - } - } - - if (showSprites) - { - NF_CreateSprite(1, MINERAL_CURSOR_SPRITE, 0, 0, MINERAL_GRID_BASE_POS[0], MINERAL_GRID_BASE_POS[1]); - NF_SpriteFrame(1, MINERAL_CURSOR_SPRITE, 3); - - NF_CreateSprite(1, HANK_EYES_SPRITE, 0, 0, HANK_EYES_POS[0], HANK_EYES_POS[1]); - NF_SpriteFrame(1, HANK_EYES_SPRITE, 5); - NF_ShowSprite(1, HANK_EYES_SPRITE, false); - } - else - { - NF_DeleteSprite(1, MINERAL_CURSOR_SPRITE); - NF_DeleteSprite(1, HANK_EYES_SPRITE); - } -} - -char* Menu::GetCharacterName(Character character) { - switch (character) { - case CHAR_WALT: - return "Walt"; - case CHAR_JESSE: - return "Jesse"; - case CHAR_YEPPERS: - return "Kusuri"; - } - return "Unknown"; -} - -void Menu::UpdateMinerals(volatile int frame, Sound *sound) -{ - int row = 0; - int col = 0; - NF_ShowSprite(1, MINERAL_CURSOR_SPRITE, currentlySelectedMineral != -1); - - bool touching = false; - touchPosition touch; - if (keysDown() & KEY_TOUCH) - { - touchRead(&touch); - touching = touch.px >= MINERAL_GRID_BASE_POS[0] && touch.px <= MINERAL_GRID_BASE_POS[0] + ((32 + MINERAL_GAP) * MINERALS_PER_ROW) - && touch.py > MINERAL_GRID_BASE_POS[1] && touch.py < MINERAL_GRID_BASE_POS[1] + ((32 + MINERAL_GAP) * (MINERAL_COUNT / MINERALS_PER_ROW)); - - if (!touching) - { - currentlySelectedMineral = -1; - } - } - - for (int i = 0; i < MINERAL_COUNT; i++) - { - int spriteId = MINERAL_SPRITE_BASE + i; - NF_ShowSprite(1, spriteId, !globalSave.minerals[i]); - - row = i / MINERALS_PER_ROW; - col = i % MINERALS_PER_ROW; - int pos[2] = {MINERAL_GRID_BASE_POS[0] + ((32 + MINERAL_GAP) * col), MINERAL_GRID_BASE_POS[1] + ((32 + MINERAL_GAP) * row)}; - - if (touching) - { - sound->PlaySFX(SFX_MENU_SELECT); - - bool touchingMineral = touch.px >= pos[0] && touch.px <= pos[0] + 32 && touch.py >= pos[1] && touch.py <= pos[1] + 32; - currentlySelectedMineral = touchingMineral ? i : currentlySelectedMineral; - } - - if (currentlySelectedMineral == i) - { - NF_MoveSprite(1, MINERAL_CURSOR_SPRITE, pos[0], pos[1]); - } - } - - // Hank blink animation - int blinkRange = (hankLastBlink - frame); - bool isBlinking = false; - if (blinkRange < 10 && blinkRange > 0) - { - isBlinking = true; - } - if (blinkRange <= 0) - { - hankLastBlink = frame + (rand() % 100) + 100; - } - NF_ShowSprite(1, HANK_EYES_SPRITE, isBlinking); -} - -void Menu::Update(volatile int frame, Sound *sound) -{ - NF_ClearTextLayer(1, 0); - - switch (state) - { - case MENU_LOADING: - NF_ShowSprite(1, START_SPRITE, false); - break; - - case MENU_LOGO: - if (x < TARGET_X) - { - x += X_SPEED; - NE_ModelTranslate(logo, X_SPEED, 0, 0); - } - if (textX < TARGET_TEXT_X) - { - textX += X_SPEED; - NE_ModelTranslate(text, X_SPEED, 0, 0); - } - - NF_SpriteFrame(1, START_SPRITE, (frame > 345) ? 1 : 0); - NE_ModelRotate(skybox, (frame % 4 == 0 ? 1 : 0), 0, 0); - - if (frame >= 690) - { - SetState(MENU_TITLE, frame, sound); - return; - } - break; - - case MENU_TITLE: - if (frame % 30 == 0) - { - showStartSprite = !showStartSprite; - } - if (!canSave()) { - NF_WriteText(1, 0, 0, 0, "Cannot save game!"); - } - NF_WriteText(1, 0, 26, 0, "v1.0.5"); - break; - - case MENU_RUMBLE: - if (!isDSiMode()) { - NF_WriteText(1, 0, 2, 7, "A DS Rumble Pak is required."); - NF_WriteText(1, 0, 2, 8, "to enable this feature. If a"); - NF_WriteText(1, 0, 2, 9, "Rumble Pak is inserted into"); - NF_WriteText(1, 0, 2, 10, "SLOT-2, you should now feel."); - NF_WriteText(1, 0, 2, 11, "the rumble effect."); - - NF_WriteText(1, 0, 2, 14, "Remove the Rumble Pak from"); - NF_WriteText(1, 0, 2, 15, "SLOT-2 to disable rumble."); - - rumble(frame % 2 == 0); - } - else { - NF_WriteText(1, 0, 2, 9, "Rumble support is disabled."); - NF_WriteText(1, 0, 2, 11, "You do not have a system"); - NF_WriteText(1, 0, 2, 12, "that supports the rumble"); - NF_WriteText(1, 0, 2, 13, "feature of this game."); - } - break; - - case MENU_MINERALS: - if (currentlySelectedMineral == -1) - { - NF_WriteText(1, 0, 2, 1, "Walt! If you happen upon any"); - NF_WriteText(1, 0, 2, 3, "minerals, I'll appraise 'em!"); - } - else - { - const Mineral *mineral = &MINERALS[currentlySelectedMineral]; - if (globalSave.minerals[currentlySelectedMineral]) - { - NF_WriteText(1, 0, 1, 1, mineral->name); - NF_WriteText(1, 0, 1, 3, mineral->description); - } - else - { - NF_WriteText(1, 0, 1, 1, "???"); - if (mineral->isSecret) - { - NF_WriteText(1, 0, 1, 3, "?????????"); - } - else - { - NF_WriteText(1, 0, 1, 3, mineral->description); - } - } - } - UpdateMinerals(frame, sound); - break; - - case MENU_MUSIC_PLAYER: - NF_WriteText(1, 0, 2, 9, "Currently playing:"); - char trackNoAndTitle[50]; - sprintf(trackNoAndTitle, "%d. %s", currentSoundTestTrack + 1, BGMS[currentSoundTestTrack].name); - NF_WriteText(1, 0, 2, 10, trackNoAndTitle); - NF_WriteText(1, 0, 2, 11, sound->GetBgmTrackProgressString()); - NF_WriteText(1, 0, 2, 13, "LEFT/RIGHT to change track."); - break; - - case MENU_MP_HOST_ROOM: - case MENU_MP_JOIN_ROOM: - UpdateMultiplayer(); - break; - - case MENU_CUSTOM_GAME: - NF_WriteText(1, 0, 2, 2, "- Custom Cook -"); - - // Option config - char editorText[50]; - for (int i = 0; i < CUSTOM_GAME_OPTION_COUNT; i++) - { - switch (i) { - case 0: - if (customGameValues[i] == 5) { - sprintf( - editorText, - "%s%s: Final Cook", customGameCursor == i ? "> " : "", - customGameIds[i] - ); - } - else - { - sprintf( - editorText, - "%s%s: %i", customGameCursor == i ? "> " : "", - customGameIds[i], - customGameValues[i] + 1 - ); - } - break; - case 1: - sprintf( - editorText, - "%s%s: $%i", customGameCursor == i ? "> " : "", - customGameIds[i], - customGameValues[i] - ); - break; - case 2: - sprintf( - editorText, - "%s%s: %s", customGameCursor == i ? "> " : "", - customGameIds[i], - GetCharacterName(static_cast(customGameValues[i])) - ); - break; - default: - sprintf( - editorText, - "%s%s: %s", customGameCursor == i ? "> " : "", - customGameIds[i], - customGameValues[i] ? "On" : "Off" - ); - break; - } - - NF_WriteText(1, 0, 3 - (customGameCursor == i ? 2 : 0), 5 + (i * 2), editorText); - } - - NF_WriteText(1, 0, 2, 20, "UP/DOWN: Select"); - NF_WriteText(1, 0, 2, 21, "LEFT/RIGHT: Edit"); - break; - } - - if (GetLayoutForState(state) != nullptr) - { - UpdateLayout(frame); - NF_ShowSprite(1, START_SPRITE, state == MENU_TITLE && showStartSprite); - NF_SpriteFrame(1, START_SPRITE, 2); - NE_ModelRotate(skybox, 0, (frame % 8 == 0 ? 1 : 0), 0); - } -} - -MenuSelection Menu::HandleInput(volatile int frame, Sound *sound) -{ - touchPosition touch; - switch (state) - { - case MENU_LOGO: - if (keysDown() & KEY_TOUCH || keysDown() & KEY_A || keysDown() & KEY_START) - { - return SKIP_LOGO; - } - return NONE; - - case MENU_TITLE: - if (keysDown() & KEY_TOUCH || keysDown() & KEY_A || keysDown() & KEY_START) - { - SetState(MENU_MAIN, frame, sound); - } - return NONE; - - case MENU_MUSIC_PLAYER: - if (keysDown() & KEY_RIGHT || keysDown() & KEY_LEFT) - { - if (keysDown() & KEY_RIGHT) - { - currentSoundTestTrack++; - sound->PlaySFX(SFX_MENU_SELECT); - - if (currentSoundTestTrack >= BGM_COUNT) - { - currentSoundTestTrack = 0; - } - } - else if (keysDown() & KEY_LEFT) - { - currentSoundTestTrack--; - sound->PlaySFX(SFX_MENU_SELECT); - - if (currentSoundTestTrack < 0) - { - currentSoundTestTrack = BGM_COUNT - 1; - } - } - - sound->PlayBGM(static_cast(currentSoundTestTrack), true); - rumble(currentSoundTestTrack % 2 == 0); - } - return HandleLayoutInput(frame, sound, touch); - - case MENU_MP_HOST_ROOM: - if (mpCurrentStatus == MP_HOST_READY) - { - if (keysDown() & KEY_A) - { - sound->PlaySFX(SFX_MENU_DRUM); - return START_MP_GAME; - } - break; - } - break; - case MENU_MP_JOIN_ROOM: - if (mpCurrentStatus == MP_CLIENT_READY && (getOpponent()->timeLeft > -1)) - { - sound->PlaySFX(SFX_MENU_DRUM); - return START_MP_GAME; - } - break; - - case MENU_CUSTOM_GAME: - if (keysDown() & KEY_RIGHT || keysDown() & KEY_LEFT - || keysDown() & KEY_DOWN || keysDown() & KEY_UP) - { - // Adjust cursor - if (keysDown() & KEY_UP) - { - customGameCursor--; - sound->PlaySFX(SFX_MENU_SELECT); - } - else if (keysDown() & KEY_DOWN) - { - customGameCursor++; - sound->PlaySFX(SFX_MENU_SELECT); - } - if (customGameCursor < 0) - { - customGameCursor = CUSTOM_GAME_OPTION_COUNT - 1; - } - else if (customGameCursor >= CUSTOM_GAME_OPTION_COUNT) - { - customGameCursor = 0; - } - - // Adjust value - int valueMin = CUSTOM_GAME_MENU_MAP[customGameCursor][0]; - int valueMax = CUSTOM_GAME_MENU_MAP[customGameCursor][1]; - int valueInc = CUSTOM_GAME_MENU_MAP[customGameCursor][2]; - if (keysDown() & KEY_RIGHT) - { - customGameValues[customGameCursor] += valueInc; - sound->PlaySFX(SFX_SUCCESS_BELL); - } - else if (keysDown() & KEY_LEFT) - { - customGameValues[customGameCursor] -= valueInc; - sound->PlaySFX(SFX_SUCCESS_BELL); - } - if (customGameValues[customGameCursor] < valueMin) - { - customGameValues[customGameCursor] = valueMax; - } - else if (customGameValues[customGameCursor] > valueMax) - { - customGameValues[customGameCursor] = valueMin; - } - } - return HandleLayoutInput(frame, sound, touch); - } - - return HandleLayoutInput(frame, sound, touch); -} - -MenuSelection Menu::HandleLayoutInput(volatile int frame, Sound *sound, touchPosition touch) -{ - const Layout *layout = GetLayoutForState(state); - if (layout == nullptr) - { - return NONE; - } - - if (keysDown() & KEY_TOUCH) - { - touchRead(&touch); - - for (int b = 0; b < layout->buttonCount; b++) - { - if (IsTouchInBox(layout->buttonCoords[b], layout->buttons[b].dimensions, touch)) - { - return HandleClick(layout->buttons[b].selection, frame, sound); - } - } - highlightedItem = NONE; - return NONE; - } - - if (keysDown() & KEY_B) - { - SetState(layout->backState, frame, sound); - return NONE; - } - - if (keysDown() & KEY_A || keysDown() & KEY_START) - { - return HandleClick(highlightedItem, frame, sound); - } - - if (!layout->allowCaretNavigation) - { - return NONE; - } - - if (keysDown() & KEY_UP || keysDown() & KEY_DOWN || keysDown() & KEY_LEFT || keysDown() & KEY_RIGHT) - { - int dCaret[2] = {0, 0}; - if (keysDown() & KEY_UP) - { - dCaret[0]--; - } - else if (keysDown() & KEY_DOWN) - { - dCaret[0]++; - } - else if (keysDown() & KEY_LEFT) - { - dCaret[1]--; - } - else if (keysDown() & KEY_RIGHT) - { - dCaret[1]++; - } - - if (menuCaret[0] + dCaret[0] < 0) - { - dCaret[0] = 2; - } - else if (menuCaret[0] + dCaret[0] > 2) - { - dCaret[0] = 0; - } - if (menuCaret[1] + dCaret[1] < 0) - { - dCaret[1] = 1; - } - else if (menuCaret[1] + dCaret[1] > 1) - { - dCaret[1] = 0; - } - - MenuSelection selection = layout->caretMap[menuCaret[0] + dCaret[0]][menuCaret[1] + dCaret[1]]; - if (selection != NONE) - { - menuCaret[0] += dCaret[0]; - menuCaret[1] += dCaret[1]; - highlightedItem = selection; - sound->PlaySFX(SFX_MENU_SELECT); - } - } - - return NONE; -} - -MenuSelection Menu::HandleClick(MenuSelection clicked, volatile int frame, Sound *sound) -{ - switch (clicked) - { - case OPEN_GAME_MENU: - if (CheckSelection(clicked)) - { - SetState(MENU_GAME_SELECT, frame, sound); - return OPEN_GAME_MENU; - } - return NONE; - case TOGGLE_RUMBLE: - if (CheckSelection(clicked)) - { - SetState(MENU_RUMBLE, frame, sound); - return TOGGLE_RUMBLE; - } - return NONE; - case BACK_TO_TITLE: - if (CheckSelection(clicked)) - { - SetState(MENU_TITLE, frame, sound); - return BACK_TO_TITLE; - } - return NONE; - case BACK_TO_MAIN_MENU: - if (CheckSelection(clicked)) - { - SetState(MENU_MAIN, frame, sound); - return BACK_TO_MAIN_MENU; - } - return NONE; - case OPEN_ROOM: - if (CheckSelection(clicked)) - { - SetState(MENU_MP_HOST_ROOM, frame, sound); - return OPEN_ROOM; - } - return NONE; - case SEARCH_FOR_ROOMS: - if (CheckSelection(clicked)) - { - SetState(MENU_MP_JOIN_ROOM, frame, sound); - return SEARCH_FOR_ROOMS; - } - return NONE; - case OPEN_EXTRAS_MENU: - if (CheckSelection(clicked)) - { - SetState(MENU_EXTRAS, frame, sound); - return OPEN_EXTRAS_MENU; - } - return NONE; - case OPEN_SOUND_TEST_MENU: - if (CheckSelection(clicked)) - { - SetState(MENU_MUSIC_PLAYER, frame, sound); - return OPEN_SOUND_TEST_MENU; - } - return NONE; - case OPEN_MINERALS_MENU: - if (CheckSelection(clicked)) - { - SetState(MENU_MINERALS, frame, sound); - return OPEN_MINERALS_MENU; - } - return NONE; - case BACK_TO_GAME_MENU: - if (CheckSelection(clicked)) - { - if (state == MENU_MP_HOST_ROOM || state == MENU_MP_JOIN_ROOM) - { - if (mpCurrentStatus == MP_HOST_READY || mpCurrentStatus == MP_CLIENT_READY) - { - rumble(rand() % 2 == 0); - return NONE; - } - SetState(MENU_GAME_SELECT, frame, sound); - mpCurrentStatus = -1; - mpCreatingRoom = false; - disableMultiplayer(); - return BACK_TO_GAME_MENU; - } - SetState(MENU_GAME_SELECT, frame, sound); - return BACK_TO_GAME_MENU; - } - return NONE; - case BACK_TO_EXTRAS_MENU: - if (CheckSelection(clicked)) - { - SetState(MENU_EXTRAS, frame, sound); - return BACK_TO_EXTRAS_MENU; - } - return NONE; - case START_STORY_MODE: - if (CheckSelection(clicked)) { - if ((keysHeld() & KEY_SELECT) && (keysHeld() & KEY_R)) { - SetState(MENU_CUSTOM_GAME, frame, sound); - return OPEN_CUSTOM_GAME_MENU; - } - return clicked; - } - return NONE; - default: - if (CheckSelection(clicked)) - { - return clicked; - } - return NONE; - } - return NONE; -} - -bool Menu::IsTouchInBox(const int coords[2], const int boxDimensions[2], touchPosition touch) -{ - int xOffset = (128 - boxDimensions[0]) / 2; - int yOffset = (64 - boxDimensions[1]) / 2; - int boxPos[2] = {coords[0] + xOffset, coords[1] + yOffset}; - - return (touch.px >= boxPos[0] && touch.px <= boxPos[0] + boxDimensions[0] && - touch.py >= boxPos[1] && touch.py <= boxPos[1] + boxDimensions[1]); -} - -MenuSelection Menu::CheckSelection(MenuSelection tappedBox) -{ - if (tappedBox == highlightedItem) - { - return highlightedItem; - } - highlightedItem = tappedBox; - return NONE; -} - -void Menu::Draw(volatile int frame) -{ - if (state != MENU_LOADING) - { - NE_ModelDraw(skybox); - NE_PolyFormat(31, 8, NE_LIGHT_0, NE_CULL_NONE, NE_FOG_ENABLE); - NE_ModelDraw(logo); - NE_ModelDraw(text); - } -} - -int* Menu::GetCustomGameValues() -{ - return customGameValues; -} - -void Menu::Unload(volatile int frame, Sound *sound) -{ - SetState(MENU_LOADING, frame, sound); - ShowLayout(); - ShowBackground(); - ShowMultiplayerStatus(false); - - // Free the model and material - NE_ModelDelete(logo); - NE_ModelDelete(text); - NE_ModelDelete(skybox); - - NE_MaterialDelete(logoMaterial); - NE_MaterialDelete(textMaterial); - NE_MaterialDelete(skyboxMaterial); - - // Unload sprites - UnloadInterfaceSprites(); - NF_VramSpriteGfxDefrag(1); +#include "menu.h" + +Menu::Menu() +{ + state = MENU_LOADING; + highlightedItem = NONE; +} + +int Menu::Load() +{ + skybox = NE_ModelCreate(NE_Static); + skyboxMaterial = NE_MaterialCreate(); + + logo = NE_ModelCreate(NE_Static); + logoMaterial = NE_MaterialCreate(); + + text = NE_ModelCreate(NE_Static); + textMaterial = NE_MaterialCreate(); + + // Load assets from the filesystem + if (NE_ModelLoadStaticMeshFAT(skybox, "model/logo_skybox.dl") == 0 || NE_ModelLoadStaticMeshFAT(logo, "model/logo.dl") == 0 || NE_ModelLoadStaticMeshFAT(text, "model/logo_text.dl") == 0) + { + consoleDemoInit(); + printf("Couldn't load logo mesh/text plane..."); + return -1; + } + if (NE_MaterialTexLoadFAT(skyboxMaterial, NE_A1RGB5, 256, 256, NE_TEXGEN_TEXCOORD, "model/logo_skybox_tex.bin") == 0 || NE_MaterialTexLoadFAT(logoMaterial, NE_A1RGB5, 128, 128, NE_TEXGEN_TEXCOORD, "model/logo_tex.bin") == 0 || NE_MaterialTexLoadFAT(textMaterial, NE_A1RGB5, 128, 128, NE_TEXGEN_TEXCOORD, "model/logo_text_tex.bin") == 0) + { + consoleDemoInit(); + printf("Couldn't load logo/text textures..."); + return -1; + } + + // Assign material to the model + NE_ModelSetMaterial(skybox, skyboxMaterial); + NE_ModelSetMaterial(logo, logoMaterial); + NE_MaterialSetPropierties(logoMaterial, + RGB15(24, 24, 24), // Diffuse + RGB15(16, 16, 16), // Ambient + RGB15(8, 8, 8), // Specular + NE_White, // Emission + false, false); // Vertex color, use shininess table + NE_ModelSetMaterial(text, textMaterial); + NE_MaterialSetPropierties(textMaterial, + RGB15(24, 24, 24), // Diffuse + RGB15(16, 16, 16), // Ambient + RGB15(8, 8, 8), // Specular + NE_White, // Emission + false, false); // Vertex color, use shininess table + NE_ModelSetMaterial(skybox, skyboxMaterial); + NE_MaterialSetPropierties(skyboxMaterial, + RGB15(0, 0, 0), // Diffuse + RGB15(12, 12, 12), // Ambient + RGB15(8, 8, 8), // Specular + NE_White, // Emission + false, false); // Vertex color, use shininess table + + // Set model rotation and scale + int scale = 8250; + NE_ModelScaleI(skybox, scale * 8, scale * 8, scale * 8); + NE_ModelScaleI(logo, scale, scale, scale); + NE_ModelScaleI(text, scale, scale, scale); + + // Position models + x = TARGET_X - 10; + textX = TARGET_X - 16; + NE_ModelSetCoordI(skybox, 0, 0, 0); + NE_ModelSetCoordI(logo, 0, 0, 0); + NE_ModelSetCoordI(text, 0, 0, 0); + NE_ModelTranslate(skybox, SKYPOS_POS[0], SKYPOS_POS[1], SKYPOS_POS[2]); + NE_ModelTranslate(logo, x, Y, Z); + NE_ModelTranslate(text, textX, Y + 0.1, Z + 4.55); + + // Mark meshes for removal when deleted + NE_ModelFreeMeshWhenDeleted(skybox); + NE_ModelFreeMeshWhenDeleted(logo); + NE_ModelFreeMeshWhenDeleted(text); + + // Prepare sprites + LoadInterfaceSprites(); + + return 0; +} + +void Menu::LoadInterfaceSprites() +{ + NF_LoadSpriteGfx(MENU_MISC_SPRITE_NAME, 1, 64, 32); + NF_LoadSpritePal(MENU_MISC_SPRITE_NAME, 1); + NF_VramSpriteGfx(1, 1, 0, false); + NF_VramSpritePal(1, 1, 0); + + // Create, position & scale sprite + NF_CreateSprite(1, START_SPRITE, 0, 0, 64, 64); + NF_EnableSpriteRotScale(1, START_SPRITE, START_SPRITE, true); + NF_SpriteRotScale(1, START_SPRITE, 0, 283, 283); + + // Load UI sprites + NF_LoadSpriteGfx(MENU_BUTTONS_SPRITE_NAME, BUTTON_GFX_ID, MENU_SPRITE_SIZE[0], MENU_SPRITE_SIZE[1]); + NF_LoadSpritePal(MENU_BUTTONS_SPRITE_NAME, BUTTON_GFX_ID); + NF_VramSpriteGfx(1, BUTTON_GFX_ID, BUTTON_GFX_ID, false); + NF_VramSpritePal(1, BUTTON_GFX_ID, BUTTON_GFX_ID); + + NF_LoadSpriteGfx(MENU_TEXT_SPRITE_NAME, TEXT_GFX_ID, MENU_SPRITE_SIZE[0], MENU_SPRITE_SIZE[1]); + NF_LoadSpritePal(MENU_TEXT_SPRITE_NAME, TEXT_GFX_ID); + NF_VramSpriteGfx(1, TEXT_GFX_ID, TEXT_GFX_ID, false); + NF_VramSpritePal(1, TEXT_GFX_ID, TEXT_GFX_ID); +} + +void Menu::UnloadInterfaceSprites() +{ + NF_DeleteSprite(1, START_SPRITE); + NF_UnloadSpriteGfx(1); + NF_UnloadSpritePal(1); + NF_FreeSpriteGfx(1, 0); + NF_UnloadSpriteGfx(BUTTON_GFX_ID); + NF_UnloadSpritePal(BUTTON_GFX_ID); + NF_FreeSpriteGfx(1, BUTTON_GFX_ID); + NF_UnloadSpriteGfx(TEXT_GFX_ID); + NF_UnloadSpritePal(TEXT_GFX_ID); + NF_FreeSpriteGfx(1, TEXT_GFX_ID); +} + +void Menu::ShowLayout() +{ + if (currentLayout != nullptr) + { + if (currentLayout->buttonCount > 0) + { + for (int i = 0; i < currentLayout->buttonCount; i++) + { + NF_DeleteSprite(1, TEXT_SPRITES[i]); + for (int j = 0; j < 4; j++) + { + NF_DeleteSprite(1, BUTTON_SPRITES_BASE + (i * 4) + j); + } + } + } + + if (currentLayout->titleSprite != -1) + { + NF_DeleteSprite(1, TITLE_SPRITE); + } + } + + Layout *layout = GetLayoutForState(state); + if (layout == nullptr) + { + currentLayout = nullptr; + return; + } + + menuCaret[0] = menuCaret[1] = 0; + if (layout->allowCaretNavigation && layout->buttonCount > 1) + { + highlightedItem = layout->caretMap[0][0]; + } + + if (layout->buttonCount > 0) + { + for (int b = 0; b < layout->buttonCount; b++) + { + int spriteOffset = b * 4; + Button button = layout->buttons[b]; + for (int i = 0; i < 4; i++) + { + int xOffset = (i == 1 || i == 3) ? 64 : 0; + int yOffset = (i == 2 || i == 3) ? 32 : 0; + int spriteId = BUTTON_SPRITES_BASE + (spriteOffset + i); + NF_CreateSprite(1, spriteId, BUTTON_GFX_ID, BUTTON_GFX_ID, layout->buttonCoords[b][0] + xOffset, layout->buttonCoords[b][1] + yOffset); + NF_HflipSprite(1, spriteId, i % 2 != 0); + NF_VflipSprite(1, spriteId, i > 1); + NF_SpriteFrame(1, spriteId, button.buttonSprite); + } + NF_CreateSprite(1, TEXT_SPRITES[b], TEXT_GFX_ID, TEXT_GFX_ID, layout->buttonCoords[b][0] + 32, layout->buttonCoords[b][1] + 16); + NF_SpriteFrame(1, TEXT_SPRITES[b], button.textSprite); + } + } + + if (layout->titleSprite != -1) + { + NF_CreateSprite(1, TITLE_SPRITE, TEXT_GFX_ID, TEXT_GFX_ID, layout->titleCoords[0], layout->titleCoords[1]); + NF_SpriteFrame(1, TITLE_SPRITE, layout->titleSprite); + } + + currentLayout = layout; +} + +void Menu::UpdateLayout(volatile int frame) +{ + const Layout *layout = GetLayoutForState(state); + if (layout == nullptr) + { + return; + } + + for (int b = 0; b < layout->buttonCount; b++) + { + int spriteOffset = b * 4; + Button button = layout->buttons[b]; + for (int i = 0; i < 4; i++) + { + int spriteId = BUTTON_SPRITES_BASE + (spriteOffset + i); + NF_SpriteFrame(1, spriteId, button.buttonSprite + (highlightedItem == button.selection ? 4 : 0)); + } + } +} + +void Menu::ShowBackground() +{ + if ((state == MENU_LOGO || state == MENU_LOADING)) + { + if (currentBackground != 0) + { + NF_DeleteTiledBg(1, MENU_BG_ID); + NF_UnloadTiledBg(currentBgName); + } + currentBackground = 0; + } + else + { + Layout *layout = GetLayoutForState(state); + if (layout == nullptr) + { + return; + } + + if (currentBackground != layout->backgroundId) + { + if (currentBackground != 0) + { + NF_DeleteTiledBg(1, MENU_BG_ID); + NF_UnloadTiledBg(currentBgName); + } + currentBackground = layout->backgroundId; + currentBgName = layout->backgroundName; + NF_LoadTiledBg(currentBgName, currentBgName, 256, 256); + NF_CreateTiledBg(1, MENU_BG_ID, currentBgName); + } + } +} + +void Menu::SetState(MenuState newState, volatile int frame, Sound *sound) +{ + Layout *newLayout = GetLayoutForState(newState); + bool transitionNeeded = false; + if ((newLayout != nullptr) && (transitionNeeded = (newLayout->backgroundId != currentBackground))) + { + Transition(false, 0, TS_BOTTOM, frame); + } + + if (newState == MENU_LOADING) + { + sound->StopBGM(); + } + else if (state == MENU_LOGO && newState != MENU_LOGO) + { + sound->PlayBGM(BGM_TITLE_LOOP, true); + } + else if (newState == MENU_LOGO) + { + sound->PlayBGM(BGM_TITLE_INTRO, false); + } + + if (state == MENU_MUSIC_PLAYER && newState == MENU_MAIN) + { + sound->PlayBGM(BGM_TITLE_LOOP, true); + currentSoundTestTrack = 1; + } + + if ((state == MENU_MP_HOST_ROOM || state == MENU_MP_JOIN_ROOM) && (newState != MENU_MP_HOST_ROOM && newState != MENU_MP_JOIN_ROOM)) + { + ShowMultiplayerStatus(false); + } + else if (newState == MENU_MP_HOST_ROOM) + { + StartMultiplayer(true); + } + else if (newState == MENU_MP_JOIN_ROOM) + { + StartMultiplayer(false); + } + + if (newState == MENU_MINERALS && state != MENU_MINERALS) + { + ShowMinerals(true); + } + else if (state == MENU_MINERALS && newState != MENU_MINERALS) + { + ShowMinerals(false); + } + + if (state != MENU_LOGO && newState != MENU_LOGO) + { + sound->PlaySFX(SFX_MENU_DRUM); + rumble(state % 2 == 0); + } + state = newState; + ShowLayout(); + ShowBackground(); + + if (transitionNeeded) + { + Transition(true, 15, TS_BOTTOM, frame); + } +} + +void Menu::PositionLogo() +{ + // Position logo + NE_ModelSetCoordI(logo, 0, 0, 0); + NE_ModelSetCoordI(text, 0, 0, 0); + NE_ModelTranslate(logo, TARGET_X, Y, Z); + NE_ModelTranslate(text, TARGET_TEXT_X, Y + 0.1, Z + 4.55); +} + +void Menu::StartMultiplayer(bool mpCreatingRoom) +{ + this->mpCreatingRoom = mpCreatingRoom; + joinMultiplayer(mpCreatingRoom); +} + +void Menu::UpdateMultiplayer() +{ + tickMultiplayer(); + mpCurrentStatus = getMultiplayerStatus(); + ShowMultiplayerStatus(true); +} + +void Menu::ShowMultiplayerStatus(bool showSprite) +{ + if (!showSprite && mpShowingStatus) + { + NF_DeleteSprite(1, MP_STATUS_SPRITE); + } + else if (showSprite) + { + if (!mpShowingStatus && mpCurrentStatus > -1) + { + NF_CreateSprite(1, MP_STATUS_SPRITE, TEXT_GFX_ID, TEXT_GFX_ID, (SCREEN_WIDTH / 2) - 32, (SCREEN_HEIGHT / 2) - 16); + } + + int statusSpriteId; + switch (mpCurrentStatus) + { + case 0: + statusSpriteId = 12; + break; + case 1: + statusSpriteId = 11; + break; + case 2: + statusSpriteId = 14; + break; + case 3: + statusSpriteId = 13; + break; + default: + statusSpriteId = 15; + break; + } + + NF_SpriteFrame(1, MP_STATUS_SPRITE, statusSpriteId); + } + mpShowingStatus = showSprite; +} + +void Menu::ShowMinerals(bool showSprites) +{ + int row = 0; + int col = 0; + for (int i = 0; i < MINERAL_COUNT; i++) + { + int spriteId = MINERAL_SPRITE_BASE + i; + row = i / MINERALS_PER_ROW; + col = i % MINERALS_PER_ROW; + int pos[2] = {MINERAL_GRID_BASE_POS[0] + ((32 + MINERAL_GAP) * col), MINERAL_GRID_BASE_POS[1] + ((32 + MINERAL_GAP) * row)}; + + if (showSprites) + { + NF_CreateSprite(1, spriteId, 0, 0, pos[0], pos[1]); + NF_SpriteFrame(1, spriteId, 4); + NF_ShowSprite(1, spriteId, !globalSave.minerals[i]); + } + else + { + NF_DeleteSprite(1, MINERAL_SPRITE_BASE + i); + } + } + + if (showSprites) + { + NF_CreateSprite(1, MINERAL_CURSOR_SPRITE, 0, 0, MINERAL_GRID_BASE_POS[0], MINERAL_GRID_BASE_POS[1]); + NF_SpriteFrame(1, MINERAL_CURSOR_SPRITE, 3); + + NF_CreateSprite(1, HANK_EYES_SPRITE, 0, 0, HANK_EYES_POS[0], HANK_EYES_POS[1]); + NF_SpriteFrame(1, HANK_EYES_SPRITE, 5); + NF_ShowSprite(1, HANK_EYES_SPRITE, false); + } + else + { + NF_DeleteSprite(1, MINERAL_CURSOR_SPRITE); + NF_DeleteSprite(1, HANK_EYES_SPRITE); + } +} + +char* Menu::GetCharacterName(Character character) { + switch (character) { + case CHAR_WALT: + return "Walt"; + case CHAR_JESSE: + return "Jesse"; + case CHAR_YEPPERS: + return "Kusuri"; + } + return "Unknown"; +} + +void Menu::UpdateMinerals(volatile int frame, Sound *sound) +{ + int row = 0; + int col = 0; + NF_ShowSprite(1, MINERAL_CURSOR_SPRITE, currentlySelectedMineral != -1); + + bool touching = false; + touchPosition touch; + if (keysDown() & KEY_TOUCH) + { + touchRead(&touch); + touching = touch.px >= MINERAL_GRID_BASE_POS[0] && touch.px <= MINERAL_GRID_BASE_POS[0] + ((32 + MINERAL_GAP) * MINERALS_PER_ROW) + && touch.py > MINERAL_GRID_BASE_POS[1] && touch.py < MINERAL_GRID_BASE_POS[1] + ((32 + MINERAL_GAP) * (MINERAL_COUNT / MINERALS_PER_ROW)); + + if (!touching) + { + currentlySelectedMineral = -1; + } + } + + for (int i = 0; i < MINERAL_COUNT; i++) + { + int spriteId = MINERAL_SPRITE_BASE + i; + NF_ShowSprite(1, spriteId, !globalSave.minerals[i]); + + row = i / MINERALS_PER_ROW; + col = i % MINERALS_PER_ROW; + int pos[2] = {MINERAL_GRID_BASE_POS[0] + ((32 + MINERAL_GAP) * col), MINERAL_GRID_BASE_POS[1] + ((32 + MINERAL_GAP) * row)}; + + if (touching) + { + bool touchingMineral = touch.px >= pos[0] && touch.px <= pos[0] + 32 && touch.py >= pos[1] && touch.py <= pos[1] + 32; + + if (touchingMineral && currentlySelectedMineral != i) { + sound->PlaySFX(SFX_MENU_SELECT); + } + + currentlySelectedMineral = touchingMineral ? i : currentlySelectedMineral; + } + + if (currentlySelectedMineral == i) + { + NF_MoveSprite(1, MINERAL_CURSOR_SPRITE, pos[0], pos[1]); + } + } + + // Hank blink animation + int blinkRange = (hankLastBlink - frame); + bool isBlinking = false; + if (blinkRange < 10 && blinkRange > 0) + { + isBlinking = true; + } + if (blinkRange <= 0) + { + hankLastBlink = frame + (rand() % 100) + 100; + } + NF_ShowSprite(1, HANK_EYES_SPRITE, isBlinking); +} + +void Menu::Update(volatile int frame, Sound *sound) +{ + NF_ClearTextLayer(1, 0); + + switch (state) + { + case MENU_LOADING: + NF_ShowSprite(1, START_SPRITE, false); + break; + + case MENU_LOGO: + if (x < TARGET_X) + { + x += X_SPEED; + NE_ModelTranslate(logo, X_SPEED, 0, 0); + } + if (textX < TARGET_TEXT_X) + { + textX += X_SPEED; + NE_ModelTranslate(text, X_SPEED, 0, 0); + } + + NF_SpriteFrame(1, START_SPRITE, (frame > 345) ? 1 : 0); + NE_ModelRotate(skybox, (frame % 4 == 0 ? 1 : 0), 0, 0); + + if (frame >= 690) + { + SetState(MENU_TITLE, frame, sound); + return; + } + break; + + case MENU_TITLE: + if (frame % 30 == 0) + { + showStartSprite = !showStartSprite; + } + if (!canSave()) { + NF_WriteText(1, 0, 0, 0, "Cannot save game!"); + } + NF_WriteText(1, 0, 26, 0, "v1.0.6"); + break; + + case MENU_RUMBLE: + if (!isDSiMode()) { + NF_WriteText(1, 0, 2, 7, "A DS Rumble Pak is required."); + NF_WriteText(1, 0, 2, 8, "to enable this feature. If a"); + NF_WriteText(1, 0, 2, 9, "Rumble Pak is inserted into"); + NF_WriteText(1, 0, 2, 10, "SLOT-2, you should now feel."); + NF_WriteText(1, 0, 2, 11, "the rumble effect."); + + NF_WriteText(1, 0, 2, 14, "Remove the Rumble Pak from"); + NF_WriteText(1, 0, 2, 15, "SLOT-2 to disable rumble."); + + rumble(frame % 2 == 0); + } + else { + NF_WriteText(1, 0, 2, 9, "Rumble support is disabled."); + NF_WriteText(1, 0, 2, 11, "You do not have a system"); + NF_WriteText(1, 0, 2, 12, "that supports the rumble"); + NF_WriteText(1, 0, 2, 13, "feature of this game."); + } + break; + + case MENU_MINERALS: + if (currentlySelectedMineral == -1) + { + NF_WriteText(1, 0, 2, 1, "Walt! If you happen upon any"); + NF_WriteText(1, 0, 2, 3, "minerals, I'll appraise 'em!"); + } + else + { + const Mineral *mineral = &MINERALS[currentlySelectedMineral]; + if (globalSave.minerals[currentlySelectedMineral]) + { + NF_WriteText(1, 0, 1, 1, mineral->name); + NF_WriteText(1, 0, 1, 3, mineral->description); + } + else + { + NF_WriteText(1, 0, 1, 1, "???"); + if (mineral->isSecret) + { + NF_WriteText(1, 0, 1, 3, "?????????"); + } + else + { + NF_WriteText(1, 0, 1, 3, mineral->description); + } + } + } + UpdateMinerals(frame, sound); + break; + + case MENU_MUSIC_PLAYER: + NF_WriteText(1, 0, 2, 9, "Currently playing:"); + char trackNoAndTitle[50]; + sprintf(trackNoAndTitle, "%d. %s", currentSoundTestTrack + 1, BGMS[currentSoundTestTrack].name); + NF_WriteText(1, 0, 2, 10, trackNoAndTitle); + NF_WriteText(1, 0, 2, 11, sound->GetBgmTrackProgressString()); + NF_WriteText(1, 0, 2, 13, "LEFT/RIGHT to change track."); + break; + + case MENU_MP_HOST_ROOM: + case MENU_MP_JOIN_ROOM: + UpdateMultiplayer(); + break; + + case MENU_CUSTOM_GAME: + NF_WriteText(1, 0, 2, 2, "- Custom Cook -"); + + // Option config + char editorText[50]; + for (int i = 0; i < CUSTOM_GAME_OPTION_COUNT; i++) + { + switch (i) { + case 0: + if (customGameValues[i] == 5) { + sprintf( + editorText, + "%s%s: Final Cook", customGameCursor == i ? "> " : "", + customGameIds[i] + ); + } + else + { + sprintf( + editorText, + "%s%s: %i", customGameCursor == i ? "> " : "", + customGameIds[i], + customGameValues[i] + 1 + ); + } + break; + case 1: + sprintf( + editorText, + "%s%s: $%i", customGameCursor == i ? "> " : "", + customGameIds[i], + customGameValues[i] + ); + break; + case 2: + sprintf( + editorText, + "%s%s: %s", customGameCursor == i ? "> " : "", + customGameIds[i], + GetCharacterName(static_cast(customGameValues[i])) + ); + break; + default: + sprintf( + editorText, + "%s%s: %s", customGameCursor == i ? "> " : "", + customGameIds[i], + customGameValues[i] ? "On" : "Off" + ); + break; + } + + NF_WriteText(1, 0, 3 - (customGameCursor == i ? 2 : 0), 5 + (i * 2), editorText); + } + + NF_WriteText(1, 0, 2, 20, "UP/DOWN: Select"); + NF_WriteText(1, 0, 2, 21, "LEFT/RIGHT: Edit"); + break; + } + + if (GetLayoutForState(state) != nullptr) + { + UpdateLayout(frame); + NF_ShowSprite(1, START_SPRITE, state == MENU_TITLE && showStartSprite); + NF_SpriteFrame(1, START_SPRITE, 2); + NE_ModelRotate(skybox, 0, (frame % 8 == 0 ? 1 : 0), 0); + } +} + +MenuSelection Menu::HandleInput(volatile int frame, Sound *sound) +{ + touchPosition touch; + switch (state) + { + case MENU_LOGO: + if (keysDown() & KEY_TOUCH || keysDown() & KEY_A || keysDown() & KEY_START) + { + return SKIP_LOGO; + } + return NONE; + + case MENU_TITLE: + if (keysDown() & KEY_TOUCH || keysDown() & KEY_A || keysDown() & KEY_START) + { + SetState(MENU_MAIN, frame, sound); + } + return NONE; + + case MENU_MUSIC_PLAYER: + if (keysDown() & KEY_RIGHT || keysDown() & KEY_LEFT) + { + if (keysDown() & KEY_RIGHT) + { + currentSoundTestTrack++; + sound->PlaySFX(SFX_MENU_SELECT); + + if (currentSoundTestTrack >= BGM_COUNT) + { + currentSoundTestTrack = 0; + } + } + else if (keysDown() & KEY_LEFT) + { + currentSoundTestTrack--; + sound->PlaySFX(SFX_MENU_SELECT); + + if (currentSoundTestTrack < 0) + { + currentSoundTestTrack = BGM_COUNT - 1; + } + } + + sound->PlayBGM(static_cast(currentSoundTestTrack), true); + rumble(currentSoundTestTrack % 2 == 0); + } + return HandleLayoutInput(frame, sound, touch); + + case MENU_MP_HOST_ROOM: + if (mpCurrentStatus == MP_HOST_READY) + { + if (keysDown() & KEY_A) + { + sound->PlaySFX(SFX_MENU_DRUM); + return START_MP_GAME; + } + break; + } + break; + case MENU_MP_JOIN_ROOM: + if (mpCurrentStatus == MP_CLIENT_READY && (getOpponent()->timeLeft > -1)) + { + sound->PlaySFX(SFX_MENU_DRUM); + return START_MP_GAME; + } + break; + + case MENU_CUSTOM_GAME: + if (keysDown() & KEY_RIGHT || keysDown() & KEY_LEFT + || keysDown() & KEY_DOWN || keysDown() & KEY_UP) + { + // Adjust cursor + if (keysDown() & KEY_UP) + { + customGameCursor--; + sound->PlaySFX(SFX_MENU_SELECT); + } + else if (keysDown() & KEY_DOWN) + { + customGameCursor++; + sound->PlaySFX(SFX_MENU_SELECT); + } + if (customGameCursor < 0) + { + customGameCursor = CUSTOM_GAME_OPTION_COUNT - 1; + } + else if (customGameCursor >= CUSTOM_GAME_OPTION_COUNT) + { + customGameCursor = 0; + } + + // Adjust value + int valueMin = CUSTOM_GAME_MENU_MAP[customGameCursor][0]; + int valueMax = CUSTOM_GAME_MENU_MAP[customGameCursor][1]; + int valueInc = CUSTOM_GAME_MENU_MAP[customGameCursor][2]; + if (keysDown() & KEY_RIGHT) + { + customGameValues[customGameCursor] += valueInc; + sound->PlaySFX(SFX_SUCCESS_BELL); + } + else if (keysDown() & KEY_LEFT) + { + customGameValues[customGameCursor] -= valueInc; + sound->PlaySFX(SFX_SUCCESS_BELL); + } + if (customGameValues[customGameCursor] < valueMin) + { + customGameValues[customGameCursor] = valueMax; + } + else if (customGameValues[customGameCursor] > valueMax) + { + customGameValues[customGameCursor] = valueMin; + } + } + return HandleLayoutInput(frame, sound, touch); + } + + return HandleLayoutInput(frame, sound, touch); +} + +MenuSelection Menu::HandleLayoutInput(volatile int frame, Sound *sound, touchPosition touch) +{ + const Layout *layout = GetLayoutForState(state); + if (layout == nullptr) + { + return NONE; + } + + if (keysDown() & KEY_TOUCH) + { + touchRead(&touch); + + for (int b = 0; b < layout->buttonCount; b++) + { + if (IsTouchInBox(layout->buttonCoords[b], layout->buttons[b].dimensions, touch)) + { + return HandleClick(layout->buttons[b].selection, frame, sound); + } + } + highlightedItem = NONE; + return NONE; + } + + if (keysDown() & KEY_B) + { + SetState(layout->backState, frame, sound); + return NONE; + } + + if (keysDown() & KEY_A || keysDown() & KEY_START) + { + return HandleClick(highlightedItem, frame, sound); + } + + if (!layout->allowCaretNavigation) + { + return NONE; + } + + if (keysDown() & KEY_UP || keysDown() & KEY_DOWN || keysDown() & KEY_LEFT || keysDown() & KEY_RIGHT) + { + int dCaret[2] = {0, 0}; + if (keysDown() & KEY_UP) + { + dCaret[0]--; + } + else if (keysDown() & KEY_DOWN) + { + dCaret[0]++; + } + else if (keysDown() & KEY_LEFT) + { + dCaret[1]--; + } + else if (keysDown() & KEY_RIGHT) + { + dCaret[1]++; + } + + if (menuCaret[0] + dCaret[0] < 0) + { + dCaret[0] = 2; + } + else if (menuCaret[0] + dCaret[0] > 2) + { + dCaret[0] = 0; + } + if (menuCaret[1] + dCaret[1] < 0) + { + dCaret[1] = 1; + } + else if (menuCaret[1] + dCaret[1] > 1) + { + dCaret[1] = 0; + } + + MenuSelection selection = layout->caretMap[menuCaret[0] + dCaret[0]][menuCaret[1] + dCaret[1]]; + if (selection != NONE) + { + menuCaret[0] += dCaret[0]; + menuCaret[1] += dCaret[1]; + highlightedItem = selection; + sound->PlaySFX(SFX_MENU_SELECT); + } + } + + return NONE; +} + +MenuSelection Menu::HandleClick(MenuSelection clicked, volatile int frame, Sound *sound) +{ + switch (clicked) + { + case OPEN_GAME_MENU: + if (CheckSelection(clicked)) + { + SetState(MENU_GAME_SELECT, frame, sound); + return OPEN_GAME_MENU; + } + return NONE; + case TOGGLE_RUMBLE: + if (CheckSelection(clicked)) + { + SetState(MENU_RUMBLE, frame, sound); + return TOGGLE_RUMBLE; + } + return NONE; + case BACK_TO_TITLE: + if (CheckSelection(clicked)) + { + SetState(MENU_TITLE, frame, sound); + return BACK_TO_TITLE; + } + return NONE; + case BACK_TO_MAIN_MENU: + if (CheckSelection(clicked)) + { + SetState(MENU_MAIN, frame, sound); + return BACK_TO_MAIN_MENU; + } + return NONE; + case OPEN_ROOM: + if (CheckSelection(clicked)) + { + SetState(MENU_MP_HOST_ROOM, frame, sound); + return OPEN_ROOM; + } + return NONE; + case SEARCH_FOR_ROOMS: + if (CheckSelection(clicked)) + { + SetState(MENU_MP_JOIN_ROOM, frame, sound); + return SEARCH_FOR_ROOMS; + } + return NONE; + case OPEN_EXTRAS_MENU: + if (CheckSelection(clicked)) + { + SetState(MENU_EXTRAS, frame, sound); + return OPEN_EXTRAS_MENU; + } + return NONE; + case OPEN_SOUND_TEST_MENU: + if (CheckSelection(clicked)) + { + SetState(MENU_MUSIC_PLAYER, frame, sound); + return OPEN_SOUND_TEST_MENU; + } + return NONE; + case OPEN_MINERALS_MENU: + if (CheckSelection(clicked)) + { + SetState(MENU_MINERALS, frame, sound); + return OPEN_MINERALS_MENU; + } + return NONE; + case BACK_TO_GAME_MENU: + if (CheckSelection(clicked)) + { + if (state == MENU_MP_HOST_ROOM || state == MENU_MP_JOIN_ROOM) + { + if (mpCurrentStatus == MP_HOST_READY || mpCurrentStatus == MP_CLIENT_READY) + { + rumble(rand() % 2 == 0); + return NONE; + } + SetState(MENU_GAME_SELECT, frame, sound); + mpCurrentStatus = -1; + mpCreatingRoom = false; + disableMultiplayer(); + return BACK_TO_GAME_MENU; + } + SetState(MENU_GAME_SELECT, frame, sound); + return BACK_TO_GAME_MENU; + } + return NONE; + case BACK_TO_EXTRAS_MENU: + if (CheckSelection(clicked)) + { + SetState(MENU_EXTRAS, frame, sound); + return BACK_TO_EXTRAS_MENU; + } + return NONE; + case START_STORY_MODE: + if (CheckSelection(clicked)) { + if ((keysHeld() & KEY_SELECT) && (keysHeld() & KEY_R)) { + SetState(MENU_CUSTOM_GAME, frame, sound); + return OPEN_CUSTOM_GAME_MENU; + } + return clicked; + } + return NONE; + default: + if (CheckSelection(clicked)) + { + return clicked; + } + return NONE; + } + return NONE; +} + +bool Menu::IsTouchInBox(const int coords[2], const int boxDimensions[2], touchPosition touch) +{ + int xOffset = (128 - boxDimensions[0]) / 2; + int yOffset = (64 - boxDimensions[1]) / 2; + int boxPos[2] = {coords[0] + xOffset, coords[1] + yOffset}; + + return (touch.px >= boxPos[0] && touch.px <= boxPos[0] + boxDimensions[0] && + touch.py >= boxPos[1] && touch.py <= boxPos[1] + boxDimensions[1]); +} + +MenuSelection Menu::CheckSelection(MenuSelection tappedBox) +{ + if (tappedBox == highlightedItem) + { + return highlightedItem; + } + highlightedItem = tappedBox; + return NONE; +} + +void Menu::Draw(volatile int frame) +{ + if (state != MENU_LOADING) + { + NE_ModelDraw(skybox); + NE_PolyFormat(31, 8, NE_LIGHT_0, NE_CULL_NONE, NE_FOG_ENABLE); + NE_ModelDraw(logo); + NE_ModelDraw(text); + } +} + +int* Menu::GetCustomGameValues() +{ + return customGameValues; +} + +void Menu::Unload(volatile int frame, Sound *sound) +{ + SetState(MENU_LOADING, frame, sound); + ShowLayout(); + ShowBackground(); + ShowMultiplayerStatus(false); + + // Free the model and material + NE_ModelDelete(logo); + NE_ModelDelete(text); + NE_ModelDelete(skybox); + + NE_MaterialDelete(logoMaterial); + NE_MaterialDelete(textMaterial); + NE_MaterialDelete(skyboxMaterial); + + // Unload sprites + UnloadInterfaceSprites(); + NF_VramSpriteGfxDefrag(1); } \ No newline at end of file diff --git a/source/menu.h b/source/menu.h index f13dbd0..44ab8b8 100644 --- a/source/menu.h +++ b/source/menu.h @@ -1,159 +1,159 @@ -#pragma once - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "enums.h" -#include "sound.h" -#include "multiplayer.h" -#include "layouts.h" -#include "minerals.h" -#include "save.hpp" -#include "transitions.h" -#include "rumble.h" - -class Menu -{ -private: - NE_Model *skybox; - NE_Material *skyboxMaterial; - const float SKYPOS_POS[3] = {0, 8, 0}; - - NE_Model *logo; - NE_Material *logoMaterial; - - NE_Model *text; - NE_Material *textMaterial; - - MenuState state = MENU_LOGO; - MenuSelection highlightedItem = NONE; - int menuCaret[2] = {0, 0}; - - const int MENU_BG_ID = 1; - char *currentBgName; - int currentBackground = 0; // 0 = none, 1 = bg/title, 2 = bg/multiplayer - - const float TARGET_X = 1; - const float X_SPEED = 0.025; - float x = TARGET_X - 10; - const float Y = 4; - const float Z = -2; - - const float TARGET_TEXT_X = TARGET_X - 1; - float textX = TARGET_X - 16; - - const int START_SPRITE = 2; - bool showStartSprite = true; - - const char MENU_MISC_SPRITE_NAME[32] = "sprite/menu_misc"; - const char MENU_BUTTONS_SPRITE_NAME[32] = "sprite/menu_buttons"; - const char MENU_TEXT_SPRITE_NAME[32] = "sprite/menu_text"; - const int MENU_SPRITE_SIZE[2] = {64, 32}; - - const int BUTTON_GFX_ID = 2; - const int BUTTON_SPRITE_COUNT = 16; - const int BUTTON_SPRITES_BASE = 7; - - const int TEXT_GFX_ID = 3; - const int TEXT_SPRITES[4] = {3, 4, 5, 6}; - - const int TITLE_SPRITE = 1; - Layout *currentLayout = nullptr; - - // Sound test - int currentSoundTestTrack = 1; - - // Custom game - int customGameCursor = 0; - const int CUSTOM_GAME_OPTION_COUNT = 7; - const int CUSTOM_GAME_MENU_MAP[7][3] = { - // Min/max/increment for custom games - {0, 5, 1}, - {0, 10000, 100}, - {0, 2, 1}, - {false, true, 1}, - {false, true, 1}, - {false, true, 1}, - {false, true, 1}, - }; - int customGameValues[7] = { - 0, // Day - 0, // Money - (int) CHAR_WALT, // Character - (int) true, // Time limit - (int) true, // Dialogue - (int) false, // Noclip - (int) false, // POV cam - }; - char* customGameIds[7] = { - "Day", - "Money", - "Cook", - "Timer", - "Dialogue", - "Noclip", - "POV Cam" - }; - - // Minerals - const int MINERAL_GRID_BASE_POS[2] = {5, 41}; - const int MINERAL_GAP = 8; - const int MINERALS_PER_ROW = MINERAL_COUNT / 3; - const int MINERAL_SPRITE_BASE = 32; - const int MINERAL_CURSOR_SPRITE = 31; - const int HANK_EYES_POS[2] = {173, 52}; - const int HANK_EYES_SPRITE = 30; - bool showingMinerals = false; - int currentlySelectedMineral = -1; - int hankLastBlink = 0; - - // Multiplayer status - const int MP_STATUS_SPRITE = 11; - int mpCurrentStatus = -1; - bool mpCreatingRoom; - bool mpShowingStatus; - -public: - Menu(); - - int Load(); - void LoadInterfaceSprites(); - void UnloadInterfaceSprites(); - void ShowLayout(); - void UpdateLayout(volatile int frame); - void ShowBackground(); - void Update(volatile int frame, Sound *sound); - void Draw(volatile int frame); - void SetState(MenuState newState, volatile int frame, Sound *sound); - void PositionLogo(); - void StartMultiplayer(bool mpCreatingRoom); - void UpdateMultiplayer(); - void ShowMultiplayerStatus(bool showSprite); - void ShowMinerals(bool showSprites); - void UpdateMinerals(volatile int frame, Sound *sound); - char* GetCharacterName(Character character); - MenuSelection HandleInput(volatile int frame, Sound *sound); - MenuSelection HandleLayoutInput(volatile int frame, Sound *sound, touchPosition touch); - MenuSelection HandleClick(MenuSelection clicked, volatile int frame, Sound *sound); - bool IsTouchInBox(const int coords[2], const int boxDimensions[2], touchPosition touch); - MenuSelection CheckSelection(MenuSelection tappedBox); - int* GetCustomGameValues(); - void Unload(volatile int frame, Sound *sound); -}; - -extern "C" -{ - void nifiInit(); - void joinMultiplayer(bool hostRoom); - void tickMultiplayer(); - void disableMultiplayer(); - int getMultiplayerStatus(); - Client *getOpponent(); +#pragma once + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "enums.h" +#include "sound.h" +#include "multiplayer.h" +#include "layouts.h" +#include "minerals.h" +#include "save.hpp" +#include "transitions.h" +#include "rumble.h" + +class Menu +{ +private: + NE_Model *skybox; + NE_Material *skyboxMaterial; + const float SKYPOS_POS[3] = {0, 8, 0}; + + NE_Model *logo; + NE_Material *logoMaterial; + + NE_Model *text; + NE_Material *textMaterial; + + MenuState state = MENU_LOGO; + MenuSelection highlightedItem = NONE; + int menuCaret[2] = {0, 0}; + + const int MENU_BG_ID = 1; + char *currentBgName; + int currentBackground = 0; // 0 = none, 1 = bg/title, 2 = bg/multiplayer + + const float TARGET_X = 1; + const float X_SPEED = 0.025; + float x = TARGET_X - 10; + const float Y = 4; + const float Z = -2; + + const float TARGET_TEXT_X = TARGET_X - 1; + float textX = TARGET_X - 16; + + const int START_SPRITE = 2; + bool showStartSprite = true; + + const char MENU_MISC_SPRITE_NAME[32] = "sprite/menu_misc"; + const char MENU_BUTTONS_SPRITE_NAME[32] = "sprite/menu_buttons"; + const char MENU_TEXT_SPRITE_NAME[32] = "sprite/menu_text"; + const int MENU_SPRITE_SIZE[2] = {64, 32}; + + const int BUTTON_GFX_ID = 2; + const int BUTTON_SPRITE_COUNT = 16; + const int BUTTON_SPRITES_BASE = 7; + + const int TEXT_GFX_ID = 3; + const int TEXT_SPRITES[4] = {3, 4, 5, 6}; + + const int TITLE_SPRITE = 1; + Layout *currentLayout = nullptr; + + // Sound test + int currentSoundTestTrack = 1; + + // Custom game + int customGameCursor = 0; + const int CUSTOM_GAME_OPTION_COUNT = 7; + const int CUSTOM_GAME_MENU_MAP[7][3] = { + // Min/max/increment for custom games + {0, 5, 1}, + {0, 10000, 100}, + {0, 2, 1}, + {false, true, 1}, + {false, true, 1}, + {false, true, 1}, + {false, true, 1}, + }; + int customGameValues[7] = { + 0, // Day + 0, // Money + (int) CHAR_WALT, // Character + (int) true, // Time limit + (int) true, // Dialogue + (int) false, // Noclip + (int) false, // POV cam + }; + char* customGameIds[7] = { + "Day", + "Money", + "Cook", + "Timer", + "Dialogue", + "Noclip", + "POV Cam" + }; + + // Minerals + const int MINERAL_GRID_BASE_POS[2] = {5, 41}; + const int MINERAL_GAP = 8; + const int MINERALS_PER_ROW = MINERAL_COUNT / 3; + const int MINERAL_SPRITE_BASE = 32; + const int MINERAL_CURSOR_SPRITE = 31; + const int HANK_EYES_POS[2] = {173, 52}; + const int HANK_EYES_SPRITE = 30; + bool showingMinerals = false; + int currentlySelectedMineral = -1; + int hankLastBlink = 0; + + // Multiplayer status + const int MP_STATUS_SPRITE = 11; + int mpCurrentStatus = -1; + bool mpCreatingRoom; + bool mpShowingStatus; + +public: + Menu(); + + int Load(); + void LoadInterfaceSprites(); + void UnloadInterfaceSprites(); + void ShowLayout(); + void UpdateLayout(volatile int frame); + void ShowBackground(); + void Update(volatile int frame, Sound *sound); + void Draw(volatile int frame); + void SetState(MenuState newState, volatile int frame, Sound *sound); + void PositionLogo(); + void StartMultiplayer(bool mpCreatingRoom); + void UpdateMultiplayer(); + void ShowMultiplayerStatus(bool showSprite); + void ShowMinerals(bool showSprites); + void UpdateMinerals(volatile int frame, Sound *sound); + char* GetCharacterName(Character character); + MenuSelection HandleInput(volatile int frame, Sound *sound); + MenuSelection HandleLayoutInput(volatile int frame, Sound *sound, touchPosition touch); + MenuSelection HandleClick(MenuSelection clicked, volatile int frame, Sound *sound); + bool IsTouchInBox(const int coords[2], const int boxDimensions[2], touchPosition touch); + MenuSelection CheckSelection(MenuSelection tappedBox); + int* GetCustomGameValues(); + void Unload(volatile int frame, Sound *sound); +}; + +extern "C" +{ + void nifiInit(); + void joinMultiplayer(bool hostRoom); + void tickMultiplayer(); + void disableMultiplayer(); + int getMultiplayerStatus(); + Client *getOpponent(); }; \ No newline at end of file diff --git a/source/minerals.h b/source/minerals.h index 8add63c..5068654 100644 --- a/source/minerals.h +++ b/source/minerals.h @@ -1,90 +1,90 @@ -#pragma once - -struct Mineral -{ - const char name[32]; - const char description[256]; - const bool isSecret; -}; - -const int MINERAL_COUNT = 12; - -enum MineralType -{ - MIENRAL_ANALCIME, - MINERAL_TOPAZ, - MINERAL_YTTRIUM, - MINERAL_FLUORITE, - MINERAL_AMBER, - MINERAL_AQUAMARINE, - MINERAL_RUBY, - MINERAL_ALGODONITE, - MINERAL_DIAMOND, - MINERAL_CERIUM, - MINERAL_QUARTZ, - MINERAL_EMERALD -}; - -const Mineral MINERALS[MINERAL_COUNT] = -{ - { - "Analcime", - "Complete the tutorial", - false - }, - { - "Topaz", - "Cook a batch at 100\% purity", - false - }, - { - "Yttrium", - "Play as Jesse, yo", - false - }, - { - "Fluorite", - "Cook a batch at <40\% purity", - false - }, - { - "Amber", - "Slack off during the tutorial", - false - }, - { - "Aquamarine", - "Win a game of Multiplayer Vs.", - false - }, - { - "Ruby", - "Play as Kusuri, yep yep", - true - }, - { - "Algodonite", - "Hide from Gus' gaze for >30s", - false - }, - { - "Diamond", - "Perform a perfect quota clear", - true - }, - { - "Cerium", - "Buy explosives from Saul", - true - }, - { - "Quartz", - "Experience a Game Over", - false - }, - { - "Emerald", - "Complete Story Mode", - false - }, +#pragma once + +struct Mineral +{ + const char name[32]; + const char description[256]; + const bool isSecret; +}; + +const int MINERAL_COUNT = 12; + +enum MineralType +{ + MIENRAL_ANALCIME, + MINERAL_TOPAZ, + MINERAL_YTTRIUM, + MINERAL_FLUORITE, + MINERAL_AMBER, + MINERAL_AQUAMARINE, + MINERAL_RUBY, + MINERAL_ALGODONITE, + MINERAL_DIAMOND, + MINERAL_CERIUM, + MINERAL_QUARTZ, + MINERAL_EMERALD +}; + +const Mineral MINERALS[MINERAL_COUNT] = +{ + { + "Analcime", + "Complete the tutorial", + false + }, + { + "Topaz", + "Cook a batch at 100\% purity", + false + }, + { + "Yttrium", + "Play as Jesse, yo", + false + }, + { + "Fluorite", + "Cook a batch at <40\% purity", + false + }, + { + "Amber", + "Slack off during the tutorial", + false + }, + { + "Aquamarine", + "Win a game of Multiplayer Vs.", + false + }, + { + "Ruby", + "Play as Kusuri, yep yep", + true + }, + { + "Algodonite", + "Hide from Gus' gaze for >30s", + false + }, + { + "Diamond", + "Perform a perfect quota clear", + true + }, + { + "Cerium", + "Buy explosives from Saul", + true + }, + { + "Quartz", + "Experience a Game Over", + false + }, + { + "Emerald", + "Complete Story Mode", + false + }, }; \ No newline at end of file diff --git a/source/minigame_crack.cpp b/source/minigame_crack.cpp index b3e59d0..f76e43c 100644 --- a/source/minigame_crack.cpp +++ b/source/minigame_crack.cpp @@ -1,156 +1,161 @@ -#include "minigames.h" - -CrackMinigame::CrackMinigame() -{ -} - -void CrackMinigame::Load() -{ - LoadBackground(CRACK_BACKGROUND_NAME); - - NF_LoadSpriteGfx(CRACK_SPRITES_NAME, CRACK_SPRITE_BASE_ID, SPRITE_DIMS[0], SPRITE_DIMS[1]); - NF_LoadSpritePal(CRACK_SPRITES_NAME, CRACK_SPRITE_BASE_ID); - NF_VramSpriteGfx(1, CRACK_SPRITE_BASE_ID, 0, false); - NF_VramSpritePal(1, CRACK_SPRITE_BASE_ID, 0); - - UpdateSprites(0, nullptr, false); -} - -void CrackMinigame::Unload(Map* map) -{ - DeleteBackground(CRACK_BACKGROUND_NAME); - - for (int x = 0; x < SPRITE_COUNTS[0]; x++) - { - for (int y = 0; y < SPRITE_COUNTS[1]; y++) - { - int spriteId = CRACK_SPRITE_BASE_ID + (x * SPRITE_COUNTS[1]) + y; - NF_DeleteSprite(1, spriteId); - } - } - - NF_UnloadSpriteGfx(CRACK_SPRITE_BASE_ID); - NF_UnloadSpritePal(CRACK_SPRITE_BASE_ID); - NF_FreeSpriteGfx(1, 0); -} - -void CrackMinigame::UpdateSprites(volatile int frame, Sound *sound, bool steelHammer) -{ - for (int x = 0; x < SPRITE_COUNTS[0]; x++) - { - for (int y = 0; y < SPRITE_COUNTS[1]; y++) - { - int spriteId = CRACK_SPRITE_BASE_ID + (x * SPRITE_COUNTS[1]) + y; - int pos[2] = {CRACK_SPRITE_POS[0] + (x * SPRITE_DIMS[0]), CRACK_SPRITE_POS[1] + (y * SPRITE_DIMS[1])}; - if (!showingSprites && !IsComplete()) - { - NF_CreateSprite(1, spriteId, 0, 0, pos[0], pos[1]); - NF_HflipSprite(1, spriteId, rand() % 2 == 0); - spriteDamageTable[x][y] = 0; - spritePositions[x][y][0] = pos[0]; - spritePositions[x][y][1] = pos[1]; - } - - int grid[2] = {x, y}; - if (ProcessSprite(frame, spriteId, grid, sound, steelHammer)) - { - showingSprites = true; - return; - } - } - } - showingSprites = true; -} - -bool CrackMinigame::ProcessSprite(volatile int frame, int spriteId, int grid[2], Sound *sound, bool steelHammer) -{ - int x = spritePositions[grid[0]][grid[1]][0]; - int y = spritePositions[grid[0]][grid[1]][1]; - NF_MoveSprite(1, spriteId, x, y); - - u32 damage = spriteDamageTable[grid[0]][grid[1]]; - bool bagged = damage == -1; - if (bagged) - { - if (y < SCREEN_HEIGHT) - { - spritePositions[grid[0]][grid[1]][1] += 3; - return false; - } - NF_ShowSprite(1, spriteId, false); - return false; - } - - if (IsComplete()) - { - return false; - } - - touchPosition touch; - - if (damage < 5) - { - NF_SpriteFrame(1, spriteId, 7 + damage); - - if (keysDown() & KEY_TOUCH) - { - touchRead(&touch); - - if (touch.px >= x && touch.px <= x + SPRITE_DIMS[0] && touch.py >= y && touch.py <= y + SPRITE_DIMS[1]) - { - bool criticalHit = frame % 2 == 0 || steelHammer; - spriteDamageTable[grid[0]][grid[1]] += criticalHit ? 3 : (frame % 3 == 0) ? 1 : 2; - if (spriteDamageTable[grid[0]][grid[1]] >= 5) - { - NF_SpriteFrame(1, spriteId, rand() % 7); - spriteDamageTable[grid[0]][grid[1]] = 6; - } - rumble(criticalHit); - return true; - } - } - return false; - } - - if (keysHeld() & KEY_TOUCH) - { - touchRead(&touch); - - if (touch.px >= x && touch.px <= x + SPRITE_DIMS[0] && touch.py >= y && touch.py <= y + SPRITE_DIMS[1]) - { - spritePositions[grid[0]][grid[1]][0] = touch.px - (SPRITE_DIMS[0] / 2); - spritePositions[grid[0]][grid[1]][1] = touch.py - (SPRITE_DIMS[1] / 2); - - if (y > SCREEN_HEIGHT - 64) - { - spriteDamageTable[grid[0]][grid[1]] = -1; - } - return true; - } - } - return false; -} - -void CrackMinigame::Update(volatile int frame, uint32 keys, Sound *sound, Map *map) -{ - UpdateSprites(frame, sound, globalSave.powerUps[PWR_STEEL_HAMMER]); -} - -bool CrackMinigame::IsComplete() -{ - bool complete = true; - for (int x = 0; x < SPRITE_COUNTS[0]; x++) - { - for (int y = 0; y < SPRITE_COUNTS[1]; y++) - { - complete &= spriteDamageTable[x][y] == -1; - } - } - return complete; -} - -MinigameResult CrackMinigame::GetResult(int framesTaken) -{ - return (framesTaken < 1025) ? RESULT_GOOD : (framesTaken < 1425) ? RESULT_OKAY - : RESULT_BAD; +#include "minigames.h" + +CrackMinigame::CrackMinigame() +{ +} + +void CrackMinigame::Load() +{ + LoadBackground(CRACK_BACKGROUND_NAME); + + NF_LoadSpriteGfx(CRACK_SPRITES_NAME, CRACK_SPRITE_BASE_ID, SPRITE_DIMS[0], SPRITE_DIMS[1]); + NF_LoadSpritePal(CRACK_SPRITES_NAME, CRACK_SPRITE_BASE_ID); + NF_VramSpriteGfx(1, CRACK_SPRITE_BASE_ID, 0, false); + NF_VramSpritePal(1, CRACK_SPRITE_BASE_ID, 0); + + UpdateSprites(0, nullptr, false); +} + +void CrackMinigame::Unload(Map* map) +{ + DeleteBackground(CRACK_BACKGROUND_NAME); + + for (int x = 0; x < SPRITE_COUNTS[0]; x++) + { + for (int y = 0; y < SPRITE_COUNTS[1]; y++) + { + int spriteId = CRACK_SPRITE_BASE_ID + (x * SPRITE_COUNTS[1]) + y; + NF_DeleteSprite(1, spriteId); + } + } + + NF_UnloadSpriteGfx(CRACK_SPRITE_BASE_ID); + NF_UnloadSpritePal(CRACK_SPRITE_BASE_ID); + NF_FreeSpriteGfx(1, 0); +} + +void CrackMinigame::UpdateSprites(volatile int frame, Sound *sound, bool steelHammer) +{ + for (int x = 0; x < SPRITE_COUNTS[0]; x++) + { + for (int y = 0; y < SPRITE_COUNTS[1]; y++) + { + int spriteId = CRACK_SPRITE_BASE_ID + (x * SPRITE_COUNTS[1]) + y; + int pos[2] = {CRACK_SPRITE_POS[0] + (x * SPRITE_DIMS[0]), CRACK_SPRITE_POS[1] + (y * SPRITE_DIMS[1])}; + if (!showingSprites && !IsComplete()) + { + NF_CreateSprite(1, spriteId, 0, 0, pos[0], pos[1]); + NF_HflipSprite(1, spriteId, rand() % 2 == 0); + spriteDamageTable[x][y] = 0; + spritePositions[x][y][0] = pos[0]; + spritePositions[x][y][1] = pos[1]; + } + + int grid[2] = {x, y}; + if (ProcessSprite(frame, spriteId, grid, sound, steelHammer)) + { + showingSprites = true; + return; + } + } + } + showingSprites = true; +} + +bool CrackMinigame::ProcessSprite(volatile int frame, int spriteId, int grid[2], Sound *sound, bool steelHammer) +{ + int x = spritePositions[grid[0]][grid[1]][0]; + int y = spritePositions[grid[0]][grid[1]][1]; + NF_MoveSprite(1, spriteId, x, y); + + u32 damage = spriteDamageTable[grid[0]][grid[1]]; + bool bagged = damage == -1; + if (bagged) + { + if (y < SCREEN_HEIGHT) + { + spritePositions[grid[0]][grid[1]][1] += 3; + return false; + } + NF_ShowSprite(1, spriteId, false); + return false; + } + + if (IsComplete()) + { + return false; + } + + touchPosition touch; + + if (damage < 5) + { + NF_SpriteFrame(1, spriteId, 7 + damage); + + if (keysDown() & KEY_TOUCH) + { + touchRead(&touch); + + if (touch.px >= x && touch.px <= x + SPRITE_DIMS[0] && touch.py >= y && touch.py <= y + SPRITE_DIMS[1]) + { + bool criticalHit = frame % 2 == 0 || steelHammer; + spriteDamageTable[grid[0]][grid[1]] += criticalHit ? 3 : (frame % 3 == 0) ? 1 : 2; + if (spriteDamageTable[grid[0]][grid[1]] >= 5) + { + NF_SpriteFrame(1, spriteId, rand() % 7); + spriteDamageTable[grid[0]][grid[1]] = 6; + } + + if (criticalHit) { + sound->PlaySFX(SFX_PESTLE); + } + + rumble(criticalHit); + return true; + } + } + return false; + } + + if (keysHeld() & KEY_TOUCH) + { + touchRead(&touch); + + if (touch.px >= x && touch.px <= x + SPRITE_DIMS[0] && touch.py >= y && touch.py <= y + SPRITE_DIMS[1]) + { + spritePositions[grid[0]][grid[1]][0] = touch.px - (SPRITE_DIMS[0] / 2); + spritePositions[grid[0]][grid[1]][1] = touch.py - (SPRITE_DIMS[1] / 2); + + if (y > SCREEN_HEIGHT - 64) + { + spriteDamageTable[grid[0]][grid[1]] = -1; + } + return true; + } + } + return false; +} + +void CrackMinigame::Update(volatile int frame, uint32 keys, Sound *sound, Map *map) +{ + UpdateSprites(frame, sound, globalSave.powerUps[PWR_STEEL_HAMMER]); +} + +bool CrackMinigame::IsComplete() +{ + bool complete = true; + for (int x = 0; x < SPRITE_COUNTS[0]; x++) + { + for (int y = 0; y < SPRITE_COUNTS[1]; y++) + { + complete &= spriteDamageTable[x][y] == -1; + } + } + return complete; +} + +MinigameResult CrackMinigame::GetResult(int framesTaken) +{ + return (framesTaken < 1025) ? RESULT_GOOD : (framesTaken < 1425) ? RESULT_OKAY + : RESULT_BAD; } \ No newline at end of file diff --git a/source/minigame_mix.cpp b/source/minigame_mix.cpp index 6682a80..7f66015 100644 --- a/source/minigame_mix.cpp +++ b/source/minigame_mix.cpp @@ -1,172 +1,172 @@ -#include "minigames.h" - -MixMinigame::MixMinigame() -{ -} - -void MixMinigame::Load() -{ - LoadBackground(MIX_BACKGROUND_NAME); - - NF_LoadSpriteGfx(PIPE_SPRITES_NAME, PIPE_SPRITES[0], 64, 64); - NF_LoadSpritePal(PIPE_SPRITES_NAME, PIPE_SPRITES[0]); - NF_VramSpriteGfx(1, PIPE_SPRITES[0], 0, false); - NF_VramSpritePal(1, PIPE_SPRITES[0], 0); - - lastStylusPos[0] = -1; - lastStylusPos[1] = -1; - rotatingCrank = -1; - pipeInPlaceFrames = 0; - pipeInPlace = false; - - u16 currentPos[2] = {PIPE_POS[0], PIPE_POS[1]}; - int specialPipe = (HORIZONTAL_PIPE_COUNT / 2); - for (int i = 0; i < PIPE_COUNT; i++) - { - bool sideways = i < HORIZONTAL_PIPE_COUNT; - NF_CreateSprite(1, PIPE_SPRITES[i], 0, 0, currentPos[0], currentPos[1]); - NF_EnableSpriteRotScale(1, PIPE_SPRITES[i], PIPE_SPRITES[i], true); - NF_SpriteRotScale(1, PIPE_SPRITES[i], (sideways && i != specialPipe) ? (-512 / 4) : 0, 120, 120); - NF_SpriteFrame(1, PIPE_SPRITES[i], i == specialPipe ? 3 : (i == HORIZONTAL_PIPE_COUNT ? 1 : (i == PIPE_COUNT - 1 ? 2 : 0))); - currentPos[0] += sideways ? PIPE_OFFSET : 0; - currentPos[1] += sideways ? 0 : PIPE_OFFSET; - } - - for (int i = 0; i < 2; i++) - { - crankRot[i] = 0; - NF_CreateSprite(1, CRANK_SPRITES[i], 0, 0, CRANK_POS[i][0], CRANK_POS[i][1]); - NF_SpriteFrame(1, CRANK_SPRITES[i], 4); - NF_EnableSpriteRotScale(1, CRANK_SPRITES[i], CRANK_SPRITES[i], true); - NF_SpriteRotScale(1, CRANK_SPRITES[i], crankRot[i], 256, 256); - } -} - -void MixMinigame::Unload(Map* map) -{ - map->AdjustPipe(0, 0); - DeleteBackground(MIX_BACKGROUND_NAME); - - for (int i = 0; i < PIPE_COUNT; i++) - { - NF_DeleteSprite(1, PIPE_SPRITES[i]); - } - - for (int i = 0; i < 2; i++) - { - NF_DeleteSprite(1, CRANK_SPRITES[i]); - } - - NF_UnloadSpriteGfx(PIPE_SPRITES[0]); - NF_UnloadSpritePal(PIPE_SPRITES[0]); - NF_FreeSpriteGfx(1, 0); -} - -void MixMinigame::Update(volatile int frame, uint32 keys, Sound *sound, Map *map) -{ - if (IsComplete()) - { - return; - } - - if (pipeInPlace) - { - rumble(pipeInPlaceFrames % 2); - if (pipeInPlaceFrames == 45) - { - sound->PlaySFX(SFX_VACCUM); - } - pipeInPlaceFrames++; - return; - } - - rotatingCrank = -1; - if (keys & KEY_TOUCH) - { - touchPosition touch; - touchRead(&touch); - u16 stylusPos[2] = {touch.px, touch.py}; - for (int i = 0; i < 2; i++) - { - int crankCenter[2] = {CRANK_POS[i][0] + 32, CRANK_POS[i][1] + 64}; - if (sqrt(pow(stylusPos[0] - crankCenter[0], 2) + pow(stylusPos[1] - crankCenter[1], 2)) < 64) - { - rotatingCrank = i; - break; - } - } - - if (rotatingCrank != -1) - { - int scrubSpeed = abs((stylusPos[0] - lastStylusPos[0]) + (stylusPos[1] - lastStylusPos[1])); - if ((lastStylusPos[0] != -1 && lastStylusPos[1] != -1) && scrubSpeed > 3) - { - crankRot[rotatingCrank] += crankRot[rotatingCrank] < (rotatingCrank == 1 ? 210 : 511) ? (crankRot[rotatingCrank] < (rotatingCrank == 1 ? 105 : 255) ? 2 * (scrubSpeed / 6) : (scrubSpeed / 4)) : 0; - } - - if (frame % 3 == 0) - { - int otherCrank = rotatingCrank == 0 ? 1 : 0; - crankRot[otherCrank] -= crankRot[otherCrank] > 0 ? (crankRot[otherCrank] < 255 ? 1 : 2) : 0; - rumble(scrubSpeed % 2); - } - - if (scrubSpeed > 5 && (frame % 30 == 0)) - { - sound->PlaySFX(SFX_CRANK); - } - } - lastStylusPos[0] = stylusPos[0]; - lastStylusPos[1] = stylusPos[1]; - } - else - { - lastStylusPos[0] = -1; - lastStylusPos[1] = -1; - - if (frame % 3 == 0) - { - for (int i = 0; i < 2; i++) - { - crankRot[i] -= crankRot[i] > 0 ? (crankRot[i] < 255 ? 1 : 2) : 0; - } - } - } - - u16 currentPos[2] = {PIPE_POS[0] + (crankRot[0] / 4), PIPE_POS[1] + (crankRot[1] / 4)}; - map->AdjustPipe(crankRot[0] / 98.5f, crankRot[1] / 52.5f); - for (int i = 0; i < PIPE_COUNT; i++) - { - bool sideways = i < HORIZONTAL_PIPE_COUNT; - if ((i % 2) != (frame % 4)) - { - NF_MoveSprite(1, PIPE_SPRITES[i], currentPos[0], currentPos[1]); - } - currentPos[0] += sideways ? PIPE_OFFSET : 0; - currentPos[1] += sideways ? 0 : PIPE_OFFSET; - } - - for (int i = 0; i < 2; i++) - { - NF_SpriteRotScale(1, CRANK_SPRITES[i], crankRot[i], 256, 256); - NF_SpriteFrame(1, CRANK_SPRITES[i], rotatingCrank == i ? 5 : 4); - } - - if (currentPos[0] > TARGET_PIPE_POS[0] - TARGET_POS_VARIENCE && currentPos[0] < TARGET_PIPE_POS[0] + TARGET_POS_VARIENCE && currentPos[1] > TARGET_PIPE_POS[1] - TARGET_POS_VARIENCE && currentPos[1] < TARGET_PIPE_POS[1] + TARGET_POS_VARIENCE) - { - pipeInPlace = true; - sound->PlaySFX(SFX_CLICK); - rumble(frame % 2); - } -} - -bool MixMinigame::IsComplete() -{ - return pipeInPlace && pipeInPlaceFrames > 190; -} - -MinigameResult MixMinigame::GetResult(int framesTaken) -{ - return (framesTaken < 725) ? RESULT_GOOD : (framesTaken < 1225) ? RESULT_OKAY - : RESULT_BAD; +#include "minigames.h" + +MixMinigame::MixMinigame() +{ +} + +void MixMinigame::Load() +{ + LoadBackground(MIX_BACKGROUND_NAME); + + NF_LoadSpriteGfx(PIPE_SPRITES_NAME, PIPE_SPRITES[0], 64, 64); + NF_LoadSpritePal(PIPE_SPRITES_NAME, PIPE_SPRITES[0]); + NF_VramSpriteGfx(1, PIPE_SPRITES[0], 0, false); + NF_VramSpritePal(1, PIPE_SPRITES[0], 0); + + lastStylusPos[0] = -1; + lastStylusPos[1] = -1; + rotatingCrank = -1; + pipeInPlaceFrames = 0; + pipeInPlace = false; + + u16 currentPos[2] = {PIPE_POS[0], PIPE_POS[1]}; + int specialPipe = (HORIZONTAL_PIPE_COUNT / 2); + for (int i = 0; i < PIPE_COUNT; i++) + { + bool sideways = i < HORIZONTAL_PIPE_COUNT; + NF_CreateSprite(1, PIPE_SPRITES[i], 0, 0, currentPos[0], currentPos[1]); + NF_EnableSpriteRotScale(1, PIPE_SPRITES[i], PIPE_SPRITES[i], true); + NF_SpriteRotScale(1, PIPE_SPRITES[i], (sideways && i != specialPipe) ? (-512 / 4) : 0, 120, 120); + NF_SpriteFrame(1, PIPE_SPRITES[i], i == specialPipe ? 3 : (i == HORIZONTAL_PIPE_COUNT ? 1 : (i == PIPE_COUNT - 1 ? 2 : 0))); + currentPos[0] += sideways ? PIPE_OFFSET : 0; + currentPos[1] += sideways ? 0 : PIPE_OFFSET; + } + + for (int i = 0; i < 2; i++) + { + crankRot[i] = 0; + NF_CreateSprite(1, CRANK_SPRITES[i], 0, 0, CRANK_POS[i][0], CRANK_POS[i][1]); + NF_SpriteFrame(1, CRANK_SPRITES[i], 4); + NF_EnableSpriteRotScale(1, CRANK_SPRITES[i], CRANK_SPRITES[i], true); + NF_SpriteRotScale(1, CRANK_SPRITES[i], crankRot[i], 256, 256); + } +} + +void MixMinigame::Unload(Map* map) +{ + map->AdjustPipe(0, 0); + DeleteBackground(MIX_BACKGROUND_NAME); + + for (int i = 0; i < PIPE_COUNT; i++) + { + NF_DeleteSprite(1, PIPE_SPRITES[i]); + } + + for (int i = 0; i < 2; i++) + { + NF_DeleteSprite(1, CRANK_SPRITES[i]); + } + + NF_UnloadSpriteGfx(PIPE_SPRITES[0]); + NF_UnloadSpritePal(PIPE_SPRITES[0]); + NF_FreeSpriteGfx(1, 0); +} + +void MixMinigame::Update(volatile int frame, uint32 keys, Sound *sound, Map *map) +{ + if (IsComplete()) + { + return; + } + + if (pipeInPlace) + { + rumble(pipeInPlaceFrames % 2); + if (pipeInPlaceFrames == 45) + { + sound->PlaySFX(SFX_VACCUM); + } + pipeInPlaceFrames++; + return; + } + + rotatingCrank = -1; + if (keys & KEY_TOUCH) + { + touchPosition touch; + touchRead(&touch); + u16 stylusPos[2] = {touch.px, touch.py}; + for (int i = 0; i < 2; i++) + { + int crankCenter[2] = {CRANK_POS[i][0] + 32, CRANK_POS[i][1] + 64}; + if (sqrt(pow(stylusPos[0] - crankCenter[0], 2) + pow(stylusPos[1] - crankCenter[1], 2)) < 64) + { + rotatingCrank = i; + break; + } + } + + if (rotatingCrank != -1) + { + int scrubSpeed = abs((stylusPos[0] - lastStylusPos[0]) + (stylusPos[1] - lastStylusPos[1])); + if ((lastStylusPos[0] != -1 && lastStylusPos[1] != -1) && scrubSpeed > 3) + { + crankRot[rotatingCrank] += crankRot[rotatingCrank] < (rotatingCrank == 1 ? 210 : 511) ? (crankRot[rotatingCrank] < (rotatingCrank == 1 ? 105 : 255) ? 2 * (scrubSpeed / 6) : (scrubSpeed / 4)) : 0; + } + + if (frame % 3 == 0) + { + int otherCrank = rotatingCrank == 0 ? 1 : 0; + crankRot[otherCrank] -= crankRot[otherCrank] > 0 ? (crankRot[otherCrank] < 255 ? 1 : 2) : 0; + rumble(scrubSpeed % 2); + } + + if (scrubSpeed > 5 && (frame % 30 == 0)) + { + sound->PlaySFX(SFX_CRANK); + } + } + lastStylusPos[0] = stylusPos[0]; + lastStylusPos[1] = stylusPos[1]; + } + else + { + lastStylusPos[0] = -1; + lastStylusPos[1] = -1; + + if (frame % 3 == 0) + { + for (int i = 0; i < 2; i++) + { + crankRot[i] -= crankRot[i] > 0 ? (crankRot[i] < 255 ? 1 : 2) : 0; + } + } + } + + u16 currentPos[2] = {PIPE_POS[0] + (crankRot[0] / 4), PIPE_POS[1] + (crankRot[1] / 4)}; + map->AdjustPipe(crankRot[0] / 98.5f, crankRot[1] / 52.5f); + for (int i = 0; i < PIPE_COUNT; i++) + { + bool sideways = i < HORIZONTAL_PIPE_COUNT; + if ((i % 2) != (frame % 4)) + { + NF_MoveSprite(1, PIPE_SPRITES[i], currentPos[0], currentPos[1]); + } + currentPos[0] += sideways ? PIPE_OFFSET : 0; + currentPos[1] += sideways ? 0 : PIPE_OFFSET; + } + + for (int i = 0; i < 2; i++) + { + NF_SpriteRotScale(1, CRANK_SPRITES[i], crankRot[i], 256, 256); + NF_SpriteFrame(1, CRANK_SPRITES[i], rotatingCrank == i ? 5 : 4); + } + + if (currentPos[0] > TARGET_PIPE_POS[0] - TARGET_POS_VARIENCE && currentPos[0] < TARGET_PIPE_POS[0] + TARGET_POS_VARIENCE && currentPos[1] > TARGET_PIPE_POS[1] - TARGET_POS_VARIENCE && currentPos[1] < TARGET_PIPE_POS[1] + TARGET_POS_VARIENCE) + { + pipeInPlace = true; + sound->PlaySFX(SFX_CLICK); + rumble(frame % 2); + } +} + +bool MixMinigame::IsComplete() +{ + return pipeInPlace && pipeInPlaceFrames > 190; +} + +MinigameResult MixMinigame::GetResult(int framesTaken) +{ + return (framesTaken < 725) ? RESULT_GOOD : (framesTaken < 1225) ? RESULT_OKAY + : RESULT_BAD; } \ No newline at end of file diff --git a/source/minigame_pestle.cpp b/source/minigame_pestle.cpp index c333845..15d7cf8 100644 --- a/source/minigame_pestle.cpp +++ b/source/minigame_pestle.cpp @@ -1,117 +1,117 @@ -#include "minigames.h" - -PestleMinigame::PestleMinigame() -{ -} - -void PestleMinigame::Load() -{ - LoadBackground(PESTLE_BACKGROUND_NAME); - - NF_LoadSpriteGfx(PESTLE_SPRITES_NAME, PESTLE_SPRITE, 64, 64); - NF_LoadSpritePal(PESTLE_SPRITES_NAME, PESTLE_SPRITE); - NF_VramSpriteGfx(1, PESTLE_SPRITE, 0, false); - NF_VramSpritePal(1, PESTLE_SPRITE, 0); - NF_CreateSprite(1, PESTLE_SPRITE, 0, 0, 60, 37); - NF_EnableSpriteRotScale(1, PESTLE_SPRITE, PESTLE_SPRITE, true); - NF_SpriteRotScale(1, PESTLE_SPRITE, 0, 300, 300); - for (int i = 0; i < 3; i++) - { - solutePos[i][0] = 30 + (i * 35); - solutePos[i][1] = i == 1 ? 67 : 59; - soluteRot[i] = (i * 90); - soluteDamage[i] = 0; - NF_CreateSprite(1, SOLUTE_SPRITES[i], 0, 0, solutePos[i][0], solutePos[i][1]); - NF_SpriteFrame(1, SOLUTE_SPRITES[i], 1); - NF_EnableSpriteRotScale(1, SOLUTE_SPRITES[i], SOLUTE_SPRITES[i], true); - NF_SpriteRotScale(1, SOLUTE_SPRITES[i], soluteRot[i], 120, 120); - } -} - -void PestleMinigame::Unload(Map* map) -{ - DeleteBackground(PESTLE_BACKGROUND_NAME); - - NF_DeleteSprite(1, PESTLE_SPRITE); - for (int i = 0; i < 3; i++) - { - NF_DeleteSprite(1, SOLUTE_SPRITES[i]); - } - NF_UnloadSpriteGfx(PESTLE_SPRITE); - NF_UnloadSpritePal(PESTLE_SPRITE); - NF_FreeSpriteGfx(1, 0); -} - -void PestleMinigame::Update(volatile int frame, uint32 keys, Sound *sound, Map *map) -{ - if (IsComplete()) - { - return; - } - - if (keys & KEY_TOUCH) - { - touchPosition touch; - touchRead(&touch); - - pestlePos[0] = touch.px - 64; - pestlePos[1] = std::min(43, touch.py - 64); - if (pestlePos[1] == 43) - { - rumble(frame % 2 == 0); - } - - if (frame - lastVelocityCheckFrame > SWING_LENGTH) - { - lastVelocityCheckFrame = frame; - velocity = (pestlePos[1] - lastPestlePos[1]) / 60; - lastPestlePos[0] = pestlePos[0]; - lastPestlePos[1] = pestlePos[1]; - } - } - else - { - lastVelocityCheckFrame = frame; - } - - NF_MoveSprite(1, PESTLE_SPRITE, pestlePos[0], pestlePos[1]); - NF_SpriteRotScale(1, PESTLE_SPRITE, ((pestlePos[0] + 240) + 180 / 90), 300, 300); - - for (int i = 0; i < 3; i++) - { - if (soluteDamage[i] < SOLUTE_MAX_DAMAGE && abs(pestlePos[0] - solutePos[i][0]) < PESTLE_PROXIMITY && abs(pestlePos[1] - solutePos[i][1]) < PESTLE_PROXIMITY && velocity > VELOCITY_THRESHOLD) - { - soluteDamage[i] += (globalSave.powerUps[PWR_GOLDEN_PESTLE] ? SOLUTE_MAX_DAMAGE : 1); - velocity -= 150; - - if (frame - lastSfxPlay > SFX_DURATION) - { - lastSfxPlay = frame; - sound->PlaySFX(SFX_PESTLE); - } - - solutePos[i][0] = std::max(std::min(solutePos[i][0] + (rand() % 10) - 5, 100), 30); - soluteRot[i] += 512 / 24; - } - - NF_SpriteFrame(1, SOLUTE_SPRITES[i], soluteDamage[i] > (SOLUTE_MAX_DAMAGE / 2) ? soluteDamage[i] >= SOLUTE_MAX_DAMAGE ? 3 : 2 : 1); - NF_MoveSprite(1, SOLUTE_SPRITES[i], solutePos[i][0], solutePos[i][1]); - NF_SpriteRotScale(1, SOLUTE_SPRITES[i], soluteRot[i], 120, 120); - } -} - -bool PestleMinigame::IsComplete() -{ - bool complete = true; - for (int i = 0; i < 3; i++) - { - complete &= soluteDamage[i] >= SOLUTE_MAX_DAMAGE; - } - return complete; -} - -MinigameResult PestleMinigame::GetResult(int framesTaken) -{ - return (framesTaken < 680) ? RESULT_GOOD : (framesTaken < 1150) ? RESULT_OKAY - : RESULT_BAD; +#include "minigames.h" + +PestleMinigame::PestleMinigame() +{ +} + +void PestleMinigame::Load() +{ + LoadBackground(PESTLE_BACKGROUND_NAME); + + NF_LoadSpriteGfx(PESTLE_SPRITES_NAME, PESTLE_SPRITE, 64, 64); + NF_LoadSpritePal(PESTLE_SPRITES_NAME, PESTLE_SPRITE); + NF_VramSpriteGfx(1, PESTLE_SPRITE, 0, false); + NF_VramSpritePal(1, PESTLE_SPRITE, 0); + NF_CreateSprite(1, PESTLE_SPRITE, 0, 0, 60, 37); + NF_EnableSpriteRotScale(1, PESTLE_SPRITE, PESTLE_SPRITE, true); + NF_SpriteRotScale(1, PESTLE_SPRITE, 0, 300, 300); + for (int i = 0; i < 3; i++) + { + solutePos[i][0] = 30 + (i * 35); + solutePos[i][1] = i == 1 ? 67 : 59; + soluteRot[i] = (i * 90); + soluteDamage[i] = 0; + NF_CreateSprite(1, SOLUTE_SPRITES[i], 0, 0, solutePos[i][0], solutePos[i][1]); + NF_SpriteFrame(1, SOLUTE_SPRITES[i], 1); + NF_EnableSpriteRotScale(1, SOLUTE_SPRITES[i], SOLUTE_SPRITES[i], true); + NF_SpriteRotScale(1, SOLUTE_SPRITES[i], soluteRot[i], 120, 120); + } +} + +void PestleMinigame::Unload(Map* map) +{ + DeleteBackground(PESTLE_BACKGROUND_NAME); + + NF_DeleteSprite(1, PESTLE_SPRITE); + for (int i = 0; i < 3; i++) + { + NF_DeleteSprite(1, SOLUTE_SPRITES[i]); + } + NF_UnloadSpriteGfx(PESTLE_SPRITE); + NF_UnloadSpritePal(PESTLE_SPRITE); + NF_FreeSpriteGfx(1, 0); +} + +void PestleMinigame::Update(volatile int frame, uint32 keys, Sound *sound, Map *map) +{ + if (IsComplete()) + { + return; + } + + if (keys & KEY_TOUCH) + { + touchPosition touch; + touchRead(&touch); + + pestlePos[0] = touch.px - 64; + pestlePos[1] = std::min(43, touch.py - 64); + if (pestlePos[1] == 43) + { + rumble(frame % 2 == 0); + } + + if (frame - lastVelocityCheckFrame > SWING_LENGTH) + { + lastVelocityCheckFrame = frame; + velocity = (pestlePos[1] - lastPestlePos[1]) / 60; + lastPestlePos[0] = pestlePos[0]; + lastPestlePos[1] = pestlePos[1]; + } + } + else + { + lastVelocityCheckFrame = frame; + } + + NF_MoveSprite(1, PESTLE_SPRITE, pestlePos[0], pestlePos[1]); + NF_SpriteRotScale(1, PESTLE_SPRITE, ((pestlePos[0] + 240) + 180 / 90), 300, 300); + + for (int i = 0; i < 3; i++) + { + if (soluteDamage[i] < SOLUTE_MAX_DAMAGE && abs(pestlePos[0] - solutePos[i][0]) < PESTLE_PROXIMITY && abs(pestlePos[1] - solutePos[i][1]) < PESTLE_PROXIMITY && velocity > VELOCITY_THRESHOLD) + { + soluteDamage[i] += (globalSave.powerUps[PWR_GOLDEN_PESTLE] ? SOLUTE_MAX_DAMAGE : 1); + velocity -= 150; + + if (frame - lastSfxPlay > SFX_DURATION) + { + lastSfxPlay = frame; + sound->PlaySFX(SFX_PESTLE); + } + + solutePos[i][0] = std::max(std::min(solutePos[i][0] + (rand() % 10) - 5, 100), 30); + soluteRot[i] += 512 / 24; + } + + NF_SpriteFrame(1, SOLUTE_SPRITES[i], soluteDamage[i] > (SOLUTE_MAX_DAMAGE / 2) ? soluteDamage[i] >= SOLUTE_MAX_DAMAGE ? 3 : 2 : 1); + NF_MoveSprite(1, SOLUTE_SPRITES[i], solutePos[i][0], solutePos[i][1]); + NF_SpriteRotScale(1, SOLUTE_SPRITES[i], soluteRot[i], 120, 120); + } +} + +bool PestleMinigame::IsComplete() +{ + bool complete = true; + for (int i = 0; i < 3; i++) + { + complete &= soluteDamage[i] >= SOLUTE_MAX_DAMAGE; + } + return complete; +} + +MinigameResult PestleMinigame::GetResult(int framesTaken) +{ + return (framesTaken < 680) ? RESULT_GOOD : (framesTaken < 1150) ? RESULT_OKAY + : RESULT_BAD; } \ No newline at end of file diff --git a/source/minigame_pipette.cpp b/source/minigame_pipette.cpp index e58894c..ba0968c 100644 --- a/source/minigame_pipette.cpp +++ b/source/minigame_pipette.cpp @@ -1,235 +1,235 @@ -#include "minigames.h" - -PipetteMinigame::PipetteMinigame() -{ -} - -void PipetteMinigame::Load() -{ - LoadBackground(PIPETTE_BACKGROUND_NAME); - showingTubes = false; - pipettePos[0] = pipettePos[1] = 5; - lastStylusPos[0] = lastStylusPos[1] = -1; - dropletsMissed = 0; - showDroplet = true; - - NF_LoadSpriteGfx(PIPETTE_SPRITES_NAME, PIPETTE_SPRITES, 64, SPRITE_HEIGHT); - NF_LoadSpritePal(PIPETTE_SPRITES_NAME, PIPETTE_SPRITES); - NF_VramSpriteGfx(1, PIPETTE_SPRITES, 0, false); - NF_VramSpritePal(1, PIPETTE_SPRITES, 0); - - for (int i = 0; i < PIPETTE_SEGMENTS; i++) - { - NF_CreateSprite(1, PIPETTE_SPRITE_IDS[i], 0, 0, pipettePos[0], pipettePos[1] + (SPRITE_HEIGHT * i)); - NF_SpriteFrame(1, PIPETTE_SPRITE_IDS[i], 7 + i); - } - - NF_CreateSprite(1, DROPLET_SPRITE, 0, 0, pipettePos[0], pipettePos[1] + (SPRITE_HEIGHT * 2) + 4); - NF_SpriteFrame(1, DROPLET_SPRITE, 10); - - UpdateTubes(0); -} - -void PipetteMinigame::Unload(Map* map) -{ - DeleteBackground(PIPETTE_BACKGROUND_NAME); - - if (showingTubes) - { - for (int t = 0; t < TUBE_COUNT; t++) - { - for (int s = 0; s < TUBE_SEGMENTS; s++) - { - const u32 spriteId = (TUBE_SPRITE_OFFSET + (TUBE_SEGMENTS * t) + s); - NF_DeleteSprite(1, spriteId); - } - } - } - - for (int i = 0; i < PIPETTE_SEGMENTS; i++) - { - NF_DeleteSprite(1, PIPETTE_SPRITE_IDS[i]); - } - NF_DeleteSprite(1, DROPLET_SPRITE); - - NF_UnloadSpriteGfx(PIPETTE_SPRITES); - NF_UnloadSpritePal(PIPETTE_SPRITES); - NF_FreeSpriteGfx(1, 0); -} - -void PipetteMinigame::Update(volatile int frame, uint32 keys, Sound *sound, Map *map) -{ - UpdateTubes(frame); - - if (IsComplete()) - { - return; - } - - if (keysHeld() & KEY_TOUCH) - { - touchPosition touch; - touchRead(&touch); - if (lastStylusPos[0] == -1) - { - lastStylusPos[0] = touch.px; - lastStylusPos[1] = touch.py; - } - else - { - pipettePos[0] += touch.px - lastStylusPos[0]; - pipettePos[1] += touch.py - lastStylusPos[1]; - lastStylusPos[0] = touch.px; - lastStylusPos[1] = touch.py; - } - } - else - { - lastStylusPos[0] = -1; - lastStylusPos[1] = -1; - } - - pipettePos[0] = std::max(0, std::min(SCREEN_WIDTH - 64, pipettePos[0])); - pipettePos[1] = std::max(-20, std::min(SCREEN_HEIGHT - 80 - (SPRITE_HEIGHT * PIPETTE_SEGMENTS), pipettePos[1])); - - for (int i = 0; i < PIPETTE_SEGMENTS; i++) - { - NF_MoveSprite(1, PIPETTE_SPRITE_IDS[i], pipettePos[0], pipettePos[1] + (SPRITE_HEIGHT * i)); - } - - if (!dropletDropping) - { - dropletPos[0] = pipettePos[0]; - dropletPos[1] = pipettePos[1] + (SPRITE_HEIGHT * 2) + 4; - dropletSplashing = false; - showDroplet = true; - dropletYVel = 0; - dropletFrames = 0; - } - - if (keysUp() & KEY_TOUCH) - { - dropletDropping = true; - } - - if (dropletDropping) - { - dropletPos[1] += dropletYVel; - dropletYVel = std::min(10, dropletYVel + (frame % 4 == 0 ? 1 : 0)); - - bool isDropletInTube = false; - int dropTube = -1; - const int TUBE_WIDTH = 48; - for (int t = 0; t < TUBE_COUNT; t++) - { - const int tubeBuffer = ((64 - TUBE_WIDTH) / 2) + 5; - const int tubeStart = TUBE_BASE_POS[0] + (TUBE_SPACING * t) - tubeBuffer; - const int tubeEnd = tubeStart + TUBE_WIDTH - tubeBuffer; - if (dropletPos[0] >= tubeStart && dropletPos[0] <= tubeEnd) - { - isDropletInTube = tubeProgress[t] < TUBE_THRESHOLD || dropletSplashing; - dropTube = t; - break; - } - } - - if (dropletPos[1] > (isDropletInTube ? DROPLET_TARGET_Y_CONTACT : DROPLET_MISS_Y_CONTACT)) - { - dropletSplashing = true; - dropletYVel = 0; - dropletPos[1] = isDropletInTube ? DROPLET_TARGET_Y_CONTACT : DROPLET_MISS_Y_CONTACT; - dropletFrames++; - - if (dropletFrames > 8) - { - dropletDropping = false; - showDroplet = false; - dropletPos[0] = pipettePos[0]; - dropletPos[1] = pipettePos[1] + (SPRITE_HEIGHT * 2); - - if (isDropletInTube) - { - tubeProgress[dropTube] = TUBE_THRESHOLD; - } - else - { - dropletsMissed++; - } - } - } - } - - NF_ShowSprite(1, DROPLET_SPRITE, showDroplet); - NF_MoveSprite(1, DROPLET_SPRITE, dropletPos[0], dropletPos[1]); - NF_SpriteFrame(1, DROPLET_SPRITE, dropletSplashing ? 11 : 10); -} - -void PipetteMinigame::UpdateTubes(volatile int frame) -{ - int currentPos[2]; - for (int t = 0; t < TUBE_COUNT; t++) - { - currentPos[0] = TUBE_BASE_POS[0] + (TUBE_SPACING * t); - for (int s = 0; s < TUBE_SEGMENTS; s++) - { - const u32 spriteId = (TUBE_SPRITE_OFFSET + (TUBE_SEGMENTS * t) + s); - currentPos[1] = TUBE_BASE_POS[1] + (SPRITE_HEIGHT * (TUBE_SEGMENTS - s)); - if (!showingTubes) - { - tubeBubbleAnimationFrames[t] = 0; - tubeProgress[t] = 0; - NF_CreateSprite(1, spriteId, 0, 0, currentPos[0], currentPos[1]); - } - - if (s == TUBE_SEGMENTS - 1) - { - NF_SpriteFrame(1, spriteId, 6); - } - else if (s == TUBE_SEGMENTS - 2) - { - NF_SpriteFrame(1, spriteId, tubeProgress[t] >= TUBE_THRESHOLD ? 0 : 1); - } - else if (s == 0) - { - NF_SpriteFrame(1, spriteId, 5); - } - else - { - NF_SpriteFrame(1, spriteId, 4 - ((tubeBubbleAnimationFrames[t] > 10) ? ((tubeBubbleAnimationFrames[t] > 20) ? 2 : 1) : 0)); - if (tubeBubbleAnimationFrames[t] > 30) - { - tubeBubbleAnimationFrames[t] = 11; - } - else if (tubeProgress[t] >= TUBE_THRESHOLD) - { - tubeBubbleAnimationFrames[t]++; - } - } - } - } - showingTubes = true; -} - -bool PipetteMinigame::IsComplete() -{ - bool complete = true; - for (int t = 0; t < TUBE_COUNT; t++) - { - complete &= (tubeProgress[t] >= TUBE_THRESHOLD); - } - return complete; -} - -MinigameResult PipetteMinigame::GetResult(int framesTaken) -{ - if (dropletsMissed > 2) - { - return RESULT_BAD; - } - else if (dropletsMissed > 0) - { - return RESULT_OKAY; - } - return (framesTaken < 650) ? RESULT_GOOD : (framesTaken < 1000) ? RESULT_OKAY - : RESULT_BAD; +#include "minigames.h" + +PipetteMinigame::PipetteMinigame() +{ +} + +void PipetteMinigame::Load() +{ + LoadBackground(PIPETTE_BACKGROUND_NAME); + showingTubes = false; + pipettePos[0] = pipettePos[1] = 5; + lastStylusPos[0] = lastStylusPos[1] = -1; + dropletsMissed = 0; + showDroplet = true; + + NF_LoadSpriteGfx(PIPETTE_SPRITES_NAME, PIPETTE_SPRITES, 64, SPRITE_HEIGHT); + NF_LoadSpritePal(PIPETTE_SPRITES_NAME, PIPETTE_SPRITES); + NF_VramSpriteGfx(1, PIPETTE_SPRITES, 0, false); + NF_VramSpritePal(1, PIPETTE_SPRITES, 0); + + for (int i = 0; i < PIPETTE_SEGMENTS; i++) + { + NF_CreateSprite(1, PIPETTE_SPRITE_IDS[i], 0, 0, pipettePos[0], pipettePos[1] + (SPRITE_HEIGHT * i)); + NF_SpriteFrame(1, PIPETTE_SPRITE_IDS[i], 7 + i); + } + + NF_CreateSprite(1, DROPLET_SPRITE, 0, 0, pipettePos[0], pipettePos[1] + (SPRITE_HEIGHT * 2) + 4); + NF_SpriteFrame(1, DROPLET_SPRITE, 10); + + UpdateTubes(0); +} + +void PipetteMinigame::Unload(Map* map) +{ + DeleteBackground(PIPETTE_BACKGROUND_NAME); + + if (showingTubes) + { + for (int t = 0; t < TUBE_COUNT; t++) + { + for (int s = 0; s < TUBE_SEGMENTS; s++) + { + const u32 spriteId = (TUBE_SPRITE_OFFSET + (TUBE_SEGMENTS * t) + s); + NF_DeleteSprite(1, spriteId); + } + } + } + + for (int i = 0; i < PIPETTE_SEGMENTS; i++) + { + NF_DeleteSprite(1, PIPETTE_SPRITE_IDS[i]); + } + NF_DeleteSprite(1, DROPLET_SPRITE); + + NF_UnloadSpriteGfx(PIPETTE_SPRITES); + NF_UnloadSpritePal(PIPETTE_SPRITES); + NF_FreeSpriteGfx(1, 0); +} + +void PipetteMinigame::Update(volatile int frame, uint32 keys, Sound *sound, Map *map) +{ + UpdateTubes(frame); + + if (IsComplete()) + { + return; + } + + if (keysHeld() & KEY_TOUCH) + { + touchPosition touch; + touchRead(&touch); + if (lastStylusPos[0] == -1) + { + lastStylusPos[0] = touch.px; + lastStylusPos[1] = touch.py; + } + else + { + pipettePos[0] += touch.px - lastStylusPos[0]; + pipettePos[1] += touch.py - lastStylusPos[1]; + lastStylusPos[0] = touch.px; + lastStylusPos[1] = touch.py; + } + } + else + { + lastStylusPos[0] = -1; + lastStylusPos[1] = -1; + } + + pipettePos[0] = std::max(0, std::min(SCREEN_WIDTH - 64, pipettePos[0])); + pipettePos[1] = std::max(-20, std::min(SCREEN_HEIGHT - 80 - (SPRITE_HEIGHT * PIPETTE_SEGMENTS), pipettePos[1])); + + for (int i = 0; i < PIPETTE_SEGMENTS; i++) + { + NF_MoveSprite(1, PIPETTE_SPRITE_IDS[i], pipettePos[0], pipettePos[1] + (SPRITE_HEIGHT * i)); + } + + if (!dropletDropping) + { + dropletPos[0] = pipettePos[0]; + dropletPos[1] = pipettePos[1] + (SPRITE_HEIGHT * 2) + 4; + dropletSplashing = false; + showDroplet = true; + dropletYVel = 0; + dropletFrames = 0; + } + + if (keysUp() & KEY_TOUCH) + { + dropletDropping = true; + } + + if (dropletDropping) + { + dropletPos[1] += dropletYVel; + dropletYVel = std::min(10, dropletYVel + (frame % 4 == 0 ? 1 : 0)); + + bool isDropletInTube = false; + int dropTube = -1; + const int TUBE_WIDTH = 48; + for (int t = 0; t < TUBE_COUNT; t++) + { + const int tubeBuffer = ((64 - TUBE_WIDTH) / 2) + 5; + const int tubeStart = TUBE_BASE_POS[0] + (TUBE_SPACING * t) - tubeBuffer; + const int tubeEnd = tubeStart + TUBE_WIDTH - tubeBuffer; + if (dropletPos[0] >= tubeStart && dropletPos[0] <= tubeEnd) + { + isDropletInTube = tubeProgress[t] < TUBE_THRESHOLD || dropletSplashing; + dropTube = t; + break; + } + } + + if (dropletPos[1] > (isDropletInTube ? DROPLET_TARGET_Y_CONTACT : DROPLET_MISS_Y_CONTACT)) + { + dropletSplashing = true; + dropletYVel = 0; + dropletPos[1] = isDropletInTube ? DROPLET_TARGET_Y_CONTACT : DROPLET_MISS_Y_CONTACT; + dropletFrames++; + + if (dropletFrames > 8) + { + dropletDropping = false; + showDroplet = false; + dropletPos[0] = pipettePos[0]; + dropletPos[1] = pipettePos[1] + (SPRITE_HEIGHT * 2); + + if (isDropletInTube) + { + tubeProgress[dropTube] = TUBE_THRESHOLD; + } + else + { + dropletsMissed++; + } + } + } + } + + NF_ShowSprite(1, DROPLET_SPRITE, showDroplet); + NF_MoveSprite(1, DROPLET_SPRITE, dropletPos[0], dropletPos[1]); + NF_SpriteFrame(1, DROPLET_SPRITE, dropletSplashing ? 11 : 10); +} + +void PipetteMinigame::UpdateTubes(volatile int frame) +{ + int currentPos[2]; + for (int t = 0; t < TUBE_COUNT; t++) + { + currentPos[0] = TUBE_BASE_POS[0] + (TUBE_SPACING * t); + for (int s = 0; s < TUBE_SEGMENTS; s++) + { + const u32 spriteId = (TUBE_SPRITE_OFFSET + (TUBE_SEGMENTS * t) + s); + currentPos[1] = TUBE_BASE_POS[1] + (SPRITE_HEIGHT * (TUBE_SEGMENTS - s)); + if (!showingTubes) + { + tubeBubbleAnimationFrames[t] = 0; + tubeProgress[t] = 0; + NF_CreateSprite(1, spriteId, 0, 0, currentPos[0], currentPos[1]); + } + + if (s == TUBE_SEGMENTS - 1) + { + NF_SpriteFrame(1, spriteId, 6); + } + else if (s == TUBE_SEGMENTS - 2) + { + NF_SpriteFrame(1, spriteId, tubeProgress[t] >= TUBE_THRESHOLD ? 0 : 1); + } + else if (s == 0) + { + NF_SpriteFrame(1, spriteId, 5); + } + else + { + NF_SpriteFrame(1, spriteId, 4 - ((tubeBubbleAnimationFrames[t] > 10) ? ((tubeBubbleAnimationFrames[t] > 20) ? 2 : 1) : 0)); + if (tubeBubbleAnimationFrames[t] > 30) + { + tubeBubbleAnimationFrames[t] = 11; + } + else if (tubeProgress[t] >= TUBE_THRESHOLD) + { + tubeBubbleAnimationFrames[t]++; + } + } + } + } + showingTubes = true; +} + +bool PipetteMinigame::IsComplete() +{ + bool complete = true; + for (int t = 0; t < TUBE_COUNT; t++) + { + complete &= (tubeProgress[t] >= TUBE_THRESHOLD); + } + return complete; +} + +MinigameResult PipetteMinigame::GetResult(int framesTaken) +{ + if (dropletsMissed > 2) + { + return RESULT_BAD; + } + else if (dropletsMissed > 0) + { + return RESULT_OKAY; + } + return (framesTaken < 650) ? RESULT_GOOD : (framesTaken < 1000) ? RESULT_OKAY + : RESULT_BAD; } \ No newline at end of file diff --git a/source/minigame_pour.cpp b/source/minigame_pour.cpp index f219511..84b55e7 100644 --- a/source/minigame_pour.cpp +++ b/source/minigame_pour.cpp @@ -1,209 +1,209 @@ -#include "minigames.h" - -PourMinigame::PourMinigame() -{ -} - -void PourMinigame::Load() -{ - LoadBackground(POUR_BACKGROUND_NAME); - showingTray = false; - selectedSwitch = -1; - currentPumpRate = 0; - currentDrainRate = 0; - targetPumpRate = 0; - targetDrainRate = 0; - - NF_LoadSpriteGfx(POUR_SPRITES_NAME, POUR_SPRITES, 64, SPRITE_HEIGHT); - NF_LoadSpritePal(POUR_SPRITES_NAME, POUR_SPRITES); - NF_VramSpriteGfx(1, POUR_SPRITES, 0, false); - NF_VramSpritePal(1, POUR_SPRITES, 0); - - UpdateTray(); - UpdateSwitches(0, nullptr); - - NF_CreateSprite(1, PIPE_SPRITE, 0, 0, PIPE_SPRITE_POS[0], PIPE_SPRITE_POS[1]); - for (int i = 0; i < POURING_FLUID_COUNT; i++) - { - NF_CreateSprite(1, POURING_FLUID_SPRITES[i], 0, 0, PIPE_SPRITE_POS[0], PIPE_SPRITE_POS[1] + (32 + (32 * i))); - NF_SpriteFrame(1, POURING_FLUID_SPRITES[i], 3); - NF_ShowSprite(1, POURING_FLUID_SPRITES[i], false); - } -} - -void PourMinigame::Unload(Map *map) -{ - DeleteBackground(POUR_BACKGROUND_NAME); - - if (showingTray) - { - for (int i = 0; i < TRAY_SPRITE_COUNT; i++) - { - NF_DeleteSprite(1, TRAY_SPRITES[i]); - NF_DeleteSprite(1, FLUID_SPRITES[i]); - } - } - if (showingSwitches) - { - NF_DeleteSprite(1, PUMP_SWITCH_SPRITE); - NF_DeleteSprite(1, DRAIN_SWITCH_SPRITE); - } - - NF_DeleteSprite(1, PIPE_SPRITE); - for (int i = 0; i < POURING_FLUID_COUNT; i++) - { - NF_DeleteSprite(1, POURING_FLUID_SPRITES[i]); - } - - NF_UnloadSpriteGfx(POUR_SPRITES); - NF_UnloadSpritePal(POUR_SPRITES); - NF_FreeSpriteGfx(1, 0); -} - -void PourMinigame::UpdateTray() -{ - const int BASE_TRAY_Y_POS = 160; - for (int i = 0; i < TRAY_SPRITE_COUNT; i++) - { - int xCoord = ((SCREEN_WIDTH - (64 * 3)) / 2) + (64 * i); - if (!showingTray) - { - NF_CreateSprite(1, TRAY_SPRITES[i], 0, 0, xCoord, BASE_TRAY_Y_POS); - NF_CreateSprite(1, FLUID_SPRITES[i], 0, 0, xCoord, BASE_TRAY_Y_POS); - } - NF_SpriteFrame(1, TRAY_SPRITES[i], 7); - NF_SpriteFrame(1, FLUID_SPRITES[i], 6); - - NF_MoveSprite(1, FLUID_SPRITES[i], xCoord, BASE_TRAY_Y_POS - ((int)(currentLevel * 2))); - } - showingTray = true; -} - -void PourMinigame::UpdateSwitches(volatile int frame, Sound *sound) -{ - if (!showingSwitches) - { - NF_CreateSprite(1, PUMP_SWITCH_SPRITE, 0, 0, PUMP_SWITCH_POS[0], PUMP_SWITCH_POS[1]); - NF_CreateSprite(1, DRAIN_SWITCH_SPRITE, 0, 0, DRAIN_SWITCH_POS[0], DRAIN_SWITCH_POS[1]); - } - - if (keysHeld() & KEY_TOUCH) - { - touchPosition touch; - touchRead(&touch); - if (touch.px >= PUMP_SWITCH_POS[0] + 8 && touch.px <= PUMP_SWITCH_POS[0] + 56 && - touch.py >= PUMP_SWITCH_POS[1] - 8 && touch.py <= PUMP_SWITCH_POS[1] + 40) - { - if (selectedSwitch != 0) - { - sound->PlaySFX(SFX_CLICK); - } - selectedSwitch = 0; - targetDrainRate = 0; - targetPumpRate = MAX_PUMP_RATE; - } - else if (touch.px >= DRAIN_SWITCH_POS[0] + 8 && touch.px <= DRAIN_SWITCH_POS[0] + 56 && - touch.py >= DRAIN_SWITCH_POS[1] - 8 && touch.py <= DRAIN_SWITCH_POS[1] + 40) - { - if (selectedSwitch != 1) - { - sound->PlaySFX(SFX_CLICK); - } - selectedSwitch = 1; - targetDrainRate = MAX_DRAIN_RATE; - targetPumpRate = 0; - } - else - { - if (selectedSwitch != -1) - { - sound->PlaySFX(SFX_CLICK); - } - selectedSwitch = -1; - targetDrainRate = 0; - targetPumpRate = 0; - } - } - else - { - if (selectedSwitch != -1) - { - sound->PlaySFX(SFX_CLICK); - } - selectedSwitch = -1; - targetDrainRate = 0; - targetPumpRate = 0; - } - - if (frame % 10 == 0) - { - currentLevel += currentPumpRate - currentDrainRate; - currentPumpRate += (targetPumpRate - currentPumpRate) / 10.0f; - currentDrainRate += (targetDrainRate - currentDrainRate) / 10.0f; - - if (currentPumpRate > MAX_PUMP_RATE) - { - currentPumpRate = MAX_PUMP_RATE; - } - else if (currentPumpRate < 0) - { - currentPumpRate = 0; - } - - if (currentDrainRate > MAX_DRAIN_RATE) - { - currentDrainRate = MAX_DRAIN_RATE; - } - else if (currentDrainRate < 0) - { - currentDrainRate = 0; - } - - if (currentLevel <= 0.1f) - { - currentLevel = 0; - } - else if (currentLevel >= MAX_LEVEL) - { - currentLevel = MAX_LEVEL; - } - } - - NF_SpriteFrame(1, PUMP_SWITCH_SPRITE, selectedSwitch == 0 ? 1 : 2); - NF_SpriteFrame(1, DRAIN_SWITCH_SPRITE, selectedSwitch == 1 ? 1 : 2); - - showingSwitches = true; -} - -void PourMinigame::Update(volatile int frame, uint32 keys, Sound *sound, Map *map) -{ - bool complete = IsComplete(); - for (int i = 0; i < POURING_FLUID_COUNT; i++) - { - NF_ShowSprite(1, POURING_FLUID_SPRITES[i], currentPumpRate > 0.1f && !complete); - NF_SpriteFrame(1, POURING_FLUID_SPRITES[i], (currentPumpRate > (MAX_PUMP_RATE / 3.0f)) ? ((currentPumpRate >= MAX_PUMP_RATE / 1.5f) ? 5 : 4) : 3); - } - - if (complete) - { - return; - } - - UpdateTray(); - UpdateSwitches(frame, sound); -} - -bool PourMinigame::IsComplete() -{ - if (currentDrainRate > 0.3f || currentPumpRate > 0.3f) - { - return false; - } - return currentLevel > TARGET_LEVEL - 0.5f && currentLevel < TARGET_LEVEL + 0.5f; -} - -MinigameResult PourMinigame::GetResult(int framesTaken) -{ - return (framesTaken < 900) ? RESULT_GOOD : (framesTaken < 1450) ? RESULT_OKAY - : RESULT_BAD; +#include "minigames.h" + +PourMinigame::PourMinigame() +{ +} + +void PourMinigame::Load() +{ + LoadBackground(POUR_BACKGROUND_NAME); + showingTray = false; + selectedSwitch = -1; + currentPumpRate = 0; + currentDrainRate = 0; + targetPumpRate = 0; + targetDrainRate = 0; + + NF_LoadSpriteGfx(POUR_SPRITES_NAME, POUR_SPRITES, 64, SPRITE_HEIGHT); + NF_LoadSpritePal(POUR_SPRITES_NAME, POUR_SPRITES); + NF_VramSpriteGfx(1, POUR_SPRITES, 0, false); + NF_VramSpritePal(1, POUR_SPRITES, 0); + + UpdateTray(); + UpdateSwitches(0, nullptr); + + NF_CreateSprite(1, PIPE_SPRITE, 0, 0, PIPE_SPRITE_POS[0], PIPE_SPRITE_POS[1]); + for (int i = 0; i < POURING_FLUID_COUNT; i++) + { + NF_CreateSprite(1, POURING_FLUID_SPRITES[i], 0, 0, PIPE_SPRITE_POS[0], PIPE_SPRITE_POS[1] + (32 + (32 * i))); + NF_SpriteFrame(1, POURING_FLUID_SPRITES[i], 3); + NF_ShowSprite(1, POURING_FLUID_SPRITES[i], false); + } +} + +void PourMinigame::Unload(Map *map) +{ + DeleteBackground(POUR_BACKGROUND_NAME); + + if (showingTray) + { + for (int i = 0; i < TRAY_SPRITE_COUNT; i++) + { + NF_DeleteSprite(1, TRAY_SPRITES[i]); + NF_DeleteSprite(1, FLUID_SPRITES[i]); + } + } + if (showingSwitches) + { + NF_DeleteSprite(1, PUMP_SWITCH_SPRITE); + NF_DeleteSprite(1, DRAIN_SWITCH_SPRITE); + } + + NF_DeleteSprite(1, PIPE_SPRITE); + for (int i = 0; i < POURING_FLUID_COUNT; i++) + { + NF_DeleteSprite(1, POURING_FLUID_SPRITES[i]); + } + + NF_UnloadSpriteGfx(POUR_SPRITES); + NF_UnloadSpritePal(POUR_SPRITES); + NF_FreeSpriteGfx(1, 0); +} + +void PourMinigame::UpdateTray() +{ + const int BASE_TRAY_Y_POS = 160; + for (int i = 0; i < TRAY_SPRITE_COUNT; i++) + { + int xCoord = ((SCREEN_WIDTH - (64 * 3)) / 2) + (64 * i); + if (!showingTray) + { + NF_CreateSprite(1, TRAY_SPRITES[i], 0, 0, xCoord, BASE_TRAY_Y_POS); + NF_CreateSprite(1, FLUID_SPRITES[i], 0, 0, xCoord, BASE_TRAY_Y_POS); + } + NF_SpriteFrame(1, TRAY_SPRITES[i], 7); + NF_SpriteFrame(1, FLUID_SPRITES[i], 6); + + NF_MoveSprite(1, FLUID_SPRITES[i], xCoord, BASE_TRAY_Y_POS - ((int)(currentLevel * 2))); + } + showingTray = true; +} + +void PourMinigame::UpdateSwitches(volatile int frame, Sound *sound) +{ + if (!showingSwitches) + { + NF_CreateSprite(1, PUMP_SWITCH_SPRITE, 0, 0, PUMP_SWITCH_POS[0], PUMP_SWITCH_POS[1]); + NF_CreateSprite(1, DRAIN_SWITCH_SPRITE, 0, 0, DRAIN_SWITCH_POS[0], DRAIN_SWITCH_POS[1]); + } + + if (keysHeld() & KEY_TOUCH) + { + touchPosition touch; + touchRead(&touch); + if (touch.px >= PUMP_SWITCH_POS[0] + 8 && touch.px <= PUMP_SWITCH_POS[0] + 56 && + touch.py >= PUMP_SWITCH_POS[1] - 8 && touch.py <= PUMP_SWITCH_POS[1] + 40) + { + if (selectedSwitch != 0) + { + sound->PlaySFX(SFX_CLICK); + } + selectedSwitch = 0; + targetDrainRate = 0; + targetPumpRate = MAX_PUMP_RATE; + } + else if (touch.px >= DRAIN_SWITCH_POS[0] + 8 && touch.px <= DRAIN_SWITCH_POS[0] + 56 && + touch.py >= DRAIN_SWITCH_POS[1] - 8 && touch.py <= DRAIN_SWITCH_POS[1] + 40) + { + if (selectedSwitch != 1) + { + sound->PlaySFX(SFX_CLICK); + } + selectedSwitch = 1; + targetDrainRate = MAX_DRAIN_RATE; + targetPumpRate = 0; + } + else + { + if (selectedSwitch != -1) + { + sound->PlaySFX(SFX_CLICK); + } + selectedSwitch = -1; + targetDrainRate = 0; + targetPumpRate = 0; + } + } + else + { + if (selectedSwitch != -1) + { + sound->PlaySFX(SFX_CLICK); + } + selectedSwitch = -1; + targetDrainRate = 0; + targetPumpRate = 0; + } + + if (frame % 10 == 0) + { + currentLevel += currentPumpRate - currentDrainRate; + currentPumpRate += (targetPumpRate - currentPumpRate) / 10.0f; + currentDrainRate += (targetDrainRate - currentDrainRate) / 10.0f; + + if (currentPumpRate > MAX_PUMP_RATE) + { + currentPumpRate = MAX_PUMP_RATE; + } + else if (currentPumpRate < 0) + { + currentPumpRate = 0; + } + + if (currentDrainRate > MAX_DRAIN_RATE) + { + currentDrainRate = MAX_DRAIN_RATE; + } + else if (currentDrainRate < 0) + { + currentDrainRate = 0; + } + + if (currentLevel <= 0.1f) + { + currentLevel = 0; + } + else if (currentLevel >= MAX_LEVEL) + { + currentLevel = MAX_LEVEL; + } + } + + NF_SpriteFrame(1, PUMP_SWITCH_SPRITE, selectedSwitch == 0 ? 1 : 2); + NF_SpriteFrame(1, DRAIN_SWITCH_SPRITE, selectedSwitch == 1 ? 1 : 2); + + showingSwitches = true; +} + +void PourMinigame::Update(volatile int frame, uint32 keys, Sound *sound, Map *map) +{ + bool complete = IsComplete(); + for (int i = 0; i < POURING_FLUID_COUNT; i++) + { + NF_ShowSprite(1, POURING_FLUID_SPRITES[i], currentPumpRate > 0.1f && !complete); + NF_SpriteFrame(1, POURING_FLUID_SPRITES[i], (currentPumpRate > (MAX_PUMP_RATE / 3.0f)) ? ((currentPumpRate >= MAX_PUMP_RATE / 1.5f) ? 5 : 4) : 3); + } + + if (complete) + { + return; + } + + UpdateTray(); + UpdateSwitches(frame, sound); +} + +bool PourMinigame::IsComplete() +{ + if (currentDrainRate > 0.3f || currentPumpRate > 0.3f) + { + return false; + } + return currentLevel > TARGET_LEVEL - 0.5f && currentLevel < TARGET_LEVEL + 0.5f; +} + +MinigameResult PourMinigame::GetResult(int framesTaken) +{ + return (framesTaken < 900) ? RESULT_GOOD : (framesTaken < 1450) ? RESULT_OKAY + : RESULT_BAD; } \ No newline at end of file diff --git a/source/minigame_valve.cpp b/source/minigame_valve.cpp index 3702892..b869b2d 100644 --- a/source/minigame_valve.cpp +++ b/source/minigame_valve.cpp @@ -1,82 +1,82 @@ -#include "minigames.h" - -// Ventilaiton valve turning minigame -ValveMinigame::ValveMinigame() -{ -} - -void ValveMinigame::Load() -{ - rotation = 0; - LoadBackground(VALVE_BACKGROUND_NAME); - - NF_LoadSpriteGfx(VALVE_SPRITE_NAME, VALVE_SPRITE, 64, 64); - NF_LoadSpritePal(VALVE_SPRITE_NAME, VALVE_SPRITE); - NF_VramSpriteGfx(1, VALVE_SPRITE, 0, false); - NF_VramSpritePal(1, VALVE_SPRITE, 0); - NF_CreateSprite(1, VALVE_SPRITE, 0, 0, 60, 37); - NF_EnableSpriteRotScale(1, VALVE_SPRITE, VALVE_SPRITE, true); - NF_SpriteRotScale(1, VALVE_SPRITE, 0, 386, 386); -} - -void ValveMinigame::Unload(Map* map) -{ - DeleteBackground(VALVE_BACKGROUND_NAME); - - NF_DeleteSprite(1, VALVE_SPRITE); - NF_UnloadSpriteGfx(VALVE_SPRITE); - NF_UnloadSpritePal(VALVE_SPRITE); - NF_FreeSpriteGfx(1, 0); -} - -void ValveMinigame::Update(volatile int frame, uint32 keys, Sound *sound, Map *map) -{ - if (IsComplete()) - { - return; - } - - // Check if the user is rotating the valve - if (keys & KEY_TOUCH) - { - touchPosition touch; - touchRead(&touch); - - // Calculate the angle between the last touch position and the current touch position - int angle = atan2(touch.px - lastStylusPos[0], touch.py - lastStylusPos[1]) * 180 / M_PI; - - // Update the rotation of the valve with speed in mind - rotation += angle / VALVE_ROTATION_SPEED; - - // Update the last touch position - lastStylusPos[0] = touch.px; - lastStylusPos[1] = touch.py; - - // Rotate the valve - NF_SpriteRotScale(1, VALVE_SPRITE, rotation, 386, 386); - - // Play SFX, rumble - if (frame % 120 == 0) - { - sound->PlaySFX(SFX_VALVE_TURN); - } - rumble(rotation % 3 == 0); - } - else - { - // Reset the last touch position - lastStylusPos[0] = 0; - lastStylusPos[1] = 0; - } -} - -bool ValveMinigame::IsComplete() -{ - return rotation >= TARGET_ROTATION; -} - -MinigameResult ValveMinigame::GetResult(int framesTaken) -{ - return (framesTaken < 480) ? RESULT_GOOD : (framesTaken < 900) ? RESULT_OKAY - : RESULT_BAD; +#include "minigames.h" + +// Ventilaiton valve turning minigame +ValveMinigame::ValveMinigame() +{ +} + +void ValveMinigame::Load() +{ + rotation = 0; + LoadBackground(VALVE_BACKGROUND_NAME); + + NF_LoadSpriteGfx(VALVE_SPRITE_NAME, VALVE_SPRITE, 64, 64); + NF_LoadSpritePal(VALVE_SPRITE_NAME, VALVE_SPRITE); + NF_VramSpriteGfx(1, VALVE_SPRITE, 0, false); + NF_VramSpritePal(1, VALVE_SPRITE, 0); + NF_CreateSprite(1, VALVE_SPRITE, 0, 0, 60, 37); + NF_EnableSpriteRotScale(1, VALVE_SPRITE, VALVE_SPRITE, true); + NF_SpriteRotScale(1, VALVE_SPRITE, 0, 386, 386); +} + +void ValveMinigame::Unload(Map* map) +{ + DeleteBackground(VALVE_BACKGROUND_NAME); + + NF_DeleteSprite(1, VALVE_SPRITE); + NF_UnloadSpriteGfx(VALVE_SPRITE); + NF_UnloadSpritePal(VALVE_SPRITE); + NF_FreeSpriteGfx(1, 0); +} + +void ValveMinigame::Update(volatile int frame, uint32 keys, Sound *sound, Map *map) +{ + if (IsComplete()) + { + return; + } + + // Check if the user is rotating the valve + if (keys & KEY_TOUCH) + { + touchPosition touch; + touchRead(&touch); + + // Calculate the angle between the last touch position and the current touch position + int angle = atan2(touch.px - lastStylusPos[0], touch.py - lastStylusPos[1]) * 180 / M_PI; + + // Update the rotation of the valve with speed in mind + rotation += angle / VALVE_ROTATION_SPEED; + + // Update the last touch position + lastStylusPos[0] = touch.px; + lastStylusPos[1] = touch.py; + + // Rotate the valve + NF_SpriteRotScale(1, VALVE_SPRITE, rotation, 386, 386); + + // Play SFX, rumble + if (frame % 120 == 0) + { + sound->PlaySFX(SFX_VALVE_TURN); + } + rumble(rotation % 3 == 0); + } + else + { + // Reset the last touch position + lastStylusPos[0] = 0; + lastStylusPos[1] = 0; + } +} + +bool ValveMinigame::IsComplete() +{ + return rotation >= TARGET_ROTATION; +} + +MinigameResult ValveMinigame::GetResult(int framesTaken) +{ + return (framesTaken < 480) ? RESULT_GOOD : (framesTaken < 900) ? RESULT_OKAY + : RESULT_BAD; } \ No newline at end of file diff --git a/source/minigames.cpp b/source/minigames.cpp index 5377899..202abb8 100644 --- a/source/minigames.cpp +++ b/source/minigames.cpp @@ -1,14 +1,14 @@ -#include "minigames.h" - -// General minigame logic -void LoadBackground(const char name[]) -{ - NF_LoadTiledBg(name, name, 256, 256); - NF_CreateTiledBg(1, 2, name); -} - -void DeleteBackground(const char name[]) -{ - NF_UnloadTiledBg(name); - NF_DeleteTiledBg(1, 2); +#include "minigames.h" + +// General minigame logic +void LoadBackground(const char name[]) +{ + NF_LoadTiledBg(name, name, 256, 256); + NF_CreateTiledBg(1, 2, name); +} + +void DeleteBackground(const char name[]) +{ + NF_UnloadTiledBg(name); + NF_DeleteTiledBg(1, 2); } \ No newline at end of file diff --git a/source/minigames.h b/source/minigames.h index 80eca12..a11a8fc 100644 --- a/source/minigames.h +++ b/source/minigames.h @@ -1,254 +1,254 @@ -#pragma once - -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "enums.h" -#include "sound.h" -#include "map.h" -#include "save.hpp" -#include "rumble.h" - -void LoadBackground(const char name[]); -void DeleteBackground(const char name[]); - -class Minigame -{ -public: - virtual void Load() = 0; - virtual void Unload(Map* map) = 0; - virtual void Update(volatile int frame, uint32 keys, Sound *sound, Map *map) = 0; - virtual bool IsComplete() = 0; - virtual MinigameResult GetResult(int framesTaken) = 0; - - virtual ~Minigame() {} -}; - -class ValveMinigame : public Minigame -{ -private: - const int VALVE_ROTATION_SPEED = 4; - - const u32 VALVE_SPRITE = 15; - const char VALVE_SPRITE_NAME[32] = "sprite/valve"; - const char VALVE_BACKGROUND_NAME[32] = "bg/valve_minigame"; - - uint32 lastStylusPos[2] = {0, 0}; - - int rotation = 0; - const int TARGET_ROTATION = 2048; - -public: - ValveMinigame(); - - void Load(); - void Unload(Map* map); - void Update(volatile int frame, uint32 keys, Sound *sound, Map *map); - bool IsComplete(); - MinigameResult GetResult(int framesTaken); -}; - -class PestleMinigame : public Minigame -{ -private: - const u32 PESTLE_SPRITE = 15; - const u32 SOLUTE_SPRITES[3] = { 16, 17, 18 }; - const char PESTLE_SPRITES_NAME[32] = "sprite/pestle"; - const char PESTLE_BACKGROUND_NAME[32] = "bg/pestle_minigame"; - int lastSfxPlay = 0; - - const int SOLUTE_MAX_DAMAGE = 12; - int soluteDamage[3] = { 0, 0, 0 }; - u16 solutePos[3][2] = { { 0, 0 }, { 0, 0 }, { 0, 0 } }; - int soluteRot[3] = { 0, 0, 0 }; - - const int SWING_LENGTH = 10; - const u16 VELOCITY_THRESHOLD = 800; - const u16 PESTLE_PROXIMITY = 32; - const int SFX_DURATION = 70; - int pestleRotation = 0; - u16 pestlePos[2] = { 0, 0 }; - u16 lastPestlePos[2] = { 0, 0 }; - int lastVelocityCheckFrame = 0; - u16 velocity = 0; - -public: - PestleMinigame(); - - void Load(); - void Unload(Map* map); - void Update(volatile int frame, uint32 keys, Sound *sound, Map *map); - bool IsComplete(); - MinigameResult GetResult(int framesTaken); -}; - -class MixMinigame : public Minigame -{ -public: -private: - const int PIPE_POS[2] = { -191, -78 }; - const int PIPE_COUNT = 8; - const int HORIZONTAL_PIPE_COUNT = 5; - const u32 PIPE_SPRITES[8] = { 16, 17, 18, 19, 20, 21, 22, 23 }; - - const char PIPE_SPRITES_NAME[32] = "sprite/mixing_pipes"; - const char MIX_BACKGROUND_NAME[32] = "bg/mix_minigame"; - const u32 PIPE_OFFSET = 40; - const int TARGET_PIPE_POS[2] = { 110, 58 }; - const int TARGET_POS_VARIENCE = 2; - bool pipeInPlace = false; - int pipeInPlaceFrames = 0; - - - const u32 CRANK_SPRITES[2] = { 14, 15 }; - const int CRANK_POS[2][2] = { { 10, 55 }, { 125, 90 } }; - int crankRot[2] = { 0, 0 }; - int rotatingCrank = -1; - - int lastStylusPos[2] = {-1, -1}; - -public: - MixMinigame(); - - void Load(); - void Unload(Map* map); - void Update(volatile int frame, uint32 keys, Sound *sound, Map *map); - bool IsComplete(); - MinigameResult GetResult(int framesTaken); -}; - -class PipetteMinigame : public Minigame -{ -private: - const int SPRITE_HEIGHT = 32; - - const u32 PIPETTE_SPRITES = 15; - const char PIPETTE_BACKGROUND_NAME[32] = "bg/pipette_minigame"; - const char PIPETTE_SPRITES_NAME[32] = "sprite/pipette"; - bool showingTubes = false; - - int lastStylusPos[2] = { -1, -1 }; - - const int PIPETTE_SEGMENTS = 3; - const int PIPETTE_SPRITE_IDS[3] = { 15, 16, 17 }; - int pipettePos[2] = { 5, 5 }; - - const u32 DROPLET_SPRITE = 14; - bool showDroplet = false; - bool dropletDropping = false; - bool dropletSplashing = false; - int dropletFrames = 0; - int dropletPos[2] = { 0, 0 }; - int dropletYVel = 0; - const int DROPLET_TARGET_Y_CONTACT = 107; - const int DROPLET_MISS_Y_CONTACT = 157; - int dropletsMissed = 0; - - const int TUBE_COUNT = 3; - const int TUBE_SPRITE_OFFSET = 20; - const int TUBE_SEGMENTS = 4; - const int TUBE_BASE_POS[2] = { 25, 32 }; - const int TUBE_SPACING = 70; - - int tubeProgress[3] = { 0, 0, 0 }; - const int TUBE_THRESHOLD = 8; - int tubeBubbleAnimationFrames[3] = { 0, 0, 0 }; - - void UpdateTubes(volatile int frame); - -public: - PipetteMinigame(); - - void Load(); - void Unload(Map* map); - void Update(volatile int frame, uint32 keys, Sound *sound, Map *map); - bool IsComplete(); - MinigameResult GetResult(int framesTaken); -}; - -class PourMinigame : public Minigame -{ -private: - const int SPRITE_HEIGHT = 32; - - const u32 POUR_SPRITES = 15; - const char POUR_BACKGROUND_NAME[32] = "bg/pour_minigame"; - const char POUR_SPRITES_NAME[32] = "sprite/pour"; - - const u32 PUMP_SWITCH_SPRITE = 22; - const int PUMP_SWITCH_POS[2] = { 195, 11 }; - - const u32 DRAIN_SWITCH_SPRITE = 23; - const int DRAIN_SWITCH_POS[2] = { -7, 60 }; - - const int POURING_FLUID_COUNT = 6; - const u32 POURING_FLUID_SPRITES[6] = { 24, 25, 26, 27, 28, 29 }; - const u32 PIPE_SPRITE = 30; - const int PIPE_SPRITE_POS[2] = { 50, 0 }; - - const float MAX_PUMP_RATE = 2.3f; - const float MAX_DRAIN_RATE = 2.3f; - float currentPumpRate = 0.0f; - float targetPumpRate = 0.0f; - float currentDrainRate = 0.0f; - float targetDrainRate = 0.0f; - - const float MAX_LEVEL = 9.0f; - const float TARGET_LEVEL = 6.5f; - float currentLevel = 0.0f; - - const int TRAY_SPRITE_COUNT = 3; - const int TRAY_SPRITES[3] = { 16, 17, 18 }; - const int FLUID_SPRITES[3] = { 19, 20, 21 }; - bool showingTray = false; - bool showingSwitches = false; - - int selectedSwitch = -1; - - void UpdateTray(); - void UpdateSwitches(volatile int frame, Sound *sound); - -public: - PourMinigame(); - - void Load(); - void Unload(Map* map); - void Update(volatile int frame, uint32 keys, Sound *sound, Map *map); - bool IsComplete(); - MinigameResult GetResult(int framesTaken); -}; - -class CrackMinigame : public Minigame -{ -private: - const int SPRITE_DIMS[2] = { 64, 32 }; - - const u32 CRACK_SPRITE_BASE_ID = 15; - const char CRACK_BACKGROUND_NAME[32] = "bg/crack_minigame"; - const char CRACK_SPRITES_NAME[32] = "sprite/crack"; - const int SPRITE_COUNTS[2] = { SCREEN_WIDTH / SPRITE_DIMS[0], 96 / SPRITE_DIMS[1] }; - const int CRACK_SPRITE_POS[2] = { 0, 40 }; - - bool showingSprites = false; - u32 spriteDamageTable[16][16]; - int spritePositions[16][16][2]; - - void UpdateSprites(volatile int frame, Sound *sound, bool steelHammer); - bool ProcessSprite(volatile int frame, int spriteId, int grid[2], Sound *sound, bool steelHammer); - -public: - CrackMinigame(); - - void Load(); - void Unload(Map* map); - void Update(volatile int frame, uint32 keys, Sound *sound, Map *map); - bool IsComplete(); - MinigameResult GetResult(int framesTaken); +#pragma once + +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "enums.h" +#include "sound.h" +#include "map.h" +#include "save.hpp" +#include "rumble.h" + +void LoadBackground(const char name[]); +void DeleteBackground(const char name[]); + +class Minigame +{ +public: + virtual void Load() = 0; + virtual void Unload(Map* map) = 0; + virtual void Update(volatile int frame, uint32 keys, Sound *sound, Map *map) = 0; + virtual bool IsComplete() = 0; + virtual MinigameResult GetResult(int framesTaken) = 0; + + virtual ~Minigame() {} +}; + +class ValveMinigame : public Minigame +{ +private: + const int VALVE_ROTATION_SPEED = 4; + + const u32 VALVE_SPRITE = 15; + const char VALVE_SPRITE_NAME[32] = "sprite/valve"; + const char VALVE_BACKGROUND_NAME[32] = "bg/valve_minigame"; + + uint32 lastStylusPos[2] = {0, 0}; + + int rotation = 0; + const int TARGET_ROTATION = 2048; + +public: + ValveMinigame(); + + void Load(); + void Unload(Map* map); + void Update(volatile int frame, uint32 keys, Sound *sound, Map *map); + bool IsComplete(); + MinigameResult GetResult(int framesTaken); +}; + +class PestleMinigame : public Minigame +{ +private: + const u32 PESTLE_SPRITE = 15; + const u32 SOLUTE_SPRITES[3] = { 16, 17, 18 }; + const char PESTLE_SPRITES_NAME[32] = "sprite/pestle"; + const char PESTLE_BACKGROUND_NAME[32] = "bg/pestle_minigame"; + int lastSfxPlay = 0; + + const int SOLUTE_MAX_DAMAGE = 12; + int soluteDamage[3] = { 0, 0, 0 }; + u16 solutePos[3][2] = { { 0, 0 }, { 0, 0 }, { 0, 0 } }; + int soluteRot[3] = { 0, 0, 0 }; + + const int SWING_LENGTH = 10; + const u16 VELOCITY_THRESHOLD = 800; + const u16 PESTLE_PROXIMITY = 32; + const int SFX_DURATION = 70; + int pestleRotation = 0; + u16 pestlePos[2] = { 0, 0 }; + u16 lastPestlePos[2] = { 0, 0 }; + int lastVelocityCheckFrame = 0; + u16 velocity = 0; + +public: + PestleMinigame(); + + void Load(); + void Unload(Map* map); + void Update(volatile int frame, uint32 keys, Sound *sound, Map *map); + bool IsComplete(); + MinigameResult GetResult(int framesTaken); +}; + +class MixMinigame : public Minigame +{ +public: +private: + const int PIPE_POS[2] = { -191, -78 }; + const int PIPE_COUNT = 8; + const int HORIZONTAL_PIPE_COUNT = 5; + const u32 PIPE_SPRITES[8] = { 16, 17, 18, 19, 20, 21, 22, 23 }; + + const char PIPE_SPRITES_NAME[32] = "sprite/mixing_pipes"; + const char MIX_BACKGROUND_NAME[32] = "bg/mix_minigame"; + const u32 PIPE_OFFSET = 40; + const int TARGET_PIPE_POS[2] = { 110, 58 }; + const int TARGET_POS_VARIENCE = 2; + bool pipeInPlace = false; + int pipeInPlaceFrames = 0; + + + const u32 CRANK_SPRITES[2] = { 14, 15 }; + const int CRANK_POS[2][2] = { { 10, 55 }, { 125, 90 } }; + int crankRot[2] = { 0, 0 }; + int rotatingCrank = -1; + + int lastStylusPos[2] = {-1, -1}; + +public: + MixMinigame(); + + void Load(); + void Unload(Map* map); + void Update(volatile int frame, uint32 keys, Sound *sound, Map *map); + bool IsComplete(); + MinigameResult GetResult(int framesTaken); +}; + +class PipetteMinigame : public Minigame +{ +private: + const int SPRITE_HEIGHT = 32; + + const u32 PIPETTE_SPRITES = 15; + const char PIPETTE_BACKGROUND_NAME[32] = "bg/pipette_minigame"; + const char PIPETTE_SPRITES_NAME[32] = "sprite/pipette"; + bool showingTubes = false; + + int lastStylusPos[2] = { -1, -1 }; + + const int PIPETTE_SEGMENTS = 3; + const int PIPETTE_SPRITE_IDS[3] = { 15, 16, 17 }; + int pipettePos[2] = { 5, 5 }; + + const u32 DROPLET_SPRITE = 14; + bool showDroplet = false; + bool dropletDropping = false; + bool dropletSplashing = false; + int dropletFrames = 0; + int dropletPos[2] = { 0, 0 }; + int dropletYVel = 0; + const int DROPLET_TARGET_Y_CONTACT = 107; + const int DROPLET_MISS_Y_CONTACT = 157; + int dropletsMissed = 0; + + const int TUBE_COUNT = 3; + const int TUBE_SPRITE_OFFSET = 20; + const int TUBE_SEGMENTS = 4; + const int TUBE_BASE_POS[2] = { 25, 32 }; + const int TUBE_SPACING = 70; + + int tubeProgress[3] = { 0, 0, 0 }; + const int TUBE_THRESHOLD = 8; + int tubeBubbleAnimationFrames[3] = { 0, 0, 0 }; + + void UpdateTubes(volatile int frame); + +public: + PipetteMinigame(); + + void Load(); + void Unload(Map* map); + void Update(volatile int frame, uint32 keys, Sound *sound, Map *map); + bool IsComplete(); + MinigameResult GetResult(int framesTaken); +}; + +class PourMinigame : public Minigame +{ +private: + const int SPRITE_HEIGHT = 32; + + const u32 POUR_SPRITES = 15; + const char POUR_BACKGROUND_NAME[32] = "bg/pour_minigame"; + const char POUR_SPRITES_NAME[32] = "sprite/pour"; + + const u32 PUMP_SWITCH_SPRITE = 22; + const int PUMP_SWITCH_POS[2] = { 195, 11 }; + + const u32 DRAIN_SWITCH_SPRITE = 23; + const int DRAIN_SWITCH_POS[2] = { -7, 60 }; + + const int POURING_FLUID_COUNT = 6; + const u32 POURING_FLUID_SPRITES[6] = { 24, 25, 26, 27, 28, 29 }; + const u32 PIPE_SPRITE = 30; + const int PIPE_SPRITE_POS[2] = { 50, 0 }; + + const float MAX_PUMP_RATE = 2.3f; + const float MAX_DRAIN_RATE = 2.3f; + float currentPumpRate = 0.0f; + float targetPumpRate = 0.0f; + float currentDrainRate = 0.0f; + float targetDrainRate = 0.0f; + + const float MAX_LEVEL = 9.0f; + const float TARGET_LEVEL = 6.5f; + float currentLevel = 0.0f; + + const int TRAY_SPRITE_COUNT = 3; + const int TRAY_SPRITES[3] = { 16, 17, 18 }; + const int FLUID_SPRITES[3] = { 19, 20, 21 }; + bool showingTray = false; + bool showingSwitches = false; + + int selectedSwitch = -1; + + void UpdateTray(); + void UpdateSwitches(volatile int frame, Sound *sound); + +public: + PourMinigame(); + + void Load(); + void Unload(Map* map); + void Update(volatile int frame, uint32 keys, Sound *sound, Map *map); + bool IsComplete(); + MinigameResult GetResult(int framesTaken); +}; + +class CrackMinigame : public Minigame +{ +private: + const int SPRITE_DIMS[2] = { 64, 32 }; + + const u32 CRACK_SPRITE_BASE_ID = 15; + const char CRACK_BACKGROUND_NAME[32] = "bg/crack_minigame"; + const char CRACK_SPRITES_NAME[32] = "sprite/crack"; + const int SPRITE_COUNTS[2] = { SCREEN_WIDTH / SPRITE_DIMS[0], 96 / SPRITE_DIMS[1] }; + const int CRACK_SPRITE_POS[2] = { 0, 40 }; + + bool showingSprites = false; + u32 spriteDamageTable[16][16]; + int spritePositions[16][16][2]; + + void UpdateSprites(volatile int frame, Sound *sound, bool steelHammer); + bool ProcessSprite(volatile int frame, int spriteId, int grid[2], Sound *sound, bool steelHammer); + +public: + CrackMinigame(); + + void Load(); + void Unload(Map* map); + void Update(volatile int frame, uint32 keys, Sound *sound, Map *map); + bool IsComplete(); + MinigameResult GetResult(int framesTaken); }; \ No newline at end of file diff --git a/source/multiplayer.c b/source/multiplayer.c index e15220c..4e0dd5e 100644 --- a/source/multiplayer.c +++ b/source/multiplayer.c @@ -1,781 +1,781 @@ -#include "multiplayer.h" - -// ** Wifi variables **: -int wifiChannel = 10; - -// ** Wifi buffers **: -// Read part -char WIFI_Buffer[1024] = ""; // Wifi buffer is the incoming data from the wifi (DO NOT USE LIKE THIS, please use the "wirelessData" define) -#define wirelessData (WIFI_Buffer + 32) // Define to use the WIFI_Buffer array to avoid wrong values -char Values[1024] = ""; // Store all the values received from the wifi and wainting for treatment -char TempValues[1024] = ""; // Store values that can't be treated yet -int WIFI_ReceivedDataLength = 0; // Size of data received from the wifi - -// Write part -char tempSendBuffer[1024] = ""; // Temp buffer to use when the host need to resend the same data if the wifi is not working correctly - -// ** Room variables **: -Client clients[MAX_CLIENT]; -Client *localClient = &clients[0]; -int hostIndex = EMPTY; // Index of the host in the clients array -bool isHost = false; // Is the Nintendo DS hosting a room? - -// For host -int speakTo = 1; // Index of the speak to speak with -int idCount = 0; // Id of the next client to add -int lastCommunication = 0; // Countdown to check the wifi timeout -char tempMacAddress[13]; // Mac address of the client that is trying to join the room -int timeoutCount = 0; // Store how many times the wifi has failed to communicate with the client - -// For non-host -int joinRoomTimer = WIFI_TIMEOUT; // Timer to limit the time to join a room -bool tryJoinRoom = false; // Is the client trying to join a room -bool skipData; // If true, the client will skip data of the current wifi packet - -// Other variables -const bool MP_MODE = false; -int mpStatus = MP_CLIENT_SEARCHING; - -void joinMultiplayer(bool hostRoom) -{ - nifiInit(); - if (hostRoom) - { - createRoom(); - } - else - { - mpStatus = MP_CLIENT_SEARCHING; - joinRoomTimer = WIFI_TIMEOUT; - tryJoinRoom = true; - resetNifiValues(); - } -} - -void disableMultiplayer() -{ - isHost = false; - joinRoomTimer = WIFI_TIMEOUT; - for (int i = 1; i < MAX_CLIENT; i++) - { - removeClient(&clients[i]); - } - resetNifiValues(); - Wifi_DisableWifi(); - mpStatus = MP_CONNECTION_LOST; -} - -void tickMultiplayer() -{ - if (tryJoinRoom) - { - joinRoomTimer--; - if (joinRoomTimer == 0) // Resend the request each time the timer is ended - { - scanForRoom(); - // Reset the timer - joinRoomTimer = WIFI_TIMEOUT; - } - return; - } - - // Check if the local client has lost the connection with the host - if (localClient->id != EMPTY && !isHost) - { - lastCommunication++; - if (lastCommunication == CLIENT_TIMEOUT) - { - for (int i = 0; i < MAX_CLIENT; i++) - { - removeClient(&clients[i]); - } - mpStatus = MP_CONNECTION_LOST; - } - } - - shareRequest(localClient, TICK_GAME); -} - -/** - * @brief Wifi handler call when data is received - * - * @param packetID - * @param readlength - */ -void WirelessHandler(int packetID, int readlength) -{ - Wifi_RxRawReadPacket(packetID, readlength, (unsigned short *)WIFI_Buffer); - - // Get the correct data length - WIFI_ReceivedDataLength = readlength - 32; - - // Treatment of the data - treatData(); -} - -/** - * @brief Send data to clients - * - * @param buffer - * @param length - */ -void SendWirelessData(unsigned short *buffer, int length) -{ - if (Wifi_RawTxFrame(length, 0x0014, buffer) != 0) - { - printf("Error calling RawTxFrame\n"); - } -} - -/** - * @brief Reset variable used by the the Wifi to avoid wrong values when reconnecting - * - */ -void resetNifiValues() -{ - // Reset clients data - for (int i = 0; i < MAX_CLIENT; i++) - { - resetClientValues(&clients[i]); - } - // Reset buffers - WIFI_Buffer[0] = '\0'; - Values[0] = '\0'; - TempValues[0] = '\0'; - tempSendBuffer[0] = '\0'; - // Reset variables - lastCommunication = 0; - hostIndex = EMPTY; - WIFI_ReceivedDataLength = 0; -} - -/** - * @brief Prepare the Nifi system - */ -void nifiPrepare() -{ - // Changes how packets are handled - Wifi_SetRawPacketMode(PACKET_MODE_NIFI); - - // Init Wifi without automatic settings - Wifi_InitDefault(false); -} - -/** - * @brief Init the Nifi system - * - */ -void nifiInit() -{ - resetNifiValues(); - - // Enable Wifi - Wifi_EnableWifi(); - - // Configure custom packet handler for when - Wifi_RawSetPacketHandler(WirelessHandler); - - // Force specific channel for communication - Wifi_SetChannel(wifiChannel); - - // Get MAC address of the Nintendo DS - u8 macAddressUnsigned[6]; - Wifi_GetData(WIFIGETDATA_MACADDRESS, 6, macAddressUnsigned); - // Convert unsigned values to hexa values - sprintf(localClient->macAddress, "%02X%02X%02X%02X%02X%02X", macAddressUnsigned[0], macAddressUnsigned[1], macAddressUnsigned[2], macAddressUnsigned[3], macAddressUnsigned[4], macAddressUnsigned[5]); -} - -/* - * Treat data from the wifi module - */ -void treatData() -{ - // Get data lenght - int recvd_len = strlen(wirelessData); - - // printf("%s\n", wirelessData); - - // Check if the packet is valid - if (WIFI_ReceivedDataLength == recvd_len + 1) - { - // Add the wifi buffer to the data buffer - strcat(Values, wirelessData); - - int StartPosition, EndPosition; - // Get data of the packet - while ((StartPosition = strstr(Values, "{") - Values + 1) > 0 && (EndPosition = strstr(Values + StartPosition, "}") - Values) > 0) - { - char currentPacket[MAX_REQUEST_LENGTH] = ""; - strncpy(currentPacket, Values + StartPosition, EndPosition - StartPosition); - - // Start spliting incoming data - char *ptr = strtok(currentPacket, ";"); - int SplitCount = 0; - char params[MAX_REQUEST_PARAM_COUNT][MAX_REQUEST_PARAM_LENGTH] = {0}; - - while (ptr != NULL) - { - strcpy(params[SplitCount], ptr); - SplitCount++; - ptr = strtok(NULL, ";"); - - if (MP_MODE) - { - NF_WriteText(1, 0, 1, 4 + SplitCount, ptr); - } - } - - if (strcmp(params[REQUEST_TYPE_INDEX], "GAME") == 0 && !skipData) // Check if the request is about game management (refuse the request if the request was already treated) - { - if (strcmp(params[REQUEST_NAME_INDEX], "TICK_GAME") == 0) // A client is sending a tick - { - // printf("%s\n", wirelessData); - int clientId, destinatorId; - // Get the client destinator id - sscanf(params[3], "%d", &destinatorId); - - // If the local client is in a party and the destinator id is the same as the local client id - if (destinatorId == localClient->id && localClient->id != EMPTY) - { - // Get the if of the client that sent the request - sscanf(params[2], "%d", &clientId); - - Client *client = getClientById(clientId); - if (client != NULL) - { - // Get the value - sscanf(params[4], "%d", &client->playerTargetX); - sscanf(params[5], "%d", &client->playerTargetZ); - sscanf(params[6], "%d", &client->playerTileX); - sscanf(params[7], "%d", &client->playerTileZ); - sscanf(params[8], "%d", &client->playerFacing); - sscanf(params[9], "%d", &client->timeLeft); - sscanf(params[10], "%d", &client->currentBatchStep); - sscanf(params[11], "%d", &client->batchesComplete); - - shareRequest(client, TICK_GAME); - } - } - } - } - else if (strcmp(params[REQUEST_TYPE_INDEX], "ROOM") == 0) // Check if the request is about room management - { - if (isHost) // These request are for the host client - { - if (strcmp(params[REQUEST_NAME_INDEX], "SCAN") == 0) // A client is searching for a room - { - printf("%s SEARCH FOR ROOM\n", params[2]); - - // Get the mac address of the client - sprintf(tempMacAddress, params[2]); - addClient(EMPTY, false); - mpStatus = MP_HOST_READY; - } - else if (strcmp(params[REQUEST_NAME_INDEX], "CONFIRM_LISTEN") == 0) // If the client has received host's data - { - // Get the id of the client that has received the data - int clientId; - sscanf(params[2], "%d", &clientId); - - // If the id of the client is the same as the id of current treated client - if (clientId == clients[speakTo].id) - { - communicateWithNextClient(); - } - } - } - else // These request are for non-host clients - { - if (strcmp(params[REQUEST_NAME_INDEX], "CONFIRM_JOIN") == 0) // The host said that the local client can join the room - { - // Check if the mac address of the local client is the same as the one of the client that wants to join the room - if (strcmp(params[2], localClient->macAddress) == 0 && localClient->id == EMPTY) - { - // Get the host id - int hostId; - sscanf(params[3], "%d", &hostId); - // Set local player id - sscanf(params[4], "%d", &localClient->id); - addClient(hostId, true); - mpStatus = MP_CLIENT_READY; - printf("JOINED %d'S ROOM, YOUR ID: %d\n", hostId, localClient->id); - tryJoinRoom = false; - } - } - else if (strcmp(params[REQUEST_NAME_INDEX], "WANTSPEAK") == 0) // The host asked for communication - { - int clientId; - sscanf(params[2], "%d", &clientId); - // If the host wants to communicate with the local client - - if (localClient->id == clientId) - { - lastCommunication = 0; - int messageId; - sscanf(params[3], "%d", &messageId); - - // If the request wasn't read yet - if (localClient->lastMessageId < messageId) - { - // Clear temp buffer - strcpy(tempSendBuffer, ""); - skipData = false; - localClient->lastMessageId = messageId; - } - else // If the request was already read - { - // Skip the request data - skipData = true; - } - - SendDataTo(&clients[hostIndex]); - } - } - else if (strcmp(params[REQUEST_NAME_INDEX], "ADDCLIENTS") == 0) // Add multiples non local players - { - int destinatorId; - sscanf(params[2], "%d", &destinatorId); - if (destinatorId == localClient->id) - { - for (int i = 3; i < SplitCount; i++) - { - int FoundId = EMPTY; - sscanf(params[i], "%d", &FoundId); - addClient(FoundId, false); - mpStatus = MP_CLIENT_READY; - } - } - } - } - //////// Next conditions are for the host and non-host clients - - if (strcmp(params[REQUEST_NAME_INDEX], "QUIT") == 0 && !skipData) // A client quit the party - { - int clientId; - sscanf(params[2], "%d", &clientId); - int destinatorId; - sscanf(params[3], "%d", &destinatorId); - - if (localClient->id == destinatorId) - { - Client *client = getClientById(clientId); - if (client != NULL) - { - removeClient(client); - printf("%d HAS LEFT THE ROOM\n", clientId); - mpStatus = MP_CONNECTION_LOST; - } - } - } - } - - // Clear "TempValues" - for (int i = 0; i < sizeof(TempValues); i++) - TempValues[i] = '\0'; - - // Add all characters after current data packet to "TempValues" - strcat(TempValues, Values + EndPosition + 1); - // Copy "TempValues" to "Values" - strcpy(Values, TempValues); - } - } -} - -/** - * @brief Share a request to clients - * - * @param clientSender - * @param requestType - */ -void shareRequest(Client *clientSender, enum RequestType requestType) -{ - // If the local client is the host - if (isHost) - { - // Send the data to all clients - for (int clientIndex = 1; clientIndex < MAX_CLIENT; clientIndex++) - { - Client *clientToUpdate = &clients[clientIndex]; - // Avoid sending the request to the current treated client - if (clientSender->id != clientToUpdate->id && clientToUpdate->id != EMPTY) - { - createRequest(clientSender, clientToUpdate, requestType); - } - } - } - else if (clientSender == localClient) // Share the request to the host only - { - Client *clientToUpdate = &clients[hostIndex]; - createRequest(clientSender, clientToUpdate, requestType); - } -} - -/** - * @brief Create a request and add it to the client to update's send buffer - * - * @param clientSender Client pointer to get data from - * @param clientToUpdate Client pointer to send data to - * @param requestType Request type (See RequestType enum in main.h) - */ -void createRequest(Client *clientSender, Client *clientToUpdate, enum RequestType requestType) -{ - // (Increase the buffer size if needed) - char buffer[255] = ""; - switch (requestType) - { - case TICK_GAME: - sprintf(buffer, "{GAME;TICK_GAME;%d;%d;%d;%d;%d;%d;%d;%d;%d;%d}", clientSender->id, clientToUpdate->id, - clientSender->playerTargetX, clientSender->playerTargetZ, - clientSender->playerTileX, clientSender->playerTileZ, - clientSender->playerFacing, clientSender->timeLeft, - clientSender->currentBatchStep, clientSender->batchesComplete); - break; - } - - if (MP_MODE) - { - NF_WriteText(1, 0, 1, 2, buffer); - } - - AddDataTo(clientToUpdate, buffer); -} - -/** - * @brief Get the Client By Id (doens't return the local player) - * - * @param clientId - * @return Client* - */ -Client *getClientById(int clientId) -{ - for (int i = 1; i < MAX_CLIENT; i++) - { - if (clients[i].id == clientId) - { - return &clients[i]; - } - } - return NULL; -} - -/** - * @brief Create a room - * - */ -void createRoom() -{ - // Is the client is not already a host - if (!isHost) - { - resetNifiValues(); - - // Create a room - isHost = true; - idCount = 0; - localClient->id = idCount; - mpStatus = MP_HOST_SEARCHING; - timerStart(0, ClockDivider_1024, TIMER_FREQ_1024(WIFI_RATE), managerServer); - } -} - -/** - * @brief Remove a client - * - * @param client Client pointer to remove - */ -void removeClient(Client *client) -{ - if (client->id != EMPTY) - { - if (isHost) - { - for (int i = 1; i < MAX_CLIENT; i++) - { - // Send a request to all clients to remove the client from all other clients (the removed client is not called) - if (&clients[i] != client && clients[i].id != EMPTY) - { - char buffer[18]; - sprintf(buffer, "{ROOM;QUIT;%d;%d}", client->id, clients[i].id); - AddDataTo(&clients[i], buffer); - } - } - } - } - resetClientValues(client); -} - -/** - * @brief Reset client values - * - * @param client Client pointer to reset - */ -void resetClientValues(Client *client) -{ - client->id = EMPTY; - if (client != localClient) - { - strcpy(client->macAddress, ""); - client->playerTargetX = client->playerTileX = isHost ? 3 : 4; - } - else - { - skipData = false; - client->playerTargetX = client->playerTileX = !isHost ? 3 : 4; - } - strcpy(client->sendBuffer, ""); - client->lastMessageId = 0; - client->playerTargetZ = client->playerTileZ = 1; - client->batchesComplete = client->currentBatchStep = 0; - client->playerFacing = 1; - client->timeLeft = EMPTY; -} - -/** - * @brief Add a client - * - * @param id Client's id (not used by the room owner, set to -1/EMPTY) - * @param addHost Are we adding the host? - */ -void addClient(int id, bool addHost) -{ - bool macAlreadyExists = false; - bool idAlreadyExists = false; - if (isHost) // If the local client is the host - { - // Check if the client to add is already in the room (same mac address), because the client is maybe trying to join the room multiple times if the wifi is not working properly - for (int i = 1; i < MAX_CLIENT; i++) - { - if (strcmp(tempMacAddress, clients[i].macAddress) == 0) - { - macAlreadyExists = true; - break; - } - } - } - else - { - // Check if the client to add is already in the room (same id) - for (int i = 1; i < MAX_CLIENT; i++) - { - if (clients[i].id == id) - { - idAlreadyExists = true; - break; - } - } - } - - // If the client to add is not already in the room - if (!macAlreadyExists && !idAlreadyExists) - { - int addedClientIndex = EMPTY; - // Try to find a free client slot - for (int i = 1; i < MAX_CLIENT; i++) - { - if (clients[i].id == EMPTY) - { - if (isHost) - { - // Set client id - idCount++; - clients[i].id = idCount; - // Set client mac address - sprintf(clients[i].macAddress, tempMacAddress); - printf("ADDED AT %d, ID : %d\n", i, idCount); - } - else - { - printf("CLIENT ADDED : %d\n", id); - // Apply id - clients[i].id = id; - } - - // Store the host index - if (addHost) - { - hostIndex = i; - } - addedClientIndex = i; - break; - } - } - - // If the client is added by the host - if (addedClientIndex != EMPTY && isHost) - { - // Send the client his id - char newClientBuffer[100]; - sprintf(newClientBuffer, "{ROOM;CONFIRM_JOIN;%s;%d;%d}", tempMacAddress, localClient->id, clients[addedClientIndex].id); - // Send the client all the other clients ids - sprintf(newClientBuffer + strlen(newClientBuffer), "{ROOM;ADDCLIENTS;%d", clients[addedClientIndex].id); - // Send the client id to all the other clients - for (int i = 1; i < MAX_CLIENT; i++) - { - if (clients[i].id != EMPTY && i != addedClientIndex) - { - // Send the client all the other clients ids - sprintf(newClientBuffer + strlen(newClientBuffer), ";%d", clients[i].id); - // Send the client id to all the other clients - char bufferForOtherClients[24]; - sprintf(bufferForOtherClients, "{ROOM;ADDCLIENTS;%d;%d}", clients[i].id, clients[addedClientIndex].id); - AddDataTo(&clients[i], bufferForOtherClients); - } - } - sprintf(newClientBuffer + strlen(newClientBuffer), "}"); - AddDataTo(&clients[addedClientIndex], newClientBuffer); - } - } -} - -/** - * @brief Scan for a room - * - */ -void scanForRoom() -{ - isHost = false; - - char buffer[25]; - sprintf(buffer, "{ROOM;SCAN;%s}", localClient->macAddress); - SendWirelessData((unsigned short *)buffer, strlen(buffer) + 1); -} - -/** - * @brief Select the next client to communicate with - * - */ -void communicateWithNextClient() -{ - // Reset values - timeoutCount = 0; - lastCommunication = 0; - - // Change client to communicate with - speakTo++; - if (speakTo == MAX_CLIENT) // Go back to the beginning of the list - speakTo = 1; - - if (clients[speakTo].id != EMPTY) - { - // AddDataTo(&clients[speakTo], "{}"); // TO REMOVE FIX : Data can't be sent if the buffer is empty - SendDataTo(&clients[speakTo]); - } - else - { - lastCommunication = WIFI_TIMEOUT - 1; - } -} - -/** - * @brief Manage client's communication order and timeout - * - */ -void managerServer() -{ - // Only the host can manage the server - if (isHost) - { - // Increase the time to check timeout - lastCommunication++; - if (lastCommunication == WIFI_TIMEOUT) - { - // If the clients is in the party (id not empty) - if (clients[speakTo].id != EMPTY) - { - // If the timeout max count isn't reached, retry communication - if (timeoutCount <= MAX_TIMEOUT_RETRY) - { - timeoutCount++; - lastCommunication = 0; - - SendDataTo(&clients[speakTo]); - } - else - { - // Remove the client - removeClient(&clients[speakTo]); - communicateWithNextClient(); - } - } - else - { - communicateWithNextClient(); - } - } - } -} - -/** - * @brief Add data in the client's send buffer to send it to the client - * - * @param client client to add data to - * @param data data to add - */ -void AddDataTo(Client *client, const char *data) -{ - if (client != NULL && client->id != EMPTY && strlen(data) != 0) - { - sprintf(client->sendBuffer + strlen(client->sendBuffer), "%s", data); - } -} - -/** - * @brief Send data to a client with Nifi - * - * @param client client to send data to - */ -void SendDataTo(Client *client) -{ - // If the buffer is not empty, copy the buffer to a new one and clear the buffer - if (timeoutCount == 0) - { - if (isHost) - { - client->lastMessageId++; - - // Ask to client to communicate - sprintf(tempSendBuffer, "{ROOM;WANTSPEAK;%d;%d}", client->id, client->lastMessageId); - } - else - { - // Tell the host that the local client has received the message - sprintf(tempSendBuffer, "{ROOM;CONFIRM_LISTEN;%d}", localClient->id); - } - - sprintf(tempSendBuffer + strlen(tempSendBuffer), "%s", client->sendBuffer); - - // Clear the client's send buffer - strcpy(client->sendBuffer, ""); - } - - // Send data - SendWirelessData((unsigned short *)tempSendBuffer, strlen(tempSendBuffer) + 1); -} - -int getMultiplayerStatus() -{ - return mpStatus; -} - -Client *getOpponent() -{ - for (int i = 1; i < MAX_CLIENT; i++) - { - if (clients[i].id != EMPTY) - { - return &clients[i]; - } - } - mpStatus = MP_CONNECTION_LOST; - return NULL; -} - -Client *getLocalClient() -{ - return localClient; -} - -bool isHostClient() -{ - return isHost; +#include "multiplayer.h" + +// ** Wifi variables **: +int wifiChannel = 10; + +// ** Wifi buffers **: +// Read part +char WIFI_Buffer[1024] = ""; // Wifi buffer is the incoming data from the wifi (DO NOT USE LIKE THIS, please use the "wirelessData" define) +#define wirelessData (WIFI_Buffer + 32) // Define to use the WIFI_Buffer array to avoid wrong values +char Values[1024] = ""; // Store all the values received from the wifi and wainting for treatment +char TempValues[1024] = ""; // Store values that can't be treated yet +int WIFI_ReceivedDataLength = 0; // Size of data received from the wifi + +// Write part +char tempSendBuffer[1024] = ""; // Temp buffer to use when the host need to resend the same data if the wifi is not working correctly + +// ** Room variables **: +Client clients[MAX_CLIENT]; +Client *localClient = &clients[0]; +int hostIndex = EMPTY; // Index of the host in the clients array +bool isHost = false; // Is the Nintendo DS hosting a room? + +// For host +int speakTo = 1; // Index of the speak to speak with +int idCount = 0; // Id of the next client to add +int lastCommunication = 0; // Countdown to check the wifi timeout +char tempMacAddress[13]; // Mac address of the client that is trying to join the room +int timeoutCount = 0; // Store how many times the wifi has failed to communicate with the client + +// For non-host +int joinRoomTimer = WIFI_TIMEOUT; // Timer to limit the time to join a room +bool tryJoinRoom = false; // Is the client trying to join a room +bool skipData; // If true, the client will skip data of the current wifi packet + +// Other variables +const bool MP_MODE = false; +int mpStatus = MP_CLIENT_SEARCHING; + +void joinMultiplayer(bool hostRoom) +{ + nifiInit(); + if (hostRoom) + { + createRoom(); + } + else + { + mpStatus = MP_CLIENT_SEARCHING; + joinRoomTimer = WIFI_TIMEOUT; + tryJoinRoom = true; + resetNifiValues(); + } +} + +void disableMultiplayer() +{ + isHost = false; + joinRoomTimer = WIFI_TIMEOUT; + for (int i = 1; i < MAX_CLIENT; i++) + { + removeClient(&clients[i]); + } + resetNifiValues(); + Wifi_DisableWifi(); + mpStatus = MP_CONNECTION_LOST; +} + +void tickMultiplayer() +{ + if (tryJoinRoom) + { + joinRoomTimer--; + if (joinRoomTimer == 0) // Resend the request each time the timer is ended + { + scanForRoom(); + // Reset the timer + joinRoomTimer = WIFI_TIMEOUT; + } + return; + } + + // Check if the local client has lost the connection with the host + if (localClient->id != EMPTY && !isHost) + { + lastCommunication++; + if (lastCommunication == CLIENT_TIMEOUT) + { + for (int i = 0; i < MAX_CLIENT; i++) + { + removeClient(&clients[i]); + } + mpStatus = MP_CONNECTION_LOST; + } + } + + shareRequest(localClient, TICK_GAME); +} + +/** + * @brief Wifi handler call when data is received + * + * @param packetID + * @param readlength + */ +void WirelessHandler(int packetID, int readlength) +{ + Wifi_RxRawReadPacket(packetID, readlength, (unsigned short *)WIFI_Buffer); + + // Get the correct data length + WIFI_ReceivedDataLength = readlength - 32; + + // Treatment of the data + treatData(); +} + +/** + * @brief Send data to clients + * + * @param buffer + * @param length + */ +void SendWirelessData(unsigned short *buffer, int length) +{ + if (Wifi_RawTxFrame(length, 0x0014, buffer) != 0) + { + printf("Error calling RawTxFrame\n"); + } +} + +/** + * @brief Reset variable used by the the Wifi to avoid wrong values when reconnecting + * + */ +void resetNifiValues() +{ + // Reset clients data + for (int i = 0; i < MAX_CLIENT; i++) + { + resetClientValues(&clients[i]); + } + // Reset buffers + WIFI_Buffer[0] = '\0'; + Values[0] = '\0'; + TempValues[0] = '\0'; + tempSendBuffer[0] = '\0'; + // Reset variables + lastCommunication = 0; + hostIndex = EMPTY; + WIFI_ReceivedDataLength = 0; +} + +/** + * @brief Prepare the Nifi system + */ +void nifiPrepare() +{ + // Changes how packets are handled + Wifi_SetRawPacketMode(PACKET_MODE_NIFI); + + // Init Wifi without automatic settings + Wifi_InitDefault(false); +} + +/** + * @brief Init the Nifi system + * + */ +void nifiInit() +{ + resetNifiValues(); + + // Enable Wifi + Wifi_EnableWifi(); + + // Configure custom packet handler for when + Wifi_RawSetPacketHandler(WirelessHandler); + + // Force specific channel for communication + Wifi_SetChannel(wifiChannel); + + // Get MAC address of the Nintendo DS + u8 macAddressUnsigned[6]; + Wifi_GetData(WIFIGETDATA_MACADDRESS, 6, macAddressUnsigned); + // Convert unsigned values to hexa values + sprintf(localClient->macAddress, "%02X%02X%02X%02X%02X%02X", macAddressUnsigned[0], macAddressUnsigned[1], macAddressUnsigned[2], macAddressUnsigned[3], macAddressUnsigned[4], macAddressUnsigned[5]); +} + +/* + * Treat data from the wifi module + */ +void treatData() +{ + // Get data lenght + int recvd_len = strlen(wirelessData); + + // printf("%s\n", wirelessData); + + // Check if the packet is valid + if (WIFI_ReceivedDataLength == recvd_len + 1) + { + // Add the wifi buffer to the data buffer + strcat(Values, wirelessData); + + int StartPosition, EndPosition; + // Get data of the packet + while ((StartPosition = strstr(Values, "{") - Values + 1) > 0 && (EndPosition = strstr(Values + StartPosition, "}") - Values) > 0) + { + char currentPacket[MAX_REQUEST_LENGTH] = ""; + strncpy(currentPacket, Values + StartPosition, EndPosition - StartPosition); + + // Start spliting incoming data + char *ptr = strtok(currentPacket, ";"); + int SplitCount = 0; + char params[MAX_REQUEST_PARAM_COUNT][MAX_REQUEST_PARAM_LENGTH] = {0}; + + while (ptr != NULL) + { + strcpy(params[SplitCount], ptr); + SplitCount++; + ptr = strtok(NULL, ";"); + + if (MP_MODE) + { + NF_WriteText(1, 0, 1, 4 + SplitCount, ptr); + } + } + + if (strcmp(params[REQUEST_TYPE_INDEX], "GAME") == 0 && !skipData) // Check if the request is about game management (refuse the request if the request was already treated) + { + if (strcmp(params[REQUEST_NAME_INDEX], "TICK_GAME") == 0) // A client is sending a tick + { + // printf("%s\n", wirelessData); + int clientId, destinatorId; + // Get the client destinator id + sscanf(params[3], "%d", &destinatorId); + + // If the local client is in a party and the destinator id is the same as the local client id + if (destinatorId == localClient->id && localClient->id != EMPTY) + { + // Get the if of the client that sent the request + sscanf(params[2], "%d", &clientId); + + Client *client = getClientById(clientId); + if (client != NULL) + { + // Get the value + sscanf(params[4], "%d", &client->playerTargetX); + sscanf(params[5], "%d", &client->playerTargetZ); + sscanf(params[6], "%d", &client->playerTileX); + sscanf(params[7], "%d", &client->playerTileZ); + sscanf(params[8], "%d", &client->playerFacing); + sscanf(params[9], "%d", &client->timeLeft); + sscanf(params[10], "%d", &client->currentBatchStep); + sscanf(params[11], "%d", &client->batchesComplete); + + shareRequest(client, TICK_GAME); + } + } + } + } + else if (strcmp(params[REQUEST_TYPE_INDEX], "ROOM") == 0) // Check if the request is about room management + { + if (isHost) // These request are for the host client + { + if (strcmp(params[REQUEST_NAME_INDEX], "SCAN") == 0) // A client is searching for a room + { + printf("%s SEARCH FOR ROOM\n", params[2]); + + // Get the mac address of the client + sprintf(tempMacAddress, params[2]); + addClient(EMPTY, false); + mpStatus = MP_HOST_READY; + } + else if (strcmp(params[REQUEST_NAME_INDEX], "CONFIRM_LISTEN") == 0) // If the client has received host's data + { + // Get the id of the client that has received the data + int clientId; + sscanf(params[2], "%d", &clientId); + + // If the id of the client is the same as the id of current treated client + if (clientId == clients[speakTo].id) + { + communicateWithNextClient(); + } + } + } + else // These request are for non-host clients + { + if (strcmp(params[REQUEST_NAME_INDEX], "CONFIRM_JOIN") == 0) // The host said that the local client can join the room + { + // Check if the mac address of the local client is the same as the one of the client that wants to join the room + if (strcmp(params[2], localClient->macAddress) == 0 && localClient->id == EMPTY) + { + // Get the host id + int hostId; + sscanf(params[3], "%d", &hostId); + // Set local player id + sscanf(params[4], "%d", &localClient->id); + addClient(hostId, true); + mpStatus = MP_CLIENT_READY; + printf("JOINED %d'S ROOM, YOUR ID: %d\n", hostId, localClient->id); + tryJoinRoom = false; + } + } + else if (strcmp(params[REQUEST_NAME_INDEX], "WANTSPEAK") == 0) // The host asked for communication + { + int clientId; + sscanf(params[2], "%d", &clientId); + // If the host wants to communicate with the local client + + if (localClient->id == clientId) + { + lastCommunication = 0; + int messageId; + sscanf(params[3], "%d", &messageId); + + // If the request wasn't read yet + if (localClient->lastMessageId < messageId) + { + // Clear temp buffer + strcpy(tempSendBuffer, ""); + skipData = false; + localClient->lastMessageId = messageId; + } + else // If the request was already read + { + // Skip the request data + skipData = true; + } + + SendDataTo(&clients[hostIndex]); + } + } + else if (strcmp(params[REQUEST_NAME_INDEX], "ADDCLIENTS") == 0) // Add multiples non local players + { + int destinatorId; + sscanf(params[2], "%d", &destinatorId); + if (destinatorId == localClient->id) + { + for (int i = 3; i < SplitCount; i++) + { + int FoundId = EMPTY; + sscanf(params[i], "%d", &FoundId); + addClient(FoundId, false); + mpStatus = MP_CLIENT_READY; + } + } + } + } + //////// Next conditions are for the host and non-host clients + + if (strcmp(params[REQUEST_NAME_INDEX], "QUIT") == 0 && !skipData) // A client quit the party + { + int clientId; + sscanf(params[2], "%d", &clientId); + int destinatorId; + sscanf(params[3], "%d", &destinatorId); + + if (localClient->id == destinatorId) + { + Client *client = getClientById(clientId); + if (client != NULL) + { + removeClient(client); + printf("%d HAS LEFT THE ROOM\n", clientId); + mpStatus = MP_CONNECTION_LOST; + } + } + } + } + + // Clear "TempValues" + for (int i = 0; i < sizeof(TempValues); i++) + TempValues[i] = '\0'; + + // Add all characters after current data packet to "TempValues" + strcat(TempValues, Values + EndPosition + 1); + // Copy "TempValues" to "Values" + strcpy(Values, TempValues); + } + } +} + +/** + * @brief Share a request to clients + * + * @param clientSender + * @param requestType + */ +void shareRequest(Client *clientSender, enum RequestType requestType) +{ + // If the local client is the host + if (isHost) + { + // Send the data to all clients + for (int clientIndex = 1; clientIndex < MAX_CLIENT; clientIndex++) + { + Client *clientToUpdate = &clients[clientIndex]; + // Avoid sending the request to the current treated client + if (clientSender->id != clientToUpdate->id && clientToUpdate->id != EMPTY) + { + createRequest(clientSender, clientToUpdate, requestType); + } + } + } + else if (clientSender == localClient) // Share the request to the host only + { + Client *clientToUpdate = &clients[hostIndex]; + createRequest(clientSender, clientToUpdate, requestType); + } +} + +/** + * @brief Create a request and add it to the client to update's send buffer + * + * @param clientSender Client pointer to get data from + * @param clientToUpdate Client pointer to send data to + * @param requestType Request type (See RequestType enum in main.h) + */ +void createRequest(Client *clientSender, Client *clientToUpdate, enum RequestType requestType) +{ + // (Increase the buffer size if needed) + char buffer[255] = ""; + switch (requestType) + { + case TICK_GAME: + sprintf(buffer, "{GAME;TICK_GAME;%d;%d;%d;%d;%d;%d;%d;%d;%d;%d}", clientSender->id, clientToUpdate->id, + clientSender->playerTargetX, clientSender->playerTargetZ, + clientSender->playerTileX, clientSender->playerTileZ, + clientSender->playerFacing, clientSender->timeLeft, + clientSender->currentBatchStep, clientSender->batchesComplete); + break; + } + + if (MP_MODE) + { + NF_WriteText(1, 0, 1, 2, buffer); + } + + AddDataTo(clientToUpdate, buffer); +} + +/** + * @brief Get the Client By Id (doens't return the local player) + * + * @param clientId + * @return Client* + */ +Client *getClientById(int clientId) +{ + for (int i = 1; i < MAX_CLIENT; i++) + { + if (clients[i].id == clientId) + { + return &clients[i]; + } + } + return NULL; +} + +/** + * @brief Create a room + * + */ +void createRoom() +{ + // Is the client is not already a host + if (!isHost) + { + resetNifiValues(); + + // Create a room + isHost = true; + idCount = 0; + localClient->id = idCount; + mpStatus = MP_HOST_SEARCHING; + timerStart(0, ClockDivider_1024, TIMER_FREQ_1024(WIFI_RATE), managerServer); + } +} + +/** + * @brief Remove a client + * + * @param client Client pointer to remove + */ +void removeClient(Client *client) +{ + if (client->id != EMPTY) + { + if (isHost) + { + for (int i = 1; i < MAX_CLIENT; i++) + { + // Send a request to all clients to remove the client from all other clients (the removed client is not called) + if (&clients[i] != client && clients[i].id != EMPTY) + { + char buffer[18]; + sprintf(buffer, "{ROOM;QUIT;%d;%d}", client->id, clients[i].id); + AddDataTo(&clients[i], buffer); + } + } + } + } + resetClientValues(client); +} + +/** + * @brief Reset client values + * + * @param client Client pointer to reset + */ +void resetClientValues(Client *client) +{ + client->id = EMPTY; + if (client != localClient) + { + strcpy(client->macAddress, ""); + client->playerTargetX = client->playerTileX = isHost ? 3 : 4; + } + else + { + skipData = false; + client->playerTargetX = client->playerTileX = !isHost ? 3 : 4; + } + strcpy(client->sendBuffer, ""); + client->lastMessageId = 0; + client->playerTargetZ = client->playerTileZ = 1; + client->batchesComplete = client->currentBatchStep = 0; + client->playerFacing = 1; + client->timeLeft = EMPTY; +} + +/** + * @brief Add a client + * + * @param id Client's id (not used by the room owner, set to -1/EMPTY) + * @param addHost Are we adding the host? + */ +void addClient(int id, bool addHost) +{ + bool macAlreadyExists = false; + bool idAlreadyExists = false; + if (isHost) // If the local client is the host + { + // Check if the client to add is already in the room (same mac address), because the client is maybe trying to join the room multiple times if the wifi is not working properly + for (int i = 1; i < MAX_CLIENT; i++) + { + if (strcmp(tempMacAddress, clients[i].macAddress) == 0) + { + macAlreadyExists = true; + break; + } + } + } + else + { + // Check if the client to add is already in the room (same id) + for (int i = 1; i < MAX_CLIENT; i++) + { + if (clients[i].id == id) + { + idAlreadyExists = true; + break; + } + } + } + + // If the client to add is not already in the room + if (!macAlreadyExists && !idAlreadyExists) + { + int addedClientIndex = EMPTY; + // Try to find a free client slot + for (int i = 1; i < MAX_CLIENT; i++) + { + if (clients[i].id == EMPTY) + { + if (isHost) + { + // Set client id + idCount++; + clients[i].id = idCount; + // Set client mac address + sprintf(clients[i].macAddress, tempMacAddress); + printf("ADDED AT %d, ID : %d\n", i, idCount); + } + else + { + printf("CLIENT ADDED : %d\n", id); + // Apply id + clients[i].id = id; + } + + // Store the host index + if (addHost) + { + hostIndex = i; + } + addedClientIndex = i; + break; + } + } + + // If the client is added by the host + if (addedClientIndex != EMPTY && isHost) + { + // Send the client his id + char newClientBuffer[100]; + sprintf(newClientBuffer, "{ROOM;CONFIRM_JOIN;%s;%d;%d}", tempMacAddress, localClient->id, clients[addedClientIndex].id); + // Send the client all the other clients ids + sprintf(newClientBuffer + strlen(newClientBuffer), "{ROOM;ADDCLIENTS;%d", clients[addedClientIndex].id); + // Send the client id to all the other clients + for (int i = 1; i < MAX_CLIENT; i++) + { + if (clients[i].id != EMPTY && i != addedClientIndex) + { + // Send the client all the other clients ids + sprintf(newClientBuffer + strlen(newClientBuffer), ";%d", clients[i].id); + // Send the client id to all the other clients + char bufferForOtherClients[24]; + sprintf(bufferForOtherClients, "{ROOM;ADDCLIENTS;%d;%d}", clients[i].id, clients[addedClientIndex].id); + AddDataTo(&clients[i], bufferForOtherClients); + } + } + sprintf(newClientBuffer + strlen(newClientBuffer), "}"); + AddDataTo(&clients[addedClientIndex], newClientBuffer); + } + } +} + +/** + * @brief Scan for a room + * + */ +void scanForRoom() +{ + isHost = false; + + char buffer[25]; + sprintf(buffer, "{ROOM;SCAN;%s}", localClient->macAddress); + SendWirelessData((unsigned short *)buffer, strlen(buffer) + 1); +} + +/** + * @brief Select the next client to communicate with + * + */ +void communicateWithNextClient() +{ + // Reset values + timeoutCount = 0; + lastCommunication = 0; + + // Change client to communicate with + speakTo++; + if (speakTo == MAX_CLIENT) // Go back to the beginning of the list + speakTo = 1; + + if (clients[speakTo].id != EMPTY) + { + // AddDataTo(&clients[speakTo], "{}"); // TO REMOVE FIX : Data can't be sent if the buffer is empty + SendDataTo(&clients[speakTo]); + } + else + { + lastCommunication = WIFI_TIMEOUT - 1; + } +} + +/** + * @brief Manage client's communication order and timeout + * + */ +void managerServer() +{ + // Only the host can manage the server + if (isHost) + { + // Increase the time to check timeout + lastCommunication++; + if (lastCommunication == WIFI_TIMEOUT) + { + // If the clients is in the party (id not empty) + if (clients[speakTo].id != EMPTY) + { + // If the timeout max count isn't reached, retry communication + if (timeoutCount <= MAX_TIMEOUT_RETRY) + { + timeoutCount++; + lastCommunication = 0; + + SendDataTo(&clients[speakTo]); + } + else + { + // Remove the client + removeClient(&clients[speakTo]); + communicateWithNextClient(); + } + } + else + { + communicateWithNextClient(); + } + } + } +} + +/** + * @brief Add data in the client's send buffer to send it to the client + * + * @param client client to add data to + * @param data data to add + */ +void AddDataTo(Client *client, const char *data) +{ + if (client != NULL && client->id != EMPTY && strlen(data) != 0) + { + sprintf(client->sendBuffer + strlen(client->sendBuffer), "%s", data); + } +} + +/** + * @brief Send data to a client with Nifi + * + * @param client client to send data to + */ +void SendDataTo(Client *client) +{ + // If the buffer is not empty, copy the buffer to a new one and clear the buffer + if (timeoutCount == 0) + { + if (isHost) + { + client->lastMessageId++; + + // Ask to client to communicate + sprintf(tempSendBuffer, "{ROOM;WANTSPEAK;%d;%d}", client->id, client->lastMessageId); + } + else + { + // Tell the host that the local client has received the message + sprintf(tempSendBuffer, "{ROOM;CONFIRM_LISTEN;%d}", localClient->id); + } + + sprintf(tempSendBuffer + strlen(tempSendBuffer), "%s", client->sendBuffer); + + // Clear the client's send buffer + strcpy(client->sendBuffer, ""); + } + + // Send data + SendWirelessData((unsigned short *)tempSendBuffer, strlen(tempSendBuffer) + 1); +} + +int getMultiplayerStatus() +{ + return mpStatus; +} + +Client *getOpponent() +{ + for (int i = 1; i < MAX_CLIENT; i++) + { + if (clients[i].id != EMPTY) + { + return &clients[i]; + } + } + mpStatus = MP_CONNECTION_LOST; + return NULL; +} + +Client *getLocalClient() +{ + return localClient; +} + +bool isHostClient() +{ + return isHost; } \ No newline at end of file diff --git a/source/multiplayer.h b/source/multiplayer.h index 7e1af9a..e7e997b 100644 --- a/source/multiplayer.h +++ b/source/multiplayer.h @@ -1,72 +1,72 @@ -#pragma once - -#include -#include -#include -#include - -#include "nf_lib.h" - -#define EMPTY -1 - -// Nifi settings -#define MAX_CLIENT 3 // Max number of clients -#define WIFI_RATE 240 // Read/Write rate per second -#define WIFI_TIMEOUT 10 // Number of wifi rate before the message is considered lost -#define MAX_TIMEOUT_RETRY 10 // Number of try before client is considered as disconnected -#define CLIENT_TIMEOUT 60 // Number of frame before local client is considered as disconnected - -// Network packet settings -#define REQUEST_TYPE_INDEX 0 -#define REQUEST_NAME_INDEX 1 -#define MAX_REQUEST_LENGTH 256 -#define MAX_REQUEST_PARAM_LENGTH 64 -#define MAX_REQUEST_PARAM_COUNT 10 - -enum RequestType -{ - TICK_GAME = 0 -}; - -enum MultiplayerStatus -{ - MP_HOST_SEARCHING = 0, - MP_CLIENT_SEARCHING = 1, - MP_HOST_READY = 2, - MP_CLIENT_READY = 3, - MP_CONNECTION_LOST = 4 -}; - -typedef struct -{ - int id; // Id of the client - char macAddress[13]; // Mac address of the client - char sendBuffer[1024]; // Wifi write buffer of the client - int lastMessageId; // Last message id received by the client - - int playerTargetX; - int playerTargetZ; - int playerTileX; - int playerTileZ; - int playerFacing; - int timeLeft; - int currentBatchStep; - int batchesComplete; -} Client; - -// ** All functions ** -void treatData(); -void sendPacketByte(u8 command, u8 data); -void createRoom(); -void scanForRoom(); -void addClient(int id, bool addHost); -void SendDataTo(Client *client); -void AddDataTo(Client *client, const char *data); -void removeClient(Client *client); -void resetClientValues(Client *client); -void managerServer(); -void communicateWithNextClient(); -Client *getClientById(int consoleId); -void shareRequest(Client *clientSender, enum RequestType requestType); -void createRequest(Client *clientSender, Client *clientToUpdate, enum RequestType requestType); +#pragma once + +#include +#include +#include +#include + +#include "nf_lib.h" + +#define EMPTY -1 + +// Nifi settings +#define MAX_CLIENT 3 // Max number of clients +#define WIFI_RATE 240 // Read/Write rate per second +#define WIFI_TIMEOUT 10 // Number of wifi rate before the message is considered lost +#define MAX_TIMEOUT_RETRY 10 // Number of try before client is considered as disconnected +#define CLIENT_TIMEOUT 60 // Number of frame before local client is considered as disconnected + +// Network packet settings +#define REQUEST_TYPE_INDEX 0 +#define REQUEST_NAME_INDEX 1 +#define MAX_REQUEST_LENGTH 256 +#define MAX_REQUEST_PARAM_LENGTH 64 +#define MAX_REQUEST_PARAM_COUNT 10 + +enum RequestType +{ + TICK_GAME = 0 +}; + +enum MultiplayerStatus +{ + MP_HOST_SEARCHING = 0, + MP_CLIENT_SEARCHING = 1, + MP_HOST_READY = 2, + MP_CLIENT_READY = 3, + MP_CONNECTION_LOST = 4 +}; + +typedef struct +{ + int id; // Id of the client + char macAddress[13]; // Mac address of the client + char sendBuffer[1024]; // Wifi write buffer of the client + int lastMessageId; // Last message id received by the client + + int playerTargetX; + int playerTargetZ; + int playerTileX; + int playerTileZ; + int playerFacing; + int timeLeft; + int currentBatchStep; + int batchesComplete; +} Client; + +// ** All functions ** +void treatData(); +void sendPacketByte(u8 command, u8 data); +void createRoom(); +void scanForRoom(); +void addClient(int id, bool addHost); +void SendDataTo(Client *client); +void AddDataTo(Client *client, const char *data); +void removeClient(Client *client); +void resetClientValues(Client *client); +void managerServer(); +void communicateWithNextClient(); +Client *getClientById(int consoleId); +void shareRequest(Client *clientSender, enum RequestType requestType); +void createRequest(Client *clientSender, Client *clientToUpdate, enum RequestType requestType); void resetNifiValues(); \ No newline at end of file diff --git a/source/player.cpp b/source/player.cpp index 29d6c3b..daa6c1d 100644 --- a/source/player.cpp +++ b/source/player.cpp @@ -1,319 +1,319 @@ -#include "player.h" - -Player::Player() -{ -} - -int Player::Load(Character character, NE_Animation *animations[2]) -{ - this->maxSpeed = 0.125f; - this->character = character; - this->lyingDown = false; - - model = NE_ModelCreate(NE_Animated); - material = NE_MaterialCreate(); - animation[0] = animations[0]; - animation[1] = animations[1]; - - // Load model - if (NE_ModelLoadDSMFAT(model, "model/player.dsm") == 0) - { - consoleDemoInit(); - printf("Couldn't load player mesh..."); - return -1; - } - - // Load textures - int texturesLoaded = 0; - switch (character) - { - case CHAR_WALT: - texturesLoaded = NE_MaterialTexLoadFAT(material, NE_A1RGB5, 128, 128, - NE_TEXGEN_TEXCOORD, "model/walter_tex.bin"); - break; - case CHAR_JESSE: - texturesLoaded = NE_MaterialTexLoadFAT(material, NE_A1RGB5, 128, 128, - NE_TEXGEN_TEXCOORD, "model/jessie_tex.bin"); - break; - case CHAR_YEPPERS: - texturesLoaded = NE_MaterialTexLoadFAT(material, NE_A1RGB5, 128, 128, - NE_TEXGEN_TEXCOORD, "model/yeppers_tex.bin"); - break; - } - - if (texturesLoaded == 0) - { - consoleDemoInit(); - printf("Couldn't load player textures..."); - return -1; - } - - // Assign material to the model - NE_ModelSetMaterial(model, material); - - // Set animation - NE_ModelSetAnimation(model, animation[0]); - NE_ModelSetAnimationSecondary(model, animation[1]); - NE_ModelAnimStart(model, NE_ANIM_LOOP, floattof32(0.5)); - NE_ModelAnimSecondaryStart(model, NE_ANIM_LOOP, floattof32(1)); - - // Set some propierties to the material - NE_MaterialSetPropierties(material, - RGB15(20, 20, 20), // Diffuse - RGB15(11, 10, 9), // Ambient - RGB15(0, 0, 0), // Specular - RGB15(0, 0, 0), // Emission - false, false); // Vertex color, use shininess table - - // Free mesh when deleted - NE_ModelFreeMeshWhenDeleted(model); - - return 0; -} - -void Player::ResetPosition(bool airJordans) -{ - this->maxSpeed = airJordans ? 0.155f : 0.125f; - NE_ModelAnimSecondarySetSpeed(model, floattof32(1 + (airJordans ? 0.5 : 0))); - - // Set position, rotation and scale - x = 0; - y = 0.4; - z = 0; - rotation = (facing + 1) * (512 / 4); - int scale = 5550; - NE_ModelSetRot(model, 0, rotation, 0); - NE_ModelScaleI(model, scale, scale, scale); - NE_ModelSetCoordI(model, x, y, z); - if (lyingDown) - { - SetLyingDown(false); - } -} - -void Player::Move(Map &map, bool noclip) -{ - if (!walking) - { - return; - } - - switch (facing) - { - case LEFT: - targetX = tileX - 1; - break; - case DOWN: - targetZ = tileZ - 1; - break; - case RIGHT: - targetX = tileX + 1; - break; - case UP: - targetZ = tileZ + 1; - break; - } - - Tile target = map.GetTileAt(targetX, targetZ); - if (!noclip && (target == WALL || target == VOID)) - { - rumble(rand() % 2 == 0); - targetX = tileX; - targetZ = tileZ; - walking = false; - return; - } -} - -void Player::Update(volatile int frame) -{ - // Update direction - int turningSpeed = 20; - float target = (facing + 1) * (511 / 4); - dRot = abs(target - rotation) > 10 ? (target - rotation > 0 ? turningSpeed : -turningSpeed) : 0; - rotation += dRot; - NE_ModelSetRot(model, lyingDown ? 90 : 0, rotation, 0); - NE_ModelAnimSecondarySetFactor(model, floattof32((currentSpeed[0] + currentSpeed[1]) / maxSpeed)); - - // Don't move walter if he's dead - if (lyingDown) - { - lyingDownFrames++; - currentSpeed[0] = currentSpeed[1] = 0; - return; - } - - // Don't move if in dialogue - if (inDialogue) - { - targetX = tileX; - targetZ = tileZ; - walking = false; - currentSpeed[0] = currentSpeed[1] = 0; - return; - } - - // Update position - float translateX = -1.3 + (-targetX * 2.6); - float translateZ = 1.9 + (targetZ * 2.4); - - // Bob up and down as the player walks - float dY = (sin(frame / 3.0) / 50.0) * 3; - if (y + dY > 0.8 || y + dY < 0.4) - { - dY = -dY; - } - - for (int i = 0; i < 2; i++) - { - if (currentSpeed[i] > maxSpeed) - { - currentSpeed[i] = maxSpeed; - } - } - - if (translateX > x + TILE_SIZE) - { - currentSpeed[0] += (maxSpeed / ACCELERATION); - currentSpeed[1] = 0; - Translate(currentSpeed[0], dY, 0); - } - else if (translateX < x - TILE_SIZE) - { - currentSpeed[0] += (maxSpeed / ACCELERATION); - currentSpeed[1] = 0; - Translate(-currentSpeed[0], dY, 0); - } - else if (translateZ > z + TILE_SIZE) - { - currentSpeed[1] += (maxSpeed / ACCELERATION); - currentSpeed[0] = 0; - Translate(0, dY, currentSpeed[1]); - } - else if (translateZ < z - TILE_SIZE) - { - currentSpeed[1] += (maxSpeed / ACCELERATION); - currentSpeed[0] = 0; - Translate(0, dY, -currentSpeed[1]); - } - else - { - tileX = targetX; - tileZ = targetZ; - if (!walking) - { - currentSpeed[0] = currentSpeed[1] = 0; - } - } -} - -void Player::Translate(float x, float y, float z) -{ - this->x += x; - this->y += y; - this->z += z; - NE_ModelTranslate(model, x, y, z); -} - -Tile Player::GetTile(Map &map) -{ - return map.GetTileAt(tileX, tileZ); -} - -void Player::SetLyingDown(bool lyingDown) -{ - if (!this->lyingDown && lyingDown) - { - Translate(0, 0, -2.0f); - facing = DOWN; - } - else if (this->lyingDown && !lyingDown) - { - Translate(0, 0, 2.0f); - } - - this->lyingDown = lyingDown; - NE_ModelSetRot(model, this->lyingDown ? 90 : 0, rotation, 0); -} - -void Player::HandleInput(uint32 keys) -{ - bool moving = targetX != tileX || targetZ != tileZ; - walking = false; - if (keys & KEY_LEFT && (!moving || facing == LEFT)) - { - facing = LEFT; - walking = true; - } - if (keys & KEY_DOWN && (!moving || facing == DOWN)) - { - facing = DOWN; - walking = true; - } - if (keys & KEY_RIGHT && (!moving || facing == RIGHT)) - { - facing = RIGHT; - walking = true; - } - if (keys & KEY_UP && (!moving || facing == UP)) - { - facing = UP; - walking = true; - } -} - -void Player::DrawShadow(float radius, u32 color) -{ - // Set the number of points to create the circle approximation - const int numPoints = 12; - - // Calculate the angle between each point on the circle - const float angleIncrement = 2.0f * 3.14159265359f / numPoints; - - // Calculate the positions of points forming the circle - float circlePoints[numPoints][3]; - for (int i = 0; i < numPoints; ++i) - { - float angle = i * angleIncrement; - circlePoints[i][0] = radius * cos(angle); - circlePoints[i][1] = 0.6; - circlePoints[i][2] = radius * sin(angle); - } - - // Draw the triangles that form the circle - float offset[3] = {x, 0, z + (lyingDown ? 1.5f : 0)}; - for (int i = 1; i < numPoints - 1; i++) - { - float *vertices[3] = {circlePoints[0], circlePoints[i], circlePoints[i + 1]}; - DrawTriangle(vertices, offset, color); - } -} - -void Player::DrawTriangle(float *vertices[], float offset[3], u32 color) -{ - NE_PolyBegin(GL_TRIANGLE); - NE_PolyColor(color); - glTranslatef(offset[0], offset[1], offset[2]); - for (int i = 0; i < 3; ++i) - { - v16 x = floattov16(vertices[i][0]); - v16 y = floattov16(vertices[i][1]); - v16 z = floattov16(vertices[i][2]); - NE_PolyVertexI(x, y, z); - } - glTranslatef(-offset[0], -offset[1], -offset[2]); -} - -void Player::Draw(u32 outline) -{ - NE_PolyFormat(lyingDown ? 26 : 16, 8, NE_LIGHT_0, NE_CULL_NONE, NE_FOG_ENABLE); - DrawShadow(lyingDown ? 0.85f + (float)std::min(0.85f, (float)(lyingDownFrames / 500.0f)) : 0.85f, lyingDown ? NE_Red : NE_Black); - NE_PolyFormat(31, (8 + (outline * 8)), NE_LIGHT_0, NE_CULL_NONE, (NE_OtherFormatEnum)(NE_TOON_HIGHLIGHT_SHADING | NE_FOG_ENABLE)); - NE_ModelDraw(model); -} - -void Player::Unload() -{ - NE_ModelDelete(model); - NE_MaterialDelete(material); +#include "player.h" + +Player::Player() +{ +} + +int Player::Load(Character character, NE_Animation *animations[2]) +{ + this->maxSpeed = 0.125f; + this->character = character; + this->lyingDown = false; + + model = NE_ModelCreate(NE_Animated); + material = NE_MaterialCreate(); + animation[0] = animations[0]; + animation[1] = animations[1]; + + // Load model + if (NE_ModelLoadDSMFAT(model, "model/player.dsm") == 0) + { + consoleDemoInit(); + printf("Couldn't load player mesh..."); + return -1; + } + + // Load textures + int texturesLoaded = 0; + switch (character) + { + case CHAR_WALT: + texturesLoaded = NE_MaterialTexLoadFAT(material, NE_A1RGB5, 128, 128, + NE_TEXGEN_TEXCOORD, "model/walter_tex.bin"); + break; + case CHAR_JESSE: + texturesLoaded = NE_MaterialTexLoadFAT(material, NE_A1RGB5, 128, 128, + NE_TEXGEN_TEXCOORD, "model/jessie_tex.bin"); + break; + case CHAR_YEPPERS: + texturesLoaded = NE_MaterialTexLoadFAT(material, NE_A1RGB5, 128, 128, + NE_TEXGEN_TEXCOORD, "model/yeppers_tex.bin"); + break; + } + + if (texturesLoaded == 0) + { + consoleDemoInit(); + printf("Couldn't load player textures..."); + return -1; + } + + // Assign material to the model + NE_ModelSetMaterial(model, material); + + // Set animation + NE_ModelSetAnimation(model, animation[0]); + NE_ModelSetAnimationSecondary(model, animation[1]); + NE_ModelAnimStart(model, NE_ANIM_LOOP, floattof32(0.5)); + NE_ModelAnimSecondaryStart(model, NE_ANIM_LOOP, floattof32(1)); + + // Set some propierties to the material + NE_MaterialSetPropierties(material, + RGB15(20, 20, 20), // Diffuse + RGB15(11, 10, 9), // Ambient + RGB15(0, 0, 0), // Specular + RGB15(0, 0, 0), // Emission + false, false); // Vertex color, use shininess table + + // Free mesh when deleted + NE_ModelFreeMeshWhenDeleted(model); + + return 0; +} + +void Player::ResetPosition(bool airJordans) +{ + this->maxSpeed = airJordans ? 0.155f : 0.125f; + NE_ModelAnimSecondarySetSpeed(model, floattof32(1 + (airJordans ? 0.5 : 0))); + + // Set position, rotation and scale + x = 0; + y = 0.4; + z = 0; + rotation = (facing + 1) * (512 / 4); + int scale = 5550; + NE_ModelSetRot(model, 0, rotation, 0); + NE_ModelScaleI(model, scale, scale, scale); + NE_ModelSetCoordI(model, x, y, z); + if (lyingDown) + { + SetLyingDown(false); + } +} + +void Player::Move(Map &map, bool noclip) +{ + if (!walking) + { + return; + } + + switch (facing) + { + case LEFT: + targetX = tileX - 1; + break; + case DOWN: + targetZ = tileZ - 1; + break; + case RIGHT: + targetX = tileX + 1; + break; + case UP: + targetZ = tileZ + 1; + break; + } + + Tile target = map.GetTileAt(targetX, targetZ); + if (!noclip && (target == WALL || target == VOID)) + { + rumble(rand() % 2 == 0); + targetX = tileX; + targetZ = tileZ; + walking = false; + return; + } +} + +void Player::Update(volatile int frame) +{ + // Update direction + int turningSpeed = 20; + float target = (facing + 1) * (511 / 4); + dRot = abs(target - rotation) > 10 ? (target - rotation > 0 ? turningSpeed : -turningSpeed) : 0; + rotation += dRot; + NE_ModelSetRot(model, lyingDown ? 90 : 0, rotation, 0); + NE_ModelAnimSecondarySetFactor(model, floattof32((currentSpeed[0] + currentSpeed[1]) / maxSpeed)); + + // Don't move walter if he's dead + if (lyingDown) + { + lyingDownFrames++; + currentSpeed[0] = currentSpeed[1] = 0; + return; + } + + // Don't move if in dialogue + if (inDialogue) + { + targetX = tileX; + targetZ = tileZ; + walking = false; + currentSpeed[0] = currentSpeed[1] = 0; + return; + } + + // Update position + float translateX = -1.3 + (-targetX * 2.6); + float translateZ = 1.9 + (targetZ * 2.4); + + // Bob up and down as the player walks + float dY = (sin(frame / 3.0) / 50.0) * 3; + if (y + dY > 0.8 || y + dY < 0.4) + { + dY = -dY; + } + + for (int i = 0; i < 2; i++) + { + if (currentSpeed[i] > maxSpeed) + { + currentSpeed[i] = maxSpeed; + } + } + + if (translateX > x + TILE_SIZE) + { + currentSpeed[0] += (maxSpeed / ACCELERATION); + currentSpeed[1] = 0; + Translate(currentSpeed[0], dY, 0); + } + else if (translateX < x - TILE_SIZE) + { + currentSpeed[0] += (maxSpeed / ACCELERATION); + currentSpeed[1] = 0; + Translate(-currentSpeed[0], dY, 0); + } + else if (translateZ > z + TILE_SIZE) + { + currentSpeed[1] += (maxSpeed / ACCELERATION); + currentSpeed[0] = 0; + Translate(0, dY, currentSpeed[1]); + } + else if (translateZ < z - TILE_SIZE) + { + currentSpeed[1] += (maxSpeed / ACCELERATION); + currentSpeed[0] = 0; + Translate(0, dY, -currentSpeed[1]); + } + else + { + tileX = targetX; + tileZ = targetZ; + if (!walking) + { + currentSpeed[0] = currentSpeed[1] = 0; + } + } +} + +void Player::Translate(float x, float y, float z) +{ + this->x += x; + this->y += y; + this->z += z; + NE_ModelTranslate(model, x, y, z); +} + +Tile Player::GetTile(Map &map) +{ + return map.GetTileAt(tileX, tileZ); +} + +void Player::SetLyingDown(bool lyingDown) +{ + if (!this->lyingDown && lyingDown) + { + Translate(0, 0, -2.0f); + facing = DOWN; + } + else if (this->lyingDown && !lyingDown) + { + Translate(0, 0, 2.0f); + } + + this->lyingDown = lyingDown; + NE_ModelSetRot(model, this->lyingDown ? 90 : 0, rotation, 0); +} + +void Player::HandleInput(uint32 keys) +{ + bool moving = targetX != tileX || targetZ != tileZ; + walking = false; + if (keys & KEY_LEFT && (!moving || facing == LEFT)) + { + facing = LEFT; + walking = true; + } + if (keys & KEY_DOWN && (!moving || facing == DOWN)) + { + facing = DOWN; + walking = true; + } + if (keys & KEY_RIGHT && (!moving || facing == RIGHT)) + { + facing = RIGHT; + walking = true; + } + if (keys & KEY_UP && (!moving || facing == UP)) + { + facing = UP; + walking = true; + } +} + +void Player::DrawShadow(float radius, u32 color) +{ + // Set the number of points to create the circle approximation + const int numPoints = 12; + + // Calculate the angle between each point on the circle + const float angleIncrement = 2.0f * 3.14159265359f / numPoints; + + // Calculate the positions of points forming the circle + float circlePoints[numPoints][3]; + for (int i = 0; i < numPoints; ++i) + { + float angle = i * angleIncrement; + circlePoints[i][0] = radius * cos(angle); + circlePoints[i][1] = 0.6; + circlePoints[i][2] = radius * sin(angle); + } + + // Draw the triangles that form the circle + float offset[3] = {x, 0, z + (lyingDown ? 1.5f : 0)}; + for (int i = 1; i < numPoints - 1; i++) + { + float *vertices[3] = {circlePoints[0], circlePoints[i], circlePoints[i + 1]}; + DrawTriangle(vertices, offset, color); + } +} + +void Player::DrawTriangle(float *vertices[], float offset[3], u32 color) +{ + NE_PolyBegin(GL_TRIANGLE); + NE_PolyColor(color); + glTranslatef(offset[0], offset[1], offset[2]); + for (int i = 0; i < 3; ++i) + { + v16 x = floattov16(vertices[i][0]); + v16 y = floattov16(vertices[i][1]); + v16 z = floattov16(vertices[i][2]); + NE_PolyVertexI(x, y, z); + } + glTranslatef(-offset[0], -offset[1], -offset[2]); +} + +void Player::Draw(u32 outline) +{ + NE_PolyFormat(lyingDown ? 26 : 16, 8, NE_LIGHT_0, NE_CULL_NONE, NE_FOG_ENABLE); + DrawShadow(lyingDown ? 0.85f + (float)std::min(0.85f, (float)(lyingDownFrames / 500.0f)) : 0.85f, lyingDown ? NE_Red : NE_Black); + NE_PolyFormat(31, (8 + (outline * 8)), NE_LIGHT_0, NE_CULL_NONE, (NE_OtherFormatEnum)(NE_TOON_HIGHLIGHT_SHADING | NE_FOG_ENABLE)); + NE_ModelDraw(model); +} + +void Player::Unload() +{ + NE_ModelDelete(model); + NE_MaterialDelete(material); } \ No newline at end of file diff --git a/source/player.h b/source/player.h index 398ea37..22fb051 100644 --- a/source/player.h +++ b/source/player.h @@ -1,65 +1,65 @@ -#pragma once - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "map.h" -#include "enums.h" -#include "rumble.h" - -class Player -{ -private: - float maxSpeed = 0.125f; - const float ACCELERATION = 7.0f; - float currentSpeed[2] = { 0, 0 }; - const float TILE_SIZE = (maxSpeed / ACCELERATION) + 0.15f; - - volatile float lyingDownFrames = 0; - - NE_Model *model; - NE_Material *material; - NE_Animation *animation[2]; - -public: - bool isPlayer2 = false; - Character character = CHAR_WALT; - bool canMove = true; - Direction facing = DOWN; - bool walking = false; - bool lyingDown = false; - bool inDialogue = false; - - int tileX; - int tileZ; - int targetX; - int targetZ; - - float x; - float y; - float z; - float rotation; - float dRot; - - Player(); - - int Load(Character character, NE_Animation *animations[2]); - void ResetPosition(bool airJordans); - void Move(Map& map, bool noclip); - void Update(volatile int frame); - void Translate(float x, float y, float z); - Tile GetTile(Map& map); - void HandleInput(uint32 keys); - void SetLyingDown(bool lyingDown); - void DrawShadow(float radius, u32 color); - void DrawTriangle(float *vertexes[], float offset[3], u32 color); - void Draw(u32 outline); - void Unload(); +#pragma once + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "map.h" +#include "enums.h" +#include "rumble.h" + +class Player +{ +private: + float maxSpeed = 0.125f; + const float ACCELERATION = 7.0f; + float currentSpeed[2] = { 0, 0 }; + const float TILE_SIZE = (maxSpeed / ACCELERATION) + 0.15f; + + volatile float lyingDownFrames = 0; + + NE_Model *model; + NE_Material *material; + NE_Animation *animation[2]; + +public: + bool isPlayer2 = false; + Character character = CHAR_WALT; + bool canMove = true; + Direction facing = DOWN; + bool walking = false; + bool lyingDown = false; + bool inDialogue = false; + + int tileX; + int tileZ; + int targetX; + int targetZ; + + float x; + float y; + float z; + float rotation; + float dRot; + + Player(); + + int Load(Character character, NE_Animation *animations[2]); + void ResetPosition(bool airJordans); + void Move(Map& map, bool noclip); + void Update(volatile int frame); + void Translate(float x, float y, float z); + Tile GetTile(Map& map); + void HandleInput(uint32 keys); + void SetLyingDown(bool lyingDown); + void DrawShadow(float radius, u32 color); + void DrawTriangle(float *vertexes[], float offset[3], u32 color); + void Draw(u32 outline); + void Unload(); }; \ No newline at end of file diff --git a/source/rumble.h b/source/rumble.h index ea66d01..6b24b63 100644 --- a/source/rumble.h +++ b/source/rumble.h @@ -1,9 +1,9 @@ -#pragma once - -#include - -static void rumble(bool actuator) { - if (!isDSiMode()) { - setRumble(actuator); - } +#pragma once + +#include + +static void rumble(bool actuator) { + if (!isDSiMode()) { + setRumble(actuator); + } } \ No newline at end of file diff --git a/source/save.cpp b/source/save.cpp index 94f12e0..22821b5 100644 --- a/source/save.cpp +++ b/source/save.cpp @@ -1,72 +1,72 @@ -// This file is licensed under the GNU GPL 3.0 - -// -// Created by cervi on 24/08/2022. -// -#include "save.hpp" - -SaveData globalSave; - -void SaveData::clear() { - memset(minerals, 0, MINERAL_SAVE_SIZE + 1); - memset(powerUps, 0, POWER_UP_SAVE_SIZE + 1); - currentDay = 0; - currentMoney = 0; - currentDialogue = 0; -} - -void SaveData::loadData() { - // Initializing it like this for some reason fixes the issues - unsigned char header[4] = {0xDE, 0xAD, 0xBE, 0xEF}; - char expectedHeader[4] = {'B', 'S', 'A', 'V'}; - - fCard.open("rb"); - fCard.seek(0, SEEK_SET); - fCard.read(header, 4); - - if (memcmp(header, expectedHeader, 4) != 0) { - fCard.close(); - clear(); - return; - } - - u32 saveVersion_; - fCard.read(&saveVersion_, 4); - if (saveVersion_ != saveVersion) { - fCard.close(); - clear(); - return; - } - - fCard.read(minerals, 2 * MINERAL_SAVE_SIZE); - fCard.read(powerUps, 2 * POWER_UP_SAVE_SIZE); - fCard.read(¤tDay, 4); - fCard.read(¤tMoney, 4); - fCard.read(¤tDialogue, 4); - printf("state 4\n"); - - saveExists = true; - fCard.close(); -} - -void SaveData::saveData() { - char header[4] = {'B', 'S', 'A', 'V'}; - - fCard.open("wb"); - fCard.seek(0, SEEK_SET); - fCard.write(header, 4); - u32 saveVersion_ = saveVersion; - fCard.write(&saveVersion_, 4); - fCard.write(minerals, 2 * MINERAL_SAVE_SIZE); - fCard.write(powerUps, 2 * POWER_UP_SAVE_SIZE); - fCard.write(¤tDay, 4); - fCard.write(¤tMoney, 4); - fCard.write(¤tDialogue, 4); - - saveExists = true; - fCard.close(); -} - -bool canSave() { - return !saveFailed; +// This file is licensed under the GNU GPL 3.0 + +// +// Created by cervi on 24/08/2022. +// +#include "save.hpp" + +SaveData globalSave; + +void SaveData::clear() { + memset(minerals, 0, MINERAL_SAVE_SIZE + 1); + memset(powerUps, 0, POWER_UP_SAVE_SIZE + 1); + currentDay = 0; + currentMoney = 0; + currentDialogue = 0; +} + +void SaveData::loadData() { + // Initializing it like this for some reason fixes the issues + unsigned char header[4] = {0xDE, 0xAD, 0xBE, 0xEF}; + char expectedHeader[4] = {'B', 'S', 'A', 'V'}; + + fCard.open("rb"); + fCard.seek(0, SEEK_SET); + fCard.read(header, 4); + + if (memcmp(header, expectedHeader, 4) != 0) { + fCard.close(); + clear(); + return; + } + + u32 saveVersion_; + fCard.read(&saveVersion_, 4); + if (saveVersion_ != saveVersion) { + fCard.close(); + clear(); + return; + } + + fCard.read(minerals, 2 * MINERAL_SAVE_SIZE); + fCard.read(powerUps, 2 * POWER_UP_SAVE_SIZE); + fCard.read(¤tDay, 4); + fCard.read(¤tMoney, 4); + fCard.read(¤tDialogue, 4); + printf("state 4\n"); + + saveExists = true; + fCard.close(); +} + +void SaveData::saveData() { + char header[4] = {'B', 'S', 'A', 'V'}; + + fCard.open("wb"); + fCard.seek(0, SEEK_SET); + fCard.write(header, 4); + u32 saveVersion_ = saveVersion; + fCard.write(&saveVersion_, 4); + fCard.write(minerals, 2 * MINERAL_SAVE_SIZE); + fCard.write(powerUps, 2 * POWER_UP_SAVE_SIZE); + fCard.write(¤tDay, 4); + fCard.write(¤tMoney, 4); + fCard.write(¤tDialogue, 4); + + saveExists = true; + fCard.close(); +} + +bool canSave() { + return !saveFailed; } \ No newline at end of file diff --git a/source/save.hpp b/source/save.hpp index 1be9691..941d704 100644 --- a/source/save.hpp +++ b/source/save.hpp @@ -1,32 +1,32 @@ -// This file is licensed under the GNU GPL 3.0 - -// -// Created by cervi on 24/08/2022. -// -#pragma once - -#include -#include - -#include "card.hpp" - -#define MINERAL_SAVE_SIZE 12 -#define POWER_UP_SAVE_SIZE 5 - -class SaveData { -public: - const u32 saveVersion = 1; - void clear(); - void loadData(); - void saveData(); - - bool saveExists = false; - bool minerals[MINERAL_SAVE_SIZE] = {false}; - bool powerUps[POWER_UP_SAVE_SIZE] = {false}; - u16 currentDay = 0; - u16 currentMoney = 0; - u16 currentDialogue = 0; -}; - -extern SaveData globalSave; +// This file is licensed under the GNU GPL 3.0 + +// +// Created by cervi on 24/08/2022. +// +#pragma once + +#include +#include + +#include "card.hpp" + +#define MINERAL_SAVE_SIZE 12 +#define POWER_UP_SAVE_SIZE 5 + +class SaveData { +public: + const u32 saveVersion = 1; + void clear(); + void loadData(); + void saveData(); + + bool saveExists = false; + bool minerals[MINERAL_SAVE_SIZE] = {false}; + bool powerUps[POWER_UP_SAVE_SIZE] = {false}; + u16 currentDay = 0; + u16 currentMoney = 0; + u16 currentDialogue = 0; +}; + +extern SaveData globalSave; bool canSave(); \ No newline at end of file diff --git a/source/security_camera.cpp b/source/security_camera.cpp index 00c1b30..1e001cc 100644 --- a/source/security_camera.cpp +++ b/source/security_camera.cpp @@ -1,74 +1,74 @@ -#include "security_camera.h" - -SecurityCamera::SecurityCamera() -{ -} - -int SecurityCamera::Load() -{ - model = NE_ModelCreate(NE_Static); - material = NE_MaterialCreate(); - - // Load assets from the filesystem - if (NE_ModelLoadStaticMeshFAT(model, "model/camera.dl") == 0) - { - consoleDemoInit(); - printf("Couldn't load security camera mesh..."); - return -1; - } - - if (NE_MaterialTexLoadFAT(material, NE_A1RGB5, 64, 64, NE_TEXGEN_TEXCOORD, "model/camera_tex.bin") == 0) - { - consoleDemoInit(); - printf("Couldn't load security camera textures..."); - return -1; - } - - // Assign material to the model - NE_ModelSetMaterial(model, material); - - // Set some propierties to the material - NE_MaterialSetPropierties(material, - RGB15(24, 24, 24), // Diffuse - RGB15(8, 8, 8), // Ambient - RGB15(0, 0, 0), // Specular - RGB15(0, 0, 0), // Emission - false, false); // Vertex color, use shininess table - - // Set model rotation, position and scale - int scale = 10250; - NE_ModelScaleI(model, scale, scale, scale); - NE_ModelTranslate(model, x, y, z); - - return 0; -} - -void SecurityCamera::FacePlayer(float playerX, float playerZ) -{ - float angle = atan2(playerZ - z, playerX - x) * 180.0f / M_PI; - if (angle > 90.0f) - { - angle = 90.0f; - } - else if (angle < -90.0f) - { - angle = -90.0f; - } - - // Rotate the camera about the y-axis - NE_ModelSetRot(model, 0, -(angle + 90), 0); -} - -void SecurityCamera::Draw() -{ - // Draw the security camera - NE_PolyFormat(31, 8, NE_LIGHT_0, NE_CULL_NONE, (NE_OtherFormatEnum)(NE_TOON_HIGHLIGHT_SHADING | NE_FOG_ENABLE)); - NE_ModelDraw(model); -} - -void SecurityCamera::Unload() -{ - // Free the model and material - NE_MaterialDelete(material); - NE_ModelDelete(model); +#include "security_camera.h" + +SecurityCamera::SecurityCamera() +{ +} + +int SecurityCamera::Load() +{ + model = NE_ModelCreate(NE_Static); + material = NE_MaterialCreate(); + + // Load assets from the filesystem + if (NE_ModelLoadStaticMeshFAT(model, "model/camera.dl") == 0) + { + consoleDemoInit(); + printf("Couldn't load security camera mesh..."); + return -1; + } + + if (NE_MaterialTexLoadFAT(material, NE_A1RGB5, 64, 64, NE_TEXGEN_TEXCOORD, "model/camera_tex.bin") == 0) + { + consoleDemoInit(); + printf("Couldn't load security camera textures..."); + return -1; + } + + // Assign material to the model + NE_ModelSetMaterial(model, material); + + // Set some propierties to the material + NE_MaterialSetPropierties(material, + RGB15(24, 24, 24), // Diffuse + RGB15(8, 8, 8), // Ambient + RGB15(0, 0, 0), // Specular + RGB15(0, 0, 0), // Emission + false, false); // Vertex color, use shininess table + + // Set model rotation, position and scale + int scale = 10250; + NE_ModelScaleI(model, scale, scale, scale); + NE_ModelTranslate(model, x, y, z); + + return 0; +} + +void SecurityCamera::FacePlayer(float playerX, float playerZ) +{ + float angle = atan2(playerZ - z, playerX - x) * 180.0f / M_PI; + if (angle > 90.0f) + { + angle = 90.0f; + } + else if (angle < -90.0f) + { + angle = -90.0f; + } + + // Rotate the camera about the y-axis + NE_ModelSetRot(model, 0, -(angle + 90), 0); +} + +void SecurityCamera::Draw() +{ + // Draw the security camera + NE_PolyFormat(31, 8, NE_LIGHT_0, NE_CULL_NONE, (NE_OtherFormatEnum)(NE_TOON_HIGHLIGHT_SHADING | NE_FOG_ENABLE)); + NE_ModelDraw(model); +} + +void SecurityCamera::Unload() +{ + // Free the model and material + NE_MaterialDelete(material); + NE_ModelDelete(model); } \ No newline at end of file diff --git a/source/security_camera.h b/source/security_camera.h index 4481b7b..dc85a16 100644 --- a/source/security_camera.h +++ b/source/security_camera.h @@ -1,28 +1,28 @@ -#pragma once - -#include -#include -#include - -#include -#include -#include - -class SecurityCamera -{ -private: - NE_Model *model; - NE_Material *material; - - const float x = -22.5; - const float y = 7.9; - const float z = 16; - -public: - SecurityCamera(); - - int Load(); - void FacePlayer(float playerX, float playerZ); - void Draw(); - void Unload(); +#pragma once + +#include +#include +#include + +#include +#include +#include + +class SecurityCamera +{ +private: + NE_Model *model; + NE_Material *material; + + const float x = -22.5; + const float y = 7.9; + const float z = 16; + +public: + SecurityCamera(); + + int Load(); + void FacePlayer(float playerX, float playerZ); + void Draw(); + void Unload(); }; \ No newline at end of file diff --git a/source/shop.cpp b/source/shop.cpp index e918287..5654498 100644 --- a/source/shop.cpp +++ b/source/shop.cpp @@ -1,147 +1,147 @@ -#include "shop.h" - -Shop::Shop() -{ -} - -void Shop::Load(volatile int frame, Sound *sound) -{ - cursorPosition = -1; - dialogueStartFrame = frame; - NF_LoadTiledBg(SAUL_BG, SAUL_BG, 256, 256); - NF_CreateTiledBg(1, SAUL_BG_ID, SAUL_BG); - - sound->PlayBGM(BGM_SAUL, true); - Transition(true, 30, TS_BOTTOM, frame); -} - -// Returns true when the user backs out of the menu -bool Shop::Update(volatile int frame, Sound *sound) -{ - NF_ClearTextLayer(1, 0); - if (keysDown() & KEY_B) - { - sound->PlaySFX(SFX_MENU_DRUM); - return true; - } - - if (keysDown() & KEY_UP) - { - cursorPosition--; - - if (cursorPosition < 0) - { - cursorPosition = POWER_UP_COUNT - 1; - } - dialogueStartFrame = frame; - sound->PlaySFX(SFX_MENU_SELECT); - } - else if (keysDown() & KEY_DOWN) - { - cursorPosition++; - if (cursorPosition >= POWER_UP_COUNT) - { - cursorPosition = 0; - } - dialogueStartFrame = frame; - sound->PlaySFX(SFX_MENU_SELECT); - } - else if (keysDown() & KEY_A) - { - if (cursorPosition > -1 && globalSave.currentMoney >= POWER_UPS[cursorPosition].price) - { - sound->PlaySFX(SFX_SUCCESS_BELL); - globalSave.powerUps[cursorPosition] = true; - globalSave.currentMoney -= POWER_UPS[cursorPosition].price; - } - else - { - sound->PlaySFX(SFX_MENU_DRUM); - } - } - - if (cursorPosition == -1) - { - WriteSaulDialogue("Ho-hoo! Look who we have here!", "I've got some great deals.", frame, sound); - } - else - { - const PowerUp *selected = &POWER_UPS[cursorPosition]; - if (!globalSave.powerUps[cursorPosition]) - { - char itemTopLine[48]; - sprintf(itemTopLine, "%s ($%i)", selected->name, selected->price); - WriteSaulDialogue(itemTopLine, selected->description, frame, sound); - } - else - { - WriteSaulDialogue("SOLD OUT", "Pleasure doin' business!", frame, sound); - } - } - - for (int i = 0; i < POWER_UP_COUNT; i++) - { - const PowerUp *item = &POWER_UPS[i]; - bool hasBought = globalSave.powerUps[i]; - - char itemLine[32]; - if (cursorPosition == i) - { - sprintf(itemLine, "> %s", hasBought ? "SOLD OUT" : item->name); - } - else - { - sprintf(itemLine, " %s", hasBought ? "SOLD OUT" : item->name); - } - NF_WriteText(1, 0, 16, 8 + (i * 2), itemLine); - } - - char money[32]; - sprintf(money, "$%i", globalSave.currentMoney); - NF_WriteText(1, 0, 24, 20, money); - - return false; -} - -void Shop::WriteSaulDialogue(const char* topLine, const char* bottomLine, volatile int frame, Sound *sound) -{ - // Draw 5 chars per frame - int charsToPrint = (frame - dialogueStartFrame) / DIALOGUE_SPEED; - int topLineLength = strlen(topLine); - int bottomLineLength = strlen(bottomLine); - - // Play dialogue SFX - if ((charsToPrint > topLineLength + bottomLineLength)) - { - NF_WriteText(1, 0, 1, 1, topLine); - NF_WriteText(1, 0, 1, 3, bottomLine); - return; - } - else if (frame % DIALOGUE_SPEED == 0) - { - sound->PlaySFX(SFX_DIALOGUE_BLEEP); - } - - int topCharsToDraw = charsToPrint > topLineLength ? topLineLength : charsToPrint; - int bottomCharsToDraw = charsToPrint > topLineLength ? charsToPrint - topLineLength : 0; - - char topLineToPrint[48]; - char bottomLineToPrint[48]; - strncpy(topLineToPrint, topLine, topCharsToDraw); - strncpy(bottomLineToPrint, bottomLine, bottomCharsToDraw); - topLineToPrint[topCharsToDraw] = '\0'; - bottomLineToPrint[bottomCharsToDraw] = '\0'; - - NF_WriteText(1, 0, 1, 1, topLineToPrint); - NF_WriteText(1, 0, 1, 3, bottomLineToPrint); -} - -void Shop::Unload(volatile int frame, Sound *sound) -{ - Transition(false, 0, TS_BOTTOM, frame); - NF_ClearTextLayer(1, 0); - sound->StopBGM(); - - NF_DeleteTiledBg(1, SAUL_BG_ID); - NF_UnloadTiledBg(SAUL_BG); +#include "shop.h" + +Shop::Shop() +{ +} + +void Shop::Load(volatile int frame, Sound *sound) +{ + cursorPosition = -1; + dialogueStartFrame = frame; + NF_LoadTiledBg(SAUL_BG, SAUL_BG, 256, 256); + NF_CreateTiledBg(1, SAUL_BG_ID, SAUL_BG); + + sound->PlayBGM(BGM_SAUL, true); + Transition(true, 30, TS_BOTTOM, frame); +} + +// Returns true when the user backs out of the menu +bool Shop::Update(volatile int frame, Sound *sound) +{ + NF_ClearTextLayer(1, 0); + if (keysDown() & KEY_B) + { + sound->PlaySFX(SFX_MENU_DRUM); + return true; + } + + if (keysDown() & KEY_UP) + { + cursorPosition--; + + if (cursorPosition < 0) + { + cursorPosition = POWER_UP_COUNT - 1; + } + dialogueStartFrame = frame; + sound->PlaySFX(SFX_MENU_SELECT); + } + else if (keysDown() & KEY_DOWN) + { + cursorPosition++; + if (cursorPosition >= POWER_UP_COUNT) + { + cursorPosition = 0; + } + dialogueStartFrame = frame; + sound->PlaySFX(SFX_MENU_SELECT); + } + else if (keysDown() & KEY_A) + { + if (cursorPosition > -1 && globalSave.currentMoney >= POWER_UPS[cursorPosition].price) + { + sound->PlaySFX(SFX_SUCCESS_BELL); + globalSave.powerUps[cursorPosition] = true; + globalSave.currentMoney -= POWER_UPS[cursorPosition].price; + } + else + { + sound->PlaySFX(SFX_MENU_DRUM); + } + } + + if (cursorPosition == -1) + { + WriteSaulDialogue("Ho-hoo! Look who we have here!", "I've got some great deals.", frame, sound); + } + else + { + const PowerUp *selected = &POWER_UPS[cursorPosition]; + if (!globalSave.powerUps[cursorPosition]) + { + char itemTopLine[48]; + sprintf(itemTopLine, "%s ($%i)", selected->name, selected->price); + WriteSaulDialogue(itemTopLine, selected->description, frame, sound); + } + else + { + WriteSaulDialogue("SOLD OUT", "Pleasure doin' business!", frame, sound); + } + } + + for (int i = 0; i < POWER_UP_COUNT; i++) + { + const PowerUp *item = &POWER_UPS[i]; + bool hasBought = globalSave.powerUps[i]; + + char itemLine[32]; + if (cursorPosition == i) + { + sprintf(itemLine, "> %s", hasBought ? "SOLD OUT" : item->name); + } + else + { + sprintf(itemLine, " %s", hasBought ? "SOLD OUT" : item->name); + } + NF_WriteText(1, 0, 16, 8 + (i * 2), itemLine); + } + + char money[32]; + sprintf(money, "$%i", globalSave.currentMoney); + NF_WriteText(1, 0, 24, 20, money); + + return false; +} + +void Shop::WriteSaulDialogue(const char* topLine, const char* bottomLine, volatile int frame, Sound *sound) +{ + // Draw 5 chars per frame + int charsToPrint = (frame - dialogueStartFrame) / DIALOGUE_SPEED; + int topLineLength = strlen(topLine); + int bottomLineLength = strlen(bottomLine); + + // Play dialogue SFX + if ((charsToPrint > topLineLength + bottomLineLength)) + { + NF_WriteText(1, 0, 1, 1, topLine); + NF_WriteText(1, 0, 1, 3, bottomLine); + return; + } + else if (frame % DIALOGUE_SPEED == 0) + { + sound->PlaySFX(SFX_DIALOGUE_BLEEP); + } + + int topCharsToDraw = charsToPrint > topLineLength ? topLineLength : charsToPrint; + int bottomCharsToDraw = charsToPrint > topLineLength ? charsToPrint - topLineLength : 0; + + char topLineToPrint[48]; + char bottomLineToPrint[48]; + strncpy(topLineToPrint, topLine, topCharsToDraw); + strncpy(bottomLineToPrint, bottomLine, bottomCharsToDraw); + topLineToPrint[topCharsToDraw] = '\0'; + bottomLineToPrint[bottomCharsToDraw] = '\0'; + + NF_WriteText(1, 0, 1, 1, topLineToPrint); + NF_WriteText(1, 0, 1, 3, bottomLineToPrint); +} + +void Shop::Unload(volatile int frame, Sound *sound) +{ + Transition(false, 0, TS_BOTTOM, frame); + NF_ClearTextLayer(1, 0); + sound->StopBGM(); + + NF_DeleteTiledBg(1, SAUL_BG_ID); + NF_UnloadTiledBg(SAUL_BG); } \ No newline at end of file diff --git a/source/shop.h b/source/shop.h index 6dbff0f..7e0932d 100644 --- a/source/shop.h +++ b/source/shop.h @@ -1,65 +1,65 @@ -#pragma once - -#include -#include - -#include "enums.h" -#include "sound.h" -#include "transitions.h" -#include "save.hpp" - -struct PowerUp -{ - const char name[32]; - const char description[128]; - const int price; -}; - -const PowerUp POWER_UPS[POWER_UP_COUNT] = -{ - { - "Air Jordans", - "Increases movement speed", - 659, - }, - { - "Steel Hammer", - "Increases meth cracking speed", - 789 - }, - { - "Golden Pestle", - "Increases pestling speed", - 549 - }, - { - "Watch Battery", - "Gain a time bonus", - 1299 - }, - { - "Explosives", - "(...)", - 1949 - } -}; - -class Shop -{ -private: - const char SAUL_BG[32] = "bg/saul"; - const u32 SAUL_BG_ID = 1; - - int cursorPosition = -1; - - const int DIALOGUE_SPEED = 5; - int dialogueStartFrame = 0; - -public: - Shop(); - - void Load(volatile int frame, Sound *sound); - bool Update(volatile int frame, Sound *sound); - void WriteSaulDialogue(const char* topLine, const char* bottomLine, volatile int frame, Sound *sound); - void Unload(volatile int frame, Sound *sound); +#pragma once + +#include +#include + +#include "enums.h" +#include "sound.h" +#include "transitions.h" +#include "save.hpp" + +struct PowerUp +{ + const char name[32]; + const char description[128]; + const int price; +}; + +const PowerUp POWER_UPS[POWER_UP_COUNT] = +{ + { + "Air Jordans", + "Increases movement speed", + 659, + }, + { + "Steel Hammer", + "Increases meth cracking speed", + 789 + }, + { + "Golden Pestle", + "Increases pestling speed", + 549 + }, + { + "Watch Battery", + "Gain a time bonus", + 1299 + }, + { + "Explosives", + "(...)", + 1949 + } +}; + +class Shop +{ +private: + const char SAUL_BG[32] = "bg/saul"; + const u32 SAUL_BG_ID = 1; + + int cursorPosition = -1; + + const int DIALOGUE_SPEED = 5; + int dialogueStartFrame = 0; + +public: + Shop(); + + void Load(volatile int frame, Sound *sound); + bool Update(volatile int frame, Sound *sound); + void WriteSaulDialogue(const char* topLine, const char* bottomLine, volatile int frame, Sound *sound); + void Unload(volatile int frame, Sound *sound); }; \ No newline at end of file diff --git a/source/sound.cpp b/source/sound.cpp index 37c825d..d02a218 100644 --- a/source/sound.cpp +++ b/source/sound.cpp @@ -1,189 +1,189 @@ -#include "sound.h" - -Sound::Sound() -{ - progressString = new char[6]; -} - -void Sound::LoadSound() -{ - // Prepare sound engine - soundEnable(); - NF_InitRawSoundBuffers(); - - // Load raw sounds - int currentSlot = 0; - - // Load BGMS - for (int i = 0; i < BGM_COUNT; i++) - { - for (int j = 0; j < BGMS[i].fileCount; j++) - { - NF_LoadRawSound(BGMS[i].fileNames[j], currentSlot, SAMPLE_RATE, 0); - currentSlot++; - } - } - - // Load SFX - for (int i = 0; i < SFX_COUNT; i++) - { - NF_LoadRawSound(SFXS[i].fileName, currentSlot, SAMPLE_RATE, 0); - currentSlot++; - } -} - -int Sound::GetTrackFileCount(TrackId bgm) -{ - int files = 0; - for (int i = 0; i < BGM_COUNT; i++) - { - for (int j = 0; j < BGMS[i].fileCount; j++) - { - if (BGMS[i].track == bgm) - { - files++; - } - } - } - return files; -} - -int Sound::GetSoundRamAddress(int id, bool sfx) -{ - int currentSlot = 0; - for (int i = 0; i < BGM_COUNT; i++) - { - for (int j = 0; j < BGMS[i].fileCount; j++) - { - if ((BGMS[i].track == id) && !sfx) - { - return currentSlot; - } - currentSlot++; - } - } - - if (sfx) - { - for (int i = 0; i < SFX_COUNT; i++) - { - if (SFXS[i].effect == id) - { - return currentSlot; - } - currentSlot++; - } - } - return -1; -} - -BGM Sound::GetBGM(TrackId bgm) -{ - for (int i = 0; i < BGM_COUNT; i++) - { - if (BGMS[i].track == bgm) - { - return BGMS[i]; - } - } - return BGMS[0]; -} - -void Sound::PlayBGM(TrackId bgm, bool loop) -{ - StopBGM(); - currentBgm = bgm; - looping = loop; - singleFile = (looping && GetTrackFileCount(BGMS[currentBgm].track) == 1); - currentBgmFile = 0; - currentBgmFrame = 0; - bgmPlaying = true; -} - -void Sound::Update(volatile int frame) -{ - if (!bgmPlaying) - { - return; - } - if (currentBgmFrame >= BGMS[currentBgm].trackFrames[currentBgmFile]) - { - if (!singleFile) - { - currentBgmFrame = 0; - currentBgmFile++; - if (currentBgmFile >= GetTrackFileCount(BGMS[currentBgm].track)) - { - currentBgmFile = BGMS[currentBgm].loopAfterFile; - } - } - else - { - currentBgmFrame = 1; - } - } - if (currentBgmFrame == 0) - { - currentBgmSoundId = NF_PlayRawSound( - (GetSoundRamAddress(BGMS[currentBgm].track, false) + currentBgmFile), - BGMS[currentBgm].volume, - SOUND_PAN, - singleFile && looping, - 0 - ); - } - currentBgmFrame++; -} - -char* Sound::GetBgmTrackProgressString() -{ - // Return a string in the format xx:xx. Assume 60fps. - const int trackFiles = GetTrackFileCount(currentBgm); - int frames = 0; - int totalFrames = 0; - for (int i = 0; (i < trackFiles); i++) - { - int trackFrames = BGMS[currentBgm].trackFrames[i]; - if (i < currentBgmFile) - { - frames += trackFrames; - } - totalFrames += trackFrames; - } - frames += currentBgmFrame; - - int seconds = frames / 60; - int totalSeconds = totalFrames / 60; - int minutes = seconds / 60; - int totalMinutes = totalSeconds / 60; - seconds = seconds % 60; - totalSeconds = totalSeconds % 60; - sprintf(progressString, "%02d:%02d/%02d:%02d", minutes, seconds, totalMinutes, totalSeconds); - return progressString; -} - -void Sound::StopBGM() -{ - if (bgmPlaying) - { - soundKill(currentBgmSoundId); - looping = false; - bgmPlaying = false; - } -} - -void Sound::PlaySFX(EffectId sfx) -{ - currentSfxSoundId = NF_PlayRawSound( - GetSoundRamAddress(sfx, true), - 127, - SOUND_PAN, - false, - 0 - ); -} - -void Sound::StopSFX() -{ - soundKill(currentSfxSoundId); +#include "sound.h" + +Sound::Sound() +{ + progressString = new char[6]; +} + +void Sound::LoadSound() +{ + // Prepare sound engine + soundEnable(); + NF_InitRawSoundBuffers(); + + // Load raw sounds + int currentSlot = 0; + + // Load BGMS + for (int i = 0; i < BGM_COUNT; i++) + { + for (int j = 0; j < BGMS[i].fileCount; j++) + { + NF_LoadRawSound(BGMS[i].fileNames[j], currentSlot, SAMPLE_RATE, 0); + currentSlot++; + } + } + + // Load SFX + for (int i = 0; i < SFX_COUNT; i++) + { + NF_LoadRawSound(SFXS[i].fileName, currentSlot, SAMPLE_RATE, 0); + currentSlot++; + } +} + +int Sound::GetTrackFileCount(TrackId bgm) +{ + int files = 0; + for (int i = 0; i < BGM_COUNT; i++) + { + for (int j = 0; j < BGMS[i].fileCount; j++) + { + if (BGMS[i].track == bgm) + { + files++; + } + } + } + return files; +} + +int Sound::GetSoundRamAddress(int id, bool sfx) +{ + int currentSlot = 0; + for (int i = 0; i < BGM_COUNT; i++) + { + for (int j = 0; j < BGMS[i].fileCount; j++) + { + if ((BGMS[i].track == id) && !sfx) + { + return currentSlot; + } + currentSlot++; + } + } + + if (sfx) + { + for (int i = 0; i < SFX_COUNT; i++) + { + if (SFXS[i].effect == id) + { + return currentSlot; + } + currentSlot++; + } + } + return -1; +} + +BGM Sound::GetBGM(TrackId bgm) +{ + for (int i = 0; i < BGM_COUNT; i++) + { + if (BGMS[i].track == bgm) + { + return BGMS[i]; + } + } + return BGMS[0]; +} + +void Sound::PlayBGM(TrackId bgm, bool loop) +{ + StopBGM(); + currentBgm = bgm; + looping = loop; + singleFile = (looping && GetTrackFileCount(BGMS[currentBgm].track) == 1); + currentBgmFile = 0; + currentBgmFrame = 0; + bgmPlaying = true; +} + +void Sound::Update(volatile int frame) +{ + if (!bgmPlaying) + { + return; + } + if (currentBgmFrame >= BGMS[currentBgm].trackFrames[currentBgmFile]) + { + if (!singleFile) + { + currentBgmFrame = 0; + currentBgmFile++; + if (currentBgmFile >= GetTrackFileCount(BGMS[currentBgm].track)) + { + currentBgmFile = BGMS[currentBgm].loopAfterFile; + } + } + else + { + currentBgmFrame = 1; + } + } + if (currentBgmFrame == 0) + { + currentBgmSoundId = NF_PlayRawSound( + (GetSoundRamAddress(BGMS[currentBgm].track, false) + currentBgmFile), + BGMS[currentBgm].volume, + SOUND_PAN, + singleFile && looping, + 0 + ); + } + currentBgmFrame++; +} + +char* Sound::GetBgmTrackProgressString() +{ + // Return a string in the format xx:xx. Assume 60fps. + const int trackFiles = GetTrackFileCount(currentBgm); + int frames = 0; + int totalFrames = 0; + for (int i = 0; (i < trackFiles); i++) + { + int trackFrames = BGMS[currentBgm].trackFrames[i]; + if (i < currentBgmFile) + { + frames += trackFrames; + } + totalFrames += trackFrames; + } + frames += currentBgmFrame; + + int seconds = frames / 60; + int totalSeconds = totalFrames / 60; + int minutes = seconds / 60; + int totalMinutes = totalSeconds / 60; + seconds = seconds % 60; + totalSeconds = totalSeconds % 60; + sprintf(progressString, "%02d:%02d/%02d:%02d", minutes, seconds, totalMinutes, totalSeconds); + return progressString; +} + +void Sound::StopBGM() +{ + if (bgmPlaying) + { + soundKill(currentBgmSoundId); + looping = false; + bgmPlaying = false; + } +} + +void Sound::PlaySFX(EffectId sfx) +{ + currentSfxSoundId = NF_PlayRawSound( + GetSoundRamAddress(sfx, true), + 127, + SOUND_PAN, + false, + 0 + ); +} + +void Sound::StopSFX() +{ + soundKill(currentSfxSoundId); } \ No newline at end of file diff --git a/source/sound.h b/source/sound.h index b820edf..37cc39f 100644 --- a/source/sound.h +++ b/source/sound.h @@ -1,174 +1,174 @@ -#pragma once - -#include -#include - -#include -#include - -enum TrackId -{ - BGM_TITLE_INTRO, - BGM_TITLE_LOOP, - BGM_BABY_BLUE, - BGM_THE_COUSINS, - BGM_CLEAR_WATERS, - BGM_RODRIGO_Y_GABRIELA, - BGM_SAUL, - BGM_FINAL_COOK -}; - -struct BGM -{ - const char name[64]; - const TrackId track; - const int volume; - const int fileCount; - const char fileNames[8][64]; - const int trackFrames[8]; - const int loopAfterFile; -}; - -const int BGM_COUNT = 8; -const BGM BGMS[BGM_COUNT] = - { - {"Breaking Bad (Title)", - BGM_TITLE_INTRO, - 127, - 1, - {"bgm/title_hook"}, - {690}, - 0}, - {"Breaking Bad (Menu)", - BGM_TITLE_LOOP, - 127, - 1, - {"bgm/title_loop"}, - {640}, - 0}, - {"Baby Blue (Game Over)", - BGM_BABY_BLUE, - 127, - 1, - {"bgm/baby_blue"}, - {640}, - 0}, - {"The Cousins (Superlab)", - BGM_THE_COUSINS, - 80, - 2, - {"bgm/the_cousins_1", - "bgm/the_cousins_2"}, - {585, 585}, - 0}, - { - "Clear Waters (Tutorial)", - BGM_CLEAR_WATERS, - 100, - 2, - {"bgm/clear_waters_1", - "bgm/clear_waters_2"}, - {645, 620}, - 1 - }, - { - "Rodrigo y Gabriela (Clear)", - BGM_RODRIGO_Y_GABRIELA, - 100, - 1, - {"bgm/rodrigo_y_gabriela"}, - {640}, - 0 - }, - { - "Saul's Theme", - BGM_SAUL, - 127, - 1, - {"bgm/sauls_theme"}, - {300}, - 0 - }, - { - "The Final Cook", - BGM_FINAL_COOK, - 127, - 1, - {"bgm/the_final_cook"}, - {620}, - 0 - } - }; - -enum EffectId -{ - SFX_MENU_DRUM, - SFX_MENU_SELECT, - SFX_DIALOGUE_BLEEP, - SFX_SUCCESS_BELL, - SFX_VALVE_TURN, - SFX_GOODBYE_WALTER, - SFX_PESTLE, - SFX_CRANK, - SFX_CLICK, - SFX_VACCUM, - SFX_ACCEPTABLE, - SFX_MINERALS -}; - -struct SFX -{ - const EffectId effect; - const char fileName[64]; -}; - -const int SFX_COUNT = 12; -const SFX SFXS[SFX_COUNT] = - { - {SFX_MENU_DRUM, "sfx/menu_drum"}, - {SFX_MENU_SELECT, "sfx/menu_select"}, - {SFX_DIALOGUE_BLEEP, "sfx/dialogue_bleep"}, - {SFX_SUCCESS_BELL, "sfx/success_bell"}, - {SFX_VALVE_TURN, "sfx/valve_turn"}, - {SFX_GOODBYE_WALTER, "sfx/goodbye_walter"}, - {SFX_PESTLE, "sfx/pestle"}, - {SFX_CRANK, "sfx/crank"}, - {SFX_CLICK, "sfx/click"}, - {SFX_VACCUM, "sfx/vaccum"}, - {SFX_ACCEPTABLE, "sfx/acceptable"}, - {SFX_MINERALS, "sfx/minerals"} - }; - -class Sound -{ -private: - const int BGM_CHANNEL = 0; - const int BGM_VOLUME = 127; - const int SOUND_PAN = 64; - const int SAMPLE_RATE = 22050; - - TrackId currentBgm; - bool bgmPlaying = false; - int currentBgmFile; - volatile int currentBgmFrame; - bool singleFile = false; - bool looping = false; - - char* progressString; - - u32 currentBgmSoundId = 0; - u32 currentSfxSoundId = 0; - -public: - Sound(); - void LoadSound(); - int GetSoundRamAddress(int bgm, bool sfx); - int GetTrackFileCount(TrackId bgm); - BGM GetBGM(TrackId bgm); - void PlayBGM(TrackId bgm, bool loop); - void Update(volatile int frame); - char *GetBgmTrackProgressString(); - void StopBGM(); - void PlaySFX(EffectId sfx); - void StopSFX(); +#pragma once + +#include +#include + +#include +#include + +enum TrackId +{ + BGM_TITLE_INTRO, + BGM_TITLE_LOOP, + BGM_BABY_BLUE, + BGM_THE_COUSINS, + BGM_CLEAR_WATERS, + BGM_RODRIGO_Y_GABRIELA, + BGM_SAUL, + BGM_FINAL_COOK +}; + +struct BGM +{ + const char name[64]; + const TrackId track; + const int volume; + const int fileCount; + const char fileNames[8][64]; + const int trackFrames[8]; + const int loopAfterFile; +}; + +const int BGM_COUNT = 8; +const BGM BGMS[BGM_COUNT] = + { + {"Breaking Bad (Title)", + BGM_TITLE_INTRO, + 127, + 1, + {"bgm/title_hook"}, + {690}, + 0}, + {"Breaking Bad (Menu)", + BGM_TITLE_LOOP, + 127, + 1, + {"bgm/title_loop"}, + {640}, + 0}, + {"Baby Blue (Game Over)", + BGM_BABY_BLUE, + 127, + 1, + {"bgm/baby_blue"}, + {640}, + 0}, + {"The Cousins (Superlab)", + BGM_THE_COUSINS, + 80, + 2, + {"bgm/the_cousins_1", + "bgm/the_cousins_2"}, + {585, 585}, + 0}, + { + "Clear Waters (Tutorial)", + BGM_CLEAR_WATERS, + 100, + 2, + {"bgm/clear_waters_1", + "bgm/clear_waters_2"}, + {645, 620}, + 1 + }, + { + "Rodrigo y Gabriela (Clear)", + BGM_RODRIGO_Y_GABRIELA, + 100, + 1, + {"bgm/rodrigo_y_gabriela"}, + {640}, + 0 + }, + { + "Saul's Theme", + BGM_SAUL, + 127, + 1, + {"bgm/sauls_theme"}, + {300}, + 0 + }, + { + "The Final Cook", + BGM_FINAL_COOK, + 127, + 1, + {"bgm/the_final_cook"}, + {620}, + 0 + } + }; + +enum EffectId +{ + SFX_MENU_DRUM, + SFX_MENU_SELECT, + SFX_DIALOGUE_BLEEP, + SFX_SUCCESS_BELL, + SFX_VALVE_TURN, + SFX_GOODBYE_WALTER, + SFX_PESTLE, + SFX_CRANK, + SFX_CLICK, + SFX_VACCUM, + SFX_ACCEPTABLE, + SFX_MINERALS +}; + +struct SFX +{ + const EffectId effect; + const char fileName[64]; +}; + +const int SFX_COUNT = 12; +const SFX SFXS[SFX_COUNT] = + { + {SFX_MENU_DRUM, "sfx/menu_drum"}, + {SFX_MENU_SELECT, "sfx/menu_select"}, + {SFX_DIALOGUE_BLEEP, "sfx/dialogue_bleep"}, + {SFX_SUCCESS_BELL, "sfx/success_bell"}, + {SFX_VALVE_TURN, "sfx/valve_turn"}, + {SFX_GOODBYE_WALTER, "sfx/goodbye_walter"}, + {SFX_PESTLE, "sfx/pestle"}, + {SFX_CRANK, "sfx/crank"}, + {SFX_CLICK, "sfx/click"}, + {SFX_VACCUM, "sfx/vaccum"}, + {SFX_ACCEPTABLE, "sfx/acceptable"}, + {SFX_MINERALS, "sfx/minerals"} + }; + +class Sound +{ +private: + const int BGM_CHANNEL = 0; + const int BGM_VOLUME = 127; + const int SOUND_PAN = 64; + const int SAMPLE_RATE = 22050; + + TrackId currentBgm; + bool bgmPlaying = false; + int currentBgmFile; + volatile int currentBgmFrame; + bool singleFile = false; + bool looping = false; + + char* progressString; + + u32 currentBgmSoundId = 0; + u32 currentSfxSoundId = 0; + +public: + Sound(); + void LoadSound(); + int GetSoundRamAddress(int bgm, bool sfx); + int GetTrackFileCount(TrackId bgm); + BGM GetBGM(TrackId bgm); + void PlayBGM(TrackId bgm, bool loop); + void Update(volatile int frame); + char *GetBgmTrackProgressString(); + void StopBGM(); + void PlaySFX(EffectId sfx); + void StopSFX(); }; \ No newline at end of file diff --git a/source/transitions.cpp b/source/transitions.cpp index a5bc217..8d9c553 100644 --- a/source/transitions.cpp +++ b/source/transitions.cpp @@ -1,52 +1,52 @@ -#include "transitions.h" - -void Transition(bool fadeIn, int duration, TransitionScreen screen, volatile int frame) -{ - for (int i = 0; i < 2; i++) - { - if (!(screen == i || screen == TS_BOTH)) - { - continue; - } - if (duration <= 0) - { - setBrightness(i + 1, fadeIn ? 0 : -16); - isTransitioning[i] = false; - continue; - } - - isTransitioning[i] = true; - isFadingIn[i] = fadeIn; - transitionDuration[i] = duration; - transitionStartFrame[i] = frame; - } -} - -void UpdateTransitions(volatile int frame) -{ - for (int i = 0; i < 2; i++) - { - if (!isTransitioning[i]) - { - continue; - } - - if (frame >= (transitionStartFrame[i] + transitionDuration[i])) - { - setBrightness(i + 1, isFadingIn[i] ? 0 : -16); - isTransitioning[i] = false; - return; - } - - int brightness; - if (!isFadingIn[i]) - { - brightness = (frame - transitionStartFrame[i]) * 16 / transitionDuration[i]; - } - else - { - brightness = 16 - ((frame - transitionStartFrame[i]) * 16 / transitionDuration[i]); - } - setBrightness(i + 1, -brightness); - } +#include "transitions.h" + +void Transition(bool fadeIn, int duration, TransitionScreen screen, volatile int frame) +{ + for (int i = 0; i < 2; i++) + { + if (!(screen == i || screen == TS_BOTH)) + { + continue; + } + if (duration <= 0) + { + setBrightness(i + 1, fadeIn ? 0 : -16); + isTransitioning[i] = false; + continue; + } + + isTransitioning[i] = true; + isFadingIn[i] = fadeIn; + transitionDuration[i] = duration; + transitionStartFrame[i] = frame; + } +} + +void UpdateTransitions(volatile int frame) +{ + for (int i = 0; i < 2; i++) + { + if (!isTransitioning[i]) + { + continue; + } + + if (frame >= (transitionStartFrame[i] + transitionDuration[i])) + { + setBrightness(i + 1, isFadingIn[i] ? 0 : -16); + isTransitioning[i] = false; + return; + } + + int brightness; + if (!isFadingIn[i]) + { + brightness = (frame - transitionStartFrame[i]) * 16 / transitionDuration[i]; + } + else + { + brightness = 16 - ((frame - transitionStartFrame[i]) * 16 / transitionDuration[i]); + } + setBrightness(i + 1, -brightness); + } } \ No newline at end of file diff --git a/source/transitions.h b/source/transitions.h index 9dd7a22..b343a1e 100644 --- a/source/transitions.h +++ b/source/transitions.h @@ -1,18 +1,18 @@ -#pragma once - -#include - -static bool isTransitioning[2] = { false, false }; -static bool isFadingIn[2] = { false, false }; -static int transitionDuration[2] = { 0, 0 }; -static int transitionStartFrame[2] = { 0, 0 }; - -enum TransitionScreen -{ - TS_TOP = 0, - TS_BOTTOM = 1, - TS_BOTH = 2 -}; - -void Transition(bool fadeIn, int duration, TransitionScreen screen, volatile int frame); +#pragma once + +#include + +static bool isTransitioning[2] = { false, false }; +static bool isFadingIn[2] = { false, false }; +static int transitionDuration[2] = { 0, 0 }; +static int transitionStartFrame[2] = { 0, 0 }; + +enum TransitionScreen +{ + TS_TOP = 0, + TS_BOTTOM = 1, + TS_BOTH = 2 +}; + +void Transition(bool fadeIn, int duration, TransitionScreen screen, volatile int frame); void UpdateTransitions(volatile int frame); \ No newline at end of file