From ec1610443c34d1ae1b5629e6449f23c4df6e392c Mon Sep 17 00:00:00 2001 From: sonakrie Date: Sun, 30 Nov 2025 23:02:25 +0100 Subject: [PATCH] Add everything. --- .github/workflows/thing.yaml | 77 + .gitignore | 1 + .gitmodules | 10 + .vscode/c_cpp_properties.json | 33 + .vscode/settings.json | 16 + CMakeLists.txt | 87 + LICENSE | 29 + Resources/Shaders/frag.glsl | 46 + Resources/Shaders/skybox_frag.glsl | 98 + Resources/Shaders/skybox_vert.glsl | 14 + Resources/Shaders/vert.glsl | 20 + Resources/Textures/awesomeface.png | Bin 0 -> 59277 bytes Resources/Textures/container.jpg | Bin 0 -> 184939 bytes Resources/Textures/wall.jpg | Bin 0 -> 256989 bytes Resources/imgui.ini | 67 + build.bat | 48 + build.sh | 23 + buildandrun.sh | 7 + include/General/GlobalHeaders.h | 4 + include/Shaders/Shader.h | 28 + include/Skybox/Skybox.h | 23 + include/Textures/Texture.h | 34 + include/ThirdParty/stb_image.h | 7988 +++++ include/ThirdParty/tiny_obj_loader.h | 3517 +++ include/Window/Window.h | 12 + src/Shaders/Shader_Manager/Shader.cpp | 113 + src/Skybox/Skybox.cpp | 101 + src/Textures/Texture.cpp | 72 + src/ThirdParty/ImGuizmo/GraphEditor.cpp | 1111 + src/ThirdParty/ImGuizmo/GraphEditor.h | 151 + src/ThirdParty/ImGuizmo/ImCurveEdit.cpp | 458 + src/ThirdParty/ImGuizmo/ImCurveEdit.h | 82 + src/ThirdParty/ImGuizmo/ImGradient.cpp | 116 + src/ThirdParty/ImGuizmo/ImGradient.h | 45 + src/ThirdParty/ImGuizmo/ImGuizmo.cpp | 3164 ++ src/ThirdParty/ImGuizmo/ImGuizmo.h | 306 + src/ThirdParty/ImGuizmo/ImSequencer.cpp | 695 + src/ThirdParty/ImGuizmo/ImSequencer.h | 79 + src/ThirdParty/ImGuizmo/ImZoomSlider.h | 245 + src/ThirdParty/ImGuizmo/Images/nodeeditor.jpg | Bin 0 -> 44209 bytes src/ThirdParty/ImGuizmo/LICENSE | 21 + src/ThirdParty/ImGuizmo/Makefile | 19 + src/ThirdParty/ImGuizmo/README.md | 194 + .../ImGuizmo/bin/ImGuizmoSample.exe | Bin 0 -> 469504 bytes src/ThirdParty/ImGuizmo/bin/imgui.ini | 25 + src/ThirdParty/ImGuizmo/example/ImApp.h | 3755 +++ .../ImGuizmo/example/ImGuizmoSample.vcxproj | 184 + src/ThirdParty/ImGuizmo/example/imconfig.h | 147 + src/ThirdParty/ImGuizmo/example/imgui.cpp | 18049 +++++++++++ src/ThirdParty/ImGuizmo/example/imgui.h | 4173 +++ .../ImGuizmo/example/imgui_demo.cpp | 10886 +++++++ .../ImGuizmo/example/imgui_draw.cpp | 6342 ++++ .../ImGuizmo/example/imgui_internal.h | 3950 +++ .../ImGuizmo/example/imgui_tables.cpp | 4569 +++ .../ImGuizmo/example/imgui_widgets.cpp | 10784 +++++++ .../ImGuizmo/example/imstb_rectpack.h | 627 + .../ImGuizmo/example/imstb_textedit.h | 1527 + .../ImGuizmo/example/imstb_truetype.h | 5085 +++ src/ThirdParty/ImGuizmo/example/main.cpp | 927 + src/ThirdParty/ImGuizmo/example/stb_image.h | 7187 +++++ .../ImGuizmo/vcpkg-example/CMakeLists.txt | 24 + src/ThirdParty/ImGuizmo/vcpkg-example/ImApp.h | 3597 +++ .../ImGuizmo/vcpkg-example/README.md | 52 + .../ImGuizmo/vcpkg-example/imgui.ini | 25 + .../ImGuizmo/vcpkg-example/main.cpp | 888 + .../ImGuizmo/vcpkg-example/vcpkg.json | 9 + src/ThirdParty/glad/KHR/khrplatform.h | 311 + src/ThirdParty/glad/glad.c | 2532 ++ src/ThirdParty/glad/glad/glad.h | 5169 ++++ .../glfw/CMake/GenerateMappings.cmake | 48 + src/ThirdParty/glfw/CMake/Info.plist.in | 38 + .../glfw/CMake/cmake_uninstall.cmake.in | 29 + src/ThirdParty/glfw/CMake/glfw3.pc.in | 13 + .../glfw/CMake/glfw3Config.cmake.in | 3 + .../glfw/CMake/i686-w64-mingw32-clang.cmake | 13 + .../glfw/CMake/i686-w64-mingw32.cmake | 13 + .../glfw/CMake/modules/FindEpollShim.cmake | 17 + .../glfw/CMake/modules/FindOSMesa.cmake | 18 + .../glfw/CMake/x86_64-w64-mingw32-clang.cmake | 13 + .../glfw/CMake/x86_64-w64-mingw32.cmake | 13 + src/ThirdParty/glfw/CMakeLists.txt | 179 + src/ThirdParty/glfw/CONTRIBUTORS.md | 235 + src/ThirdParty/glfw/LICENSE.md | 23 + src/ThirdParty/glfw/README.md | 324 + src/ThirdParty/glfw/deps/getopt.c | 230 + src/ThirdParty/glfw/deps/getopt.h | 57 + src/ThirdParty/glfw/deps/glad/gl.h | 5996 ++++ src/ThirdParty/glfw/deps/glad/gles2.h | 1805 ++ src/ThirdParty/glfw/deps/glad/vulkan.h | 4612 +++ src/ThirdParty/glfw/deps/linmath.h | 606 + .../glfw/deps/mingw/_mingw_dxhelper.h | 117 + src/ThirdParty/glfw/deps/mingw/dinput.h | 2467 ++ src/ThirdParty/glfw/deps/mingw/xinput.h | 239 + src/ThirdParty/glfw/deps/nuklear.h | 25778 ++++++++++++++++ src/ThirdParty/glfw/deps/nuklear_glfw_gl2.h | 381 + src/ThirdParty/glfw/deps/stb_image_write.h | 1048 + src/ThirdParty/glfw/deps/tinycthread.c | 594 + src/ThirdParty/glfw/deps/tinycthread.h | 443 + src/ThirdParty/glfw/deps/vs2008/stdint.h | 247 + src/ThirdParty/glfw/docs/CMakeLists.txt | 46 + src/ThirdParty/glfw/docs/CODEOWNERS | 10 + src/ThirdParty/glfw/docs/CONTRIBUTING.md | 391 + src/ThirdParty/glfw/docs/Doxyfile.in | 2465 ++ src/ThirdParty/glfw/docs/DoxygenLayout.xml | 71 + src/ThirdParty/glfw/docs/SUPPORT.md | 14 + src/ThirdParty/glfw/docs/build.dox | 338 + src/ThirdParty/glfw/docs/compat.dox | 284 + src/ThirdParty/glfw/docs/compile.dox | 392 + src/ThirdParty/glfw/docs/context.dox | 342 + src/ThirdParty/glfw/docs/extra.css | 2 + src/ThirdParty/glfw/docs/extra.css.map | 7 + src/ThirdParty/glfw/docs/extra.scss | 449 + src/ThirdParty/glfw/docs/footer.html | 7 + src/ThirdParty/glfw/docs/header.html | 34 + src/ThirdParty/glfw/docs/input.dox | 953 + src/ThirdParty/glfw/docs/internal.dox | 123 + src/ThirdParty/glfw/docs/intro.dox | 619 + src/ThirdParty/glfw/docs/main.dox | 46 + src/ThirdParty/glfw/docs/monitor.dox | 268 + src/ThirdParty/glfw/docs/moving.dox | 513 + src/ThirdParty/glfw/docs/news.dox | 234 + src/ThirdParty/glfw/docs/quick.dox | 371 + src/ThirdParty/glfw/docs/spaces.svg | 877 + src/ThirdParty/glfw/docs/vulkan.dox | 246 + src/ThirdParty/glfw/docs/window.dox | 1457 + src/ThirdParty/glfw/examples/CMakeLists.txt | 88 + src/ThirdParty/glfw/examples/boing.c | 680 + src/ThirdParty/glfw/examples/gears.c | 361 + src/ThirdParty/glfw/examples/glfw.icns | Bin 0 -> 27988 bytes src/ThirdParty/glfw/examples/glfw.ico | Bin 0 -> 21630 bytes src/ThirdParty/glfw/examples/glfw.rc | 3 + src/ThirdParty/glfw/examples/heightmap.c | 513 + src/ThirdParty/glfw/examples/offscreen.c | 178 + src/ThirdParty/glfw/examples/particles.c | 1074 + src/ThirdParty/glfw/examples/sharing.c | 235 + src/ThirdParty/glfw/examples/splitview.c | 547 + .../glfw/examples/triangle-opengl.c | 171 + .../glfw/examples/triangle-opengles.c | 170 + src/ThirdParty/glfw/examples/wave.c | 463 + src/ThirdParty/glfw/examples/windows.c | 110 + src/ThirdParty/glfw/include/GLFW/glfw3.h | 6456 ++++ .../glfw/include/GLFW/glfw3native.h | 594 + src/ThirdParty/glfw/premake5.lua | 118 + src/ThirdParty/glfw/src/CMakeLists.txt | 399 + src/ThirdParty/glfw/src/cocoa_init.m | 686 + src/ThirdParty/glfw/src/cocoa_joystick.h | 51 + src/ThirdParty/glfw/src/cocoa_joystick.m | 477 + src/ThirdParty/glfw/src/cocoa_monitor.m | 631 + src/ThirdParty/glfw/src/cocoa_platform.h | 302 + src/ThirdParty/glfw/src/cocoa_time.c | 55 + src/ThirdParty/glfw/src/cocoa_time.h | 35 + src/ThirdParty/glfw/src/cocoa_window.m | 1941 ++ src/ThirdParty/glfw/src/context.c | 756 + src/ThirdParty/glfw/src/egl_context.c | 868 + src/ThirdParty/glfw/src/glfw.rc.in | 30 + src/ThirdParty/glfw/src/glx_context.c | 712 + src/ThirdParty/glfw/src/init.c | 482 + src/ThirdParty/glfw/src/input.c | 1423 + src/ThirdParty/glfw/src/internal.h | 1073 + src/ThirdParty/glfw/src/linux_joystick.c | 431 + src/ThirdParty/glfw/src/linux_joystick.h | 65 + src/ThirdParty/glfw/src/mappings.h | 1001 + src/ThirdParty/glfw/src/mappings.h.in | 82 + src/ThirdParty/glfw/src/monitor.c | 543 + src/ThirdParty/glfw/src/nsgl_context.m | 376 + src/ThirdParty/glfw/src/null_init.c | 134 + src/ThirdParty/glfw/src/null_joystick.c | 58 + src/ThirdParty/glfw/src/null_joystick.h | 32 + src/ThirdParty/glfw/src/null_monitor.c | 161 + src/ThirdParty/glfw/src/null_platform.h | 154 + src/ThirdParty/glfw/src/null_window.c | 698 + src/ThirdParty/glfw/src/osmesa_context.c | 386 + src/ThirdParty/glfw/src/platform.c | 189 + src/ThirdParty/glfw/src/platform.h | 179 + src/ThirdParty/glfw/src/posix_module.c | 51 + src/ThirdParty/glfw/src/posix_thread.c | 105 + src/ThirdParty/glfw/src/posix_thread.h | 49 + src/ThirdParty/glfw/src/posix_time.c | 63 + src/ThirdParty/glfw/src/posix_time.h | 41 + src/ThirdParty/glfw/src/vulkan.c | 330 + src/ThirdParty/glfw/src/wgl_context.c | 790 + src/ThirdParty/glfw/src/win32_init.c | 665 + src/ThirdParty/glfw/src/win32_joystick.c | 758 + src/ThirdParty/glfw/src/win32_joystick.h | 53 + src/ThirdParty/glfw/src/win32_module.c | 49 + src/ThirdParty/glfw/src/win32_monitor.c | 547 + src/ThirdParty/glfw/src/win32_platform.h | 622 + src/ThirdParty/glfw/src/win32_thread.c | 98 + src/ThirdParty/glfw/src/win32_thread.h | 48 + src/ThirdParty/glfw/src/win32_time.c | 53 + src/ThirdParty/glfw/src/win32_time.h | 38 + src/ThirdParty/glfw/src/win32_window.c | 2555 ++ src/ThirdParty/glfw/src/window.c | 1150 + src/ThirdParty/glfw/src/wl_init.c | 1468 + src/ThirdParty/glfw/src/wl_monitor.c | 232 + src/ThirdParty/glfw/src/wl_platform.h | 499 + src/ThirdParty/glfw/src/wl_window.c | 1876 ++ src/ThirdParty/glfw/src/x11_init.c | 1612 + src/ThirdParty/glfw/src/x11_monitor.c | 616 + src/ThirdParty/glfw/src/x11_platform.h | 1001 + src/ThirdParty/glfw/src/x11_window.c | 3311 ++ src/ThirdParty/glfw/src/xkb_unicode.c | 942 + src/ThirdParty/glfw/src/xkb_unicode.h | 30 + src/ThirdParty/glfw/tests/CMakeLists.txt | 86 + src/ThirdParty/glfw/tests/allocator.c | 142 + src/ThirdParty/glfw/tests/clipboard.c | 146 + src/ThirdParty/glfw/tests/cursor.c | 489 + src/ThirdParty/glfw/tests/empty.c | 133 + src/ThirdParty/glfw/tests/events.c | 671 + src/ThirdParty/glfw/tests/gamma.c | 187 + src/ThirdParty/glfw/tests/glfwinfo.c | 1061 + src/ThirdParty/glfw/tests/icon.c | 150 + src/ThirdParty/glfw/tests/iconify.c | 298 + src/ThirdParty/glfw/tests/inputlag.c | 310 + src/ThirdParty/glfw/tests/joysticks.c | 346 + src/ThirdParty/glfw/tests/monitors.c | 263 + src/ThirdParty/glfw/tests/msaa.c | 221 + src/ThirdParty/glfw/tests/reopen.c | 241 + src/ThirdParty/glfw/tests/tearing.c | 251 + src/ThirdParty/glfw/tests/threads.c | 153 + src/ThirdParty/glfw/tests/timeout.c | 99 + src/ThirdParty/glfw/tests/title.c | 73 + src/ThirdParty/glfw/tests/triangle-vulkan.c | 2129 ++ src/ThirdParty/glfw/tests/window.c | 428 + src/ThirdParty/glm/CMakeLists.txt | 69 + src/ThirdParty/glm/common.hpp | 539 + src/ThirdParty/glm/detail/_features.hpp | 394 + src/ThirdParty/glm/detail/_fixes.hpp | 27 + src/ThirdParty/glm/detail/_noise.hpp | 81 + src/ThirdParty/glm/detail/_swizzle.hpp | 809 + src/ThirdParty/glm/detail/_swizzle_func.hpp | 682 + src/ThirdParty/glm/detail/_vectorize.hpp | 230 + src/ThirdParty/glm/detail/compute_common.hpp | 50 + .../glm/detail/compute_vector_decl.hpp | 190 + .../glm/detail/compute_vector_relational.hpp | 30 + src/ThirdParty/glm/detail/func_common.inl | 936 + .../glm/detail/func_common_simd.inl | 615 + .../glm/detail/func_exponential.inl | 152 + .../glm/detail/func_exponential_simd.inl | 37 + src/ThirdParty/glm/detail/func_geometric.inl | 259 + .../glm/detail/func_geometric_simd.inl | 181 + src/ThirdParty/glm/detail/func_integer.inl | 392 + .../glm/detail/func_integer_simd.inl | 65 + src/ThirdParty/glm/detail/func_matrix.inl | 484 + .../glm/detail/func_matrix_simd.inl | 263 + src/ThirdParty/glm/detail/func_packing.inl | 189 + .../glm/detail/func_packing_simd.inl | 6 + .../glm/detail/func_trigonometric.inl | 197 + .../glm/detail/func_trigonometric_simd.inl | 0 .../glm/detail/func_vector_relational.inl | 87 + .../detail/func_vector_relational_simd.inl | 6 + src/ThirdParty/glm/detail/glm.cpp | 263 + src/ThirdParty/glm/detail/qualifier.hpp | 295 + src/ThirdParty/glm/detail/setup.hpp | 1188 + src/ThirdParty/glm/detail/type_float.hpp | 68 + src/ThirdParty/glm/detail/type_half.hpp | 16 + src/ThirdParty/glm/detail/type_half.inl | 241 + src/ThirdParty/glm/detail/type_mat2x2.hpp | 177 + src/ThirdParty/glm/detail/type_mat2x2.inl | 536 + src/ThirdParty/glm/detail/type_mat2x3.hpp | 159 + src/ThirdParty/glm/detail/type_mat2x3.inl | 495 + src/ThirdParty/glm/detail/type_mat2x4.hpp | 161 + src/ThirdParty/glm/detail/type_mat2x4.inl | 501 + src/ThirdParty/glm/detail/type_mat3x2.hpp | 167 + src/ThirdParty/glm/detail/type_mat3x2.inl | 517 + src/ThirdParty/glm/detail/type_mat3x3.hpp | 184 + src/ThirdParty/glm/detail/type_mat3x3.inl | 631 + src/ThirdParty/glm/detail/type_mat3x4.hpp | 166 + src/ThirdParty/glm/detail/type_mat3x4.inl | 551 + src/ThirdParty/glm/detail/type_mat4x2.hpp | 171 + src/ThirdParty/glm/detail/type_mat4x2.inl | 555 + src/ThirdParty/glm/detail/type_mat4x3.hpp | 171 + src/ThirdParty/glm/detail/type_mat4x3.inl | 571 + src/ThirdParty/glm/detail/type_mat4x4.hpp | 189 + src/ThirdParty/glm/detail/type_mat4x4.inl | 765 + .../glm/detail/type_mat4x4_simd.inl | 6 + src/ThirdParty/glm/detail/type_quat.hpp | 193 + src/ThirdParty/glm/detail/type_quat.inl | 424 + src/ThirdParty/glm/detail/type_quat_simd.inl | 208 + src/ThirdParty/glm/detail/type_vec1.hpp | 308 + src/ThirdParty/glm/detail/type_vec1.inl | 553 + src/ThirdParty/glm/detail/type_vec2.hpp | 406 + src/ThirdParty/glm/detail/type_vec2.inl | 915 + src/ThirdParty/glm/detail/type_vec3.hpp | 447 + src/ThirdParty/glm/detail/type_vec3.inl | 985 + src/ThirdParty/glm/detail/type_vec4.hpp | 514 + src/ThirdParty/glm/detail/type_vec4.inl | 1130 + src/ThirdParty/glm/detail/type_vec_simd.inl | 1032 + src/ThirdParty/glm/exponential.hpp | 110 + src/ThirdParty/glm/ext.hpp | 267 + src/ThirdParty/glm/ext/_matrix_vectorize.hpp | 128 + src/ThirdParty/glm/ext/matrix_clip_space.hpp | 576 + src/ThirdParty/glm/ext/matrix_clip_space.inl | 615 + src/ThirdParty/glm/ext/matrix_common.hpp | 39 + src/ThirdParty/glm/ext/matrix_common.inl | 34 + src/ThirdParty/glm/ext/matrix_double2x2.hpp | 23 + .../glm/ext/matrix_double2x2_precision.hpp | 49 + src/ThirdParty/glm/ext/matrix_double2x3.hpp | 18 + .../glm/ext/matrix_double2x3_precision.hpp | 31 + src/ThirdParty/glm/ext/matrix_double2x4.hpp | 18 + .../glm/ext/matrix_double2x4_precision.hpp | 31 + src/ThirdParty/glm/ext/matrix_double3x2.hpp | 18 + .../glm/ext/matrix_double3x2_precision.hpp | 31 + src/ThirdParty/glm/ext/matrix_double3x3.hpp | 23 + .../glm/ext/matrix_double3x3_precision.hpp | 49 + src/ThirdParty/glm/ext/matrix_double3x4.hpp | 18 + .../glm/ext/matrix_double3x4_precision.hpp | 31 + src/ThirdParty/glm/ext/matrix_double4x2.hpp | 18 + .../glm/ext/matrix_double4x2_precision.hpp | 31 + src/ThirdParty/glm/ext/matrix_double4x3.hpp | 18 + .../glm/ext/matrix_double4x3_precision.hpp | 31 + src/ThirdParty/glm/ext/matrix_double4x4.hpp | 23 + .../glm/ext/matrix_double4x4_precision.hpp | 49 + src/ThirdParty/glm/ext/matrix_float2x2.hpp | 23 + .../glm/ext/matrix_float2x2_precision.hpp | 49 + src/ThirdParty/glm/ext/matrix_float2x3.hpp | 18 + .../glm/ext/matrix_float2x3_precision.hpp | 31 + src/ThirdParty/glm/ext/matrix_float2x4.hpp | 18 + .../glm/ext/matrix_float2x4_precision.hpp | 31 + src/ThirdParty/glm/ext/matrix_float3x2.hpp | 18 + .../glm/ext/matrix_float3x2_precision.hpp | 31 + src/ThirdParty/glm/ext/matrix_float3x3.hpp | 23 + .../glm/ext/matrix_float3x3_precision.hpp | 49 + src/ThirdParty/glm/ext/matrix_float3x4.hpp | 18 + .../glm/ext/matrix_float3x4_precision.hpp | 31 + src/ThirdParty/glm/ext/matrix_float4x2.hpp | 18 + .../glm/ext/matrix_float4x2_precision.hpp | 31 + src/ThirdParty/glm/ext/matrix_float4x3.hpp | 18 + .../glm/ext/matrix_float4x3_precision.hpp | 31 + src/ThirdParty/glm/ext/matrix_float4x4.hpp | 23 + .../glm/ext/matrix_float4x4_precision.hpp | 49 + src/ThirdParty/glm/ext/matrix_int2x2.hpp | 38 + .../glm/ext/matrix_int2x2_sized.hpp | 70 + src/ThirdParty/glm/ext/matrix_int2x3.hpp | 33 + .../glm/ext/matrix_int2x3_sized.hpp | 49 + src/ThirdParty/glm/ext/matrix_int2x4.hpp | 33 + .../glm/ext/matrix_int2x4_sized.hpp | 49 + src/ThirdParty/glm/ext/matrix_int3x2.hpp | 33 + .../glm/ext/matrix_int3x2_sized.hpp | 49 + src/ThirdParty/glm/ext/matrix_int3x3.hpp | 38 + .../glm/ext/matrix_int3x3_sized.hpp | 70 + src/ThirdParty/glm/ext/matrix_int3x4.hpp | 33 + .../glm/ext/matrix_int3x4_sized.hpp | 49 + src/ThirdParty/glm/ext/matrix_int4x2.hpp | 33 + .../glm/ext/matrix_int4x2_sized.hpp | 49 + src/ThirdParty/glm/ext/matrix_int4x3.hpp | 33 + .../glm/ext/matrix_int4x3_sized.hpp | 49 + src/ThirdParty/glm/ext/matrix_int4x4.hpp | 38 + .../glm/ext/matrix_int4x4_sized.hpp | 70 + src/ThirdParty/glm/ext/matrix_integer.hpp | 91 + src/ThirdParty/glm/ext/matrix_integer.inl | 38 + src/ThirdParty/glm/ext/matrix_projection.hpp | 149 + src/ThirdParty/glm/ext/matrix_projection.inl | 106 + src/ThirdParty/glm/ext/matrix_relational.hpp | 132 + src/ThirdParty/glm/ext/matrix_relational.inl | 88 + src/ThirdParty/glm/ext/matrix_transform.hpp | 171 + src/ThirdParty/glm/ext/matrix_transform.inl | 207 + src/ThirdParty/glm/ext/matrix_uint2x2.hpp | 38 + .../glm/ext/matrix_uint2x2_sized.hpp | 70 + src/ThirdParty/glm/ext/matrix_uint2x3.hpp | 33 + .../glm/ext/matrix_uint2x3_sized.hpp | 49 + src/ThirdParty/glm/ext/matrix_uint2x4.hpp | 33 + .../glm/ext/matrix_uint2x4_sized.hpp | 49 + src/ThirdParty/glm/ext/matrix_uint3x2.hpp | 33 + .../glm/ext/matrix_uint3x2_sized.hpp | 49 + src/ThirdParty/glm/ext/matrix_uint3x3.hpp | 38 + .../glm/ext/matrix_uint3x3_sized.hpp | 70 + src/ThirdParty/glm/ext/matrix_uint3x4.hpp | 33 + .../glm/ext/matrix_uint3x4_sized.hpp | 49 + src/ThirdParty/glm/ext/matrix_uint4x2.hpp | 33 + .../glm/ext/matrix_uint4x2_sized.hpp | 49 + src/ThirdParty/glm/ext/matrix_uint4x3.hpp | 33 + .../glm/ext/matrix_uint4x3_sized.hpp | 49 + src/ThirdParty/glm/ext/matrix_uint4x4.hpp | 38 + .../glm/ext/matrix_uint4x4_sized.hpp | 70 + src/ThirdParty/glm/ext/quaternion_common.hpp | 135 + src/ThirdParty/glm/ext/quaternion_common.inl | 144 + .../glm/ext/quaternion_common_simd.inl | 18 + src/ThirdParty/glm/ext/quaternion_double.hpp | 39 + .../glm/ext/quaternion_double_precision.hpp | 42 + .../glm/ext/quaternion_exponential.hpp | 63 + .../glm/ext/quaternion_exponential.inl | 89 + src/ThirdParty/glm/ext/quaternion_float.hpp | 39 + .../glm/ext/quaternion_float_precision.hpp | 36 + .../glm/ext/quaternion_geometric.hpp | 70 + .../glm/ext/quaternion_geometric.inl | 36 + .../glm/ext/quaternion_relational.hpp | 62 + .../glm/ext/quaternion_relational.inl | 35 + .../glm/ext/quaternion_transform.hpp | 47 + .../glm/ext/quaternion_transform.inl | 24 + .../glm/ext/quaternion_trigonometric.hpp | 65 + .../glm/ext/quaternion_trigonometric.inl | 37 + src/ThirdParty/glm/ext/scalar_common.hpp | 181 + src/ThirdParty/glm/ext/scalar_common.inl | 170 + src/ThirdParty/glm/ext/scalar_constants.hpp | 40 + src/ThirdParty/glm/ext/scalar_constants.inl | 24 + src/ThirdParty/glm/ext/scalar_int_sized.hpp | 70 + src/ThirdParty/glm/ext/scalar_integer.hpp | 92 + src/ThirdParty/glm/ext/scalar_integer.inl | 243 + src/ThirdParty/glm/ext/scalar_packing.hpp | 32 + src/ThirdParty/glm/ext/scalar_packing.inl | 0 src/ThirdParty/glm/ext/scalar_reciprocal.hpp | 135 + src/ThirdParty/glm/ext/scalar_reciprocal.inl | 107 + src/ThirdParty/glm/ext/scalar_relational.hpp | 68 + src/ThirdParty/glm/ext/scalar_relational.inl | 40 + src/ThirdParty/glm/ext/scalar_uint_sized.hpp | 70 + src/ThirdParty/glm/ext/scalar_ulp.hpp | 77 + src/ThirdParty/glm/ext/scalar_ulp.inl | 291 + src/ThirdParty/glm/ext/vector_bool1.hpp | 30 + .../glm/ext/vector_bool1_precision.hpp | 34 + src/ThirdParty/glm/ext/vector_bool2.hpp | 18 + .../glm/ext/vector_bool2_precision.hpp | 31 + src/ThirdParty/glm/ext/vector_bool3.hpp | 18 + .../glm/ext/vector_bool3_precision.hpp | 31 + src/ThirdParty/glm/ext/vector_bool4.hpp | 18 + .../glm/ext/vector_bool4_precision.hpp | 31 + src/ThirdParty/glm/ext/vector_common.hpp | 228 + src/ThirdParty/glm/ext/vector_common.inl | 147 + src/ThirdParty/glm/ext/vector_double1.hpp | 31 + .../glm/ext/vector_double1_precision.hpp | 36 + src/ThirdParty/glm/ext/vector_double2.hpp | 18 + .../glm/ext/vector_double2_precision.hpp | 31 + src/ThirdParty/glm/ext/vector_double3.hpp | 18 + .../glm/ext/vector_double3_precision.hpp | 34 + src/ThirdParty/glm/ext/vector_double4.hpp | 18 + .../glm/ext/vector_double4_precision.hpp | 35 + src/ThirdParty/glm/ext/vector_float1.hpp | 31 + .../glm/ext/vector_float1_precision.hpp | 36 + src/ThirdParty/glm/ext/vector_float2.hpp | 18 + .../glm/ext/vector_float2_precision.hpp | 31 + src/ThirdParty/glm/ext/vector_float3.hpp | 18 + .../glm/ext/vector_float3_precision.hpp | 31 + src/ThirdParty/glm/ext/vector_float4.hpp | 18 + .../glm/ext/vector_float4_precision.hpp | 31 + src/ThirdParty/glm/ext/vector_int1.hpp | 32 + src/ThirdParty/glm/ext/vector_int1_sized.hpp | 49 + src/ThirdParty/glm/ext/vector_int2.hpp | 18 + src/ThirdParty/glm/ext/vector_int2_sized.hpp | 49 + src/ThirdParty/glm/ext/vector_int3.hpp | 18 + src/ThirdParty/glm/ext/vector_int3_sized.hpp | 49 + src/ThirdParty/glm/ext/vector_int4.hpp | 18 + src/ThirdParty/glm/ext/vector_int4_sized.hpp | 49 + src/ThirdParty/glm/ext/vector_integer.hpp | 149 + src/ThirdParty/glm/ext/vector_integer.inl | 85 + src/ThirdParty/glm/ext/vector_packing.hpp | 32 + src/ThirdParty/glm/ext/vector_packing.inl | 0 src/ThirdParty/glm/ext/vector_reciprocal.hpp | 135 + src/ThirdParty/glm/ext/vector_reciprocal.inl | 105 + src/ThirdParty/glm/ext/vector_relational.hpp | 107 + src/ThirdParty/glm/ext/vector_relational.inl | 75 + src/ThirdParty/glm/ext/vector_uint1.hpp | 32 + src/ThirdParty/glm/ext/vector_uint1_sized.hpp | 49 + src/ThirdParty/glm/ext/vector_uint2.hpp | 18 + src/ThirdParty/glm/ext/vector_uint2_sized.hpp | 49 + src/ThirdParty/glm/ext/vector_uint3.hpp | 18 + src/ThirdParty/glm/ext/vector_uint3_sized.hpp | 49 + src/ThirdParty/glm/ext/vector_uint4.hpp | 18 + src/ThirdParty/glm/ext/vector_uint4_sized.hpp | 49 + src/ThirdParty/glm/ext/vector_ulp.hpp | 112 + src/ThirdParty/glm/ext/vector_ulp.inl | 74 + src/ThirdParty/glm/fwd.hpp | 1233 + src/ThirdParty/glm/geometric.hpp | 116 + src/ThirdParty/glm/glm.cppm | 2678 ++ src/ThirdParty/glm/glm.hpp | 137 + src/ThirdParty/glm/gtc/bitfield.hpp | 266 + src/ThirdParty/glm/gtc/bitfield.inl | 635 + src/ThirdParty/glm/gtc/color_space.hpp | 56 + src/ThirdParty/glm/gtc/color_space.inl | 84 + src/ThirdParty/glm/gtc/constants.hpp | 170 + src/ThirdParty/glm/gtc/constants.inl | 173 + src/ThirdParty/glm/gtc/epsilon.hpp | 60 + src/ThirdParty/glm/gtc/epsilon.inl | 80 + src/ThirdParty/glm/gtc/integer.hpp | 43 + src/ThirdParty/glm/gtc/integer.inl | 33 + src/ThirdParty/glm/gtc/matrix_access.hpp | 60 + src/ThirdParty/glm/gtc/matrix_access.inl | 62 + src/ThirdParty/glm/gtc/matrix_integer.hpp | 433 + src/ThirdParty/glm/gtc/matrix_inverse.hpp | 50 + src/ThirdParty/glm/gtc/matrix_inverse.inl | 118 + src/ThirdParty/glm/gtc/matrix_transform.hpp | 36 + src/ThirdParty/glm/gtc/matrix_transform.inl | 3 + src/ThirdParty/glm/gtc/noise.hpp | 61 + src/ThirdParty/glm/gtc/noise.inl | 807 + src/ThirdParty/glm/gtc/packing.hpp | 728 + src/ThirdParty/glm/gtc/packing.inl | 952 + src/ThirdParty/glm/gtc/quaternion.hpp | 173 + src/ThirdParty/glm/gtc/quaternion.inl | 208 + src/ThirdParty/glm/gtc/quaternion_simd.inl | 0 src/ThirdParty/glm/gtc/random.hpp | 82 + src/ThirdParty/glm/gtc/random.inl | 303 + src/ThirdParty/glm/gtc/reciprocal.hpp | 24 + src/ThirdParty/glm/gtc/round.hpp | 160 + src/ThirdParty/glm/gtc/round.inl | 155 + src/ThirdParty/glm/gtc/type_aligned.hpp | 1378 + src/ThirdParty/glm/gtc/type_precision.hpp | 2094 ++ src/ThirdParty/glm/gtc/type_precision.inl | 6 + src/ThirdParty/glm/gtc/type_ptr.hpp | 230 + src/ThirdParty/glm/gtc/type_ptr.inl | 398 + src/ThirdParty/glm/gtc/ulp.hpp | 155 + src/ThirdParty/glm/gtc/ulp.inl | 173 + src/ThirdParty/glm/gtc/vec1.hpp | 30 + src/ThirdParty/glm/gtx/associated_min_max.hpp | 205 + src/ThirdParty/glm/gtx/associated_min_max.inl | 354 + src/ThirdParty/glm/gtx/bit.hpp | 96 + src/ThirdParty/glm/gtx/bit.inl | 92 + src/ThirdParty/glm/gtx/closest_point.hpp | 47 + src/ThirdParty/glm/gtx/closest_point.inl | 45 + src/ThirdParty/glm/gtx/color_encoding.hpp | 52 + src/ThirdParty/glm/gtx/color_encoding.inl | 45 + src/ThirdParty/glm/gtx/color_space.hpp | 70 + src/ThirdParty/glm/gtx/color_space.inl | 144 + src/ThirdParty/glm/gtx/color_space_YCoCg.hpp | 58 + src/ThirdParty/glm/gtx/color_space_YCoCg.inl | 107 + src/ThirdParty/glm/gtx/common.hpp | 74 + src/ThirdParty/glm/gtx/common.inl | 125 + src/ThirdParty/glm/gtx/compatibility.hpp | 132 + src/ThirdParty/glm/gtx/compatibility.inl | 73 + src/ThirdParty/glm/gtx/component_wise.hpp | 77 + src/ThirdParty/glm/gtx/component_wise.inl | 147 + src/ThirdParty/glm/gtx/dual_quaternion.hpp | 272 + src/ThirdParty/glm/gtx/dual_quaternion.inl | 352 + src/ThirdParty/glm/gtx/easing.hpp | 217 + src/ThirdParty/glm/gtx/easing.inl | 436 + src/ThirdParty/glm/gtx/euler_angles.hpp | 333 + src/ThirdParty/glm/gtx/euler_angles.inl | 899 + src/ThirdParty/glm/gtx/extend.hpp | 40 + src/ThirdParty/glm/gtx/extend.inl | 48 + src/ThirdParty/glm/gtx/extended_min_max.hpp | 135 + src/ThirdParty/glm/gtx/extended_min_max.inl | 138 + src/ThirdParty/glm/gtx/exterior_product.hpp | 43 + src/ThirdParty/glm/gtx/exterior_product.inl | 26 + src/ThirdParty/glm/gtx/fast_exponential.hpp | 93 + src/ThirdParty/glm/gtx/fast_exponential.inl | 136 + src/ThirdParty/glm/gtx/fast_square_root.hpp | 96 + src/ThirdParty/glm/gtx/fast_square_root.inl | 75 + src/ThirdParty/glm/gtx/fast_trigonometry.hpp | 77 + src/ThirdParty/glm/gtx/fast_trigonometry.inl | 142 + src/ThirdParty/glm/gtx/float_normalize.inl | 13 + src/ThirdParty/glm/gtx/functions.hpp | 54 + src/ThirdParty/glm/gtx/functions.inl | 30 + src/ThirdParty/glm/gtx/gradient_paint.hpp | 51 + src/ThirdParty/glm/gtx/gradient_paint.inl | 36 + .../glm/gtx/handed_coordinate_space.hpp | 48 + .../glm/gtx/handed_coordinate_space.inl | 26 + src/ThirdParty/glm/gtx/hash.hpp | 156 + src/ThirdParty/glm/gtx/hash.inl | 175 + src/ThirdParty/glm/gtx/integer.hpp | 74 + src/ThirdParty/glm/gtx/integer.inl | 185 + src/ThirdParty/glm/gtx/intersect.hpp | 90 + src/ThirdParty/glm/gtx/intersect.inl | 200 + src/ThirdParty/glm/gtx/io.hpp | 210 + src/ThirdParty/glm/gtx/io.inl | 453 + src/ThirdParty/glm/gtx/iteration.hpp | 87 + src/ThirdParty/glm/gtx/iteration.inl | 116 + src/ThirdParty/glm/gtx/log_base.hpp | 46 + src/ThirdParty/glm/gtx/log_base.inl | 16 + .../glm/gtx/matrix_cross_product.hpp | 45 + .../glm/gtx/matrix_cross_product.inl | 37 + src/ThirdParty/glm/gtx/matrix_decompose.hpp | 50 + src/ThirdParty/glm/gtx/matrix_decompose.inl | 234 + .../glm/gtx/matrix_factorisation.hpp | 67 + .../glm/gtx/matrix_factorisation.inl | 84 + .../glm/gtx/matrix_interpolation.hpp | 58 + .../glm/gtx/matrix_interpolation.inl | 146 + .../glm/gtx/matrix_major_storage.hpp | 117 + .../glm/gtx/matrix_major_storage.inl | 166 + src/ThirdParty/glm/gtx/matrix_operation.hpp | 101 + src/ThirdParty/glm/gtx/matrix_operation.inl | 176 + src/ThirdParty/glm/gtx/matrix_query.hpp | 75 + src/ThirdParty/glm/gtx/matrix_query.inl | 119 + .../glm/gtx/matrix_transform_2d.hpp | 79 + .../glm/gtx/matrix_transform_2d.inl | 68 + src/ThirdParty/glm/gtx/mixed_product.hpp | 39 + src/ThirdParty/glm/gtx/mixed_product.inl | 15 + src/ThirdParty/glm/gtx/norm.hpp | 85 + src/ThirdParty/glm/gtx/norm.inl | 95 + src/ThirdParty/glm/gtx/normal.hpp | 39 + src/ThirdParty/glm/gtx/normal.inl | 15 + src/ThirdParty/glm/gtx/normalize_dot.hpp | 47 + src/ThirdParty/glm/gtx/normalize_dot.inl | 16 + src/ThirdParty/glm/gtx/number_precision.hpp | 44 + src/ThirdParty/glm/gtx/optimum_pow.hpp | 50 + src/ThirdParty/glm/gtx/optimum_pow.inl | 22 + src/ThirdParty/glm/gtx/orthonormalize.hpp | 47 + src/ThirdParty/glm/gtx/orthonormalize.inl | 29 + src/ThirdParty/glm/gtx/pca.hpp | 112 + src/ThirdParty/glm/gtx/pca.inl | 342 + src/ThirdParty/glm/gtx/perpendicular.hpp | 39 + src/ThirdParty/glm/gtx/perpendicular.inl | 10 + src/ThirdParty/glm/gtx/polar_coordinates.hpp | 46 + src/ThirdParty/glm/gtx/polar_coordinates.inl | 36 + src/ThirdParty/glm/gtx/projection.hpp | 41 + src/ThirdParty/glm/gtx/projection.inl | 10 + src/ThirdParty/glm/gtx/quaternion.hpp | 172 + src/ThirdParty/glm/gtx/quaternion.inl | 159 + src/ThirdParty/glm/gtx/range.hpp | 96 + src/ThirdParty/glm/gtx/raw_data.hpp | 49 + src/ThirdParty/glm/gtx/raw_data.inl | 2 + .../glm/gtx/rotate_normalized_axis.hpp | 66 + .../glm/gtx/rotate_normalized_axis.inl | 58 + src/ThirdParty/glm/gtx/rotate_vector.hpp | 121 + src/ThirdParty/glm/gtx/rotate_vector.inl | 187 + .../glm/gtx/scalar_multiplication.hpp | 80 + src/ThirdParty/glm/gtx/scalar_relational.hpp | 34 + src/ThirdParty/glm/gtx/scalar_relational.inl | 88 + src/ThirdParty/glm/gtx/spline.hpp | 63 + src/ThirdParty/glm/gtx/spline.inl | 60 + src/ThirdParty/glm/gtx/std_based_type.hpp | 66 + src/ThirdParty/glm/gtx/std_based_type.inl | 6 + src/ThirdParty/glm/gtx/string_cast.hpp | 45 + src/ThirdParty/glm/gtx/string_cast.inl | 497 + .../glm/gtx/structured_bindings.hpp | 92 + .../glm/gtx/structured_bindings.inl | 55 + src/ThirdParty/glm/gtx/texture.hpp | 44 + src/ThirdParty/glm/gtx/texture.inl | 17 + src/ThirdParty/glm/gtx/transform.hpp | 58 + src/ThirdParty/glm/gtx/transform.inl | 23 + src/ThirdParty/glm/gtx/transform2.hpp | 87 + src/ThirdParty/glm/gtx/transform2.inl | 125 + src/ThirdParty/glm/gtx/type_aligned.hpp | 980 + src/ThirdParty/glm/gtx/type_aligned.inl | 6 + src/ThirdParty/glm/gtx/type_trait.hpp | 83 + src/ThirdParty/glm/gtx/type_trait.inl | 61 + src/ThirdParty/glm/gtx/vec_swizzle.hpp | 2769 ++ src/ThirdParty/glm/gtx/vector_angle.hpp | 55 + src/ThirdParty/glm/gtx/vector_angle.inl | 45 + src/ThirdParty/glm/gtx/vector_query.hpp | 64 + src/ThirdParty/glm/gtx/vector_query.inl | 154 + src/ThirdParty/glm/gtx/wrap.hpp | 35 + src/ThirdParty/glm/gtx/wrap.inl | 6 + src/ThirdParty/glm/integer.hpp | 212 + src/ThirdParty/glm/mat2x2.hpp | 9 + src/ThirdParty/glm/mat2x3.hpp | 9 + src/ThirdParty/glm/mat2x4.hpp | 9 + src/ThirdParty/glm/mat3x2.hpp | 9 + src/ThirdParty/glm/mat3x3.hpp | 8 + src/ThirdParty/glm/mat3x4.hpp | 8 + src/ThirdParty/glm/mat4x2.hpp | 9 + src/ThirdParty/glm/mat4x3.hpp | 8 + src/ThirdParty/glm/mat4x4.hpp | 9 + src/ThirdParty/glm/matrix.hpp | 161 + src/ThirdParty/glm/packing.hpp | 173 + src/ThirdParty/glm/simd/common.h | 249 + src/ThirdParty/glm/simd/exponential.h | 20 + src/ThirdParty/glm/simd/geometric.h | 130 + src/ThirdParty/glm/simd/integer.h | 115 + src/ThirdParty/glm/simd/matrix.h | 1040 + src/ThirdParty/glm/simd/neon.h | 155 + src/ThirdParty/glm/simd/packing.h | 8 + src/ThirdParty/glm/simd/platform.h | 469 + src/ThirdParty/glm/simd/trigonometric.h | 9 + src/ThirdParty/glm/simd/vector_relational.h | 8 + src/ThirdParty/glm/trigonometric.hpp | 210 + src/ThirdParty/glm/vec2.hpp | 14 + src/ThirdParty/glm/vec3.hpp | 14 + src/ThirdParty/glm/vec4.hpp | 15 + src/ThirdParty/glm/vector_relational.hpp | 121 + src/ThirdParty/imgui/LICENSE.txt | 21 + .../imgui/backends/imgui_impl_allegro5.cpp | 699 + .../imgui/backends/imgui_impl_allegro5.h | 45 + .../imgui/backends/imgui_impl_android.cpp | 309 + .../imgui/backends/imgui_impl_android.h | 38 + .../imgui/backends/imgui_impl_dx10.cpp | 794 + .../imgui/backends/imgui_impl_dx10.h | 49 + .../imgui/backends/imgui_impl_dx11.cpp | 837 + .../imgui/backends/imgui_impl_dx11.h | 52 + .../imgui/backends/imgui_impl_dx12.cpp | 1303 + .../imgui/backends/imgui_impl_dx12.h | 80 + .../imgui/backends/imgui_impl_dx9.cpp | 641 + .../imgui/backends/imgui_impl_dx9.h | 38 + .../imgui/backends/imgui_impl_glfw.cpp | 1634 + .../imgui/backends/imgui_impl_glfw.h | 73 + .../imgui/backends/imgui_impl_glut.cpp | 310 + .../imgui/backends/imgui_impl_glut.h | 48 + .../imgui/backends/imgui_impl_metal.h | 79 + .../imgui/backends/imgui_impl_metal.mm | 812 + .../imgui/backends/imgui_impl_opengl2.cpp | 391 + .../imgui/backends/imgui_impl_opengl2.h | 44 + .../imgui/backends/imgui_impl_opengl3.cpp | 1096 + .../imgui/backends/imgui_impl_opengl3.h | 69 + .../backends/imgui_impl_opengl3_loader.h | 949 + .../imgui/backends/imgui_impl_osx.h | 58 + .../imgui/backends/imgui_impl_osx.mm | 1175 + .../imgui/backends/imgui_impl_sdl2.cpp | 1316 + .../imgui/backends/imgui_impl_sdl2.h | 54 + .../imgui/backends/imgui_impl_sdl3.cpp | 1289 + .../imgui/backends/imgui_impl_sdl3.h | 50 + .../imgui/backends/imgui_impl_sdlgpu3.cpp | 745 + .../imgui/backends/imgui_impl_sdlgpu3.h | 65 + .../backends/imgui_impl_sdlgpu3_shaders.h | 372 + .../backends/imgui_impl_sdlrenderer2.cpp | 302 + .../imgui/backends/imgui_impl_sdlrenderer2.h | 55 + .../backends/imgui_impl_sdlrenderer3.cpp | 318 + .../imgui/backends/imgui_impl_sdlrenderer3.h | 55 + .../imgui/backends/imgui_impl_vulkan.cpp | 2249 ++ .../imgui/backends/imgui_impl_vulkan.h | 259 + .../imgui/backends/imgui_impl_wgpu.cpp | 1088 + .../imgui/backends/imgui_impl_wgpu.h | 123 + .../imgui/backends/imgui_impl_win32.cpp | 1476 + .../imgui/backends/imgui_impl_win32.h | 54 + .../backends/sdlgpu3/build_instructions.txt | 40 + .../imgui/backends/sdlgpu3/shader.frag | 15 + .../imgui/backends/sdlgpu3/shader.vert | 24 + .../backends/vulkan/build_instructions.txt | 4 + .../imgui/backends/vulkan/generate_spv.sh | 6 + .../imgui/backends/vulkan/glsl_shader.frag | 14 + .../imgui/backends/vulkan/glsl_shader.vert | 25 + src/ThirdParty/imgui/docs/BACKENDS.md | 378 + src/ThirdParty/imgui/docs/CHANGELOG.txt | 8682 ++++++ src/ThirdParty/imgui/docs/CONTRIBUTING.md | 81 + src/ThirdParty/imgui/docs/EXAMPLES.md | 254 + src/ThirdParty/imgui/docs/FAQ.md | 847 + src/ThirdParty/imgui/docs/FONTS.md | 607 + src/ThirdParty/imgui/docs/README.md | 226 + src/ThirdParty/imgui/docs/TODO.txt | 371 + src/ThirdParty/imgui/examples/README.txt | 9 + .../imgui/examples/example_allegro5/README.md | 36 + .../example_allegro5/example_allegro5.vcxproj | 185 + .../example_allegro5.vcxproj.filters | 61 + .../example_allegro5/imconfig_allegro5.h | 11 + .../imgui/examples/example_allegro5/main.cpp | 150 + .../example_android_opengl3/CMakeLists.txt | 40 + .../android/.gitignore | 14 + .../android/app/build.gradle | 37 + .../android/app/src/main/AndroidManifest.xml | 25 + .../android/app/src/main/java/MainActivity.kt | 40 + .../android/build.gradle | 5 + .../android/settings.gradle | 22 + .../examples/example_android_opengl3/main.cpp | 382 + .../examples/example_apple_metal/Makefile | 21 + .../examples/example_apple_metal/README.md | 10 + .../project.pbxproj | 535 + .../example_apple_metal/iOS/Info-iOS.plist | 49 + .../iOS/LaunchScreen.storyboard | 27 + .../macOS/Info-macOS.plist | 30 + .../macOS/MainMenu.storyboard | 93 + .../examples/example_apple_metal/main.mm | 365 + .../examples/example_apple_opengl2/Makefile | 21 + .../project.pbxproj | 332 + .../examples/example_apple_opengl2/main.mm | 275 + .../examples/example_glfw_metal/Makefile | 46 + .../imgui/examples/example_glfw_metal/main.mm | 200 + .../examples/example_glfw_opengl2/Makefile | 82 + .../example_glfw_opengl2/build_win32.bat | 8 + .../example_glfw_opengl2.vcxproj | 186 + .../example_glfw_opengl2.vcxproj.filters | 64 + .../examples/example_glfw_opengl2/main.cpp | 201 + .../examples/example_glfw_opengl3/Makefile | 89 + .../example_glfw_opengl3/Makefile.emscripten | 95 + .../example_glfw_opengl3/build_win32.bat | 8 + .../example_glfw_opengl3.vcxproj | 187 + .../example_glfw_opengl3.vcxproj.filters | 67 + .../examples/example_glfw_opengl3/main.cpp | 240 + .../example_glfw_vulkan/CMakeLists.txt | 48 + .../examples/example_glfw_vulkan/Makefile | 83 + .../example_glfw_vulkan/build_win32.bat | 14 + .../example_glfw_vulkan/build_win64.bat | 14 + .../example_glfw_vulkan.vcxproj | 190 + .../example_glfw_vulkan.vcxproj.filters | 64 + .../examples/example_glfw_vulkan/main.cpp | 561 + .../examples/example_glfw_wgpu/CMakeLists.txt | 215 + .../example_glfw_wgpu/Makefile.emscripten | 103 + .../examples/example_glfw_wgpu/README.md | 167 + .../imgui/examples/example_glfw_wgpu/main.cpp | 577 + .../examples/example_glut_opengl2/Makefile | 75 + .../example_glut_opengl2.vcxproj | 186 + .../example_glut_opengl2.vcxproj.filters | 64 + .../examples/example_glut_opengl2/main.cpp | 164 + .../imgui/examples/example_null/Makefile | 92 + .../examples/example_null/build_win32.bat | 3 + .../imgui/examples/example_null/main.cpp | 38 + .../example_sdl2_directx11/build_win32.bat | 8 + .../example_sdl2_directx11.vcxproj | 187 + .../example_sdl2_directx11.vcxproj.filters | 63 + .../examples/example_sdl2_directx11/main.cpp | 293 + .../examples/example_sdl2_metal/Makefile | 47 + .../imgui/examples/example_sdl2_metal/main.mm | 206 + .../examples/example_sdl2_opengl2/Makefile | 79 + .../examples/example_sdl2_opengl2/README.md | 29 + .../example_sdl2_opengl2/build_win32.bat | 8 + .../example_sdl2_opengl2.vcxproj | 186 + .../example_sdl2_opengl2.vcxproj.filters | 64 + .../examples/example_sdl2_opengl2/main.cpp | 214 + .../examples/example_sdl2_opengl3/Makefile | 91 + .../example_sdl2_opengl3/Makefile.emscripten | 95 + .../examples/example_sdl2_opengl3/README.md | 57 + .../example_sdl2_opengl3/build_win32.bat | 8 + .../example_sdl2_opengl3.vcxproj | 187 + .../example_sdl2_opengl3.vcxproj.filters | 67 + .../examples/example_sdl2_opengl3/main.cpp | 264 + .../example_sdl2_sdlrenderer2/Makefile | 79 + .../example_sdl2_sdlrenderer2/README.md | 25 + .../example_sdl2_sdlrenderer2/build_win32.bat | 8 + .../example_sdl2_sdlrenderer2.vcxproj | 187 + .../example_sdl2_sdlrenderer2.vcxproj.filters | 64 + .../example_sdl2_sdlrenderer2/main.cpp | 192 + .../examples/example_sdl2_vulkan/Makefile | 80 + .../example_sdl2_vulkan/build_win32.bat | 14 + .../example_sdl2_vulkan/build_win64.bat | 14 + .../example_sdl2_vulkan.vcxproj | 190 + .../example_sdl2_vulkan.vcxproj.filters | 64 + .../examples/example_sdl2_vulkan/main.cpp | 576 + .../examples/example_sdl2_wgpu/CMakeLists.txt | 205 + .../example_sdl2_wgpu/Makefile.emscripten | 103 + .../examples/example_sdl2_wgpu/README.md | 167 + .../imgui/examples/example_sdl2_wgpu/main.cpp | 541 + .../example_sdl3_directx11/build_win32.bat | 8 + .../example_sdl3_directx11.vcxproj | 187 + .../example_sdl3_directx11.vcxproj.filters | 63 + .../examples/example_sdl3_directx11/main.cpp | 288 + .../examples/example_sdl3_metal/Makefile | 48 + .../imgui/examples/example_sdl3_metal/main.mm | 208 + .../examples/example_sdl3_opengl3/Makefile | 85 + .../example_sdl3_opengl3/Makefile.emscripten | 99 + .../examples/example_sdl3_opengl3/README.md | 40 + .../example_sdl3_opengl3/build_win32.bat | 14 + .../example_sdl3_opengl3/build_win64.bat | 14 + .../example_sdl3_opengl3.vcxproj | 187 + .../example_sdl3_opengl3.vcxproj.filters | 67 + .../examples/example_sdl3_opengl3/main.cpp | 258 + .../examples/example_sdl3_sdlgpu3/Makefile | 73 + .../example_sdl3_sdlgpu3/build_win64.bat | 14 + .../example_sdl3_sdlgpu3.vcxproj | 189 + .../example_sdl3_sdlgpu3.vcxproj.filters | 60 + .../examples/example_sdl3_sdlgpu3/main.cpp | 248 + .../example_sdl3_sdlrenderer3/Makefile | 74 + .../example_sdl3_sdlrenderer3/build_win32.bat | 8 + .../example_sdl3_sdlrenderer3.vcxproj | 186 + .../example_sdl3_sdlrenderer3.vcxproj.filters | 64 + .../example_sdl3_sdlrenderer3/main.cpp | 197 + .../examples/example_sdl3_vulkan/Makefile | 77 + .../example_sdl3_vulkan/build_win32.bat | 14 + .../example_sdl3_vulkan/build_win64.bat | 14 + .../example_sdl3_vulkan.vcxproj | 190 + .../example_sdl3_vulkan.vcxproj.filters | 64 + .../examples/example_sdl3_vulkan/main.cpp | 579 + .../examples/example_sdl3_wgpu/CMakeLists.txt | 207 + .../example_sdl3_wgpu/Makefile.emscripten | 103 + .../examples/example_sdl3_wgpu/README.md | 167 + .../imgui/examples/example_sdl3_wgpu/main.cpp | 553 + .../example_win32_directx10/build_win32.bat | 8 + .../example_win32_directx10.vcxproj | 176 + .../example_win32_directx10.vcxproj.filters | 63 + .../examples/example_win32_directx10/main.cpp | 309 + .../example_win32_directx11/build_win32.bat | 9 + .../example_win32_directx11.vcxproj | 175 + .../example_win32_directx11.vcxproj.filters | 63 + .../examples/example_win32_directx11/main.cpp | 314 + .../example_win32_directx12/build_win32.bat | 8 + .../example_win32_directx12.vcxproj | 180 + .../example_win32_directx12.vcxproj.filters | 65 + .../examples/example_win32_directx12/main.cpp | 562 + .../example_win32_directx9/build_win32.bat | 8 + .../example_win32_directx9.vcxproj | 176 + .../example_win32_directx9.vcxproj.filters | 64 + .../examples/example_win32_directx9/main.cpp | 292 + .../example_win32_opengl3/build_mingw.bat | 8 + .../example_win32_opengl3/build_win32.bat | 8 + .../example_win32_opengl3.vcxproj | 176 + .../example_win32_opengl3.vcxproj.filters | 64 + .../examples/example_win32_opengl3/main.cpp | 322 + .../example_win32_vulkan/build_win32.bat | 9 + .../example_win32_vulkan/build_win64.bat | 9 + .../example_win32_vulkan.vcxproj | 178 + .../example_win32_vulkan.vcxproj.filters | 63 + .../examples/example_win32_vulkan/main.cpp | 600 + .../imgui/examples/imgui_examples.sln | 211 + .../emscripten/emscripten_mainloop_stub.h | 38 + .../libs/emscripten/shell_minimal.html | 65 + .../imgui/examples/libs/glfw/COPYING.txt | 22 + .../examples/libs/glfw/include/GLFW/glfw3.h | 4227 +++ .../libs/glfw/include/GLFW/glfw3native.h | 456 + .../libs/glfw/lib-vc2010-32/glfw3.lib | Bin 0 -> 187376 bytes .../libs/glfw/lib-vc2010-64/glfw3.lib | Bin 0 -> 291120 bytes .../imgui/examples/libs/usynergy/README.txt | 8 + .../imgui/examples/libs/usynergy/uSynergy.c | 636 + .../imgui/examples/libs/usynergy/uSynergy.h | 420 + src/ThirdParty/imgui/imconfig.h | 147 + src/ThirdParty/imgui/imgui.cpp | 24001 ++++++++++++++ src/ThirdParty/imgui/imgui.h | 4445 +++ src/ThirdParty/imgui/imgui_demo.cpp | 11196 +++++++ src/ThirdParty/imgui/imgui_draw.cpp | 6371 ++++ src/ThirdParty/imgui/imgui_internal.h | 4250 +++ src/ThirdParty/imgui/imgui_tables.cpp | 4569 +++ src/ThirdParty/imgui/imgui_widgets.cpp | 10912 +++++++ src/ThirdParty/imgui/imstb_rectpack.h | 627 + src/ThirdParty/imgui/imstb_textedit.h | 1527 + src/ThirdParty/imgui/imstb_truetype.h | 5085 +++ src/ThirdParty/imgui/misc/README.txt | 23 + src/ThirdParty/imgui/misc/cpp/README.txt | 17 + .../imgui/misc/cpp/imgui_stdlib.cpp | 100 + src/ThirdParty/imgui/misc/cpp/imgui_stdlib.h | 37 + .../imgui/misc/debuggers/README.txt | 21 + src/ThirdParty/imgui/misc/debuggers/imgui.gdb | 12 + .../imgui/misc/debuggers/imgui.natstepfilter | 31 + .../imgui/misc/debuggers/imgui.natvis | 62 + .../imgui/misc/debuggers/imgui_lldb.py | 189 + .../imgui/misc/fonts/Cousine-Regular.ttf | Bin 0 -> 43912 bytes src/ThirdParty/imgui/misc/fonts/DroidSans.ttf | Bin 0 -> 190044 bytes .../imgui/misc/fonts/Karla-Regular.ttf | Bin 0 -> 16848 bytes .../imgui/misc/fonts/ProggyClean.ttf | Bin 0 -> 41208 bytes .../imgui/misc/fonts/ProggyTiny.ttf | Bin 0 -> 35656 bytes .../imgui/misc/fonts/Roboto-Medium.ttf | Bin 0 -> 162588 bytes .../misc/fonts/binary_to_compressed_c.cpp | 424 + src/ThirdParty/imgui/misc/freetype/README.md | 54 + .../imgui/misc/freetype/imgui_freetype.cpp | 751 + .../imgui/misc/freetype/imgui_freetype.h | 83 + .../misc/single_file/imgui_single_file.h | 29 + src/WinView/Window.cpp | 34 + src/main.cpp | 3304 ++ 910 files changed, 425564 insertions(+) create mode 100644 .github/workflows/thing.yaml create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 .vscode/c_cpp_properties.json create mode 100644 .vscode/settings.json create mode 100644 CMakeLists.txt create mode 100644 LICENSE create mode 100644 Resources/Shaders/frag.glsl create mode 100644 Resources/Shaders/skybox_frag.glsl create mode 100644 Resources/Shaders/skybox_vert.glsl create mode 100644 Resources/Shaders/vert.glsl create mode 100644 Resources/Textures/awesomeface.png create mode 100644 Resources/Textures/container.jpg create mode 100644 Resources/Textures/wall.jpg create mode 100644 Resources/imgui.ini create mode 100644 build.bat create mode 100755 build.sh create mode 100755 buildandrun.sh create mode 100644 include/General/GlobalHeaders.h create mode 100644 include/Shaders/Shader.h create mode 100644 include/Skybox/Skybox.h create mode 100644 include/Textures/Texture.h create mode 100644 include/ThirdParty/stb_image.h create mode 100644 include/ThirdParty/tiny_obj_loader.h create mode 100644 include/Window/Window.h create mode 100644 src/Shaders/Shader_Manager/Shader.cpp create mode 100644 src/Skybox/Skybox.cpp create mode 100644 src/Textures/Texture.cpp create mode 100644 src/ThirdParty/ImGuizmo/GraphEditor.cpp create mode 100644 src/ThirdParty/ImGuizmo/GraphEditor.h create mode 100644 src/ThirdParty/ImGuizmo/ImCurveEdit.cpp create mode 100644 src/ThirdParty/ImGuizmo/ImCurveEdit.h create mode 100644 src/ThirdParty/ImGuizmo/ImGradient.cpp create mode 100644 src/ThirdParty/ImGuizmo/ImGradient.h create mode 100755 src/ThirdParty/ImGuizmo/ImGuizmo.cpp create mode 100644 src/ThirdParty/ImGuizmo/ImGuizmo.h create mode 100644 src/ThirdParty/ImGuizmo/ImSequencer.cpp create mode 100644 src/ThirdParty/ImGuizmo/ImSequencer.h create mode 100644 src/ThirdParty/ImGuizmo/ImZoomSlider.h create mode 100644 src/ThirdParty/ImGuizmo/Images/nodeeditor.jpg create mode 100644 src/ThirdParty/ImGuizmo/LICENSE create mode 100644 src/ThirdParty/ImGuizmo/Makefile create mode 100644 src/ThirdParty/ImGuizmo/README.md create mode 100644 src/ThirdParty/ImGuizmo/bin/ImGuizmoSample.exe create mode 100644 src/ThirdParty/ImGuizmo/bin/imgui.ini create mode 100644 src/ThirdParty/ImGuizmo/example/ImApp.h create mode 100644 src/ThirdParty/ImGuizmo/example/ImGuizmoSample.vcxproj create mode 100644 src/ThirdParty/ImGuizmo/example/imconfig.h create mode 100644 src/ThirdParty/ImGuizmo/example/imgui.cpp create mode 100644 src/ThirdParty/ImGuizmo/example/imgui.h create mode 100644 src/ThirdParty/ImGuizmo/example/imgui_demo.cpp create mode 100644 src/ThirdParty/ImGuizmo/example/imgui_draw.cpp create mode 100644 src/ThirdParty/ImGuizmo/example/imgui_internal.h create mode 100644 src/ThirdParty/ImGuizmo/example/imgui_tables.cpp create mode 100644 src/ThirdParty/ImGuizmo/example/imgui_widgets.cpp create mode 100644 src/ThirdParty/ImGuizmo/example/imstb_rectpack.h create mode 100644 src/ThirdParty/ImGuizmo/example/imstb_textedit.h create mode 100644 src/ThirdParty/ImGuizmo/example/imstb_truetype.h create mode 100644 src/ThirdParty/ImGuizmo/example/main.cpp create mode 100644 src/ThirdParty/ImGuizmo/example/stb_image.h create mode 100644 src/ThirdParty/ImGuizmo/vcpkg-example/CMakeLists.txt create mode 100644 src/ThirdParty/ImGuizmo/vcpkg-example/ImApp.h create mode 100644 src/ThirdParty/ImGuizmo/vcpkg-example/README.md create mode 100644 src/ThirdParty/ImGuizmo/vcpkg-example/imgui.ini create mode 100644 src/ThirdParty/ImGuizmo/vcpkg-example/main.cpp create mode 100644 src/ThirdParty/ImGuizmo/vcpkg-example/vcpkg.json create mode 100644 src/ThirdParty/glad/KHR/khrplatform.h create mode 100644 src/ThirdParty/glad/glad.c create mode 100644 src/ThirdParty/glad/glad/glad.h create mode 100644 src/ThirdParty/glfw/CMake/GenerateMappings.cmake create mode 100644 src/ThirdParty/glfw/CMake/Info.plist.in create mode 100644 src/ThirdParty/glfw/CMake/cmake_uninstall.cmake.in create mode 100644 src/ThirdParty/glfw/CMake/glfw3.pc.in create mode 100644 src/ThirdParty/glfw/CMake/glfw3Config.cmake.in create mode 100644 src/ThirdParty/glfw/CMake/i686-w64-mingw32-clang.cmake create mode 100644 src/ThirdParty/glfw/CMake/i686-w64-mingw32.cmake create mode 100644 src/ThirdParty/glfw/CMake/modules/FindEpollShim.cmake create mode 100644 src/ThirdParty/glfw/CMake/modules/FindOSMesa.cmake create mode 100644 src/ThirdParty/glfw/CMake/x86_64-w64-mingw32-clang.cmake create mode 100644 src/ThirdParty/glfw/CMake/x86_64-w64-mingw32.cmake create mode 100644 src/ThirdParty/glfw/CMakeLists.txt create mode 100644 src/ThirdParty/glfw/CONTRIBUTORS.md create mode 100644 src/ThirdParty/glfw/LICENSE.md create mode 100644 src/ThirdParty/glfw/README.md create mode 100644 src/ThirdParty/glfw/deps/getopt.c create mode 100644 src/ThirdParty/glfw/deps/getopt.h create mode 100644 src/ThirdParty/glfw/deps/glad/gl.h create mode 100644 src/ThirdParty/glfw/deps/glad/gles2.h create mode 100644 src/ThirdParty/glfw/deps/glad/vulkan.h create mode 100644 src/ThirdParty/glfw/deps/linmath.h create mode 100644 src/ThirdParty/glfw/deps/mingw/_mingw_dxhelper.h create mode 100644 src/ThirdParty/glfw/deps/mingw/dinput.h create mode 100644 src/ThirdParty/glfw/deps/mingw/xinput.h create mode 100644 src/ThirdParty/glfw/deps/nuklear.h create mode 100644 src/ThirdParty/glfw/deps/nuklear_glfw_gl2.h create mode 100644 src/ThirdParty/glfw/deps/stb_image_write.h create mode 100644 src/ThirdParty/glfw/deps/tinycthread.c create mode 100644 src/ThirdParty/glfw/deps/tinycthread.h create mode 100644 src/ThirdParty/glfw/deps/vs2008/stdint.h create mode 100644 src/ThirdParty/glfw/docs/CMakeLists.txt create mode 100644 src/ThirdParty/glfw/docs/CODEOWNERS create mode 100644 src/ThirdParty/glfw/docs/CONTRIBUTING.md create mode 100644 src/ThirdParty/glfw/docs/Doxyfile.in create mode 100644 src/ThirdParty/glfw/docs/DoxygenLayout.xml create mode 100644 src/ThirdParty/glfw/docs/SUPPORT.md create mode 100644 src/ThirdParty/glfw/docs/build.dox create mode 100644 src/ThirdParty/glfw/docs/compat.dox create mode 100644 src/ThirdParty/glfw/docs/compile.dox create mode 100644 src/ThirdParty/glfw/docs/context.dox create mode 100644 src/ThirdParty/glfw/docs/extra.css create mode 100644 src/ThirdParty/glfw/docs/extra.css.map create mode 100644 src/ThirdParty/glfw/docs/extra.scss create mode 100644 src/ThirdParty/glfw/docs/footer.html create mode 100644 src/ThirdParty/glfw/docs/header.html create mode 100644 src/ThirdParty/glfw/docs/input.dox create mode 100644 src/ThirdParty/glfw/docs/internal.dox create mode 100644 src/ThirdParty/glfw/docs/intro.dox create mode 100644 src/ThirdParty/glfw/docs/main.dox create mode 100644 src/ThirdParty/glfw/docs/monitor.dox create mode 100644 src/ThirdParty/glfw/docs/moving.dox create mode 100644 src/ThirdParty/glfw/docs/news.dox create mode 100644 src/ThirdParty/glfw/docs/quick.dox create mode 100644 src/ThirdParty/glfw/docs/spaces.svg create mode 100644 src/ThirdParty/glfw/docs/vulkan.dox create mode 100644 src/ThirdParty/glfw/docs/window.dox create mode 100644 src/ThirdParty/glfw/examples/CMakeLists.txt create mode 100644 src/ThirdParty/glfw/examples/boing.c create mode 100644 src/ThirdParty/glfw/examples/gears.c create mode 100644 src/ThirdParty/glfw/examples/glfw.icns create mode 100644 src/ThirdParty/glfw/examples/glfw.ico create mode 100644 src/ThirdParty/glfw/examples/glfw.rc create mode 100644 src/ThirdParty/glfw/examples/heightmap.c create mode 100644 src/ThirdParty/glfw/examples/offscreen.c create mode 100644 src/ThirdParty/glfw/examples/particles.c create mode 100644 src/ThirdParty/glfw/examples/sharing.c create mode 100644 src/ThirdParty/glfw/examples/splitview.c create mode 100644 src/ThirdParty/glfw/examples/triangle-opengl.c create mode 100644 src/ThirdParty/glfw/examples/triangle-opengles.c create mode 100644 src/ThirdParty/glfw/examples/wave.c create mode 100644 src/ThirdParty/glfw/examples/windows.c create mode 100644 src/ThirdParty/glfw/include/GLFW/glfw3.h create mode 100644 src/ThirdParty/glfw/include/GLFW/glfw3native.h create mode 100644 src/ThirdParty/glfw/premake5.lua create mode 100644 src/ThirdParty/glfw/src/CMakeLists.txt create mode 100644 src/ThirdParty/glfw/src/cocoa_init.m create mode 100644 src/ThirdParty/glfw/src/cocoa_joystick.h create mode 100644 src/ThirdParty/glfw/src/cocoa_joystick.m create mode 100644 src/ThirdParty/glfw/src/cocoa_monitor.m create mode 100644 src/ThirdParty/glfw/src/cocoa_platform.h create mode 100644 src/ThirdParty/glfw/src/cocoa_time.c create mode 100644 src/ThirdParty/glfw/src/cocoa_time.h create mode 100644 src/ThirdParty/glfw/src/cocoa_window.m create mode 100644 src/ThirdParty/glfw/src/context.c create mode 100644 src/ThirdParty/glfw/src/egl_context.c create mode 100644 src/ThirdParty/glfw/src/glfw.rc.in create mode 100644 src/ThirdParty/glfw/src/glx_context.c create mode 100644 src/ThirdParty/glfw/src/init.c create mode 100644 src/ThirdParty/glfw/src/input.c create mode 100644 src/ThirdParty/glfw/src/internal.h create mode 100644 src/ThirdParty/glfw/src/linux_joystick.c create mode 100644 src/ThirdParty/glfw/src/linux_joystick.h create mode 100644 src/ThirdParty/glfw/src/mappings.h create mode 100644 src/ThirdParty/glfw/src/mappings.h.in create mode 100644 src/ThirdParty/glfw/src/monitor.c create mode 100644 src/ThirdParty/glfw/src/nsgl_context.m create mode 100644 src/ThirdParty/glfw/src/null_init.c create mode 100644 src/ThirdParty/glfw/src/null_joystick.c create mode 100644 src/ThirdParty/glfw/src/null_joystick.h create mode 100644 src/ThirdParty/glfw/src/null_monitor.c create mode 100644 src/ThirdParty/glfw/src/null_platform.h create mode 100644 src/ThirdParty/glfw/src/null_window.c create mode 100644 src/ThirdParty/glfw/src/osmesa_context.c create mode 100644 src/ThirdParty/glfw/src/platform.c create mode 100644 src/ThirdParty/glfw/src/platform.h create mode 100644 src/ThirdParty/glfw/src/posix_module.c create mode 100644 src/ThirdParty/glfw/src/posix_thread.c create mode 100644 src/ThirdParty/glfw/src/posix_thread.h create mode 100644 src/ThirdParty/glfw/src/posix_time.c create mode 100644 src/ThirdParty/glfw/src/posix_time.h create mode 100644 src/ThirdParty/glfw/src/vulkan.c create mode 100644 src/ThirdParty/glfw/src/wgl_context.c create mode 100644 src/ThirdParty/glfw/src/win32_init.c create mode 100644 src/ThirdParty/glfw/src/win32_joystick.c create mode 100644 src/ThirdParty/glfw/src/win32_joystick.h create mode 100644 src/ThirdParty/glfw/src/win32_module.c create mode 100644 src/ThirdParty/glfw/src/win32_monitor.c create mode 100644 src/ThirdParty/glfw/src/win32_platform.h create mode 100644 src/ThirdParty/glfw/src/win32_thread.c create mode 100644 src/ThirdParty/glfw/src/win32_thread.h create mode 100644 src/ThirdParty/glfw/src/win32_time.c create mode 100644 src/ThirdParty/glfw/src/win32_time.h create mode 100644 src/ThirdParty/glfw/src/win32_window.c create mode 100644 src/ThirdParty/glfw/src/window.c create mode 100644 src/ThirdParty/glfw/src/wl_init.c create mode 100644 src/ThirdParty/glfw/src/wl_monitor.c create mode 100644 src/ThirdParty/glfw/src/wl_platform.h create mode 100644 src/ThirdParty/glfw/src/wl_window.c create mode 100644 src/ThirdParty/glfw/src/x11_init.c create mode 100644 src/ThirdParty/glfw/src/x11_monitor.c create mode 100644 src/ThirdParty/glfw/src/x11_platform.h create mode 100644 src/ThirdParty/glfw/src/x11_window.c create mode 100644 src/ThirdParty/glfw/src/xkb_unicode.c create mode 100644 src/ThirdParty/glfw/src/xkb_unicode.h create mode 100644 src/ThirdParty/glfw/tests/CMakeLists.txt create mode 100644 src/ThirdParty/glfw/tests/allocator.c create mode 100644 src/ThirdParty/glfw/tests/clipboard.c create mode 100644 src/ThirdParty/glfw/tests/cursor.c create mode 100644 src/ThirdParty/glfw/tests/empty.c create mode 100644 src/ThirdParty/glfw/tests/events.c create mode 100644 src/ThirdParty/glfw/tests/gamma.c create mode 100644 src/ThirdParty/glfw/tests/glfwinfo.c create mode 100644 src/ThirdParty/glfw/tests/icon.c create mode 100644 src/ThirdParty/glfw/tests/iconify.c create mode 100644 src/ThirdParty/glfw/tests/inputlag.c create mode 100644 src/ThirdParty/glfw/tests/joysticks.c create mode 100644 src/ThirdParty/glfw/tests/monitors.c create mode 100644 src/ThirdParty/glfw/tests/msaa.c create mode 100644 src/ThirdParty/glfw/tests/reopen.c create mode 100644 src/ThirdParty/glfw/tests/tearing.c create mode 100644 src/ThirdParty/glfw/tests/threads.c create mode 100644 src/ThirdParty/glfw/tests/timeout.c create mode 100644 src/ThirdParty/glfw/tests/title.c create mode 100644 src/ThirdParty/glfw/tests/triangle-vulkan.c create mode 100644 src/ThirdParty/glfw/tests/window.c create mode 100644 src/ThirdParty/glm/CMakeLists.txt create mode 100644 src/ThirdParty/glm/common.hpp create mode 100644 src/ThirdParty/glm/detail/_features.hpp create mode 100644 src/ThirdParty/glm/detail/_fixes.hpp create mode 100644 src/ThirdParty/glm/detail/_noise.hpp create mode 100644 src/ThirdParty/glm/detail/_swizzle.hpp create mode 100644 src/ThirdParty/glm/detail/_swizzle_func.hpp create mode 100644 src/ThirdParty/glm/detail/_vectorize.hpp create mode 100644 src/ThirdParty/glm/detail/compute_common.hpp create mode 100644 src/ThirdParty/glm/detail/compute_vector_decl.hpp create mode 100644 src/ThirdParty/glm/detail/compute_vector_relational.hpp create mode 100644 src/ThirdParty/glm/detail/func_common.inl create mode 100644 src/ThirdParty/glm/detail/func_common_simd.inl create mode 100644 src/ThirdParty/glm/detail/func_exponential.inl create mode 100644 src/ThirdParty/glm/detail/func_exponential_simd.inl create mode 100644 src/ThirdParty/glm/detail/func_geometric.inl create mode 100644 src/ThirdParty/glm/detail/func_geometric_simd.inl create mode 100644 src/ThirdParty/glm/detail/func_integer.inl create mode 100644 src/ThirdParty/glm/detail/func_integer_simd.inl create mode 100644 src/ThirdParty/glm/detail/func_matrix.inl create mode 100644 src/ThirdParty/glm/detail/func_matrix_simd.inl create mode 100644 src/ThirdParty/glm/detail/func_packing.inl create mode 100644 src/ThirdParty/glm/detail/func_packing_simd.inl create mode 100644 src/ThirdParty/glm/detail/func_trigonometric.inl create mode 100644 src/ThirdParty/glm/detail/func_trigonometric_simd.inl create mode 100644 src/ThirdParty/glm/detail/func_vector_relational.inl create mode 100644 src/ThirdParty/glm/detail/func_vector_relational_simd.inl create mode 100644 src/ThirdParty/glm/detail/glm.cpp create mode 100644 src/ThirdParty/glm/detail/qualifier.hpp create mode 100644 src/ThirdParty/glm/detail/setup.hpp create mode 100644 src/ThirdParty/glm/detail/type_float.hpp create mode 100644 src/ThirdParty/glm/detail/type_half.hpp create mode 100644 src/ThirdParty/glm/detail/type_half.inl create mode 100644 src/ThirdParty/glm/detail/type_mat2x2.hpp create mode 100644 src/ThirdParty/glm/detail/type_mat2x2.inl create mode 100644 src/ThirdParty/glm/detail/type_mat2x3.hpp create mode 100644 src/ThirdParty/glm/detail/type_mat2x3.inl create mode 100644 src/ThirdParty/glm/detail/type_mat2x4.hpp create mode 100644 src/ThirdParty/glm/detail/type_mat2x4.inl create mode 100644 src/ThirdParty/glm/detail/type_mat3x2.hpp create mode 100644 src/ThirdParty/glm/detail/type_mat3x2.inl create mode 100644 src/ThirdParty/glm/detail/type_mat3x3.hpp create mode 100644 src/ThirdParty/glm/detail/type_mat3x3.inl create mode 100644 src/ThirdParty/glm/detail/type_mat3x4.hpp create mode 100644 src/ThirdParty/glm/detail/type_mat3x4.inl create mode 100644 src/ThirdParty/glm/detail/type_mat4x2.hpp create mode 100644 src/ThirdParty/glm/detail/type_mat4x2.inl create mode 100644 src/ThirdParty/glm/detail/type_mat4x3.hpp create mode 100644 src/ThirdParty/glm/detail/type_mat4x3.inl create mode 100644 src/ThirdParty/glm/detail/type_mat4x4.hpp create mode 100644 src/ThirdParty/glm/detail/type_mat4x4.inl create mode 100644 src/ThirdParty/glm/detail/type_mat4x4_simd.inl create mode 100644 src/ThirdParty/glm/detail/type_quat.hpp create mode 100644 src/ThirdParty/glm/detail/type_quat.inl create mode 100644 src/ThirdParty/glm/detail/type_quat_simd.inl create mode 100644 src/ThirdParty/glm/detail/type_vec1.hpp create mode 100644 src/ThirdParty/glm/detail/type_vec1.inl create mode 100644 src/ThirdParty/glm/detail/type_vec2.hpp create mode 100644 src/ThirdParty/glm/detail/type_vec2.inl create mode 100644 src/ThirdParty/glm/detail/type_vec3.hpp create mode 100644 src/ThirdParty/glm/detail/type_vec3.inl create mode 100644 src/ThirdParty/glm/detail/type_vec4.hpp create mode 100644 src/ThirdParty/glm/detail/type_vec4.inl create mode 100644 src/ThirdParty/glm/detail/type_vec_simd.inl create mode 100644 src/ThirdParty/glm/exponential.hpp create mode 100644 src/ThirdParty/glm/ext.hpp create mode 100644 src/ThirdParty/glm/ext/_matrix_vectorize.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_clip_space.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_clip_space.inl create mode 100644 src/ThirdParty/glm/ext/matrix_common.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_common.inl create mode 100644 src/ThirdParty/glm/ext/matrix_double2x2.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double2x2_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double2x3.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double2x3_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double2x4.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double2x4_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double3x2.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double3x2_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double3x3.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double3x3_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double3x4.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double3x4_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double4x2.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double4x2_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double4x3.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double4x3_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double4x4.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_double4x4_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float2x2.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float2x2_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float2x3.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float2x3_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float2x4.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float2x4_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float3x2.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float3x2_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float3x3.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float3x3_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float3x4.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float3x4_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float4x2.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float4x2_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float4x3.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float4x3_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float4x4.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_float4x4_precision.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int2x2.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int2x2_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int2x3.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int2x3_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int2x4.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int2x4_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int3x2.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int3x2_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int3x3.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int3x3_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int3x4.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int3x4_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int4x2.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int4x2_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int4x3.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int4x3_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int4x4.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_int4x4_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_integer.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_integer.inl create mode 100644 src/ThirdParty/glm/ext/matrix_projection.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_projection.inl create mode 100644 src/ThirdParty/glm/ext/matrix_relational.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_relational.inl create mode 100644 src/ThirdParty/glm/ext/matrix_transform.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_transform.inl create mode 100644 src/ThirdParty/glm/ext/matrix_uint2x2.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint2x2_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint2x3.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint2x3_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint2x4.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint2x4_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint3x2.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint3x2_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint3x3.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint3x3_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint3x4.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint3x4_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint4x2.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint4x2_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint4x3.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint4x3_sized.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint4x4.hpp create mode 100644 src/ThirdParty/glm/ext/matrix_uint4x4_sized.hpp create mode 100644 src/ThirdParty/glm/ext/quaternion_common.hpp create mode 100644 src/ThirdParty/glm/ext/quaternion_common.inl create mode 100644 src/ThirdParty/glm/ext/quaternion_common_simd.inl create mode 100644 src/ThirdParty/glm/ext/quaternion_double.hpp create mode 100644 src/ThirdParty/glm/ext/quaternion_double_precision.hpp create mode 100644 src/ThirdParty/glm/ext/quaternion_exponential.hpp create mode 100644 src/ThirdParty/glm/ext/quaternion_exponential.inl create mode 100644 src/ThirdParty/glm/ext/quaternion_float.hpp create mode 100644 src/ThirdParty/glm/ext/quaternion_float_precision.hpp create mode 100644 src/ThirdParty/glm/ext/quaternion_geometric.hpp create mode 100644 src/ThirdParty/glm/ext/quaternion_geometric.inl create mode 100644 src/ThirdParty/glm/ext/quaternion_relational.hpp create mode 100644 src/ThirdParty/glm/ext/quaternion_relational.inl create mode 100644 src/ThirdParty/glm/ext/quaternion_transform.hpp create mode 100644 src/ThirdParty/glm/ext/quaternion_transform.inl create mode 100644 src/ThirdParty/glm/ext/quaternion_trigonometric.hpp create mode 100644 src/ThirdParty/glm/ext/quaternion_trigonometric.inl create mode 100644 src/ThirdParty/glm/ext/scalar_common.hpp create mode 100644 src/ThirdParty/glm/ext/scalar_common.inl create mode 100644 src/ThirdParty/glm/ext/scalar_constants.hpp create mode 100644 src/ThirdParty/glm/ext/scalar_constants.inl create mode 100644 src/ThirdParty/glm/ext/scalar_int_sized.hpp create mode 100644 src/ThirdParty/glm/ext/scalar_integer.hpp create mode 100644 src/ThirdParty/glm/ext/scalar_integer.inl create mode 100644 src/ThirdParty/glm/ext/scalar_packing.hpp create mode 100644 src/ThirdParty/glm/ext/scalar_packing.inl create mode 100644 src/ThirdParty/glm/ext/scalar_reciprocal.hpp create mode 100644 src/ThirdParty/glm/ext/scalar_reciprocal.inl create mode 100644 src/ThirdParty/glm/ext/scalar_relational.hpp create mode 100644 src/ThirdParty/glm/ext/scalar_relational.inl create mode 100644 src/ThirdParty/glm/ext/scalar_uint_sized.hpp create mode 100644 src/ThirdParty/glm/ext/scalar_ulp.hpp create mode 100644 src/ThirdParty/glm/ext/scalar_ulp.inl create mode 100644 src/ThirdParty/glm/ext/vector_bool1.hpp create mode 100644 src/ThirdParty/glm/ext/vector_bool1_precision.hpp create mode 100644 src/ThirdParty/glm/ext/vector_bool2.hpp create mode 100644 src/ThirdParty/glm/ext/vector_bool2_precision.hpp create mode 100644 src/ThirdParty/glm/ext/vector_bool3.hpp create mode 100644 src/ThirdParty/glm/ext/vector_bool3_precision.hpp create mode 100644 src/ThirdParty/glm/ext/vector_bool4.hpp create mode 100644 src/ThirdParty/glm/ext/vector_bool4_precision.hpp create mode 100644 src/ThirdParty/glm/ext/vector_common.hpp create mode 100644 src/ThirdParty/glm/ext/vector_common.inl create mode 100644 src/ThirdParty/glm/ext/vector_double1.hpp create mode 100644 src/ThirdParty/glm/ext/vector_double1_precision.hpp create mode 100644 src/ThirdParty/glm/ext/vector_double2.hpp create mode 100644 src/ThirdParty/glm/ext/vector_double2_precision.hpp create mode 100644 src/ThirdParty/glm/ext/vector_double3.hpp create mode 100644 src/ThirdParty/glm/ext/vector_double3_precision.hpp create mode 100644 src/ThirdParty/glm/ext/vector_double4.hpp create mode 100644 src/ThirdParty/glm/ext/vector_double4_precision.hpp create mode 100644 src/ThirdParty/glm/ext/vector_float1.hpp create mode 100644 src/ThirdParty/glm/ext/vector_float1_precision.hpp create mode 100644 src/ThirdParty/glm/ext/vector_float2.hpp create mode 100644 src/ThirdParty/glm/ext/vector_float2_precision.hpp create mode 100644 src/ThirdParty/glm/ext/vector_float3.hpp create mode 100644 src/ThirdParty/glm/ext/vector_float3_precision.hpp create mode 100644 src/ThirdParty/glm/ext/vector_float4.hpp create mode 100644 src/ThirdParty/glm/ext/vector_float4_precision.hpp create mode 100644 src/ThirdParty/glm/ext/vector_int1.hpp create mode 100644 src/ThirdParty/glm/ext/vector_int1_sized.hpp create mode 100644 src/ThirdParty/glm/ext/vector_int2.hpp create mode 100644 src/ThirdParty/glm/ext/vector_int2_sized.hpp create mode 100644 src/ThirdParty/glm/ext/vector_int3.hpp create mode 100644 src/ThirdParty/glm/ext/vector_int3_sized.hpp create mode 100644 src/ThirdParty/glm/ext/vector_int4.hpp create mode 100644 src/ThirdParty/glm/ext/vector_int4_sized.hpp create mode 100644 src/ThirdParty/glm/ext/vector_integer.hpp create mode 100644 src/ThirdParty/glm/ext/vector_integer.inl create mode 100644 src/ThirdParty/glm/ext/vector_packing.hpp create mode 100644 src/ThirdParty/glm/ext/vector_packing.inl create mode 100644 src/ThirdParty/glm/ext/vector_reciprocal.hpp create mode 100644 src/ThirdParty/glm/ext/vector_reciprocal.inl create mode 100644 src/ThirdParty/glm/ext/vector_relational.hpp create mode 100644 src/ThirdParty/glm/ext/vector_relational.inl create mode 100644 src/ThirdParty/glm/ext/vector_uint1.hpp create mode 100644 src/ThirdParty/glm/ext/vector_uint1_sized.hpp create mode 100644 src/ThirdParty/glm/ext/vector_uint2.hpp create mode 100644 src/ThirdParty/glm/ext/vector_uint2_sized.hpp create mode 100644 src/ThirdParty/glm/ext/vector_uint3.hpp create mode 100644 src/ThirdParty/glm/ext/vector_uint3_sized.hpp create mode 100644 src/ThirdParty/glm/ext/vector_uint4.hpp create mode 100644 src/ThirdParty/glm/ext/vector_uint4_sized.hpp create mode 100644 src/ThirdParty/glm/ext/vector_ulp.hpp create mode 100644 src/ThirdParty/glm/ext/vector_ulp.inl create mode 100644 src/ThirdParty/glm/fwd.hpp create mode 100644 src/ThirdParty/glm/geometric.hpp create mode 100644 src/ThirdParty/glm/glm.cppm create mode 100644 src/ThirdParty/glm/glm.hpp create mode 100644 src/ThirdParty/glm/gtc/bitfield.hpp create mode 100644 src/ThirdParty/glm/gtc/bitfield.inl create mode 100644 src/ThirdParty/glm/gtc/color_space.hpp create mode 100644 src/ThirdParty/glm/gtc/color_space.inl create mode 100644 src/ThirdParty/glm/gtc/constants.hpp create mode 100644 src/ThirdParty/glm/gtc/constants.inl create mode 100644 src/ThirdParty/glm/gtc/epsilon.hpp create mode 100644 src/ThirdParty/glm/gtc/epsilon.inl create mode 100644 src/ThirdParty/glm/gtc/integer.hpp create mode 100644 src/ThirdParty/glm/gtc/integer.inl create mode 100644 src/ThirdParty/glm/gtc/matrix_access.hpp create mode 100644 src/ThirdParty/glm/gtc/matrix_access.inl create mode 100644 src/ThirdParty/glm/gtc/matrix_integer.hpp create mode 100644 src/ThirdParty/glm/gtc/matrix_inverse.hpp create mode 100644 src/ThirdParty/glm/gtc/matrix_inverse.inl create mode 100644 src/ThirdParty/glm/gtc/matrix_transform.hpp create mode 100644 src/ThirdParty/glm/gtc/matrix_transform.inl create mode 100644 src/ThirdParty/glm/gtc/noise.hpp create mode 100644 src/ThirdParty/glm/gtc/noise.inl create mode 100644 src/ThirdParty/glm/gtc/packing.hpp create mode 100644 src/ThirdParty/glm/gtc/packing.inl create mode 100644 src/ThirdParty/glm/gtc/quaternion.hpp create mode 100644 src/ThirdParty/glm/gtc/quaternion.inl create mode 100644 src/ThirdParty/glm/gtc/quaternion_simd.inl create mode 100644 src/ThirdParty/glm/gtc/random.hpp create mode 100644 src/ThirdParty/glm/gtc/random.inl create mode 100644 src/ThirdParty/glm/gtc/reciprocal.hpp create mode 100644 src/ThirdParty/glm/gtc/round.hpp create mode 100644 src/ThirdParty/glm/gtc/round.inl create mode 100644 src/ThirdParty/glm/gtc/type_aligned.hpp create mode 100644 src/ThirdParty/glm/gtc/type_precision.hpp create mode 100644 src/ThirdParty/glm/gtc/type_precision.inl create mode 100644 src/ThirdParty/glm/gtc/type_ptr.hpp create mode 100644 src/ThirdParty/glm/gtc/type_ptr.inl create mode 100644 src/ThirdParty/glm/gtc/ulp.hpp create mode 100644 src/ThirdParty/glm/gtc/ulp.inl create mode 100644 src/ThirdParty/glm/gtc/vec1.hpp create mode 100644 src/ThirdParty/glm/gtx/associated_min_max.hpp create mode 100644 src/ThirdParty/glm/gtx/associated_min_max.inl create mode 100644 src/ThirdParty/glm/gtx/bit.hpp create mode 100644 src/ThirdParty/glm/gtx/bit.inl create mode 100644 src/ThirdParty/glm/gtx/closest_point.hpp create mode 100644 src/ThirdParty/glm/gtx/closest_point.inl create mode 100644 src/ThirdParty/glm/gtx/color_encoding.hpp create mode 100644 src/ThirdParty/glm/gtx/color_encoding.inl create mode 100644 src/ThirdParty/glm/gtx/color_space.hpp create mode 100644 src/ThirdParty/glm/gtx/color_space.inl create mode 100644 src/ThirdParty/glm/gtx/color_space_YCoCg.hpp create mode 100644 src/ThirdParty/glm/gtx/color_space_YCoCg.inl create mode 100644 src/ThirdParty/glm/gtx/common.hpp create mode 100644 src/ThirdParty/glm/gtx/common.inl create mode 100644 src/ThirdParty/glm/gtx/compatibility.hpp create mode 100644 src/ThirdParty/glm/gtx/compatibility.inl create mode 100644 src/ThirdParty/glm/gtx/component_wise.hpp create mode 100644 src/ThirdParty/glm/gtx/component_wise.inl create mode 100644 src/ThirdParty/glm/gtx/dual_quaternion.hpp create mode 100644 src/ThirdParty/glm/gtx/dual_quaternion.inl create mode 100644 src/ThirdParty/glm/gtx/easing.hpp create mode 100644 src/ThirdParty/glm/gtx/easing.inl create mode 100644 src/ThirdParty/glm/gtx/euler_angles.hpp create mode 100644 src/ThirdParty/glm/gtx/euler_angles.inl create mode 100644 src/ThirdParty/glm/gtx/extend.hpp create mode 100644 src/ThirdParty/glm/gtx/extend.inl create mode 100644 src/ThirdParty/glm/gtx/extended_min_max.hpp create mode 100644 src/ThirdParty/glm/gtx/extended_min_max.inl create mode 100644 src/ThirdParty/glm/gtx/exterior_product.hpp create mode 100644 src/ThirdParty/glm/gtx/exterior_product.inl create mode 100644 src/ThirdParty/glm/gtx/fast_exponential.hpp create mode 100644 src/ThirdParty/glm/gtx/fast_exponential.inl create mode 100644 src/ThirdParty/glm/gtx/fast_square_root.hpp create mode 100644 src/ThirdParty/glm/gtx/fast_square_root.inl create mode 100644 src/ThirdParty/glm/gtx/fast_trigonometry.hpp create mode 100644 src/ThirdParty/glm/gtx/fast_trigonometry.inl create mode 100644 src/ThirdParty/glm/gtx/float_normalize.inl create mode 100644 src/ThirdParty/glm/gtx/functions.hpp create mode 100644 src/ThirdParty/glm/gtx/functions.inl create mode 100644 src/ThirdParty/glm/gtx/gradient_paint.hpp create mode 100644 src/ThirdParty/glm/gtx/gradient_paint.inl create mode 100644 src/ThirdParty/glm/gtx/handed_coordinate_space.hpp create mode 100644 src/ThirdParty/glm/gtx/handed_coordinate_space.inl create mode 100644 src/ThirdParty/glm/gtx/hash.hpp create mode 100644 src/ThirdParty/glm/gtx/hash.inl create mode 100644 src/ThirdParty/glm/gtx/integer.hpp create mode 100644 src/ThirdParty/glm/gtx/integer.inl create mode 100644 src/ThirdParty/glm/gtx/intersect.hpp create mode 100644 src/ThirdParty/glm/gtx/intersect.inl create mode 100644 src/ThirdParty/glm/gtx/io.hpp create mode 100644 src/ThirdParty/glm/gtx/io.inl create mode 100644 src/ThirdParty/glm/gtx/iteration.hpp create mode 100644 src/ThirdParty/glm/gtx/iteration.inl create mode 100644 src/ThirdParty/glm/gtx/log_base.hpp create mode 100644 src/ThirdParty/glm/gtx/log_base.inl create mode 100644 src/ThirdParty/glm/gtx/matrix_cross_product.hpp create mode 100644 src/ThirdParty/glm/gtx/matrix_cross_product.inl create mode 100644 src/ThirdParty/glm/gtx/matrix_decompose.hpp create mode 100644 src/ThirdParty/glm/gtx/matrix_decompose.inl create mode 100644 src/ThirdParty/glm/gtx/matrix_factorisation.hpp create mode 100644 src/ThirdParty/glm/gtx/matrix_factorisation.inl create mode 100644 src/ThirdParty/glm/gtx/matrix_interpolation.hpp create mode 100644 src/ThirdParty/glm/gtx/matrix_interpolation.inl create mode 100644 src/ThirdParty/glm/gtx/matrix_major_storage.hpp create mode 100644 src/ThirdParty/glm/gtx/matrix_major_storage.inl create mode 100644 src/ThirdParty/glm/gtx/matrix_operation.hpp create mode 100644 src/ThirdParty/glm/gtx/matrix_operation.inl create mode 100644 src/ThirdParty/glm/gtx/matrix_query.hpp create mode 100644 src/ThirdParty/glm/gtx/matrix_query.inl create mode 100644 src/ThirdParty/glm/gtx/matrix_transform_2d.hpp create mode 100644 src/ThirdParty/glm/gtx/matrix_transform_2d.inl create mode 100644 src/ThirdParty/glm/gtx/mixed_product.hpp create mode 100644 src/ThirdParty/glm/gtx/mixed_product.inl create mode 100644 src/ThirdParty/glm/gtx/norm.hpp create mode 100644 src/ThirdParty/glm/gtx/norm.inl create mode 100644 src/ThirdParty/glm/gtx/normal.hpp create mode 100644 src/ThirdParty/glm/gtx/normal.inl create mode 100644 src/ThirdParty/glm/gtx/normalize_dot.hpp create mode 100644 src/ThirdParty/glm/gtx/normalize_dot.inl create mode 100644 src/ThirdParty/glm/gtx/number_precision.hpp create mode 100644 src/ThirdParty/glm/gtx/optimum_pow.hpp create mode 100644 src/ThirdParty/glm/gtx/optimum_pow.inl create mode 100644 src/ThirdParty/glm/gtx/orthonormalize.hpp create mode 100644 src/ThirdParty/glm/gtx/orthonormalize.inl create mode 100644 src/ThirdParty/glm/gtx/pca.hpp create mode 100644 src/ThirdParty/glm/gtx/pca.inl create mode 100644 src/ThirdParty/glm/gtx/perpendicular.hpp create mode 100644 src/ThirdParty/glm/gtx/perpendicular.inl create mode 100644 src/ThirdParty/glm/gtx/polar_coordinates.hpp create mode 100644 src/ThirdParty/glm/gtx/polar_coordinates.inl create mode 100644 src/ThirdParty/glm/gtx/projection.hpp create mode 100644 src/ThirdParty/glm/gtx/projection.inl create mode 100644 src/ThirdParty/glm/gtx/quaternion.hpp create mode 100644 src/ThirdParty/glm/gtx/quaternion.inl create mode 100644 src/ThirdParty/glm/gtx/range.hpp create mode 100644 src/ThirdParty/glm/gtx/raw_data.hpp create mode 100644 src/ThirdParty/glm/gtx/raw_data.inl create mode 100644 src/ThirdParty/glm/gtx/rotate_normalized_axis.hpp create mode 100644 src/ThirdParty/glm/gtx/rotate_normalized_axis.inl create mode 100644 src/ThirdParty/glm/gtx/rotate_vector.hpp create mode 100644 src/ThirdParty/glm/gtx/rotate_vector.inl create mode 100644 src/ThirdParty/glm/gtx/scalar_multiplication.hpp create mode 100644 src/ThirdParty/glm/gtx/scalar_relational.hpp create mode 100644 src/ThirdParty/glm/gtx/scalar_relational.inl create mode 100644 src/ThirdParty/glm/gtx/spline.hpp create mode 100644 src/ThirdParty/glm/gtx/spline.inl create mode 100644 src/ThirdParty/glm/gtx/std_based_type.hpp create mode 100644 src/ThirdParty/glm/gtx/std_based_type.inl create mode 100644 src/ThirdParty/glm/gtx/string_cast.hpp create mode 100644 src/ThirdParty/glm/gtx/string_cast.inl create mode 100644 src/ThirdParty/glm/gtx/structured_bindings.hpp create mode 100644 src/ThirdParty/glm/gtx/structured_bindings.inl create mode 100644 src/ThirdParty/glm/gtx/texture.hpp create mode 100644 src/ThirdParty/glm/gtx/texture.inl create mode 100644 src/ThirdParty/glm/gtx/transform.hpp create mode 100644 src/ThirdParty/glm/gtx/transform.inl create mode 100644 src/ThirdParty/glm/gtx/transform2.hpp create mode 100644 src/ThirdParty/glm/gtx/transform2.inl create mode 100644 src/ThirdParty/glm/gtx/type_aligned.hpp create mode 100644 src/ThirdParty/glm/gtx/type_aligned.inl create mode 100644 src/ThirdParty/glm/gtx/type_trait.hpp create mode 100644 src/ThirdParty/glm/gtx/type_trait.inl create mode 100644 src/ThirdParty/glm/gtx/vec_swizzle.hpp create mode 100644 src/ThirdParty/glm/gtx/vector_angle.hpp create mode 100644 src/ThirdParty/glm/gtx/vector_angle.inl create mode 100644 src/ThirdParty/glm/gtx/vector_query.hpp create mode 100644 src/ThirdParty/glm/gtx/vector_query.inl create mode 100644 src/ThirdParty/glm/gtx/wrap.hpp create mode 100644 src/ThirdParty/glm/gtx/wrap.inl create mode 100644 src/ThirdParty/glm/integer.hpp create mode 100644 src/ThirdParty/glm/mat2x2.hpp create mode 100644 src/ThirdParty/glm/mat2x3.hpp create mode 100644 src/ThirdParty/glm/mat2x4.hpp create mode 100644 src/ThirdParty/glm/mat3x2.hpp create mode 100644 src/ThirdParty/glm/mat3x3.hpp create mode 100644 src/ThirdParty/glm/mat3x4.hpp create mode 100644 src/ThirdParty/glm/mat4x2.hpp create mode 100644 src/ThirdParty/glm/mat4x3.hpp create mode 100644 src/ThirdParty/glm/mat4x4.hpp create mode 100644 src/ThirdParty/glm/matrix.hpp create mode 100644 src/ThirdParty/glm/packing.hpp create mode 100644 src/ThirdParty/glm/simd/common.h create mode 100644 src/ThirdParty/glm/simd/exponential.h create mode 100644 src/ThirdParty/glm/simd/geometric.h create mode 100644 src/ThirdParty/glm/simd/integer.h create mode 100644 src/ThirdParty/glm/simd/matrix.h create mode 100644 src/ThirdParty/glm/simd/neon.h create mode 100644 src/ThirdParty/glm/simd/packing.h create mode 100644 src/ThirdParty/glm/simd/platform.h create mode 100644 src/ThirdParty/glm/simd/trigonometric.h create mode 100644 src/ThirdParty/glm/simd/vector_relational.h create mode 100644 src/ThirdParty/glm/trigonometric.hpp create mode 100644 src/ThirdParty/glm/vec2.hpp create mode 100644 src/ThirdParty/glm/vec3.hpp create mode 100644 src/ThirdParty/glm/vec4.hpp create mode 100644 src/ThirdParty/glm/vector_relational.hpp create mode 100644 src/ThirdParty/imgui/LICENSE.txt create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_allegro5.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_allegro5.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_android.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_android.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_dx10.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_dx10.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_dx11.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_dx11.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_dx12.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_dx12.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_dx9.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_dx9.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_glfw.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_glfw.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_glut.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_glut.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_metal.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_metal.mm create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_opengl2.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_opengl2.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_opengl3.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_opengl3.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_opengl3_loader.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_osx.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_osx.mm create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_sdl2.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_sdl2.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_sdl3.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_sdl3.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_sdlgpu3.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_sdlgpu3.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_sdlgpu3_shaders.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_sdlrenderer2.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_sdlrenderer2.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_sdlrenderer3.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_sdlrenderer3.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_vulkan.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_vulkan.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_wgpu.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_wgpu.h create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_win32.cpp create mode 100644 src/ThirdParty/imgui/backends/imgui_impl_win32.h create mode 100644 src/ThirdParty/imgui/backends/sdlgpu3/build_instructions.txt create mode 100644 src/ThirdParty/imgui/backends/sdlgpu3/shader.frag create mode 100644 src/ThirdParty/imgui/backends/sdlgpu3/shader.vert create mode 100644 src/ThirdParty/imgui/backends/vulkan/build_instructions.txt create mode 100755 src/ThirdParty/imgui/backends/vulkan/generate_spv.sh create mode 100644 src/ThirdParty/imgui/backends/vulkan/glsl_shader.frag create mode 100644 src/ThirdParty/imgui/backends/vulkan/glsl_shader.vert create mode 100644 src/ThirdParty/imgui/docs/BACKENDS.md create mode 100644 src/ThirdParty/imgui/docs/CHANGELOG.txt create mode 100644 src/ThirdParty/imgui/docs/CONTRIBUTING.md create mode 100644 src/ThirdParty/imgui/docs/EXAMPLES.md create mode 100644 src/ThirdParty/imgui/docs/FAQ.md create mode 100644 src/ThirdParty/imgui/docs/FONTS.md create mode 100644 src/ThirdParty/imgui/docs/README.md create mode 100644 src/ThirdParty/imgui/docs/TODO.txt create mode 100644 src/ThirdParty/imgui/examples/README.txt create mode 100644 src/ThirdParty/imgui/examples/example_allegro5/README.md create mode 100644 src/ThirdParty/imgui/examples/example_allegro5/example_allegro5.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_allegro5/example_allegro5.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_allegro5/imconfig_allegro5.h create mode 100644 src/ThirdParty/imgui/examples/example_allegro5/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_android_opengl3/CMakeLists.txt create mode 100644 src/ThirdParty/imgui/examples/example_android_opengl3/android/.gitignore create mode 100644 src/ThirdParty/imgui/examples/example_android_opengl3/android/app/build.gradle create mode 100644 src/ThirdParty/imgui/examples/example_android_opengl3/android/app/src/main/AndroidManifest.xml create mode 100644 src/ThirdParty/imgui/examples/example_android_opengl3/android/app/src/main/java/MainActivity.kt create mode 100644 src/ThirdParty/imgui/examples/example_android_opengl3/android/build.gradle create mode 100644 src/ThirdParty/imgui/examples/example_android_opengl3/android/settings.gradle create mode 100644 src/ThirdParty/imgui/examples/example_android_opengl3/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_apple_metal/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_apple_metal/README.md create mode 100644 src/ThirdParty/imgui/examples/example_apple_metal/example_apple_metal.xcodeproj/project.pbxproj create mode 100644 src/ThirdParty/imgui/examples/example_apple_metal/iOS/Info-iOS.plist create mode 100644 src/ThirdParty/imgui/examples/example_apple_metal/iOS/LaunchScreen.storyboard create mode 100644 src/ThirdParty/imgui/examples/example_apple_metal/macOS/Info-macOS.plist create mode 100644 src/ThirdParty/imgui/examples/example_apple_metal/macOS/MainMenu.storyboard create mode 100644 src/ThirdParty/imgui/examples/example_apple_metal/main.mm create mode 100644 src/ThirdParty/imgui/examples/example_apple_opengl2/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_apple_opengl2/example_apple_opengl2.xcodeproj/project.pbxproj create mode 100644 src/ThirdParty/imgui/examples/example_apple_opengl2/main.mm create mode 100644 src/ThirdParty/imgui/examples/example_glfw_metal/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_glfw_metal/main.mm create mode 100644 src/ThirdParty/imgui/examples/example_glfw_opengl2/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_glfw_opengl2/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_glfw_opengl2/example_glfw_opengl2.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_glfw_opengl2/example_glfw_opengl2.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_glfw_opengl2/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_glfw_opengl3/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_glfw_opengl3/Makefile.emscripten create mode 100644 src/ThirdParty/imgui/examples/example_glfw_opengl3/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_glfw_opengl3/example_glfw_opengl3.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_glfw_opengl3/example_glfw_opengl3.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_glfw_opengl3/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_glfw_vulkan/CMakeLists.txt create mode 100644 src/ThirdParty/imgui/examples/example_glfw_vulkan/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_glfw_vulkan/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_glfw_vulkan/build_win64.bat create mode 100644 src/ThirdParty/imgui/examples/example_glfw_vulkan/example_glfw_vulkan.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_glfw_vulkan/example_glfw_vulkan.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_glfw_vulkan/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_glfw_wgpu/CMakeLists.txt create mode 100644 src/ThirdParty/imgui/examples/example_glfw_wgpu/Makefile.emscripten create mode 100644 src/ThirdParty/imgui/examples/example_glfw_wgpu/README.md create mode 100644 src/ThirdParty/imgui/examples/example_glfw_wgpu/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_glut_opengl2/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_glut_opengl2/example_glut_opengl2.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_glut_opengl2/example_glut_opengl2.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_glut_opengl2/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_null/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_null/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_null/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_directx11/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_directx11/example_sdl2_directx11.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_directx11/example_sdl2_directx11.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_directx11/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_metal/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_metal/main.mm create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_opengl2/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_opengl2/README.md create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_opengl2/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_opengl2/example_sdl2_opengl2.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_opengl2/example_sdl2_opengl2.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_opengl2/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_opengl3/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_opengl3/Makefile.emscripten create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_opengl3/README.md create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_opengl3/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_opengl3/example_sdl2_opengl3.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_opengl3/example_sdl2_opengl3.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_opengl3/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_sdlrenderer2/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_sdlrenderer2/README.md create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_sdlrenderer2/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_sdlrenderer2/example_sdl2_sdlrenderer2.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_sdlrenderer2/example_sdl2_sdlrenderer2.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_sdlrenderer2/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_vulkan/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_vulkan/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_vulkan/build_win64.bat create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_vulkan/example_sdl2_vulkan.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_vulkan/example_sdl2_vulkan.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_vulkan/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_wgpu/CMakeLists.txt create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_wgpu/Makefile.emscripten create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_wgpu/README.md create mode 100644 src/ThirdParty/imgui/examples/example_sdl2_wgpu/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_directx11/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_directx11/example_sdl3_directx11.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_directx11/example_sdl3_directx11.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_directx11/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_metal/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_metal/main.mm create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_opengl3/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_opengl3/Makefile.emscripten create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_opengl3/README.md create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_opengl3/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_opengl3/build_win64.bat create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_opengl3/example_sdl3_opengl3.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_opengl3/example_sdl3_opengl3.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_opengl3/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_sdlgpu3/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_sdlgpu3/build_win64.bat create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_sdlgpu3/example_sdl3_sdlgpu3.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_sdlgpu3/example_sdl3_sdlgpu3.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_sdlgpu3/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_sdlrenderer3/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_sdlrenderer3/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_sdlrenderer3/example_sdl3_sdlrenderer3.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_sdlrenderer3/example_sdl3_sdlrenderer3.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_sdlrenderer3/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_vulkan/Makefile create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_vulkan/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_vulkan/build_win64.bat create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_vulkan/example_sdl3_vulkan.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_vulkan/example_sdl3_vulkan.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_vulkan/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_wgpu/CMakeLists.txt create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_wgpu/Makefile.emscripten create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_wgpu/README.md create mode 100644 src/ThirdParty/imgui/examples/example_sdl3_wgpu/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_win32_directx10/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_win32_directx10/example_win32_directx10.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_win32_directx10/example_win32_directx10.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_win32_directx10/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_win32_directx11/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_win32_directx11/example_win32_directx11.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_win32_directx11/example_win32_directx11.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_win32_directx11/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_win32_directx12/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_win32_directx12/example_win32_directx12.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_win32_directx12/example_win32_directx12.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_win32_directx12/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_win32_directx9/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_win32_directx9/example_win32_directx9.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_win32_directx9/example_win32_directx9.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_win32_directx9/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_win32_opengl3/build_mingw.bat create mode 100644 src/ThirdParty/imgui/examples/example_win32_opengl3/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_win32_opengl3/example_win32_opengl3.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_win32_opengl3/example_win32_opengl3.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_win32_opengl3/main.cpp create mode 100644 src/ThirdParty/imgui/examples/example_win32_vulkan/build_win32.bat create mode 100644 src/ThirdParty/imgui/examples/example_win32_vulkan/build_win64.bat create mode 100644 src/ThirdParty/imgui/examples/example_win32_vulkan/example_win32_vulkan.vcxproj create mode 100644 src/ThirdParty/imgui/examples/example_win32_vulkan/example_win32_vulkan.vcxproj.filters create mode 100644 src/ThirdParty/imgui/examples/example_win32_vulkan/main.cpp create mode 100644 src/ThirdParty/imgui/examples/imgui_examples.sln create mode 100644 src/ThirdParty/imgui/examples/libs/emscripten/emscripten_mainloop_stub.h create mode 100644 src/ThirdParty/imgui/examples/libs/emscripten/shell_minimal.html create mode 100644 src/ThirdParty/imgui/examples/libs/glfw/COPYING.txt create mode 100644 src/ThirdParty/imgui/examples/libs/glfw/include/GLFW/glfw3.h create mode 100644 src/ThirdParty/imgui/examples/libs/glfw/include/GLFW/glfw3native.h create mode 100644 src/ThirdParty/imgui/examples/libs/glfw/lib-vc2010-32/glfw3.lib create mode 100644 src/ThirdParty/imgui/examples/libs/glfw/lib-vc2010-64/glfw3.lib create mode 100644 src/ThirdParty/imgui/examples/libs/usynergy/README.txt create mode 100644 src/ThirdParty/imgui/examples/libs/usynergy/uSynergy.c create mode 100644 src/ThirdParty/imgui/examples/libs/usynergy/uSynergy.h create mode 100644 src/ThirdParty/imgui/imconfig.h create mode 100644 src/ThirdParty/imgui/imgui.cpp create mode 100644 src/ThirdParty/imgui/imgui.h create mode 100644 src/ThirdParty/imgui/imgui_demo.cpp create mode 100644 src/ThirdParty/imgui/imgui_draw.cpp create mode 100644 src/ThirdParty/imgui/imgui_internal.h create mode 100644 src/ThirdParty/imgui/imgui_tables.cpp create mode 100644 src/ThirdParty/imgui/imgui_widgets.cpp create mode 100644 src/ThirdParty/imgui/imstb_rectpack.h create mode 100644 src/ThirdParty/imgui/imstb_textedit.h create mode 100644 src/ThirdParty/imgui/imstb_truetype.h create mode 100644 src/ThirdParty/imgui/misc/README.txt create mode 100644 src/ThirdParty/imgui/misc/cpp/README.txt create mode 100644 src/ThirdParty/imgui/misc/cpp/imgui_stdlib.cpp create mode 100644 src/ThirdParty/imgui/misc/cpp/imgui_stdlib.h create mode 100644 src/ThirdParty/imgui/misc/debuggers/README.txt create mode 100644 src/ThirdParty/imgui/misc/debuggers/imgui.gdb create mode 100644 src/ThirdParty/imgui/misc/debuggers/imgui.natstepfilter create mode 100644 src/ThirdParty/imgui/misc/debuggers/imgui.natvis create mode 100644 src/ThirdParty/imgui/misc/debuggers/imgui_lldb.py create mode 100644 src/ThirdParty/imgui/misc/fonts/Cousine-Regular.ttf create mode 100644 src/ThirdParty/imgui/misc/fonts/DroidSans.ttf create mode 100644 src/ThirdParty/imgui/misc/fonts/Karla-Regular.ttf create mode 100644 src/ThirdParty/imgui/misc/fonts/ProggyClean.ttf create mode 100644 src/ThirdParty/imgui/misc/fonts/ProggyTiny.ttf create mode 100644 src/ThirdParty/imgui/misc/fonts/Roboto-Medium.ttf create mode 100644 src/ThirdParty/imgui/misc/fonts/binary_to_compressed_c.cpp create mode 100644 src/ThirdParty/imgui/misc/freetype/README.md create mode 100644 src/ThirdParty/imgui/misc/freetype/imgui_freetype.cpp create mode 100644 src/ThirdParty/imgui/misc/freetype/imgui_freetype.h create mode 100644 src/ThirdParty/imgui/misc/single_file/imgui_single_file.h create mode 100644 src/WinView/Window.cpp create mode 100644 src/main.cpp diff --git a/.github/workflows/thing.yaml b/.github/workflows/thing.yaml new file mode 100644 index 0000000..96241ee --- /dev/null +++ b/.github/workflows/thing.yaml @@ -0,0 +1,77 @@ +name: Build C++ Project with Fedora Container and Create Release + +on: + push: + branches: + - main # Trigger on push to the main branch + +jobs: + build: + runs-on: ubuntu-latest # GitHub-hosted Ubuntu runner + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Set up Docker + run: | + sudo apt-get update + sudo apt-get remove -y containerd containerd.io + sudo apt-get install docker.io # Install Docker if it's not available + + - name: Build project in Fedora container + run: | + # Pull the Fedora image from Docker Hub + docker pull fedora:latest + + # Run the Fedora container and install dependencies + docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace fedora:latest bash -c " + # Update the package list and install necessary dependencies + dnf update -y && \ + dnf install -y \ + cmake \ + gcc \ + g++ \ + glfw-devel \ + make \ + git && \ + + # Run the build script (adjust if you have specific build steps) + mkdir -p build + cd build + cmake .. && \ + make + " + + - name: Create GitHub Release and Upload Executable + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is automatically available for authenticated actions + run: | + # Set the release version (adjust this as per your versioning strategy) + VERSION=$(git describe --tags --abbrev=0 || echo "v1.0.0") + + # Create a new release + RELEASE_RESPONSE=$(curl -X POST \ + -H "Authorization: token $GITHUB_TOKEN" \ + -H "Accept: application/vnd.github.v3+json" \ + https://api.github.com/repos/${{ github.repository }}/releases \ + -d '{ + "tag_name": "v'$VERSION'", + "target_commitish": "main", + "name": "Release v'$VERSION'", + "body": "Automated release of the C++ project.", + "draft": false, + "prerelease": false + }') + + # Extract the upload URL from the release response + UPLOAD_URL=$(echo $RELEASE_RESPONSE | jq -r .upload_url | sed -e "s/{?name,label}//") + + # Upload the executable file + curl -X POST \ + -H "Authorization: token $GITHUB_TOKEN" \ + -H "Content-Type: application/octet-stream" \ + --data-binary @./build/main \ + "$UPLOAD_URL?name=main-linux-x86_64" + + echo "Release v$VERSION created and 'main' executable uploaded." diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..527b85c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +Build/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..d2f0ff9 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,10 @@ +[submodule "src/ThirdParty/imgui"] + path = src/ThirdParty/imgui + url = https://github.com/ocornut/imgui.git + branch = docking +[submodule "src/ThirdParty/glfw"] + path = src/ThirdParty/glfw + url = https://github.com/TheCherno/glfw.git +[submodule "src/ThirdParty/ImGuizmo"] + path = src/ThirdParty/ImGuizmo + url = https://github.com/CedricGuillemet/ImGuizmo.git diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..8695076 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,33 @@ +{ + "configurations": [ + { + "name": "Linux", + "includePath": [ + "${workspaceFolder}/**", + "${workspaceFolder}/include" + ], + "defines": [], + "compilerPath": "/usr/bin/gcc", + "cStandard": "c17", + "cppStandard": "gnu++17", + "intelliSenseMode": "linux-gcc-x64" + }, + { + "name": "Windows", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [ + "_DEBUG", + "UNICODE", + "_UNICODE" + ], + "windowsSdkVersion": "10.0.26100.0", + "compilerPath": "C:/Program Files/Microsoft Visual Studio/18/Community/VC/Tools/MSVC/14.50.35717/bin/Hostx64/x64/cl.exe", + "cStandard": "c17", + "cppStandard": "c++17", + "intelliSenseMode": "windows-msvc-x64" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..96d0e0e --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,16 @@ +{ + "files.associations": { + "iostream": "cpp", + "sstream": "cpp" + }, +<<<<<<< HEAD +<<<<<<< HEAD + "makefile.configureOnOpen": true +======= + "cmake.sourceDirectory": "/home/thesona/Modularity/modularitylauncher" +>>>>>>> 1ec3aa52144b306094f1119dfd3899de9664f7b8 +======= + "cmake.sourceDirectory": "/home/theonesonakrie/Modularity", + "C_Cpp.errorSquiggles": "disabled" +>>>>>>> 834c6b5c445f3c715524cf257564f06da5555aa6 +} \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..87999e5 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,87 @@ +cmake_minimum_required(VERSION 3.16) +project(Modularity LANGUAGES C CXX) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +# ==================== WINDOWS FIXES (only active on Windows) ==================== +if(WIN32) + add_compile_definitions( + NOMINMAX # Fixes std::min/std::max clash with Windows.h + WIN32_LEAN_AND_MEAN # Speeds up Windows.h includes + _CRT_SECURE_NO_WARNINGS # Silences strncpy, sscanf, etc. warnings + ) +endif() + +# ==================== Compiler flags ==================== +if(MSVC) + add_compile_options(/W4 /O2 /permissive- /MP) +else() + add_compile_options(-Wall -Wextra -Wpedantic -O2) +endif() + +# ==================== Third-party libraries ==================== + +add_subdirectory(src/ThirdParty/glfw EXCLUDE_FROM_ALL) +find_package(OpenGL REQUIRED) + +# GLAD +add_library(glad STATIC src/ThirdParty/glad/glad.c) +target_include_directories(glad PUBLIC src/ThirdParty/glad) + +# GLM (header-only) +add_library(glm INTERFACE) +target_include_directories(glm INTERFACE src/ThirdParty/glm) + +# ImGuizmo ←←← THIS WAS THE BUG +add_library(imguizmo STATIC + src/ThirdParty/ImGuizmo/ImGuizmo.cpp +) +target_include_directories(imguizmo PUBLIC src/ThirdParty/ImGuizmo) +target_link_libraries(imguizmo PUBLIC imgui glm) # ImGuizmo uses ImGui + GLM + +# Dear ImGui +set(IMGUI_DIR ${PROJECT_SOURCE_DIR}/src/ThirdParty/imgui) +add_library(imgui STATIC + ${IMGUI_DIR}/imgui.cpp + ${IMGUI_DIR}/imgui_demo.cpp + ${IMGUI_DIR}/imgui_draw.cpp + ${IMGUI_DIR}/imgui_tables.cpp + ${IMGUI_DIR}/imgui_widgets.cpp + ${IMGUI_DIR}/backends/imgui_impl_glfw.cpp + ${IMGUI_DIR}/backends/imgui_impl_opengl3.cpp +) +target_include_directories(imgui PUBLIC ${IMGUI_DIR} ${IMGUI_DIR}/backends) +target_link_libraries(imgui PRIVATE glfw) + +# ==================== Your code ==================== +file(GLOB_RECURSE PROJECT_SOURCES + src/*.cpp + src/*.c +) +list(FILTER PROJECT_SOURCES EXCLUDE REGEX "src/ThirdParty/|src/main\\.cpp") + +add_library(core STATIC ${PROJECT_SOURCES}) +target_include_directories(core PUBLIC include) +target_link_libraries(core PUBLIC glad glm imgui imguizmo) + +# ==================== Executable ==================== +add_executable(main src/main.cpp) +target_link_libraries(main PRIVATE core glfw OpenGL::GL) + +# Optional: remove console window on Windows (uncomment if you want GUI-only app) +#if(WIN32) +# set_target_properties(main PROPERTIES WIN32_EXECUTABLE TRUE) +#endif() + +# Linux needs these extra libs +if(NOT WIN32) + target_link_libraries(main PRIVATE dl pthread X11) +endif() + +# ==================== Copy Resources folder after build ==================== +add_custom_command(TARGET main POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${CMAKE_SOURCE_DIR}/Resources + $/Resources +) \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..49dbd09 --- /dev/null +++ b/LICENSE @@ -0,0 +1,29 @@ +Copyright (c) 2025 Shock Interactive LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this engine and associated documentation files (the "Engine"), to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies of software +that *uses* the Engine (for example, a game or application) under the following conditions: + +1. Use in Commercial Games: + - You may use the Engine to develop commercial or closed-source games. + - You may not sell or distribute the Engine itself or any substantial part of it as a standalone product. + +2. Modifications to the Engine: + - Any modifications to the Engine’s source code must be released under this same license. + - Modifications must include a notice describing the changes made. + +3. Distribution: + - You may distribute games or software that uses the Engine under any terms you choose. + - Distribution of the Engine or derivative Engine code must remain open source under this license. + +4. Disclaimer: + - The Engine is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement. + - In no event shall the authors or copyright holders be liable for any claim, damages, or other liability arising from the use of the Engine. + +5. Attribution: + - You must include a visible attribution to the original Engine in your software documentation or about section. + +--- + +This license is designed to keep the Engine itself open source, allow closed-source commercial games, and prevent selling the Engine as a product. diff --git a/Resources/Shaders/frag.glsl b/Resources/Shaders/frag.glsl new file mode 100644 index 0000000..7eaba0a --- /dev/null +++ b/Resources/Shaders/frag.glsl @@ -0,0 +1,46 @@ +#version 330 core +out vec4 FragColor; + +in vec3 FragPos; +in vec3 Normal; +in vec2 TexCoord; + +uniform sampler2D texture1; +uniform sampler2D texture2; +uniform float mixAmount = 0.2; + +uniform vec3 lightPos; +uniform vec3 viewPos; +uniform vec3 lightColor = vec3(1.0); + +uniform float ambientStrength = 0.2; +uniform float specularStrength = 0.5; +uniform float shininess = 32.0; + +void main() +{ + vec3 norm = normalize(Normal); + vec3 lightDir = normalize(lightPos - FragPos); + vec3 viewDir = normalize(viewPos - FragPos); + + // Ambient + vec3 ambient = ambientStrength * lightColor; + + // Diffuse + float diff = max(dot(norm, lightDir), 0.0); + vec3 diffuse = diff * lightColor; + + // Specular (Blinn-Phong) + vec3 halfwayDir = normalize(lightDir + viewDir); + float spec = pow(max(dot(norm, halfwayDir), 0.0), shininess); + vec3 specular = specularStrength * spec * lightColor; + + // Texture mixing (corrected) + vec4 tex1 = texture(texture1, TexCoord); + vec4 tex2 = texture(texture2, TexCoord); + vec4 mixedTex = mix(tex1, tex2, mixAmount); + vec3 texColor = mixedTex.rgb; + + vec3 result = (ambient + diffuse + specular) * texColor; + FragColor = vec4(result, mixedTex.a); // Preserve alpha if needed +} \ No newline at end of file diff --git a/Resources/Shaders/skybox_frag.glsl b/Resources/Shaders/skybox_frag.glsl new file mode 100644 index 0000000..6a41677 --- /dev/null +++ b/Resources/Shaders/skybox_frag.glsl @@ -0,0 +1,98 @@ +#version 330 core +out vec4 FragColor; +in vec3 fragPos; + +uniform float timeOfDay; // 0..1 (0.0 = midnight) + +float hash(vec3 p) { + p = fract(p * 0.3183099 + 0.1); + p *= 17.0; + return fract(p.x * p.y * p.z * (p.x + p.y + p.z)); +} + +vec3 getSkyColor(vec3 dir, float tod) { + float height = dir.y; + + // Continuous rotation – no midnight jump + float t = fract(tod); + float angle = t * 6.28318530718; + vec3 sunDir = normalize(vec3(cos(angle), sin(angle) * 0.5, sin(angle))); + float sunDot = max(dot(dir, sunDir), 0.0); + + // Your original colors (unchanged) + vec3 nightTop = vec3(0.01, 0.01, 0.05); + vec3 nightHorizon = vec3(0.05, 0.05, 0.15); + vec3 dayTop = vec3(0.3, 0.5, 0.9); + vec3 dayHorizon = vec3(0.6, 0.7, 0.9); + vec3 sunriseTop = vec3(0.4, 0.3, 0.5); + vec3 sunriseHorizon= vec3(1.0, 0.5, 0.3); + vec3 sunsetTop = vec3(0.5, 0.3, 0.4); + vec3 sunsetHorizon = vec3(1.0, 0.4, 0.2); + + // Same 4-phase interpolation as you had + vec3 skyTop, skyHorizon; + if (t < 0.25) { + float f = t * 4.0; + skyTop = mix(nightTop, sunriseTop, f); + skyHorizon = mix(nightHorizon, sunriseHorizon, f); + } else if (t < 0.5) { + float f = (t-0.25)*4.0; + skyTop = mix(sunriseTop, dayTop, f); + skyHorizon = mix(sunriseHorizon, dayHorizon, f); + } else if (t < 0.75) { + float f = (t-0.5)*4.0; + skyTop = mix(dayTop, sunsetTop, f); + skyHorizon = mix(dayHorizon, sunsetHorizon, f); + } else { + float f = (t-0.75)*4.0; + skyTop = mix(sunsetTop, nightTop, f); + skyHorizon = mix(sunsetHorizon, nightHorizon, f); + } + + vec3 skyColor = mix(skyHorizon, skyTop, smoothstep(-0.3, 0.3, height)); + + // Sun (exactly like yours) + vec3 sunCol = vec3(1.0, 0.95, 0.8); + float sunGlow = pow(sunDot, 128.0) * 2.0; + float sunDisc = smoothstep(0.9995, 0.9998, sunDot); + float atmGlow = pow(sunDot, 8.0) * 0.5; + + float sunVisibility = smoothstep(-0.12, 0.15, sunDir.y); // smooth fade in/out + skyColor += sunCol * (sunDisc + atmGlow + sunGlow*0.3) * sunVisibility; + + // ——— STARS: now actually visible and pretty ——— + float night = 1.0 - sunVisibility; + if (night > 0.0) { + vec3 p = dir * 160.0; // denser grid + vec3 i = floor(p); + vec3 f = fract(p); + + float stars = 0.0; + for (int z=-1; z<=1; z++) + for (int y=-1; y<=1; y++) + for (int x=-1; x<=1; x++) { + vec3 o = vec3(x,y,z); + vec3 pos = i + o; + float h = hash(pos); + if (h > 0.99) { // only the brightest 1% + vec3 center = o + 0.5 + (hash(pos+vec3(7,13,21))-0.5)*0.8; + float d = length(f - center); + float star = 1.0 - smoothstep(0.0, 0.12, d); // tiny sharp dot + star *= (h - 0.99)*100.0; // brightness variation + stars += star; + } + } + stars = pow(stars, 1.4); + stars *= night; + stars *= smoothstep(-0.1, 0.25, height); // fade near horizon + skyColor += vec3(1.0, 0.95, 0.9) * stars * 2.5; + } + + return skyColor; +} + +void main() { + vec3 dir = normalize(fragPos); + vec3 col = getSkyColor(dir, timeOfDay); + FragColor = vec4(col, 1.0); +} \ No newline at end of file diff --git a/Resources/Shaders/skybox_vert.glsl b/Resources/Shaders/skybox_vert.glsl new file mode 100644 index 0000000..4083db2 --- /dev/null +++ b/Resources/Shaders/skybox_vert.glsl @@ -0,0 +1,14 @@ +#version 330 core +layout (location = 0) in vec3 aPos; + +out vec3 fragPos; + +uniform mat4 projection; +uniform mat4 view; + +void main() +{ + fragPos = aPos; + vec4 pos = projection * view * vec4(aPos, 1.0); + gl_Position = pos.xyww; // Trick to ensure skybox depth is always 1.0 (furthest) +} diff --git a/Resources/Shaders/vert.glsl b/Resources/Shaders/vert.glsl new file mode 100644 index 0000000..e171039 --- /dev/null +++ b/Resources/Shaders/vert.glsl @@ -0,0 +1,20 @@ +#version 330 core +layout (location = 0) in vec3 aPos; +layout (location = 1) in vec3 aNormal; +layout (location = 2) in vec2 aTexCoord; + +out vec3 FragPos; +out vec3 Normal; +out vec2 TexCoord; + +uniform mat4 model; +uniform mat4 view; +uniform mat4 projection; + +void main() +{ + FragPos = vec3(model * vec4(aPos, 1.0)); + Normal = mat3(transpose(inverse(model))) * aNormal; + TexCoord = aTexCoord; + gl_Position = projection * view * vec4(FragPos, 1.0); +} \ No newline at end of file diff --git a/Resources/Textures/awesomeface.png b/Resources/Textures/awesomeface.png new file mode 100644 index 0000000000000000000000000000000000000000..9840caf3e7f4914ea1c6c15f688ffaf2cf44bae8 GIT binary patch literal 59277 zcmeFYWmKF=ySCjl4K(f++}+*X-8I48-J#J03keY1Ndf_a1Pj^(0)!;ELvVL@>3173L->71M*wF zqy+!~#NKj--trF4Hk9fXE;axQKN~MM7aLm(D;suqS34mP=rsT!^vprm(A!W=RoKeS zh26s1&C-V5-^Cs9AW;c_cMB^g8*fTW8#@PAG3tXBC^e;nwHUPlpBkr{yNr#!gJPhk zjZUDtu2rCum5?>HggA<*zp%fHyNivt1*N}>v#Xb|zZmszzQV3v!Vkq9)Rez9@pclU zmU`%r(ojv4QpU~GhLVq+hs}zUi;I$9k6)Nu zfbtJfi=$9dQi^(7+X`#T%Ky=wr?ssZwY|5uyD$fbpPwJQ9}l~mryU2EkdV-W4L3KN zr?oAcSAeUxg+H6C7tQY`|MHQw@v`!CaQAj_bESOnwXk&a@fM?|e(2~={V^{W_dh#w z_43^L zs+^ijJ1OD*f=49jKW#i`2<>D6R;uhxQ`n$*9TK?0+#@oW$!rS8ilgr=R{^29a z@c{X6(EqIXNBRG4F|4irTnl#}Pv_s3+}eu6#@WWj#?{-4gNvQ(-`B(1O4!!T)5XGD z+`+}d&W6L?)lQV-ufqTB@wxwNq5mA_zipX6tN(N3{8=R|iKO_-KB{>;>E+Kw?Hg0yVzuWw+-T(IF{axJE)c)&<|Ld%{ zxN!VeXUxl6&e!{Yj`Y$EaJS*mw()ZF@wBp$^R;pH{_9Ntaq`sEgq2*qye(XKC{}&ej(T$>mm$#c|z~3tVl?Qcf zJpR4(Ulq;{za2$)3r{bb2l8Un|3d%wboZx3e_KIe3#*5WDsJ_V0Bx*AIsUEmuVMYE zKf)aT|18??-hT`I@BRJkZCwAS1p2$xZ>|1&6E8PgZ$Ar98!0;*SMUE@UjNF)_%$KArp=7Hxwi~csT->Nhn{B4{KWgT2>T)iI7 z93L0=A3^`D`7a}l{@cjE)%=fGeut$kD=&^B%JJtPga3;8f2+Ty^#4%5I{7L6!u3=7 zh3lvE3)fHS7p|YuFI+#RU$}lszi|DOe&PBl{lfKA`i1MK^b6Nd=@+h_(l1;;rC+#y zO22UZlz!p*DgDCrQ~HJLr}PWgPw5w~pVBW}Kc!!|eoDV^{gi&;`YHXw^;7zV>!xPD5%aQ&2i;rc24!u3=7h3lvE3)fHS7p|YuFI+#RU$}ls|06Dx zzh1AjakUns_M?^%kA*Pw0{{S`hZi?>{&=kf@Q*hIdA~ik0{{S+4{Z!Q9lUKk0XjbJ zHlCX53f-Tp<^TXnfRe0~uK&z#uAjfI&3UhcpCk8Hv^Ng0Fw%RAk}?9wtXR{MR==~o zJ@a_(@#DFo{lO1TCfyC&ANZXa;~@z3)t)n2Z`byns9Z%Ajnz!%@kzjAQquYgA*J<36#XLB&Qkbw)>)Ri54twjyRI! zuI51$mjA)*QlMM|Z7Te6hod=-CMN0e-47NSX)IX)Sem!LT$U1v2q_1gda1v2v|v*I zw8aCn!O;FF;L)xmQ#G+6O6pB3GCQ&IZyj`IvfHy?*M@Voj|VF!Ji3xZ1|bb4G}Ipo z9pboSl}cG+{Wc?SAVC44yErGoGa1x&Tq}x47DLM?L}S4C5a=TazXQD#791rwoVL&I z5C*Wmxp&2}qR{W`*g7GY3TGI$M8}{s`F%dZA3G^9enb(Jrc)wH6v=(^T?|-Msl!G4 z5JCy227s1kg@)iS#fFd+2_h-#iwcnUHkb3m(IwyTCjLev-g*&jQJXitT@Ec&6$MzX zfp?2!2pUrweF&zy{vs1UlK+&T&Ih%LvK~(vn`WpASFpJ{VoblQsDa(8NWaiaqWaM51ers};Ml}>4{~tw_N*>L*BigTy4gHKX&?|t)Mt>7#7Li2(R-g8L%&xV6% zT*{_dvZ_>jw0O7D>28{=tu3k0mhFfa>kC(4B!+k39`!i9FQ&h)d->v#^|nKrAelld>{M4#8KEWOyDvqrU;_6(Sp@4E)>H5^@3Pz{Qa)Tl(JQM_FF`x zH#a7w6%JNrdL-y)7{2@U+E0d+by9R%QK77$EQkRF3Qz8UBL#wB4QxV=Iu@P{zZMf~ zp&MzjL!m)@tu-Q+nOuqNeUK$-n}@)?+);{DWxzAf&LJo|v_5=a5%I`^Kuha#z{UMC z5vK$xUJ4f-F@I`^Y39)VW5Im*`#vSL#N6C9{d0pl?S{b~LX$^A-d_e9#QLZ9EDzcl zKr_M8i-Xi45H>*iqXl9mJOSWcd%j%T(qLbl)n|{b)2-aEQH7b_Eb6b_w5YF1<81+2 z9ZNC#jkcR)Pjr(WweV;lbQeIBFy$8x2;eu*7SANJNt|83eyboAoa#&y({G~;t9lL30t=NTqg6a>I95JBG;Y*_%fkRHJwNJQEn1AQHYWA)UU+tr(Z2JtOdso5jz z?#MoXZ~EX=i`L_^?{Ccm(7f&QA_T=~AJsSbwG@8(G_TDv>&IKOd-8}sc(mg>(WhpW zPLPzQI7c%U*ZaoO#Q{-*9e1iFP7}mMX zH4$I;It5*-saH4ENs3W@FmpyEdrd^u#{e!fF{*7(!!Iwta+jma5A^{1ovtwnvVzEw z?x|=Va>!*Q`A2v`mPcq|+7aO?^lMyRj^ZgjHacSr_^kByUQ&_pQ2aT-%M0=Dh4Nu9c z$9C+MYJP@HAdGitt6&;A5#zA*i?BpY8@vO(B5(Mp+TMh`xbfqD5*5tjrDNr+teoLh z^irg^1#381AZ$SAU~+s~q-YW9scLTOw;bZ=?^($Tp)g*~M+L(eiR!vl7bQ)u(M0DM zrHqJVuQMpS(bzHdW*-^d4ol77A5tEK_(K?*Y$vxf zv$lmROrNUlsZGQ*Knxu8oU1eo*$WyGr7eHJ#h;9k?VbR(6}&Dkp1;Nn zUH(WqAlmk9dK6XhAit7ru56}YJdv5k7<{UtEvF)#ijRaSw(rSO1%>8s5WG5`|L|3j z0EpfpTA&+f1cG3R{6Nl;0X5x>>Lh#@c~6p_Yts3GYx;$G1ii?ZNS${JcXD(=5JGSl z>ohp?XlUJXWXxGU`T1zM<& zKITA{o}yzuuX{j2Gy3?}t6>)JN+Ql}N)r{-xsPpm1`E@@xE#B-E0bq08A012^APSW zQ*40r=@HS4R>3pFvwZPl7Q)=|NTX3yN*cIFvvnueA7%(Uhgn{@#^|!?FV;7nADxEz z)~*)EDV`z*gG|}TSb&nxFye-(Z@WUr^IzJoFMFw6j%UtoiO{1CN!i3VG;+X&NPk?> z(_%&ZQV*H^HtFQ(@42LYf4A(qJMb*FUL;t15pVH@cNrK!vMp zGvEN&7v&KZCSMlI!m-!o7B=^EEScBdF;e(xTCRrtTdXZocAFf0OaffB7LtI~X)@6o zcS0oU6{01Kx+w^5aKyu5i4xiC#l*ROiaI^t93)!Hb>BgUZ`v)If8iK&r_UCU zBzuP1sSyQug8xQ^^z~<*`gbuw6mwsTH4eab*o(5?7@HM^H9-(8<7VIib__!BX-B=m z=~~__q7{>3j3Y@|KV6I&*31gFWHc$Np=$7n5#7bD4Q>_tJYi+NKa%GD2_l#p5QW8w zd5LSWc`Om2%^r3$>VBQnA5GsvFkO{SMGq#!1u~VbHR zyAi%meyrEv`ov}+vZHsWP@YlmjA#bLS=XIp!p?y3*&~N`e!Voi*_m&>zePsN{(;YIQl|%1e}0DC zS;H}icUY!rr=W!wqrUaEY6H*GFVN`5#?WR<4c^%vUmgm=P~3_dkwG5=k9V%J(kF>=i%^Do15avk@a|KvX^h zoM9}1DlWmzU08bvXX89S(ejxlb9tx~*h%zhEpkuI?jCn#iw9Y@AAfW_*d53~gOAXK zB7}fNzFI(bqJoCB5@vdUHy>ofeZoNuNc0{1%I`AH(PM_yNtg>{b4|5n=%(@dxcq~B zDl4brs%SI`ja;0{ouHarkTI7IC^@tl>uXKVN_|(={!zfKoj0~MoLF;)_UZy5Jdz z8-hQgMGde_L=A^VM;^ge`Xl|1r;%yxdZZj`)4I$|?<256<^kC$;<(36{!&~wUtOH% z=ch9BnQ^}$AOa2)8Das?@Y#`EWkuH0CyXeHRLWun%yK?QPhvy_ia6Fk4B#{fzRtVT zE@w8Sm6nDgR5!fjWaQKus6-8v1$;)CgfkfJv%A%Jl;1Vd_}24BRPfa7v+ct#WoB5G z-6TV+vNb_O{O?In)d%cG4SaUX?f0CqIZ6F>gcU)Ob)Ic*XAAFoU=s_cc1x%XFER+8 z8c$TbN5kW~kHFHQ?szX9LXrtT(sZ~>&P)2Cw&4T_;tBV!E7)v&9VrWtB}w-?|GH42 zEOrBoi}617yH(q%V|O^Xlt9UZ zFv?7cViuJJq1c@Hchx0IMYjl2moEh*;W!w5Twb3ktu3FZR8I&S))wk;gX6$ha9H>` z;M*FWMA$)?2&6Yp1WpXau}SSAOfUj`$cDB}#%L=xx}HA7BJx~dVQzuAJ{U6|B3QR< z9|49uvqU?TwR;3hC#U#U-u=L^!GMRM2b+aMV?sdzntgHbnxUTSV$yeS9V2C?iwtB_3U(Z;uc(C20*Z}0x zH)`5n6tJSK6iOs(QM*wYzVAydwEE8n+fmF9g`%)Ky}y3|JByM>#4nQe;_jRqyVl5J{AS&iM-hX-CYkqSUeA^aY>tV=`ZUH) z&PO5(@!(YzX(m9(94E^7?F*R(5kP%AXpwHyxOod8e39Epn#28)F zW7H1Rq0YFlAiuEEyu2-3IGv&APf)1=($biV`Gx%VZ7uZGuHC9}h<2TM@@B+lTWC^P z!q{?fjfCB{C9qUiYm&t|4Q6R3AYQ(L`J0Ckn_GeOv6orHWCBa7Z;N#{wUZN?TZ}xf zQ6sQysU_uVT8OxcNsxU7R16HBYJ*k_yRFDl2e9CkLx?{(M(8ijqqlxlMl4f*g0U_B!$trZ;vv-cA)~v99*A=U!0( zw~VYcv~bw|uEKPk=YIK|5JXiZ2f^@xqT?h6w^|F&d9KJX0c`=1uW@Aom*3zel}i&~ zkbR|!Yiq=}XemTtQdmU_pj2Zec2(=MrzJ14?7`zHYWBzxIB#%e0p6+7`4MP+?O`63 z(Hi2S#9rxwW7=Hz5tOniU`oy*VP)MNSxFjH zRbkC(OB%p?kkm8VEV5G~Gsy<2wK)xDnWN9D1>F}no?8HH0Q7T6hq?5N-Ck!+!@GO$ z>x2QBxjDwQ2gI&;9py!J%|u+aB6&0V`jwbU#7nA_g#HxvFP>joq=O$(i5)<%``;x9 zy%*WeLuA@u0ZZ>L>S-mb4bkNxjLxq>DPm}&!-y9_hyd3u5c;(H{qr|b_6uRd&>rsf zI&#hR@@)oi1Qw5eZ#rA`bYHofy3O~3Q%%t`cg;n+5jbi<=yw##aID=MiQo&(^(W$h zbAiILXPEL2S4vfZeq*>)Z*n)o%WMmbS71f?WKb;NlAI=dSCa^4!m-oE=a(3T!csO$ z)AMi#br%%u*C*>{d}fH(=)}tsEbUT?KzRc%3m}4QfWvpf_LZ(~uZ}$2zr@X~r-g(` zVSyqsd^B*|dRI>-YH?-Gba4+WrzC_Bs$;N7uSh~ng(-r)QKrO7eK2A#2|-eq1PE`Y zrTU_P+NQ4Jmvzijn5r@&kNgP^>%fqyRcG@@QsT$y3v|!xzuB29a}|=?zpA~Dpae_Q z!DjjZE%C!8_+I8-WF(DzG18zZ$Rl$VR)G*!9870gkivaKWroxOazJTIw)GkZIKrJ) zlvz1l@Y$%>ZMA?Al#W*6+^?WJoUhw5rFWbB3yO600d%vb<}`N*-zVu|Uq+e9RuxRl zNL3x)?=U2%S)+C9sM*skSS1_c0n%|JLSQ15o8Nx0Aa#Zc?Qno2hFr0$C*|d-5n=CgYLAcf$I@=q3`ntMd&L z($LT0u>r$Ri7&~deD5S~(y`GpM$qeZBkn;`SkL=~nT+T0iaUei-@ZsS2ShKw%2VwwB#LV-*D$yuM#Om#WpQ#84=FDWqZ11`%FMG=Lrc8 z8@s)iOg7T^+N&%CY45@aOWlswlL^5Qa0!8X6uabVq>UeI#;4!C_cM3$C}c!ICV(e) zuuaxcn+fLK3GtFg@+GXhUQZZ>*WP5QzI$U(z?j%lX*@syYhuHrF2EDi0!dmI!#5P= zo}tZbLr-gs@RA1P=jMW)E5pVcQIxo)vy4mvcxN0K8;{1%>3#PdY!%+Ua(UA~M((L; zV%Iyf{C0Y~b471>2TyeVoK4|0F#0tJK6A^q`E~Db8)rCNn>G`(s=57wE=n_fvZi^s zKTVxr;U{Evjt^7V)cXh}I=nKumcSGYZ()0{Lh=tfCRTO|?_NE&(Z|ql)M_4-53pfL zOjLK=-W{6|a&K-0WF!c4kA8n$lJ!MVKqtel(9Z)W;EDk8OtsL?14k)SEEHmT2MQq!H-fw;WUAhNt@U;O{S21x? zU%1}aai2{yQjGx8l4sS#>)yN8e7mK0ID0!qZg;z~0nB@3xII(x&NFF0WrBcT6 zojD|VI1NFP)*~c)rglT7FuOd{j&BG3kjQ?rg$n~IEj^d|7vz{e?^*9YMocb9bOce5 zSucdA9TL+9M%T#j2nKkH*S;m>beAPm%aJEwqd{huqPRx5n`?Iz_1V zCx#uz=^B<+&t}@sB!WK1a3|^*C`iydcAr>`FsSV=Z5NZ-dYJSW7M> zl7_lnA!(U*{rm3MtCMCPbMG`?&yphidNuB+oaL{gBz3=#7IiEW6C7)5~5#V^GqALm>45OKiU=xc&WzPX24}k4tk>5D_Yy>o70o`7@$A@!0q~**`@@Kx53tf3yh^ zJmb;4@*zVde0BVT<<0ICSqRf?Z^CA$Px`s-e2yg>d+7*$y=-Woe}LZR%Yn`t=xV3Q zB+`wC$dD)e$D%UyVrNxVKpxt}wwYEz@ScM=Sz4^Iqu4ddZZlC zU}sNHHC84_5V_r+aM3=ps6rp7;Q~sKF%)F@yvYBY6X$`x@~{5|z+G5MOk#<+s^cy| zB%%XS21CEucHmTu!;1aTmdYd&MXz5OS>{k1B2*(yGUYc7K@|Ec3sNbrC(gb#3LEB2DSB^;#f{Bo=B@{MM~C9>*+w z{nTGKH5ipm&jk-HG`DBHfPKghzylGZ26QG}gs{L0h+w$#-b*QbCDJY=j^!I)*f#XE z(1aP4Ehf{)bNrT+CtNF&rmr%S%@<$ZD7ep$!x!|08(U4DqkxurIgWXGtPM+Nbh{|X zuVZ@iXX*BUrk2gQE3eMQfYv10Ch9BqvKZ)6nwr{EdL;1YNn|T{o2j2?YuN_{jmGZ%T@@`QdBR zR1l4FicYJ;LVE!|UU|wsF3Qw}51E;Z8`?z5NH7pkXUKB|h(eY^zrERbEYq~SzY;cm zcA!;%cdv_k@#90D2<(Fr{dyA7utegdS+1%S%zJEPee+RxL>NnBj=v&r?d6-?AAuK$ z4e}Q5W|WyCwJfkebG*#9k-}Ewakd(`1(d!De^Guygx)swajGEB{08_tW%u0)+xmGC9xX(w*9L0*DFrr7gL@3Nev@H%yNxHWzJs`i zehiFX(vy(uGrZvQ>UzHupuDcy(x=38bSlxywelTDa4c?SGnFm8E8+v~tMT}APS^Y1 zPr=%m8lW6jV8O{W;5DMtS(y3V)+%QIn0|$XK;MrisYSG+YU=9wFs=jEDzvTi!SCN+ zfBcxSyX%aCg0eaC2GzEfI7tDwB(7-jEbv`M9UY z&$5c}<8KjH=igdBZeI^ho6R*bSREf9Z_d=SWM*crZfvCF<*BQyV;mhF(bCbq%*s*@ z2@zvsGoHuL(|fRe`!;4|M7yl4Y^v4{^X#lJ@vQ0SYv}FXre*?6xDa| zfgkiP_~iIFL(qe|SU%D6baUAIU_Lh?Apv8qYstOZYeT)kb?$2xpOay|BfeS4*?40S zl`dH z8RR0(O0G4Bt_#pg5#-|lo1zVXy9ke!mFw5l4qeXG&Gi+g60S^*aoRbGUUDQl8b+PX zY@c}U#R5+k$8Xg9sj;~6v?_=*L(+ByrAPa^Mst&~EI!qQX(*y){xGUe3snCvYzkO|^1D$G%uS#HwUfpfmCACnN0y|>m-5d0}cLp&3eqxHpft(_Gok@Q6M z&BejSTDqC-(Q>!*Yy;b7Wq&m0^W}&gq^@>(-A3l{@Zkn(p6vq8S7#Kjysjf`bjOg~ zY$`^#GK9S7OY%d7ap_eH6q3ku=RxHLRqOXR2OGJ5^T;zi2^~cn44yLqA=W17W@1{~T+7@b#qfa5UlSR1x%;@~4Y z`)b9(ACDRhSz8Y~QALkF99&zxJ@PBd^<{)_ zm+oq6lKCQ`xBmQY^WU2`@@BWtO-)R`9WHel)!Az)<_8^Tew(^7LQqah&5z@t>P&#b zdEzu3tn--$ZKQ`&urTC*-ySbFYW3$DeXE9gL*E3uzabX&=WOvskZ43aX7=6XZw znaqn#P)seUhgVwXIdKM0B*M#Mn8YNnA|W9IlC<}yGc1R#1eUmeI)g9xdaW~=StRMo zjk(a2XZK`*WN71lT>xsa_Vtzb!F<~&Nn>T@bB~pt8lRns7ZS6ms$wfN#^**_&Gd2L zXSyqHT$1WI7jvyKv-j6Nl5P^#U$EwbPt@jv4#avAh;gyiJa^tVK0Gm}nT;-)3OlOB zhgEH@<m&nu)Wn}a~9 zCSgR7bv-RlHo-CzqJU$hI#4O8gSIx#LE8nnU5(TX~`>a_4Z_NqwQiIHG8l&(27jv zczKJbiDj%_DHP(~TVCX?v2jP(z;zJU5zt2-dTH_SjEs)blnIfC-5$MYxl8(NqJqi& zK>;YnfG61|b`F97r+#e4Yj0-0-WXpbL#?~YI}f1cQ+s_V%$Y$6g5BMhh2Aa=BTKNI zuZ)|*4n*r;8KqaEe5t)Y-Rc^7qr$|<2+ocP*?N=SNqu?P`#Jk;cUCa_d$RSIXZETH zroj(pSBoDWT)wa8N#$0Tj#Jm6u0dS0jppzVW!5(ve*LBH?9I%viaSxuPW@aR|&FNS7 zL~2(LNjb^LAFs93XusZOVI@$R;&oP2Lq|YB_-I;Ly?co)!(&vl&nsvx;mJi`cyefO zV$Gf%|3qfq+zs&6Oe2FcygQySB{><#qrb3>d9KCJ?qI&n;$r%Pw%YCw!R*vq&{!Kk z=jSQw<1)s%lklrEfv8Q4$Jy8}ZKupIlibgc)^!(eC${IY>#GCW-7r;FFf~UvttWDlg5P}WukquSEa`Z{LYIQ_(cjghI!_zTl$IRQ z5tmwEeYZ18lj)MZ4(UJZ8h=w(ghyNLc1IQ0(-!i5kcpAeeDtlFMPpKv!zeu>COIiK ze0^~LJG|$c5zUj#M}Vc%V@CBAn5#*b&xMQd`psjnem>FL!!GPu@>j23t*)&_-)*!8 zOZnZOebp75O4vT^Ni*nAry6R8Mz>nHnLGI)eM3F8TXZ-Akcxz1PHe*pO%SCbkjJmP zEG6R9k?7$C7GUFC5?z)x)y~r&s?jV_(pR4DEk!I;3}4gFL$DD2bs5!dyKZdYxb6k! z{jFq4!XOK<`wQ$NA&Rj2)O1)4^0AI3$Ie?08FTG?w0n0Kn0X*vB@U*f`4oA=IBc_! zIQV?}-OT)l(VIDm(gHkM&E~gRJ1Hm5*CC$IA_5`{xYEN&6yp zkc#(RUqCtrp2*pB7YmExorfjD^Y!Wr9dDOct-n+tkKLqy_wF5)h=@p$_{qK=&lVRw zl8=U$b3X%qDju%C-Z4_Uyqu3FbN)WSRR;A5Atof>l)Pdbwh$%&{*E}7pM$LT$$E9Z z_qiDE{HTTmSy~T;`BG;zwt!pJWtY4t(tF0o%e3SLJO=3UWVGEL)A;2{)0Z5E)s)ML z5*=QHVuT*~0qX%Q1^tQ1#DpeC02Jd6zjP4!MZSlkH4~L4YR&v1T>@@UG2Rpr{crtE{K2cQDIQ$7TT79%W0^fU@&^RB+Qh{_IhtEPCxcnq!Hjs0R&!7&A8?P7xr{6Si@6n^Iq&@rH zWIB~EU%otx^Nl^ds#_Fra@U*H{9xtGB3aS_$C5J0W^p=HkkD;OiM&YR=57VXOc|IsnZhHU+8{}E=8WcO-ndGSGy^BF7p$?pHzf+>ydBPIeNqYp0 zLP!-Ysn9awRD#>+N)%gN|(2eVMU{f!PT$ZEx=neaQA9M7<;+ zI&uR6JbO3czPCpRmOfm_D9lv&aiait+MC7@*a3n25qh&{A+g!$GD~oTd$BFy3gJ&D zMMdi~!AZ5IF(k_g>YA}?9{(JR+jP`JQd|~5J$?rZ$urgMv4hQ`%PH09#h8?Iz>%zM z_}G2Ts4x$J(+-Bp0_q}FDKj4~fTgTZiIxjYdmB|JWB;Av$j}8?H=!BY&C&i@;JeDo z=a&I3_d9`Uw|1DTba8}~n?T9v3fVmWLlWQg+1vKSBF5VbC@isg{ar;xLfnDJ{#m|E zEiPR@sZNQr?o%W*VR95#R!KvQTX#Hw8=}>j#Ots}3oOekciFxZB&YY95d0XjjzN z*VpCKFfk!PM@QE>di)im&V4Y~Oj2IjIrqabQ}y824&vw>L4L+2(zx&<_qxWV^KdkA zOvw%dnBU`ZLL9YH7YVhyQUDQpYg=n)RZw=n?fvy6RQ|JJ$7X1COdEW2Oc$;oLfIKPE_PI^3D?}b||(_q&2 zF%ZSijI8dG4c8)rjPnPmWABsU9pM^-`%DD6W=PaHR0}E5rS+sH47fNSbU-I0Bt(ta zJnqA7(p-kuC9*x)k7MHI;n22Srp ze{(fPvXybp{czL`Ovruw{Ui3{h&2Ro%V*A|iLTnnnrrCU2k{rKQuSno+mEv{?-qCu zyVsw$9CLGXe>|UYqOr|kU|>i|O~vCoIsev=UJ+VOio%M6isin7n4xxiAKu^VosUEj z%*pCx0a9g<%e-(n`hX&Cri&6?gKt(WENaewSmG3+PeX~Z$pl>7AYOGUfFx%*FE5`c z7qp*k7{Hicm@nUHlpkJmO&zqJs3*u9rySKX~;kCz_H1$#&!YBy!H5k()6S&TVwiuQxv-<3V*n4iVG zs(Iz1<8mSy5i7!eK$0*^A&x^t$i5(83WD@aa>Dt*cJQKi*tZebp3}@mgW&hMS@J8k zJ_0@-e`Vn!qINnkDjAh~Ov~R9iRu^82ceb&0zX_EG=CmGJ)_DKiW!IfX!0T!_O>4r zm^@tSDn1UHyZfTA`HXEaOFcY`V4ZDKT`N@6b2t-H9ZQ6np4Y}tR1V|OV57CNCm5?E zYdZ8O%RDn1*IF1m`f{l_a|06}W(4GgS#dP%oxQM?7M$pYqQrXKF4T$~UN&9p;L$Oc z-PS*~|LS-dGJp3vA|zj5$~PfkqJsU4`f4+3gf@E{Q3fM$@oA16Rs<~6&x7O8|2fg? zVn&G6;K-nG`?XoMxzy)zn7C@yleQw)ff?f;tshI#v{%*?7i*H8J8P?A70jmgF4$a~ zx9B}RJuQox-l}He)GzE&p!!MYP`y0{mc{|qTucL>Xs{kh#fEdjhsXl#SK*Q24Avq? zh(+lrm`#L=%nVE5vm^1HoJ4|QELE-CmPq~|Cz%h^OP;Vr>odeL#Q@WRi3ZWCs8vus zb(h>OXk+&D_s4#7_&jQ9uU>U;4i^_6w}{;>aL@Sie@?SggWD!GyngL*wNzKXK*pt)-Mu8|u~pR_m_;{v zGFZ`~bFb#XCgHxfD59XWU%whvp+cB2;;Z@4zUzrE7BYOCNUtZJx}NuWgdY0j2&lRjhv?!E&;8?vX1>`Y9B zK^Oa4LLO$peoz85#umVR+u4WZsoLhOL4k=YpZKUKQ0PU=LbvH?f3^Te84fTczxT-x z^!LxFgmFp%dMWOg=x`5kiKdcsL!bZOhPaPjf>_*?O@>Fw~B!9lx$93ic% zx%S();Vvv8dG&_OIICJxRV#j{Pe~JTV>0BbB0U1J&V_ENM4Xr z)w)qUpPcD+RNLhCdrERv` zSgDp4iP_0=_L~2N2^Cj^sFPzn2{)^0fVvW=s~hm1pd4tA5)oV%bo>G)iO z`{?XBeb#ebibZga_lS}f&&LBO?7lRo&Mhn$3!}d1bDsm`9J-}DL}J)l(RpBE8ge$y zwU98Jb+c%$N5W#DE3I$pjO>&P`;4FA^kIrb<&n#<@ ziq;QpEi>>&`S_#auFMK(zB^Tu(Z62$Xm;56?OB^fxui14Pf{#Q|JX?Ht3wBMvpXnK|?x3|E;+ z%!k45s;@-p=;(rv`xpSPOG6vmcE4SIK8t+a4mZgv;9Q`z#ou8xZ^dV~H#OWYGrUiN_UhGPq+K!SR(IED z5{&TolhA8}7p{HB%%zPotZ!$1n}uMf1*xI@aAC3daGc?kA7O(+Z&(E9_E0tXwuM_K zr=ekC+S=Mhfx!zQ7jwB!pm*0hRU6ZG`FH0Bem^{(E?iuDhp=s~3NC6XaUGAZ2Qrt< z-ZlqMR2YrKKq;T=R~Sm!+S-2*~jX9cbcqyp@$8f^v67y zsb^|i5uwzj_@IbDQ2l|?sl2=F*0OL7pwXW3eC+VCNx0VR0Sam3>u-WO0y&4Tgnb1|}6SQ0)QU?y)r z4xhz;`(4TAD8r>5OI7Q!a)aAK=x4>_h1+$3(7B6m{bwIBrX-KyZjVVM^{zTK;5dD@ zbsf5VU%YzNU0&7x)v2nD;M7{mYh%FXWWC?itDnOzi%i&?5gySych5{qAwih3(AkM4fR2!r{y8=Bd?#z`1-!`Q3agt&t)5~B&)Dn%r>|@ zd?W)`6)<1#WKapc4{UIm?XgM{llS#K$A%reR!X`3$~if;Yk4wYtH@1Fx|C}>A>%?q z((Z7$bKRH1phDvd5%OBE4m@+554m`}KA5ket*tG&pPiHQoi5$9^Wi&*I(uw7y1j3v zep_$SeJ_oi_{XGNOq}Uw%DjeLWC@>3urtmAXhdX2qmmoL??LXU=I&5k{!n4m-MsSv zz)1htzB9Go!xyyYH`Tre^J+=tVwTry^*%fL^8p)VX&hz)CHbLo{kBdQ_5X*4s|>2M z=eEx|xDfs6^9{kFO_JPIW!+rWgynVs1 z6`9+CMpyoJ(vFU{wyf^%4|Z~5ze-9>M>BYs4I843TfHuC=1nwpb;FlWWz=zI-e=i0 z=rQBq;ct%%9`Fx3vk6@o%I4YXAuv zLVbOGT|Du>F^b5Tri z)S@GruSAiiia?Ph7}$s!y~#SN4d#Q>{oNx=J}klPSZo#k{GR#K)phVq?1FHk|I9-k-F2c@-k80Xc5w}UeE5=Bz~1_q9ju&PA~=?J{ovK34HRJDcGj8UuzMb; zVPOgCoChwG{q{N$g#TKPym7^DVeZWC>_Qca3znn-{=!l|t&hkz8+g~v!xaH&F5z(E z&dwEWG~GauPL`7wIzs944*kY>D*)ZJTJM^R?d10q{Csmn<3s@Wr@x=e=VAlRShHcg zufshv1)T!#S0k6FEiIhDWmnVFd7(1kiC$;;o~3u7X}eWCyYR(^5LK|MrKF_6`#@h` zU;iov5$5sccwd*N4@SG(07SnjE3UV!`oFsX4(~|U;1RUzZ_!K)w6v%VE!3rC9R!+0 z7_D&2tC`A{h1KGrKR6b@ba-%JaE4$rf?SRBTzs~gNVXI;phrhg6xF!X`0S;ySm_FQ zswEwMuY|bOjBhnd?qlL)*Cu#1`v7)A? z?VbbE`j=KjwN0UDL81&}Zr;`pQ|KS=x5nMZYF^6o4$N!k!oYgjN`#3qg9NTz_TUd1 zAGvVAP=Fet?i82b*NAsPu*sd{n15#D;G#NN-0B!BmNW>=i9RcYfe#&TxAx>-H1cUD z4GK~G7=6&4%U}GGT)v^LZa#}Sb3omyiu@iPu2=GT*%lKpM!I-?`?k$FaFhxkGlmvu z_%)*?_T0O#zkisRO6h`*tZ?uMTudy@Mzw)(fO{k)81Db9ab!(-b?;UWy;aj*hUYED zGsKN*YL9oco;rZIEaJn66iNfIZF={AvE3;aqmTZ2-Y?J1ee&<*5)jZ|!!Y|`Zf+i4 z`OCpoJc?Kfcn;meOEsCdvb2=j?!9j-EvuGHWU_{XAm^1Tk>TQSWGNwH-F#I5U_Eb!C$Tq@Hvj}t_?jJ~qpL0&t5Fw%BYs_4uBL`;b6C1h5H4Pox^AP|d`E!J@ zOG8WD2lXw`eFR`z^SBSX=(l2)!dKS8kKy$`aRvbkM$~^5%(^d)gWc{tsEh$>!0k)h z=E7!rS`=0n+kDXn4+Ik*BqXF7IE+m_Cudim4<^ro;E5-O$UiU`PTP6gOnTwdinX(Z z(`3NxDO~OMZ3H-f#WDhZfhjm~4iFlU#mP%NBC{?qf|eH84o2g9r>v5GimBw}<0s;*!?LjjT%mP>=JcezDTLn+Y zrN)7Mw6iK=^}nQ~;ALcH?!LpMO;aMBPqbr@DaV6o!JsbKPv%BPf4FzQ*pTR~`0e2S z=N1nTkIFQAnF{`nPJxDaMEKYAZp9N!0HkFT_HTgfCJt=g*(b-+pgpdks3M|2N9d^3 z5phyB&89 zhKn#D+e0&SBdu$ye{V(wP^HA`u)qw+@kq2`3fCZDAR4jad$k%9QAOI?+Q!RV;5Xt= zji8bfB!!COOO*oO=%9WC7Gc)5he0o&c1t&IdSFaz7cJw%kzQx4Tv^7q>6?>S@c5LbGDNoq^hO|^KQ^uefe(>bVv8&(ElrT&$IEgK`-?I(si(;< z=EV*N{b#N&b5n773#g@STv0G?OTwSW8))VZbnAN zkIRB@M@RN=AAfU}b33v=-pKV~-Cqqbz;a-)r-4oJK&Ynt6{^U;q$5nP+1!vy8@4WG zfp31y{w0-_=NCNsgw_IJAK2$n7z)3>Noi^6uiV|$rrwG1*s5PMCKz4dG=Uw2 zE9;QQpAwPsC`}jruYOwhLAPT<3KfN8cezI-Kk4ietdnXj6&rT5JYp9Ji0Mvx|J>A+ zk)Ifvn&Gcuku5T#FqeISi}r=LaD_@Ve0S1!Pb#yGnX=_B9IW_4gDFY!Ag z{dD&%x_?0Ol+~=gI;-8-ar4^*(Wm4$>q-G9FE1^2o7S8@=9o>nvV=hCLbM*h7zKlX zhI3=&RIl6Z0Lre#Tvo14gVTH{Q*?Xf?Q{73|w33UdSqAeNX~rNOBay%_}Ud zXC5e-XaOP2-+H_3?Cjz$E-qc;3~<_JYy?!m6`oA*cSWa0U<6@|i4UX}HOd3T8W|*d z16f%r!hw_V z>;X8_C$rCtu#ob-pg6;7bBP~52vD)pH^FlZ9g1GT0mQK^9pwCGN^xTg3KJCZs&~y? z6(qN(%epfjvzTmV@>Mq`KUna_knwR1p3tPSmVRer0r-oH3pHP7M{M6od`4Jql%5&rB z>@210H%5cgvQ8b4XW$RKO7;C&B{1DwVWcx~@hDI)hJ}I@G9lqa7Ese+BfVpFlx(^I%`(3sP3 z=Jp@pg4R|!Af~ZIHgV9h%Up?GLBk6Fco zSfP}jHuv!GNVPE=>iL+{U;^Q}q(WXe&m##Bm~#7;7i(I8IJ=&|!usiQ<1j&rKqj9H zD`Pt^w7c0%eJ-dYOWbfI6W6Q2S9Szh1reg}#fyj9l)j1;n)D6~o!YpovG+CZiu3aF z8bTEtaa^kVmDh<5x5Aum2qzx_`26P62~fWL)z|2}%4ngt=eSUne_(?@9w)8>3(ft` zn|2-zxc;DpV1qZbgorbzi3*B%U>Pi?ob2AE(e{(+Hvt$P`-sW2yy~&LWbU`xV$~OmPt+lfN_Vjr?+Kt9`T5%p;!?}M}GPi(*o}^Qj zTuYAqO!Z;z=NPuXz)6E?U(nO65)Y3B2;PwAh&K$6=<&52J z(Jh+(ck+@J5eo83``N%wEd@Li>PH2 z&tu2PM1A%;47N|(#CCfT<6thiecR7^vy1O9X)s_^|6n@Szi7Y z662?!IjUS=lpPZ@dsNK=jG(Pq65VS zCLQ!mek}M~++0c?c6qMeROXG8U&Ckd5r<(un{(mmEVmCZ>n*J>@wo)#~F8fd`CbEtQm+7(ekpBJ?qo!BZ`)^$6saOWybOtg|^ zHZRHpqi)a4WRz-ZaxByjm;F!?aOQMy~tNzhGMYZ(}-k5bwT zx?uTwBlQjoVNBAC&$ba=JTW_FR>v=W5d%^-3WnBE>})60+6-BitEmY71g$u8sCQsT zFc+7Vrn+Gu>lt$8(NI%DTo{1J--3RK_ovPi&Y-H5u|DhiP(-P=2D;1%;E+T&iw2yh zA>ed_ItcjCNAIV#7Q|Yi{I+5amE0P^&J<^;g9X|I!gzkc8lF=Cj`iRL79h5(j|3Qv z0e$nirt@kg9ILu-l8MzbdXL@EZR>zmV=m1SJxsbQ6uB9V6hp}>Tqq4M$?xfw%}L#| zS3Y2GPxbMG#Bw6&0Wd^)x4;7EEId-VAbPr>j)>$()T%ls$Qx4nh(uni*bjx%M?_prL<0;k zL_Np*U=m2glU&Qbgl{)9&gGd-r&lYHmMs|JGeXdU^kUZDsSBO29?>F_ud-U^|*bE5=(0@ z@kS7Il1l+s3lFTky|BDmYa_VmA5FKVzB5v7oNi1Irg4`LMzJM~ryz;*vPsml6n3$v z#|Tb>?o9W|bgoO*(l1TljwKiM-)qO7Fbq4srZqI+RvWsR3p`Vi4{sQ&^_0(l!_C8L z+I!ZK8$>B}eW=(FPeO4q?i2G@s{n`c=^NrV?DiJe9yj)bg<0*hFoA~8$4d-=<6A?1 zo={Nk*3KXT+#w118&o5`$!d&)=_t+H9tAZbqNb!izSfj|Fg3`P$U71dzz1d5s`6M#CSJTQ``DU!7l!9TCqYkvFp$IQCVi28k{-P9!|S3_7$D} zXdQjP-y%yjG^+_=R_htT1k?eYP7xtENVzu9L&-R!s?tC8VA@@f^?6<|lkxDLKJ~FHn zF5iLKP{gWTsy-EvsRM=^{RSn@U;ae6i%}KPpE5TzU8fmoHyqBii&POan_x8cQSPa1b1q`&2-j3U9}|NQ|-(h5#fjd%o-dNz>$0lt<2_Wc*8rlDX8l!{=x3gl)r)n8ToR_0OVR zy#I0)SI(y1qG_0bBx=xq3@2et4Wgr!*-#+m<{t`xe`3`9nfk#MD^T^I;5MzY^zbfR zX6iu$x`jaTucH_^fSqU3XDnh)=w!v=bme3J>2u0r77gY}^c@Bzy%%5=}MTBtzw1A@!(J}+z*k145Yg|;C6>+qNFyJ>LH z2F?&KWC*2DXTF{NfL#RmpPWN-K+`w6cU$uPu;TKMzzGd`fho#mC0-i7~1w*^{A|U}GcK<&# zdBVsV0%0;F*PsRcQZN9W+vyJoIeeB)@`V1w`fJ-uqI!$6|1 zUzMq|nJ(!OgV}GwbsD#X-r6!O#+)SYsC$P52>n^%!$^f*Y^nveD^|g#QRNzR&aPEr zgIfZdJx_%?Pri;$Y^s&#sYtAdA9^qEOx8v+qHGF6*He4-PHp-{71@C@E&yew@a1tRXC=JAt2lNn$QYspR~Nu7XWxFhLua zN!{m+h{0;#ZQtDq`vcv9NUf}1ajp#P$}N70Dxb_+ExxRRDZ)k>zM%i5mN2XVp#)R# z52yyNf(jY5#J4J#yJ>`Ted?>~e1)i1`x;vWf?3&vug|!pfmS4BlYBd)@?mR@~PZ;X8>f=p|J< zEz|+Fln|h5_O-fGNTP-hNy4og8&<+K;q7h$bPy53FM_WERX#V33>h;9c`mQ!VS`Ou zvtw@1i>?C!%H~w8f3agB@^h8PA@C9K^fG|w&CdbC*wx&HGt2W(;2!4T33+*8nh>EA z@t-e?A6}+KHoT(9#q)h|NR8c!4dS-M1%>Hg#amb3oh@L)rE0<9z)H9p0cD3@@_$Id z-~_`bMXhGXB0!2RR(@18?oi^K!u(A zXhH9j&}4}wc*EBek2e_(eql;<3`v*t=Ym!_rH#4}Q&fyO9cbLt;bF5BCtUF_Ttd_imd(nxU>JszJ1b zh;3GTt)SKAM&^PE{U@Gg76oGXy}K@Jf=;YxA%E@PC4Bg%v)K2R*FpQIpn+lyuWtlj z$%W8=0}D3ZA(f{DU#n4lR^pjzTRq>!a6L=`W>L2{JS;6|RRG3Ngpj{%{JJI1h zbsw)5p5wILC_8UIi}Nzi*u^V97oK*HT)MK1 z;d1T+CakO4q-jD?jeQs!+J?emo#hkWN0Lb72#a%h(}F^SH!Q*!#A$OK4W zAX7M7=@UA#Dgc1+^$-Tic=}fu`2)sqMmEXTzU$4Su?xduA}`LWwOhhkyC+-UpCuz{ zBW36lT9)Q9P07j9w1^)z&(XMsja*o2+h(OjI?s|N(k|Mu)`H{1v$Nea?E0Cf5r))( zvaY=hfX$f zD3Ik0;T4~`B0qNom?VWf6{wviclrMY$y_hRa`eZ>sRa7d!9mGdiBAqyt6y$7N^X;L z6;PYf#9B*B`U`c4U=*n#6o_!xjWr|Jb5lDE&o34P88JdKlqcW6_}9LypNHjhS2}zA z0Z)M1G%CPQ%<0}JLm3J+Yx|k0jT`n#7OgCRz4iw)Or!f?BsOe*m9mkcRx1qi-&x$7 z=dgL1t6AqCM8_srSL~lDx*CkPRc!8UtIrZ_lbcU&v zFNTglFa?f>1{~hwQPgKIzbAf6kzy+d8Z%85adYfhhgGs%GS77H3znt~>zsF>wQ57Al6VjqKXI z@Z4fi{6>N%2&jAo?sZ#q_n<%yWH@$+dl?r*++wH{I0l*Y@WK>V6G zN&7B`ovZz;A?4jCnuDWgNx3z#pnRYPp3Q~Ot28`x+N8@4R7H%?Mlj#Oi74UXyDDGA z@;oY`!_3M`=KV)$+j|g<1Do%P>ZHDVg`16T`jkT-8o(L|aA8hVA#nJ#n;Ot}yAg9M#7P>jf%;roI*1~xOqXsdnao4}ZgG5`& zDX2(bL{gP26Rl7NS9GJRwBAZnT0srG%p>_xJ z1wPk(dV|3T@VuctJXB7Zum7DW)%N$4XdJ)9Bdk(85*PqA%**@x4kL;P_2o50SAbAa zj-E*xYnnny+MD^w2H_|WKVaH&i|+m$)bx>=a-1u0;eX!@yix=HZFRGgPj61iQ~=Om zUP}(KvnLB^Kri)wOSZ3^!Ow#?a*h=%kUb6KyPF`5a9^nL4wF2b+%w%HyF-O?AaQkALm*TuXEnGz4*D zT-Ds}QWkrv;oVylApwxng%bqe;#kb{%bXQ9d8P6@GJKn?1+AHD<3%@lcxuEC>Uw(j z$>B#-6`;p34UF*u;b~nEeJZ%z_j&PSaf@91c%Gpfc*9VI`|;kRedks>zf?)37kMBf zOD7Z#$a^m&Gc*)|i18nqOD1o1JjmvEW@=Pd)opLpg^)$e?ZHp6D{tPwi{`_ppG#oV zR&wZtZ3>TrUp}RtsJCXJe(Xo>@v`)z``sfZS3okm*Le_cj~Z2`snOHc9T#W`=QZy0j6DWxa%rS5`bV zEEa6OIQK@Ev>Gle&}X5qp^suTJq^wSj9AH@E#fqdE$PsPa2WuAtQ#Z-L74v=za{|B zv#VaA;Q&3|ThYvj`W)zDjnjw&hXI>Uzy#>1ylI@^DGU& zj0kb>MTU@XLwUrhtS;_r10HN4?#=LWmI8O7eOs{NUTJAG|IP4N^U{*E6k5^j0Kgh{ zp~WrjHXxST@)!u@m^HC0^^OnO(S%tZ8z)~t|M`_MbxC|T2jA$6G>(TD9E==pLn3}gHEg*ml0=D26@E$ zf-?a8oJEb9>!+GR>D6tdURB~Im0PgHS@K)z_3rt?i0l~0%mGCxCr`!ej9pIp|W zbmGeFxn%_;I(cTUi~3wqpZ#S&L+W^`Nz^bx3()F%*@aW!&bddVmI(4*z6Lfl#Qody zFNQYn4ZJC-Xz>a{ST_@(za+O0u4zwi zv}ndKo@7cF2a*VR0$OBlzhM~mvZl1OzCuOckByB`@Kit+09Xkh#kQf|rgU0eDI93l z9EMUNU-VTg<@a5`yOU3)QOp-zhpYe=e-aMjhN0N%yQL4lLr_9?n=k!6;T0xoGuLdz zXj|$EMj$u|AI0aPo^Rh-j}`^W^RK>@W&9l`uzgp(dr0m8gq4S$a*a8%xa-y z>WXK9;3V#cW8O)t82-hl1cb?YpBvbJ6ieViKZ{j6y?-8R9tzUmAeRPqI3Se8Wq?>m zWyt;Ud$oPG2j60lhW_hgn6$LWoBtNDtwWT{4}%Kvub9}$7qXL+F=U@Ko z8km6JK);k=x9(dZDLi(G+~IoMafI;l+Y^jp)aTblAG)vx*C?Sp3dFZ}omUfyQMlR& zrn6TDh<;tArXW*0TcqoQ7gA48x~wA_l;;nyP?Ia*pHc2;eGeL+@)?XCKbEn=iO8#T zTJkcb&f-=4sCn-=j;eN?5-%=+L5qe5k!?O0iNU>jj_jS?a4%%?dD9K#`{D7Nd)|4r za~On3PbeFyfd!cKN!UQy{9O>JYv@h>VXOo3NQed=Zx!SO(XK_v%6|eRFs^*msLPn2 zYI==DDvdN?7LhyN8o5W1uZPH67OLC^2B+U*Xg;km=Z`1Qn9xjMGC`RPWqb}VS#4QD z;>C+hg?m4xj&_|hJ<}~EoLQK7B@tDF5rY9(qmPf#{Hu%I(-l(PWIC+BzUoz&_scfp zZn$6lMSmCy$}albuE-)e_D;nB)Dd(p>e@U^MXeTRiAb(KUN4=51g}SYPEjIk4u=8z zrD}Ni^@KnNQ#RNlw&Xpx5b7`FdcZc1Wu$_x)#qX`MCE1*w4!Zq(mn$V6{R>!!rkbQ zMT@s5XNii3J`2wJZ!A4Xi@cg2QIIaGQ#p6)fnd!tEbKJq*fU#k88DbMI3C!JZXZH#3{Ux`U4E>|6;Bag3OR6P22Zu`4pT?8 z8jRS@O`9i-N`&-r92M{8dGNQ5S~U+)7dD4seC*e}FVSCiO$trXAo-(#1B?T)#=NUH zxvgf*a9vZCSaL%ULbJ1`W_}wee&VXsqwInfmfMm#h(u;&R24< zK&}VR*l2<AV^pbPa9khj~XK6 zVyNLs9QVg-TbIlTF__(WLcD%>yunkmnWBm*KA!b)3+YFn!8fk?GOZI{}^K z#t{GJCzv8Z)S@;zqun348%$y=NTM!>;jk+FFctiMw8f)s%oORcY-U<}o-NpFDdwsrZ`}~=Ig_t{|xUvsn3;93mMazd+EGtmFQXbUz==ihPf9j62&WG19c3H!|=fj_bdz5fhRrXQH4I$6&>}=jw>)ec2X5Y-wwv5s9bJ!okb<>>ZDP0#D;=8|LANOW2(aDW;Jh=>~U)s`6 zeokWJg^Np+P=JRdXNIb18yXLI_v*s<52Nu2l(a{h=o^DefuN^fsS$moEDl+4XY{FV z48<$#_*v?6 z?h{wLc|^6m@F}U3(T&`5J#|m6_tudJ1(llTXoJ!a3N0XTm(t!^4||>Km)Gl2hHw0@ z_)(LP(yI@1JAH93t}Tts7lZCZIqt(~$0fKMu|c14g`JZc|0M3x!xb`!UN*{V7#jP_ ztuOrvY$!soy^wPTB6K{=J{iY5&Tfg;O>MbCkvq22fP zR?U8YwcT6pMGly9^?FOWmL?<_=*5j*0{@);MBY^Zx5ygC6$Nxi)wsrIH>IkE*V3t8E!y9FnW~phX#1+;3Rf9E2 zar4&a5&_1?|D&1$Y&T^mGPl#3eIV~6k!pWbCuMp0EoajMkuWBkpuy{5Q1U!nZE4f< zNw}|%Q{{B=+Y*2tmwS_=J?f7`IG3&iaC-Y}@e7 z6^Ae2s;D6IGj~H~VF=5}^(==iwQB@w+AV!il~R-uuOe$QZMJ-Ynoj`8A0$>k8lyEk zudzBI-qesG7eKnXMAXeQ8+vSy7%EABW1_v2q-eH>$~j2gtd!zOCGT$;t;O7TzrjA) zMVT;3P#6I7N49^!ic?ST{zW4AJEQPNmtE~2wRYE)9texsggG;N=og#Bc$?|EA!~d( zuX{n7JO*YjF|noE8Q zn2_kdf4OEp#aDNLT9&-0r#r%>I3sm^kwSa!B_)y+BMl`xwoF3kM&{w?tGT$ie`V(# zKMbdT`itu6QrhMXuUKgC!7`kSoBV;e&pbBlr5~UdwLM1edp*LBj_W^`9`$7&iy|%93`C(4g4aW+K(|JYato{-RRMQ6o@irM#M)HkXILAWpami55Z!18Ek(mv$f{LAh$gDwL2r} z2NhDj=g2>0SW34C-&O`68b!A~T~47-5PWHXgzO0NPDLM-!uqYsV|X^6d$QW-FgB$~ z-Q&Gyr{JHH#6YoMKTB5wMVCG2q-3hO6{N(av;Nl4{n$cExO98&pl}+-t39}%Wft5d zux8W$)>tI))*nG_O(n3oqHEA(#45arA$3Jl?GXUu>A2Q+yU$y7+#7@H<-O_V7cn!x zdF#Wt#yD{l<9atBlcVUVQktzeo-^2^YJ&DuxGQ3vBEtj6fd%g*`x*waK_UDUKd$0u zBrs0tonHBc+jTUQqCte&)rVU#yNLfV5{})V+l)h@OD`-VdDPNxyUeftz7-nHd&ps) zg_)x$lbJxCH^LXlWy3DYt;C5}RMDKi&DI`&?cAB};nMnr20usA*pSJ&hgwK5j4;N` zy5=DsbUnsfObTj`e7|1eut|N@Gf^SMGIX)zta2{PXrk>G`EntOq`xy7;3z^cqpG19y zCw{)z#N+`9r{m5Pf}&DCKEr=0bsa>`1g8p6?sk%C`vorJ6QunwY= z8!D%T%nVATZ-gJNv$KMtwtv2%<)QNzVeyVD=wbgt0!?g4ArLo4yB>$96mrt;c-jro z!cn8noY<$#KQ`^>!z9`}+gN`q`T}q5TN-g(_6@=rf2F{nQO#fYJ|MJbmc)DTtC4&E zX;#2;%!u$Sfj=w$Vm{`G9?3K}Q}4+4pf{Tuf^Bsp1I?g6oH|*4g2S;wM3sC{XopG| zg5QPjvyXpATaW}{?m|YJ_KHx$*VFVa`Nq46pe%`(6Ib8dSC*IzLMoxOojRuZcsT*l zMuY*nA52gFgJ(lNC{;*JG0(}6Q(aKDh`hBg&Tlqj2ob~PZy@zUuLrYeYqDes9LRGm1&n7oor7&fb36+Pu%4;JroK z;!3Vl1}-0(f|)*^40o7H(XVu&%p&}pp6_&I2w~FW6(Z4bsGI1pZhpd6bg<0aEIEw4 zMSjgL{!c%aTW>OapJ(4b#+*f`oM%nsJv-YXx(&Zmz3xuIEcSCmm;=zY2b%NEZQq-O zFMj_GRO-5I6#cdpC?H!UWLo_VC>C04bIgb;3?HqVWhD9yl9D=ZT5zeD4=5!}Cone6 z@VBF+FwDBChd_waqAC4in5P)oYF5IgEst@n;t83 zy;~a5uDoAmwTH0WbSK>7K4llaKFdDZGUhxDv2pc#ssNR5qG8!bF8c@LdkdjI#lkh=03qPRkR`I_Dg!1VsHtV z{mK|S^rY)({jOB7jdX;^VmeE+&tbD@F5~xjur?h##roVOJ{SeWxohsDUG#j{UC1TQ z^z<`%y#H?Gx$OS;i=MB`t4ArpB2S;ZZbg^-TDTd|1UjfpqS>mbqIu)m=;7Z%nOMyH zAKJGz3zw&+AF|Dw)mzxPJl^$XFdNUyI!y1N(xRg>HZA%4Z%9u=?k@IT^bLA~ z3N`=cRFv!^RnvlJ7?TYF$eCv#IvcnT&Uo3k<;AWy3JQOzHS8ec>so!ngM~@)%95JNI58 ze2b~-WYd{iD&Yp@eG!3Pszg9!=WgAnn^{KqKf|NiC}@f>Q8*PGy%_lz!FaE(iXPH7 z79sHSE+~`>iEHdj!76dErba0-_714A)#9^l9;vPm>U*!K%ti~=w7(Gin#rv>LULh& zt(zmT*!B@7+spbyB%AGp^{blyiPxo%lNp?^Ca({}%pH@%{!~-={B*(80K2>PRGz5k zZb1BK+UBqN2FWn)G0qMAe!f=g&DcT=r~o4h2H0oFM*DscLkKgP5ghRBW=u~00Gk?e{Q5|np#5d1pjzxD#`VC$-r6J0Vmox%fd6XC!_L;Rz~kC0>=7LcReO{1ivbK? zhJ7kI%4lO4Z+sQ4N&a~Pm%;u1c@`L9JIN^$U9%8RXZqC-jh(&paLLqa1QF7yspyfbiuLjHfCmA2co5dO*qD-Up4) z$-F=s%>QuQY_!8k7zXc`*0_b}e1BylaGP@MX2ogwgfK}#9CXPDBz1qIbG7oQ%kiR; z&Gkjz77007ZGijwRP_jN3oTxmX@Yq+-NC)JqB~zb^J1D4^QX)wGIqOS+)?KvscY-(6m9 z_kU!bj7h6Q-STO=wVPco1{VkKUnEMvb+hd74uLSH&d$jI{rrF zzM7)u5~Bz1uJ7-O^bEFlU;A6>R(HlmFh+COhhbu{zk}S7>#r?KjUqR5K7QC_Tzl#r zcU_WwLrxw{I3&kG5G(dtMsk2Gv!{EU5i%RLN5W(_dQ^F^<*QjLRKhZIbBSPnRQTjE zzJO=AB>c8x-SJY(mCuJ3#;V#crdYT)e{~Vp;IW^|rz#zH3PsyEQ^Ve$D_IB|ReAW?C^F3edj5FA5zAEhTUj+*|`gO$3-zl$IczLwM?Y_!b`#O9xOkkL( zm@eUEfq!aA@AQXj4A>tY5jy6MJ|lA<#8FUr88d`Ig>i7qTH1}$4_MQW{&Z7obL?<0 zEZQcTyR8ex%b@j6V|_o=iPjFW>v<^{Ki+x>XQMXSmPEH2y8i28KeNIZ<{jhK$D^7s zDv&eR9O7@@T+8S?rrQF@eZN~l<);A)qR|fC{^Y-V7X(C2Y0e`L=+oy$c^h+Pwgz=% z>bbk?GqZ3TY6N6q*cZxB!O*^8HyiEL=!b>12)wSKG@Y(@C^Xf7J^2!1TeotfnhysL zC5YLo{B1Rhi;p?M+8}Z#Y&}MefhI%?X6CLx1MHkGV!CerF#DY~20fG~@^4#HU4mM1U|s)G>kGQ5gO-S_0G6K1!7wa_hQXSiS%e*yKz)Edmq-oU0RmI;Hd6h_wTWE1mwg!ZN$zy89@)I3Jjb9 zFZ7LBkLYm}ngkKl&eN8!4>r>)D}ToJdE*J9uu3axjA8X`yN6_ z?=fEayvS^?Gt;Hk^5X@xq~ch_m~1tAo#eX0bmzU-k_W$o=(YO(#bYCPMm=A}|9 zpAwNCct(&0tfW}G_lr#Q^V5`nSgBqGH-6S!Nm&~>D5?yh)e?I`@vtE zi#v5+ztB)^VDP=&AMmG31rv+DF{re?SeLDVY9d0jo)zU_ZHK#wNQ=FCv2?QCke@!T zNvZCC?AD%5Y`C?9#zf({;NHc!Y!hY*zk=poZv72(#>BmQho}E}w2e{5JI-UuN;RJ6 z=Z~ywz?Fktlx0m~+Lk3K+P@uwRxG&Cz&8{#F9L@tRyt&uG255)q2E28`+l`@yr`bT zRI!$gy7hi{0FOwRvTZ0v=6&1sUaq1|)1l(q00*B*_~NQ0Yc`%ur-l(1a!vN?40GDB zY~V9#3b`K`CcxNsIwL74EXu!W{r#k|FwwHpvTVl_Q-AH%bMrxfmH)ZPIYLp>RhSr- zs7lj7GYuLoB6y)iNa54m#tsvHeji-|Z1U2h2gA2L*YOC~$?A9h z=Qg)(KDWCvZcO;UL%8G(nrqtJvr0$BI0RK_(>M0mf?|{Bjbq&Mi2tvdvuuikY1;O} zF76??yIXK~NN|D$ClEBa`{J&_bs@nexCYl?fdqGVTYRzIr>?u|{SR-|d^>B->YnO3 zrayGe1n!M1lN2Z$%~0?bNwenkFnw5$ zQ{qQN0kSEk(mMgF)qyG-ng>bCY5D+3{`Y1Nppv z_c*ngKGo|OEX_bZN{HKV(unoJ8?Vu0b^-*9j0NB{`&KPwpX{SC+^;)9dOAbVsJqd> z=X90UaT3Dq=DNf#5F7gNi}*Tqy*glD<(|&(ctC|kE3&Y9OsH77SO+2%Xaa_-of!NH zDb^k1Rv?{6p?&oXU z2w7%gLAbwAB`Um0UYxj&|HClP|2rv>hq{rePj2?4(#F6h#s$x*{@g=w0rm+o#{_Z+ zJSx95qcF2}OkRQUccKp~D2~BDvkIv0zjUo-pIC?1B}Ml5j}gD$$eH|2mXL7kHXJQA zR0;MFxAEao;%3PMcf^H!!Au^Vx{jY_@N!L|qA>SYRt+iqecdL`KWQq@V_}hOWju4Z zGb~8L|8*YQQyE*ry7O@wTUKK9!y!Dhzky9O!3Qwdx2ZnrCt=#1DBvoJn-?JV{L#dJ zKR3{SaRiXfbVPdi@u-255r-Of=f|06U~N3RNfVrtbjHe6$j&L*U4Y!OfQ@(Ox-frv za3(GtHZL8MI`;d({11KKIX%A^ZY=2XX~$ONrmC8Z{G|Wgl<=!5mwH(@5=w11)wba6FTyv zFR+Lj?G;JP|C^^X#dei(RsW2>Xm& zldy!74(cxxZdCtYhJFKMT@QKYAz$JgIk`9BL{=E@54n)C@-=IIf?;9c|n!gYG^>H za@oyVMjQUiTNwT$B~nssNVza}J?+jxMf|~_Z>PW@P`jc5+lgiJ%iS4mZzJ2ejS7XM z`h!PcMWT^U$dEuKMNv9Ek*Wnb^CjZGmv^^rix6eufIf3SIW!Sy~ZgX z;KG^@ejF~}1EbDHLr-0y?0_vFP0GDVhOgOR6^g32gTVO+@?`5z{`ZtCFLBX@Ck>^? z5gAs-{vo?^wXGd>b`f*rPtyyU29faED8APju$8-{(q{)kvUfbfn# z>}|dQ5&n_5#B27^SQdN%xQh85_Sz@=(!G+gJT-*nFnXpg+(r-ybju4QaT1> zQ<#w&WW1!i6Vf6Dy&d+&PU;VPmVq9wk{BGS;Vcn)p={w96N;X8*&~_DCRbzPw0R6! zDq{!II5U}%(z+YF^UOLL$wLRbRMAm!W%XER$8d#5Ma z2J}&*gn} zy7y~Fz$jR*ucix9Heb?|9&H}6+KU_FrUPN37k(vQtNfkOyn&kIYD7rT%$2w8DQxf2 zmj9;ht;JJ^`{D|gR|zPF7#BzL^A>JPg9E4y3TGXvnYK>Dr}-V3?eBH<63|^cOcJo~ z+{g8@8eYcZ`8xe&gb?E!uoflzL@@k~dk1#g%U#RMxv;d=SDIef1>2hUA)l*jSAsAi z@B*~r06Sh3x-JE8it0)BrXC{Pb7~R0L_G3PlA+%LF=9qMfFfJgDXi&xx7oz_>v^Cm zpHG{r?3&Eux(Rrf-ps!>OA_tu!@txyQ8V>BSB0WjeV3B68xU)0OmdR;>dcV3Ih@lB zl4ZilU4~HEc;O-h)5ZkAO@y3%qi&=g>a zSLSDXE6GyQdIjDoZ70;yZheG9$k3!U)eXav_2VRJ^UZ0m#hOrdnyO-jCX`O1PGJ;G zICN>)#N9vMNj*8o{y)}9<`CHU)4Nc<9e*>?{JxaXtp1Y7 zUtF4a2}Yb!`pg=hoi$GH(Oh@>UOXIn>~l>Nd%P{+*qz#(t3dH`^lwaycQF&s$OC5v zHqyxdcb()!tOm$uwmp>}B!g2POdmmWPuGI=s@fpmx1Hh`nACnR^xRUl%dKUE`bl+o zQq$Fy)JEL|Ypk9*V}N~kKCzi;0v5>R-$j$8`9(aHOan#dmz9Ciw{XSy*kl}!LFJ8M zWyB?mQ$fR2i=pxymvo;Xvrx zST#l8AybwLgEc|gpVCQ9e6$)xD`)hD?r`Sl82??WOJUYYGKR0dgxkqT!wNQfOnLFABS9=E)Nf?53W}?A;~O9iarYcyX==!V0}`xDZ@i} zsDXEay52NZAE|5HqzM6__54F03L)aW9o_eSUv^-bvfQi#KSNN(7zA2337UALbU*5A z-xTyHcyFyNnnGpk<;qNu)%&FhmA#ad>|+1ybaOEEzjwj~{J1fX=@NVbk)&C3?zugm z_Bb!!)LfLQJ2wq_q)FPLkQM`eMD1ir-F%rK()nS7+K)nF4rSHsl@OWFL&Sz;VsIk& zX8~{4W_MDR5r}s0AHFnIa~2u);8|{4dQKD(=a=Wi65yRB zr2A~GS{?Q6V~Hgnz2IHf^DH=e^KwwFQ~{tnUMc-CJm7-UyX%R55%K!m{@foxd3;*# zQ!q&d5hX@VJ4#i1bb+fQp$Bwa#0kE@le=~1Zz!k{EW9XwCJF#G%?ng#CWx{>rea^% zzg7?9ZP9mfI&b{O>cRAV>6-OwKFzaAH&n;wPJH-V4_ zDE1ZnId;+IpMazMS6cG@(TCR*tll6LFEk4OSFP}P%C4(_mHA%Btab@L5B#>!rw^py ztPGy~XCHVYy}c>?%?Q|80+}`jaKulI_Om#76pe-$iOY?^728Mvv;UL75EkahjGVR& zXNAp|oPxuEhGE;G8N)-DfuDxiDSAnvvcKO4xm)y|GWAxZ-}L%P3dQGq;$=jp_27~| z5^EiJqZZEL3*P52@jNB*^Bm?6a&H#ZiT4XyK2FFtLw)Y#wfu5l@;f_Je<#F*!oUoM zn%wgVGWnwoDGNE^3spSe=qr66MV}%g9Sto3#>|?mhLLV!83q1(d4eK){Dr@P1S61l z31n6thEH;m1l%F2Me48{gqK#RM~7=G0biK6sA9(;caI9`FXr zE>Vm2c>hhj{eVUIuWyCRz@qun3wmL|y{@|oCF%28PQfvR7ar-&TJQ1LQOC3jTSS&d zHcQLkM5Z-tPAl>5$Jp?%!!d7y%yNsOPVv%GJ%@hH^(XU0tIUy%h`bs1yDIgU2;HEF zT){uy{xL)6aHgocat%Et@JuMd3ayuxY30vS-0Y%`p8YV%6M!JIh2a33%05$=pe$f@+rMs4od!v2$%?#FBvXTJq9jz;t!?gKNb>KNocl9JJSN@0g2E zDS~j|UbbU`S2{AIm#U04yzQM;e~#MA8a;ijljRHl#I+SE>izeRYDD{i^>9<}-gEX$ z34dv4@a9~V0nWJ1BY(LooFqAt881p4`ykljCH~B9xA&Vl+}@xu5rMnK(O9GiD2Y4N z4$y>`#D?IBiF{fe4x4b8ab$*;RHDxa*x~KejBk$*3ksZ_e7;fc&VmpQTBz1X{`nNb zcmD>H6ZgfRkxdV|;XNqL#%3F5G1XXGMfU{Gk0u$##X>SsuhN;D+x}|X=C+U5GtyJm zgJo>)sn5hwm^U3$X2i5HI|X&cXV^Ag-&>SHoUL9uZ> zy9?j>Ireg0EV|^xoZzo{aQQ%U{77PRlQHZ9Jstg)8(mu$U>C)sB?=YnGuc+$8GJO>@LHFO|FRXq#A^mM|#n+={SC6QIdCnx}%7e z0PP`FU#L7sBIGi;Br^t1OcJ`?tkRQw^n_<>m`QV|HxjuxJ3X0bE-sGm2C>`rJ=``# zMwV2M{sCck=w)VIw83rBVb>pjf{)D3L^TGadTU+;1Yd;WiE6*U`L1nd`uI*d7s*{?C?gWpXuj&WRIBI#u#Pq9pa(DWiBSK8~`p(mEz556< z#&je|--p3y?{5+IAa%9}69xZp-lc0MKsk|2OCqpOiy{!@z4v@)slrFGAsIc*MY(bs zy-agqGgj>L_;uQQ(k|WDea8Q5SAE&`!!I&H5Ayr*euW`eIb>VdlhcO(ew@8Ij;_Y^ zl|25ZG=$%|y?#0oTs$$J)|)paubH1P>^!oxUaM~k=7VR50!;kxt1I8ZM<+0|&}BMx zFl*%W&=|Siq@42J{4+n`d*~v!JL^Xu{wMsG)uBl5i+obXb8vHPUeBs9p*TkkH}^Qj zgo3hYu%uiv^^4lykWT_iGpD;N0pOu}QGRrq^fN^BEzC-Lq33~FmHJtbr>ljNZM1jm zOojT>yMj2Ycs+w&&tNz_@6gK^7xp9H?@x8twe#0^$!5{)9fi!*CLozIUXZWkGCg3c z0nPU6u`VH6h$l+?ThDV6ACPMlb6>Q^r~xujXQUXUx_LJCXY%LX*;*=gYx_|Q3Oe~; zgbKQ^*e_BcZ|p@WS7CB|j1Lo60`)ITXNFo*q?TfrJ>B`w5dWCopMj!m(bFDAuwlG% z*E{uHy0?RNw|B`3y$q092NHND;AT27vW3Q*`R2$=#&+!{dCc-Mh!LaS#T8hGoRw0N z*^iOQEiTi{@q3I!zxti554i!lf~DO$U6eYujMW2ehQ6al5Rnmgg|K*3fy z%t=Gg?NPY{ZHYbkMIo+DVQhPkgMN9svZj|rl8)o@HrMBH z=`W-3z4Q{(E(=y3Nw0SvB>M7Act1D_j}~bbA_?jasI+BHFPv@un2sEnN{&f{M_fU0 zj~b7dkW*qQfnE7=@B4OcqOOhxJ$Q+hKG#t&6m);9_-PYuYY4krH*UYWzYEG7(X!^) z!ZyH3qa->a^&Cc4*5ksDSHeIGGx0&JW9LZaxElYexhPo;n(vtYsD&;QAIrOLwz@`=U z^)cuH?=l#bVl}?ZtKdmL|f7CA1sdS14pe;b7zr>Ivl~}sT9tpqvI`3LEh~c zN$)g#=6P4lNVT6r%I zzaDRT*)CC(z?P|33J-d#pX`KsJqnVJZ3kiO{l(p2Gc1!gm_Y1aW>hCKWzZ zh`8E$j0YU?B%qqTk3?r3Yq{Qo9J~W-<21MPb=ga}&&f=Ql3s*m|4HseAZ>O8ctEJH zL5Erg`?~yVxzPrAyYmc)7cIM);QCnppPgYkF5RiFR!ucWCBDzhoE?u^x&TRP{W|ku zNS5T(EZ97*JlW_z_zgcZiQA=S8Q<=0@fODCX4EHTQ^Y8wo4{{K4B6y0V_xEVvGWT= zk$x3SjGs|11CjyLTdyJkRC|PTjC-WXx(E`&k?KpXY8PF zsQx63d=S;k|E8lJIUgxZJW@-OgnraODhq*B2j2s$4*oE%`M=lq*!&dK(grC2Dwc-G zP83pc1|8~A8^f``N}FWe>acS(-h_)M?RK6jh0bC=ca!pUgZ*ARLl1Zdw@g}VoOiGc zYAjEweHy3bPF@rNG3ZCC+>$<|$**p>2Xbg<9;08=XO|fMhEz!maG5!`dr9I+cK*`D zJASvEy-ztlSJR(RPlV6=z1>Q-OVU{-+TeO0?V>-oK#>tYJ!5Txhpu`ZDU!*e%~C+{ z`eek%@4nVrqSu|w^x|iF{vwyTc;>1LxiUNk+3wELm;QC)6s_e>KNE$UBKgHe+yLyP z&i?QGt9I<{Xj-AEngRg5dxTdvQbt9gZ;7Bo;yRiz$Ne9^-Mt0q`|i_3sZslTSI<9fqcoThdUYBh35*yx66(TR208ih0K!CitQ-!3> z;gFV>tID8Cku(Jtu>BV~|3l<}w#!uIME^NR2r5sObPmX0TdCpDKVhm?_Z4YIF>9VJ0++yZwe(pxL z89+}0TpGPDmDwbFJDSE}@LEC<`)%HsBiFvH4eiEh`YKa>R*#15JO7_ACl0OW-sL-L z4%*A`roCf)B;FZT&<1LLB|Z|sz{F%q{$YB^=pZ6U(jL(`Yl)g}9Xj!66VaKq8hndH zkv5n8hPTjaRc6aA^MFThw7tDB4z#e(Yg0H~-S&cY zJ-y%B+MF#`FV5Md=gD;9I&LU-MQ_5`>+_2G;|Y#!pI_YSXx3$_J;Mxl52ZIIxi&Y` ztC}iNPC{q*KNBGFYPkWbwG+cW(j$+|?_EQ~n{t9rc;A~1o|w)K64*oxLpRV zw%?Q+Ls7pqc^H1w8hB)ZOflUMyI#9B71dD6eLiwvd4oA(i;F!uI$mP`$YWZ)U6@_UrPh0^!~E8LH%r;$(ONLYHk#Q5!Eq{n-O-R!{4T3? zy};yVe!lC)fBZt83ySL6oedxW0IB%vQGWxKN>3OsI&MUI?h1C(e`sB*BfQHxLo>gI ze{;-j^?`;5v_iGq55Mu3IlPV65J^N~$sf7eEt9cFITG{q!oLgn>(z}=Ld6Eg566wA zq8Ki3dCDTa3ApcganC}(ne4#U4_8)pbInD2f@icnjxd3 z`4k`@yRt94oMLUgzDeeW1&VTTij3RW<-;zy3y#|11)^(n3)*! z%`AUiU2K_swg67kFs66(^%<9beNO-Bs7HP1D_5f9T1%qfs_-?uH8HT=rF;eXJ%1A9 zxOK|X29#xH5*2;(^14lKPuqAd=l4O#bpcR>PS5)K9yUEDXt$GgaqEQc0 zY#{yT7$sWr$oHi3i?R%6!M@Fd@jC=>nlNg-_gjo>#@ktfW%=2{U65abp?(->ft~^W zOUw1qlInNOp3MzT2yX9-O?90B4kyzbe&BXj6Z_+e9)sxqE!{X&`1xP&Sqn)w+%7LU z&&7E96}*-)&R+$5>64HVvx^1bCxv13@mCTfMRIdI@Z|j2IaR7IW>F`5cdH;g)5yvD z8>0uE!)$5#8=4PPKaL)mX7qEDj-gO?EW-%z_r|!t@>Qf}LZIrYC=6ED{j{uIdg0Yb zeqoxL*7iJS(axF9GB%`8)KvV!LT>*q=gw~DP6^3uHRd%byeTRtfflNg^>s!0uY|P) z(IQKJG4~g^f&DT{QX-0x-rU9l`Cogq1|tY3=3DHp?>6^(k^^3?4Y%Cu&yGz4Z(4EA zYHmtaU~NDaWIDgvcmRG<;m57Z5RMFbz*bljhu@a%s19ElsgVTf2KI4`cL_c;!q55< zDfsTWpzBG=|KYkVdumVAW6bM7E8RF`-eLH2OX}sg@*={cC4B75_rY~_Msm8hxU+v} zKeSD&Coj&r&}5DgVs-3%bKn*SizxoMp`#2BM@p#JK;R&x>CL$V6RCTG4wZsm%S|h# zIP9Se$TF~mPugRl9VNUxfFjz_@#J3q*t#`d;zlm5Lv1>HuCxdlAqCIY8vFh2(Ff>Z z`Th3QxNff+6U*p$Bvy2z?_bvghy*%jW05$zDP2OSR-!#1s#wW>bxHzpez!RDharp zCVUfnXaaA77ks zU_)W)1m4UB_h9h9M0-Lk(aRbY;(VcqtJ%1Id!P@xm^|qdz(4I6HTOe!l?ha_{c@u= z@Uq1lD!^Rb%}=QKd@2U!L_J3;*O8_q*xD7Y||dqc@}R4K#$# z2QLHEg^NrCZ2K*F#wZ=A1CoH zB$CodaKr0y6UjsrmG3(bjThHg}ui$?8QpCf?TF-CgPEh`b zeYZvjjo-nNU~h$%GBODtWJwCVN+jZ+aj(%Tlt27~+k=>>m4H4svz6DOh=nXShA9Hj z$9CJ?h6{*|kpbpi6>+P*qM@m?6Gbc)5-nWx;)l&-Bo`nGWNx{B$ENx&H zhUm`0Sr{Q_j46m;_7;oqw;}&;jdmSSO4xX05eB*{HDi+Ec2cUcka`6IxgXp z$UYOUbGJREu&Fq?O5=7B$slCgaOLXXJFbcE-+|s7u)%hUuE6@z@HSyD==K8lh9Njc z=mR6DsBC38Ay#oRTYs{-0YxoOH$sS&g3|`7Sj3V*5XTo1%?bw(x{zws7{M+~H^)s? zrS=+ZPyZcro@&t{W<$6Qx9I^9w_DCzf&c7O0Tz?!ByB-f66WoeB`R;vY|lRlHlb>8 z>=|ZgV~wI;Jk)>fjaE1Q1+!2lIc@X&xOw!W1EP$fggsGQHa64YAt8B&_ELKVf{BF9`;i%$dddEW_3sFS% z?;Nh8`bqRq&4u@zZt7-m1jYSm!0TazvH3{(3uXWSV4r?akkvi#{bMA8O=+XYhkw!=v?7>R_QdeTkaiSVKkYi| z2j3C;wvV!%=#lMWFdoiS@I4Lm-^|&e%vXSqX7+--?8+}Wg>QS9xl`mQenO}jHmT+o zKg#}%#eC*giKD{iGKd2I-g0z|^w#4m9`05BluYr=dW5>OMH9KL*<5*nadpUY51n{! zZSpeE>@2XSsw%xa{>@860FWEuC4>R((`kJfZ6~X@GV2ny_im!X=dsa(av%&)dwLWb z97kp*^fMbGLEgN1-99aBdQ=$wZ8O^O5$4|oqOxiZg=7}FU0LY@$i z2-kJX&d@>UGTzOodCTv#i*fS~-@AtTQ?4CV;;7p5i8+~>0C6f*RiJ5yk8(JKLzY{~ za=c{&j|4#$g4@S>gAiaSIyfj$ST*>DfTGp24Gb+4@kR#g|-TX3sSz2(W91E`u%E~#0>C!fy?csVu0b}42vWEbFr zvo%0soU_b9c1GtE_!SE|B4G#t(Kda}^}X#ry$TqVc%78Gc-}0iF@Il)Q2;f4927fL43CFe7h5sL^C-9`v4vdmF* z0xC5c=ByqF@RoR~{pn`Zb!vwoA>RnuhLG|$R634MPUgMNU|lHryNpBHe_IE!B&Qvh z#RZNVnF~xev1af?q(pZHMF9FM;FT#jvw0^4oEJ(AweCoz2SkJ_vO$Guvjk4)VIS1U z&HGy7zqUiqR8&TZsv=r40U)%a6jHht9?e0mSL*Rbx~iuAbz*9NcOFe?V`XIn)^$zk z?K^Yqv$S7q$TFnulV}$x`Nz~a09Tuw4#&T)J+9hTa<(Ugj^!)et(i&V_vC_W+_L;Hh0TGBy&Ml&U?WNGaya5h;hxtMgDCIad zXX%!|8)QW=3t|act`)E=vLI38J3QVYWdyYk(3M|Y5;twAncW*|0Rg;(z4`;E2qb99 znzbw_WXAX{63?(Szdkx(QmiNau}M|b1#Xd)rwby|nDIJ759MLs{rX&-m5iD@SQAAl zT8lr6K?S`!_{G&#zXO=q6nk&gB(2l?c>wAH`iU&(K8r#CkTd7S^i9WBefz>Vk~qFQ z`4}$hv_X5I#y+Hf{*j`;2i-GrZce=8Fz0yNcuLDcXO{SH(bV+C3iU={d8A&R_@^5< z-Mz3c|KnF?Y_M=Wx?QF?PYeM6Tff5ALxqwY84n0BKG7)RXTx@*S!HpbZmE>Sq2&jR zDjo{qi6cl|3-!E(3O1n{+O%XroPhGt_p~(UN0ze-8XJbIBPUZ-j;nvyX?olSpua*V zLJJzvK?DFfb`ffr;MNI`93Wjb$IFDk!#0EOs{%;g1#S1?LNkQD@=Hp2d-<+Je{f(?ulHKAb*sL!AErNtKQJ zQr3$R3hEHmw^8G=TxkBNk^6Bn!VTrEZilX~sEv%~CmfD%Ct({8XXnhn8(G6$gk(if zFL>3TyU*4SZRX2xy#wclbEl~0gkevo^A+-f*M?zpH~$rcKoYuyjPwdQ%pjduJX@qE zB(02?{|5H4ENOgHa1NuxJ41^!flV8Kp+AMSzc+}${t8SGT-Q)Y%$dtafb2?VU&fgAmcx@r2vW4SQmb_UFZ0KJKXrE30Leu?JhLnS=Gag zYu{)TmFe7Kz;ahp^!oE!#K4nGrzJ)*BDMW$aX*7T27v!Ak*^PO%%TT`s31}0O;_Yf zlqF3aF7ctLQKTs!Ta;Hxw&iAQ$CEiUe*P3K^Hz@Ut|{X0WXMs!w1h7gT)!c^&qn|C zrk0u4-a!KxoyI1<8h$3eW##fCSu$Y#%o*C~)0@=^G|M$Y20r?IIJ?@!kzk?j{SVxD z*mCElHlFgu(_w?oWo6^TFe`U94lmwz&b;mL0&KEx>as~0bVSP{s+3#2qw-t1?~1b1 zfu!?v4i%bOa&%Sl*i7`_JD=tRVvb3l$^*s)alF)k*3DBZ+tWiGq*t3Ce6M0XutsUW zb4bq<_Ro@i?-|xqR*s3Xk@ixT!WDR0THPvb5R|#;2lUA37RC)KNhe_5ZDQ1gkP5S`oCxyrmFkJhIdI&$d5O=igKkBiL>%d(N9}5ZCW!)Pb>9I#QmfYY2w=3 zU;gc#&9^+o&amOEKR`P{`Oqni6BQ?Cm-~iLiYOHwWCaV-7W*}rJw+}BPUrT?Ubv?< zy+AK8r8~)cY4!pgUn?9Pq5s_=`raW(D|~l^4HkA~f~K0hkp+eD;@2ZBA{hWg=~1O5 z_2V(hXXRvnW=LdZe4|JE>4^0=TSK-GCm?el>OBA+C?QBZ^7M@4%@L5>CXE)8_wCYN z`6Ul~)qV*j&5dFdxG&sB;KSaq@A07110s;dzHGH&_emgq?jsArgK}(<(b8ur;v>Xz|K&nlGu&b5{=-7+FF>e!La^k^^F@7 zb#%B7r?0-9)-{$DrWPf|r^bTZg)EV*vT*a;`hR9AKeM$>F(yJ#`V!jF>xaS46n#5I z7gmT1`IdPnv{oR`5Auul-NGJPbb0`&*gOSA7cks++_&c2+=u-Z9=|y)5DIkz(#Xxv zkM2M&f8?Ic0Zl8uNV4@4{ue55QNwq30+mpD3n5V!Z literal 0 HcmV?d00001 diff --git a/Resources/Textures/container.jpg b/Resources/Textures/container.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d07bee4e3a679f5e2e4ad508ef3c4dc29a522492 GIT binary patch literal 184939 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

P< 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