From 658b809ef2f9721eac71b19c5288df8a8cd117ff Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Tue, 1 Jun 2021 13:57:45 +0200 Subject: [PATCH 01/13] [ADD] automatic loading of models --- src/scenes/in_Game_Scene.cpp | 73 ++++++++++++++++++++++++++++------- src/shaders/entity_shader.cpp | 20 ++++++++++ src/shaders/entity_shader.h | 7 ++++ 3 files changed, 85 insertions(+), 15 deletions(-) diff --git a/src/scenes/in_Game_Scene.cpp b/src/scenes/in_Game_Scene.cpp index 0e7c268..9816336 100644 --- a/src/scenes/in_Game_Scene.cpp +++ b/src/scenes/in_Game_Scene.cpp @@ -10,46 +10,73 @@ #include "../renderEngine/renderer.h" #include "../shaders/entity_shader.h" #include "../toolbox/toolbox.h" +#include + +#define MAX_MODEL_DEQUE_SIZE 6 // max amount of models to load at the same time +#define UPCOMING_MODEL_AMOUNT 4 // how much models should be loaded in front of us namespace scene { - std::vector entities; - std::vector lights; + std::deque entites; + std::deque lights; + entities::Light sun; + models::RawModel raw_model; models::ModelTexture texture; - shaders::EntityShader *shader; - shaders::GuiShader *gui_shader; + shaders::EntityShader* shader; + shaders::GuiShader* gui_shader; entities::Camera camera(glm::vec3(0, 0, 0), glm::vec3(0, 0, 0)); std::vector guis; - + models::TexturedModel model; + + In_Game_Scene::In_Game_Scene() { shader = new shaders::EntityShader; - shader->Init(); + shader->Init(); render_engine::renderer::Init(*shader); gui_shader = new shaders::GuiShader(); gui_shader->Init(); } + void load_chunk(int model_pos) + { + std::cout << "loading model chunk" << std::endl; + if (entites.size() >= MAX_MODEL_DEQUE_SIZE) + { + entites.pop_back(); + } + int z_offset = model_pos * (model.raw_model.model_size.x * 20); // how much "in the distance" we should load the model + entites.push_front(entities::Entity(model, glm::vec3(0, -50, -50 - z_offset), glm::vec3(0, 90, 0), 20)); + + + } + + scene::Scenes scene::In_Game_Scene::start(GLFWwindow* window) { raw_model = render_engine::LoadObjModel("res/House.obj"); texture = { render_engine::loader::LoadTexture("res/Texture.png") }; texture.shine_damper = 10; texture.reflectivity = 0; - models::TexturedModel model = { raw_model, texture }; - - int z = 0; + model = { raw_model, texture }; + + /*int z = 0; + for (int i = 0; i < 5; ++i) { entities.push_back(entities::Entity(model, glm::vec3(0, -50, -50 - z), glm::vec3(0, 90, 0), 20)); z += (raw_model.model_size.x * 20); + }*/ + for (int i = 0; i <= UPCOMING_MODEL_AMOUNT; i++) + { + load_chunk(i); } - lights.push_back(entities::Light(glm::vec3(0, 1000, -7000), glm::vec3(5, 5, 5))); + sun = entities::Light(glm::vec3(0, 1000, -7000), glm::vec3(5, 5, 5)); lights.push_back(entities::Light(glm::vec3(0, 0, -30), glm::vec3(2, 0, 2), glm::vec3(0.0001f, 0.0001f, 0.0001f))); lights.push_back(entities::Light(glm::vec3(0, 0, -200), glm::vec3(0, 2, 0), glm::vec3(0.0001f, 0.0001f, 0.0001f))); @@ -58,11 +85,11 @@ namespace scene button.SetHoverTexture(render_engine::loader::LoadTexture("res/Texture.png")); button.SetClickedTexture(render_engine::loader::LoadTexture("res/Mayo.png")); button.SetOnClickAction([]() - { - std::cout << "I got clicked on!" << std::endl; - }); + { + std::cout << "I got clicked on!" << std::endl; + }); guis.push_back(&button); - + while (return_value == scene::Scenes::INGAME) { @@ -90,9 +117,14 @@ namespace scene shader->LoadViewMatrix(camera); // Renders each entity in the entities list - for (entities::Entity& entity : entities) + /*for (entities::Entity& entity : entities) { render_engine::renderer::Render(entity, *shader); + }*/ + + for (entities::Entity& model_entity : entites) + { + render_engine::renderer::Render(model_entity, *shader); } // Render GUI items @@ -105,6 +137,17 @@ namespace scene void scene::In_Game_Scene::update(GLFWwindow* window) { camera.Move(window); + + // calculate where the next house model should be loaded + static int last_model_pos = 0; + int model_pos = -round(camera.GetPosition().z / (model.raw_model.model_size.x * 20)); // how much models we have passed, minus because we are moving in the negative z axis + + // if we have passed a model, load a new one and delete the one behind us + if (last_model_pos != model_pos) + { + load_chunk(model_pos + UPCOMING_MODEL_AMOUNT); + } + last_model_pos = model_pos; } void scene::In_Game_Scene::onKey(GLFWwindow* window, int key, int scancode, int action, int mods) diff --git a/src/shaders/entity_shader.cpp b/src/shaders/entity_shader.cpp index 3a5a0c0..0d1b8db 100644 --- a/src/shaders/entity_shader.cpp +++ b/src/shaders/entity_shader.cpp @@ -1,5 +1,6 @@ #include "entity_shader.h" #include "../toolbox/toolbox.h" +#include namespace shaders { @@ -160,6 +161,25 @@ namespace shaders } } + void EntityShader::LoadLights(std::deque& lights) const + { + for (int i = 0; i < MAX_LIGHTS; ++i) + { + if (i < lights.size()) + { + LoadVector(location_light_position[i], lights[i].GetPosition()); + LoadVector(location_light_color[i], lights[i].GetColor()); + LoadVector(location_light_attenuation[i], lights[i].GetAttenuation()); + } + else + { + LoadVector(location_light_position[i], glm::vec3(0, 0, 0)); + LoadVector(location_light_color[i], glm::vec3(0, 0, 0)); + LoadVector(location_light_attenuation[i], glm::vec3(1, 0, 0)); + } + } + } + void EntityShader::LoadShineVariables(float shine_damper, float reflectivity) const { LoadFloat(location_shine_damper, shine_damper); diff --git a/src/shaders/entity_shader.h b/src/shaders/entity_shader.h index 514bbb4..7e73037 100644 --- a/src/shaders/entity_shader.h +++ b/src/shaders/entity_shader.h @@ -58,6 +58,13 @@ namespace shaders */ void LoadLights(std::vector& lights) const; + /** + * @brief loads some lights contained in a deque. + * + * @param lights the deque containing the lights to load + */ + void LoadLights(std::deque& lights) const; + /* * @brief: A method to load the the shine variables from a model into the shader * -- 2.47.2 From 8d52703297092252a7a838a79d8b8430049825ae Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Tue, 1 Jun 2021 14:06:28 +0200 Subject: [PATCH 02/13] [ADD] added deque support for light loading --- src/scenes/in_Game_Scene.cpp | 11 +---------- src/shaders/entity_shader.h | 1 + 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/src/scenes/in_Game_Scene.cpp b/src/scenes/in_Game_Scene.cpp index 9816336..a809258 100644 --- a/src/scenes/in_Game_Scene.cpp +++ b/src/scenes/in_Game_Scene.cpp @@ -20,7 +20,6 @@ namespace scene { std::deque entites; std::deque lights; - entities::Light sun; models::RawModel raw_model; models::ModelTexture texture; @@ -51,8 +50,6 @@ namespace scene } int z_offset = model_pos * (model.raw_model.model_size.x * 20); // how much "in the distance" we should load the model entites.push_front(entities::Entity(model, glm::vec3(0, -50, -50 - z_offset), glm::vec3(0, 90, 0), 20)); - - } @@ -76,7 +73,7 @@ namespace scene load_chunk(i); } - sun = entities::Light(glm::vec3(0, 1000, -7000), glm::vec3(5, 5, 5)); + lights.push_back(entities::Light(glm::vec3(0, 1000, -7000), glm::vec3(5, 5, 5))); lights.push_back(entities::Light(glm::vec3(0, 0, -30), glm::vec3(2, 0, 2), glm::vec3(0.0001f, 0.0001f, 0.0001f))); lights.push_back(entities::Light(glm::vec3(0, 0, -200), glm::vec3(0, 2, 0), glm::vec3(0.0001f, 0.0001f, 0.0001f))); @@ -116,12 +113,6 @@ namespace scene shader->LoadLights(lights); shader->LoadViewMatrix(camera); - // Renders each entity in the entities list - /*for (entities::Entity& entity : entities) - { - render_engine::renderer::Render(entity, *shader); - }*/ - for (entities::Entity& model_entity : entites) { render_engine::renderer::Render(model_entity, *shader); diff --git a/src/shaders/entity_shader.h b/src/shaders/entity_shader.h index 7e73037..6cc1e8a 100644 --- a/src/shaders/entity_shader.h +++ b/src/shaders/entity_shader.h @@ -2,6 +2,7 @@ #include #include +#include #include "shader_program.h" #include "../entities/camera.h" #include "../entities/light.h" -- 2.47.2 From f69e104a8de71e6e0789a2e375fc26d74ed61ebf Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Tue, 1 Jun 2021 14:24:16 +0200 Subject: [PATCH 03/13] [ADD] comments --- src/scenes/in_Game_Scene.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/scenes/in_Game_Scene.cpp b/src/scenes/in_Game_Scene.cpp index a809258..c75f743 100644 --- a/src/scenes/in_Game_Scene.cpp +++ b/src/scenes/in_Game_Scene.cpp @@ -18,7 +18,7 @@ namespace scene { - std::deque entites; + std::deque house_models; std::deque lights; models::RawModel raw_model; @@ -41,15 +41,21 @@ namespace scene gui_shader->Init(); } + /** + * @brief loads a new chunk in front of the camera, and deletes the chunk behind the camera. + * + * @param model_pos the amount of models the camera has passed already. This is the rounded result of (z position of camera) / (size of model) + * + */ void load_chunk(int model_pos) { std::cout << "loading model chunk" << std::endl; - if (entites.size() >= MAX_MODEL_DEQUE_SIZE) + if (house_models.size() >= MAX_MODEL_DEQUE_SIZE) { - entites.pop_back(); + house_models.pop_back(); } int z_offset = model_pos * (model.raw_model.model_size.x * 20); // how much "in the distance" we should load the model - entites.push_front(entities::Entity(model, glm::vec3(0, -50, -50 - z_offset), glm::vec3(0, 90, 0), 20)); + house_models.push_front(entities::Entity(model, glm::vec3(0, -50, -50 - z_offset), glm::vec3(0, 90, 0), 20)); } @@ -61,13 +67,7 @@ namespace scene texture.reflectivity = 0; model = { raw_model, texture }; - /*int z = 0; - - for (int i = 0; i < 5; ++i) - { - entities.push_back(entities::Entity(model, glm::vec3(0, -50, -50 - z), glm::vec3(0, 90, 0), 20)); - z += (raw_model.model_size.x * 20); - }*/ + // load the first few house models for (int i = 0; i <= UPCOMING_MODEL_AMOUNT; i++) { load_chunk(i); @@ -113,7 +113,7 @@ namespace scene shader->LoadLights(lights); shader->LoadViewMatrix(camera); - for (entities::Entity& model_entity : entites) + for (entities::Entity& model_entity : house_models) { render_engine::renderer::Render(model_entity, *shader); } -- 2.47.2 From ad35e14bfcfd7edd5adcf0b83a19ba38b026f6c4 Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Wed, 2 Jun 2021 09:37:13 +0200 Subject: [PATCH 04/13] [ADD] (test) trees at every chunk --- src/scenes/in_Game_Scene.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/scenes/in_Game_Scene.cpp b/src/scenes/in_Game_Scene.cpp index c75f743..11a309a 100644 --- a/src/scenes/in_Game_Scene.cpp +++ b/src/scenes/in_Game_Scene.cpp @@ -20,6 +20,7 @@ namespace scene { std::deque house_models; std::deque lights; + std::deque trees; models::RawModel raw_model; models::ModelTexture texture; @@ -29,6 +30,7 @@ namespace scene std::vector guis; models::TexturedModel model; + models::TexturedModel tree; In_Game_Scene::In_Game_Scene() @@ -53,9 +55,12 @@ namespace scene if (house_models.size() >= MAX_MODEL_DEQUE_SIZE) { house_models.pop_back(); + trees.pop_back(); } int z_offset = model_pos * (model.raw_model.model_size.x * 20); // how much "in the distance" we should load the model house_models.push_front(entities::Entity(model, glm::vec3(0, -50, -50 - z_offset), glm::vec3(0, 90, 0), 20)); + + trees.push_front(entities::Entity(tree, glm::vec3(0, 0, -50 - z_offset), glm::vec3(0, 90, 0), 3)); } @@ -67,13 +72,18 @@ namespace scene texture.reflectivity = 0; model = { raw_model, texture }; + models::RawModel raw_tree_model = render_engine::LoadObjModel("res/Tree.obj"); + models::ModelTexture tree_texture = { render_engine::loader::LoadTexture("res/TreeTexture.png") }; + tree = { raw_tree_model, tree_texture }; + + // load the first few house models for (int i = 0; i <= UPCOMING_MODEL_AMOUNT; i++) { load_chunk(i); } - lights.push_back(entities::Light(glm::vec3(0, 1000, -7000), glm::vec3(5, 5, 5))); + lights.push_back(entities::Light(glm::vec3(0, 1000, -7000), glm::vec3(5, 5, 5))); // sun lights.push_back(entities::Light(glm::vec3(0, 0, -30), glm::vec3(2, 0, 2), glm::vec3(0.0001f, 0.0001f, 0.0001f))); lights.push_back(entities::Light(glm::vec3(0, 0, -200), glm::vec3(0, 2, 0), glm::vec3(0.0001f, 0.0001f, 0.0001f))); @@ -118,6 +128,11 @@ namespace scene render_engine::renderer::Render(model_entity, *shader); } + for (entities::Entity& tree_entity : trees) + { + render_engine::renderer::Render(tree_entity, *shader); + } + // Render GUI items render_engine::renderer::Render(guis, *gui_shader); @@ -138,6 +153,7 @@ namespace scene { load_chunk(model_pos + UPCOMING_MODEL_AMOUNT); } + // remember the position at which the new model was added last_model_pos = model_pos; } -- 2.47.2 From e166c1f988fccc9477aa0dafd110aa03c77bbbdc Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Wed, 2 Jun 2021 10:51:59 +0200 Subject: [PATCH 05/13] [EDIT] small fix --- src/scenes/in_Game_Scene.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scenes/in_Game_Scene.cpp b/src/scenes/in_Game_Scene.cpp index 11a309a..281df17 100644 --- a/src/scenes/in_Game_Scene.cpp +++ b/src/scenes/in_Game_Scene.cpp @@ -120,7 +120,7 @@ namespace scene shader->Start(); shader->LoadSkyColor(render_engine::renderer::SKY_COLOR); - shader->LoadLights(lights); + shader->LoadLightsDeque(lights); shader->LoadViewMatrix(camera); for (entities::Entity& model_entity : house_models) -- 2.47.2 From 6f546fdd8bebb1332ea8d7f885a8132d392d193e Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Wed, 2 Jun 2021 10:54:10 +0200 Subject: [PATCH 06/13] [EDIT] caffemodel in gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 9232336..488f5fe 100644 --- a/.gitignore +++ b/.gitignore @@ -428,4 +428,6 @@ FodyWeavers.xsd **/docs/* **/doc/* +**/pose_iter_160000.caffemodel + # End of https://www.toptal.com/developers/gitignore/api/c++,visualstudio,visualstudiocode,opencv -- 2.47.2 From 75c745427cd2bd03e34a29ff4dc1cf77fc60a73d Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Fri, 4 Jun 2021 10:22:35 +0200 Subject: [PATCH 07/13] [ADD] deque method --- src/shaders/entity_shader.cpp | 2 +- src/shaders/entity_shader.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/shaders/entity_shader.cpp b/src/shaders/entity_shader.cpp index 0d1b8db..973d7c4 100644 --- a/src/shaders/entity_shader.cpp +++ b/src/shaders/entity_shader.cpp @@ -161,7 +161,7 @@ namespace shaders } } - void EntityShader::LoadLights(std::deque& lights) const + void EntityShader::LoadLightsDeque(std::deque& lights) const { for (int i = 0; i < MAX_LIGHTS; ++i) { diff --git a/src/shaders/entity_shader.h b/src/shaders/entity_shader.h index 6cc1e8a..101fec1 100644 --- a/src/shaders/entity_shader.h +++ b/src/shaders/entity_shader.h @@ -64,7 +64,7 @@ namespace shaders * * @param lights the deque containing the lights to load */ - void LoadLights(std::deque& lights) const; + void LoadLightsDeque(std::deque& lights) const; /* * @brief: A method to load the the shine variables from a model into the shader -- 2.47.2 From cfd2d00d08b9d887a3b793ae27baf4426c3732f4 Mon Sep 17 00:00:00 2001 From: Menno Date: Fri, 4 Jun 2021 14:32:16 +0200 Subject: [PATCH 08/13] [ADDED] simple house generation --- .gitignore | 2 + res/House.obj | 4495 ------------------------------- src/entities/HouseGenerator.cpp | 35 + src/entities/HouseGenerator.h | 37 + src/models/Model.h | 1 + src/renderEngine/Renderer.cpp | 7 +- src/renderEngine/Renderer.h | 3 +- src/scenes/in_Game_Scene.cpp | 51 +- src/scenes/in_Game_Scene.h | 1 + src/shaders/entity_shader.cpp | 2 +- wk2_fps.vcxproj | 2 + wk2_fps.vcxproj.filters | 6 + 12 files changed, 116 insertions(+), 4526 deletions(-) delete mode 100644 res/House.obj create mode 100644 src/entities/HouseGenerator.cpp create mode 100644 src/entities/HouseGenerator.h diff --git a/.gitignore b/.gitignore index 488f5fe..743428a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,8 @@ # Created by https://www.toptal.com/developers/gitignore/api/c++,visualstudio,visualstudiocode,opencv # Edit at https://www.toptal.com/developers/gitignore?templates=c++,visualstudio,visualstudiocode,opencv +res/** + ### C++ ### # Prerequisites *.d diff --git a/res/House.obj b/res/House.obj deleted file mode 100644 index 220eb01..0000000 --- a/res/House.obj +++ /dev/null @@ -1,4495 +0,0 @@ -# Blender v2.91.0 OBJ File: '' -# www.blender.org -mtllib House.mtl -o ObjObject -v -12.800000 0.199998 9.900000 -v -12.800000 -0.000002 9.900000 -v -12.800000 -0.000002 10.000000 -v -12.800000 0.000002 -9.900000 -v -12.800000 0.200001 -8.500000 -v -12.800000 0.300001 -8.500000 -v -12.800000 0.300002 -9.900000 -v -12.800000 0.000002 -10.000000 -v -12.800000 19.899998 9.900002 -v -12.800000 19.900002 -9.899997 -v -12.800000 19.999998 10.000003 -v -12.800000 19.999998 9.900002 -v -12.800000 20.000002 -9.899997 -v -12.800000 20.000002 -9.999997 -v -12.700000 0.400001 -9.200000 -v -12.700000 0.300002 -9.300000 -v -12.700000 0.300002 -9.200000 -v -12.700000 0.400002 -9.300000 -v -9.900000 0.300001 -7.800000 -v -9.900000 0.200001 -7.900000 -v -9.900000 0.200001 -7.800000 -v -9.900000 0.300001 -7.900000 -v -9.600000 0.300001 -7.200000 -v -9.600000 0.200001 -8.500000 -v -9.600000 0.200001 -7.200000 -v -9.600000 0.300001 -8.500000 -v -9.400000 0.400001 -7.800000 -v -9.400000 0.300001 -7.900000 -v -9.400000 0.300001 -7.800000 -v -9.400000 0.400001 -7.900000 -v -8.400000 13.199998 9.900002 -v -8.400000 6.799999 9.800001 -v -8.400000 6.799999 9.900001 -v -8.400000 13.199998 9.800002 -v -8.400000 13.200002 -9.799998 -v -8.400000 6.800002 -9.899999 -v -8.400000 6.800002 -9.799999 -v -8.400000 13.200002 -9.899998 -v -6.400000 9.899998 10.000002 -v -6.400000 6.999999 9.900001 -v -6.400000 6.999999 10.000001 -v -6.400000 6.999999 9.800001 -v -6.400000 9.899998 9.800002 -v -6.400000 9.900002 -9.799998 -v -6.400000 7.000001 -9.999999 -v -6.400000 7.000001 -9.899999 -v -6.400000 7.000001 -9.799999 -v -6.400000 9.900002 -9.999998 -v -6.400000 12.999998 10.000002 -v -6.400000 10.099998 9.800002 -v -6.400000 10.099998 10.000002 -v -6.400000 12.999998 9.900002 -v -6.400000 12.999998 9.800002 -v -6.400000 13.000002 -9.799998 -v -6.400000 10.100002 -9.999998 -v -6.400000 10.100002 -9.799998 -v -6.400000 13.000002 -9.899998 -v -6.400000 13.000002 -9.999998 -v -5.700000 0.400001 -9.200000 -v -5.700000 0.300002 -9.300000 -v -5.700000 0.300002 -9.200000 -v -5.700000 0.400002 -9.300000 -v -4.600000 9.899998 10.000002 -v -4.600000 6.999999 9.900001 -v -4.600000 6.999999 10.000001 -v -4.600000 9.899998 9.900002 -v -4.600000 6.999999 9.800001 -v -4.600000 9.899998 9.800002 -v -4.600000 9.900002 -9.799998 -v -4.600000 7.000001 -9.899999 -v -4.600000 7.000001 -9.799999 -v -4.600000 9.900002 -9.899998 -v -4.600000 7.000001 -9.999999 -v -4.600000 9.900002 -9.999998 -v -4.600000 12.999998 10.000002 -v -4.600000 10.099998 9.900002 -v -4.600000 10.099998 10.000002 -v -4.600000 12.999998 9.900002 -v -4.600000 10.099998 9.800002 -v -4.600000 12.999998 9.800002 -v -4.600000 13.000002 -9.799998 -v -4.600000 10.100002 -9.899998 -v -4.600000 10.100002 -9.799998 -v -4.600000 13.000002 -9.899998 -v -4.600000 10.100002 -9.999998 -v -4.600000 13.000002 -9.999998 -v -2.000000 0.400001 -7.800000 -v -2.000000 0.300001 -7.900000 -v -2.000000 0.300001 -7.800000 -v -2.000000 0.400001 -7.900000 -v 4.400000 13.199998 9.900002 -v 4.400000 6.799999 9.800001 -v 4.400000 6.799999 9.900001 -v 4.400000 13.199998 9.800002 -v 4.400000 13.200002 -9.799998 -v 4.400000 6.800002 -9.899999 -v 4.400000 6.800002 -9.799999 -v 4.400000 13.200002 -9.899998 -v 6.200000 9.899998 10.000002 -v 6.200000 6.999999 9.900001 -v 6.200000 6.999999 10.000001 -v 6.200000 6.999999 9.800001 -v 6.200000 9.899998 9.800002 -v 6.200000 9.900002 -9.799998 -v 6.200000 7.000001 -9.999999 -v 6.200000 7.000001 -9.899999 -v 6.200000 7.000001 -9.799999 -v 6.200000 9.900002 -9.999998 -v 6.200000 12.999998 10.000002 -v 6.200000 10.099998 9.800002 -v 6.200000 10.099998 10.000002 -v 6.200000 12.999998 9.900002 -v 6.200000 12.999998 9.800002 -v 6.200000 13.000002 -9.799998 -v 6.200000 10.100002 -9.999998 -v 6.200000 10.100002 -9.799998 -v 6.200000 13.000002 -9.899998 -v 6.200000 13.000002 -9.999998 -v 8.200000 9.899998 10.000002 -v 8.200000 6.999999 9.900001 -v 8.200000 6.999999 10.000001 -v 8.200000 9.899998 9.900002 -v 8.200000 6.999999 9.800001 -v 8.200000 9.899998 9.800002 -v 8.200000 9.900002 -9.799998 -v 8.200000 7.000001 -9.899999 -v 8.200000 7.000001 -9.799999 -v 8.200000 9.900002 -9.899998 -v 8.200000 7.000001 -9.999999 -v 8.200000 9.900002 -9.999998 -v 8.200000 12.999998 10.000002 -v 8.200000 10.099998 9.900002 -v 8.200000 10.099998 10.000002 -v 8.200000 12.999998 9.900002 -v 8.200000 10.099998 9.800002 -v 8.200000 12.999998 9.800002 -v 8.200000 13.000002 -9.799998 -v 8.200000 10.100002 -9.899998 -v 8.200000 10.100002 -9.799998 -v 8.200000 13.000002 -9.899998 -v 8.200000 10.100002 -9.999998 -v 8.200000 13.000002 -9.999998 -v -12.600000 0.300002 -9.200000 -v -12.600000 0.300002 -9.300000 -v -12.600000 0.400001 -9.200000 -v -12.600000 0.400002 -9.300000 -v -9.800000 0.200001 -7.800000 -v -9.800000 0.200001 -7.900000 -v -9.800000 0.300001 -7.800000 -v -9.800000 0.300001 -7.900000 -v -9.300000 0.300001 -7.800000 -v -9.300000 0.300001 -7.900000 -v -9.300000 0.400001 -7.800000 -v -9.300000 0.400001 -7.900000 -v -8.200000 6.999999 10.000001 -v -8.200000 6.999999 9.900001 -v -8.200000 9.899998 10.000002 -v -8.200000 6.999999 9.800001 -v -8.200000 9.899998 9.900002 -v -8.200000 9.899998 9.800002 -v -8.200000 7.000001 -9.799999 -v -8.200000 7.000001 -9.899999 -v -8.200000 9.900002 -9.799998 -v -8.200000 7.000001 -9.999999 -v -8.200000 9.900002 -9.899998 -v -8.200000 9.900002 -9.999998 -v -8.200000 10.099998 10.000002 -v -8.200000 10.099998 9.900002 -v -8.200000 12.999998 10.000002 -v -8.200000 10.099998 9.800002 -v -8.200000 12.999998 9.900002 -v -8.200000 12.999998 9.800002 -v -8.200000 10.100002 -9.799998 -v -8.200000 10.100002 -9.899998 -v -8.200000 13.000002 -9.799998 -v -8.200000 10.100002 -9.999998 -v -8.200000 13.000002 -9.899998 -v -8.200000 13.000002 -9.999998 -v -6.200000 6.999999 10.000001 -v -6.200000 6.999999 9.900001 -v -6.200000 9.899998 10.000002 -v -6.200000 6.999999 9.800001 -v -6.200000 9.899998 9.800002 -v -6.200000 7.000001 -9.899999 -v -6.200000 7.000001 -9.999999 -v -6.200000 9.900002 -9.799998 -v -6.200000 7.000001 -9.799999 -v -6.200000 9.900002 -9.999998 -v -6.200000 10.099998 10.000002 -v -6.200000 10.099998 9.800002 -v -6.200000 12.999998 10.000002 -v -6.200000 12.999998 9.900002 -v -6.200000 12.999998 9.800002 -v -6.200000 10.100002 -9.799998 -v -6.200000 10.100002 -9.999998 -v -6.200000 13.000002 -9.799998 -v -6.200000 13.000002 -9.899998 -v -6.200000 13.000002 -9.999998 -v -5.600000 0.300002 -9.200000 -v -5.600000 0.300002 -9.300000 -v -5.600000 0.400001 -9.200000 -v -5.600000 0.400002 -9.300000 -v -5.400000 0.200001 -8.500000 -v -5.400000 0.200002 -9.900000 -v -5.400000 0.300001 -8.500000 -v -5.400000 0.300002 -9.900000 -v -4.400000 6.799999 9.900001 -v -4.400000 6.799999 9.800001 -v -4.400000 13.199998 9.900002 -v -4.400000 13.199998 9.800002 -v -4.400000 6.800002 -9.799999 -v -4.400000 6.800002 -9.899999 -v -4.400000 13.200002 -9.799998 -v -4.400000 13.200002 -9.899998 -v -1.900000 0.300001 -7.800000 -v -1.900000 0.300001 -7.900000 -v -1.900000 0.400001 -7.800000 -v -1.900000 0.400001 -7.900000 -v -1.600000 0.200001 -7.200000 -v -1.600000 0.200001 -8.500000 -v -1.600000 0.300001 -7.200000 -v -1.600000 0.300001 -8.500000 -v 4.600000 6.999999 10.000001 -v 4.600000 6.999999 9.900001 -v 4.600000 9.899998 10.000002 -v 4.600000 6.999999 9.800001 -v 4.600000 9.899998 9.900002 -v 4.600000 9.899998 9.800002 -v 4.600000 7.000001 -9.799999 -v 4.600000 7.000001 -9.899999 -v 4.600000 9.900002 -9.799998 -v 4.600000 7.000001 -9.999999 -v 4.600000 9.900002 -9.899998 -v 4.600000 9.900002 -9.999998 -v 4.600000 10.099998 10.000002 -v 4.600000 10.099998 9.900002 -v 4.600000 12.999998 10.000002 -v 4.600000 10.099998 9.800002 -v 4.600000 12.999998 9.900002 -v 4.600000 12.999998 9.800002 -v 4.600000 10.100002 -9.799998 -v 4.600000 10.100002 -9.899998 -v 4.600000 13.000002 -9.799998 -v 4.600000 10.100002 -9.999998 -v 4.600000 13.000002 -9.899998 -v 4.600000 13.000002 -9.999998 -v 6.400000 6.999999 10.000001 -v 6.400000 6.999999 9.900001 -v 6.400000 9.899998 10.000002 -v 6.400000 6.999999 9.800001 -v 6.400000 9.899998 9.800002 -v 6.400000 7.000001 -9.899999 -v 6.400000 7.000001 -9.999999 -v 6.400000 9.900002 -9.799998 -v 6.400000 7.000001 -9.799999 -v 6.400000 9.900002 -9.999998 -v 6.400000 10.099998 10.000002 -v 6.400000 10.099998 9.800002 -v 6.400000 12.999998 10.000002 -v 6.400000 12.999998 9.900002 -v 6.400000 12.999998 9.800002 -v 6.400000 10.100002 -9.799998 -v 6.400000 10.100002 -9.999998 -v 6.400000 13.000002 -9.799998 -v 6.400000 13.000002 -9.899998 -v 6.400000 13.000002 -9.999998 -v 8.400000 6.799999 9.900001 -v 8.400000 6.799999 9.800001 -v 8.400000 13.199998 9.900002 -v 8.400000 13.199998 9.800002 -v 8.400000 6.800002 -9.799999 -v 8.400000 6.800002 -9.899999 -v 8.400000 13.200002 -9.799998 -v 8.400000 13.200002 -9.899998 -v 12.700000 -0.000002 9.900000 -v 12.700000 0.000002 -9.900000 -v 12.700000 0.199998 9.900000 -v 12.700000 0.200002 -9.900000 -v 12.800000 -0.000002 10.000000 -v 12.800000 -0.000002 9.900000 -v 12.800000 19.899998 9.900002 -v 12.800000 0.000002 -9.900000 -v 12.800000 0.000002 -10.000000 -v 12.800000 19.900002 -9.899997 -v 12.800000 19.999998 10.000003 -v 12.800000 19.999998 9.900002 -v 12.800000 20.000002 -9.899997 -v 12.800000 20.000002 -9.999997 -v -8.200000 6.999999 10.000001 -v -12.800000 19.999998 10.000003 -v -12.800000 -0.000002 10.000000 -v -8.200000 9.899998 10.000002 -v -8.200000 10.099998 10.000002 -v -8.200000 12.999998 10.000002 -v -6.400000 6.999999 10.000001 -v -6.400000 9.899998 10.000002 -v -6.400000 10.099998 10.000002 -v -6.400000 12.999998 10.000002 -v -6.200000 6.999999 10.000001 -v -6.200000 9.899998 10.000002 -v -6.200000 10.099998 10.000002 -v -6.200000 12.999998 10.000002 -v -4.600000 6.999999 10.000001 -v -4.600000 9.899998 10.000002 -v -4.600000 10.099998 10.000002 -v -4.600000 12.999998 10.000002 -v 4.600000 6.999999 10.000001 -v 4.600000 9.899998 10.000002 -v 4.600000 10.099998 10.000002 -v 4.600000 12.999998 10.000002 -v 6.200000 6.999999 10.000001 -v 6.200000 9.899998 10.000002 -v 6.200000 10.099998 10.000002 -v 6.200000 12.999998 10.000002 -v 6.400000 6.999999 10.000001 -v 6.400000 9.899998 10.000002 -v 6.400000 10.099998 10.000002 -v 6.400000 12.999998 10.000002 -v 8.200000 6.999999 10.000001 -v 8.200000 9.899998 10.000002 -v 8.200000 10.099998 10.000002 -v 8.200000 12.999998 10.000002 -v 12.800000 -0.000002 10.000000 -v 12.800000 19.999998 10.000003 -v -1.600000 0.200001 -7.200000 -v -9.600000 0.300001 -7.200000 -v -9.600000 0.200001 -7.200000 -v -1.600000 0.300001 -7.200000 -v -9.800000 0.200001 -7.800000 -v -9.900000 0.300001 -7.800000 -v -9.900000 0.200001 -7.800000 -v -9.800000 0.300001 -7.800000 -v -9.300000 0.300001 -7.800000 -v -9.400000 0.400001 -7.800000 -v -9.400000 0.300001 -7.800000 -v -9.300000 0.400001 -7.800000 -v -1.900000 0.300001 -7.800000 -v -2.000000 0.400001 -7.800000 -v -2.000000 0.300001 -7.800000 -v -1.900000 0.400001 -7.800000 -v -9.600000 0.200001 -8.500000 -v -12.800000 0.300001 -8.500000 -v -12.800000 0.200001 -8.500000 -v -9.600000 0.300001 -8.500000 -v -12.600000 0.300002 -9.200000 -v -12.700000 0.400001 -9.200000 -v -12.700000 0.300002 -9.200000 -v -12.600000 0.400001 -9.200000 -v -5.600000 0.300002 -9.200000 -v -5.700000 0.400001 -9.200000 -v -5.700000 0.300002 -9.200000 -v -5.600000 0.400001 -9.200000 -v -8.200000 7.000001 -9.799999 -v -8.400000 13.200002 -9.799998 -v -8.400000 6.800002 -9.799999 -v -8.200000 9.900002 -9.799998 -v -8.200000 10.100002 -9.799998 -v -8.200000 13.000002 -9.799998 -v -6.400000 7.000001 -9.799999 -v -6.400000 9.900002 -9.799998 -v -6.400000 10.100002 -9.799998 -v -6.400000 13.000002 -9.799998 -v -6.200000 7.000001 -9.799999 -v -6.200000 9.900002 -9.799998 -v -6.200000 10.100002 -9.799998 -v -6.200000 13.000002 -9.799998 -v -4.600000 7.000001 -9.799999 -v -4.600000 9.900002 -9.799998 -v -4.600000 10.100002 -9.799998 -v -4.600000 13.000002 -9.799998 -v -4.400000 6.800002 -9.799999 -v -4.400000 13.200002 -9.799998 -v 4.600000 7.000001 -9.799999 -v 4.400000 13.200002 -9.799998 -v 4.400000 6.800002 -9.799999 -v 4.600000 9.900002 -9.799998 -v 4.600000 10.100002 -9.799998 -v 4.600000 13.000002 -9.799998 -v 6.200000 7.000001 -9.799999 -v 6.200000 9.900002 -9.799998 -v 6.200000 10.100002 -9.799998 -v 6.200000 13.000002 -9.799998 -v 6.400000 7.000001 -9.799999 -v 6.400000 9.900002 -9.799998 -v 6.400000 10.100002 -9.799998 -v 6.400000 13.000002 -9.799998 -v 8.200000 7.000001 -9.799999 -v 8.200000 9.900002 -9.799998 -v 8.200000 10.100002 -9.799998 -v 8.200000 13.000002 -9.799998 -v 8.400000 6.800002 -9.799999 -v 8.400000 13.200002 -9.799998 -v -8.400000 6.800002 -9.899999 -v -12.800000 19.900002 -9.899997 -v -12.800000 0.300002 -9.900000 -v -8.400000 13.200002 -9.899998 -v -5.400000 0.300002 -9.900000 -v -4.400000 6.800002 -9.899999 -v -5.400000 0.200002 -9.900000 -v -4.400000 13.200002 -9.899998 -v 4.400000 6.800002 -9.899999 -v 4.400000 13.200002 -9.899998 -v 8.400000 6.800002 -9.899999 -v 8.400000 13.200002 -9.899998 -v 12.700000 0.200002 -9.900000 -v 12.800000 0.000002 -9.900000 -v 12.700000 0.000002 -9.900000 -v 12.800000 19.900002 -9.899997 -v -12.800000 0.199998 9.900000 -v -12.800000 19.899998 9.900002 -v -8.400000 6.799999 9.900001 -v -8.400000 13.199998 9.900002 -v -4.400000 6.799999 9.900001 -v -4.400000 13.199998 9.900002 -v 4.400000 6.799999 9.900001 -v 4.400000 13.199998 9.900002 -v 8.400000 6.799999 9.900001 -v 8.400000 13.199998 9.900002 -v 12.700000 0.199998 9.900000 -v 12.700000 -0.000002 9.900000 -v 12.800000 -0.000002 9.900000 -v 12.800000 19.899998 9.900002 -v -8.400000 6.799999 9.800001 -v -8.400000 13.199998 9.800002 -v -8.200000 6.999999 9.800001 -v -8.200000 9.899998 9.800002 -v -8.200000 10.099998 9.800002 -v -8.200000 12.999998 9.800002 -v -6.400000 6.999999 9.800001 -v -6.400000 9.899998 9.800002 -v -6.400000 10.099998 9.800002 -v -6.400000 12.999998 9.800002 -v -6.200000 6.999999 9.800001 -v -6.200000 9.899998 9.800002 -v -6.200000 10.099998 9.800002 -v -6.200000 12.999998 9.800002 -v -4.600000 6.999999 9.800001 -v -4.600000 9.899998 9.800002 -v -4.600000 10.099998 9.800002 -v -4.600000 12.999998 9.800002 -v -4.400000 6.799999 9.800001 -v -4.400000 13.199998 9.800002 -v 4.400000 6.799999 9.800001 -v 4.400000 13.199998 9.800002 -v 4.600000 6.999999 9.800001 -v 4.600000 9.899998 9.800002 -v 4.600000 10.099998 9.800002 -v 4.600000 12.999998 9.800002 -v 6.200000 6.999999 9.800001 -v 6.200000 9.899998 9.800002 -v 6.200000 10.099998 9.800002 -v 6.200000 12.999998 9.800002 -v 6.400000 6.999999 9.800001 -v 6.400000 9.899998 9.800002 -v 6.400000 10.099998 9.800002 -v 6.400000 12.999998 9.800002 -v 8.200000 6.999999 9.800001 -v 8.200000 9.899998 9.800002 -v 8.200000 10.099998 9.800002 -v 8.200000 12.999998 9.800002 -v 8.400000 6.799999 9.800001 -v 8.400000 13.199998 9.800002 -v -9.900000 0.200001 -7.900000 -v -9.900000 0.300001 -7.900000 -v -9.800000 0.200001 -7.900000 -v -9.800000 0.300001 -7.900000 -v -9.400000 0.300001 -7.900000 -v -9.400000 0.400001 -7.900000 -v -9.300000 0.300001 -7.900000 -v -9.300000 0.400001 -7.900000 -v -2.000000 0.300001 -7.900000 -v -2.000000 0.400001 -7.900000 -v -1.900000 0.300001 -7.900000 -v -1.900000 0.400001 -7.900000 -v -5.400000 0.200001 -8.500000 -v -5.400000 0.300001 -8.500000 -v -1.600000 0.200001 -8.500000 -v -1.600000 0.300001 -8.500000 -v -12.700000 0.300002 -9.300000 -v -12.700000 0.400002 -9.300000 -v -12.600000 0.300002 -9.300000 -v -12.600000 0.400002 -9.300000 -v -5.700000 0.300002 -9.300000 -v -5.700000 0.400002 -9.300000 -v -5.600000 0.300002 -9.300000 -v -5.600000 0.400002 -9.300000 -v -12.800000 0.000002 -10.000000 -v -12.800000 20.000002 -9.999997 -v -8.200000 7.000001 -9.999999 -v -8.200000 9.900002 -9.999998 -v -8.200000 10.100002 -9.999998 -v -8.200000 13.000002 -9.999998 -v -6.400000 7.000001 -9.999999 -v -6.400000 9.900002 -9.999998 -v -6.400000 10.100002 -9.999998 -v -6.400000 13.000002 -9.999998 -v -6.200000 7.000001 -9.999999 -v -6.200000 9.900002 -9.999998 -v -6.200000 10.100002 -9.999998 -v -6.200000 13.000002 -9.999998 -v -4.600000 7.000001 -9.999999 -v -4.600000 9.900002 -9.999998 -v -4.600000 10.100002 -9.999998 -v -4.600000 13.000002 -9.999998 -v 4.600000 7.000001 -9.999999 -v 4.600000 9.900002 -9.999998 -v 4.600000 10.100002 -9.999998 -v 4.600000 13.000002 -9.999998 -v 6.200000 7.000001 -9.999999 -v 6.200000 9.900002 -9.999998 -v 6.200000 10.100002 -9.999998 -v 6.200000 13.000002 -9.999998 -v 6.400000 7.000001 -9.999999 -v 6.400000 9.900002 -9.999998 -v 6.400000 10.100002 -9.999998 -v 6.400000 13.000002 -9.999998 -v 8.200000 7.000001 -9.999999 -v 8.200000 9.900002 -9.999998 -v 8.200000 10.100002 -9.999998 -v 8.200000 13.000002 -9.999998 -v 12.800000 0.000002 -10.000000 -v 12.800000 20.000002 -9.999997 -v -12.800000 -0.000002 9.900000 -v 12.800000 -0.000002 10.000000 -v -12.800000 -0.000002 10.000000 -v 12.700000 -0.000002 9.900000 -v 12.800000 -0.000002 9.900000 -v -12.800000 0.000002 -9.900000 -v 12.700000 0.000002 -9.900000 -v -12.800000 0.000002 -10.000000 -v 12.800000 0.000002 -9.900000 -v 12.800000 0.000002 -10.000000 -v -8.400000 6.799999 9.800001 -v -4.400000 6.799999 9.900001 -v -8.400000 6.799999 9.900001 -v -4.400000 6.799999 9.800001 -v 4.400000 6.799999 9.800001 -v 8.400000 6.799999 9.900001 -v 4.400000 6.799999 9.900001 -v 8.400000 6.799999 9.800001 -v -8.400000 6.800002 -9.899999 -v -4.400000 6.800002 -9.799999 -v -8.400000 6.800002 -9.799999 -v -4.400000 6.800002 -9.899999 -v 4.400000 6.800002 -9.899999 -v 8.400000 6.800002 -9.799999 -v 4.400000 6.800002 -9.799999 -v 8.400000 6.800002 -9.899999 -v -8.200000 9.899998 9.900002 -v -6.400000 9.899998 10.000002 -v -8.200000 9.899998 10.000002 -v -4.600000 9.899998 9.900002 -v -4.600000 9.899998 10.000002 -v -6.200000 9.899998 10.000002 -v 4.600000 9.899998 9.900002 -v 6.200000 9.899998 10.000002 -v 4.600000 9.899998 10.000002 -v 8.200000 9.899998 9.900002 -v 8.200000 9.899998 10.000002 -v 6.400000 9.899998 10.000002 -v -8.200000 9.899998 9.800002 -v -6.400000 9.899998 9.800002 -v -6.200000 9.899998 9.800002 -v -4.600000 9.899998 9.800002 -v 4.600000 9.899998 9.800002 -v 6.200000 9.899998 9.800002 -v 6.400000 9.899998 9.800002 -v 8.200000 9.899998 9.800002 -v -8.200000 9.900002 -9.899998 -v -6.400000 9.900002 -9.799998 -v -8.200000 9.900002 -9.799998 -v -4.600000 9.900002 -9.899998 -v -4.600000 9.900002 -9.799998 -v -6.200000 9.900002 -9.799998 -v 4.600000 9.900002 -9.899998 -v 6.200000 9.900002 -9.799998 -v 4.600000 9.900002 -9.799998 -v 8.200000 9.900002 -9.899998 -v 8.200000 9.900002 -9.799998 -v 6.400000 9.900002 -9.799998 -v -8.200000 9.900002 -9.999998 -v -6.400000 9.900002 -9.999998 -v -6.200000 9.900002 -9.999998 -v -4.600000 9.900002 -9.999998 -v 4.600000 9.900002 -9.999998 -v 6.200000 9.900002 -9.999998 -v 6.400000 9.900002 -9.999998 -v 8.200000 9.900002 -9.999998 -v -8.200000 12.999998 9.900002 -v -6.400000 12.999998 10.000002 -v -8.200000 12.999998 10.000002 -v -6.400000 12.999998 9.900002 -v -6.200000 12.999998 9.900002 -v -4.600000 12.999998 10.000002 -v -6.200000 12.999998 10.000002 -v -4.600000 12.999998 9.900002 -v 4.600000 12.999998 9.900002 -v 6.200000 12.999998 10.000002 -v 4.600000 12.999998 10.000002 -v 6.200000 12.999998 9.900002 -v 6.400000 12.999998 9.900002 -v 8.200000 12.999998 10.000002 -v 6.400000 12.999998 10.000002 -v 8.200000 12.999998 9.900002 -v -8.200000 12.999998 9.800002 -v -6.400000 12.999998 9.800002 -v -6.200000 12.999998 9.800002 -v -4.600000 12.999998 9.800002 -v 4.600000 12.999998 9.800002 -v 6.200000 12.999998 9.800002 -v 6.400000 12.999998 9.800002 -v 8.200000 12.999998 9.800002 -v -8.200000 13.000002 -9.899998 -v -6.400000 13.000002 -9.799998 -v -8.200000 13.000002 -9.799998 -v -6.400000 13.000002 -9.899998 -v -6.200000 13.000002 -9.899998 -v -4.600000 13.000002 -9.799998 -v -6.200000 13.000002 -9.799998 -v -4.600000 13.000002 -9.899998 -v 4.600000 13.000002 -9.899998 -v 6.200000 13.000002 -9.799998 -v 4.600000 13.000002 -9.799998 -v 6.200000 13.000002 -9.899998 -v 6.400000 13.000002 -9.899998 -v 8.200000 13.000002 -9.799998 -v 6.400000 13.000002 -9.799998 -v 8.200000 13.000002 -9.899998 -v -8.200000 13.000002 -9.999998 -v -6.400000 13.000002 -9.999998 -v -6.200000 13.000002 -9.999998 -v -4.600000 13.000002 -9.999998 -v 4.600000 13.000002 -9.999998 -v 6.200000 13.000002 -9.999998 -v 6.400000 13.000002 -9.999998 -v 8.200000 13.000002 -9.999998 -v -12.800000 19.900002 -9.899997 -v 12.800000 19.899998 9.900002 -v -12.800000 19.899998 9.900002 -v 12.800000 19.900002 -9.899997 -v -12.800000 0.199998 9.900000 -v 12.700000 0.199998 9.900000 -v -9.600000 0.200001 -7.200000 -v -1.600000 0.200001 -7.200000 -v -9.900000 0.200001 -7.800000 -v -9.800000 0.200001 -7.800000 -v -9.900000 0.200001 -7.900000 -v -9.800000 0.200001 -7.900000 -v -12.800000 0.200001 -8.500000 -v -9.600000 0.200001 -8.500000 -v -1.600000 0.200001 -8.500000 -v -5.400000 0.200001 -8.500000 -v -5.400000 0.200002 -9.900000 -v 12.700000 0.200002 -9.900000 -v -9.600000 0.300001 -7.200000 -v -1.600000 0.300001 -7.200000 -v -9.400000 0.300001 -7.800000 -v -9.300000 0.300001 -7.800000 -v -2.000000 0.300001 -7.800000 -v -1.900000 0.300001 -7.800000 -v -9.900000 0.300001 -7.800000 -v -9.800000 0.300001 -7.800000 -v -9.900000 0.300001 -7.900000 -v -9.800000 0.300001 -7.900000 -v -9.400000 0.300001 -7.900000 -v -9.300000 0.300001 -7.900000 -v -2.000000 0.300001 -7.900000 -v -1.900000 0.300001 -7.900000 -v -9.600000 0.300001 -8.500000 -v -5.400000 0.300001 -8.500000 -v -1.600000 0.300001 -8.500000 -v -12.700000 0.300002 -9.200000 -v -12.800000 0.300001 -8.500000 -v -12.600000 0.300002 -9.200000 -v -5.700000 0.300002 -9.200000 -v -5.600000 0.300002 -9.200000 -v -12.700000 0.300002 -9.300000 -v -12.600000 0.300002 -9.300000 -v -5.700000 0.300002 -9.300000 -v -5.600000 0.300002 -9.300000 -v -12.800000 0.300002 -9.900000 -v -5.400000 0.300002 -9.900000 -v -9.400000 0.400001 -7.800000 -v -9.300000 0.400001 -7.800000 -v -9.400000 0.400001 -7.900000 -v -9.300000 0.400001 -7.900000 -v -2.000000 0.400001 -7.800000 -v -1.900000 0.400001 -7.800000 -v -2.000000 0.400001 -7.900000 -v -1.900000 0.400001 -7.900000 -v -12.700000 0.400001 -9.200000 -v -12.600000 0.400001 -9.200000 -v -12.700000 0.400002 -9.300000 -v -12.600000 0.400002 -9.300000 -v -5.700000 0.400001 -9.200000 -v -5.600000 0.400001 -9.200000 -v -5.700000 0.400002 -9.300000 -v -5.600000 0.400002 -9.300000 -v -8.200000 6.999999 10.000001 -v -6.400000 6.999999 10.000001 -v -8.200000 6.999999 9.900001 -v -6.400000 6.999999 9.900001 -v -6.200000 6.999999 10.000001 -v -4.600000 6.999999 10.000001 -v -6.200000 6.999999 9.900001 -v -4.600000 6.999999 9.900001 -v 4.600000 6.999999 10.000001 -v 6.200000 6.999999 10.000001 -v 4.600000 6.999999 9.900001 -v 6.200000 6.999999 9.900001 -v 6.400000 6.999999 10.000001 -v 8.200000 6.999999 10.000001 -v 6.400000 6.999999 9.900001 -v 8.200000 6.999999 9.900001 -v -8.200000 6.999999 9.800001 -v -6.400000 6.999999 9.800001 -v -6.200000 6.999999 9.800001 -v -4.600000 6.999999 9.800001 -v 4.600000 6.999999 9.800001 -v 6.200000 6.999999 9.800001 -v 6.400000 6.999999 9.800001 -v 8.200000 6.999999 9.800001 -v -8.200000 7.000001 -9.799999 -v -6.400000 7.000001 -9.799999 -v -8.200000 7.000001 -9.899999 -v -6.400000 7.000001 -9.899999 -v -6.200000 7.000001 -9.799999 -v -4.600000 7.000001 -9.799999 -v -6.200000 7.000001 -9.899999 -v -4.600000 7.000001 -9.899999 -v 4.600000 7.000001 -9.799999 -v 6.200000 7.000001 -9.799999 -v 4.600000 7.000001 -9.899999 -v 6.200000 7.000001 -9.899999 -v 6.400000 7.000001 -9.799999 -v 8.200000 7.000001 -9.799999 -v 6.400000 7.000001 -9.899999 -v 8.200000 7.000001 -9.899999 -v -8.200000 7.000001 -9.999999 -v -6.400000 7.000001 -9.999999 -v -6.200000 7.000001 -9.999999 -v -4.600000 7.000001 -9.999999 -v 4.600000 7.000001 -9.999999 -v 6.200000 7.000001 -9.999999 -v 6.400000 7.000001 -9.999999 -v 8.200000 7.000001 -9.999999 -v -8.200000 10.099998 10.000002 -v -6.400000 10.099998 10.000002 -v -8.200000 10.099998 9.900002 -v -6.200000 10.099998 10.000002 -v -4.600000 10.099998 10.000002 -v -4.600000 10.099998 9.900002 -v 4.600000 10.099998 10.000002 -v 6.200000 10.099998 10.000002 -v 4.600000 10.099998 9.900002 -v 6.400000 10.099998 10.000002 -v 8.200000 10.099998 10.000002 -v 8.200000 10.099998 9.900002 -v -8.200000 10.099998 9.800002 -v -6.400000 10.099998 9.800002 -v -6.200000 10.099998 9.800002 -v -4.600000 10.099998 9.800002 -v 4.600000 10.099998 9.800002 -v 6.200000 10.099998 9.800002 -v 6.400000 10.099998 9.800002 -v 8.200000 10.099998 9.800002 -v -8.200000 10.100002 -9.799998 -v -6.400000 10.100002 -9.799998 -v -8.200000 10.100002 -9.899998 -v -6.200000 10.100002 -9.799998 -v -4.600000 10.100002 -9.799998 -v -4.600000 10.100002 -9.899998 -v 4.600000 10.100002 -9.799998 -v 6.200000 10.100002 -9.799998 -v 4.600000 10.100002 -9.899998 -v 6.400000 10.100002 -9.799998 -v 8.200000 10.100002 -9.799998 -v 8.200000 10.100002 -9.899998 -v -8.200000 10.100002 -9.999998 -v -6.400000 10.100002 -9.999998 -v -6.200000 10.100002 -9.999998 -v -4.600000 10.100002 -9.999998 -v 4.600000 10.100002 -9.999998 -v 6.200000 10.100002 -9.999998 -v 6.400000 10.100002 -9.999998 -v 8.200000 10.100002 -9.999998 -v -8.400000 13.199998 9.900002 -v -4.400000 13.199998 9.900002 -v -8.400000 13.199998 9.800002 -v -4.400000 13.199998 9.800002 -v 4.400000 13.199998 9.900002 -v 8.400000 13.199998 9.900002 -v 4.400000 13.199998 9.800002 -v 8.400000 13.199998 9.800002 -v -8.400000 13.200002 -9.799998 -v -4.400000 13.200002 -9.799998 -v -8.400000 13.200002 -9.899998 -v -4.400000 13.200002 -9.899998 -v 4.400000 13.200002 -9.799998 -v 8.400000 13.200002 -9.799998 -v 4.400000 13.200002 -9.899998 -v 8.400000 13.200002 -9.899998 -v -12.800000 19.999998 10.000003 -v 12.800000 19.999998 10.000003 -v -12.800000 19.999998 9.900002 -v 12.800000 19.999998 9.900002 -v -12.800000 20.000002 -9.899997 -v 12.800000 20.000002 -9.899997 -v -12.800000 20.000002 -9.999997 -v 12.800000 20.000002 -9.999997 -v -12.800000 0.199998 9.900000 -v -12.800000 0.199998 9.900000 -v -12.800000 0.199998 9.900000 -v -12.800000 -0.000002 9.900000 -v -12.800000 -0.000002 10.000000 -v -12.800000 -0.000002 10.000000 -v -12.800000 0.000002 -9.900000 -v -12.800000 0.000002 -9.900000 -v -12.800000 0.000002 -9.900000 -v -12.800000 0.000002 -9.900000 -v 6.400000 10.100002 -9.999998 -v 6.400000 10.100002 -9.999998 -v 6.400000 10.100002 -9.999998 -v 8.200000 9.900002 -9.999998 -v 8.200000 9.900002 -9.999998 -v 8.200000 9.900002 -9.999998 -v -4.600000 10.100002 -9.899998 -v -4.600000 10.100002 -9.899998 -v -6.200000 10.100002 -9.999998 -v -6.400000 9.900002 -9.999998 -v -6.400000 9.900002 -9.999998 -v -6.400000 9.900002 -9.999998 -v -6.400000 10.100002 -9.999998 -v -6.400000 10.100002 -9.999998 -v -4.400000 13.199998 9.900002 -v -8.400000 13.199998 9.800002 -v -12.800000 19.999998 10.000003 -v -12.800000 19.999998 10.000003 -v -12.800000 19.999998 10.000003 -v -12.800000 19.999998 10.000003 -v -12.800000 19.999998 10.000003 -v -12.800000 19.999998 10.000003 -v -12.800000 19.999998 10.000003 -v -12.800000 19.999998 10.000003 -v -12.800000 19.999998 10.000003 -v -12.800000 19.999998 10.000003 -v -12.800000 19.999998 10.000003 -v -8.200000 9.899998 10.000002 -v -8.200000 9.899998 10.000002 -v -8.200000 10.099998 10.000002 -v -8.200000 10.099998 10.000002 -v -8.200000 10.099998 10.000002 -v -8.200000 12.999998 10.000002 -v -6.200000 10.099998 9.800002 -v -6.200000 10.099998 9.800002 -v -6.200000 10.099998 9.800002 -v -4.600000 9.899998 9.800002 -v -4.600000 9.899998 9.800002 -v -4.600000 9.899998 9.800002 -v -6.400000 12.999998 10.000002 -v -6.400000 12.999998 10.000002 -v -6.400000 12.999998 10.000002 -v -6.400000 12.999998 10.000002 -v -6.400000 12.999998 10.000002 -v -6.200000 12.999998 10.000002 -v -6.200000 12.999998 10.000002 -v 8.400000 13.199998 9.900002 -v 8.400000 13.199998 9.900002 -v 8.400000 13.199998 9.900002 -v 12.700000 0.199998 9.900000 -v 12.700000 0.199998 9.900000 -v 12.700000 0.199998 9.900000 -v 12.700000 0.199998 9.900000 -v -6.400000 12.999998 10.000002 -v -6.400000 10.099998 9.800002 -v -6.400000 10.099998 9.800002 -v -4.600000 12.999998 10.000002 -v -4.600000 12.999998 10.000002 -v -4.600000 12.999998 10.000002 -v -4.600000 12.999998 10.000002 -v -4.600000 12.999998 10.000002 -v 4.600000 10.099998 10.000002 -v 4.600000 10.099998 10.000002 -v 4.600000 10.099998 10.000002 -v 4.600000 12.999998 10.000002 -v 4.600000 12.999998 10.000002 -v 6.200000 12.999998 10.000002 -v 6.200000 12.999998 10.000002 -v 6.200000 12.999998 10.000002 -v 6.200000 12.999998 10.000002 -v 6.200000 12.999998 10.000002 -v 6.400000 12.999998 10.000002 -v 6.400000 12.999998 10.000002 -v 6.200000 9.900002 -9.799998 -v 6.200000 9.900002 -9.799998 -v 6.200000 9.900002 -9.799998 -v 6.200000 10.100002 -9.799998 -v 6.200000 10.100002 -9.799998 -v 8.200000 12.999998 10.000002 -v 8.200000 12.999998 10.000002 -v 8.200000 12.999998 10.000002 -v 12.800000 -0.000002 10.000000 -v 12.800000 -0.000002 10.000000 -v 12.800000 -0.000002 10.000000 -v 12.800000 -0.000002 10.000000 -v 12.800000 19.999998 10.000003 -v -6.400000 7.000001 -9.799999 -v -6.400000 7.000001 -9.799999 -v -6.200000 7.000001 -9.799999 -v -6.200000 7.000001 -9.799999 -v -6.200000 7.000001 -9.799999 -v -6.200000 7.000001 -9.799999 -v -6.200000 7.000001 -9.799999 -v -4.600000 13.000002 -9.799998 -v -4.600000 10.100002 -9.899998 -v -4.600000 10.100002 -9.899998 -v 8.200000 10.099998 10.000002 -v 8.200000 10.099998 10.000002 -v -8.400000 13.200002 -9.799998 -v -8.400000 13.200002 -9.799998 -v -8.400000 13.200002 -9.799998 -v -8.400000 13.200002 -9.799998 -v -8.400000 13.200002 -9.799998 -v -8.400000 13.200002 -9.799998 -v -8.400000 13.200002 -9.799998 -v -8.200000 9.900002 -9.799998 -v -8.200000 9.900002 -9.799998 -v -8.200000 10.100002 -9.799998 -v -8.200000 10.100002 -9.799998 -v -8.200000 10.100002 -9.799998 -v -8.200000 13.000002 -9.799998 -v -6.400000 13.000002 -9.799998 -v -6.400000 13.000002 -9.799998 -v -6.400000 13.000002 -9.799998 -v -6.400000 13.000002 -9.799998 -v -6.400000 13.000002 -9.799998 -v -6.200000 13.000002 -9.799998 -v -6.200000 13.000002 -9.799998 -v -4.600000 13.000002 -9.799998 -v -4.600000 13.000002 -9.799998 -v -4.600000 13.000002 -9.799998 -v -4.400000 6.800002 -9.799999 -v -4.400000 6.800002 -9.799999 -v -4.400000 6.800002 -9.799999 -v -4.400000 6.800002 -9.799999 -v -4.400000 13.200002 -9.799998 -v -9.600000 0.200001 -7.200000 -v -9.600000 0.200001 -7.200000 -v -9.600000 0.200001 -7.200000 -v -9.600000 0.200001 -7.200000 -v -9.600000 0.200001 -7.200000 -v -9.900000 0.200001 -7.800000 -v -9.900000 0.200001 -7.800000 -v -9.800000 0.200001 -7.900000 -v -9.800000 0.200001 -7.900000 -v -9.800000 0.200001 -7.900000 -v -2.000000 0.300001 -7.800000 -v -2.000000 0.300001 -7.800000 -v -2.000000 0.300001 -7.800000 -v -9.300000 0.300001 -7.900000 -v -9.300000 0.300001 -7.900000 -v -9.300000 0.300001 -7.900000 -v 12.800000 19.899998 9.900002 -v 12.800000 19.899998 9.900002 -v -12.800000 0.199998 9.900000 -v -12.800000 0.199998 9.900000 -v -12.800000 0.199998 9.900000 -v -9.600000 0.300001 -7.200000 -v -9.600000 0.300001 -7.200000 -v -9.400000 0.300001 -7.800000 -v -9.400000 0.300001 -7.800000 -v -6.200000 9.899998 9.800002 -v -6.200000 9.899998 9.800002 -v -9.900000 0.200001 -7.900000 -v -9.900000 0.200001 -7.900000 -v 6.200000 9.899998 9.800002 -v 6.200000 9.899998 9.800002 -v 6.200000 9.899998 9.800002 -v 6.200000 10.099998 9.800002 -v 6.200000 10.099998 9.800002 -v 6.400000 6.999999 9.800001 -v 6.400000 6.999999 9.800001 -v 6.400000 6.999999 9.800001 -v 6.400000 6.999999 9.800001 -v 6.400000 6.999999 9.800001 -v 6.200000 9.900002 -9.999998 -v 6.200000 9.900002 -9.999998 -v 6.200000 9.900002 -9.999998 -v 6.200000 10.100002 -9.999998 -v 6.200000 10.100002 -9.999998 -v -2.000000 0.400001 -7.900000 -v -1.900000 0.300001 -7.900000 -v 4.400000 6.800002 -9.799999 -v 4.400000 6.800002 -9.799999 -v 4.400000 6.800002 -9.799999 -v 4.400000 6.800002 -9.799999 -v 6.200000 7.000001 -9.799999 -v 6.200000 7.000001 -9.799999 -v -8.200000 6.999999 10.000001 -v -8.200000 6.999999 10.000001 -v -12.800000 -0.000002 10.000000 -v -12.800000 -0.000002 10.000000 -v -12.800000 -0.000002 10.000000 -v -12.800000 -0.000002 10.000000 -v -12.800000 -0.000002 10.000000 -v -12.800000 -0.000002 10.000000 -v -12.800000 -0.000002 10.000000 -v -12.800000 -0.000002 10.000000 -v -6.400000 12.999998 9.900002 -v -4.600000 9.899998 9.900002 -v -4.600000 9.899998 9.900002 -v -4.600000 6.999999 9.800001 -v -1.900000 0.300001 -7.800000 -v -2.000000 0.400001 -7.800000 -v -4.600000 13.000002 -9.899998 -v -4.600000 13.000002 -9.899998 -v -4.600000 12.999998 9.900002 -v -4.600000 12.999998 9.900002 -v -6.200000 12.999998 9.800002 -v -8.200000 7.000001 -9.799999 -v -8.200000 7.000001 -9.799999 -v -8.400000 6.800002 -9.799999 -v -8.400000 6.800002 -9.799999 -v -8.400000 6.800002 -9.799999 -v -8.400000 6.800002 -9.799999 -v 6.200000 13.000002 -9.799998 -v 6.200000 10.100002 -9.999998 -v 6.200000 10.100002 -9.999998 -v 8.200000 13.000002 -9.899998 -v 8.200000 13.000002 -9.899998 -v 6.400000 13.000002 -9.999998 -v 6.400000 10.100002 -9.799998 -v 6.400000 10.100002 -9.799998 -v 6.400000 10.100002 -9.799998 -v 8.200000 9.900002 -9.799998 -v 8.200000 9.900002 -9.799998 -v 8.200000 9.900002 -9.799998 -v -8.200000 7.000001 -9.899999 -v -8.200000 7.000001 -9.899999 -v -8.200000 9.900002 -9.799998 -v -8.200000 9.900002 -9.899998 -v -8.200000 9.900002 -9.899998 -v -12.800000 20.000002 -9.999997 -v -12.800000 20.000002 -9.999997 -v -12.800000 20.000002 -9.999997 -v -12.800000 20.000002 -9.999997 -v -12.800000 20.000002 -9.999997 -v -12.800000 20.000002 -9.999997 -v -12.800000 20.000002 -9.999997 -v -12.800000 20.000002 -9.999997 -v -12.800000 20.000002 -9.999997 -v -12.800000 20.000002 -9.999997 -v -12.800000 20.000002 -9.999997 -v -8.200000 7.000001 -9.999999 -v -8.200000 7.000001 -9.999999 -v 6.200000 6.999999 9.800001 -v 6.200000 6.999999 9.800001 -v -8.200000 9.900002 -9.999998 -v -8.200000 9.900002 -9.999998 -v -6.400000 7.000001 -9.799999 -v -8.200000 7.000001 -9.899999 -v -8.200000 7.000001 -9.899999 -v -6.400000 6.999999 9.800001 -v -6.400000 6.999999 9.800001 -v -6.200000 6.999999 9.800001 -v -6.200000 6.999999 9.800001 -v -6.200000 6.999999 9.800001 -v -6.200000 6.999999 9.800001 -v -6.200000 6.999999 9.800001 -v 4.600000 6.999999 9.800001 -v 4.600000 9.899998 9.900002 -v 4.600000 9.899998 9.900002 -v 4.600000 10.100002 -9.899998 -v 4.600000 10.100002 -9.899998 -v 4.600000 13.000002 -9.799998 -v 4.600000 13.000002 -9.899998 -v 4.600000 13.000002 -9.899998 -v 6.400000 10.099998 10.000002 -v 8.200000 10.099998 9.900002 -v 8.200000 10.099998 9.900002 -v -6.200000 10.100002 -9.799998 -v -12.800000 19.899998 9.900002 -v -12.800000 19.899998 9.900002 -v -12.800000 19.899998 9.900002 -v -4.600000 13.000002 -9.999998 -v -4.600000 13.000002 -9.999998 -v -4.600000 13.000002 -9.999998 -v -4.600000 13.000002 -9.999998 -v -4.600000 13.000002 -9.999998 -v 12.700000 0.000002 -9.900000 -v 12.700000 0.000002 -9.900000 -v -12.800000 0.000002 -10.000000 -v -12.800000 0.000002 -10.000000 -v -9.900000 0.300001 -7.800000 -v -9.900000 0.200001 -7.900000 -v 4.600000 13.000002 -9.999998 -v 4.600000 13.000002 -9.999998 -v 4.400000 6.800002 -9.899999 -v 8.400000 6.800002 -9.799999 -v -8.400000 13.200002 -9.799998 -v -8.400000 6.800002 -9.899999 -v 4.600000 9.899998 10.000002 -v 4.600000 9.899998 10.000002 -v -5.600000 0.400001 -9.200000 -v -5.700000 0.400002 -9.300000 -v -12.800000 0.300001 -8.500000 -v -12.800000 0.300001 -8.500000 -v -12.700000 0.300002 -9.300000 -v -12.700000 0.300002 -9.300000 -v -6.200000 12.999998 9.900002 -v -6.200000 12.999998 9.900002 -v -4.600000 12.999998 10.000002 -v -12.800000 0.000002 -10.000000 -v -12.800000 0.000002 -10.000000 -v -12.800000 0.000002 -10.000000 -v -12.800000 0.000002 -10.000000 -v -12.800000 0.000002 -10.000000 -v -12.800000 0.000002 -10.000000 -v -12.800000 0.000002 -10.000000 -v -12.800000 0.000002 -10.000000 -v 6.200000 9.899998 10.000002 -v 6.200000 9.899998 10.000002 -v 6.200000 6.999999 9.900001 -v 6.200000 6.999999 9.800001 -v 8.200000 9.900002 -9.899998 -v 8.200000 9.900002 -9.899998 -v 6.400000 9.900002 -9.799998 -v 6.400000 13.000002 -9.899998 -v 6.400000 13.000002 -9.899998 -v 8.200000 13.000002 -9.799998 -v 6.200000 13.000002 -9.899998 -v 8.200000 12.999998 10.000002 -v 8.200000 10.099998 9.900002 -v 8.200000 10.099998 9.900002 -v 8.400000 6.800002 -9.799999 -v 8.400000 6.800002 -9.799999 -v 8.400000 6.800002 -9.799999 -v 8.400000 6.800002 -9.799999 -v 4.600000 7.000001 -9.999999 -v 4.600000 7.000001 -9.999999 -v 4.600000 7.000001 -9.999999 -v 4.600000 7.000001 -9.999999 -v 4.600000 7.000001 -9.999999 -v 8.400000 13.200002 -9.899998 -v 8.400000 13.200002 -9.899998 -v 8.400000 13.200002 -9.899998 -v 12.800000 19.900002 -9.899997 -v 12.800000 19.900002 -9.899997 -v -6.200000 6.999999 9.900001 -v -6.200000 6.999999 9.900001 -v -4.600000 6.999999 9.900001 -v -4.600000 6.999999 9.900001 -v -6.200000 10.100002 -9.999998 -v -6.200000 10.100002 -9.999998 -v -6.200000 13.000002 -9.799998 -v -6.200000 13.000002 -9.899998 -v -4.600000 10.100002 -9.799998 -v -4.600000 10.100002 -9.799998 -v 6.200000 12.999998 9.800002 -v 6.200000 12.999998 9.800002 -v 6.200000 12.999998 9.800002 -v 6.200000 12.999998 9.800002 -v 6.200000 12.999998 9.800002 -v 6.400000 12.999998 9.800002 -v 6.400000 12.999998 9.800002 -v -8.400000 6.799999 9.800001 -v -8.400000 6.799999 9.800001 -v -8.400000 6.799999 9.800001 -v -8.400000 6.799999 9.800001 -v -8.200000 6.999999 9.800001 -v -8.200000 6.999999 9.800001 -v -9.600000 0.300001 -8.500000 -v -9.600000 0.300001 -8.500000 -v -9.600000 0.300001 -8.500000 -v -9.600000 0.300001 -8.500000 -v -9.600000 0.300001 -8.500000 -v -9.600000 0.300001 -8.500000 -v -12.700000 0.300002 -9.200000 -v -12.700000 0.300002 -9.200000 -v -12.700000 0.300002 -9.200000 -v 6.400000 7.000001 -9.899999 -v 6.400000 7.000001 -9.899999 -v 8.200000 7.000001 -9.899999 -v 8.200000 7.000001 -9.899999 -v -5.700000 0.400002 -9.300000 -v -5.600000 0.300002 -9.300000 -v -12.800000 20.000002 -9.899997 -v -12.800000 20.000002 -9.899997 -v 12.800000 20.000002 -9.899997 -v 12.800000 20.000002 -9.899997 -v 12.700000 0.000002 -9.900000 -v 12.700000 0.199998 9.900000 -v 6.400000 9.900002 -9.999998 -v 6.400000 9.900002 -9.999998 -v -12.800000 0.200001 -8.500000 -v -12.800000 0.300001 -8.500000 -v -12.800000 0.300002 -9.900000 -v -12.800000 0.300002 -9.900000 -v 4.600000 9.899998 9.900002 -v 6.200000 9.899998 10.000002 -v 6.200000 9.899998 10.000002 -v 12.800000 0.000002 -9.900000 -v 8.200000 6.999999 10.000001 -v 6.400000 6.999999 9.900001 -v 6.400000 6.999999 9.900001 -v -5.400000 0.300001 -8.500000 -v -5.400000 0.300001 -8.500000 -v -5.400000 0.300001 -8.500000 -v -5.400000 0.300001 -8.500000 -v -5.400000 0.300001 -8.500000 -v -5.400000 0.300001 -8.500000 -v -5.400000 0.300001 -8.500000 -v -6.400000 6.999999 10.000001 -v -6.400000 6.999999 10.000001 -v -6.200000 6.999999 10.000001 -v -6.200000 6.999999 10.000001 -v -6.200000 6.999999 10.000001 -v -6.200000 6.999999 10.000001 -v -6.200000 6.999999 10.000001 -v -4.600000 6.999999 10.000001 -v -4.600000 6.999999 10.000001 -v 4.600000 6.999999 10.000001 -v 4.600000 6.999999 10.000001 -v 4.600000 6.999999 10.000001 -v 4.600000 6.999999 10.000001 -v 4.600000 6.999999 10.000001 -v 6.200000 6.999999 10.000001 -v 6.200000 6.999999 10.000001 -v 6.400000 6.999999 10.000001 -v 6.400000 6.999999 10.000001 -v 6.400000 6.999999 10.000001 -v 6.400000 6.999999 10.000001 -v 6.400000 6.999999 10.000001 -v 8.200000 6.999999 10.000001 -v 8.200000 6.999999 10.000001 -v 6.400000 9.900002 -9.999998 -v -4.600000 10.100002 -9.999998 -v 12.800000 0.000002 -10.000000 -v 12.800000 0.000002 -10.000000 -v 12.800000 0.000002 -10.000000 -v 12.800000 0.000002 -10.000000 -v -6.200000 10.100002 -9.999998 -v -6.200000 10.100002 -9.999998 -v -6.200000 10.100002 -9.999998 -v -4.600000 9.900002 -9.999998 -v -4.600000 9.900002 -9.999998 -v -4.600000 9.900002 -9.999998 -v -4.600000 7.000001 -9.799999 -v -4.600000 7.000001 -9.799999 -v 12.700000 0.199998 9.900000 -v 12.700000 0.199998 9.900000 -v 12.700000 0.199998 9.900000 -v 8.200000 12.999998 9.900002 -v 8.200000 12.999998 9.900002 -v 4.400000 13.199998 9.800002 -v 4.400000 13.199998 9.800002 -v 4.400000 13.199998 9.800002 -v 4.400000 13.199998 9.800002 -v 4.400000 13.199998 9.800002 -v 4.400000 13.199998 9.800002 -v 4.400000 13.199998 9.800002 -v 4.600000 9.899998 9.800002 -v 4.600000 9.899998 9.800002 -v -1.600000 0.200001 -8.500000 -v -1.600000 0.200001 -8.500000 -v -1.600000 0.200001 -8.500000 -v -9.300000 0.300001 -7.800000 -v -9.300000 0.300001 -7.800000 -v -9.800000 0.200001 -7.900000 -v -9.800000 0.300001 -7.800000 -v -12.600000 0.300002 -9.200000 -v -12.600000 0.300002 -9.200000 -v -5.700000 0.300002 -9.200000 -v -5.700000 0.300002 -9.200000 -v -5.700000 0.300002 -9.200000 -v -8.200000 7.000001 -9.999999 -v -6.200000 6.999999 9.900001 -v -6.200000 9.899998 10.000002 -v -6.200000 9.899998 10.000002 -v 6.200000 9.899998 10.000002 -v 6.200000 9.899998 10.000002 -v 6.200000 9.899998 10.000002 -v -6.200000 6.999999 9.800001 -v 8.200000 12.999998 9.800002 -v 8.200000 12.999998 9.800002 -v 8.200000 12.999998 9.800002 -v -4.400000 6.800002 -9.899999 -v -4.400000 13.200002 -9.799998 -v -6.400000 10.099998 10.000002 -v -6.400000 10.099998 10.000002 -v -6.400000 10.100002 -9.799998 -v -6.400000 10.100002 -9.799998 -v -8.200000 10.100002 -9.899998 -v -5.400000 0.200002 -9.900000 -v -5.400000 0.200002 -9.900000 -v -5.400000 0.200002 -9.900000 -v 4.400000 6.800002 -9.899999 -v 4.400000 6.800002 -9.899999 -v 4.400000 6.800002 -9.899999 -v 6.400000 7.000001 -9.999999 -v 4.600000 10.100002 -9.999998 -v 6.200000 10.099998 10.000002 -v 6.200000 10.099998 10.000002 -v 4.600000 10.099998 9.800002 -v 6.400000 7.000001 -9.999999 -v 6.400000 7.000001 -9.999999 -v 6.400000 7.000001 -9.999999 -v 6.400000 7.000001 -9.999999 -v 6.400000 7.000001 -9.999999 -v 8.200000 7.000001 -9.999999 -v 8.200000 7.000001 -9.999999 -v 8.400000 13.199998 9.900002 -v 4.400000 13.199998 9.800002 -v -12.800000 20.000002 -9.999997 -v -6.200000 9.900002 -9.999998 -v -6.200000 9.900002 -9.999998 -v -4.600000 9.900002 -9.799998 -v -4.600000 7.000001 -9.899999 -v -4.600000 7.000001 -9.899999 -v 8.200000 10.100002 -9.999998 -v 8.200000 10.100002 -9.999998 -v 8.400000 6.799999 9.800001 -v 8.400000 6.799999 9.800001 -v 8.400000 6.799999 9.800001 -v 8.400000 6.799999 9.800001 -v 4.400000 13.200002 -9.799998 -v 4.400000 13.200002 -9.799998 -v 4.400000 13.200002 -9.799998 -v 4.400000 13.200002 -9.799998 -v 4.400000 13.200002 -9.799998 -v 4.400000 13.200002 -9.799998 -v 4.400000 13.200002 -9.799998 -v 4.600000 9.900002 -9.799998 -v 4.600000 9.900002 -9.799998 -v 4.600000 10.100002 -9.799998 -v 4.600000 10.100002 -9.799998 -v 4.600000 10.100002 -9.799998 -v 4.600000 13.000002 -9.799998 -v 6.200000 13.000002 -9.799998 -v 6.200000 13.000002 -9.799998 -v 6.200000 13.000002 -9.799998 -v 6.200000 13.000002 -9.799998 -v 6.200000 13.000002 -9.799998 -v 6.400000 13.000002 -9.799998 -v 6.400000 13.000002 -9.799998 -v 8.200000 13.000002 -9.799998 -v 8.200000 13.000002 -9.799998 -v 8.200000 13.000002 -9.799998 -v 8.400000 13.200002 -9.799998 -v -12.800000 0.200001 -8.500000 -v -12.800000 0.200001 -8.500000 -v -5.700000 0.300002 -9.300000 -v -5.700000 0.300002 -9.300000 -v -12.800000 0.300002 -9.900000 -v -12.800000 0.300002 -9.900000 -v -12.800000 0.300002 -9.900000 -v -12.800000 0.300002 -9.900000 -v -6.200000 6.999999 9.800001 -v -4.400000 6.799999 9.800001 -v -4.400000 6.799999 9.800001 -v -4.400000 6.799999 9.800001 -v -4.400000 6.799999 9.800001 -v 6.400000 9.899998 9.800002 -v 6.400000 9.899998 9.800002 -v 6.400000 10.099998 9.800002 -v 6.400000 10.099998 9.800002 -v 6.400000 10.099998 9.800002 -v -1.900000 0.300001 -7.900000 -v -1.900000 0.300001 -7.900000 -v -1.900000 0.300001 -7.900000 -v -1.900000 0.300001 -7.900000 -v -1.600000 0.300001 -8.500000 -v -8.200000 9.900002 -9.899998 -v -6.400000 9.900002 -9.799998 -v -6.400000 9.900002 -9.799998 -v -4.600000 10.100002 -9.999998 -v -4.600000 10.100002 -9.999998 -v 6.400000 13.000002 -9.999998 -v 6.400000 13.000002 -9.999998 -v 8.200000 13.000002 -9.999998 -v 8.200000 13.000002 -9.999998 -v 8.200000 13.000002 -9.999998 -v 12.800000 20.000002 -9.999997 -v -5.400000 0.300001 -8.500000 -v -1.600000 0.200001 -8.500000 -v -6.400000 9.899998 10.000002 -v -6.400000 9.899998 10.000002 -v -6.400000 9.899998 10.000002 -v -4.600000 9.899998 9.900002 -v -4.600000 9.899998 9.900002 -v -6.200000 9.899998 10.000002 -v 8.200000 9.899998 9.800002 -v 8.200000 9.899998 9.800002 -v 8.200000 9.899998 9.800002 -v -6.200000 9.899998 9.800002 -v -4.600000 10.099998 9.800002 -v -4.600000 10.099998 9.800002 -v -6.400000 13.000002 -9.799998 -v -6.400000 10.100002 -9.999998 -v -6.400000 10.100002 -9.999998 -v -1.600000 0.200001 -7.200000 -v -9.600000 0.300001 -7.200000 -v -4.600000 9.900002 -9.899998 -v -4.600000 9.900002 -9.899998 -v -9.600000 0.200001 -8.500000 -v -12.800000 0.300001 -8.500000 -v -6.200000 9.900002 -9.799998 -v -6.200000 9.900002 -9.799998 -v 6.200000 12.999998 9.900002 -v 6.200000 12.999998 9.900002 -v 4.600000 12.999998 9.800002 -v -6.400000 9.900002 -9.799998 -v -6.400000 9.900002 -9.799998 -v -6.400000 9.900002 -9.799998 -v -6.400000 13.000002 -9.899998 -v -6.400000 13.000002 -9.899998 -v -8.200000 13.000002 -9.999998 -v 4.600000 7.000001 -9.799999 -v 4.600000 7.000001 -9.799999 -v 8.200000 10.099998 9.800002 -v -9.600000 0.200001 -8.500000 -v 12.700000 0.200002 -9.900000 -v 12.700000 0.200002 -9.900000 -v 12.700000 0.200002 -9.900000 -v 12.700000 0.200002 -9.900000 -v 12.800000 0.000002 -9.900000 -v -5.600000 0.300002 -9.300000 -v -5.600000 0.300002 -9.300000 -v -5.600000 0.300002 -9.300000 -v -5.400000 0.300002 -9.900000 -v -9.300000 0.400001 -7.800000 -v -9.400000 0.400001 -7.900000 -v -1.600000 0.200001 -7.200000 -v -4.600000 6.999999 9.800001 -v -4.600000 6.999999 9.800001 -v -4.600000 7.000001 -9.799999 -v -6.200000 7.000001 -9.899999 -v -6.200000 7.000001 -9.899999 -v 4.600000 7.000001 -9.899999 -v 4.600000 7.000001 -9.899999 -v 4.600000 9.900002 -9.799998 -v 4.600000 9.900002 -9.899998 -v 4.600000 9.900002 -9.899998 -v -4.600000 7.000001 -9.999999 -v -4.600000 7.000001 -9.999999 -v 6.200000 10.100002 -9.799998 -v 6.200000 10.100002 -9.799998 -v 4.600000 10.100002 -9.899998 -v -12.800000 0.000002 -10.000000 -v -12.800000 0.000002 -10.000000 -v -12.800000 0.000002 -10.000000 -v 4.600000 10.100002 -9.999998 -v -8.400000 6.799999 9.800001 -v -4.400000 6.799999 9.900001 -v -9.600000 0.300001 -7.200000 -v -9.600000 0.200001 -8.500000 -v -4.600000 6.999999 10.000001 -v -8.200000 9.899998 9.900002 -v -6.400000 9.899998 10.000002 -v -6.400000 9.899998 10.000002 -v -6.400000 9.899998 10.000002 -v -6.400000 9.899998 10.000002 -v -6.400000 6.999999 9.900001 -v -6.400000 6.999999 9.800001 -v -6.400000 13.000002 -9.899998 -v -12.800000 -0.000002 9.900000 -v -12.800000 -0.000002 9.900000 -v 12.800000 -0.000002 10.000000 -v 12.800000 -0.000002 10.000000 -v 8.200000 9.899998 10.000002 -v 8.200000 9.899998 10.000002 -v 8.200000 9.899998 10.000002 -v 4.600000 12.999998 9.900002 -v 4.600000 12.999998 9.900002 -v 6.200000 12.999998 10.000002 -v -2.000000 0.400001 -7.800000 -v -2.000000 0.300001 -7.900000 -v -8.200000 13.000002 -9.899998 -v -8.200000 13.000002 -9.899998 -v -6.400000 13.000002 -9.799998 -v -6.400000 10.100002 -9.799998 -v -6.400000 10.100002 -9.799998 -v 8.200000 9.899998 10.000002 -v 8.200000 6.999999 9.900001 -v 8.200000 6.999999 9.900001 -v 6.400000 12.999998 9.900002 -v 6.400000 12.999998 9.900002 -v 8.200000 12.999998 9.900002 -v 8.200000 12.999998 9.900002 -v -9.800000 0.200001 -7.800000 -v -8.400000 13.199998 9.800002 -v -8.400000 13.199998 9.800002 -v -8.400000 13.199998 9.800002 -v -8.400000 13.199998 9.800002 -v -8.400000 13.199998 9.800002 -v -8.400000 13.199998 9.800002 -v -8.400000 13.199998 9.800002 -v -8.200000 9.899998 9.800002 -v -8.200000 9.899998 9.800002 -v -8.200000 10.099998 9.800002 -v -8.200000 10.099998 9.800002 -v -8.200000 10.099998 9.800002 -v -8.200000 12.999998 9.800002 -v 8.400000 6.799999 9.900001 -v 8.400000 6.799999 9.900001 -v -6.400000 12.999998 9.800002 -v -6.400000 12.999998 9.800002 -v -6.400000 12.999998 9.800002 -v -6.400000 12.999998 9.800002 -v -6.400000 12.999998 9.800002 -v -6.200000 12.999998 9.800002 -v -6.200000 12.999998 9.800002 -v -4.600000 12.999998 9.800002 -v -4.600000 12.999998 9.800002 -v -4.600000 12.999998 9.800002 -v -4.400000 13.199998 9.800002 -v 4.600000 6.999999 9.900001 -v 4.600000 6.999999 9.900001 -v 6.200000 6.999999 9.900001 -v 6.200000 6.999999 9.900001 -v -6.400000 7.000001 -9.899999 -v -6.400000 7.000001 -9.899999 -v -8.200000 10.100002 -9.999998 -v -8.200000 10.100002 -9.999998 -v -8.200000 10.100002 -9.999998 -v -8.200000 13.000002 -9.999998 -v -6.400000 13.000002 -9.999998 -v -6.400000 13.000002 -9.999998 -v -6.400000 13.000002 -9.999998 -v -6.400000 13.000002 -9.999998 -v -6.400000 13.000002 -9.999998 -v -6.200000 13.000002 -9.999998 -v -6.200000 13.000002 -9.999998 -v 4.600000 9.900002 -9.999998 -v 4.600000 9.900002 -9.999998 -v 4.600000 10.100002 -9.999998 -v 4.600000 10.100002 -9.999998 -v 4.600000 10.100002 -9.999998 -v -12.800000 19.900002 -9.899997 -v -12.800000 19.900002 -9.899997 -v -12.800000 19.900002 -9.899997 -v -12.800000 19.900002 -9.899997 -v -12.800000 19.900002 -9.899997 -v -8.400000 13.200002 -9.899998 -v 6.200000 13.000002 -9.999998 -v 6.200000 13.000002 -9.999998 -v 6.200000 13.000002 -9.999998 -v 6.200000 13.000002 -9.999998 -v 6.200000 13.000002 -9.999998 -v 6.400000 10.100002 -9.999998 -v 6.400000 10.100002 -9.999998 -v 6.400000 13.000002 -9.799998 -v 6.400000 13.000002 -9.899998 -v -12.800000 19.900002 -9.899997 -v -12.800000 19.900002 -9.899997 -v -12.800000 19.900002 -9.899997 -v -12.800000 20.000002 -9.899997 -v -12.800000 20.000002 -9.899997 -v -12.800000 19.999998 9.900002 -v -12.800000 19.999998 9.900002 -v 12.800000 19.999998 9.900002 -v 12.800000 19.999998 9.900002 -v -6.200000 10.099998 10.000002 -v -4.600000 10.099998 9.900002 -v -4.600000 10.099998 9.900002 -v -8.200000 9.899998 9.800002 -v -4.600000 7.000001 -9.999999 -v 6.200000 9.900002 -9.799998 -v 6.200000 9.900002 -9.799998 -v 6.200000 7.000001 -9.999999 -v 6.200000 7.000001 -9.899999 -v 8.200000 9.899998 9.900002 -v 8.200000 9.899998 9.900002 -v 6.400000 7.000001 -9.799999 -v 6.400000 7.000001 -9.799999 -v 6.400000 7.000001 -9.799999 -v 6.400000 7.000001 -9.799999 -v 6.400000 7.000001 -9.799999 -v 8.200000 7.000001 -9.799999 -v 8.200000 7.000001 -9.799999 -v -9.800000 0.300001 -7.800000 -v -9.900000 0.300001 -7.900000 -v -9.300000 0.300001 -7.900000 -v -9.300000 0.400001 -7.800000 -v -12.600000 0.300002 -9.300000 -v -12.600000 0.300002 -9.300000 -v -12.600000 0.300002 -9.300000 -v -8.200000 10.099998 9.900002 -v -8.200000 10.099998 9.900002 -v -8.200000 12.999998 10.000002 -v -8.200000 12.999998 9.900002 -v -8.200000 12.999998 9.900002 -v -6.200000 7.000001 -9.899999 -v -6.200000 9.900002 -9.799998 -v -6.200000 9.900002 -9.799998 -v -5.600000 0.300002 -9.300000 -v -5.600000 0.400001 -9.200000 -v 8.200000 10.100002 -9.799998 -v 8.200000 10.100002 -9.799998 -v 4.600000 6.999999 9.800001 -v -1.900000 0.300001 -7.900000 -v -1.900000 0.400001 -7.800000 -v -8.200000 7.000001 -9.999999 -v 4.600000 7.000001 -9.999999 -v -6.400000 7.000001 -9.999999 -v -6.400000 7.000001 -9.999999 -v -6.200000 7.000001 -9.999999 -v -6.200000 7.000001 -9.999999 -v -6.200000 7.000001 -9.999999 -v -6.200000 7.000001 -9.999999 -v -6.200000 7.000001 -9.999999 -v 6.400000 6.999999 9.900001 -v 6.400000 9.899998 10.000002 -v 6.400000 9.899998 10.000002 -v 6.200000 7.000001 -9.999999 -v 6.200000 7.000001 -9.999999 -v -12.800000 19.999998 10.000003 -v -12.800000 19.999998 9.900002 -v -12.800000 19.999998 9.900002 -v 12.700000 -0.000002 9.900000 -v 12.700000 -0.000002 9.900000 -v 12.700000 -0.000002 9.900000 -v 6.400000 10.099998 9.800002 -v 6.400000 10.099998 9.800002 -v 6.400000 12.999998 9.900002 -v -4.400000 13.200002 -9.799998 -v -8.400000 13.200002 -9.899998 -v -6.200000 9.899998 10.000002 -v -6.200000 9.899998 10.000002 -v -6.200000 10.099998 10.000002 -v -6.200000 10.099998 10.000002 -v -6.200000 10.099998 10.000002 -v 6.400000 9.899998 10.000002 -v 6.400000 9.899998 10.000002 -v 6.400000 10.099998 10.000002 -v 6.400000 10.099998 10.000002 -v 6.400000 10.099998 10.000002 -v -6.200000 10.100002 -9.799998 -v -6.200000 10.100002 -9.799998 -v -6.200000 10.100002 -9.799998 -v 6.400000 12.999998 10.000002 -v -9.900000 0.300001 -7.900000 -v -9.800000 0.200001 -7.900000 -v 8.200000 13.000002 -9.799998 -v 8.200000 10.100002 -9.899998 -v 8.200000 10.100002 -9.899998 -v -5.400000 0.200002 -9.900000 -v 12.700000 0.200002 -9.900000 -v -4.400000 13.200002 -9.899998 -v -4.400000 13.200002 -9.899998 -v -4.400000 13.200002 -9.899998 -v 4.400000 13.200002 -9.899998 -v 4.400000 13.200002 -9.899998 -v -12.800000 19.899998 9.900002 -v -12.800000 19.899998 9.900002 -v -12.800000 19.899998 9.900002 -v -12.800000 19.899998 9.900002 -v -12.800000 19.899998 9.900002 -v -8.400000 6.799999 9.900001 -v -8.400000 6.799999 9.900001 -v -8.400000 13.199998 9.900002 -v -2.000000 0.300001 -7.900000 -v -2.000000 0.300001 -7.900000 -v -4.400000 13.199998 9.900002 -v -4.400000 13.199998 9.900002 -v -4.400000 13.199998 9.900002 -v 4.400000 13.199998 9.900002 -v 4.400000 13.199998 9.900002 -v -6.200000 7.000001 -9.999999 -v 6.200000 10.099998 10.000002 -v 6.200000 10.099998 10.000002 -v 6.400000 6.999999 9.800001 -v 12.800000 19.899998 9.900002 -v 12.800000 19.899998 9.900002 -v 12.800000 19.899998 9.900002 -v 12.800000 19.999998 10.000003 -v 12.800000 19.999998 9.900002 -v 12.800000 19.999998 9.900002 -v 4.600000 9.899998 9.800002 -v -4.600000 9.900002 -9.899998 -v -4.600000 9.900002 -9.899998 -v -6.200000 9.900002 -9.799998 -v -6.200000 9.900002 -9.999998 -v -9.800000 0.200001 -7.800000 -v -9.900000 0.300001 -7.800000 -v -12.700000 0.400002 -9.300000 -v -12.600000 0.300002 -9.300000 -v -12.600000 0.300002 -9.200000 -v -12.700000 0.400001 -9.200000 -v 6.400000 12.999998 9.800002 -v -4.600000 13.000002 -9.899998 -v -4.600000 13.000002 -9.899998 -v -6.200000 13.000002 -9.999998 -v 8.200000 6.999999 9.800001 -v 4.600000 10.099998 9.900002 -v -8.400000 6.800002 -9.899999 -v -8.400000 6.800002 -9.899999 -v -8.400000 6.800002 -9.899999 -v 8.200000 13.000002 -9.899998 -v 8.200000 13.000002 -9.899998 -v -12.800000 0.199998 9.900000 -v -12.800000 0.199998 9.900000 -v -12.800000 0.199998 9.900000 -v -12.800000 0.199998 9.900000 -v -4.400000 6.799999 9.900001 -v -4.400000 6.799999 9.900001 -v 4.400000 6.799999 9.900001 -v 4.400000 6.799999 9.900001 -v 4.400000 6.799999 9.900001 -v -8.200000 10.099998 9.800002 -v 12.800000 19.999998 10.000003 -v -6.400000 6.999999 10.000001 -v -8.200000 6.999999 9.900001 -v -8.200000 6.999999 9.900001 -v 8.200000 6.999999 9.800001 -v 8.200000 6.999999 9.800001 -v 6.200000 7.000001 -9.799999 -v 4.600000 7.000001 -9.899999 -v 4.600000 7.000001 -9.899999 -v -1.900000 0.400001 -7.800000 -v -2.000000 0.400001 -7.900000 -v -9.400000 0.300001 -7.900000 -v -9.400000 0.300001 -7.900000 -v -8.200000 12.999998 9.900002 -v -8.200000 12.999998 9.900002 -v -6.400000 12.999998 10.000002 -v -6.400000 10.099998 10.000002 -v -6.400000 10.099998 10.000002 -v -8.200000 10.099998 9.800002 -v -6.400000 12.999998 9.900002 -v -6.400000 12.999998 9.900002 -v 8.400000 6.799999 9.800001 -v 8.400000 13.199998 9.900002 -v 8.200000 10.100002 -9.899998 -v 8.200000 10.100002 -9.899998 -v 6.400000 10.100002 -9.999998 -v 4.400000 6.799999 9.800001 -v 8.400000 6.799999 9.900001 -v -9.400000 0.400001 -7.800000 -v -9.400000 0.300001 -7.900000 -v 12.800000 19.900002 -9.899997 -v 12.800000 19.900002 -9.899997 -v 12.800000 19.900002 -9.899997 -v 12.800000 20.000002 -9.899997 -v 12.800000 20.000002 -9.899997 -v 8.200000 10.099998 9.800002 -v 8.200000 10.099998 9.800002 -v -5.700000 0.400001 -9.200000 -v -5.700000 0.300002 -9.300000 -v -4.600000 12.999998 10.000002 -v -4.600000 10.099998 9.900002 -v -4.600000 10.099998 9.900002 -v 8.200000 12.999998 10.000002 -v 4.400000 13.199998 9.900002 -v 4.400000 6.799999 9.800001 -v 6.400000 9.900002 -9.799998 -v 6.400000 9.900002 -9.799998 -v -6.200000 13.000002 -9.899998 -v -6.200000 13.000002 -9.899998 -v -4.600000 13.000002 -9.799998 -v 4.600000 6.999999 9.800001 -v 4.600000 6.999999 9.800001 -v 4.600000 10.099998 9.800002 -v 4.600000 10.099998 9.800002 -v 4.600000 10.099998 9.800002 -v 4.600000 12.999998 9.800002 -v 8.200000 6.999999 9.900001 -v 8.200000 6.999999 9.900001 -v 8.400000 13.199998 9.800002 -v -4.600000 7.000001 -9.899999 -v -4.600000 7.000001 -9.899999 -v 12.800000 0.000002 -10.000000 -v 12.800000 0.000002 -10.000000 -v -6.400000 9.900002 -9.799998 -v -6.400000 9.900002 -9.799998 -v -6.400000 7.000001 -9.999999 -v -6.400000 7.000001 -9.899999 -v -8.200000 9.900002 -9.999998 -v -4.600000 12.999998 9.900002 -v -4.600000 12.999998 9.900002 -v -12.800000 0.000002 -9.900000 -v -12.800000 0.000002 -9.900000 -v 8.200000 10.100002 -9.999998 -v -8.200000 6.999999 9.900001 -v -8.200000 6.999999 9.900001 -v -8.200000 9.899998 10.000002 -v -8.200000 9.899998 9.900002 -v -8.200000 9.899998 9.900002 -v -6.400000 9.899998 9.800002 -v -6.400000 9.899998 9.800002 -v -6.400000 9.899998 9.800002 -v 4.400000 6.799999 9.800001 -v 4.400000 6.799999 9.800001 -v 4.400000 6.799999 9.800001 -v 4.400000 6.799999 9.800001 -v -5.400000 0.200002 -9.900000 -v -5.400000 0.300001 -8.500000 -v 6.400000 6.999999 9.800001 -v -1.600000 0.200001 -8.500000 -v -1.600000 0.300001 -7.200000 -v -6.200000 7.000001 -9.999999 -v 4.600000 10.099998 9.900002 -v 4.600000 10.099998 9.900002 -v 4.600000 12.999998 10.000002 -v 4.600000 12.999998 9.900002 -v 4.600000 12.999998 9.900002 -v 6.400000 7.000001 -9.899999 -v 6.400000 9.900002 -9.799998 -v 6.400000 9.900002 -9.799998 -v -12.800000 0.300002 -9.900000 -v -5.400000 0.300002 -9.900000 -v -5.400000 0.300002 -9.900000 -v -8.200000 10.100002 -9.999998 -v -6.400000 10.099998 9.800002 -v -6.400000 10.099998 9.800002 -v 8.400000 13.200002 -9.799998 -v 4.400000 13.200002 -9.899998 -v 12.800000 -0.000002 10.000000 -v 4.600000 9.900002 -9.899998 -v 6.200000 9.900002 -9.799998 -v 6.200000 9.900002 -9.799998 -v 6.200000 12.999998 10.000002 -v 6.200000 10.099998 9.800002 -v 6.200000 10.099998 9.800002 -v 8.200000 9.900002 -9.799998 -v 8.200000 7.000001 -9.899999 -v 8.200000 7.000001 -9.899999 -v -4.400000 6.800002 -9.899999 -v -4.400000 6.800002 -9.899999 -v -4.400000 6.800002 -9.899999 -v -9.400000 0.400001 -7.900000 -v -9.300000 0.300001 -7.900000 -v 6.400000 7.000001 -9.999999 -v -4.600000 9.899998 10.000002 -v -4.600000 9.899998 10.000002 -v -4.600000 9.899998 10.000002 -v 4.600000 9.900002 -9.999998 -v -9.300000 0.300001 -7.800000 -v -9.400000 0.400001 -7.800000 -v -4.600000 10.099998 9.800002 -v -8.200000 10.099998 9.900002 -v -8.200000 12.999998 9.800002 -v -5.600000 0.300002 -9.200000 -v -5.700000 0.400001 -9.200000 -v 8.200000 9.899998 9.900002 -v 8.200000 9.899998 9.900002 -v 6.400000 9.899998 10.000002 -v 6.200000 12.999998 9.900002 -v 6.200000 13.000002 -9.899998 -v 6.200000 13.000002 -9.899998 -v 4.600000 13.000002 -9.999998 -v 8.200000 9.900002 -9.899998 -v 8.200000 9.900002 -9.899998 -v -1.600000 0.300001 -7.200000 -v -1.600000 0.300001 -7.200000 -v -1.600000 0.300001 -7.200000 -v -1.600000 0.300001 -7.200000 -v -1.600000 0.300001 -7.200000 -v -1.900000 0.300001 -7.800000 -v -8.200000 6.999999 9.800001 -v -8.200000 10.100002 -9.899998 -v -8.200000 10.100002 -9.899998 -v -8.200000 13.000002 -9.799998 -v -8.200000 13.000002 -9.899998 -v -8.200000 13.000002 -9.899998 -v -6.200000 10.099998 9.800002 -v -6.200000 10.099998 9.800002 -v -6.200000 12.999998 10.000002 -v -6.200000 12.999998 9.900002 -v 8.200000 7.000001 -9.799999 -v 4.600000 10.099998 9.800002 -v -6.200000 10.099998 9.800002 -v -12.700000 0.400001 -9.200000 -v -12.700000 0.300002 -9.300000 -v -12.600000 0.400001 -9.200000 -v -12.700000 0.400002 -9.300000 -v -8.400000 6.800002 -9.899999 -v -4.400000 6.800002 -9.799999 -v -8.400000 13.199998 9.900002 -v -8.400000 6.799999 9.800001 -v -4.600000 10.099998 10.000002 -v -4.600000 10.099998 10.000002 -v -4.600000 9.899998 10.000002 -v -4.600000 6.999999 9.900001 -v -4.600000 6.999999 9.900001 -v 6.400000 10.100002 -9.799998 -v 4.400000 13.200002 -9.799998 -v 4.400000 6.800002 -9.899999 -v 4.600000 13.000002 -9.899998 -v 4.600000 13.000002 -9.899998 -v 6.200000 13.000002 -9.799998 -v -4.600000 9.900002 -9.799998 -v -4.600000 9.900002 -9.799998 -v -4.600000 9.900002 -9.799998 -v -12.800000 19.900002 -9.899997 -v 12.800000 19.899998 9.900002 -v 8.400000 6.800002 -9.899999 -v 8.400000 6.800002 -9.899999 -v -6.400000 6.999999 9.900001 -v -6.400000 6.999999 9.900001 -v 8.400000 6.800002 -9.899999 -v 8.400000 13.200002 -9.799998 -v 6.200000 7.000001 -9.899999 -v 6.200000 7.000001 -9.899999 -v 6.200000 6.999999 10.000001 -v 6.400000 9.899998 9.800002 -v 12.800000 -0.000002 9.900000 -v 8.200000 7.000001 -9.999999 -v -12.600000 0.300002 -9.300000 -v -12.600000 0.400001 -9.200000 -v -5.600000 0.300002 -9.200000 -v 6.400000 10.099998 9.800002 -v -8.200000 10.100002 -9.999998 -v -8.200000 6.999999 9.800001 -v -4.400000 6.799999 9.800001 -v -4.400000 13.199998 9.900002 -v 4.600000 6.999999 9.900001 -v 4.600000 6.999999 9.900001 -v 4.600000 9.899998 10.000002 -v 4.600000 7.000001 -9.999999 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.373047 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.982422 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.966797 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.958984 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vt 0.962891 0.500000 -vn -1.0000 0.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 -0.0000 1.0000 -vn -0.0001 0.0000 1.0000 -vn 0.0001 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0001 0.0000 -1.0000 -vn 0.0000 -1.0000 -0.0000 -vn 0.0000 1.0000 0.0000 -usemtl palette -s 1 -f 811/1/1 814/2/1 815/3/1 -f 812/4/1 817/5/1 2/6/1 -f 1195/7/1 818/8/1 813/9/1 -f 1196/10/1 819/11/1 5/12/1 -f 1197/13/1 1449/14/1 820/15/1 -f 1198/16/1 4/17/1 6/18/1 -f 1082/19/1 1/20/1 816/21/1 -f 1554/22/1 1450/23/1 7/24/1 -f 1617/25/1 1084/26/1 3/27/1 -f 1618/28/1 1555/29/1 1083/30/1 -f 1619/31/1 9/32/1 11/33/1 -f 1557/34/1 1451/35/1 1556/36/1 -f 1558/37/1 10/38/1 12/39/1 -f 14/40/1 8/41/1 13/42/1 -f 1873/43/1 1874/44/1 17/45/1 -f 18/46/1 16/47/1 15/48/1 -f 1094/49/1 1095/50/1 21/51/1 -f 22/52/1 20/53/1 19/54/1 -f 1455/55/1 1456/56/1 25/57/1 -f 26/58/1 24/59/1 23/60/1 -f 1739/61/1 1740/62/1 29/63/1 -f 30/64/1 28/65/1 27/66/1 -f 1879/67/1 1880/68/1 33/69/1 -f 34/70/1 32/71/1 31/72/1 -f 1100/73/1 1101/74/1 37/75/1 -f 38/76/1 36/77/1 35/78/1 -f 1461/79/1 1463/80/1 41/81/1 -f 1462/82/1 1464/83/1 40/84/1 -f 43/85/1 42/86/1 39/87/1 -f 1774/88/1 1776/89/1 1777/90/1 -f 1775/91/1 46/92/1 47/93/1 -f 48/94/1 45/95/1 44/96/1 -f 874/97/1 875/98/1 51/99/1 -f 1009/100/1 876/101/1 49/102/1 -f 53/103/1 50/104/1 52/105/1 -f 1398/106/1 1399/107/1 56/108/1 -f 1465/109/1 1400/110/1 54/111/1 -f 58/112/1 55/113/1 57/114/1 -f 1748/115/1 1749/116/1 61/117/1 -f 62/118/1 60/119/1 59/120/1 -f 1883/121/1 1884/122/1 65/123/1 -f 1010/124/1 1012/125/1 1885/126/1 -f 66/127/1 64/128/1 63/129/1 -f 68/130/1 67/131/1 1011/132/1 -f 1317/133/1 1318/134/1 71/135/1 -f 1404/136/1 1567/137/1 1319/138/1 -f 1403/139/1 70/140/1 69/141/1 -f 74/142/1 73/143/1 72/144/1 -f 1750/145/1 1751/146/1 77/147/1 -f 1780/148/1 1840/149/1 1752/150/1 -f 1779/151/1 76/152/1 75/153/1 -f 80/154/1 79/155/1 78/156/1 -f 914/157/1 915/158/1 83/159/1 -f 1016/160/1 1237/161/1 916/162/1 -f 1015/163/1 82/164/1 81/165/1 -f 86/166/1 85/167/1 84/168/1 -f 1476/169/1 1477/170/1 89/171/1 -f 90/172/1 88/173/1 87/174/1 -f 1754/175/1 1755/176/1 93/177/1 -f 94/178/1 92/179/1 91/180/1 -f 1887/181/1 1888/182/1 97/183/1 -f 98/184/1 96/185/1 95/186/1 -f 1121/187/1 1123/188/1 101/189/1 -f 1122/190/1 1124/191/1 100/192/1 -f 103/193/1 102/194/1 99/195/1 -f 1568/196/1 1570/197/1 1571/198/1 -f 1569/199/1 106/200/1 107/201/1 -f 108/202/1 105/203/1 104/204/1 -f 1822/205/1 1823/206/1 111/207/1 -f 1848/208/1 1824/209/1 109/210/1 -f 113/211/1 110/212/1 112/213/1 -f 1026/214/1 1027/215/1 116/216/1 -f 1131/217/1 1028/218/1 114/219/1 -f 118/220/1 115/221/1 117/222/1 -f 1483/223/1 1484/224/1 121/225/1 -f 1573/226/1 1694/227/1 1485/228/1 -f 1572/229/1 120/230/1 119/231/1 -f 124/232/1 123/233/1 122/234/1 -f 1825/235/1 1826/236/1 127/237/1 -f 1853/238/1 129/239/1 1827/240/1 -f 1852/241/1 126/242/1 125/243/1 -f 130/244/1 1908/245/1 128/246/1 -f 1132/247/1 1133/248/1 133/249/1 -f 1254/250/1 1420/251/1 1134/252/1 -f 1253/253/1 132/254/1 131/255/1 -f 136/256/1 135/257/1 134/258/1 -f 1644/259/1 1645/260/1 139/261/1 -f 1700/262/1 1783/263/1 1646/264/1 -f 1699/265/1 138/266/1 137/267/1 -f 142/268/1 141/269/1 140/270/1 -f 143/271/2 1909/272/2 145/273/2 -f 1910/274/2 144/275/2 146/276/2 -f 147/277/2 1269/278/2 1270/279/2 -f 149/280/2 148/281/2 150/282/2 -f 151/283/2 1583/284/2 1584/285/2 -f 153/286/2 152/287/2 154/288/2 -f 155/289/2 1784/290/2 1786/291/2 -f 1785/292/2 1860/293/2 1787/294/2 -f 157/295/2 156/296/2 1788/297/2 -f 159/298/2 158/299/2 160/300/2 -f 161/301/2 1038/302/2 1040/303/2 -f 1039/304/2 1276/305/2 1041/306/2 -f 163/307/2 162/308/2 1042/309/2 -f 165/310/2 164/311/2 166/312/2 -f 167/313/2 1588/314/2 1590/315/2 -f 1589/316/2 1710/317/2 1591/318/2 -f 169/319/2 168/320/2 1592/321/2 -f 171/322/2 170/323/2 172/324/2 -f 173/325/2 1861/326/2 1863/327/2 -f 1862/328/2 1913/329/2 1865/330/2 -f 175/331/2 174/332/2 177/333/2 -f 1864/334/2 176/335/2 178/336/2 -f 179/337/2 1277/338/2 1278/339/2 -f 180/340/2 1358/341/2 1279/342/2 -f 181/343/2 182/344/2 183/345/2 -f 1593/346/2 1669/347/2 1594/348/2 -f 187/349/2 184/350/2 1595/351/2 -f 186/352/2 185/353/2 188/354/2 -f 189/355/2 1866/356/2 1868/357/2 -f 191/358/2 1867/359/2 1869/360/2 -f 192/361/2 190/362/2 193/363/2 -f 194/364/2 1153/365/2 1155/366/2 -f 196/367/2 1154/368/2 1156/369/2 -f 197/370/2 195/371/2 198/372/2 -f 199/373/2 1596/374/2 1597/375/2 -f 201/376/2 200/377/2 202/378/2 -f 203/379/2 1796/380/2 1797/381/2 -f 205/382/2 204/383/2 206/384/2 -f 207/385/2 1915/386/2 209/387/2 -f 1916/388/2 208/389/2 210/390/2 -f 211/391/2 1287/392/2 1288/393/2 -f 213/394/2 212/395/2 214/396/2 -f 215/397/2 1601/398/2 1602/399/2 -f 217/400/2 216/401/2 218/402/2 -f 219/403/2 1799/404/2 1800/405/2 -f 221/406/2 220/407/2 222/408/2 -f 223/409/2 1917/410/2 225/411/2 -f 1918/412/2 1070/413/2 1072/414/2 -f 1919/415/2 224/416/2 1071/417/2 -f 227/418/2 226/419/2 228/420/2 -f 229/421/2 1439/422/2 1441/423/2 -f 1440/424/2 1604/425/2 1442/426/2 -f 231/427/2 230/428/2 1443/429/2 -f 233/430/2 232/431/2 234/432/2 -f 235/433/2 1802/434/2 1804/435/2 -f 1803/436/2 1871/437/2 1805/438/2 -f 237/439/2 236/440/2 1806/441/2 -f 239/442/2 238/443/2 240/444/2 -f 241/445/2 1073/446/2 1075/447/2 -f 1074/448/2 1301/449/2 1076/450/2 -f 243/451/2 242/452/2 1077/453/2 -f 245/454/2 244/455/2 246/456/2 -f 247/457/2 1612/458/2 1613/459/2 -f 248/460/2 1672/461/2 1614/462/2 -f 249/463/2 250/464/2 251/465/2 -f 1807/466/2 1833/467/2 1808/468/2 -f 255/469/2 252/470/2 1809/471/2 -f 254/472/2 253/473/2 256/474/2 -f 257/475/2 1623/476/2 259/477/2 -f 1641/478/2 1624/479/2 260/480/2 -f 1625/481/2 258/482/2 261/483/2 -f 262/484/2 1550/485/2 1552/486/2 -f 264/487/2 1551/488/2 1553/489/2 -f 265/490/2 263/491/2 266/492/2 -f 267/493/2 1732/494/2 1733/495/2 -f 269/496/2 268/497/2 270/498/2 -f 271/499/2 1901/500/2 273/501/2 -f 1902/502/2 272/503/2 274/504/2 -f 275/505/2 1191/506/2 1192/507/2 -f 277/508/2 276/509/2 278/510/2 -f 1818/511/2 280/512/2 1673/513/2 -f 282/514/2 1772/515/2 1741/516/2 -f 279/517/2 1675/518/2 1676/519/2 -f 1674/520/2 1742/521/2 1677/522/2 -f 285/523/2 281/524/2 286/525/2 -f 1743/526/2 1773/527/2 1744/528/2 -f 1678/529/2 284/530/2 1745/531/2 -f 287/532/2 283/533/2 288/534/2 -f 999/535/3 837/536/3 1001/537/3 -f 848/538/3 838/539/3 1000/540/3 -f 850/541/3 839/542/3 292/543/3 -f 853/544/3 840/545/3 851/546/3 -f 1213/547/3 289/548/3 1002/549/3 -f 1386/550/3 852/551/3 849/552/3 -f 1290/553/3 293/554/3 1388/555/3 -f 860/556/3 841/557/3 294/558/3 -f 1217/559/4 1289/560/4 296/561/4 -f 1218/562/3 861/563/3 297/564/3 -f 1216/565/3 295/566/3 1003/567/3 -f 299/568/3 1387/569/3 1214/570/3 -f 1628/571/3 862/572/3 1219/573/3 -f 1630/574/3 863/575/3 1629/576/3 -f 865/577/3 842/578/3 864/579/3 -f 866/580/3 298/581/3 1631/582/3 -f 1220/583/3 1215/584/3 1004/585/3 -f 1834/586/3 1632/587/3 300/588/3 -f 1882/589/3 301/590/3 1835/591/3 -f 880/592/3 847/593/3 302/594/3 -f 1222/595/3 303/596/3 1005/597/3 -f 1225/598/3 879/599/3 1881/600/3 -f 1226/601/3 305/602/3 1836/603/3 -f 307/604/3 304/605/3 1221/606/3 -f 308/607/3 881/608/3 1223/609/3 -f 882/610/3 877/611/3 1102/612/3 -f 885/613/3 846/614/3 878/615/3 -f 310/616/3 306/617/3 309/618/3 -f 1227/619/3 1224/620/3 1006/621/3 -f 1280/622/3 883/623/3 1103/624/3 -f 1670/625/3 884/626/3 312/627/3 -f 887/628/3 843/629/3 886/630/3 -f 1229/631/3 311/632/3 1007/633/3 -f 1231/634/3 888/635/3 1671/636/3 -f 1230/637/4 313/638/4 1281/639/4 -f 315/640/3 1282/641/3 1228/642/3 -f 1633/643/3 889/644/3 1232/645/3 -f 1635/646/3 890/647/3 316/648/3 -f 892/649/3 844/650/3 891/651/3 -f 318/652/3 314/653/3 1636/654/3 -f 1234/655/3 1233/656/3 1008/657/3 -f 1471/658/3 1637/659/3 1634/660/3 -f 918/661/3 317/662/3 1470/663/3 -f 899/664/3 845/665/3 893/666/3 -f 903/667/3 1235/668/3 291/669/3 -f 902/670/3 900/671/3 917/672/3 -f 905/673/3 321/674/3 1472/675/3 -f 323/676/3 320/677/3 319/678/3 -f 906/679/3 290/680/3 901/681/3 -f 324/682/3 322/683/3 904/684/3 -f 1401/685/3 1402/686/3 327/687/3 -f 328/688/3 326/689/3 325/690/3 -f 1684/691/3 1685/692/3 331/693/3 -f 332/694/3 330/695/3 329/696/3 -f 1838/697/3 1839/698/3 335/699/3 -f 336/700/3 334/701/3 333/702/3 -f 1013/703/3 1014/704/3 339/705/3 -f 340/706/3 338/707/3 337/708/3 -f 1405/709/3 1406/710/3 343/711/3 -f 344/712/3 342/713/3 341/714/3 -f 1688/715/3 1689/716/3 347/717/3 -f 348/718/3 346/719/3 345/720/3 -f 1843/721/3 1844/722/3 351/723/3 -f 352/724/3 350/725/3 349/726/3 -f 1020/727/3 919/728/3 1022/729/3 -f 926/730/3 920/731/3 1021/732/3 -f 928/733/3 921/734/3 356/735/3 -f 931/736/3 922/737/3 929/738/3 -f 908/739/3 353/740/3 1023/741/3 -f 1412/742/3 930/743/3 927/744/3 -f 1481/745/3 357/746/3 1413/747/3 -f 932/748/3 923/749/3 358/750/3 -f 910/751/5 361/752/5 1414/753/5 -f 911/754/3 934/755/3 1482/756/3 -f 909/757/3 907/758/3 1024/759/3 -f 363/760/3 360/761/3 359/762/3 -f 1407/763/3 933/764/3 912/765/3 -f 1638/766/4 935/767/4 1408/768/4 -f 937/769/3 924/770/3 936/771/3 -f 366/772/3 362/773/3 1639/774/3 -f 1248/775/3 913/776/3 1025/777/3 -f 1892/778/3 1640/779/3 364/780/3 -f 1158/781/3 365/782/3 1893/783/3 -f 939/784/3 925/785/3 938/786/3 -f 943/787/3 367/788/3 355/789/3 -f 942/790/3 940/791/3 1157/792/3 -f 945/793/3 369/794/3 1894/795/3 -f 371/796/3 368/797/3 1249/798/3 -f 946/799/3 354/800/3 941/801/3 -f 372/802/3 370/803/3 944/804/3 -f 1418/805/3 1327/806/3 994/807/3 -f 1333/808/3 1328/809/3 1419/810/3 -f 1335/811/3 1329/812/3 376/813/3 -f 1338/814/3 1330/815/3 1336/816/3 -f 997/817/3 373/818/3 993/819/3 -f 895/820/3 377/821/3 1334/822/3 -f 897/823/3 1337/824/3 894/825/3 -f 1339/826/3 1331/827/3 378/828/3 -f 1576/829/5 381/830/5 896/831/5 -f 1575/832/3 1340/833/3 898/834/3 -f 1574/835/3 379/836/3 995/837/3 -f 383/838/3 380/839/3 998/840/3 -f 1756/841/3 1341/842/3 1577/843/3 -f 385/844/4 1342/845/4 1757/846/4 -f 386/847/3 1332/848/3 1343/849/3 -f 1345/850/3 382/851/3 1032/852/3 -f 1580/853/3 1578/854/3 996/855/3 -f 1035/856/3 1033/857/3 384/858/3 -f 1598/859/3 1034/860/3 388/861/3 -f 1346/862/3 374/863/3 1344/864/3 -f 1137/865/3 387/866/3 375/867/3 -f 1136/868/3 1347/869/3 1599/870/3 -f 1135/871/3 389/872/3 1036/873/3 -f 391/874/3 1037/875/3 1579/876/3 -f 1349/877/3 1326/878/3 1348/879/3 -f 392/880/3 390/881/3 1138/882/3 -f 1696/883/3 1539/884/3 1810/885/3 -f 1544/886/3 1540/887/3 1698/888/3 -f 1811/889/3 393/890/3 395/891/3 -f 1828/892/3 1697/893/3 1812/894/3 -f 1829/895/3 397/896/3 1295/897/3 -f 1649/898/3 1541/899/3 396/900/3 -f 1299/901/3 398/902/3 1294/903/3 -f 401/904/3 1650/905/3 1830/906/3 -f 402/907/3 1542/908/3 1651/909/3 -f 1653/910/3 400/911/3 1297/912/3 -f 1897/913/3 1298/914/3 1296/915/3 -f 1144/916/3 1543/917/3 1652/918/3 -f 1424/919/3 403/920/3 399/921/3 -f 1425/922/3 1146/923/3 1898/924/3 -f 1426/925/3 1422/926/3 407/927/3 -f 1147/928/3 394/929/3 1145/930/3 -f 1148/931/3 1423/932/3 406/933/3 -f 408/934/3 404/935/3 405/936/3 -f 1701/937/6 1654/938/6 1660/939/6 -f 411/940/6 1655/941/6 1661/942/6 -f 1702/943/6 1659/944/6 1705/945/6 -f 412/946/6 1656/947/6 1664/948/6 -f 1703/949/6 1706/950/6 1707/951/6 -f 413/952/6 1665/953/6 1708/954/6 -f 1666/955/6 1657/956/6 1667/957/6 -f 1709/958/6 414/959/6 416/960/6 -f 1704/961/6 415/962/6 417/963/6 -f 1668/964/6 1658/965/6 869/966/6 -f 409/967/6 1505/968/6 872/969/6 -f 1504/970/6 867/971/6 870/972/6 -f 420/973/6 871/974/6 421/975/6 -f 868/976/6 410/977/6 963/978/6 -f 1907/979/6 873/980/6 964/981/6 -f 419/982/6 418/983/6 422/984/6 -f 1166/985/6 1497/986/6 1170/987/6 -f 1171/988/6 1491/989/6 1498/990/6 -f 1499/991/7 1492/992/7 1500/993/7 -f 1501/994/6 1493/995/6 1503/996/6 -f 1168/997/6 425/998/6 1064/999/6 -f 426/1000/6 1502/1001/6 1789/1002/6 -f 1791/1003/6 427/1004/6 1814/1005/6 -f 428/1006/6 1494/1007/6 1506/1008/6 -f 1790/1009/6 1815/1010/6 1069/1011/6 -f 431/1012/6 1507/1013/6 1068/1014/6 -f 1169/1015/6 1063/1016/6 1067/1017/6 -f 429/1018/6 430/1019/6 433/1020/6 -f 1065/1021/6 1508/1022/6 434/1023/6 -f 972/1024/6 1509/1025/6 855/1026/6 -f 1510/1027/6 1495/1028/6 436/1029/6 -f 856/1030/6 432/1031/6 1512/1032/6 -f 423/1033/6 1066/1034/6 1434/1035/6 -f 973/1036/6 854/1037/6 857/1038/6 -f 859/1039/6 435/1040/6 1396/1041/6 -f 1511/1042/6 1496/1043/6 1513/1044/6 -f 1167/1045/6 437/1046/6 1359/1047/6 -f 1397/1048/6 1514/1049/6 1361/1050/6 -f 858/1051/6 439/1052/6 1360/1053/6 -f 1435/1054/6 438/1055/6 441/1056/6 -f 1515/1057/6 424/1058/6 1516/1059/6 -f 1362/1060/6 440/1061/6 442/1062/6 -f 1793/1063/6 1258/1064/6 1762/1065/6 -f 445/1066/6 1255/1067/6 1262/1068/6 -f 446/1069/7 1259/1070/7 1763/1071/7 -f 1765/1072/6 1260/1073/6 1766/1074/6 -f 1794/1075/6 1761/1076/6 449/1077/6 -f 1263/1078/6 447/1079/6 450/1080/6 -f 976/1081/6 1764/1082/6 979/1083/6 -f 448/1084/6 1261/1085/6 1161/1086/6 -f 977/1087/6 980/1088/6 981/1089/6 -f 451/1090/6 1160/1091/6 985/1092/6 -f 1795/1093/6 1057/1094/6 982/1095/6 -f 1056/1096/6 978/1097/6 453/1098/6 -f 983/1099/6 1162/1100/6 454/1101/6 -f 1363/1102/6 1163/1103/6 1365/1104/6 -f 1159/1105/6 444/1106/6 1164/1107/6 -f 1367/1108/6 452/1109/6 456/1110/6 -f 443/1111/6 984/1112/6 1715/1113/6 -f 1364/1114/6 1366/1115/6 1392/1116/6 -f 458/1117/6 455/1118/6 1746/1119/6 -f 1165/1120/6 1256/1121/6 1284/1122/6 -f 1792/1123/6 457/1124/6 1324/1125/6 -f 1747/1126/6 1285/1127/6 1322/1128/6 -f 1393/1129/6 459/1130/6 1323/1131/6 -f 1716/1132/6 1394/1133/6 461/1134/6 -f 1286/1135/6 1257/1136/6 1769/1137/6 -f 1325/1138/6 460/1139/6 462/1140/6 -f 463/1141/6 1642/1142/6 465/1143/6 -f 1643/1144/6 464/1145/6 466/1146/6 -f 467/1147/6 468/1148/6 469/1149/6 -f 1832/1150/6 1831/1151/6 470/1152/6 -f 471/1153/6 991/1154/6 992/1155/6 -f 473/1156/6 472/1157/6 474/1158/6 -f 475/1159/6 1384/1160/6 1385/1161/6 -f 477/1162/6 476/1163/6 478/1164/6 -f 479/1165/6 1686/1166/6 481/1167/6 -f 1687/1168/6 480/1169/6 482/1170/6 -f 483/1171/6 1185/1172/6 1186/1173/6 -f 485/1174/6 484/1175/6 486/1176/6 -f 1113/1177/6 1043/1178/6 1054/1179/6 -f 1055/1180/6 1044/1181/6 1058/1182/6 -f 1059/1183/6 1049/1184/6 1523/1185/6 -f 1524/1186/6 1050/1187/6 1526/1188/6 -f 1118/1189/6 489/1190/6 1605/1191/6 -f 490/1192/6 1525/1193/6 831/1194/6 -f 830/1195/6 491/1196/6 833/1197/6 -f 492/1198/6 1051/1199/6 1527/1200/6 -f 832/1201/7 495/1202/7 1610/1203/7 -f 834/1204/6 1528/1205/6 1611/1206/6 -f 1119/1207/6 493/1208/6 1608/1209/6 -f 1606/1210/6 494/1211/6 497/1212/6 -f 1607/1213/6 1529/1214/6 1316/1215/6 -f 498/1216/6 1530/1217/6 499/1218/6 -f 1531/1219/6 1052/1220/6 500/1221/6 -f 1243/1222/6 496/1223/6 1533/1224/6 -f 1120/1225/6 1609/1226/6 501/1227/6 -f 1315/1228/6 1242/1229/6 1245/1230/6 -f 1246/1231/6 1244/1232/6 1376/1233/6 -f 1532/1234/6 1045/1235/6 1085/1236/6 -f 1114/1237/6 1445/1238/6 1140/1239/6 -f 1377/1240/6 1086/1241/6 1139/1242/6 -f 1247/1243/6 503/1244/6 1141/1245/6 -f 1444/1246/6 502/1247/6 505/1248/6 -f 1142/1249/6 1087/1250/6 1534/1251/6 -f 506/1252/6 1088/1253/6 1536/1254/6 -f 1089/1255/6 1046/1256/6 1096/1257/6 -f 1537/1258/6 504/1259/6 508/1260/6 -f 487/1261/6 1143/1262/6 1615/1263/6 -f 1535/1264/6 1538/1265/6 987/1266/6 -f 986/1267/6 507/1268/6 989/1269/6 -f 1097/1270/6 1053/1271/6 1545/1272/6 -f 1115/1273/6 509/1274/6 1306/1275/6 -f 990/1276/6 1546/1277/6 1308/1278/6 -f 510/1279/7 511/1280/7 1309/1281/7 -f 1616/1282/6 988/1283/6 513/1284/6 -f 1305/1285/6 1547/1286/6 1193/1287/6 -f 1194/1288/6 1548/1289/6 515/1290/6 -f 1549/1291/6 1047/1292/6 516/1293/6 -f 823/1294/6 512/1295/6 1378/1296/6 -f 1116/1297/6 1307/1298/6 1310/1299/6 -f 514/1300/6 821/1301/6 824/1302/6 -f 518/1303/6 822/1304/6 1320/1305/6 -f 1379/1306/6 1048/1307/6 1380/1308/6 -f 1117/1309/6 517/1310/6 1239/1311/6 -f 1321/1312/6 1381/1313/6 1240/1314/6 -f 825/1315/6 519/1316/6 1238/1317/6 -f 1311/1318/6 826/1319/6 521/1320/6 -f 1382/1321/6 488/1322/6 1383/1323/6 -f 1241/1324/6 520/1325/6 522/1326/6 -f 1466/1327/8 1468/1328/8 525/1329/8 -f 1620/1330/8 1469/1331/8 1467/1332/8 -f 527/1333/8 524/1334/8 526/1335/8 -f 1781/1336/8 1621/1337/8 523/1338/8 -f 529/1339/8 1622/1340/8 1782/1341/8 -f 1092/1342/8 1090/1343/8 528/1344/8 -f 1093/1345/8 531/1346/8 1091/1347/8 -f 532/1348/8 1202/1349/8 530/1350/8 -f 1453/1351/8 534/1352/8 535/1353/8 -f 536/1354/8 1454/1355/8 533/1356/8 -f 537/1357/8 538/1358/8 539/1359/8 -f 540/1360/8 1738/1361/8 1737/1362/8 -f 541/1363/8 542/1364/8 543/1365/8 -f 544/1366/8 1878/1367/8 1877/1368/8 -f 1098/1369/8 1099/1370/8 547/1371/8 -f 548/1372/8 546/1373/8 545/1374/8 -f 1458/1375/8 1459/1376/8 551/1377/8 -f 1389/1378/8 553/1379/8 1391/1380/8 -f 1199/1381/8 1200/1382/8 557/1383/8 -f 1845/1384/8 559/1385/8 560/1386/8 -f 561/1387/8 1460/1388/8 549/1389/8 -f 562/1390/8 550/1391/8 1566/1392/8 -f 563/1393/8 1390/1394/8 554/1395/8 -f 564/1396/8 552/1397/8 1395/1398/8 -f 565/1399/8 1201/1400/8 555/1401/8 -f 566/1402/8 556/1403/8 1679/1404/8 -f 567/1405/8 1846/1406/8 1847/1407/8 -f 568/1408/8 558/1409/8 1906/1410/8 -f 1373/1411/8 1374/1412/8 571/1413/8 -f 1680/1414/8 573/1415/8 1682/1416/8 -f 1819/1417/8 1820/1418/8 577/1419/8 -f 1125/1420/8 579/1421/8 580/1422/8 -f 581/1423/8 1375/1424/8 569/1425/8 -f 582/1426/8 570/1427/8 1778/1428/8 -f 1683/1429/8 1681/1430/8 574/1431/8 -f 584/1432/8 572/1433/8 583/1434/8 -f 585/1435/8 1821/1436/8 575/1437/8 -f 586/1438/8 576/1439/8 1837/1440/8 -f 1236/1441/8 1126/1442/8 1127/1443/8 -f 588/1444/8 578/1445/8 587/1446/8 -f 1724/1447/8 1726/1448/8 591/1449/8 -f 1731/1450/8 590/1451/8 1725/1452/8 -f 1110/1453/8 1112/1454/8 595/1455/8 -f 596/1456/8 594/1457/8 1111/1458/8 -f 1473/1459/8 1475/1460/8 599/1461/8 -f 600/1462/8 598/1463/8 597/1464/8 -f 1486/1465/8 1753/1466/8 603/1467/8 -f 1488/1468/8 602/1469/8 1487/1470/8 -f 1842/1471/8 592/1472/8 589/1473/8 -f 606/1474/8 1730/1475/8 605/1476/8 -f 607/1477/8 1017/1478/8 593/1479/8 -f 608/1480/8 1018/1481/8 1019/1482/8 -f 609/1483/8 1409/1484/8 1474/1485/8 -f 610/1486/8 1410/1487/8 1411/1488/8 -f 611/1489/8 1489/1490/8 601/1491/8 -f 612/1492/8 604/1493/8 1690/1494/8 -f 1478/1495/8 1480/1496/8 615/1497/8 -f 1416/1498/8 614/1499/8 1479/1500/8 -f 1758/1501/8 1760/1502/8 619/1503/8 -f 620/1504/8 618/1505/8 1759/1506/8 -f 1889/1507/8 622/1508/8 623/1509/8 -f 1849/1510/8 1891/1511/8 1890/1512/8 -f 1128/1513/8 1130/1514/8 627/1515/8 -f 628/1516/8 626/1517/8 625/1518/8 -f 1417/1519/8 1415/1520/8 613/1521/8 -f 630/1522/8 616/1523/8 629/1524/8 -f 1693/1525/8 1691/1526/8 617/1527/8 -f 632/1528/8 1692/1529/8 631/1530/8 -f 633/1531/8 1850/1532/8 621/1533/8 -f 634/1534/8 624/1535/8 1851/1536/8 -f 1031/1537/8 1029/1538/8 1129/1539/8 -f 636/1540/8 1030/1541/8 635/1542/8 -f 1895/1543/8 638/1544/8 639/1545/8 -f 640/1546/8 1896/1547/8 637/1548/8 -f 965/1549/9 1250/1550/9 951/1551/9 -f 947/1552/9 642/1553/9 1433/1554/9 -f 966/1555/9 948/1556/9 952/1557/9 -f 953/1558/9 643/1559/9 1490/1560/9 -f 967/1561/9 645/1562/9 974/1563/9 -f 646/1564/9 949/1565/9 954/1566/9 -f 641/1567/9 975/1568/9 1350/1569/9 -f 647/1570/9 955/1571/9 1351/1572/9 -f 956/1573/9 950/1574/9 1421/1575/9 -f 649/1576/9 648/1577/9 650/1578/9 -f 644/1579/9 1251/1580/9 1264/1581/9 -f 652/1582/9 1265/1583/9 1647/1584/9 -f 1266/1585/9 1252/1586/9 1648/1587/9 -f 653/1588/9 651/1589/9 654/1590/9 -f 968/1591/9 1854/1592/9 970/1593/9 -f 971/1594/9 1856/1595/9 1267/1596/9 -f 1268/1597/9 1857/1598/9 958/1599/9 -f 659/1600/9 1858/1601/9 660/1602/9 -f 661/1603/9 1581/1604/9 1582/1605/9 -f 663/1606/9 662/1607/9 664/1608/9 -f 969/1609/9 657/1610/9 1722/1611/9 -f 658/1612/9 957/1613/9 960/1614/9 -f 666/1615/9 959/1616/9 1662/1617/9 -f 1859/1618/9 656/1619/9 1368/1620/9 -f 962/1621/9 1663/1622/9 1174/1623/9 -f 667/1624/9 1369/1625/9 1173/1626/9 -f 655/1627/9 1723/1628/9 1175/1629/9 -f 665/1630/9 961/1631/9 669/1632/9 -f 1176/1633/9 1371/1634/9 1207/1635/9 -f 1370/1636/9 1855/1637/9 1372/1638/9 -f 1208/1639/9 668/1640/9 671/1641/9 -f 1172/1642/9 1206/1643/9 1178/1644/9 -f 673/1645/9 1177/1646/9 1179/1647/9 -f 1180/1648/9 1209/1649/9 674/1650/9 -f 1271/1651/9 1210/1652/9 1275/1653/9 -f 1273/1654/9 1211/1655/9 1911/1656/9 -f 1106/1657/9 672/1658/9 1108/1659/9 -f 1272/1660/9 675/1661/9 1585/1662/9 -f 1587/1663/9 1274/1664/9 1352/1665/9 -f 676/1666/9 1212/1667/9 1427/1668/9 -f 678/1669/9 679/1670/9 1355/1671/9 -f 1353/1672/9 1428/1673/9 1356/1674/9 -f 1107/1675/9 1109/1676/9 1354/1677/9 -f 677/1678/9 1586/1679/9 681/1680/9 -f 1429/1681/9 670/1682/9 1430/1683/9 -f 1357/1684/9 680/1685/9 682/1686/9 -f 683/1687/9 1431/1688/9 1432/1689/9 -f 685/1690/9 684/1691/9 686/1692/9 -f 687/1693/9 1720/1694/9 689/1695/9 -f 1721/1696/9 688/1697/9 690/1698/9 -f 691/1699/9 692/1700/9 1876/1701/9 -f 693/1702/9 1875/1703/9 694/1704/9 -f 695/1705/9 1104/1706/9 1105/1707/9 -f 697/1708/9 696/1709/9 698/1710/9 -f 699/1711/9 1712/1712/9 1713/1713/9 -f 1714/1714/9 700/1715/9 1899/1716/9 -f 703/1717/9 1457/1718/9 705/1719/9 -f 1149/1720/9 704/1721/9 1151/1722/9 -f 707/1723/9 1905/1724/9 709/1725/9 -f 1517/1726/9 708/1727/9 1519/1728/9 -f 711/1729/9 1203/1730/9 1204/1731/9 -f 1205/1732/9 712/1733/9 1767/1734/9 -f 701/1735/9 1900/1736/9 715/1737/9 -f 1914/1738/9 702/1739/9 716/1740/9 -f 1150/1741/9 1152/1742/9 1283/1743/9 -f 717/1744/9 706/1745/9 718/1746/9 -f 1518/1747/9 1520/1748/9 1600/1749/9 -f 719/1750/9 710/1751/9 720/1752/9 -f 713/1753/9 714/1754/9 721/1755/9 -f 1798/1756/9 1768/1757/9 722/1758/9 -f 723/1759/9 1060/1760/9 1061/1761/9 -f 1062/1762/9 724/1763/9 1521/1764/9 -f 727/1765/9 1436/1766/9 1437/1767/9 -f 1438/1768/9 728/1769/9 1770/1770/9 -f 731/1771/9 1717/1772/9 1718/1773/9 -f 1719/1774/9 732/1775/9 1903/1776/9 -f 735/1777/9 1870/1778/9 737/1779/9 -f 1181/1780/9 736/1781/9 1183/1782/9 -f 725/1783/9 1522/1784/9 739/1785/9 -f 1603/1786/9 726/1787/9 740/1788/9 -f 729/1789/9 1771/1790/9 741/1791/9 -f 1801/1792/9 730/1793/9 742/1794/9 -f 733/1795/9 1904/1796/9 743/1797/9 -f 1920/1798/9 734/1799/9 744/1800/9 -f 1182/1801/9 1184/1802/9 1300/1803/9 -f 745/1804/9 738/1805/9 746/1806/9 -f 747/1807/9 1727/1808/9 1841/1809/9 -f 1563/1810/9 751/1811/9 1564/1812/9 -f 753/1813/9 1302/1814/9 755/1815/9 -f 1078/1816/9 757/1817/9 1079/1818/9 -f 749/1819/9 748/1820/9 759/1821/9 -f 1729/1822/9 1728/1823/9 760/1824/9 -f 750/1825/9 1565/1826/9 761/1827/9 -f 1872/1828/9 752/1829/9 762/1830/9 -f 1695/1831/9 1303/1832/9 1304/1833/9 -f 763/1834/9 754/1835/9 764/1836/9 -f 756/1837/9 758/1838/9 1912/1839/9 -f 765/1840/9 1080/1841/9 766/1842/9 -f 767/1843/9 1291/1844/9 1293/1845/9 -f 1081/1846/9 771/1847/9 772/1848/9 -f 773/1849/9 1446/1850/9 775/1851/9 -f 776/1852/9 777/1853/9 778/1854/9 -f 769/1855/9 1292/1856/9 1813/1857/9 -f 779/1858/9 768/1859/9 780/1860/9 -f 770/1861/9 827/1862/9 829/1863/9 -f 781/1864/9 828/1865/9 782/1866/9 -f 1448/1867/9 1447/1868/9 1452/1869/9 -f 783/1870/9 774/1871/9 784/1872/9 -f 1886/1873/9 1734/1874/9 785/1875/9 -f 1736/1876/9 1735/1877/9 786/1878/9 -f 787/1879/9 835/1880/9 836/1881/9 -f 789/1882/9 788/1883/9 790/1884/9 -f 791/1885/9 1312/1886/9 1313/1887/9 -f 793/1888/9 792/1889/9 794/1890/9 -f 795/1891/9 1626/1892/9 1627/1893/9 -f 797/1894/9 796/1895/9 798/1896/9 -f 799/1897/9 1816/1898/9 801/1899/9 -f 1817/1900/9 800/1901/9 802/1902/9 -f 803/1903/9 804/1904/9 1559/1905/9 -f 1560/1906/9 1711/1907/9 1561/1908/9 -f 805/1909/9 806/1910/9 807/1911/9 -f 1187/1912/9 1562/1913/9 1190/1914/9 -f 1188/1915/9 808/1916/9 1314/1917/9 -f 809/1918/9 1189/1919/9 810/1920/9 diff --git a/src/entities/HouseGenerator.cpp b/src/entities/HouseGenerator.cpp new file mode 100644 index 0000000..1d9a8ec --- /dev/null +++ b/src/entities/HouseGenerator.cpp @@ -0,0 +1,35 @@ +#include "HouseGenerator.h" +#include "../renderEngine/obj_loader.h" +#include "../renderEngine/Loader.h" + +namespace entities +{ + HouseGenerator::HouseGenerator() + { + models::RawModel raw_model = render_engine::LoadObjModel("res/HouseNew.obj"); + models::ModelTexture texture = { render_engine::loader::LoadTexture("res/Texture.png") }; + texture.shine_damper = 10; + house_model = { raw_model, texture }; + + GenerateFurnitureModels(); + } + + std::deque> HouseGenerator::GenerateHouse(const glm::vec3& position, float y_rotation) + { + std::deque> furniture; + + // Add house + furniture.push_front(std::make_shared(house_model, position, glm::vec3(0, y_rotation, 0), HOUSE_SIZE)); + + + + // Add furniture + + return furniture; + } + + void HouseGenerator::GenerateFurnitureModels() + { + + } +} diff --git a/src/entities/HouseGenerator.h b/src/entities/HouseGenerator.h new file mode 100644 index 0000000..8169e5f --- /dev/null +++ b/src/entities/HouseGenerator.h @@ -0,0 +1,37 @@ +#pragma once + +#include +#include +#include "../models/Model.h" +#include "../collision/collision.h" + +namespace entities +{ + class HouseGenerator + { + private: + const float HOUSE_SIZE = 30; + + models::TexturedModel house_model; + + std::deque furniture_models; + + public: + HouseGenerator(); + + /* + * @brief: This function generates a house with furniture at the given position and rotation + * + * @param position: The position of the house to render + * @param y_rotation: The y rotation the house needs to be rendered with + * + * @return: A list with all the entities of the generated house (the furniture) + */ + std::deque> GenerateHouse(const glm::vec3& position, float y_rotation); + + float GetHouseDepth() const { return house_model.raw_model.model_size.x * HOUSE_SIZE; } + + private: + void GenerateFurnitureModels(); + }; +} diff --git a/src/models/Model.h b/src/models/Model.h index 2df9e94..fa4067c 100644 --- a/src/models/Model.h +++ b/src/models/Model.h @@ -1,6 +1,7 @@ #pragma once #include +#include namespace models { diff --git a/src/renderEngine/Renderer.cpp b/src/renderEngine/Renderer.cpp index a91a5ec..9eadbae 100644 --- a/src/renderEngine/Renderer.cpp +++ b/src/renderEngine/Renderer.cpp @@ -4,7 +4,6 @@ #include "loader.h" #include "../toolbox/toolbox.h" #include "renderer.h" - #include namespace render_engine @@ -51,9 +50,9 @@ namespace render_engine /* This function will Render a Model on the screen. */ - void Render(entities::Entity& entity, shaders::EntityShader& shader) + void Render(std::shared_ptr entity, shaders::EntityShader& shader) { - const models::TexturedModel model = entity.GetModel(); + const models::TexturedModel model = entity.get()->GetModel(); const models::RawModel raw_model = model.raw_model; const models::ModelTexture texture = model.texture; @@ -66,7 +65,7 @@ namespace render_engine glEnableVertexAttribArray(2); // Load the transformation of the model into the shader - const glm::mat4 modelMatrix = toolbox::CreateModelMatrix(entity.GetPosition(), entity.GetRotation(), entity.GetScale()); + const glm::mat4 modelMatrix = toolbox::CreateModelMatrix(entity.get()->GetPosition(), entity.get()->GetRotation(), entity.get()->GetScale()); shader.LoadModelMatrix(modelMatrix); shader.LoadShineVariables(texture.shine_damper, texture.reflectivity); diff --git a/src/renderEngine/Renderer.h b/src/renderEngine/Renderer.h index 8f4cef3..8a7a473 100644 --- a/src/renderEngine/Renderer.h +++ b/src/renderEngine/Renderer.h @@ -1,5 +1,6 @@ #pragma once +#include #include "../gui/gui_element.h" #include "../entities/entity.h" #include "../shaders/entity_shader.h" @@ -30,7 +31,7 @@ namespace render_engine @param entity: The entity which needs to be rendered @param shader: The shader the entity needs to be rendered with */ - void Render(entities::Entity& entity, shaders::EntityShader& shader); + void Render(std::shared_ptr entity, shaders::EntityShader& shader); /* @brief: Call this function to render gui_textures on the screen diff --git a/src/scenes/in_Game_Scene.cpp b/src/scenes/in_Game_Scene.cpp index 281df17..6fcec5b 100644 --- a/src/scenes/in_Game_Scene.cpp +++ b/src/scenes/in_Game_Scene.cpp @@ -10,7 +10,10 @@ #include "../renderEngine/renderer.h" #include "../shaders/entity_shader.h" #include "../toolbox/toolbox.h" +#include "../entities/HouseGenerator.h" #include +#include +#include #define MAX_MODEL_DEQUE_SIZE 6 // max amount of models to load at the same time #define UPCOMING_MODEL_AMOUNT 4 // how much models should be loaded in front of us @@ -18,9 +21,10 @@ namespace scene { - std::deque house_models; + entities::HouseGenerator* house_generator; + std::deque> house_models; std::deque lights; - std::deque trees; + std::deque> trees; models::RawModel raw_model; models::ModelTexture texture; @@ -29,9 +33,6 @@ namespace scene entities::Camera camera(glm::vec3(0, 0, 0), glm::vec3(0, 0, 0)); std::vector guis; - models::TexturedModel model; - models::TexturedModel tree; - In_Game_Scene::In_Game_Scene() { @@ -43,6 +44,11 @@ namespace scene gui_shader->Init(); } + In_Game_Scene::~In_Game_Scene() + { + delete house_generator; + } + /** * @brief loads a new chunk in front of the camera, and deletes the chunk behind the camera. * @@ -51,32 +57,27 @@ namespace scene */ void load_chunk(int model_pos) { + static unsigned int furniture_count = 0; + std::cout << "loading model chunk" << std::endl; if (house_models.size() >= MAX_MODEL_DEQUE_SIZE) { - house_models.pop_back(); - trees.pop_back(); + for (int i = 0; i < furniture_count; i++) + { + house_models.pop_back(); + } } - int z_offset = model_pos * (model.raw_model.model_size.x * 20); // how much "in the distance" we should load the model - house_models.push_front(entities::Entity(model, glm::vec3(0, -50, -50 - z_offset), glm::vec3(0, 90, 0), 20)); + int z_offset = model_pos * (house_generator->GetHouseDepth()); // how much "in the distance" we should load the model - trees.push_front(entities::Entity(tree, glm::vec3(0, 0, -50 - z_offset), glm::vec3(0, 90, 0), 3)); + std::deque> furniture = house_generator->GenerateHouse(glm::vec3(0, -75, -50 - z_offset), 90); + furniture_count = furniture.size(); + house_models.insert(house_models.begin(), furniture.begin(), furniture.end()); } scene::Scenes scene::In_Game_Scene::start(GLFWwindow* window) - { - raw_model = render_engine::LoadObjModel("res/House.obj"); - texture = { render_engine::loader::LoadTexture("res/Texture.png") }; - texture.shine_damper = 10; - texture.reflectivity = 0; - model = { raw_model, texture }; - - models::RawModel raw_tree_model = render_engine::LoadObjModel("res/Tree.obj"); - models::ModelTexture tree_texture = { render_engine::loader::LoadTexture("res/TreeTexture.png") }; - tree = { raw_tree_model, tree_texture }; - - + { + house_generator = new entities::HouseGenerator(); // load the first few house models for (int i = 0; i <= UPCOMING_MODEL_AMOUNT; i++) { @@ -123,12 +124,12 @@ namespace scene shader->LoadLightsDeque(lights); shader->LoadViewMatrix(camera); - for (entities::Entity& model_entity : house_models) + for (std::shared_ptr model_entity : house_models) { render_engine::renderer::Render(model_entity, *shader); } - for (entities::Entity& tree_entity : trees) + for (std::shared_ptr tree_entity : trees) { render_engine::renderer::Render(tree_entity, *shader); } @@ -146,7 +147,7 @@ namespace scene // calculate where the next house model should be loaded static int last_model_pos = 0; - int model_pos = -round(camera.GetPosition().z / (model.raw_model.model_size.x * 20)); // how much models we have passed, minus because we are moving in the negative z axis + int model_pos = -round(camera.GetPosition().z / (house_generator->GetHouseDepth())); // how much models we have passed, minus because we are moving in the negative z axis // if we have passed a model, load a new one and delete the one behind us if (last_model_pos != model_pos) diff --git a/src/scenes/in_Game_Scene.h b/src/scenes/in_Game_Scene.h index 4581855..eb5f1a8 100644 --- a/src/scenes/in_Game_Scene.h +++ b/src/scenes/in_Game_Scene.h @@ -11,6 +11,7 @@ namespace scene public: In_Game_Scene(); + ~In_Game_Scene(); Scenes start(GLFWwindow* window) override; void render() override; diff --git a/src/shaders/entity_shader.cpp b/src/shaders/entity_shader.cpp index 973d7c4..d0a9ba2 100644 --- a/src/shaders/entity_shader.cpp +++ b/src/shaders/entity_shader.cpp @@ -29,7 +29,7 @@ namespace shaders uniform vec3 light_position[4]; const float density = 0.0017; - const float gradient = 4; + const float gradient = 3; void main(void) { diff --git a/wk2_fps.vcxproj b/wk2_fps.vcxproj index 555ce4b..f5db84e 100644 --- a/wk2_fps.vcxproj +++ b/wk2_fps.vcxproj @@ -20,6 +20,7 @@ + @@ -43,6 +44,7 @@ + diff --git a/wk2_fps.vcxproj.filters b/wk2_fps.vcxproj.filters index 3dc1142..3057d3f 100644 --- a/wk2_fps.vcxproj.filters +++ b/wk2_fps.vcxproj.filters @@ -75,6 +75,9 @@ Source Files + + Source Files + @@ -155,6 +158,9 @@ Header Files + + Header Files + -- 2.47.2 From 8c50792657138bc4f8b82da3480792047cc2986a Mon Sep 17 00:00:00 2001 From: Menno Date: Fri, 4 Jun 2021 15:49:56 +0200 Subject: [PATCH 09/13] [FEATURE] simple house generator --- src/entities/HouseGenerator.cpp | 39 ++++++++++++++++++++++++++++----- src/entities/HouseGenerator.h | 16 ++++++++++++-- src/renderEngine/Renderer.cpp | 2 +- src/scenes/in_Game_Scene.cpp | 12 ++++++---- src/toolbox/toolbox.cpp | 12 ++++++++++ src/toolbox/toolbox.h | 10 +++++++++ 6 files changed, 78 insertions(+), 13 deletions(-) diff --git a/src/entities/HouseGenerator.cpp b/src/entities/HouseGenerator.cpp index 1d9a8ec..7ca82f0 100644 --- a/src/entities/HouseGenerator.cpp +++ b/src/entities/HouseGenerator.cpp @@ -1,15 +1,20 @@ #include "HouseGenerator.h" + +#include +#include + #include "../renderEngine/obj_loader.h" #include "../renderEngine/Loader.h" +#include "../toolbox/toolbox.h" namespace entities { HouseGenerator::HouseGenerator() { models::RawModel raw_model = render_engine::LoadObjModel("res/HouseNew.obj"); - models::ModelTexture texture = { render_engine::loader::LoadTexture("res/Texture.png") }; - texture.shine_damper = 10; - house_model = { raw_model, texture }; + default_texture = { render_engine::loader::LoadTexture("res/Texture.png") }; + default_texture.shine_damper = 10; + house_model = { raw_model, default_texture }; GenerateFurnitureModels(); } @@ -21,15 +26,37 @@ namespace entities // Add house furniture.push_front(std::make_shared(house_model, position, glm::vec3(0, y_rotation, 0), HOUSE_SIZE)); - - // Add furniture - + models::TexturedModel couch = GetFurnitureModel(Furniture::COUCH); + furniture.push_back(std::make_shared(couch, glm::vec3(position.x, position.y + 20, position.z + 10), glm::vec3(0, 0, 0), 1)); + return furniture; } + models::TexturedModel HouseGenerator::GetFurnitureModel(Furniture furniture) + { + const auto found = furniture_models.find(furniture); + if (found == furniture_models.end()) + { + std::cerr << "OH NEEEEEEEEEEEEEEE"; + } + + auto models = found->second; + + const int modelNumber = toolbox::Random(0, models.size() - 1); + + return models[modelNumber]; + } + void HouseGenerator::GenerateFurnitureModels() { + // Couches + std::deque couches; + models::RawModel couch_inside_model = render_engine::LoadObjModel("res/couchThree.obj"); + models::TexturedModel couch_inside = { couch_inside_model, default_texture }; + couches.push_back(couch_inside); + + furniture_models.insert(std::pair>(Furniture::COUCH, couches)); } } diff --git a/src/entities/HouseGenerator.h b/src/entities/HouseGenerator.h index 8169e5f..8198dbf 100644 --- a/src/entities/HouseGenerator.h +++ b/src/entities/HouseGenerator.h @@ -2,19 +2,26 @@ #include #include +#include #include "../models/Model.h" #include "../collision/collision.h" namespace entities { + enum class Furniture + { + COUCH + }; + class HouseGenerator { private: const float HOUSE_SIZE = 30; models::TexturedModel house_model; - - std::deque furniture_models; + models::ModelTexture default_texture; + + std::map> furniture_models; public: HouseGenerator(); @@ -29,9 +36,14 @@ namespace entities */ std::deque> GenerateHouse(const glm::vec3& position, float y_rotation); + /* + * @brief: Returns the depth of the house (chunk) + */ float GetHouseDepth() const { return house_model.raw_model.model_size.x * HOUSE_SIZE; } private: void GenerateFurnitureModels(); + + models::TexturedModel GetFurnitureModel(Furniture furniture); }; } diff --git a/src/renderEngine/Renderer.cpp b/src/renderEngine/Renderer.cpp index 9eadbae..984860f 100644 --- a/src/renderEngine/Renderer.cpp +++ b/src/renderEngine/Renderer.cpp @@ -55,7 +55,7 @@ namespace render_engine const models::TexturedModel model = entity.get()->GetModel(); const models::RawModel raw_model = model.raw_model; const models::ModelTexture texture = model.texture; - + // Enable the model (VAO) glBindVertexArray(raw_model.vao_id); diff --git a/src/scenes/in_Game_Scene.cpp b/src/scenes/in_Game_Scene.cpp index 6fcec5b..18f53d0 100644 --- a/src/scenes/in_Game_Scene.cpp +++ b/src/scenes/in_Game_Scene.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #define MAX_MODEL_DEQUE_SIZE 6 // max amount of models to load at the same time #define UPCOMING_MODEL_AMOUNT 4 // how much models should be loaded in front of us @@ -60,23 +61,26 @@ namespace scene static unsigned int furniture_count = 0; std::cout << "loading model chunk" << std::endl; - if (house_models.size() >= MAX_MODEL_DEQUE_SIZE) + if (house_models.size() >= MAX_MODEL_DEQUE_SIZE * furniture_count) { for (int i = 0; i < furniture_count; i++) { - house_models.pop_back(); + house_models.pop_front(); } } int z_offset = model_pos * (house_generator->GetHouseDepth()); // how much "in the distance" we should load the model std::deque> furniture = house_generator->GenerateHouse(glm::vec3(0, -75, -50 - z_offset), 90); furniture_count = furniture.size(); - house_models.insert(house_models.begin(), furniture.begin(), furniture.end()); + + house_models.insert(house_models.end(), furniture.begin(), furniture.end()); + + std::cout << house_models.size() << std::endl; } scene::Scenes scene::In_Game_Scene::start(GLFWwindow* window) - { + { house_generator = new entities::HouseGenerator(); // load the first few house models for (int i = 0; i <= UPCOMING_MODEL_AMOUNT; i++) diff --git a/src/toolbox/toolbox.cpp b/src/toolbox/toolbox.cpp index 57473a9..53c27ad 100644 --- a/src/toolbox/toolbox.cpp +++ b/src/toolbox/toolbox.cpp @@ -1,3 +1,4 @@ +#include #include "toolbox.h" namespace toolbox @@ -31,4 +32,15 @@ namespace toolbox matrix = glm::translate(matrix, negative_cam_pos); return matrix; } + + int Random(const int min, const int max) + { + static bool first = true; + if (first) + { + srand(time(0)); + first = false; + } + return min + rand() % ((max + 1) - min); + } } diff --git a/src/toolbox/toolbox.h b/src/toolbox/toolbox.h index f8bcef6..67dcd8f 100644 --- a/src/toolbox/toolbox.h +++ b/src/toolbox/toolbox.h @@ -46,4 +46,14 @@ namespace toolbox * @return: The view matrix */ glm::mat4 CreateViewMatrix(entities::Camera& camera); + + /* + * @brief: This function will return a value between min and max + * + * @param min: The min value + * @param max: The max value + * + * @return: The random number + */ + int Random(const int min, const int max); } -- 2.47.2 From aa9c6a0fbbbfd5117f28f9b3d4ad46c3f5969082 Mon Sep 17 00:00:00 2001 From: Menno Date: Fri, 4 Jun 2021 15:54:23 +0200 Subject: [PATCH 10/13] [ADDED] comments --- src/entities/HouseGenerator.cpp | 8 ++++---- src/entities/HouseGenerator.h | 16 +++++++++++++--- src/scenes/in_Game_Scene.cpp | 2 -- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/entities/HouseGenerator.cpp b/src/entities/HouseGenerator.cpp index 7ca82f0..972ceb7 100644 --- a/src/entities/HouseGenerator.cpp +++ b/src/entities/HouseGenerator.cpp @@ -27,13 +27,13 @@ namespace entities furniture.push_front(std::make_shared(house_model, position, glm::vec3(0, y_rotation, 0), HOUSE_SIZE)); // Add furniture - models::TexturedModel couch = GetFurnitureModel(Furniture::COUCH); - furniture.push_back(std::make_shared(couch, glm::vec3(position.x, position.y + 20, position.z + 10), glm::vec3(0, 0, 0), 1)); + models::TexturedModel couch = GetFurnitureModel(FurnitureType::COUCH); + furniture.push_back(std::make_shared(couch, glm::vec3(position.x, position.y + 20, position.z + 10), glm::vec3(0, 0, 0), HOUSE_SIZE)); return furniture; } - models::TexturedModel HouseGenerator::GetFurnitureModel(Furniture furniture) + models::TexturedModel HouseGenerator::GetFurnitureModel(FurnitureType furniture) { const auto found = furniture_models.find(furniture); if (found == furniture_models.end()) @@ -57,6 +57,6 @@ namespace entities models::TexturedModel couch_inside = { couch_inside_model, default_texture }; couches.push_back(couch_inside); - furniture_models.insert(std::pair>(Furniture::COUCH, couches)); + furniture_models.insert(std::pair>(FurnitureType::COUCH, couches)); } } diff --git a/src/entities/HouseGenerator.h b/src/entities/HouseGenerator.h index 8198dbf..7495f24 100644 --- a/src/entities/HouseGenerator.h +++ b/src/entities/HouseGenerator.h @@ -8,7 +8,7 @@ namespace entities { - enum class Furniture + enum class FurnitureType { COUCH }; @@ -21,7 +21,7 @@ namespace entities models::TexturedModel house_model; models::ModelTexture default_texture; - std::map> furniture_models; + std::map> furniture_models; public: HouseGenerator(); @@ -42,8 +42,18 @@ namespace entities float GetHouseDepth() const { return house_model.raw_model.model_size.x * HOUSE_SIZE; } private: + /* + * @brief: This function loads all the 3D furniture models + */ void GenerateFurnitureModels(); - models::TexturedModel GetFurnitureModel(Furniture furniture); + /* + * @brief: This funtion chooses and returns a random furniture of the given furniture type + * + * @param furniture: The furniture you want to get + * + * @return: The model of the random furniture of the chosen furniture type + */ + models::TexturedModel GetFurnitureModel(FurnitureType furniture); }; } diff --git a/src/scenes/in_Game_Scene.cpp b/src/scenes/in_Game_Scene.cpp index 18f53d0..3706ab5 100644 --- a/src/scenes/in_Game_Scene.cpp +++ b/src/scenes/in_Game_Scene.cpp @@ -74,8 +74,6 @@ namespace scene furniture_count = furniture.size(); house_models.insert(house_models.end(), furniture.begin(), furniture.end()); - - std::cout << house_models.size() << std::endl; } -- 2.47.2 From 625965ed1b3ba6d1ac3c5062c6ba559c81deef45 Mon Sep 17 00:00:00 2001 From: Menno Date: Tue, 8 Jun 2021 12:22:54 +0200 Subject: [PATCH 11/13] [ADDED] rotating bounding boxes --- src/collision/collision.h | 13 +++++++++++++ src/entities/HouseGenerator.cpp | 8 ++++++-- src/main.cpp | 11 +++++++++++ src/scenes/in_Game_Scene.cpp | 2 +- 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/src/collision/collision.h b/src/collision/collision.h index d04f974..dadb11f 100644 --- a/src/collision/collision.h +++ b/src/collision/collision.h @@ -1,5 +1,6 @@ #pragma once +#include #include #include "../entities/entity.h" @@ -15,6 +16,18 @@ namespace collision { glm::vec3 center_pos; glm::vec3 size; + + void SetRotation(float angle) + { + double sinTheta = glm::sin(glm::radians(angle)); + double cosTheta = glm::cos(glm::radians(angle)); + + float x = size.x * cosTheta + size.z * sinTheta; + float z = size.z * cosTheta - size.x * sinTheta; + + size.x = x < 0 ? -x : x; + size.z = z < 0 ? -z : z; + } }; /* diff --git a/src/entities/HouseGenerator.cpp b/src/entities/HouseGenerator.cpp index 972ceb7..0767071 100644 --- a/src/entities/HouseGenerator.cpp +++ b/src/entities/HouseGenerator.cpp @@ -6,6 +6,7 @@ #include "../renderEngine/obj_loader.h" #include "../renderEngine/Loader.h" #include "../toolbox/toolbox.h" +#include "collision_entity.h" namespace entities { @@ -27,8 +28,11 @@ namespace entities furniture.push_front(std::make_shared(house_model, position, glm::vec3(0, y_rotation, 0), HOUSE_SIZE)); // Add furniture - models::TexturedModel couch = GetFurnitureModel(FurnitureType::COUCH); - furniture.push_back(std::make_shared(couch, glm::vec3(position.x, position.y + 20, position.z + 10), glm::vec3(0, 0, 0), HOUSE_SIZE)); + models::TexturedModel couch = GetFurnitureModel(FurnitureType::COUCH); + glm::vec3 couchPos = glm::vec3(position.x, position.y + 20, position.z + 10); + collision::Box couchBox = { couchPos, couch.raw_model.model_size }; + couchBox.SetRotation(90); + furniture.push_back(std::make_shared(couch, couchPos, glm::vec3(0, 0, 0), HOUSE_SIZE, couchBox)); return furniture; } diff --git a/src/main.cpp b/src/main.cpp index cf20294..b6f5604 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,6 +12,7 @@ #include #include +#include "collision/collision.h" #include "gui/gui_interactable.h" #include "models/model.h" #include "renderEngine/loader.h" @@ -36,6 +37,16 @@ scene::Scene* current_scene; int main(void) { + + collision::Box box = { glm::vec3(0, 0, 0), glm::vec3(5, 2, 10) }; + box.SetRotation(180); + std::cout << box.size.x << std::endl; + std::cout << box.size.y << std::endl; + std::cout << box.size.z << std::endl; + + return 0; + + #pragma region OPENGL_SETTINGS if (!glfwInit()) throw "Could not inditialize glwf"; diff --git a/src/scenes/in_Game_Scene.cpp b/src/scenes/in_Game_Scene.cpp index 3706ab5..9c3284d 100644 --- a/src/scenes/in_Game_Scene.cpp +++ b/src/scenes/in_Game_Scene.cpp @@ -162,7 +162,7 @@ namespace scene void scene::In_Game_Scene::onKey(GLFWwindow* window, int key, int scancode, int action, int mods) { - if (glfwGetKey(window, GLFW_KEY_SPACE) == GLFW_PRESS) + if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS) { return_value = scene::Scenes::STOP; } -- 2.47.2 From b092bd5f0a46a5599fd203cbb6bd6b9664a85344 Mon Sep 17 00:00:00 2001 From: Menno Date: Tue, 8 Jun 2021 14:24:12 +0200 Subject: [PATCH 12/13] [ADD] furniture --- src/entities/Camera.cpp | 6 +- src/entities/Camera.h | 2 +- src/entities/HouseGenerator.cpp | 66 ---------- src/entities/house_generator.cpp | 116 ++++++++++++++++++ .../{HouseGenerator.h => house_generator.h} | 4 +- src/main.cpp | 10 -- src/scenes/in_Game_Scene.cpp | 4 +- wk2_fps.vcxproj | 4 +- wk2_fps.vcxproj.filters | 4 +- 9 files changed, 130 insertions(+), 86 deletions(-) delete mode 100644 src/entities/HouseGenerator.cpp create mode 100644 src/entities/house_generator.cpp rename src/entities/{HouseGenerator.h => house_generator.h} (98%) diff --git a/src/entities/Camera.cpp b/src/entities/Camera.cpp index d2b38cf..16a3ff9 100644 --- a/src/entities/Camera.cpp +++ b/src/entities/Camera.cpp @@ -33,12 +33,14 @@ namespace entities if (glfwGetKey(window, GLFW_KEY_SPACE) == GLFW_PRESS) { - rotation.x -= ROT_SPEED; + //rotation.x -= ROT_SPEED; + position.y += 5; } if (glfwGetKey(window, GLFW_KEY_LEFT_SHIFT) == GLFW_PRESS) { - rotation.x += ROT_SPEED; + //rotation.x += ROT_SPEED; + position.y -= 5; } float dx = glm::cos(glm::radians(rotation.y + 90)) * movement_speed; diff --git a/src/entities/Camera.h b/src/entities/Camera.h index a47af65..46797f4 100644 --- a/src/entities/Camera.h +++ b/src/entities/Camera.h @@ -13,7 +13,7 @@ namespace entities { private: // The movement speed of the camera - const float SPEED = 0.52f; + const float SPEED = 2.0f; const float ROT_SPEED = 1.0f; glm::vec3 position; diff --git a/src/entities/HouseGenerator.cpp b/src/entities/HouseGenerator.cpp deleted file mode 100644 index 0767071..0000000 --- a/src/entities/HouseGenerator.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#include "HouseGenerator.h" - -#include -#include - -#include "../renderEngine/obj_loader.h" -#include "../renderEngine/Loader.h" -#include "../toolbox/toolbox.h" -#include "collision_entity.h" - -namespace entities -{ - HouseGenerator::HouseGenerator() - { - models::RawModel raw_model = render_engine::LoadObjModel("res/HouseNew.obj"); - default_texture = { render_engine::loader::LoadTexture("res/Texture.png") }; - default_texture.shine_damper = 10; - house_model = { raw_model, default_texture }; - - GenerateFurnitureModels(); - } - - std::deque> HouseGenerator::GenerateHouse(const glm::vec3& position, float y_rotation) - { - std::deque> furniture; - - // Add house - furniture.push_front(std::make_shared(house_model, position, glm::vec3(0, y_rotation, 0), HOUSE_SIZE)); - - // Add furniture - models::TexturedModel couch = GetFurnitureModel(FurnitureType::COUCH); - glm::vec3 couchPos = glm::vec3(position.x, position.y + 20, position.z + 10); - collision::Box couchBox = { couchPos, couch.raw_model.model_size }; - couchBox.SetRotation(90); - furniture.push_back(std::make_shared(couch, couchPos, glm::vec3(0, 0, 0), HOUSE_SIZE, couchBox)); - - return furniture; - } - - models::TexturedModel HouseGenerator::GetFurnitureModel(FurnitureType furniture) - { - const auto found = furniture_models.find(furniture); - if (found == furniture_models.end()) - { - std::cerr << "OH NEEEEEEEEEEEEEEE"; - } - - auto models = found->second; - - const int modelNumber = toolbox::Random(0, models.size() - 1); - - return models[modelNumber]; - } - - void HouseGenerator::GenerateFurnitureModels() - { - // Couches - std::deque couches; - - models::RawModel couch_inside_model = render_engine::LoadObjModel("res/couchThree.obj"); - models::TexturedModel couch_inside = { couch_inside_model, default_texture }; - couches.push_back(couch_inside); - - furniture_models.insert(std::pair>(FurnitureType::COUCH, couches)); - } -} diff --git a/src/entities/house_generator.cpp b/src/entities/house_generator.cpp new file mode 100644 index 0000000..f868920 --- /dev/null +++ b/src/entities/house_generator.cpp @@ -0,0 +1,116 @@ +#include "house_generator.h" + +#include +#include + +#include "../renderEngine/obj_loader.h" +#include "../renderEngine/Loader.h" +#include "../toolbox/toolbox.h" +#include "collision_entity.h" + +namespace entities +{ + HouseGenerator::HouseGenerator() + { + models::RawModel raw_model = render_engine::LoadObjModel("res/HouseNew.obj"); + default_texture = { render_engine::loader::LoadTexture("res/Texture.png") }; + default_texture.shine_damper = 10; + house_model = { raw_model, default_texture }; + + GenerateFurnitureModels(); + } + + std::deque> HouseGenerator::GenerateHouse(const glm::vec3& position, float y_rotation) + { + std::deque> furniture; + + // Add house + furniture.push_front(std::make_shared(house_model, position, glm::vec3(0, y_rotation, 0), HOUSE_SIZE)); + + // Add furniture + models::TexturedModel couch = GetFurnitureModel(FurnitureType::COUCH); + glm::vec3 couch_pos = glm::vec3(position.x + 200, position.y, position.z + 10); + collision::Box couch_box = { couch_pos, couch.raw_model.model_size }; + couch_box.SetRotation(-90); + furniture.push_back(std::make_shared(couch, couch_pos, glm::vec3(0, -90, 0), HOUSE_SIZE * 2, couch_box)); + + models::TexturedModel table = GetFurnitureModel(FurnitureType::TABLE); + glm::vec3 table_pos = glm::vec3(position.x - 30, position.y, position.z); + collision::Box table_box = { table_pos, table.raw_model.model_size }; + furniture.push_back(std::make_shared(table, table_pos, glm::vec3(0, 0, 0), HOUSE_SIZE * 1.3, table_box)); + + models::TexturedModel chair = GetFurnitureModel(FurnitureType::CHAIR); + glm::vec3 chair_pos = glm::vec3(position.x - 50, position.y, position.z + 220); + collision::Box chair_box = { chair_pos, chair.raw_model.model_size }; + furniture.push_back(std::make_shared(chair, chair_pos, glm::vec3(0, 0, 0), HOUSE_SIZE, chair_box)); + + return furniture; + } + + models::TexturedModel HouseGenerator::GetFurnitureModel(FurnitureType furniture) + { + const auto found = furniture_models.find(furniture); + if (found == furniture_models.end()) + { + std::cerr << "OH NEEEEEEEEEEEEEEE"; + } + + auto models = found->second; + + const int modelNumber = toolbox::Random(0, models.size() - 1); + + return models[modelNumber]; + } + + void HouseGenerator::GenerateFurnitureModels() + { + // Couches + std::deque couches; + + models::RawModel couch_inside_model = render_engine::LoadObjModel("res/couchThree.obj"); + models::TexturedModel couch_inside = { couch_inside_model, default_texture }; + couches.push_back(couch_inside); + + models::RawModel couch_inside_model2 = render_engine::LoadObjModel("res/Coach.obj"); + models::TexturedModel couch_inside2 = { couch_inside_model2, default_texture }; + couches.push_back(couch_inside2); + + models::RawModel couch_inside_model3 = render_engine::LoadObjModel("res/lawnBenchOne.obj"); + models::TexturedModel couch_inside3 = { couch_inside_model3, default_texture }; + couches.push_back(couch_inside3); + + furniture_models.insert(std::pair>(FurnitureType::COUCH, couches)); + + // Tables + std::deque tables; + + models::RawModel table_model1 = render_engine::LoadObjModel("res/tableOne.obj"); + models::TexturedModel table1 = { table_model1, default_texture }; + tables.push_back(table1); + + models::RawModel table_model2 = render_engine::LoadObjModel("res/tableTwo.obj"); + models::TexturedModel table2 = { table_model2, default_texture }; + tables.push_back(table2); + + furniture_models.insert(std::pair>(FurnitureType::TABLE, tables)); + + // Chairs + std::deque chairs; + + models::RawModel chair_model1 = render_engine::LoadObjModel("res/launchchair.obj"); + models::TexturedModel chair1 = { chair_model1, default_texture }; + chairs.push_back(chair1); + + models::RawModel chair_model2 = render_engine::LoadObjModel("res/lawnChairOne.obj"); + models::TexturedModel chair2 = { chair_model2, default_texture }; + chairs.push_back(chair2); + + models::RawModel chair_model3 = render_engine::LoadObjModel("res/ugly_chair.obj"); + models::TexturedModel chair3 = { chair_model3, default_texture }; + chairs.push_back(chair3); + + // Plants + + furniture_models.insert(std::pair>(FurnitureType::CHAIR, chairs)); + } +} diff --git a/src/entities/HouseGenerator.h b/src/entities/house_generator.h similarity index 98% rename from src/entities/HouseGenerator.h rename to src/entities/house_generator.h index 7495f24..dad3f76 100644 --- a/src/entities/HouseGenerator.h +++ b/src/entities/house_generator.h @@ -10,7 +10,9 @@ namespace entities { enum class FurnitureType { - COUCH + COUCH, + TABLE, + CHAIR }; class HouseGenerator diff --git a/src/main.cpp b/src/main.cpp index b6f5604..cd145fe 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -37,16 +37,6 @@ scene::Scene* current_scene; int main(void) { - - collision::Box box = { glm::vec3(0, 0, 0), glm::vec3(5, 2, 10) }; - box.SetRotation(180); - std::cout << box.size.x << std::endl; - std::cout << box.size.y << std::endl; - std::cout << box.size.z << std::endl; - - return 0; - - #pragma region OPENGL_SETTINGS if (!glfwInit()) throw "Could not inditialize glwf"; diff --git a/src/scenes/in_Game_Scene.cpp b/src/scenes/in_Game_Scene.cpp index 9c3284d..7f53413 100644 --- a/src/scenes/in_Game_Scene.cpp +++ b/src/scenes/in_Game_Scene.cpp @@ -10,7 +10,7 @@ #include "../renderEngine/renderer.h" #include "../shaders/entity_shader.h" #include "../toolbox/toolbox.h" -#include "../entities/HouseGenerator.h" +#include "../entities/house_generator.h" #include #include #include @@ -31,7 +31,7 @@ namespace scene models::ModelTexture texture; shaders::EntityShader* shader; shaders::GuiShader* gui_shader; - entities::Camera camera(glm::vec3(0, 0, 0), glm::vec3(0, 0, 0)); + entities::Camera camera(glm::vec3(0, -50, 0), glm::vec3(0, 0, 0)); std::vector guis; diff --git a/wk2_fps.vcxproj b/wk2_fps.vcxproj index f5db84e..d8fb3c7 100644 --- a/wk2_fps.vcxproj +++ b/wk2_fps.vcxproj @@ -20,7 +20,7 @@ - + @@ -44,7 +44,7 @@ - + diff --git a/wk2_fps.vcxproj.filters b/wk2_fps.vcxproj.filters index 3057d3f..0ab51e8 100644 --- a/wk2_fps.vcxproj.filters +++ b/wk2_fps.vcxproj.filters @@ -75,7 +75,7 @@ Source Files - + Source Files @@ -158,7 +158,7 @@ Header Files - + Header Files -- 2.47.2 From dd6ee773161c0518035ae1037b1178894657dc11 Mon Sep 17 00:00:00 2001 From: Menno Date: Tue, 8 Jun 2021 15:53:51 +0200 Subject: [PATCH 13/13] [ADD] added all the models to the project --- src/entities/house_generator.cpp | 146 ++++++++++++++++++++++++++++++- src/entities/house_generator.h | 8 +- 2 files changed, 151 insertions(+), 3 deletions(-) diff --git a/src/entities/house_generator.cpp b/src/entities/house_generator.cpp index f868920..6573701 100644 --- a/src/entities/house_generator.cpp +++ b/src/entities/house_generator.cpp @@ -26,7 +26,18 @@ namespace entities // Add house furniture.push_front(std::make_shared(house_model, position, glm::vec3(0, y_rotation, 0), HOUSE_SIZE)); + + for(int i = 0; i(model, model_pos, glm::vec3(0, -90, 0), HOUSE_SIZE * 2, model_box)); + } + /* // Add furniture models::TexturedModel couch = GetFurnitureModel(FurnitureType::COUCH); glm::vec3 couch_pos = glm::vec3(position.x + 200, position.y, position.z + 10); @@ -43,7 +54,37 @@ namespace entities glm::vec3 chair_pos = glm::vec3(position.x - 50, position.y, position.z + 220); collision::Box chair_box = { chair_pos, chair.raw_model.model_size }; furniture.push_back(std::make_shared(chair, chair_pos, glm::vec3(0, 0, 0), HOUSE_SIZE, chair_box)); + + models::TexturedModel plant = GetFurnitureModel(FurnitureType::PLANT); + glm::vec3 plant_pos = glm::vec3(position.x - 50, position.y, position.z + 220); + collision::Box plant_box = { plant_pos, plant.raw_model.model_size }; + furniture.push_back(std::make_shared(plant, plant_pos, glm::vec3(0, 0, 0), HOUSE_SIZE, plant_box)); + + models::TexturedModel guitar = GetFurnitureModel(FurnitureType::GUITAR); + glm::vec3 guitar_pos = glm::vec3(position.x - 50, position.y, position.z + 220); + collision::Box guitar_box = { guitar_pos, guitar.raw_model.model_size }; + furniture.push_back(std::make_shared(guitar, guitar_pos, glm::vec3(0, 0, 0), HOUSE_SIZE, guitar_box)); + models::TexturedModel bookshelf = GetFurnitureModel(FurnitureType::BOOKSHELF); + glm::vec3 bookshelf_pos = glm::vec3(position.x - 50, position.y, position.z + 220); + collision::Box bookshelf_box = { bookshelf_pos, bookshelf.raw_model.model_size }; + furniture.push_back(std::make_shared(bookshelf, bookshelf_pos, glm::vec3(0, 0, 0), HOUSE_SIZE, bookshelf_box)); + + models::TexturedModel lamp = GetFurnitureModel(FurnitureType::LAMP); + glm::vec3 lamp_pos = glm::vec3(position.x - 50, position.y, position.z + 220); + collision::Box lamp_box = { lamp_pos, lamp.raw_model.model_size }; + furniture.push_back(std::make_shared(lamp, lamp_pos, glm::vec3(0, 0, 0), HOUSE_SIZE, lamp_box)); + + models::TexturedModel ceiling_object = GetFurnitureModel(FurnitureType::CEILING_OBJECTS); + glm::vec3 ceiling_object_pos = glm::vec3(position.x - 50, position.y, position.z + 220); + collision::Box ceiling_object_box = { ceiling_object_pos, ceiling_object.raw_model.model_size }; + furniture.push_back(std::make_shared(ceiling_object, ceiling_object_pos, glm::vec3(0, 0, 0), HOUSE_SIZE, ceiling_object_box)); + + models::TexturedModel misc = GetFurnitureModel(FurnitureType::MISC); + glm::vec3 misc_pos = glm::vec3(position.x - 50, position.y, position.z + 220); + collision::Box misc_box = { misc_pos, misc.raw_model.model_size }; + furniture.push_back(std::make_shared(misc, misc_pos, glm::vec3(0, 0, 0), HOUSE_SIZE, misc_box)); + */ return furniture; } @@ -91,6 +132,10 @@ namespace entities models::RawModel table_model2 = render_engine::LoadObjModel("res/tableTwo.obj"); models::TexturedModel table2 = { table_model2, default_texture }; tables.push_back(table2); + + models::RawModel table_model3 = render_engine::LoadObjModel("res/bureauOne.obj"); + models::TexturedModel table3 = { table_model3, default_texture }; + tables.push_back(table3); furniture_models.insert(std::pair>(FurnitureType::TABLE, tables)); @@ -109,8 +154,105 @@ namespace entities models::TexturedModel chair3 = { chair_model3, default_texture }; chairs.push_back(chair3); - // Plants - furniture_models.insert(std::pair>(FurnitureType::CHAIR, chairs)); + + + // Plants + std::deque plants; + + models::RawModel plant_model1 = render_engine::LoadObjModel("res/plantOne.obj"); + models::TexturedModel plant1 = { plant_model1, default_texture }; + plants.push_back(plant1); + + models::RawModel plant_model2 = render_engine::LoadObjModel("res/plantTwo.obj"); + models::TexturedModel plant2 = { plant_model2, default_texture }; + plants.push_back(plant2); + + models::RawModel plant_model3 = render_engine::LoadObjModel("res/plantThree.obj"); + models::TexturedModel plant3 = { plant_model3, default_texture }; + plants.push_back(plant3); + + furniture_models.insert(std::pair>(FurnitureType::PLANT, plants)); + + // Guitars + std::deque guitars; + + models::RawModel guitar_model1 = render_engine::LoadObjModel("res/guitarOne.obj"); + models::TexturedModel guitar1 = { guitar_model1, default_texture }; + guitars.push_back(guitar1); + + models::RawModel guitar_model2 = render_engine::LoadObjModel("res/guitarTwo.obj"); + models::TexturedModel guitar2 = { guitar_model2, default_texture }; + guitars.push_back(guitar2); + + furniture_models.insert(std::pair>(FurnitureType::GUITAR, guitars)); + + // Bookshelves + std::deque bookshelves; + + models::RawModel bookshelf_model1 = render_engine::LoadObjModel("res/bookShelfOne.obj"); + models::TexturedModel bookshelf1 = { bookshelf_model1, default_texture }; + bookshelves.push_back(bookshelf1); + + models::RawModel bookshelf_model2 = render_engine::LoadObjModel("res/bookShelfTwo.obj"); + models::TexturedModel bookshelf2 = { bookshelf_model2, default_texture }; + bookshelves.push_back(bookshelf2); + + models::RawModel bookshelf_model3 = render_engine::LoadObjModel("res/bookShelfThree.obj"); + models::TexturedModel bookshelf3 = { bookshelf_model3, default_texture }; + bookshelves.push_back(bookshelf3); + + furniture_models.insert(std::pair>(FurnitureType::BOOKSHELF, bookshelves)); + + // Lamps + std::dequelamps; + + models::RawModel lamp_model1 = render_engine::LoadObjModel("res/lampOne.obj"); + models::TexturedModel lamp1 = { lamp_model1, default_texture }; + lamps.push_back(lamp1); + + models::RawModel lamp_model2 = render_engine::LoadObjModel("res/lampTwo.obj"); + models::TexturedModel lamp2 = { lamp_model2, default_texture }; + lamps.push_back(lamp2); + + furniture_models.insert(std::pair>(FurnitureType::LAMP, lamps)); + + // Ceiling objects + std::dequeceiling_Objects; + + models::RawModel ceiling_Obj_model1 = render_engine::LoadObjModel("res/ceilingFan.obj"); + models::TexturedModel ceiling_Obj1 = { ceiling_Obj_model1, default_texture }; + ceiling_Objects.push_back(ceiling_Obj1); + + models::RawModel ceiling_Obj_model2 = render_engine::LoadObjModel("res/ceilingFanTwo.obj"); + models::TexturedModel ceiling_Obj2 = { ceiling_Obj_model2, default_texture }; + ceiling_Objects.push_back(ceiling_Obj2); + + models::RawModel ceiling_Obj_model3 = render_engine::LoadObjModel("res/ceilingLampOne.obj"); + models::TexturedModel ceiling_Obj3 = { ceiling_Obj_model3, default_texture }; + ceiling_Objects.push_back(ceiling_Obj3); + + models::RawModel ceiling_Obj_model4 = render_engine::LoadObjModel("res/ceilingLampTwo.obj"); + models::TexturedModel ceiling_Obj4 = { ceiling_Obj_model4, default_texture }; + ceiling_Objects.push_back(ceiling_Obj4); + + furniture_models.insert(std::pair>(FurnitureType::CEILING_OBJECTS, ceiling_Objects)); + + // Miscs + std::deque miscs; + + models::RawModel misc_model1 = render_engine::LoadObjModel("res/tv.obj"); + models::TexturedModel misc1 = { misc_model1, default_texture }; + miscs.push_back(misc1); + + models::RawModel misc_model2 = render_engine::LoadObjModel("res/radio.obj"); + models::TexturedModel misc2 = { misc_model2, default_texture }; + miscs.push_back(misc2); + + models::RawModel misc_model3 = render_engine::LoadObjModel("res/Flowerpot.obj"); + models::TexturedModel misc3 = { misc_model3, default_texture }; + miscs.push_back(misc3); + + furniture_models.insert(std::pair>(FurnitureType::MISC, miscs)); } } diff --git a/src/entities/house_generator.h b/src/entities/house_generator.h index dad3f76..12fbfa0 100644 --- a/src/entities/house_generator.h +++ b/src/entities/house_generator.h @@ -12,7 +12,13 @@ namespace entities { COUCH, TABLE, - CHAIR + CHAIR, + PLANT, + GUITAR, + BOOKSHELF, + LAMP, + CEILING_OBJECTS, + MISC }; class HouseGenerator -- 2.47.2