From 1fa7710d349b62b007b56be792bb072f5c0bae67 Mon Sep 17 00:00:00 2001 From: r-lyeh Date: Fri, 4 Aug 2023 21:39:36 +0200 Subject: [PATCH] fix: html5: added pthreads support (@zpl-zak) fix: html5: allowed coi requests in localhost served contents (@zpl-zak) fix: html5: instantiate web server only if content is not being served chg: bring back demos/html5/ chg: bring back tools/editor/ chg: bring back some audio tunes chg: update docs --- MAKE.bat | 37 +- README.md | 213 +- demos/01_syncdemo.c | 83 + demos/art/audio/larry.mid | Bin 0 -> 15307 bytes demos/art/audio/larry.txt | 38 + demos/art/audio/waterworld-map.fur | Bin 0 -> 2795 bytes demos/html5/MAKE.bat | 58 + demos/html5/README.md | 21 + demos/html5/demo_collide.c | 616 ++++++ demos/html5/demo_ui.c | 57 + demos/html5/index.worker.coi.min.js | 2 + demos/html5/template.html | 142 ++ .../; type `make bind` to generate bindings | 0 engine/bind/; type `make dll` to generate dll | 0 engine/bind/MAKE.bat | 17 + {demos/lua => engine/bind}/fwk.lua | 0 engine/bind/fwk.py | 26 + engine/bind/hello.lua | 56 + engine/bind/hello.py | 10 + engine/bind/libluajit.dylib | Bin 0 -> 662848 bytes engine/bind/libluajit.so | Bin 0 -> 581312 bytes engine/bind/lua51.dll | Bin 0 -> 3531914 bytes engine/bind/luajit.exe | Bin 0 -> 100900 bytes engine/bind/luajit.linux | Bin 0 -> 583856 bytes engine/bind/luajit.osx | Bin 0 -> 666300 bytes engine/fwk | 2 +- engine/fwk.html | 223 +- engine/joint/fwk.h | 2 +- engine/split/3rd_thread.h | 2 +- hello.c | 7 +- tools/debugger.lua | 678 ++++++ tools/editor/3rd_eval.h | 501 +++++ tools/editor/editor | 82 + tools/editor/editor.c | 1836 +++++++++++++++++ tools/editor/editor.png | Bin 0 -> 159025 bytes tools/editor/editor2.c | 471 +++++ tools/editor/editor2.h | 343 +++ tools/editor/labs.meta/meta_dna.c | 328 +++ tools/editor/labs.meta/meta_info.c | 292 +++ tools/editor/labs.meta/meta_reflect.c | 386 ++++ tools/editor/labs.meta/meta_tool.c | 46 + tools/editor/labs.osc/MAKE.bat | 42 + tools/editor/labs.osc/oscedit.c | 22 + tools/editor/labs.osc/oscedit.h | 221 ++ tools/editor/labs.osc/oscgame.c | 39 + tools/editor/labs.osc/osclab1.c | 74 + tools/editor/labs.osc/osclab2.c | 106 + tools/editor/labs.osc/oscpack.h | 162 ++ tools/editor/labs.osc/oscrecv.h | 299 +++ tools/editor/labs.osc/oscsend.c | 28 + tools/editor/labs.osc/oscsend.h | 121 ++ tools/editor/labs.vm/ecs.c | 425 ++++ tools/editor/labs.vm/hybrid-p2p.md | 25 + tools/editor/labs.vm/netproto.md | 92 + tools/editor/plugins/.gitkeep | 0 tools/editor/windows.ini | 12 + 56 files changed, 8012 insertions(+), 231 deletions(-) create mode 100644 demos/01_syncdemo.c create mode 100644 demos/art/audio/larry.mid create mode 100644 demos/art/audio/larry.txt create mode 100644 demos/art/audio/waterworld-map.fur create mode 100644 demos/html5/MAKE.bat create mode 100644 demos/html5/README.md create mode 100644 demos/html5/demo_collide.c create mode 100644 demos/html5/demo_ui.c create mode 100644 demos/html5/index.worker.coi.min.js create mode 100644 demos/html5/template.html rename tools/plugins/.gitkeep => engine/bind/; type `make bind` to generate bindings (100%) create mode 100644 engine/bind/; type `make dll` to generate dll create mode 100644 engine/bind/MAKE.bat rename {demos/lua => engine/bind}/fwk.lua (100%) create mode 100644 engine/bind/fwk.py create mode 100644 engine/bind/hello.lua create mode 100644 engine/bind/hello.py create mode 100644 engine/bind/libluajit.dylib create mode 100644 engine/bind/libluajit.so create mode 100644 engine/bind/lua51.dll create mode 100644 engine/bind/luajit.exe create mode 100644 engine/bind/luajit.linux create mode 100644 engine/bind/luajit.osx create mode 100644 tools/debugger.lua create mode 100644 tools/editor/3rd_eval.h create mode 100644 tools/editor/editor create mode 100644 tools/editor/editor.c create mode 100644 tools/editor/editor.png create mode 100644 tools/editor/editor2.c create mode 100644 tools/editor/editor2.h create mode 100644 tools/editor/labs.meta/meta_dna.c create mode 100644 tools/editor/labs.meta/meta_info.c create mode 100644 tools/editor/labs.meta/meta_reflect.c create mode 100644 tools/editor/labs.meta/meta_tool.c create mode 100644 tools/editor/labs.osc/MAKE.bat create mode 100644 tools/editor/labs.osc/oscedit.c create mode 100644 tools/editor/labs.osc/oscedit.h create mode 100644 tools/editor/labs.osc/oscgame.c create mode 100644 tools/editor/labs.osc/osclab1.c create mode 100644 tools/editor/labs.osc/osclab2.c create mode 100644 tools/editor/labs.osc/oscpack.h create mode 100644 tools/editor/labs.osc/oscrecv.h create mode 100644 tools/editor/labs.osc/oscsend.c create mode 100644 tools/editor/labs.osc/oscsend.h create mode 100644 tools/editor/labs.vm/ecs.c create mode 100644 tools/editor/labs.vm/hybrid-p2p.md create mode 100644 tools/editor/labs.vm/netproto.md create mode 100644 tools/editor/plugins/.gitkeep create mode 100644 tools/editor/windows.ini diff --git a/MAKE.bat b/MAKE.bat index dc03717..4d8190a 100644 --- a/MAKE.bat +++ b/MAKE.bat @@ -15,9 +15,9 @@ if [ "$1" = "tidy" ]; then rm 0?-* 2> /dev/null rm fwk.o 2> /dev/null rm .art*.zip 2> /dev/null - rm demos/lua/.art*.zip 2> /dev/null + rm engine/bind/.art*.zip 2> /dev/null rm demos/html5/.art*.zip 2> /dev/null - rm demos/lua/libfwk* 2> /dev/null + rm engine/bind/libfwk* 2> /dev/null rm fwk_*.* 2> /dev/null rm 3rd_*.* 2> /dev/null rm libfwk* 2> /dev/null @@ -147,14 +147,14 @@ if [ "$(uname)" != "Darwin" ]; then chmod +x tools/xlsx2ini.linux chmod +x tools/premake5.linux chmod +x tools/ninja.linux - chmod +x demos/lua/luajit.linux + chmod +x engine/bind/luajit.linux echo build=$build, type=$dll, cc=$cc, args=$args # framework (as dynamic library) if [ "$dll" = "dll" ]; then echo libfwk.so && $cc -o libfwk.so engine/fwk.c -shared -fPIC -w -lX11 -lm -ldl -lpthread $flags $args - cp libfwk.so demos/lua/ + cp libfwk.so engine/bind/ export import="libfwk.so -Wl,-rpath,./" else # framework (static) @@ -202,14 +202,14 @@ if [ "$(uname)" = "Darwin" ]; then chmod +x tools/xlsx2ini.osx chmod +x tools/premake5.osx chmod +x tools/ninja.osx - chmod +x demos/lua/luajit.osx + chmod +x engine/bind/luajit.osx echo build=$build, type=$dll, cc=$cc, args=$args # framework (as dynamic library) if [ "$dll" = "dll" ]; then echo libfwk && cc -ObjC -dynamiclib -o libfwk.dylib engine/fwk.c -framework cocoa -framework iokit -framework audiotoolbox -w $flags $args - cp libfwk.dylib demos/lua + cp libfwk.dylib engine/bind export import=libfwk.dylib else # framework @@ -254,12 +254,12 @@ if "%1"=="help" ( echo %0 [cook] ; cook .zipfiles with tools/cook.ini cookbook echo %0 [sync] ; sync repo to latest echo %0 [tidy] ; clean up temp files - echo %0 [bindings] ; generate demos/lua bindings + echo %0 [bind] ; generate lua bindings echo %0 [checkmem] ; check untracked allocators in FWK echo %0 [split^|join] ; engine/fwk* ^>split^> engine/split/* or engine/split/* ^>join^> engine/fwk* echo %0 [amalgamation] ; combine engine/fwk* into a single-header file echo %0 [sln] ; generate a xcode/gmake/ninja/visual studio solution - echo %0 [cl^|tcc^|cc^|gcc^|clang^|clang-cl] [dbg^|dev^|rel] [static^|dll] [nofwk^|nodemos^|noeditor] [vis] [-- args] + echo %0 [cl^|tcc^|cc^|gcc^|clang^|clang-cl] [dbg^|dev^|rel] [static^|dll] [nofwk^|nodemos^|editor] [vis] [-- args] echo cl \ echo tcc ^| echo cc ^| select compiler. must be accessible in PATH @@ -273,7 +273,7 @@ if "%1"=="help" ( echo dll / link fwk as dynamic library (dll^) (default^) echo nofwk \ do not compile framework echo nodemos ^| do not compile demos - echo noeditor / do not compile editor + echo editor / do compile editor echo vis ^> visualize invokation cmdline. echo args ^> after `--` separator is found, pass all remaining arguments to compiler as-is echo. @@ -298,10 +298,10 @@ if "%1"=="cook" ( exit /b ) rem generate bindings -if "%1"=="bindings" ( +if "%1"=="bind" ( rem luajit tools\luajit tools\luajit_make_bindings.lua > fwk.lua - move /y fwk.lua demos\lua + move /y fwk.lua engine\bind exit /b ) @@ -349,7 +349,7 @@ rem generate prior files to a github release if "%1"=="github" ( rem call make.bat dll call make.bat docs - call make.bat bindings + call make.bat bind call make.bat amalgamation call make.bat split @@ -391,7 +391,7 @@ rem tidy environment if "%1"=="tidy" ( move /y ??-*.png demos > nul 2> nul move /y ??-*.c demos > nul 2> nul - del demos\lua\fwk.dll > nul 2> nul + del engine\bind\fwk.dll > nul 2> nul del .temp*.* > nul 2> nul del *.zip > nul 2> nul del *.mem > nul 2> nul @@ -428,7 +428,7 @@ set args=-Iengine set other= set fwk=yes set demos=yes -set editor=yes +set editor=no set vis=no set sln=no set rc=0 @@ -455,6 +455,7 @@ set rc=0 if "%1"=="nofwk" set "fwk=no" && goto loop if "%1"=="nodemos" set "demos=no" && goto loop if "%1"=="noeditor" set "editor=no" && goto loop + if "%1"=="editor" set "editor=yes" && goto loop if "%1"=="tcc" set "cc=%1" && goto loop if "%1"=="cl" set "cc=%1" && goto loop @@ -645,16 +646,16 @@ if not "!other!"=="" ( rem framework if "!fwk!"=="yes" ( -if "!vis!"=="yes" echo !cc! engine\fwk.c !export! !args! ^&^& if "!dll!"=="dll" copy /y fwk.dll demos\lua ^> nul -!echo! fwk && !cc! engine\fwk.c !export! !args! && if "!dll!"=="dll" copy /y fwk.dll demos\lua > nul || set rc=1 +if "!vis!"=="yes" echo !cc! engine\fwk.c !export! !args! ^&^& if "!dll!"=="dll" copy /y fwk.dll engine\bind ^> nul +!echo! fwk && !cc! engine\fwk.c !export! !args! && if "!dll!"=="dll" copy /y fwk.dll engine\bind > nul || set rc=1 ) rem editor if "!editor!"=="yes" ( set edit=-DCOOK_ON_DEMAND -DUI_LESSER_SPACING -DUI_ICONS_SMALL if "!vis!"=="yes" echo !cc! !o! editor.exe tools\editor\editor.c !edit! !import! !args! -rem !echo! editor && !cc! !o! editor.exe tools\editor\editor.c !edit! !import! !args! || set rc=1 -rem !echo! editor2 && !cc! !o! editor2.exe tools\editor\editor2.c !edit! !args! || set rc=1 +!echo! editor && !cc! !o! editor.exe tools\editor\editor.c !edit! !import! !args! || set rc=1 +!echo! editor2 && !cc! !o! editor2.exe tools\editor\editor2.c !edit! !args! || set rc=1 ) rem demos diff --git a/README.md b/README.md index 6b75a62..0b5c66c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -

F·W·K

+

F·W·K

-3D game framework in C.
+3D game engine/framework in C, with Luajit and Python bindings now.

@@ -8,16 +8,12 @@

## Goals -- [x] ~~C++~~. C. -- [x] ~~Fast~~. Naive. -- [x] ~~Modern~~. Simple. -- [x] ~~Full featured~~. Small. -- [x] ~~Rich build system~~. Single file. -- [x] ~~Royaltie fee~~. Free and unlicensed. +- [x] ~~Full featured~~, ~~Fast~~, ~~Modern C++~~. Small, Naive, Simple C. +- [x] ~~Rich build system~~, ~~Royaltie fee~~. Single file, Freely unlicensed. ## Features ᕦ(ᐛ)ᕤ - [x] Pipeline: configurable and integrated [asset pipeline](tools/cook.ini). -- [x] Embedded: single-file header, all dependencies included. +- [x] Embedded: [single-file header](engine/joint/fwk.h), all dependencies included. - [x] Compiler: MSVC, MINGW64, TCC, GCC, clang, clang-cl and emscripten. - [x] Linkage: Both static linkage and dynamic .dll/.so/.dylib support. - [x] Platform: Windows, Linux and OSX. Partial HTML5/Web support. @@ -52,25 +48,36 @@ - [x] Scene handling. - [x] Profiler, stats and leaks finder. - [x] [Editor (wip)](https://user-images.githubusercontent.com/35402248/174457347-f787a6a2-aac8-404c-a5da-f44310c3d432.mp4). -- [x] [Documentation (wip)](https://bit.ly/-f-w-k-). +- [x] [Documentation (wip)](https://bit.ly/fwk2023). ## Roadmap ᕕ(ᐛ)ᕗ (in order of arrival; ✱: partial support) - [ ] AI pass: actors, waypoints, pathfinding, behavior trees (h/fsm,goap), and navmesh generation. -- [ ] Render pass: reverse-Z, automatic LODs, impostors, decals. - - [ ] Materials: (colors✱, textures✱, matcaps✱, videos✱, shadertoys✱). Shadertoys as post-fx✱. - - [ ] Lighting: Hard/soft shadow mapping (VSM,CCSM). Baked lightmaps. Refl probes. Integrated PBR. - [ ] Network/VM pass: Entity/component/systems and worlds. + - [ ] Core pass: struct serialization. - [ ] Message pipeline and replication. - [ ] Digital signals, message buffering and event polling. - [ ] World streaming and level loading. - [ ] Scenegraphs and spatial partioning. BVH, PVS, occluders, frustum culling. - [ ] Server/client architecture. Hybrid P2P. - [ ] NAT traversal. Socketless API, message API and pub/sub wrappers (enet/websocket). +- [ ] Editor pass = netbased + offline rendering + virtual input. + - [ ] Basic: Gizmos✱, scene tree, property editor✱, load/save✱, undo/redo✱, copy/paste, on/off (vis,tick,ddraw,log), vcs. + - [ ] Scenenode: node singleton display, node console, node labels, node outlines✱. + - [ ] Debug: toggles on/off (billboards✱, materials, un/lit, cast shadows, wireframe, skybox✱/mie✱, fog/atmosphere, collide✱, physics). + - [ ] Level: volumes, triggers, platforms, level streaming. + - [ ] Sub-editor: timeline and data tracks, node graphs. + - [ ] Sub-editor: Procedural content, brushes, noise and CSG. + - [ ] Sub-editor: blendshapes, additive anims, head/foot/hand IKs. + - [ ] Script pass: DLL✱ (module->plugin/sys), Lua✱, Luajit✱, Teal✱ and TypeScript. +- [ ] Render pass: reverse-Z, automatic LODs, impostors, decals. + - [ ] Materials: (colors✱, textures✱, matcaps✱, videos✱, shadertoys✱). Shadertoys as post-fx✱. + - [ ] Lighting: Hard/soft shadow mapping (VSM,CCSM). Baked lightmaps. Refl probes. Integrated PBR. - [ ] Tools pass - [ ] Extend shaders + bindings. Per-platform✱, per-type✱, per-asset options. GIF, PKM. - [ ] Extend atlas (sprite/lightmaps). Fit packing (sprites). - [ ] Extend bindings and messaging: parse C headers during cooking stage. - [ ] API pass + - [ ] Extend math: quat2, bezier, catmull. - [ ] Discuss API and freeze it. - [ ] Document everything. @@ -183,17 +190,6 @@ int main() { } ``` -```C -#include "fwk.h" // Minimal HTML5 sample -void render(void *arg) { - if( !input(KEY_ESC) ) puts("hello FWK from HTML5!"); -} -int main() { - window_create(75.0, 0); // 75% size, no extra flags - window_loop(render, NULL); // game loop -} -``` - ```lua local fwk = require("fwk") -- Minimal Lua sample fwk.window_create(75.0,0) -- 75% size, no extra flags @@ -203,6 +199,11 @@ end ``` ## Quickstart +- Double-click `MAKE.bat` (Win) or `sh MAKE.bat` (Linux/OSX) to compile everything. +- `MAKE.bat sln` (Win) or `sh MAKE.bat sln` (Linux/OSX) to generate solutions/makefiles. +- `MAKE.bat help` (Win) or `sh MAKE.bat help` (Linux/OSX) for a bunch of options. +- `MAKE.bat hello.c` (Win) or `sh MAKE.bat hello.c` (Linux/OSX) to build a single executable. +- Alternatively, ```bat echo win/vc && cl hello.c echo win/clang-cl && clang-cl hello.c @@ -215,94 +216,108 @@ echo osx && cc -ObjC hello.c -framework cocoa -framework iokit -fr ``` ## Cook -- Most asset types need to be cooked before being used in your application. Some other assets like `.png` do not. -- Cooked assets will be written into .zipfiles close to your executable, and mounted before entering game loop. -- Cooked .zipfiles and your executable are the only required assets when releasing your game. -- Cook manually your assets by invoking supplied [`tools/cook` standalone binary](tools/). -- Cook automatically your assets by just playing your game: a runtime cook is already embedded into your binary. - - In order to achieve this, ensure the [`tools/` folder](tools/) is close to your executable. - - This folder contains all the related binaries to perform any asset conversion plus the [cookbook](tools/cook.ini) to do so. +- Assets need to be cooked before being consumed in your application. The [tools/](tools/) folder contains all the related binaries to perform any asset processing plus the [cookbook](tools/cook.ini) to do so. +- Your game will cook all your assets as long as the [`tools/`](tools/) folder is next to your executable. Alternatively, cook them all just by invoking supplied [`tools/cook` standalone binary](tools/). +- In both cases, assets will be cooked and packed into .zipfiles next to your executable, then mounted before entering game loop. These .zipfiles plus your executable are the only required files when releasing your game. ## Extra tips - Any ico/png file named after the executable name will be automatically used as app icon. - Similar to the ico/png case above, the cooked .zipfiles can be named after the main executable as well. -- Dropped files into game window will be imported & saved into [`import/`](art/engine/import) folder. -- Update the gamepad controller database by upgrading the [`gamecontrollerdb.txt`](art/engine/input) file. -- Depending on your IDE, you might need to browse to [`split/`](split/) sources when debugging FWK. +- Dropped files into game window will be imported & saved into [`import/`](engine/art/import/) folder. +- Update the gamepad controller database by upgrading the [`gamecontrollerdb.txt`](engine/art/input/) file. +- Depending on your IDE, you might need to browse to [`engine/split/`](engine/split/) sources when debugging FWK. - Cook assets on demand, as opposed to cook all existing assets on depot, by using `--cook-on-demand` flag. - Linux/OSX users can optionally install wine and use the Windows tools instead (by using `--cook-wine` flag). - Disable automatic cooking by using `--cook-jobs=0` flag (not recommended). -- Generate a project solution by dropping `split/fwk.h, fwk.c and fwk` files into it. +- Generate a project solution by dropping `engine/fwk.h, fwk.c and fwk` files into it. +- Auto-generated Luajit and Python bindings can be found in the [`engine/bind/`](engine/bind/) folder. + -## Credits (Artwork + demos) -- [Nanofactory](https://sketchfab.com/3d-models/kgirls01-d2f946f58a8040ae993cda70c97b302c), for kgirls01 3D model (CC BY-NC-ND 4.0). -- [RottingPixels](https://opengameart.org/content/2d-castle-platformer-tileset-16x16), for castle-tileset (CC0). -- [wwwtyro](https://github.com/wwwtyro/glsl-atmosphere), for nicest rayleigh/mie scattering shader around (CC0). +## Credits +**Artwork** +[Dean Evans, Raijin](https://youtu.be/RRvYkrrpMKo?t=147 "for the Map song (c)"), +[Nuulbee](https://sketchfab.com/3d-models/kgirls01-d2f946f58a8040ae993cda70c97b302c "for kgirls01 3D model (CC BY-NC-ND 4.0)"), +[Rotting Pixels](https://opengameart.org/content/2d-castle-platformer-tileset-16x16 "for castle-tileset (CC0)"), +[Tom Lewandowski](https://QuestStudios.com "for his MIDI recordings (c)"), +[Rye Terrell](https://github.com/wwwtyro/glsl-atmosphere "for nicest rayleigh/mie scattering shader around (CC0)"), +**Tools** +[Aaron Barany](https://github.com/akb825/Cuttlefish "for cuttlefish (APACHE2)"), +[Arseny Kapoulkine](https://github.com/zeux/pugixml/ "for pugixml (MIT)"), +[Assimp authors](https://github.com/assimp/assimp "for assimp (BSD3)"), +[Bernhard Schelling](https://github.com/schellingb/TinySoundFont "for tml.h (Zlib) and tsf.h (MIT)"), +[Christian Collins](http://www.schristiancollins.com "for GeneralUser GS soundfont (PD)"), +[FFMPEG authors](https://www.ffmpeg.org/ "for ffmpeg (LGPL21)"), +[Imagination](https://developer.imaginationtech.com/pvrtextool/ "for pvrtextoolcli (ITL)"), +[Krzysztof Gabis](https://github.com/kgabis/ape "for split.py/join.py (MIT)"), +[Lee Salzman](https://github.com/lsalzman/iqm/tree/5882b8c32fa622eba3861a621bb715d693573420/demo "for iqm.cpp (PD)"), +[Martín Lucas Golini](https://github.com/SpartanJ/eepp/commit/8552941da19380d7a629c4da80a976aec5d39e5c "for emscripten-fs.html (CC0)"), +[Mattias Gustavsson](https://github.com/mattiasgustavsson/libs "for mid.h (PD)"), +[Michael Schmoock](http://github.com/willsteel/lcpp "for lcpp (MIT)"), +[Morgan McGuire](https://casual-effects.com/markdeep/ "for markdeep (BSD2)"), +[Olivier Lapicque, Konstanty Bialkowski](https://github.com/Konstanty/libmodplug "for libmodplug (PD)"), +[Polyglot Team](https://docs.google.com/spreadsheets/d/17f0dQawb-s_Fd7DHgmVvJoEGDMH_yoSd8EYigrb0zmM/edit "for polyglot gamedev (CC0)"), +[Tildearrow](https://github.com/tildearrow/furnace/ "for Furnace (GPL2)"), +[Tomas Pettersson](http://www.drpetter.se/ "for sfxr (PD)"), +[Tor Andersson](https://github.com/ccxvii/asstools "for assiqe.c (BSD)"), +**Runtime** +[Andreas Mantler](https://github.com/ands "for their math library (PD)"), +[Barerose](https://github.com/barerose "for swrap (CC0) and math library (CC0)"), +[Camilla Löwy](https://github.com/elmindreda "for glfw3 (Zlib)"), +[Dave Rand](https://tools.ietf.org/html/rfc1978 "for ppp (PD)"), +[David Herberth](https://github.com/dav1dde/ "for glad generated code (PD)"), +[David Reid](https://github.com/mackron "for miniaudio (PD)"), +[Dominic Szablewski](https://github.com/phoboslab/pl_mpeg "for pl_mpeg (MIT)"), +[Dominik Madarász](https://github.com/zaklaus "for json5 parser (PD)"), +[Eduard Suica](https://github.com/eduardsui/tlse "for tlse (PD)"), +[Evan Wallace](https://github.com/evanw "for their math library (CC0)"), +[Gargaj+cce/Peisik](https://github.com/gargaj/foxotron "for Foxotron/PBR shaders (UNLICENSE)"), +[Guilherme Lampert](https://github.com/glampert "for their math library (PD)"), +[Guillaume Vareille](http://tinyfiledialogs.sourceforge.net "for tinyfiledialogs (ZLIB)"), +[Haruhiko Okumura](https://oku.edu.mie-u.ac.jp/~okumura/compression/ "for lzss (PD)"), +[Igor Pavlov](https://www.7-zip.org/ "for LZMA (PD)"), +[Ilya Muravyov](https://github.com/encode84 "for bcm, balz, crush, ulz, lz4x (PD)"), +[Jon Olick](https://www.jonolick.com/ "for jo_mp1 and jo_mpeg (PD)"), +[Joonas Pihlajamaa](https://github.com/jokkebk/JUnzip "for JUnzip library (PD)"), +[Juliette Focault](https://github.com/juliettef/IconFontCppHeaders/blob/main/IconsMaterialDesign.h "for the generated MD header (ZLIB)"), +[Kristoffer Grönlund](https://github.com/krig "for their math library (CC0)"), +[Lee Salzman](https://github.com/lsalzman/iqm/tree/5882b8c32fa622eba3861a621bb715d693573420/demo "for IQM spec & player (PD)"), +[Lee Salzman, V.Hrytsenko, D.Madarász](https://github.com/zpl-c/enet/ "for enet (MIT)"), +[Libtomcrypt](https://github.com/libtom/libtomcrypt "for libtomcrypt (Unlicense)"), +[Lua authors](https://www.lua.org/ "for Lua language (MIT)"), +[Mattias Gustavsson](https://github.com/mattiasgustavsson/libs "for thread.h and https.h (PD)"), +[Micha Mettke](https://github.com/vurtun "for their math library (PD)"), +[Micha Mettke, Chris Willcocks, Dmitry Hrabrov](https://github.com/vurtun/nuklear "for nuklear (PD)"), +[Michael Galetzka](https://github.com/Cultrarius/Swarmz "for swarmz (UNLICENSE)"), +[Morten Vassvik](https://github.com/vassvik/mv_easy_font "for mv_easy_font (Unlicense)"), +[Mārtiņš Možeiko](https://gist.github.com/mmozeiko/68f0a8459ef2f98bcd879158011cc275 "for A* pathfinding (PD)"), +[Omar Cornut, vaiorabbit](https://github.com/ocornut/imgui/pull/3627 "for tables of unicode ranges (MIT-0)"), +[Rabia Alhaffar](https://github.com/Rabios/ice_libs "for ice_batt.h (PD)"), +[Rich Geldreich](https://github.com/richgel999/miniz "for miniz (PD)"), +[Ross Williams](http://ross.net/compression/lzrw3a.html "for lzrw3a (PD)"), +[Samuli Raivio](https://github.com/bqqbarbhg/bq_websocket "for bq_websocket (PD)"), +[Sean Barrett](https://github.com/nothings "for stb_image, stb_image_write, stb_sprintf, stb_truetype and stb_vorbis (PD)"), +[Sebastian Steinhauer](https://github.com/kieselsteini "for sts_mixer (PD)"), +[Stan Melax, Cloud Wu](https://web.archive.org/web/20031204035320/http://www.melax.com/polychop/gdmag.pdf "for polychop C algorithm (PD)"), +[Stefan Gustavson](https://github.com/stegu/perlin-noise "for simplex noise (PD)"), +[Sterling Orsten](https://github.com/sgorsten "for their math library (UNLICENSE)"), +[Tor Andersson](https://github.com/ccxvii/minilibs "for xml.c (PD)"), +[Wolfgang Draxinger](https://github.com/datenwolf "for their math library (WTFPL2)"), -## Credits (Tools) -- [Aaron Barany](https://github.com/akb825/Cuttlefish), for cuttlefish (APACHE2). -- [Arseny Kapoulkine](https://github.com/zeux/pugixml/), for pugixml (MIT). -- [Assimp authors](https://github.com/assimp/assimp), for assimp (BSD3). -- [Bernhard Schelling](https://github.com/schellingb/TinySoundFont), for tml.h (Zlib) and tsf.h (MIT). -- [ffmpeg authors](https://www.ffmpeg.org/), for ffmpeg (LGPL21). -- [Imagination](https://developer.imaginationtech.com/pvrtextool/), for pvrtextoolcli (ITL). -- [Krzysztof Gabis](https://github.com/kgabis/ape), for split.py/join.py (MIT). -- [Lee Salzman](https://github.com/lsalzman/iqm/tree/5882b8c32fa622eba3861a621bb715d693573420/demo), for iqm.cpp (PD). -- [Mattias Gustavsson](https://github.com/mattiasgustavsson/libs), for mid.h (PD). -- [Michael Schmoock](http://github.com/willsteel/lcpp), for lcpp (MIT). -- [Olivier Lapicque, Konstanty Bialkowski](https://github.com/Konstanty/libmodplug), for libmodplug (PD). -- [Polyglot Team](https://docs.google.com/spreadsheets/d/17f0dQawb-s_Fd7DHgmVvJoEGDMH_yoSd8EYigrb0zmM/edit), for polyglot gamedev (CC0). -- [Tildearrow](https://github.com/tildearrow/furnace/), for Furnace (GPL2). -- [Tomas Pettersson](http://www.drpetter.se/), for sfxr (PD). -- [Tor Andersson](https://github.com/ccxvii/asstools), for assiqe.c (BSD). - -## Credits (Runtime) -- [Barerose](https://github.com/barerose), for swrap (CC0). -- [Camilla Löwy](https://github.com/elmindreda), for glfw3 (Zlib). -- [Dave Rand](https://tools.ietf.org/html/rfc1978) for ppp (PD). -- [David Herberth](https://github.com/dav1dde/), for glad generated code (PD). -- [David Reid](https://github.com/mackron), for miniaudio (PD). -- [Dominic Szablewski](https://github.com/phoboslab/pl_mpeg), for pl_mpeg (MIT). -- [Dominik Madarász](https://github.com/zaklaus), for json5 parser (PD). -- [Eduard Suica](https://github.com/eduardsui/tlse), for tlse (PD). -- [Gargaj+cce/Peisik](https://github.com/gargaj/foxotron), for Foxotron/PBR shaders (UNLICENSE). -- [Guillaume Vareille](http://tinyfiledialogs.sourceforge.net), for tinyfiledialogs (ZLIB). -- [Haruhiko Okumura](https://oku.edu.mie-u.ac.jp/~okumura/compression/) for lzss (PD). -- [Igor Pavlov](https://www.7-zip.org/) for LZMA (PD). -- [Ilya Muravyov](https://github.com/encode84) for bcm, balz, crush, ulz, lz4x (PD). -- [Jon Olick](https://www.jonolick.com/), for jo_mp1 and jo_mpeg (PD). -- [Joonas Pihlajamaa](https://github.com/jokkebk/JUnzip), for JUnzip library (PD). -- [Juliette Focault](https://github.com/juliettef/IconFontCppHeaders/blob/main/IconsMaterialDesign.h), for the generated MD header (ZLIB). -- [Lee Salzman](https://github.com/lsalzman/iqm/tree/5882b8c32fa622eba3861a621bb715d693573420/demo), for IQM spec & player (PD). -- [Lee Salzman, V.Hrytsenko, D.Madarász](https://github.com/zpl-c/enet/), for enet (MIT). -- [Libtomcrypt](https://github.com/libtom/libtomcrypt), for libtomcrypt (Unlicense). -- [Lua authors](https://www.lua.org/), for Lua language (MIT). -- [Mārtiņš Možeiko](https://gist.github.com/mmozeiko/68f0a8459ef2f98bcd879158011cc275), for A* pathfinding (PD). -- [Mattias Gustavsson](https://github.com/mattiasgustavsson/libs), for thread.h and https.h (PD). -- [Micha Mettke, Chris Willcocks, Dmitry Hrabrov](https://github.com/vurtun/nuklear), for nuklear (PD). -- [Michael Galetzka](https://github.com/Cultrarius/Swarmz), for swarmz (UNLICENSE). -- [Omar Cornut, vaiorabbit](https://github.com/ocornut/imgui/pull/3627), for tables of unicode ranges (MIT-0). -- [Rabia Alhaffar](https://github.com/Rabios/ice_libs), for ice_batt.h (PD). -- [Rich Geldreich](https://github.com/richgel999/miniz), for miniz (PD). -- [Ross Williams](http://ross.net/compression/lzrw3a.html) for lzrw3a (PD). -- [Samuli Raivio](https://github.com/bqqbarbhg/bq_websocket), for bq_websocket (PD). -- [Sean Barrett](https://github.com/nothings), for stb_image, stb_image_write, stb_sprintf, stb_truetype and stb_vorbis (PD). -- [Sebastian Steinhauer](https://github.com/kieselsteini), for sts_mixer (PD). -- [Stan Melax, Cloud Wu](https://web.archive.org/web/20031204035320/http://www.melax.com/polychop/gdmag.pdf), for polychop C algorithm (PD). -- [Stefan Gustavson](https://github.com/stegu/perlin-noise), for simplex noise (PD). -- [Tor Andersson](https://github.com/ccxvii/minilibs), for xml.c (PD). -- [Vassvik](https://github.com/vassvik/mv_easy_font), for mv_easy_font (Unlicense). -- Special thanks to [@ands](https://github.com/ands), [@barerose](https://github.com/barerose), [@datenwolf](https://github.com/datenwolf), [@evanw](https://github.com/evanw), [@glampert](https://github.com/glampert), [@krig](https://github.com/krig), [@sgorsten](https://github.com/sgorsten) and [@vurtun](https://github.com/vurtun) for their math libraries (PD,CC0,WTFPL2,CC0,PD,CC0,Unlicense,PD). + ## Unlicense This software is released into the [public domain](https://unlicense.org/). Also dual-licensed as [0-BSD](https://opensource.org/licenses/0BSD) or [MIT (No Attribution)](https://github.com/aws/mit-0) for those countries where public domain is a concern (sigh). Any contribution to this repository is implicitly subjected to the same release conditions aforementioned. ## Links -

-Issues -Discord
+Still looking for alternatives? [amulet](https://github.com/ianmaclarty/amulet), [aroma](https://github.com/leafo/aroma/), [astera](https://github.com/tek256/astera), [blendelf](https://github.com/jesterKing/BlendELF), [bullordengine](https://github.com/MarilynDafa/Bulllord-Engine), [candle](https://github.com/EvilPudding/candle), [cave](https://github.com/kieselsteini/cave), [chickpea](https://github.com/ivansafrin/chickpea), [corange](https://github.com/orangeduck/Corange), [cute](https://github.com/RandyGaul/cute_framework), [dos-like](https://github.com/mattiasgustavsson/dos-like), [ejoy2d](https://github.com/ejoy/ejoy2d), [exengine](https://github.com/exezin/exengine), [gunslinger](https://github.com/MrFrenik/gunslinger), [hate](https://github.com/excessive/hate), [island](https://github.com/island-org/island), [juno](https://github.com/rxi/juno), [l](https://github.com/Lyatus/L), [lgf](https://github.com/Planimeter/lgf), [limbus](https://github.com/redien/limbus), [love](https://github.com/love2d/love/), [lovr](https://github.com/bjornbytes/lovr), [mini3d](https://github.com/mini3d/mini3d), [mintaro](https://github.com/mackron/mintaro), [mio](https://github.com/ccxvii/mio), [olive.c](https://github.com/tsoding/olive.c), [opensource](https://github.com/w23/OpenSource), [ouzel](https://github.com/elnormous/ouzel/), [pez](https://github.com/prideout/pez), [pixie](https://github.com/mattiasgustavsson/pixie), [punity](https://github.com/martincohen/Punity), [r96](https://github.com/badlogic/r96), [ricotech](https://github.com/dbechrd/RicoTech), [rizz](https://github.com/septag/rizz), [tigr](https://github.com/erkkah/tigr), [yourgamelib](https://github.com/duddel/yourgamelib) -Still looking for alternatives? -[amulet](https://github.com/ianmaclarty/amulet), [aroma](https://github.com/leafo/aroma/), [astera](https://github.com/tek256/astera), [blendelf](https://github.com/jesterKing/BlendELF), [bullordengine](https://github.com/MarilynDafa/Bulllord-Engine), [candle](https://github.com/EvilPudding/candle), [cave](https://github.com/kieselsteini/cave), [chickpea](https://github.com/ivansafrin/chickpea), [corange](https://github.com/orangeduck/Corange), [cute](https://github.com/RandyGaul/cute_framework), [dos-like](https://github.com/mattiasgustavsson/dos-like), [ejoy2d](https://github.com/ejoy/ejoy2d), [exengine](https://github.com/exezin/exengine), [gunslinger](https://github.com/MrFrenik/gunslinger), [hate](https://github.com/excessive/hate), [island](https://github.com/island-org/island), [juno](https://github.com/rxi/juno), [l](https://github.com/Lyatus/L), [lgf](https://github.com/Planimeter/lgf), [limbus](https://github.com/redien/limbus), [love](https://github.com/love2d/love/), [lovr](https://github.com/bjornbytes/lovr), [mini3d](https://github.com/mini3d/mini3d), [mintaro](https://github.com/mackron/mintaro), [mio](https://github.com/ccxvii/mio), [olive.c](https://github.com/tsoding/olive.c), [opensource](https://github.com/w23/OpenSource), [ouzel](https://github.com/elnormous/ouzel/), [pez](https://github.com/prideout/pez), [pixie](https://github.com/mattiasgustavsson/pixie), [punity](https://github.com/martincohen/Punity), [r96](https://github.com/badlogic/r96), [ricotech](https://github.com/dbechrd/RicoTech), [rizz](https://github.com/septag/rizz), [tigr](https://github.com/erkkah/tigr), [yourgamelib](https://github.com/duddel/yourgamelib) -

+Issues Discord diff --git a/demos/01_syncdemo.c b/demos/01_syncdemo.c new file mode 100644 index 0000000..b865c1c --- /dev/null +++ b/demos/01_syncdemo.c @@ -0,0 +1,83 @@ +#define FWK_IMPLEMENTATION // unrolls single-header implementation +#include "engine/joint/fwk.h" // single-header file +#include "fwk_network.h" + + + +int main() { + struct player_t { + uint64_t seen_until; + int x,y,z; + uint32_t color; + }; + struct world_t { + struct player_t player[MAX_CLIENTS]; + } world = {0}; + + // network setup + network_create("127.0.0.1", 0, flag("--client") ? NETWORK_CONNECT : 0); + int64_t self_id = network_get(NETWORK_RANK); + + uint32_t colors[] = { ORANGE,GREEN,RED,CYAN,PURPLE,YELLOW,GRAY,PINK,AQUA }; + for (int64_t i=0; iseen_until < date_epoch()) continue; /* skip inactive players */ + float dist = len3(sub3(vec3(p->x,p->y,p->z), vec3(self->x,self->y,self->z))); + if (dist > ldist) { + ldist = dist; + other = p; + } + } + + // camera tracking + vec3 target = mix3(vec3(self->x,0,self->z), vec3(other->x,0,other->z), 0.40f); // weight:40% + // vec3 target = vec3(self->x,0,self->z); + vec3 dir = norm3(sub3(target, cam.position)); + camera_lookat(&cam, target); + float distance = len3(sub3(vec3(self->x,0,self->z), vec3(other->x,0,other->z))); + target = add3(target, scale3(dir, -(distance < 10 ? 10 : distance))); // min_distance:10 + cam.position = mix3(cam.position, target, 0.01f); // smoothing:0.01f + // cam.position = mix3(add3(cam.position, vec3(0,0.5f,0)), target, 0.01f); // smoothing:0.01f + + // input - move player + self->x += input(KEY_RIGHT) - input(KEY_LEFT); + self->z += input(KEY_DOWN) - input(KEY_UP); + self->seen_until = date_epoch() + 4; + + // background - draw grid + ddraw_grid(0); + + // foreground - draw all players + for( int id = 0; id < MAX_CLIENTS; ++id ) { + struct player_t *p = &world.player[id]; + if (p->seen_until < date_epoch()) continue; /* skip inactive players */ + ddraw_color( p->color ); + ddraw_capsule(vec3(p->x,0,p->z), vec3(p->x,2,p->z), 1); + ddraw_text(vec3(p->x,4,p->z), 0.01, stringf("player #%d", id)); + } + + // stats + char title[64]; + sprintf(title, "player #%lld", self_id); + window_title(title); + } +} diff --git a/demos/art/audio/larry.mid b/demos/art/audio/larry.mid new file mode 100644 index 0000000000000000000000000000000000000000..3b886aa186280471471776f18726cbd449fdd6d1 GIT binary patch literal 15307 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 literal 0 HcmV?d00001 diff --git a/demos/html5/MAKE.bat b/demos/html5/MAKE.bat new file mode 100644 index 0000000..d715ec2 --- /dev/null +++ b/demos/html5/MAKE.bat @@ -0,0 +1,58 @@ +#!/bin/bash 2>nul || goto :windows + +if [ "$1" = "" ]; then + sh MAKE.bat demo_ui.c + exit +fi + +## clone emscripten sdk +git clone https://github.com/emscripten-core/emsdk ../../../../../emsdk +pushd ../../../../../emsdk + ./emsdk install 3.0.0 ## latest + ./emsdk activate 3.0.0 ## latest + source ./emsdk_env.sh +popd + +## cook art +if [ "$(uname)" = "Darwin" ]; then + chmod +x ../../tools/cook.osx + ../../tools/cook.osx --cook-jobs=1 --cook-ini=../../tools/cook.ini + cp .art[00].zip index.data +else + chmod +x ../../tools/cook.linux + ../../tools/cook.linux --cook-jobs=1 --cook-ini=../../tools/cook.ini + cp .art[00].zip index.data +fi + +## host webserver, compile and launch +python -m http.server --bind 127.0.0.1 8000 1> /dev/null 2> /dev/null & +emcc $@ -g ../../engine/fwk.c -I../../engine -o index.html -s FULL_ES3 -s USE_PTHREADS -s USE_GLFW=3 -s SINGLE_FILE=1 -s PRECISE_F32=1 -s TOTAL_MEMORY=256mb -s ENVIRONMENT=worker,web --shell-file template.html -Wfatal-errors --preload-file .art[00].zip -s ALLOW_MEMORY_GROWTH=1 -lidbfs.js && xdg-open http://localhost:8000/index.html + +exit + +:windows + +if "%1"=="" MAKE.bat demo_collide.c + +rem clone emscripten sdk +if not exist "emsdk" ( + git clone https://github.com/emscripten-core/emsdk emsdk + pushd emsdk + call emsdk install 3.0.0 && rem latest + call emsdk activate 3.0.0 && rem latest + popd +) +if "%EMSDK%"=="" call emsdk\emsdk_env.bat --system + +rem cook art +..\..\tools\cook.exe --cook-jobs=1 --cook-ini=..\..\tools\cook.ini +copy .art[00].zip index.data + +rem host webserver:8000 if not open , compile and launch +netstat /ano | find /i "listening" | find ":8000" >nul 2>nul && ( + rem start python -m http.server --bind 127.0.0.1 8000 +) || ( + start python -m http.server --bind 127.0.0.1 8000 +) + +emcc %* -g ..\..\engine\fwk.c -I..\..\engine -o index.html -pthread -s FULL_ES3 -s USE_PTHREADS -s USE_GLFW=3 -s SINGLE_FILE=1 -s PRECISE_F32=1 -s TOTAL_MEMORY=256mb -s ENVIRONMENT=worker,web --shell-file template.html -Wfatal-errors --preload-file .art[00].zip -s ALLOW_MEMORY_GROWTH=1 -lidbfs.js && start "" http://localhost:8000/index.html diff --git a/demos/html5/README.md b/demos/html5/README.md new file mode 100644 index 0000000..5fd015d --- /dev/null +++ b/demos/html5/README.md @@ -0,0 +1,21 @@ +## Known HTML5 issues: +- [x] Game loop is event based (fixed: see `window_loop()`) +- [x] No automated emsdk installation (fixed: see `demos/html5/MAKE.bat`) +- [x] Art must be cooked beforehand (fixed: see `demos/html5/MAKE.bat`) +- [x] No VFS loading (fixed) +- [x] No UI rendering (fixed) +- [x] No cooker (fixed: win,osx,linux) +- [x] No input (fixed) +- [x] No gamepads (fixed) +- [x] No multi-touch (fixed) +- [x] No threads (fixed) +- [ ] No audio +- [ ] No file writing (untested) +- [ ] No glTexture1D() +- [ ] No network +- [ ] No fbos +- [ ] No callstacks +- [ ] No pbos +- [ ] Shaders require (automated?) GL->GLES translation (No postfxs, models, skyboxes, pbrs, ...) (@todo: embed Spir-v/glslcross tools?) +- [ ] Shaders: `vec2 iResolution = vec2(iWidth, iHeight); // ERROR: '=' : global variable initializers must be constant expressions` +- [ ] Shaders: `uniform float var = 1.0f; // ERROR: 'uniform' : cannot initialize this type of qualifier` diff --git a/demos/html5/demo_collide.c b/demos/html5/demo_collide.c new file mode 100644 index 0000000..20ce438 --- /dev/null +++ b/demos/html5/demo_collide.c @@ -0,0 +1,616 @@ +// original code by @vurtun (public domain) +// - rlyeh, public domain. +// +// @todo: fix leaks: poly_free() + +#include "fwk.h" + +// -- demo + +int paused; +camera_t cam; + +void game_loop(void *userdata) { + // key handler + if (input_down(KEY_F11) ) window_fullscreen( window_has_fullscreen()^1 ); + if (input_down(KEY_ESC) ) window_loop_exit(); // @todo: break -> window_close() + + // animation + static float dx = 0, dy = 0; + if (input_down(KEY_SPACE)) paused ^= 1; + float delta = (0.25f / 60.f) * !paused; + dx = dx + delta * 2.0f; + dy = dy + delta * 0.8f; + + // fps camera + { + vec3 move = {0}; + vec2 view = {0}; + + // show/hide cursor + bool dragging = input(MOUSE_L) || input(MOUSE_M) || input(MOUSE_R); + if( ui_active() || ui_hover() || gizmo_active() || input_touch_active() ) dragging = false; + window_cursor( !dragging ); + + // keyboard/mouse + if( dragging ) cam.speed = clampf(cam.speed + input_diff(MOUSE_W) / 10, 0.05f, 5.0f); + vec3 wasdec = scale3(vec3(input(KEY_D)-input(KEY_A),input(KEY_E)-input(KEY_C),input(KEY_W)-input(KEY_S)), cam.speed); + vec2 mouse = scale2(vec2(input_diff(MOUSE_X), -input_diff(MOUSE_Y)), 0.2f * dragging); + move = add3(move, wasdec); + view = add2(view, mouse); + + // gamepad + vec2 filtered_lpad = input_filter_deadzone(input2(GAMEPAD_LPAD), 0.15f /*15% deadzone*/); + vec2 filtered_rpad = input_filter_deadzone(input2(GAMEPAD_RPAD), 0.15f /*15% deadzone*/); + vec3 gamepad_move = scale3(vec3(filtered_lpad.x, input(GAMEPAD_LT) - input(GAMEPAD_RT), filtered_lpad.y), 1.0f); + vec2 gamepad_view = scale2(filtered_rpad, 1.0f); + move = add3(move, gamepad_move); + view = add2(view, gamepad_view); + + // multi-touch + vec2 touch_move = input_touch_delta_from_origin(0, 0.0125f /*sensitivityFwd*/); // button #0 (left border) + vec2 touch_view = input_touch_delta(1, 0.125f /*sensitivityRot*/); // button #1 (right border) + move = add3(move, vec3(touch_move.x, 0, -touch_move.y)); + view = add2(view, vec2(touch_view.x, -touch_view.y)); + + // apply inputs + camera_move(&cam, move.x,move.y,move.z); + camera_fps(&cam, view.x,view.y); + } + + // projview matrix + mat44 projview; multiply44x2(projview, cam.proj, cam.view); + + // rendering + viewport_color3(vec3(0.15,0.15,0.15)); +#if 0 + viewport_clear(true, true); + viewport_clip(vec2(0,0), vec2(window_width(), window_height())); +#endif + + // debug draw collisions + { + // 3D + glEnable(GL_DEPTH_TEST); + + // grid + ddraw_grid(0); + + { + // Triangle-Ray Intersection*/ + vec3 ro, rd; + int suc; + + triangle tri = { vec3(-9,1,28), vec3(-10,0,28), vec3(-11,1,28) }; + + // ray + ro = vec3(-10,-1,20); + rd = vec3(-10+0.4f*sinf(dx), 2.0f*cosf(dy), 29.81023f); + rd = sub3(rd, ro); + rd = norm3(rd); + + ray r = ray(ro, rd); + hit *hit = ray_hit_triangle(r, tri); + if (hit) { + // point of intersection + ddraw_color(RED); + ddraw_box(hit->p, vec3(0.10f, 0.10f, 0.10f)); + + // intersection normal + ddraw_color(BLUE); + vec3 v = add3(hit->p, hit->n); + ddraw_arrow(hit->p, v); + } + + // line + ddraw_color(RED); + rd = scale3(rd,10); + rd = add3(ro,rd); + ddraw_line(ro, rd); + + // triangle + if (hit) ddraw_color(RED); + else ddraw_color(WHITE); + ddraw_triangle(tri.p0,tri.p1,tri.p2); + } + { + // Plane-Ray Intersection*/ + vec3 ro, rd; + mat33 rot; + + // ray + static float d = 0; + d += delta * 2.0f; + ro = vec3(0,-1,20); + rd = vec3(0.1f, 0.5f, 9.81023f); + rd = sub3(rd, ro); + rd = norm3(rd); + + // rotation + rotation33(rot, deg(d), 0,1,0); + rd = mulv33(rot, rd); + + // intersection + ray r = ray(ro, rd); + plane pl = plane(vec3(0,0,28), vec3(0,0,1)); + hit *hit = ray_hit_plane(r, pl); + if (hit) { + // point of intersection + ddraw_color(RED); + ddraw_box(hit->p, vec3(0.10f, 0.10f, 0.10f)); + + // intersection normal + ddraw_color(BLUE); + vec3 v = add3(hit->p, hit->n); + ddraw_arrow(hit->p, v); + ddraw_color(RED); + } + // line + ddraw_color(RED); + rd = scale3(rd,9); + rd = add3(ro,rd); + ddraw_line(ro, rd); + + // plane + if (hit) ddraw_color(RED); + else ddraw_color(WHITE); + ddraw_plane(vec3(0,0,28), vec3(0,0,1), 3.0f); + } + { + // Sphere-Ray Intersection*/ + vec3 ro, rd; + sphere s; + + // ray + ro = vec3(0,-1,0); + rd = vec3(0.4f*sinf(dx), 2.0f*cosf(dy), 9.81023f); + rd = sub3(rd, ro); + rd = norm3(rd); + + ray r = ray(ro, rd); + s = sphere(vec3(0,0,8), 1); + hit *hit = ray_hit_sphere(r, s); + if(hit) { + // points of intersection + vec3 in = add3(ro,scale3(rd,hit->t0)); + + ddraw_color(GREEN); + ddraw_box(in, vec3(0.05f, 0.05f, 0.05f)); + + in = add3(ro,scale3(rd,hit->t1)); + + ddraw_color(YELLOW); + ddraw_box(in, vec3(0.05f, 0.05f, 0.05f)); + + // intersection normal + ddraw_color(BLUE); + vec3 v = add3(hit->p, hit->n); + ddraw_arrow(hit->p, v); + ddraw_color(RED); + } + // line + ddraw_color(RED); + rd = scale3(rd,10); + rd = add3(ro,rd); + ddraw_line(ro, rd); + + // sphere + if (hit) ddraw_color(RED); + else ddraw_color(WHITE); + ddraw_sphere(vec3(0,0,8), 1); + } + { // ray-aabb + aabb bounds = aabb(vec3(10-0.5f,-0.5f,7.5f), vec3(10.5f,0.5f,8.5f)); + + vec3 ro = vec3(10,-1,0); + vec3 rd = vec3(10+0.4f*sinf(dx), 2.0f*cosf(dy), 9.81023f); + rd = norm3(sub3(rd, ro)); + ray r = ray(ro, rd); + + hit *hit = ray_hit_aabb(r, bounds); + if(hit) { + // points of intersection + vec3 in; + in = scale3(rd,hit->t0); + in = add3(ro,in); + + ddraw_color(RED); + ddraw_box(in, vec3(0.05f, 0.05f, 0.05f)); + + in = scale3(rd,hit->t1); + in = add3(ro,in); + + ddraw_color(RED); + ddraw_box(in, vec3(0.05f, 0.05f, 0.05f)); + + // intersection normal + ddraw_color(BLUE); + vec3 v = add3(hit->p, hit->n); + ddraw_arrow(hit->p, v); + ddraw_color(RED); + } else ddraw_color(WHITE); + ddraw_box(vec3(10,0,8), vec3(1,1,1)); + + // line + ddraw_color(RED); + rd = scale3(rd,10); + rd = add3(ro,rd); + ddraw_line(ro, rd); + } + { + // Sphere-Sphere intersection*/ + sphere a = sphere(vec3(-10,0,8), 1); + sphere b = sphere(vec3(-10+0.6f*sinf(dx), 3.0f*cosf(dy),8), 1); + hit *m = sphere_hit_sphere(a, b); + if (m) { + vec3 v; + ddraw_color(BLUE); + ddraw_box(m->contact_point, vec3(0.05f, 0.05f, 0.05f)); + v = add3(m->contact_point, m->normal); + ddraw_arrow(m->contact_point, v); + ddraw_color(RED); + } else ddraw_color(WHITE); + + ddraw_sphere(a.c, 1); + ddraw_sphere(b.c, 1); + } + { + // AABB-AABB intersection*/ + const float x = 10+0.6f*sinf(dx); + const float y = 3.0f*cosf(dy); + const float z = 20.0f; + + aabb a = aabb(vec3(10-0.5f,-0.5f,20-0.5f), vec3(10+0.5f,0.5f,20.5f)); + aabb b = aabb(vec3(x-0.5f,y-0.5f,z-0.5f), vec3(x+0.5f,y+0.5f,z+0.5f)); + hit *m = aabb_hit_aabb(a, b); + if(m) { + vec3 v; + ddraw_color(BLUE); + ddraw_box(m->contact_point, vec3(0.05f, 0.05f, 0.05f)); + v = add3(m->contact_point, m->normal); + ddraw_arrow(m->contact_point, v); + ddraw_color(RED); + } else ddraw_color(WHITE); + + ddraw_box(vec3(10,0,20), vec3(1,1,1)); + ddraw_box(vec3(x,y,z), vec3(1,1,1)); + } + { + // Capsule-Capsule intersection*/ + const float x = 20+0.4f*sinf(dx); + const float y = 3.0f*cosf(dy); + const float z = 28.5f; + + capsule a = capsule(vec3(20.0f,-1.0f,28.0f), vec3(20.0f,1.0f,28.0f), 0.2f); + capsule b = capsule(vec3(x,y-1.0f,z), vec3(x,y+1.0f,z-1.0f), 0.2f); + hit *m = capsule_hit_capsule(a, b); + if( m ) { + vec3 v; + ddraw_color(BLUE); + ddraw_box(m->contact_point, vec3(0.05f, 0.05f, 0.05f)); + v = add3(m->contact_point, m->normal); + ddraw_arrow(m->contact_point, v); + ddraw_color(RED); + } else ddraw_color(WHITE); + ddraw_capsule(vec3(x,y-1.0f,z), vec3(x,y+1.0f,z-1.0f), 0.2f); + ddraw_capsule(vec3(20.0f,-1.0f,28.0f), vec3(20.0f,1.0f,28.0f), 0.2f); + } + { + // AABB-Sphere intersection*/ + aabb a = aabb(vec3(20-0.5f,-0.5f,7.5f), vec3(20.5f,0.5f,8.5f)); + sphere s = sphere(vec3(20+0.6f*sinf(dx), 3.0f*cosf(dy),8), 1); + hit *m = aabb_hit_sphere(a, s); + if(m) { + vec3 v; + ddraw_color(BLUE); + ddraw_box(m->contact_point, vec3(0.05f, 0.05f, 0.05f)); + v = add3(m->contact_point, m->normal); + ddraw_arrow(m->contact_point, v); + ddraw_color(RED); + } else ddraw_color(WHITE); + + ddraw_box(vec3(20,0,8), vec3(1,1,1)); + ddraw_sphere(s.c, 1); + } + { + // Sphere-AABB intersection*/ + const float x = 10+0.6f*sinf(dx); + const float y = 3.0f*cosf(dy); + const float z = -8.0f; + + sphere s = sphere(vec3(10,0,-8), 1); + aabb a = aabb(vec3(x-0.5f,y-0.5f,z-0.5f), vec3(x+0.5f,y+0.5f,z+0.5f)); + hit *m = sphere_hit_aabb(s, a); + if(m) { + vec3 v; + ddraw_color(BLUE); + ddraw_box(m->contact_point, vec3(0.05f, 0.05f, 0.05f)); + v = add3(m->contact_point, m->normal); + ddraw_arrow(m->contact_point, v); + ddraw_color(RED); + } else ddraw_color(WHITE); + + ddraw_box(vec3(x,y,z), vec3(1,1,1)); + ddraw_sphere(s.c, 1); + } + { + // Capsule-Sphere intersection*/ + capsule c = capsule(vec3(-20.5f,-1.0f,7.5f), vec3(-20+0.5f,1.0f,8.5f), 0.2f); + sphere b = sphere(vec3(-20+0.6f*sinf(dx), 3.0f*cosf(dy),8), 1); + hit *m = capsule_hit_sphere(c, b); + if(m) { + vec3 v; + ddraw_color(BLUE); + ddraw_box(m->contact_point, vec3(0.05f, 0.05f, 0.05f)); + v = add3(m->contact_point, m->normal); + ddraw_arrow(m->contact_point, v); + ddraw_color(RED); + } else ddraw_color(WHITE); + ddraw_sphere(b.c, 1); + ddraw_capsule(vec3(-20.5f,-1.0f,7.5f), vec3(-20+0.5f,1.0f,8.5f), 0.2f); + } + { + // Sphere-Capsule intersection*/ + const float x = 20+0.4f*sinf(dx); + const float y = 3.0f*cosf(dy); + const float z = -8; + + sphere s = sphere(vec3(20,0,-8), 1); + capsule c = capsule(vec3(x,y-1.0f,z), vec3(x,y+1.0f,z-1.0f), 0.2f); + hit *m = sphere_hit_capsule(s, c); + if(m) { + vec3 v; + ddraw_color(BLUE); + ddraw_box(m->contact_point, vec3(0.05f, 0.05f, 0.05f)); + v = add3(m->contact_point, m->normal); + ddraw_arrow(m->contact_point, v); + ddraw_color(RED); + } else ddraw_color(WHITE); + + ddraw_capsule(vec3(x,y-1.0f,z), vec3(x,y+1.0f,z-1.0f), 0.2f); + ddraw_sphere(s.c, 1); + } + { + // Capsule-AABB intersection*/ + const float x = -20+0.6f*sinf(dx); + const float y = 3.0f*cosf(dy); + const float z = 28.0f; + + capsule c = capsule(vec3(-20.5f,-1.0f,27.5f), vec3(-20+0.5f,1.0f,28.5f), 0.2f); + aabb b = aabb(vec3(x-0.5f,y-0.5f,z-0.5f), vec3(x+0.5f,y+0.5f,z+0.5f)); + hit *m = capsule_hit_aabb(c, b); + if(m) { + vec3 v; + ddraw_color(BLUE); + ddraw_box(m->contact_point, vec3(0.05f, 0.05f, 0.05f)); + v = add3(m->contact_point, m->normal); + ddraw_arrow(m->contact_point, v); + ddraw_color(RED); + } else ddraw_color(WHITE); + ddraw_box(vec3(x,y,z), vec3(1,1,1)); + ddraw_capsule(vec3(-20.5f,-1.0f,27.5f), vec3(-20+0.5f,1.0f,28.5f), 0.2f); + } + { + // AABB-Capsule intersection*/ + const float x = 0.4f*sinf(dx); + const float y = 3.0f*cosf(dy); + const float z = -8; + + aabb a = aabb(vec3(-0.5f,-0.5f,-8.5f), vec3(0.5f,0.5f,-7.5f)); + capsule c = capsule(vec3(x,y-1.0f,z), vec3(x,y+1.0f,z-1.0f), 0.2f); + hit *m = aabb_hit_capsule(a, c); + if(m) { + ddraw_color(RED); + ddraw_box(m->contact_point, vec3(0.05f, 0.05f, 0.05f)); + ddraw_arrow(m->contact_point, add3(m->contact_point, m->normal)); + } else ddraw_color(WHITE); + + ddraw_capsule(vec3(x,y-1.0f,z), vec3(x,y+1.0f,z-1.0f), 0.2f); + ddraw_box(vec3(0,0,-8.0f), vec3(1,1,1)); + } + { + // poly(Pyramid)-Sphere (GJK) intersection*/ + sphere s = sphere(vec3(-10+0.6f*sinf(dx), 3.0f*cosf(dy),-8), 1); + poly pyr = pyramid(vec3(-10.5f,-0.5f,-7.5f), vec3(-10.5f,1.0f,-7.5f), 1.0f); + + gjk_result gjk; + if (poly_hit_sphere(&gjk, pyr, s)) + ddraw_color(RED); + else ddraw_color(WHITE); + + ddraw_sphere(s.c, 1); + ddraw_pyramid(vec3(-10.5f,-0.5f,-7.5f), 0.5f/*vec3(-10.5f,1.0f,-7.5f)*/, 1.0f); + + poly_free(&pyr); + + ddraw_box(gjk.p0, vec3(0.05f, 0.05f, 0.05f)); + ddraw_box(gjk.p1, vec3(0.05f, 0.05f, 0.05f)); + ddraw_line(gjk.p0, gjk.p1); + } + { + // poly(Diamond)-Sphere (GJK) intersection*/ + + sphere s = sphere(vec3(-20+0.6f*sinf(dx), 3.0f*cosf(dy),-8), 1); + poly dmd = diamond(vec3(-20.5f,-0.5f,-7.5f), vec3(-20.5f,1.0f,-7.5f), 0.5f); + + gjk_result gjk; + if (poly_hit_sphere(&gjk, dmd, s)) + ddraw_color(RED); + else ddraw_color(WHITE); + + ddraw_sphere(s.c, 1); + ddraw_diamond(vec3(-20.5f,-0.5f,-7.5f), vec3(-20.5f,1.0f,-7.5f), 0.5f); + + poly_free(&dmd); + + ddraw_box(gjk.p0, vec3(0.05f, 0.05f, 0.05f)); + ddraw_box(gjk.p1, vec3(0.05f, 0.05f, 0.05f)); + ddraw_line(gjk.p0, gjk.p1); + } + { + // poly(Pyramid)-Capsule (GJK) intersection*/ + + const float x = 0.4f*sinf(dx); + const float y = 3.0f*cosf(dy); + const float z = -15; + + capsule c = capsule(vec3(x,y-1.0f,z), vec3(x,y+1.0f,z), 0.2f); + poly pyr = pyramid(vec3(-0.5f,-0.5f,-15.5f), vec3(-0.5f,1.0f,-15.5f), 1.0f); + + gjk_result gjk; + if (poly_hit_capsule(&gjk, pyr, c)) + ddraw_color(RED); + else ddraw_color(WHITE); + + ddraw_capsule(c.a, c.b, c.r); + ddraw_pyramid(vec3(-0.5f,-0.5f,-15.5f), 0.5f/*vec3(-0.5f,1.0f,-15.5f)*/, 1.0f); + + poly_free(&pyr); + + ddraw_box(gjk.p0, vec3(0.05f, 0.05f, 0.05f)); + ddraw_box(gjk.p1, vec3(0.05f, 0.05f, 0.05f)); + ddraw_line(gjk.p0, gjk.p1); + } + + { + // poly(Diamond)-Capsule (GJK) intersection*/ + + const float x = -10 + 0.4f*sinf(dx); + const float y = 3.0f*cosf(dy); + const float z = -15; + + capsule c = capsule(vec3(x,y-1.0f,z), vec3(x,y+1.0f,z), 0.2f); + poly dmd = diamond(vec3(-10.5f,-0.5f,-15.5f), vec3(-10.5f,1.0f,-15.5f), 0.5f); + + gjk_result gjk; + if (poly_hit_capsule(&gjk, dmd, c)) + ddraw_color(RED); + else ddraw_color(WHITE); + + ddraw_capsule(c.a, c.b, c.r); + ddraw_diamond(vec3(-10.5f,-0.5f,-15.5f), vec3(-10.5f,1.0f,-15.5f), 0.5f); + + poly_free(&dmd); + + ddraw_box(gjk.p0, vec3(0.05f, 0.05f, 0.05f)); + ddraw_box(gjk.p1, vec3(0.05f, 0.05f, 0.05f)); + ddraw_line(gjk.p0, gjk.p1); + } + + { + // poly(Diamond)-poly(Pyramid) (GJK) intersection*/ + + const float x = -20 + 0.4f*sinf(dx); + const float y = 3.0f*cosf(dy); + const float z = -15; + + poly pyr = pyramid(vec3(x,y-0.5f,z), vec3(x,y+1,z), 0.8f); + poly dmd = diamond(vec3(-20.5f,-0.5f,-15.5f), vec3(-20.5f,1.0f,-15.5f), 0.5f); + + gjk_result gjk; + if (poly_hit_poly(&gjk, dmd, pyr)) + ddraw_color(RED); + else ddraw_color(WHITE); + + ddraw_pyramid(vec3(x,y-0.5f,z), 1/*vec3(x,y+1,z)*/, 1/*0.8f*/); + ddraw_diamond(vec3(-20.5f,-0.5f,-15.5f), vec3(-20.5f,1.0f,-15.5f), 0.5f); + + poly_free(&dmd); + poly_free(&pyr); + + ddraw_box(gjk.p0, vec3(0.05f, 0.05f, 0.05f)); + ddraw_box(gjk.p1, vec3(0.05f, 0.05f, 0.05f)); + ddraw_line(gjk.p0, gjk.p1); + } + { + // poly(Pyramid)-poly(Diamond) (GJK) intersection*/ + + const float x = 10 + 0.4f*sinf(dx); + const float y = 3.0f*cosf(dy); + const float z = -15; + + poly dmd = diamond(vec3(x,y-0.5f,z), vec3(x,y+1,z), 0.5f); + poly pyr = pyramid(vec3(10.5f,-0.5f,-15.5f), vec3(10.5f,1.0f,-15.5f), 1.0f); + + gjk_result gjk; + if (poly_hit_poly(&gjk, dmd, pyr)) + ddraw_color(RED); + else ddraw_color(WHITE); + + ddraw_diamond(vec3(x,y-0.5f,z), vec3(x,y+1,z), 0.5f); + ddraw_pyramid(vec3(10.5f,-0.5f,-15.5f), 0.5f/*vec3(10.5f,1.0f,-15.5f)*/, 1.0f); + + poly_free(&dmd); + poly_free(&pyr); + + ddraw_box(gjk.p0, vec3(0.05f, 0.05f, 0.05f)); + ddraw_box(gjk.p1, vec3(0.05f, 0.05f, 0.05f)); + ddraw_line(gjk.p0, gjk.p1); + } + { + // poly(Diamond)-AABB (GJK) intersection*/ + + const float x = 20 + 0.4f*sinf(dx); + const float y = 3.0f*cosf(dy); + const float z = -15; + + poly dmd = diamond(vec3(x,y-0.5f,z), vec3(x,y+1,z), 0.5f); + aabb a = aabb(vec3(19.5f,-0.5f,-14.5f), vec3(20.5f,0.5f,-15.5f)); + + gjk_result gjk; + if (poly_hit_aabb(&gjk, dmd, a)) + ddraw_color(RED); + else ddraw_color(WHITE); + + poly_free(&dmd); + + ddraw_diamond(vec3(x,y-0.5f,z), vec3(x,y+1,z), 0.5f); + ddraw_box(vec3(20,0,-15), vec3(1,1,1)); + + ddraw_box(gjk.p0, vec3(0.05f, 0.05f, 0.05f)); + ddraw_box(gjk.p1, vec3(0.05f, 0.05f, 0.05f)); + ddraw_line(gjk.p0, gjk.p1); + } + } + + //fx_begin(); + //ddraw_flush(); + //fx_end(); + + if( ui_panel("Audio", 0) ) { + if( ui_button("test audio") ) { + // audio (both clips & streams) + static audio_t voice; voice = audio_clip("coin.wav"); // "pew.sfxr" + static audio_t stream; stream = audio_stream("wrath_of_the_djinn.xm"); // "larry.mid" + audio_play(voice, 0); + audio_play(stream, 0); + } + ui_panel_end(); + } + + if( ui_panel("FX", 0) ) { + for( int i = 0; i < 64; ++i ) { + char *name = fx_name(i); if( !name ) break; + bool b = fx_enabled(i); + if( ui_bool(name, &b) ) fx_enable(i, fx_enabled(i) ^ 1); + } + ui_panel_end(); + } +} + + +int main(void) { + // 75% sized, msaa x4 enabled + window_create(0.75f, WINDOW_MSAA4); + window_title( "FWK - SPACE pauses simulation" ); + +// for(const char **list = file_list("fx**.fs"); *list; list++) { +// //fx_load(*list); +// } + + // camera that points to origin + cam = camera(); + + // main loop + window_loop(game_loop, NULL); +} diff --git a/demos/html5/demo_ui.c b/demos/html5/demo_ui.c new file mode 100644 index 0000000..c5b44a2 --- /dev/null +++ b/demos/html5/demo_ui.c @@ -0,0 +1,57 @@ +#include "fwk.h" + +void render(void *arg) { + static int integer = 42; + static bool toggle = true; + static bool boolean = true; + static float floating = 3.14159; + static float float2[2] = {1,2}; + static float float3[3] = {1,2,3}; + static float float4[4] = {1,2,3,4}; + static float rgb[3] = {0.84,0.67,0.17}; + static float rgba[4] = {0.67,0.90,0.12,1}; + static float slider = 0.5f; + static float slider2 = 0.5f; + static char string[64] = "hello world 123"; + static int item = 0; const char *list[] = {"one","two","three"}; + static bool show_dialog = false; + static uint8_t bitmask = 0x55; + + if( ui_panel("UI", 0)) { + if( ui_label("my label")) {} + if( ui_label("my label with tooltip@built on " __DATE__ " " __TIME__)) {} + if( ui_separator() ) {} + if( ui_bool("my bool", &boolean) ) puts("bool changed"); + if( ui_int("my int", &integer) ) puts("int changed"); + if( ui_float("my float", &floating) ) puts("float changed"); + if( ui_buffer("my string", string, 64) ) puts("string changed"); + if( ui_separator() ) {} + if( ui_slider("my slider", &slider)) puts("slider changed"); + if( ui_slider2("my slider 2", &slider2, va("%.2f", slider2))) puts("slider2 changed"); + if( ui_separator() ) {} + if( ui_list("my list", list, 3, &item ) ) puts("list changed"); + if( ui_separator() ) {} + if( ui_color3f("my color3", rgb) ) puts("color3 changed"); + if( ui_color4f("my color4@this is a tooltip", rgba) ) puts("color4 changed"); + if( ui_separator() ) {} + if( ui_float2("my float2", float2) ) puts("float2 changed"); + if( ui_float3("my float3", float3) ) puts("float3 changed"); + if( ui_float4("my float4", float4) ) puts("float4 changed"); + if( ui_bits8("my bitmask", &bitmask) ) printf("bitmask changed %x\n", bitmask); + if( ui_separator() ) {} + if( ui_toggle("my toggle", &toggle) ) printf("toggle %s\n", toggle ? "on":"off"); + if( ui_separator() ) {} + if( ui_image("my image", texture_checker().id, 0, 0) ) { puts("image clicked"); } + if( ui_button("my button") ) { puts("button clicked"); show_dialog = true; } + if( ui_dialog("my dialog", __FILE__ "\n" __DATE__ "\n" "Public Domain.", 2/*two buttons*/, &show_dialog) ) {} + + ui_panel_end(); + } + + input_demo(); +} + +int main() { + window_create(0.75f, 0); + window_loop(render, NULL); +} diff --git a/demos/html5/index.worker.coi.min.js b/demos/html5/index.worker.coi.min.js new file mode 100644 index 0000000..e79fce1 --- /dev/null +++ b/demos/html5/index.worker.coi.min.js @@ -0,0 +1,2 @@ +/*! coi-serviceworker v0.1.7 - Guido Zuidhof and contributors, licensed under MIT */ +let coepCredentialless=!1;"undefined"==typeof window?(self.addEventListener("install",(()=>self.skipWaiting())),self.addEventListener("activate",(e=>e.waitUntil(self.clients.claim()))),self.addEventListener("message",(e=>{e.data&&("deregister"===e.data.type?self.registration.unregister().then((()=>self.clients.matchAll())).then((e=>{e.forEach((e=>e.navigate(e.url)))})):"coepCredentialless"===e.data.type&&(coepCredentialless=e.data.value))})),self.addEventListener("fetch",(function(e){const r=e.request;if("only-if-cached"===r.cache&&"same-origin"!==r.mode)return;const s=coepCredentialless&&"no-cors"===r.mode?new Request(r,{credentials:"omit"}):r;e.respondWith(fetch(s).then((e=>{if(0===e.status)return e;const r=new Headers(e.headers);return r.set("Cross-Origin-Embedder-Policy",coepCredentialless?"credentialless":"require-corp"),coepCredentialless||r.set("Cross-Origin-Resource-Policy","cross-origin"),r.set("Cross-Origin-Opener-Policy","same-origin"),new Response(e.body,{status:e.status,statusText:e.statusText,headers:r})})).catch((e=>console.error(e))))}))):(()=>{const e={shouldRegister:()=>!0,shouldDeregister:()=>!1,coepCredentialless:()=>(window.chrome!==undefined||window.netscape!==undefined),doReload:()=>window.location.reload(),quiet:!1,...window.coi},r=navigator;r.serviceWorker&&r.serviceWorker.controller&&(r.serviceWorker.controller.postMessage({type:"coepCredentialless",value:e.coepCredentialless()}),e.shouldDeregister()&&r.serviceWorker.controller.postMessage({type:"deregister"})),!1===window.crossOriginIsolated&&e.shouldRegister()&&(window.isSecureContext?r.serviceWorker&&r.serviceWorker.register(window.document.currentScript.src).then((s=>{!e.quiet&&console.log("COOP/COEP Service Worker registered",s.scope),s.addEventListener("updatefound",(()=>{!e.quiet&&console.log("Reloading page to make use of updated COOP/COEP Service Worker."),e.doReload()})),s.active&&!r.serviceWorker.controller&&(!e.quiet&&console.log("Reloading page to make use of COOP/COEP Service Worker."),e.doReload())}),(r=>{!e.quiet&&console.error("COOP/COEP Service Worker failed to register:",r)})):!e.quiet&&console.log("COOP/COEP Service Worker not registered, a secure context is required."))})(); diff --git a/demos/html5/template.html b/demos/html5/template.html new file mode 100644 index 0000000..7eb37df --- /dev/null +++ b/demos/html5/template.html @@ -0,0 +1,142 @@ + + + + + + + + + + + + +
+ +
+ + + {{{ SCRIPT }}} + + + + + + + diff --git a/tools/plugins/.gitkeep b/engine/bind/; type `make bind` to generate bindings similarity index 100% rename from tools/plugins/.gitkeep rename to engine/bind/; type `make bind` to generate bindings diff --git a/engine/bind/; type `make dll` to generate dll b/engine/bind/; type `make dll` to generate dll new file mode 100644 index 0000000..e69de29 diff --git a/engine/bind/MAKE.bat b/engine/bind/MAKE.bat new file mode 100644 index 0000000..68d12e1 --- /dev/null +++ b/engine/bind/MAKE.bat @@ -0,0 +1,17 @@ +#!/bin/bash 2>nul || goto :windows + +sh ../../MAKE.bat dll +sh ../../MAKE.bat bind + +./luajit.osx hello.lua +./luajit.linux hello.lua +python hello.py + +exit +:windows + +call ..\..\make.bat dll +call ..\..\make.bat bind + +luajit hello.lua +python hello.py diff --git a/demos/lua/fwk.lua b/engine/bind/fwk.lua similarity index 100% rename from demos/lua/fwk.lua rename to engine/bind/fwk.lua diff --git a/engine/bind/fwk.py b/engine/bind/fwk.py new file mode 100644 index 0000000..2f0c882 --- /dev/null +++ b/engine/bind/fwk.py @@ -0,0 +1,26 @@ +import os +import sys +import ctypes +import cffi + +ffi = cffi.FFI() +with open('./fwk.lua') as f: + lines = [line for line in f if not line.startswith('#')] + lines = [line for line in lines if not 'va_list' in line] + lines = [line for line in lines if not 'inline ' in line] + lines = [line for line in lines if not line.startswith('typedef union ') ] + lines = [line for line in lines if not '//lcpp INF' in line ] + data = ''.join(lines) + data = data[data.find('[[')+2:data.find(']]')] + data = ''' + typedef struct vec2i { float x,y; } vec2i; + typedef struct vec3i { float x,y,z; } vec3i; + typedef struct vec2 { float x,y; } vec2; + typedef struct vec3 { float x,y,z; } vec3; + typedef struct vec4 { float x,y,z,w; } vec4; + typedef struct quat { float x,y,z,w; } quat; + typedef union frustum frustum; + typedef union json_t json_t; + ''' + data + ffi.cdef(data) +fwk = ffi.dlopen('./fwk.dll') diff --git a/engine/bind/hello.lua b/engine/bind/hello.lua new file mode 100644 index 0000000..522ec4c --- /dev/null +++ b/engine/bind/hello.lua @@ -0,0 +1,56 @@ +-- this will run on vanilla luajit.exe, provided that fwk.dll and this file are all present in same folder + +local fwk=require('fwk') + +-- specify location of cookbook +fwk.cook_config("../../tools/cook.ini"); + +-- create 75% sized + MSAAx2 anti-aliased window +fwk.window_create(75.0, fwk.WINDOW_MSAA2) + +-- set window title +fwk.window_title("hello luajit") + +-- config girl +local girl = fwk.model('kgirl/kgirls01.fbx', 0) +local girl_frame = 0 +local girl_pivot = fwk.mat44() +fwk.rotationq44(girl_pivot, fwk.eulerq(fwk.vec3(0,0,0))) +fwk.scale44(girl_pivot, 2,2,2) + +-- config & play music +local music = fwk.audio_stream('larry.mid') -- 'wrath_of_the_djinn.xm' +fwk.audio_play(music, 0); + +-- config camera +local cam = fwk.camera() + +-- main loop +while fwk.window_swap() == 1 do + -- fps camera + local grabbed = fwk.input(fwk.MOUSE_L) == 1 or fwk.input(fwk.MOUSE_R) == 1 + fwk.window_cursor( fwk.ui_active() == 1 or fwk.ui_hover() == 1 and 1 or (not grabbed) ) + if( fwk.window_has_cursor() ~= 1 ) then + local wasdec3 = fwk.vec3(fwk.input(fwk.KEY_D)-fwk.input(fwk.KEY_A),fwk.input(fwk.KEY_E)-(fwk.input(fwk.KEY_C)),fwk.input(fwk.KEY_W)-fwk.input(fwk.KEY_S)) + local look2 = fwk.scale2(fwk.vec2(fwk.input_diff(fwk.MOUSE_X), -fwk.input_diff(fwk.MOUSE_Y)), 0.2) + local move3 = fwk.scale3(wasdec3, cam.speed) + fwk.camera_move(cam, wasdec3.x,wasdec3.y,wasdec3.z) + fwk.camera_fps(cam, look2.x,look2.y) + end + + -- draw grid/axis + fwk.ddraw_grid(0) + fwk.ddraw_flush() + + -- animate girl + local delta = fwk.window_delta() * 30 -- 30fps anim + girl_frame = fwk.model_animate(girl, girl_frame + delta) + + -- draw girl + fwk.model_render(girl, cam.proj, cam.view, girl_pivot, 0) + + -- showcase ui + if fwk.ui_panel("luajit", 0) == 1 then + fwk.ui_panel_end() + end +end diff --git a/engine/bind/hello.py b/engine/bind/hello.py new file mode 100644 index 0000000..54e5421 --- /dev/null +++ b/engine/bind/hello.py @@ -0,0 +1,10 @@ +import os +from fwk import fwk + +fwk.window_create(75.0, fwk.WINDOW_MSAA2) +fwk.window_title(b'hello Python') +cam = fwk.camera() +while fwk.window_swap(): + fwk.ddraw_grid(0) + +os._exit(0) \ No newline at end of file diff --git a/engine/bind/libluajit.dylib b/engine/bind/libluajit.dylib new file mode 100644 index 0000000000000000000000000000000000000000..4d3b9455f445dc7bf832aafb0e5e5046562e0f99 GIT binary patch literal 662848 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

1bl`^U|UY_T!t2%cEEP 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%0ASu-0M-+=Vu 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�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%0A${6tuBACyTqsEL9C4yS49WV{plnm5M`5d4<)`6 z-%*G+BOtGf{RH_^y5tjf^T$h|)N=7hOa6B2GdLzsLf()k8J#IuTFmD2e`3PPYYR~w z+*h5P+^aBBk-9e+NuF1WjouqLKgSy#G_MaPMB4o&|A`0| z3TvdqGpM12{N8|d@LOvF+VmxkwaPC6oT^}VXpdw*FreHB7Fm%!lM#XXdkW*UrfwuPpa7F zA6&RB)!)JwKH-$Iu~2QP+n5`jRfodC4HS8cOG$6z0(_tXgNT}cpt#V3avk&oX&OxW zt>%;XQ)BWFM>39~Z$gF@G~UE5E5oK0*N}e0Y6E?pR9l2Ib9Cm9(tRS^*uhZ+|v(ZBYNke6nneC2K)RpT0jl+@J5br>Wos%&)Vi7I$ zN?$~qQ-}Tt=P#aMDv>Bs_2Ha@>EY{${G#X(bV$1r&>_J(m5<_#y%^SrR%)CM{S1$} z0z>@hn5Soq`8Fc3+vO^yewnR=#EjP!SVB<^q&gk%<@=rw;l1!^WDhLobur>ppC;lImXc_r%y zTpn=jf%11WJCcS2DygSt^h-Oz%h!A2XIFH+DW)X5E=E2 zIv(Y(=qGZ{>yp^g&BZxOy9LQ*xZX(TOx7zKr{E>*m*&783g^Zhc4`^Y(B_IHNpb|f zAes9hd7;6cQ|xc*jEU)|G;k6o8!KsCW#%?Iy5_cKi!w2OKm+GMh;#WT%{HFyr6hU) zUfG*(;V!qs)aB6C24FS*W)dw=Gx{6_!NT!Io`6d&-UCty@E>)ivW)9cuDAb#w##Mq zV0R4HYJAe025UuAyqz5-QX%pgz#Qgc4)P7%1qeOH9hVSa#5BGWz7_4MX-x{o;9u#d z)NLq3??a}(e)8AUXI#3|Y=N!Rk3kAxbuqbG?a)tsln9n>B{W_`KYGyD@qh`|E4Xeu z^C##lE~Q~YC@oW}pIksC7}_W|ar9L73!++a(rk-+SLmkY=|w=}f&iT4QoZ1Bfl{!} z7ZZadb+Oa_7O1Gyo%TrHEP=_`wq~LIc^l8(H^FUMT zvK{)>^-9AuaDWW{F7ErN8j45OonJS`Gq2b|qn7CZ3EWDZA@`mYVvMz5hsBUTE%VLe z|4Da;$PTgu4D1uw zV^-q7LQM4r{P$=4$NY-!{vq%xJLp#lv(8^DgBy{72~pLE-~=BbW{6^kwM%kf2STQu(uwYIAvx^R*S$o> zr|Xvkr&?1tN^of92ppt$Ab-8C{tym_y&}LOoZ!0khhUdVL0ueBfK3mGp1^23P`kUp z^gIGH*r#6!cv453xQibk?8e3u_O@0h|5J!Awihe``lIz0t`+LU=f$;<>JDY(K)qSy zKy@nU_F8|-Z(q^LO(TL)vW3kf2QTE|V3%xNekpukjaGg^PA_(&6 z2AUP1tpAK7U#o`$D1`zvjJpzHTF2^#OVTB%?GtKotAC4!Yf~7&Mh#M zw49;^TwNuG{t_*Y3 zF-GdyJ`I$?_@a)t-*!r59B!pRz55(tm*7wQ(pHgexhSm7t#V}wR~*3~bQ`nlpXd(? z`QIO(?t>ZhX@s07W&@(p+K9I(%4sT%Bed^qHAxL6sq}s%V02F3*p9>Cz*nb3L>CwB z|GQoDS^$)YIlCzYtc+yJj_#vL@*?VPOYFB zD2*%Pl}mGCBan}rOdlJEQr?|CV!u@y2Q1~F5XX6J8i6L}?XMFq7JhYI z0DL!39|Ox9t_FAoh-$b9|8?wb$&C%t!Uu`VrH8C$J3)@pkV^|@Ld@y<&C9OvBjalF z@-bY*EOmg>MXVQ1Xi?M8B`gd<3wR%~{e*y_3NTc4{393n5vvZ8ts*^SDP42{K|TIB z_t2CDm6O>%3j0rn{o8@R`@t_2iBcvO+QxIfj-K7pt$-VK|CehEYS0& zF@5<3R)v$^s>}6Qz@+E#I{b=-l#A)(l^h!4FlJ9qbb1CM&JrKgJ^#G&$LX=DG6tTw zStjv8&mS$S+vXt_iUl)sed6iI_qix<>M5p=Hh(+dNSx7#(!}) z+0Bc9RHaZ3*A|&DQPyXT1yo^n?d3@grHsf&Y*fIS`LTcCb6cI*%k?1r@1YT0i`{7&23yktFu$|t%L1p;<@F^8R0`)1-!N(e z6DjVUI@-;j9GL>#i3z@oB+FNsG3@R2ofyA}G}j}Q#25ICY7Jg1r2uCxhz&K@4@#l( zuvXA+;wC4hMMN--*BZAyh^{caZyG`qFILXdGr2Z`eW#unE ztTpTbPZMJZo33;4bDH@N07DHY`1j64tSV0U6tX0MS785^_CUdfX}2ivPF&g(#U9U5 zX3n7I3-J%Kgf;^!URrzal)4And!87JK(o}ImkQIpGo0ik3r;w)zH^R`hQr%SQs+}Y zqDJ)P^w3S^?FbvD+QIwQ*L9wQ%7=%kDqD%t=v|5?15*9Ww$u$R$@gFbaqU7*e`fP% z+69Uqga@IY^U)%k5x&4Ow+sIoQ(@-7EvZ_4U;iDdoK>qhl8|@Ac0bM$TtV0@>h|}D zomtjQ*&C3~HaR!}4ZX*>75~zzUWuNLZnL=CV6gsSXtjHOZ~RM)s9Z^$jUGt2Ubc+V zdOzKgoD}Yj>f^>BF%Y6}^#Y7VPRlkFqWBV(fu(nSAIGIe@yO2^Ll{+?4S3D|y0Vm1EMwB-(@2tRhYBcMPGJ#QRCFRT3>lwgaf4gP1z zx5L09xzI5bId9_d(O5_$T>|i_`$&r2rIht^iI=k5$dIK}T??U`1;rGyoASBFLwbH0 zck2$~{SI{(SF4LeE(AVb6O_aScn$ZkB5n;5KppVS8wr5s{tJ78IiQHSo(j_4zm;L| zYrTf(1aXm)=#OQ?cSPAjRo*Zge^9~Oxh=HIBuFp^wB}F#R-|vpaqAo04i9uU7Y+}s zXuv>hFV7k@`U1bFE$A6Y;h2tnPzxC!o*>TB3gXlYqH=Rs^A;n|Jn{)FHMN)`3w526 zpxq$<(p^Y9GNsG&=y%4GXkhQrZ7%;-n9skBUW~T{ih;2MV`K4dpefYT1N8s8hx(zE z09c3G{FC<&Cv!Cx*i2<4!1O^J0u(4$$@>9!Fv|3;A}>XxIHJ!!1mAs%g1UsT31pxO z%52ab>%dxtzFhTse$+p+9-@=W|HSgobX%_2|0I+P1$qb`F(vfkLL3LS1a{e&OOdjN zR;4PS4S^4Hi$1ur_X2G62Bm?buPgf~4U-YTi6#A%=SriM7!9Br{MDd9sEE3R&q+P> z-RbM5qEHETF0zy@%Br##{=pGPpuf?)qtk0Cj2UdYTFO`2O6fH@E1=#y8|7Cxw*Ml}z#I1eNnFltd%8D*m7k<;P#gr$>W@mA5MmJ21=2 zS|#yk{8abgaknT9Tkwma;VXzNOmd*Hld5{h_vdk~N+qx^IR_PiX8s?E)`S z#SvSmQW|c=REVf1X5vHr3J*?ojd~K|Y2AmW&2x;$m`F>Z{$P~ieW9BwJ9yr(jKKd9 zP9xwrRdt7n=LnKE>#88=%sF z8a3#tR`*eprD#G-lhF_HG2(2I4-CpqG@M3De;=@oF_7C(7ARmNtwWok%GIJ;C96I~L?@7@?lz)s2`6k;JUhlC7 zqybmF0uH^fSGbFpalJ>rmp~ylb2b)1y{)6I>L3NOIa1g=jii`Qq8KwkX>=uV0zQ}> z=~jL6(2$pPBrwH$_|d{T{EYdatPEEj!CmBoI}d=-;&!t{zvoQSxXhZ3Hfjzn%?iM+ zG+qVUQ?JNSO2==XG>KSJ!R?Sw5WjJAW_+nTenTO?7HD_11vYIbv80 zAtwkr;uo$e<^<6rMH<4}XA+rc0b#ACB%jDnlPo~Otr3(0F5`}Ot~JrIAO<5F zBHdt56k{okm+_(MGLpy4dlwt#Ja3f{o;$>=WP>Q=;}IRAs9q%@Ctl!@6}3$DM<`FE zQZvok0d;xCeqC3|P*GSkk~}?m8=XX{F6hr2M`93#0hXBrH-pmC9v5MEY4a%5B=lph zz^4FCQ!-Xf_ogfq9*9PJ#@-UR;P&FJ5hPv^^R)hHf;?t7l7s{a>=fg9OkcYSc?j-1 z0R#?wRmiK9n`dvJg^2k?lLg8tNL}{;g1l>x^IeEp7xiLiOu$uvY_zBtn=Q!sO&Uqs zX9d|PF+PRmoq#CfN#Mi`0B392>Wgoht}OUCzU$;1{BwR#-OQKQIvB)LEvaLZ6Z>L%2H;Y_g zdg-~ec`#^|S#gJ~AN41DpxRKBgWS7zN-; zehLV+KLrFjVTE{oIr;6F)uF{&eEjgiG&p!E{4SPxPGLExfEo!QC!pTJEA|>%K@O@m z5}+VxR|wr6t%N^Ij1l%Wzm_HV23A zInpK|J7uLMJG-%=6Gu{F!-ykqLYoKJV6FhY4Gf6y#~eM637h4C%}IF&?1wqO+?Y6kj>VpY#TGQ7X(9V#brfMMzVJc z@g!@C;}>Xj4oB%HrIbSB7R0cN11yfN6B_f35+N$0gIf4gkdqQH$gSyiWojTwBa4(o zOuu>(;Zp_Nmf^wI-MJ)x7*WsK$`9h8wJ*|pnbyJ|1}N6W43BVEnh*_7VhP)0WXY-1 zp$vTh4>5*^ZSbZzWsCqK6KId$;MT6O0&U|S@$jB(4?l%8>zK+yv6yKrVW*^Z;5U|O z6qiV6b?z%1tLP?o4}dy?&CzhFT)+Aub5c2}{>Wuw)f%VEOIrW-A;$9sXb)ate6l(H zp#!X0<{n3xnSDVSVY{mkxEUjejm?^6(@lU$B_)GB1sszAhg{V)Kswycp`YCWIZ7|P z9u?#H>m~pjlb zkk(tch5OtaFPJ<1w`>plK*>Qbo{5KWxcZddlb&q}%+CYEU1wPbu;xWc#d%wTqJ&QNo7`e z)Tjq=`dcAv8!toFb9I0s%}S}DS{-_$1C9`QQF268xMg!LP1hI6Edg_zM79b%wD8+B zN80*mQ*^Vl*>C4p`ZWhlA%C@>Cchallct3zN4MiV;~R*6WE?1iN*{@Iq0oV4F032PgUqVqZJC>FY z&fEMbtv|w##KQ7}<4pU)U5*D#8b6{v$AP)r@qjUq{MFc=WqP*w)s@oCB6Tz`f~+5@ zG|*j`@4>JWu$GcYHzZJ$4~3`ddg$nnx)4N7X}rF7SW_-c4!9XQX6gUby?p@al3^cE zp;_2YmP|C-HJVP+F#VIEn5rYn@)}|;$mwBXtxe?GJb`2^&5e`!mAmf5YGa9 zseYi(qYdM_*D%Gs!^s8{2Bl=sn>|K*qS$EG}0`EQ3SbVahU6% zWE;%$j3CFUmQUs}Cw)88`m@drcCqDvg3-PlXg^@5R=J;RH*{PMhMZ&OO6;62Aj; zClH1w#Am{GWO^YdEz-4YRadrbA6(V27sW@x3iq{OKrafT#va7=**vtJIJBG4t;IMt zzL5^?#fm}P6?JQ3QL!0jz$H98oMp+xc03tluKJ+RM{BoA)JNkTWB}K>W9WZ&;uNC4u8*S<$`lOQwR|vO$193ugMZE z&sqsEez;d66?FG5BjSYEAmR#GYdS8Z;lVCZ_T}?H{*#gyT(v=1 zjS=ROxC?(tHx|-*xYn)+Hv~~(OgMa%Dv1C!h0+NnF=5ULK-Mb`s@sF=q0}uHv(MD> zxfJmoP+r=2?{HdlvI2|J4W`=*a;^eqmQl<>qxV256<>xmgs;`N5H84w2iE{}uCG8_ zUr>d+#}`U`1)d2v1yHZBhO3a$xE2bjOSH;%^{^|c_jl^b_;+yR!vC&QW|E&2F?ntB zDzC8@UjQo1_)BOZ0W>m(C z`t%@uigTMXZbQ|b5yTH!u?{QPN&XVb%(KuSq+LpK?;dzpdz43p;1^+qjW_p49Pwq~ zvkM5^bKAv$8FNl61}gAT;*(TBPLrth{$4&`fH6;q!lFGLky2W{#SdLK)M8 zy=vyFUVQ5Xho}}HO^y06aW6I|^NZwlgiWYYNo?INUb_pEX!$me9Dh%yZTcV|ciNX} zh@iU1alN(jDgBmuh~%y#mBvzN86|t5qh6wau^Nm4ZmI5z2}l112ggtxT=c@s#zSSTXroBfUwS7}e5pGiS5Z=ng`gcq zE#uH+T-HQ1^T5-94k8XWAaZX~K8acAh^YpY1t~LY1ihBHmQ>|Jk#Mm!m2KIka+N(5 z#PDQM;+b<%#JTw#Navo_KvJt&HM(pDu%4%D*W;S>O!GNN8J@)4j1x4$pCz%f-NW;2*~PyefD_- zdd=gt2&k_RUK*zW104r1kpEqc`Y)C{!Hvz9R#u5#3=OO{&L9wgRh~89DeMd9TSy5F z4bU9c!BN68IO8?EIK6@b)!iDm2sCag`*Npxav$?(;8dBZRste1E}e|ne;hhI>C|8w||yqe%c7~;xH z1cVK*F@z4QzmoVlt@9k>YQk+08f06Vmbbr>Z1?YqNjmO-r(hDm3ZYcS{SSHmG7Fbb z4z}!tOWckCZ?N)X4a0~HM;`6?0dQ^=-RDqL7vaL?fUX#nay*+LNmCiBKNmfG%I_A{ zpD#WvE=B4aNDHykYucD=spR%9&WZXc9h0_)UHWRmOtcSakIu$JH77ogAIEBeS#|hD zIPQl!;v0_&fkecvuABERe)dee7*F)M2k{ZE{1CgQRw0+p!I1iJDa1zc5&-W>4d-=X z6$4CyGiKvA+s8rR28=+o2QU@i=7c0Ynco#d1N39nf%3 zIN;PzAXkI8N}JT`F$2I&ht%k1tW2xWKuzFOBT9mDAt;U90UDrIDY zR8R6>g}wvhd0XT%@d9DK?t6^V*scWkKmY*S*Qbs*$qG%vbC8I$NX5l{D55-(zGEIwO4 z)UBcV_X&sXb7)My2&1e+6+3lN%htgSA1jIX(HECYXh*_c6cSsoY#yncX~liyzIm4E zz8MH9gt8=3=SPcEC6*&*fE_Vev4wzE!YFPNL+Qq`zLb};teL5`k>DPwwW$S?@-3*N zw+Pg@yM$8NjnvaHOpx0u*XcNKyK%Xchp()v&_{II!&3M zk(8gfx0bIOvXZrTb+JC^f%tiJiETuNhALuz)!I9=F;V#Uc%dm^?MZxzS1g@YQnt*} zkB8Nd!tr#G62AsBp{&L9X5=yv#0iecbeiY|EqREoXo3HBm5aVm%RKgWY&ecafYqZ2 z)SR+lv|LNy`yenFy?R^zNZsipQ9h3K!AOVl5$>nTyUlZn1}QJKDDfuz0M9}y*|Y-= z$6;01zd^9S)}JrRyJJ^r7kUXIR$*2RVn1|xxWWw$HBEhBsjO} zcjVcCe1qqvY;U*Qp{QTG24HbUt>*xDj_KyXK>W(5lXH9Qt!65f}zF zQx)v#V3jF!L4Rd(_*@;9E~4FAghZMgcX=Gq<@C^t5Ayq%Cc-PcKV&ApJ0LVuNnA-H zcYFa!0UqUX%BT@RMn90ANALq3eo2P32^}C0C1Ev5PY}_myt^%syroA(y%#6BU>iB# zM$}!Q;mbqnrA2L39VGPN!Rw%o6AdmznvrUGbeybcyc-)FgyqHHA+ByPCxh z3=%r>xkWv$2abQP#9u)JhFWPviXS`o5nZPd&TgHbuC8VddUO-s^i$~(s{=%qFGnTL z`PY(xo>x@O@h?emp4BdVWHB9077r#U4U}UyIR=`fqo$q~O7^V)456F6^`V@l=?(QO zn(Nr>=`5uDIiv*f9KpRhDgB^;kv9ubc4#7)cEJOSo}Vl^ylU zg5(>J1M3i?JP=&zJ`scEO@JJEj1WXUf_1me)y~6L7(lPU6U}eOT17b4N(2-HTiADr z-u0JX+3#ZEu`gTJcjymiK4^ecM?G%OeDEI3Mx2|3o?i3GA?eAmLmy9H2u^z9$CoE4 zfRe%$H)Z^#-{_e`K1Dr7^L|E5@8qF*Oacm&L?4V8(5^%P*E*WI8E%!>4I=7D$E)>= zX!+Gc41e8yyZ+FJe#3Eb@7c1oFRX|8 zi^`U_82u6dxoJ8{a#s6vkxR3no#0#9S>5x`FphdLIe6_kb+%nCm%4RdJn@$=J4!yEV% z;t)m|4n$rH7__oDdwzk=aTN%9iH@_=oo)?i)6Gn$3nu}+m4``j8&Ib^Go7lYmeT1H z4TTSjjlux}{tN-LXfhrUf!5Ev2DDxC7PFqdZhwK&@C<&gBR%*Yd?5P{bjl&EviQE^ zGmIFfo9a_IO6K&WFoS3(2Y+JvVW%(I4o?T^sCpb`f#~6^eyYN4O87Pyp92;M1s&Bx zPY-K%;Cc=j41ybM@6)x+65Plmht?6269{g;p4j}g`*?szvUruDp(|cO9o>6o=P!r9 z`eZ#XI>x%Ye~%fF`CNG4K1>wc?W}HYOmFCrDW*8G3W^=ucOOcXnX~a))IuU70D)lv zk0Q4f@L#>4C^p5B^WR-h#EkbLcmzZFUU=$_G9C3k#Gq^vljeMhD9+?ZD(CuVFTH#} z)s%|eZKwdsjxe(FMgG|P?w9X7l9#)1nCABlZf3zx5>*hap1oIdY(taV}H_`YU*rfo}#;aQ#X517-#*smC<)fr%zO zL-NEh27+MgS7&+3X4YHrls&zC`Y+LjJ-u*>EKFxdFS_3~k(o$8<-C7!1tMJg9IcvJzQ z$)9teqaZ0y6f+Yppj|xmXrxL@q5y5znockwC+9r*Z+;Qu+CP z`upeDx+vaB5@P7VtCKe~4y1`*qg=UJ~mi-v7+5*WdzWEYXmBGs$S!-BNfUuS-viI)N=!W3Q7P|WXO zq?mxQ{MvY5{r(RyRmhKiJi?=h0m zhX)X^a;E4b$qM%)kz})1h)s;Fj2(I#t`4|TvgS@IPRx4ICjD}SwZX3Cs6SDAbvLyq zoUE0+7kFgp7y$0-sElFTg}%5H_<(>H639~%$OJS8u3c{MQjd%I#)=*KBs0F;S`o4# z*TvSPzJ!qFTZOs%e9K6RA$PnpleO(ROkMe45@DWbi^x7U!DJz`Fd zR)`Rvyry*oaBg`q#dfaOskSNZm`!idPUBa!;s?m4_ZvJyw!+h!=-6aD8_&<0Zjdk| zGu0?SO(}_lS=oD0jcHYOq&5#-LIDJFVluNCrWBz3G*|d9_fvh246+CDE;>x3QrKWs z!rc@}3!uK(7CX^Zw?h&1(5e#G#M+Qt2&rO9`k$aO!{yd%PL>{kljX_za=8ojeGD8O zA|Cn7#X5(Z!2dwM977l{V%Fvvhi%4d&X_Xs$LHV?zR$xSw88pbcCmSfcN(mO)l}qr zv;{OrzOuhW|iR)n^ZI|5g+$GWEe!5gof`5wQSA3eG%yZIsY%tyQGIpSVdab znHSw!*V!|=IdzPCl@ z+kVsy|G(uVS_8rVCwLPdM+-Hu=zgJi3of4P#oAwM+%+B|1&vB1;!KPRc@N}|(i3M; zKO$IAqNC0L+6Hj5LgKDGeU?8Bt8?^9`KCNIlm~nZso=i7PzooaPV;f62q|fC9h+ZA zFH80vi$7%$D!MW-S8;-jTAo7$C)EQqBmVvbUKdzbxijL9^N%@T^B^R$}GzKPAMuadRSBO+9##h!q{N#?N7?_L0ww0 zq*hUvmMy8-wila|xT)#GXskdcwVg84>U%SZAVo|@8`9BW9 z$ZA+x)n$Hll_)G>W(k79ABA2?u0e>haBokJ#?B*ke_sgc!LpCTiGF@04wyrRO^ zCh{#bN<-mh=}1;EA$GLVh>{8zwvSKH|8LYcxUd^p{6nIfeA|LSm-Lr7q~e|7PQX1h5Z1W672A6 zgNudYPUu(Fb#TmbycRA2*YF3ST`OAK-Q2@u(u6%8}fJJs)zG&tMK@nAW3`Rh^#b(0U|G7 z6+Xboi?&1@{PDxcH9~5U`fsQQqJ!|6A_;JZ$3ySj{`jtp-ib`<8+)?z8HO~-wB}#E zgXTn~~j(egofkc_t7vhj}BAIeCx1G6+IM*$eg|Zz*y#@Pe(Uh4UR6(02dfcgE; zwqz8hkhvv^O6vF&5YhBg#}5XQ6L$EZiJXEf7g=XHFwr zva!CK{A@?0KQV2!lCDyPFR35Eej|Ql z2ja~x$7b)~%}#Z5c#A+V%*{sl##*9CnCDtA=Jk?5gjg;8T}TR6h>I+ zL20NT9mA>U5-bBjT?%n#r0spPnD9=r8E`w)oB1*O^92@vIkNp(uoz%ibWj+c$FU;N zxge#o+V)nC5h0Y9-^-c}I!^w*f#O_v=V0-zN3miOni_nBod`~A@bHHmCE=wGb?17F zG|@Y>Nzi61S2UwQ<)R+m8s(v8q-}HJzq?w#-x&F1KXM37z-N*c6686Q6!$AElnZYNBmq*syF}Z4dXLhx&z9)9l?h5 z91rB_x#aQ<$1jpF>ab_>1p$-s+92Ej5XeC@tZuW9K~UWQ?n@dDasP(_X!+QR%B4|1 znOm0%`V`cvQGF%Jrq&s&z*79_WkI#NWUN}b6g5|tdi&GAJ&&czE9iogNQcZ{-vW60 zlbn|b!A@hqNgSk-vy-t+ykG1R$K8O$Z)5!r=`=-BD~VQog@kTqbgdNL1lRADkH2s| zE*FpI;Bk66j-N7fJDx{Sx4LW_DaCsrojmM@e#{*?s#Hk=fDmH7BQobZ9`k)%%=dB< zp=iG2G2ao{=leK~Sgr0cr_4nuF*U=7=?ugBck>N|Ac5nV9|lW2gzkutT?5Tpk&sVC=mVxFH<1zmKS$+Hct2`wFku!xzH4 z1a)*_HBz^R7Rv6SBZ!{r8+1aE&`Y|Y{n}AXcpPrZbm8D&8KL$CgD@wyO-yW*nAMCAan#Zu z;y3j-WDNtnT@`$<2rRIsfh6g6-9*cM>*nS@4TAtDt{n^2slmmXd zpf7HcW()_Bi#HR&tRrdr*IQtr+hm(jF~MmY$+iFOh7 zLwz`pwI$3|-(5|6;sDzyLMB#PKAa*U)ld|@jTy+j)~VH&#FrpcaL=g!7RWIU#0toP zy+HA%BUGi85%o><5WB>>?HicDZ(stC44{}Dq>F(1BE5v>;8PkQ9Dv>8(0cmQisBV51}Xe7 zU4A9p5%mqksT%Kwg9lVR1E!>oV&fhe2Uceq6QCr5dS@bv?F}77uF!=pZ*us&m0@i5 zqP(86Mr=_MM9G}7e$e2y{|P&+^%3?2j7TxYelB}xRHHTB@)+yefc4}#g>q1V2kcS(=e?ksK#UB@_aoG6A_xtg`~FULeA`K@D`s$ ziDV9eM4p_|Xtjl9d~#egRmH+e6yr$lQl>vy)2nu+rU?7RjzDVa;>tSymqZU+5NDR+|8Zse=>pO*%}xsyB9mvS6=Y=U)?k8kHxQ(4a2 z{3CWI3S&G#94a|w8v{*>-FRnD(=Pz3;+BXK*kCU8k4@ufkMSFfNUOoortqOEq~JAxR;G7tWh*S!z1QAoA%G(i9yWT%wPBa5z@aWHI^X(KnL{nk?qZGc80T zcw;5TCM=3fmBOgK-+|gZrv@s|#?kwVGL!Qi0J)*)i_qOkq7MFMX#40kZj|xsjE6A- zYgp;WPhX~JGZYGJBhlpD{-$UGLMy83@x~`0;2_U7Iruz{7V;Tm)Sr;`&3rb^@r?bx z{tRj>ZV``QwJKepM7^s2DBdJqA@c{F=b(_!(E^iziU@`%l5(mQH7FM$>v2L`Mdz@+3_|;M#34yQGGRvBjvdV;woF#BTbGU!WQ9l}+QBy&2QKBdAFQ zrk66*?D_r-ufz|;wZI9PJRQSN9dUs-;lgU!V7-v0Zrq+u|7DB#Zz$fE`QK_iou>ar zZ%wDY_>Z19;ye9EpI2-X{~e8S{s3~F*`L0b7~;Q1vwyZWNBV6l`XwBF31<0Ucl}N` z;p^@>{Z4JjKU&x?$sg>X!)gkeupT?+EIfOrrJgw^2-YkE=uO>=0%p5KfAe%YIc-4A zJCRz;iKHZVLqsM2imurL;k_kO6->GG$I}#8fbf0gJ*kMXJ+?{!MnrA5T&4&#ua7X? z2~z4A6B)MX`(7f0d>v-&@E;1*e?JmOi0y}K{pxPk1fUI9KvQO(29zdWP)v4N0Oc=& zl-Pb6e)QLO(n!ioD!V=pCM?ff$dMlZd<+KP@@CvDi=jS$iAm)PWQFu=rRpB8Dbvm+ zWlCeXX8m0HH|zz^n4(1y@Av~*ZomN!;NQCFX8wz$M?YX-l9{Q_VRF(Qj~3nIF}}f% zRHL;HhMtjl6~L^@qZ@QBvt~qD?e%l)g7GL?LU#WgKEwTLNcV9celRXZAC!OK*fHci z+wRU?A~-hLKljjUBgg?2&<5{J9feP;{c0+pel2B{W&rCK%3Hry>xGBhg1zy>$fRUI zi18x_u|NJzPB1y~UgAZ{lwrnd{EjOV0+JyqvpvIm=^ba>r@ZeBx^F>a96nm^~)S9`Pk8a)G%& z2xyJVumFB_FMfa*bqHTLSKiO4(jU}2MD_y70q+n=w#SXY zle*4)rQu?HFkUC*Nm2~#o|bLMT7@jRbhqN7yk6};*oxd5@5r56)w2EA_;)$U=vaj~ z=gFxvprbkjiEuGXg7HIn(LRr?OGaT)KHNKcjJgvQ#KSN$Deo2>jW9KJSJ~c3GQc;s zsK4` zMTY|wYibu#)`EWrDY$}49tMz%q%eS+84^`LP&^nuKy(i)Df@TXHcA3nq;7*QELEgm zSU@)uETZXnO{^<*y=9*Wje@06f##8}-QUAb?;VYphf+slB0VtC%6LfBYaUlI3Go?Y zyN}PPRn6E8E6_Ge(r|=e5G;PK*F4Y?U_fIA*H}rBMU=)Lh96AhZMf6d%=3(`$>*zL zUXA*wkY7nftk#o0nM7`+P^lB@Y@W7$H9GSrgccT8j>Te)45eHB_<#IR?$rDM+)5ta z3#8ys%8HbN<%aC~Z$BkT{R;Uly&-I1WjLob0F&zg(1GAV3s_u=UuHeF$nT+VF988p z8ml`1XEor&=gU~21Avcb2UdN8fEA#=iSA;r5UvO;h*TV?eVkc&(~W3U)(qc4q&x|d zXT$;h;!jajP`G(|u4-eSM>JyhkNWqC^xB3H<1&m4{X(H9iX^-<2@-VSiwS+ye@QRS z?6kP5?of}|@sLCACvmDJDZ~&4&^QLd0MoSHOv}n+!*OirY@nq)8*r`%-U-63Bt9dR z@W1ho<5%M=e0RmS+WtWBKY^m+u&vjLXy+qMX{hDE8Sw)LVm-q{cBJrW*VIZbdLL51 zv1;9ap0|x-R-sc|4xDl^V*X_fNv+vI?^+He{ zfwXu#^kv8u2q(o5l}@5minj(|ep$_dqPtFR>y)kzC2Bw5MJJC^)y2zlHE$|2+*6=k<)oXXD2LE&dj@Y0g#oLvEb9oY#qe z?giSyyPLL{y8iqxUH#K8od9z$jvQhlhoPAW@QV$zJ?UhM9H-0ireYT6oPAKl?J4vR zH{l=rZ{!%$(^DFbg%T3}0lGWB%9Wn99z8idDQX^dn|54%mB$p+q5n0YQyI?5!taY5 zE{zHR3MgGJeCNzN2d|lHy70l>&Cx!*j&xq@^_@K}S5;P%-HJ80-2A?UE>6hD>`v)} zJb(qH`G#*=i7MhtJ3^!W1B_=jUK2rv%?Ny=QRXtff7jF#={z^@Qm*WI)ak${vW$VN z$7N|zD>p=Z|AFYQ;`{f+u0!!l(3-h-WBWtub-wVBW)jzWhY=qY(iBKoRoaN1LI#75 z1#tv*MX~b`K$SWhP0^}w9{4XnXrnOtd8ot#vvcnsl!t;IBZf)w@yCoIC+U?h9DrJ> z6*48pY{``CNIl{DZ35{S(7L<|k9GnIlB?&>QbmD`S8zN9x5If3syp>nw~@XR9MAZg&QGTQeo#eSh*m!m4zOEg zKsyt{Lr5J^tUS_)!Ig%yX}w%2oT5WbhZXC5L0^e@p|mqz2-$MYRJk)sF@p4g#zLVO zukP(nGYQC5yMUye1N-xkb``5-T~beufQlSb&sQv40$2g!2OT zg0qs|&qz80Nj6_w5X1+Xd3rjamQ%YIuLYkm7UF^Fj~vj7@Oq14!JamaW-5q+F9_gY z;sq2`i!5gA^$|P_%Fwz3C7kueh2hLj&|$|*C^IO6N#X-OLUDBjeBheG8DvR+?PSW0 zcd7{_N~^ko?8iXPL?cf5$3U*4NkK?85@175;aA- ziba}tk(DOrYDi$D`{gt_P|+{*zefTGWgR(Hc=ZO7H>1SiaS%F1g+h@S$NwHV7Em!~ zbseRm%Kv?2TlVbR>=0_y?`nInqpEX|-{^VcuYVgA8|&Tg&cB zRnQ@H)%RQnb&m*co-qTkkj4j*y4i9$a&-s^B!_E?(i;GlfFxs`i#Qp-05E1=D4B4! z;SiW3L^dQq#s_gZ7k6_cs>167+MQni>TUl!_}4@1`pNKL0==1l-(0}-blRf(P5{j0 zp`?CeIc{>j_?z)P{Q&=ES*K(Ts1CV0!dXPVejE5CMmaYzFiqz^V=yNcfHQ zhJThT9@U)&zNZELk=I+4=C#*53+UAVC=+Jd7YXn$@VrY<1R|9P){uIEkHWd)r*QId zh>Fwir_{2BAD37Z$4r4dAP4nX_{RFWycqJ6?n%8RCofNSroVgFd^nB+ehSc29FT7P z5nYEI^>u7ClFSErSR{Jzy5j+z7UOT` zgQqheR6^lEJ?_tZu*rOIqvHX;yp@

5r+~#H6^7L^K7OGVq(AHlQWouE`u#0_rME zzm5Vya7FkTZV?c^y;EFmWgE`^QWyI)^?BI3lJIXuu_!t&qL)x6j&}dhf);*oee9Zu zb`fm3Q%kh5<^G}d{~vd69v@Y8K5%ClAc5cwiW(Iq(V(DF!J;JvbS{~|3?vu@w^l2^ zqPUd0zzm>9nJ_bw%Q(u<)>gZyt=3w*S*t{mCBu@iC~E})l|{w5jzB<7!j^fz&$)M& zu-N|IzuwQwhs?d_p8cHXJm)#j^PJ~-lW0#}ROGU13yki_b?1)kpLxD@hux6-YuwR} z%L5&UeFaq|(W-I`tvn}r!p=hMhx)deUl5|`{%xNe&@OILMXm;5OUyq0L?Ni&79?8~x9KV%Dd2e!y)y5Xfw%j*9cU4IfOvNGt-rW-`gbrm0 zF3{nru=U&hmh+-JTtk01CHsrLnI-P>Ro;SR>Dvc2E|uaTM1~}M-^5#v;Wwn|5BNtn z>&9k}GR9CHeo|-QFpCDW9Nr?5FqMZ)}#Fh$lFbAfCWpq&OeeufhB=i|yu{3<{R{D%Mew!rvnw&QtZ3fHs^rBLb3647HKW(Biz{*S?!9IFie-5)j}8L@6qd6kcr&s-C@*wmt%<4 z+t{|;vQdc!vFIiC7moG#D)wwAoazEmR>HkP1;yGXPQz|h(VOUE2WI3Ufq9KL`+o1B z%&M!5)v?jkE}~6t!vhqjV9}`+SIGS%imgQb(rs*ERsJwDIivmr7sq%2h2q_me90WZ$Pqe&ji(i0!%co?*u;wN0bk4SNgwI?Me7~ z4ER}O!Os>2KWi&d;2U8KZim^|uGGWYE%h+6R2s@QfyK!`%^XQx%KmN>Eu&I&($=Ts z4O)Yl^d~0_0-!b1{)qPYlhl^7LBbezIzo!7COsBlO&UhxwJLlLs(#pS7W)O?F+VQb zBB>u!yxEm!;VE&m4JEqZX}@oR9)1|1nE=TKCf$3fx-YQWn(scVwT4UqBJijggWS0M1wd-XA!%jewZO;qMLD}rxU&y}@AXB3MO@r2 zs~pf_D+WDSoT1rlnM6|k7l)poXh8u=&VZjV#v6R5r~(v;PhLG~cKc~ja8-u(@a*|X zlj{><+hP&UsqbUlQQrt^y%^U5i<<%Ohz^>!}w#6+KKKXDhoWRmRvC-}uVlT<5 zP^Gtf;34p8@Db_)Z7QEze%uHJh12B6xmIXA{X*%C^To;br*Q3l2h&+PM4BsN)>Sz| zRi0uTitci_%2#PHHI#h>?s4kOh?TLT$ya4K!WdQU?yX)*K%HU z%zk@F;Y-WP!#OF^+VzC@B|qf9w}rtCAFz&>UMye;XHgtwEP z2NcL9ufVn`dlQ%yi~WQ}Xuii(u$ZUh*%kw~qZO=$wlag}Jfg6FfH5d_*8RI+|0&c}VB;Xm_u;(a>Mkxg^H7EasXH;b@kIf^FJGmL0BlC8u z1K*x-#!_qk$sVGa(k3c$@W8PIBOpC6HY#dK75h`4Py*;XmljCRlttsJ@I_ifQ&nV` z6B`%aBY72J#}V7!Uk~pV|G|7MG@4OO!Sa|u?UBMP?_zsDX~ZO=lRV$p+ed1@p9I}f zpjb@W>@z5UYuJnWF_PL#O(+Q?qdMD~_*s35T{3kZr4YDZP}5@k!>;QLZ!*?2wrX@6Ie zQy+l()f4Z#kQ^a*j7e5@a=5edt9EkPj&VUF;ICV|s|db_h*rVCF%bth(p{zQitw#R z9PYrn=1od!t+e^X`i)yPoM7suh z3zEd!8b}F`I6t^PeJJ=w3pNOa(ebU<&5=k84dsw&X9!--yZJ29l|re00s`WIf!THX z0IDjaZzzLKE*(X>Dpf3U6JL8jTAwjB+Ip6A12oN=2xV; z80ivCCG#SFlsFS4t4LZ!>c&=oiQ=OmbEVg*P_R90il#UJ2c1VDqF*9i=6J^M5xw#V zUo&p6m@azInf^zp#&l%n6l{`V-^I3%o?)-?m^EJaUoY_V;smmV(UaU&QwwxYH(8+j z6?5Krk&%_b}jFL(-)LT^GQ z4_VFu6cUUr)nKrHFMuA)1%A|CTUowVH$Kv4-AB>p-SmMOW&4S(i5+E!F*9e!{2q32 zWy0SeE*T+<&g`eSDEolb(%3UZ${5Sda`3gfUuRaMs46*U9GmkIb=#mVc6&yIQjBfj zo)|fduVXHvFyx)7Z7T+OiIg+cg_6WRf0`n?)a5`|GjvKovDr86T*<>Hk6!aFazc zrNKBwQ)SpMyqH^02DYXie-RK=CsA+j>Toy2#Avgl1+drHYWj&v?H9=|*(4+>Wcj7- zM<>ra$%|$g_7=6rU!kOvo_7Q#cRKHgE*YvHZN^p%TwOQc-u04gy|uK|uteER!RpslokRPRP(_|+|oe$j@X);!c zxnZSU894Oy)a<2^DY@bajf>WYy`uw%zQy|nednLxhm!SL!-L(c!st#GOshbX)IN9F z@(W)-n0Of%h0IlV9!;nVn@g2-i>2x^%u<^K?&|FV9qcR2%l`X&Ph$>V%k-nUarYr521+ z4y(noh@cFGC)I^*z2yhc976v$Tb*FU$a?To%2av(LEgaOQ{T?!sV~arAM7x$B4+9k z%T{IG#^lf%^9s_oC>WRm=q0A?nmqnEI8~MjA33fbC%%+xlVo&XG8f%I<(+q)-qJ*&Zcw6eZ{IRsz82wGN)ghD)0=E z1RgU;|5k&vAxjOC`&}6d`IjDwBr;51Lc~8(273tk6W#7)=H+P_Q_IH7cd1w=&4Q#` zcS%O;7&D=LWCE|U+QyAiA(iq_9KA?BYw*@Pw=#aWVqc{9TP~N2jwDK>We_3BxlMM+ za;BOIpU|rZ&>wBF?R(3$MCes9V}yb4rjE*?Zz@YRQ~Z^HA#;7;yZR?q08~}UY0n=( z6CB`7YfkBG+Uwr+iNi{Xw5+$SoJq3d%?d0?jmi0>M^RK1WKlrw%~Cg)gQ;X(+Ms3A zomHFn?RL~houZ_1<~We&3Gf3J<{%nu)ZhvCb>k*R9I-Tty5AH{jtY;dO3Zd<$sIuN zDD(m4r7KSI7Uh(hv^OH>fzgV=XgTthQ>wM3KCe_u3OK4vnG3p>@+z%G^<~mLc9PW? zzcYRF+Finin4H{Xwc@j7uBuN6eDBzFRm`WX-cD7qJsek6@<^G<(G=4VQiF8{$@hdW zcSnz24h@9;Ts{lN=xks8c=>qdeTbWdIrH6a8!bw2(F7WpMinLoNMie5#g=MQuvA!J z*_|cjm?``swhtFt>2ZG?=>ZW~cD_#|+O{5JGjg<=W@mvAKzj42yXg?x-;UQQa?z(}h=@ljVC*61|m7)R;7HtxQ(*GDI~7!WkNUe6!@cv zEc0vvY5a@s&)t&bO}-8n)Zx8)cn%LObR}OZ!}sSULELvn{On1ff9%r|llMU4+<&(zcWN2V!tnG$cc8f_cJ2B@iQ(;U?*7($%kcWYJY1xOg#Ru@R7!PLJ%{+z zsh;!V=cn5ziHlBFpKR}vppB;kcK}k*MJ>JolR~eA6Y*Qpv+b z+WuN7#H)OIT|UWDvr17n3NlKmqm6QAN zs%|s%`l@aZ=^dkH#;+84zm$8kDp#6kp@V0c1~qEC%!s_s88tK5=^c~!nOLE%0YiH_sPM(nnv=8uJXv*@zVxan5 z&u1xRom8g4W`N~`Q9i!Q$Bg}0)uNgi66F@K?9HN%z;(@Q-R_}!f1i%g-nwOisncf& zWz+b4^b*bA!{gC0Ixv40%8Wv7Bx3jSebG>Ak-$+b-7UHp@vj5~UoVoemcXYHBbZwP znOH-y*zI>v-TZ-{271e!_5H1~1O$$oQSUkKXGi#Jhh%5XSRJ3N zZqf)nH4I+?@#WI*p8yr{ZRzqZ{}1JzmoCrz6T_M+(!>^je2EmPNs%8iVQzPL>X7ib z{sRug&RKPc-Jzn8I~_HVxq|zRO@o?@&4T?q1p8YKu?`J75Z!y)fCD(h(i(noox=X8 z8q~VN73_1OToa^Dke$dc%dU5qyUao#ipGOYSNIf{u{OF-d}6h0vtCt+#+$gs+JJw+ ztL@>^f^v_xi78jZ&yYRBs@XkX1dp*_-OO#ec8B)|ToLtM-CR+?YR`&aql|ToLGF@2 zXoE2h0qlx?d{I-C*!Ufq8?@K08XO4Got?(8@;js6FaYI#+r!Np-cNr7W zXFdMvz|^AnA2VkU%W#~tj^64rF402MD8!t^Pi6{>wv!cmDjnh$Mf{}`M~lZieL)G0 z3bYT`LJtdAod8bs1>I<$7W$#Aox90%qC{G7vFu3;E>)#nt%c+&*NGD93kpgOL7pn7R?3-kl0;hYQDXE3BA*Mi z*J`1$q&{)0grvn*k(4GzAWxJ?3rdW>;6hc}g<6Qa11Bl1iz-b7X{KBOK5=P>iP0Af zPtM~Tq&`tXeL+`M+S5|ni^r7)GP>2^-n7Vx0|$}nEt4b@qoA1~YOi=xWtqzEhnQ7G z$}%20ojYCgB(qt><~xy#)p(5n@NtOHsqU4g6wzg84ktHeBn zBB;LLa^lQ=yao;(n0|^V9&$0PtkK*GsK5xutDw|XvO;TccMlvq-Pa41NTZ@aUr;I; z=aJDElMKB|D20UXz!`ywZa=tYdu(=B67RGF4@=-{JMc3J43;4z*#rUtg~5mUpf9+Z zDgr|RZZR)%;vp8tJzD5;;^R&!;k;xCepSLSRl+bWgd)O8O6aai*aN8{`9EO~GI!X4 z^%9t7w{4jO8tg!W1lsMuYXq>g%p8V>0a^3KG@)`vVyubnC2o=6oB0bkqQoyyq=!`W z77``*CDV&hAm+$epPBa8susgsVIC{Po zI#t1cCaNE}%tH100^t#xdGt$gnfDsSoK|-at-T9vCK9;5bN|vpUcn)92{E%FAjo3$ zvO$oXBbQT(4kP`AK>L~6>}8C;zK}x;yn&uYf;N**H1&mYV2ju33(w(cPNPhHp}?v6 zQ}rsC+nk_YQB1_(fqIoqz#Oe!+1IknYj{P-96wKwe&%pb%#FC$8A~wsA6SwSdikhW_+4Q7E6$) z3|ESwW^+Bo8qJJJbD8I&u<{~zdSF;-miJWiX|{tjKPy~T8hP?-5cu0nL)OL}Mij=p zBY%C#lI#tEUC#VfG|^Gl(MRCuv=I7rz9RES5FyF)9wJOR+5dn-6+Z=YUq)Feufi_w zi#b{0zC<3E8UpRTwONyaO~fCLx=&w(66n#VG~QG8&UI`Dir;H|=*o|2p*@7_IxeKv z$1bhw5QmH2yXrdn^VEW}kJNPtPYU~Pyo=DI(3BH~ocB9Qy=B}RQL%sGn;L-57Hr{6 z2Z%wG7K`K2<^BR`c?B&uJyIN5YwQkOb`>2!V->#KBU)%2ZAZ2x{M1-)l3QLgg$z;f zE37JDxOexgoErLMbM3@&20&j(83idEg3P1%*N?jyh!=om{{n3qU zC(DRMHd;A^PY;84cWm^&-4dR!8@>3H z7nzcc%qq{g4k+ZS-C78 zVLaHKI$u@+nW#Yfqu%p`UmcpnoXgmc_)3kv#AqR0oCCp$*rj~58cxqmW2F)Xj4$nN z^j^`7U3OWIKy#n?X#k;L%=ih|7okU@>_)55+3*EBFM`0C-~;m~>_iqDF_#s?-N0dZ z7J8;J(5Nvgj@ISby5?FAtMg3JKWd6iMA(C~Q#=}sEHm!}Mq8uVzU##;K+k^EO)$sz zP-~PMIHKRz8pV$0A9)F`)aw7hQ(d8KjXJfET!L$j7HgrWc?lPkisGiwfyOHHIUc%r zZ98~}76?*@RAyTS&aGQTtW(4gx-q`hsW-b?T`Y)%Dbk;|=(i8GATYm;OhTgPwJy(j zhi2tzF5FB}hthwB0FMu$ZpGEnT)mYdh$G%F+`BYhtZahB&my-oD}Jgn`eO}5S4@C=svnCg8! z9HQDyqfttzZI$1uO{4J*rWe#6Ekf%#ZmTy&NVgnuJ2zmemN z#j9RKE)RAJRN~lNA}M!HD*6SY=WiewUzfzkDfxBat3tQ&HTsh@-NGkh!6&C_PwfO~ z7qZNX<2}HaB2VjKR0voB`2(~k|3VvwE5=7q;775Xhco<2*h>R=iU7++t>H0cu-p<^ zi6cfuSvVJ=17LF(#Va`=3J8N*p+E==W0(b!TdcW05XEDEZvJ{K(h?`vkt%|p#pcnlL&;6ZS{dh{d`@Z(xN+Vn6vDSl(1{X*XlrELKWMAl6#lh!1g z@)4L!P++rbwUeHl&(p=AW0AwP+Nx)@RnIsD5Gbo}qzbQ8=Gr*g+^P1g{=N}Xd@04- zUH5=|S}O{2d^Hda_O}pe^}u5e1Q~OwL2?|xQm64#hgu$LF9=r@`0jkw;hl*tA9Dle zB|NeK!GI)QPU85~QGvJYWwP_waSDPhQp5_&YPld!VQx0H zpUG-`nIx~~_%5;`vMqMDK;8hmQ9UIfCoZWpi-1+-kF=272dIjG@|6G~r5`Hk`qMa` zGVRsuc2<_#yn_Sn*Z8iH1l>rmkji1wuoVxKfw)Zz3ZgLuyJqe`k|JxMN^FX4CJIYK zC%avRS_mk~cEtYY0@X};oz$O{iLq*`6KzACd?q_u#s=^b~11B9X*^@zg2>7)6#k?C8!>Cn&!3hNyu3+uh7q2g< zTIy7zJi$8-+`tCq9m7J&^HqjV!_VU#Q^!Wl!oW^35OqCk+zAr$v-Xc$_gt)9${MVa z1wVf2=*S2L(irEEUV(NCld2wAGI_+tjMF{?tZ$=nGGGHZcH7vsEq1HKSlG2KcC7@S z19M5T5d<>jb=+S@Bj#&m?v&e{{2PQx$5yU7X2P%7eWbr!y;#c6yamJZym`ae$Nz_q+QKDBK;99QsZ~VvIvU@S2<*_JI|}uDoHw)gjv$#Sf^6~P zq>Er50?R2hm&<5O-+ykD_G78v-q$Sy-K-CxBCLz}T5tuWSf-4UpF$7wNmZNZKtZAv zbe`3s1@GW%CwQ{QCk!Z*tXII`*FslIacZ2%>HEkOUjmZ?wM*R)#I1m`@@Ji_DL95$ z^~H8Nt_9tE!82My3rb1wEP0dj3Zv-J{;}LG6g1V8NF>@8FA*hUFivSYxWgXCpcl7M z<6Xp_uZ4h!zyMz2~EkCniWy5E;MPX)A~L zeLbYFt4B*;cW4chm%8n_m|^R6NYg8`k4WpVi&f$>?!jg0J$V+;>DV-sk-6g}87T7R0cd)8^Hivw56s8;p2|tKSjYFRJPWCw90&D{pDPD~ z0+ueVqMas1V}(@eDsR`dk<9=MF}VP#D)#4G2~Hxd#c|HVLF7NX9A@9$Dmfz(sbNy%Nn}aVbFZ3+vJT`Y3Hm5tB zt4FTQHpb*JVKbpKS9pvwplDVU(tFP6D}(@n#Br>UCjfj*Yq=cBJPMbgaOyqo@b@AG zh=cMJ^{$OtFWN`hYRAfEyhrT9kVB-mb40}Pxs(1$bIMLUA2?pgo**_~rg%)-p}gb>m{(Pyp+t!f=dop&3Kmu z1#VpdZamsW3%txHT{Ma~D+@^~8lTU6BAcSC)S?}#O0A>vFNpPs;ZOc|#7Yn**sm8B zQ$&Jfa#B{2-@uv>Z$6y#TVoe7$#w6OIY(W@d)*U0!?;-CTGs$GJh-%RXYR(`M%%{3 z#=X)`f0pKIGp2AaZy8RslTPKADnOIQ#Xe?4S&piuzu`!4??zw5)(|7;GR=QU!;^Tx z_TWl%L5$X*DKZm=ds@rX+{Tg<0zGsPW{?;e! z#iw{bPLE~tJ6K;O>n*epfmtVqoXqy<;c7?VAZ1RZOz=0qTIg}g@q};Ve7i4p4rPU> zqEEFH_}U&j@)wkl4n1?h0?EiV=Y#!yjmkXA+YSamg7td%XAkJjm9}c*zSx$JWbP`h zsjIeT?rN*07?l;m;x0%Q>XO&V=gG`ftBF$|hO&_G7GqO>j(D%mp)SN4uT`ze+o zb~upNks&Q2^N+neC%#_iksV(pwLUGmXgKryHDfKGX4(Y}7x|v=cA2vHh|c5V30Dhl zaI5(XM2qB{iMyz+vA`vAy}y#Z%H7``xvt%9)bw|UZ^7ys{zEeq7A_ zspDdB7)w~`KuDs*)>M-w*iHH>{YmVV%#~yx$~Ov7CmHW;0@cBbk5Yb5fwm{k;8l|S z(@qv>r;EEGoGksdeX(a%#CMGMZ%M4|vJ3yy0^2*tlL5Ase+F!SdDg$W&pdB<;f=Ew z&m2DdjX@Ki)PkFtli_6tZ+*_I$7gXq9{%yD_z3N(*W~lBNUsHF(a7QXbH1U`_d;-( zw=e?3dr^iKyi1~5_XcrCAfhdMc5a|G(x07MGPKXPC@M} z$3G+cb~kL3IVeT@58r5+!`BwMvjfp}b8gNtw)&T>6U*we`%r+kXk(R4^?4CHd!JXZa*sTbQ_}Lck?X>yD zWQ!Ll-dntj;?m7=W)Jgt9m7WY%JuNHvbW){Bubi$b1F z3s;?}^)e}+ZL)x$#qRroeAsAzV5fU#b>>c|l!!k#3|i?4o9x&<)?#Gri@7+U+v=J7 zV&9j5#ZTK8yO)CP6W_krZ4$6feEVWG1l~TBNG#@WE`P5x<|q1-xF-H?p%I@T{*mxw z{B2|r4IxkRZ|gDP|B}YW&vd+4ZYY7 znp&Ex*q+T- z)OPH$5N_T^8$j_#V(;DGZjgCYR2n0uhRQno$avCiXva@tS=>gpm?2!mfER*{>5i?_$c} z-BtG4m%4cY@bM(4)BKl50wIVXO$yMGuC12;@SP4Vqa^>m94~Z|F zP}-N#|AE-4;Uj*&brfB+(EAcF*139MA3|?!%n^qugS|am;^wa~uv?3tlYh|S@9C{e zvc5()d()nkmfX5&&kBw0YhuXOyqeMyzp_A9QJ>@Q2Br7JacG6n*0t zdSqrojK;t(oEbPcQ+sAt8EiVIN*jDdMu)4UHJdWlOe@f{JM^~gl_hvR z!-ET6jwsMK##Peh8;LtRVL!|@D(PiQG?puiw!e|>GFFrs<}@DbxO^2}^VDEWP{Cq8Dwdz5by=)0Z3P&;s{1mrv?FViON=&tJbfhNRI1RxX)<30+F=gftC{}Ni z@hb415w0k+?HlFl`D^>BG!n|+tu1~NQT+E{#LK+6pVhboOLQouNEVZPev)*GsQW5|!p$IiP z8M&AElc$8`K8d{F&r{Bi8T1$YI~208v4Q#z47pOq1O)eORis}7tC6FESY{|tUH~8O z!58yxe$*Cts)PdkV6U%Qjz-(n{nT)UoSlp@7E8lJJTaoT0pnzM>}fm9>#x8?i81gr zB%bhHG)@m(lU1cvVujFAsvF(F8xF8U@A4Jes1@jfII4}WaDdMGOEzgnHyZH)KT>^Y zHG|!$`c+npoYjh~n&tIet7b|@;ycPw9-Y=z3O82RiU7YS7w&QNa5wArX5e7L*MkX$ zy&en^_gve-I2RbV$9f-E;VtP3|CE0HE5|~*deRC9rYiJZl37`iUD?@#Hng#a<8=+k zpN|WMRg5m{Yd7obee!iRKia$~Lnqg1L6YzcCChaZ`FDPhR1J5qmVCId*&Z9e>evB$ zjx@x`D1DKB{fgrt?NOSMdZAV7-WA7=#rM)h z)umq_w@an<$x_GJrIvIv@3u-EE*D|EKN{YZhZYh#Plh9WTovm`Za4hAbQKraRRCAX z*cQ%rK>DDSLmj2)cgDv`c|(sY&z~-DP5N~sASMHmQQnK0=?+7$0(9Xq%KhZO3Lqqei!*+zMcArM4+i}FI9=|2>DQ^pSK;hj#nX-2Z>=hPw_*dEahrKu*~^3`u@<#l z$Fg6~JihGD;5B44|Cf#0^H$m394>Q+Bf}RMStDvb%R?5t+z9Ya9NwLW77}V)8ql%) z*v^SQgI%lWE!wZY1Zrgb1WnnWCena81*Q7Ni!8kL90i*q9F=lkIj-Ee6(iWHJYDY9 z$Cul~?ijj;`5<{;w~g)Q5@BY<%y)UH)q1J-ra(Iv+J0+ys7kJ z(n@yYw;VNO2g~ke{?jhaTz2fB*x)9O&nUR=_|nGOr48s7pQKvaPYViHNZnucsTXd< zuCpuhA6L=xbi+O$hCD|0U47^%$29c7Mj?Re=sxY#_>?q1K)y`> z$(V_bzgA`MNbFFJx<(8Afwss*9bMX~ucyr%X-}_+rtH_}KuV07+Wln+?m-Plm4nj9 z?|3&~;pZ5!pdxvsf+wgzaknHeQvz}TkiZq3!Y9oYI_GQ}+ zjP9O1J$SpuFgWTq8nXNeO7zBc`-Qx9gk_DFD&Sf1&%B9BP&KqIwM`^IaZ;1 z+Zm>`Tt?2VvN}=IfIQc}@lS>qYXR;SyUf69_GmgBM!(VS>tNP%tG zN9|0F36tCIl~^6IU!S5AbP#)x4)Yc}@4Lt46%xbFpe{aIgEP*`OUpQ+<%ymVEF1JX z)^}oJK($rUP zrt`g=&i7|4pWb$!>9w<>BALP! zh2gsk<2@~TwFGnTM(Vvi_8^s5BC9WPK5AShup?X>bFaX3xFSz3NhML9i^PgUZe9Pn zlAukVxBf`~@oi>raE8eEjjrlg&DO16y{NYo$SXXOjWTLLqPbSJCiuMF!?i{V)*lBzWsmo?{(TIm-aIGgPqTZ7G_kc_wk-e zAA%D)JH|){%!`LZtdJ|KGiR@KMY z_Vu2VtTto+{lA#C#Kd%`y0p+5njC1qO$+@^Fat~DXA2om`WdPhf-@R)=6S*jQG2~lo z`5{TBml3cQpI!et>B!6PqN4JML-==EXbCA`%4ex9sbqyL`9hyhWJd|_eeUo$_;!!f zpty*uSMgujJ2vTDj9(ee;(vB5RIV7&?&0k{Xyvf(zEk7FGT~pxYzW`Q8% zV-%{Acn5>Qa`zXwoKaYHNq&D|y5GAHsdG z?lXVRDN8XUrJ@;}#g+D^1b#|@Cryt{pkL~>BX$F?*80P}Y28<^LO3h)D%=bam7dnv z%VZO-JPXUp(;C~q&Mt}lAITrQQ^^J@#DHgNK41ojmsHgU_ay`6{`EbrstZ#%ElU^B zxSx?~_ocL31SYBc7QfVPl5&3|v=roksNYy^iN)Sg>o`qc^cDKzY)g@Q618`xEnrY! z@r!=ZccBkgax~BAntVFL>YBU`73rWLBx?(qV2a{Sx_vUFcdPnSyeaMgTtON&vaPYh z2x08kEbw+3|Fp)|eU-*PO7%$2jZ)y56d1pxGljD~J@Buli~JkdjUr`)D}_V}4;-{X zv{5tkwZ+*ioZ+xzuhEQ^5T`$(`~fBMe1k0x>2cDL)jh`Vb+CKImy0l9VYq6q5{|42 ztjdo6W6(-IYOWP;3o;EP#1D{buR~NDix6Y@&PSNh+uK+1zNIU}NSD7JIfH+vW?zA` z$xL;qNx@8t?tkm_rM=iFoAAQ@G7-jQ)8ERHI_EBP!H_PWPHLqgl9Bx>( zWZtk^BDTP|T`#u4ENd`ErQEQ3Qw3y@4$NcxX$M|+!Arh#CIueN%kuS})LaP|iJGv| zo>L56H%dudr%hj)k^D(i*I_Hwet28)4+TGF?ALW)S@!ybpKGlKUoTw{ z&jf_7T!%E5GQ3qtneuS4-hP?V`_HocAgKf*R}|;)c>?3g=$_2h7;0wqmC7C>-}&_H zd#SlxxL!o;YE*G_7K`U*5LKDNMCD(qV7*8O3zaW~06sK>vYu=;>?6vs+(2Jnt)V5u z7;^j~!8RHACUCH;?`+Xk%(a}h6f1I=Mok1$+bvPXV$}XMn zGi3??nDI?4kH42W-ih~p3;Ywk+nXyKLxBLc$AK{Q2J*^#H@WgO^-iG*knZI(w7s3& zB-`w)H162!;>Ou#CD@WZRYc&>j^4F$*UY^|O#nUdp42X5k= zFLvxK!H4lL7RF^3IL3wv3t)g9xSYT-{pqwmVx+^KWp(&+s0WmPU8O~lSF<2H@vezh zV8~BArXVi`&>f}j@XbO;uqb7R-Jcj&=rNX|Mx0-bnnzF!s8(f9Ev`21%HxV1(i1-q zg=74^coBA={1ahg`#EThBY4NK1{c30hPlj1q=be zXhiRbc-VdWFlO_rUdYq_5!J&tlvRfRID>2vM~z;-Oq=x%xlk7vg7c>ra2hff_P^9n zLvtRd>O>u~`D{Og!{e8;dOeZKGKqG30?h?Ng#htbLLnY6m!(5YvGFYWg1+LR<4cRQ zz^^HSMM?aes!fh5-{bP6?=o%P!N3=N1Bu)z7x-5?>xocqCITH!E$}?eF%Dq81+h^f zGP3a#j8y}-wl3)l?~r4c|I@zOyp4e+`~5rn1`auu?H@dxYJSm{}?lANl&j}MhHYBzQHp%xm*tJdJyG?WR} z0_PI~{F)>*ERsQ_AD(|~OCUPbmBtdW>jl4-C zjNtzW+*9;&8kObAtuD4I{3k4y;WBXAtXFuQbDg7gi4!ZKy!%%<>#t+XP)rXTV$ANP zR%3kv%?`dWW>pi+sU%D9r@+l9heu}nc^Dp^$f$zq@D0rPHAMKjS4H|v^F%+*sm{G^ zU{(2tGN(7AJIN%AZ6g#FDls^ir_Z^ztL|SoPg*&nyB@Ci#uHfj4frKoS(a#GbScRA zQdH-i)seFKn6Qa9%~Gj#?07YdE+EMmM`e9QS4!%p*N^F@H&x_kLAOvv|LVxFS(U++ z-p2-QW2x*pX8jp4JzN_?f)0>AX+UTciGo2BJJ~RWrivsbyb$C_d zkiiH}Ib9A17{+E{Iw=#<@h{g1e_P#b}ru?_z-FI1Ipo~lEc zJtG8#=k-=v%+i%G@x(B@Pj_%2EN2)Q@d@xV^oeh~N5=O=b6_hbDoWjv@jrLC%hyfqU6uWDRrYeie<8eC zo3)3kJ&~K*jg8TGZepoB@M*44N@Zm6z6IBZzK@CYF2Z{MGaxTQ?zU|*C#n5FD|G$6 zMJp`$yRP+ez1qTW!K>WY&2uM~`aVU+dk+`YIJMA?DG!Qf^nksdY_lr23Lh#oj7EkZ zNVaM6UmoB-QQ-*wM!%@_s+_C!s(z91>x3H#zfQQ3@H)af2(Kf&gK&#h*qvYtL3A{~ z^t%Il_-oqX`&U)@L7WoM#nBPR+oL1H7EhY%j@$(JZ}4cNHn;~Iawk@aR!t5_Ca}Ak z_X2m@C&$1W=DP#U4x>NHpAL7T$+wUG^qJyI4@{F3i@J$6q zO+omkLZgQ7y^WgQ;hTz#nxgPceTgCWR8lA&JDUGRGXO339k& z-zq=kyJAxLe&3}dPz~DA1x-~%NBeDhYd`3{FV6Q0hIjvz`5_|nZVXvz4U0SFc$kdZqRyFhv@Z~In zV^F+Xa)+?-Ms@hMfiuogyI5icrB-%Vl%B)MA`1{Ks}5HWVY9-ZVAxS7b=0uTp5zwS zTMGbu{q=0=L7_N>lN~Q8rfH3(l^pW8a|?l*v=5>+oQXww>IqJ^MrFBonAWhO4pu($ zra|aj=!s^oMY<-)PBp2#_Zn}%N#*0$jyjx~<${@OKNCVID~ z*JET9M*r8+i0L6Z{b={Z+M%_j#o8>{eLay|9Oyiuips!_51_ZV!TXRNE(<6fFtpjyCI85;mgNJWQI48>ly*kz0~5e*EC` z`zwu3{6?e2SWcT4sM$vQr@X~m#hnH02#t?BjP?GV+v}_1vVZ!n4D5n#$enVjB0S;_ zPawetI)I|tiYM1j@BkOC^0w(cSzt3>P0fE|Nj1I!XL+U7!A9RirFOoXM!JlnXtEZI zqmv2g@smvildWblKkUv{*Ahpu?_65>rb}Q_o98;>DEk;8oyG2d4D|HTbL6JDe(ke-~uas=Ad~ zr&+7oUfni9WGqas?w?~lES@*lzw3p1ie=gqw9jQ3qccZaGIZwjaAXDqAr5h7ok8P0 z;e~z@c*1YpO(@bE>L~ABSnFBZsIBFzwNYE5J8~fGBaYwkEeqe>PPZ|PefEBKm`Aw+ zxT(t6$qhUBYob>Td5m7a?2*+2zNyN-vl!Q&LhDu=3#IsK_$q-%A3>;OWw2JgoJdbS@xS4MT#0ChOb?jsR7 znGqZzC4x1?)y+&+K>EDGeK;H-9jOdYFF;kPtn!lSa2R)^J=$<>cR5T&3Z8UDCfCjI zu#2dfunsCFQ-Pf+bf$e>s>P!~6?YvW*YcYx@=!UfxLXcxqxy?urs&RGciR>?q&;SE z$^wLWj49@{R)7&p3^P#GsP2=D3P{FLWth0Yic5dXnc(!|D)hl$dy0Dtco9*IjMOzi zxdAv5{|lf*mWzIqE&^6gJWsA*p!A_n{+ovu_@xBGzx;?tBGaE*0IO8NAY-ZhL7i`aZME4m*)!J^mr(nWEI7ht)eiPNia3___jD`8qAoLZB+_ zDRzgi8>olpNyBN*wD92h3<)(pID}@*&(q)Da{Gh~`rR2!7>!!+MUpd|y`zIxDuN}2 zuO|)d{iL_MI}vr4ADnU^{s`61C9S`9eYY&%o#Mh9v%w!u>0cRsei`2@QHAe^n_797 ze|q@&MjmyCMOaZgFg}iS@*#ez{h~*H#1UKN zlPHXD+@a?yE6UZ8#~i%M2IPs1>}Fn9%6Rx6>)L^Z+cSBcGtyDoci1Tm`+YfDD4{OA z&XU2^=G_|W8r=5K8Q@O2ma!T3(J!8m>7_}=Qq@>v%f?2%WY+5>r+};G?^`UGgSLJU zd+2ipA$ zYAt)v9(tX&U$9cFFjotRbfEeMZar##4i z5O_a3{&zTo@)lVy305%G`mn; z#|k9!7G~w(;}8jrvrXKEZtW%f_P#|B zLb)YR?$T?ae-Je1@xx>u9jb-4AcCRLu6lTmppe8$bV5VR_~;2Vwd=+#`DnGx919Bq zW~EacwMiDvr!Jl&b9iy5dUNjVCAnE4$yrM+~WOo_+OV)>?TJSo)>VeN@ z>iJI#+?vmnoS?zUQ9t+orL^-}+6fswi3|xZ&Qo4_&L`To*ms(24_w+Pcquqg#shhLjZN7Nuwf7Nnn>mAE;Mnw9sOjN~>Q88BmzoZ|sPVGTC zxN#SQ@T%ms$07=YF+Cw!r=NU67Q+3b#;Z6z)OE;Qvv#Bv-hQfZf9-x~a*pc5_N#DW ziPmsAA=6)LLVa`SZFnrlUwe>5mvSUKnBxh*W-YzHDIY=MpJj!IacO7R%y8||tmwW1 zco2D6S^0w19&>O_DStD(67c<(txXt_eMtlUpdy`tqd8jOZ-mSmMka}Ww9xMf%?DxJ zW>)ve{Qh(Kel$zF$-Gj&r(kh7BXu%Zd=Yy&v|k|GsRms@oLLz!pi+8jW-*t2M={S* zj8ffvXW6cY+e}f!8??bZD6^r>vmr>a$Ii0bezW<%tgUpPj@sXEHy`3Vp1YU@0SaLW zInyicca2HBA$P17#{`1L3oil2w_JgWpo=0LL@tp%K9}0HdG&h}xz@tjxGVpc0w4Lm zl%>+-mk0|HXbm^!M0XYCFCmv-as?lTIyP#K0Q9@M`B%MNUvs$8%=Pcg=B(g92=DEO zj0^|)!)`-mFwbE(P}e-ooZES0@5vgp()<^*3^tY`J>jPXB)~bc({s^fZp@06%BXWRYe3X+AE6OV&O@5JIVwUx`kjXi z`e{F@np}Aae-hu-c(Dj>2nd)6+)4q~09!h5&N4KStI5nA#o9 zb)Bkpe@Am4R?SUf+~)5{xzp;H1?4GpIB*d#?o`!fw0&}mVDN`}C%5R>N{9@rsmm7$ z-2p~#(o5cWoq@00EvVYY(IvOI3T@$v!2Tk0BLSO$IDAS5BD6OWHWs%6@yNNY z3p2o4XoAl{b{1q?_dVZ=3tTH(XxhBjQy^{Z2dJM>K>bW-puRE3919Xy)T}9rB)04` zDFCLYJN&GlmdmatmD_8dC4c2k8j)U2u@S0DmBVi>rOx##zEA%DO6B%zMhon!<|;H; zx8!EgdXP05t7R~))f%2H?Qn;mlEP`m8QQ$b>$@6T21M&&v^hJxC<`2Q8&659Cg)K( zsMvJCY}K6lQy5-qZo#u!G|z_jSk>d5%QvTfKVuXYecCzJ9sZTHF#OcX7G=;qbhfo9 zZ)IKk7u##{(tD0slYz!VP0mDPv-2?PE(B)4288OLJ-$xH+htAmmG{iI$2qp$OgBgR zG^Z1?`jwj3UuBFct8rR4p@dY?T5xiqoUi3K~vw!){4fa~>gwm7jkjA8qX%$GT;4L} zLp?D68|j9(ryz&fkoaoF>CK8@B*JgL4LDl}1$rd9!r^K>!W@RW3hkV(VC+7&>9~Z~OE^5|O_H^(FImN_40g%-$b*T{8ZGGP%VfCX zT`@LN|GiRXbfp&DGKg-k)E2IkrM;7Yy0gK4_eh($it|KrFY|Smz4;dNpSdK-qf~R> z&9WO>B<1lZlkUHlrpyuug!tSck4}T}@I&drh!HFQJk7KEvsKuy0-*Abe4p`1czZBz z@+SW(!*570QGw8c7co_qXg;6z4YajTgW^3wN_UPjIHx!2Jd{*Zgg_{8#=3=R!kjej+{gr^1rgSk}Vr| z1h+Ab)aj1u`OWY8dF{l13~rmzj{=puwHMc%uuyH*fjjAZ+Xs~;$j&bTL(9ea;7|)L zWnNvO9h#E#LGsppDgfhk8K2a(%3Dc`x4U5Mb%6s#aZTFpp`{kSUjloWJ9r;zuBDQs zCD019XmhM6*$%yqQARg>tlac%mDki(aBQL9%uW@mw{5O0`Jz&D9nrP5Sg2^Ti;bd% zpz7^BX4!+EY(g)NH|4gKB3}UKhp>Qn;xlyP0#)#h-6D=>s5V{6rUEJvAl$fH z&woQkoQL2oPk6qc2lCM1@-rZNHrZ&Z2{c8xUNNhk^T1Pt>>iw^h3@Pog&$9p-rqp` zpOQ$sv%YS!)^3fv)mk(kzkz{*rnU|U<7t%wGj$KxKIA9QV3%H$E=3C!Ql^yj`cX&)`T40Ztw+*|>!`POSB0 zZw@4KI6`Z)zExxWv}%oUQ0}uszVXe4IDnGRLtk_&M)byS%^9>!N7PMzU8~%xpsm8_ z6YwNfQj~9^DU(KqGhC5jA7ED^Q8{N43?mM_>+Xs7kPH(A&=04 zPZ3fio_>LKTn)}HqVueoSm4_t^GO1sXL9INcmS7cRW3#>;^V6Wd?HULB= zHg*=X3R$qvGH~wj+kSaOdW%>U0lu0LF?ZpV=KSvrrM6-5enbt$zftlqpQydSrTm6b za)-lGgrOgSs5#;`R7hx>=0O|YDJDkp^GuXc zpQ%IPefG`pqU})K4Kkb(}FV|iA9rH4vO6AAv zHcYFYm$S!mR&~omb8V5MtG$4YtwKe=uvKP5&W9Eieg6)7Rs-!Ukh|ER|4%ga8RGR| z3^bcrMpikZr&r_qa#&ZeAGwXQ*|7bv==bLg+F$&%zM5o zQjm)fk(=}<%2HwUuID7?y*@HE5gB*X6DgbP&i)Vs5=y99yFRB*IjF*F#X$olgkjIZ z5MEC~>sjeU+RNOv-nbzP*W`$BFpk*R5$MRCzGzbT`&vU&=F;KnI^un6_+pc`$k0Hq zGgo7gNh^vQxL)C}T>+P)o7T`>LbCSj-(wviv^%RfFgNqBl~pxIh#b$*IetEB!B_Ye*wObLVTfxlMYUPas6>j^ zqn(%W2cFUzcIZvB{zwi#&zJ4zD?IW0FzZEm@^4NR#2tp*Dnt2)QMXve)S zac6gq3)*pWiDRHU^NTtyx{Eh=UUY{93m?mmU&=P8|DBC+=&$J-8f9yQy7$+9#ONAJ zcpo+v#}wr}Z`DF?NF0Lnk8;$yT{%h}U-M=%Z5jLOPiUdNuRcKrESNg|pZA3v_%Y-F z3{HcTIVwEK4RWX+w0wjSgD7S%q5vsn@ikyx(pMx z^pk91Au<#`7a}K((6!(;BC!9H;tcTl|OpoOV&4H}BwEr*0sHJXtsT zXA~=*&^qP2;NCW`3a&?3q?qrY-;am+6q{-C8}WzncYe4Zkq(KRLS(0gJ`GiQl6jg=RC1mU z(ZM9+?Hq;D*x|8*-OPZ+x=s<$6y@L~x2O| z7_dciuhI<_^4B|HOcdkfMMo8zF--F^g*hnnk3pqkrFgQ}?n$IzPay@hZE2mY_6)l# zzT)Vo=d^8$9xg)FAT)vjf|~>{Wgm~x+62>``n2yXT0?)!`n%vIIZmDc=BJC6qL zQTMex;Wzx$A_|>1vZ`FWdTSErm`N#x0LuFc4~C}U=O z&F{~=#jbk59))A(Gy8p;KD9>!o>ZY>Vs6*JbBL(9xI3Dihh#Jjb3K=@96)klr86KL z?W2qcgK$(Xael!7=;7CdZ=m;h?Nu4(5A+LOlc^OO(wX-&P+%USE%+EDIr!HC7n2{e z;UXpVELq<9JUjJ01wTJKX%(H$|HqbJ@L!g{Y%(*Q!TNZLuIh_9;vHju5^V{K%oX6{ ztb%^gZxs^+8O~h#i_Xl)-Q@f_lmgJy`Pd;^Iv+b&Y99-a+maCB%Vr}=B(N!Bzqv1k zC{$jR$3B7ETw`tCAy>q)kkYeC`(l$>!?k$e8`N?d2el@t8-Zz#RICMU#0owCJ$np; z8@xY?esOj*fevc3ufkRD6yRRuByoJiuu~Qt`C97*J=mtK6WUAW&&j2F%sfms=Z}|7 z$EkpSk)JYvm(mgT@g=ZpNd5u;Do1@y5@_`GU%~MZpwR>GIaxkVUsnN{_$l1?p^dKk z392ZMF-r9+3n>CJV6gbE*AqD63FaABMt+i##+Vt@Jb)=3=Pl&kfv?}H$)G!>F z#4O>UZHjAHqBRU868_8N|0*n z(i|=LQ_3>0XKTmOps~q)NrN=eJ#nwQe6J7HeNk=2`P&2WeA(m&5{K&E{v<-Rm)&B3 z>O0V=EiGCH_tjzqC$Lx+*qLoDF*Q~l@ox2SwHY*qy-@;3TcJL+$?ry;V=^zU@|SGwyhtYsHuJ}cQVP>(Y8s6>$h2|OHVp>rT8 z*kwBS+)--wBBWTR`T`jM^Lfyp&BuULs{Kk>Cl8&OAl_)8QbDUyD_+`!k%>V1>)`PQMS-JoC+wBXd^&wxDUe?N(x4S z$D`)-GszekKIsp+B4JV_x^8@|fCEhrxH2Eay02z}?L)bkmEXFK7StUTvYIAxdH=tq zp+(GF*CD3>UvIk5`y)}ESrdD03t%0l91)a+{0x^C{FqTT9ypme*T-c!5#_4HW(`?W z1i1BSIG;MRJ3gR5m$qOBIL6%3k3O^Y^_r4eDa-6Bvy_YeN*ma_$m2dW1u^BDbWedhptw0>c#nS(Ww=V&Ysyh3hNhZrcI@ z6~jK4kzKMU^Z&i)oO@>`i_8CctdC^wJ@@R(d*1yG(SQIPhB|^D(POc?TUK^w!L6dw z5DnZEk4z;AR2a(?K9ug=16{36vQqDGg=Ti!15>+Q>PuA05e&VGpWy4CzE`mu4AIwgCq|yXMZKpza8p~|)K-#5!@o*guE@%1 zo-hjfsYB4s_o$VC9go51=@Ee}a@qn=wU()SUT>q#5ve1(8&)gsL4jMk@d_CsI4AZ3 z6fdVTb$FZ`EMJC4Q49R2$6MBBFvE3pczsD7rQP_<@nC;yI*THytR#m5Gz(*UL; zUACnPV66eCZP_OYP~Y1VnbtuyJ3^(MO`3PNg~P1(!Wz$zz*Jo48{VHCJMH~*V^(!4TB+-L|FycQ@w~v)p2$?f-M*NMHU44;{-#+~1A(Lr2=e01& zn>$Bp0JLl;iDK+5qjyz0GDTi<0oW2)wm_>zH<o_4~3Az2y2lb)pM2}FwgNK4f z+76(pGkzkFBF`o4+M>t|&>90>a15jZ$RJ!Lj0}Q?dKJ#ON!xRlxZz5TtdJ;D*3rGQ zE@vpe!F!d;?_)&-1D4^8#DQ%M6G|=lis-ALx*s~X7Zpf8?*^a($&^+vM@p3`)Z?gr z%IOWJCl$PW6wWvi+K)@V^e=!(G*<6PSJx?fvk3dB4$KlK>ngRe34tIj9J2|zhH~n` zjd=nPh17eoLbEg&;XEM`5?T#gqQ$@qu$Pz)%KQn&PP2OHI(79tudI)Pr;e+CHs9^-#8&zvxW#sLKEv!V zB({zI4}S$u=SCn07#(9w0oWz$|8*u9J?{Zg6WbpwE9{%&r2qE^q{`mC2AAirKjKaG zp210It|C|I09VC|A{Eok%AR9N2e>Nbh^M0c1=|K3DXS)MN+JUHVA4r^PWZzA%);(i z7^BBm@F-W@lm(uFKYle$P_<68NQ(+-RKW@?HWQhDgzsRw(kuN3rd2h5m=7W8w^jJ4 zRiid2b}C553Bm;c=NQ$Hd$1HH_gG=VNnJh~83-%9Y$*!;GZv2vJnL@^FEjA0kMIgO z?cI}=%moMzF}MIW)I-Laz5vp+3j6_T99Ivi8@&g!)Ggkd0!zS!?71K|8F zwW}>~&1~IZ-D*=d*ldBv*%c$G9UZ6uBE3qTEepSc3r%NTL_eHE17+GYfnMK(jHDok z=+CoEq{=3gV{qkzon$D%#Nk?lU5)e40)xqODW)u&+QO6xHcjkWk!Eaw&5RU`T>uO7 z-B~~!vRAM7njK7hq!J z84NcD9YChdxa4K23Px1zaECSqI|`#C7808{+C2M^s2#u`F-S}+y3qso{YlJ~L^mY= zBZ9f2J&p%?wSq;{E(4>l|HaaRAV}~D2N0+p2ZeP1Sg6?j*y8v$y1#D@%pp!7T_!OA zK1OCliL0SyLB1}IOzBAaA|$iV;zg9m#>Hl&OL###ps7C%-H<9vZNlu~qTuuIqiqB# zrO$2{629^R-ofiQktw~^G%rh9RSjlPdGvljTTU#m)#?CqR+8LiOH987q`-W%VcZ13 zIg%-x#;dqcX0Q{-SKtgED* z+b2nTs?#>4>R(M!+WIG&4RBYicojTxVo|^pxukyVgN~9M~C#j;}$}=s0#a6 zWCW7-6g)myzGB;3&?W{$gV8(e>JlRR==}F+umJ1c@;A{x9W;um#83dv7+6m(rLD&a zHnz)0xEZ+kp%3bkf~I#}1NidI;!m7-qWGb#%Ot1ZPo9LH+k&%no=hW?rFbt~R-yjez$w%7{c%ur=SeDYT z413sCeK;NRKQn{)O1Dk&-E%R}tiVG|vL^0q?SZ`@Tmuzj>q2Bo!nkh3ENbT<%~;)SKl^U0 zyAUYT3Q~5_Zow^J6o2(Q7XK3!C!&jEyV3CC0Xi{2Q zPU~41m3;Yoh*QHhy9&QWS)t*Fl*a17ErP@ks)sn85KZ?sn+do4)Vdan;jjfB2HF(X zHG8$)y9L5adt$?V-)$nUz(|~-dn^onfaZQ#Bh=XHgXziqa~xP{$_BA~IR8YrAOL|G zJLL$xl6eo9Lo?2>k=G3WSAgm`hCSL*JQ&j|f5*;PL}!BOIwHI*jc`_6Ld3k+dvJ*H z%@WMv)^F(0U3!P^N$$}5_kOq8`4ksp(mE4g_IAK)f-ZcA0+YsqKAK$j4889DiGtQ2Bm8n>aCN3frP$cAz>rJ?!t}>*Du_iii_MoBj=uLdHfHDneW@PN z9eO)b;^yj!*>IZiZI5k`y zk_1T(5+ZHZ_u+CAI|PkpSVAwN!7?7lQ5rSlaoh`xlHEdV`-6s9ITqiv|2>bHqG9Ai znLr7qXw3N`z#2Ll{VBkWu7J6W_*|4Jm+aM+<)S#p`B=^?biky&3JgPR8n~mFQJv}A z3@L+{Yr9$(ec(2IbTwRZ*hG>dwmmqs>dQkiHxMlD))oS%7Lc|{N`bW2Lx8jmNE3t9 zk?EBfw@F)lF5o;-!C-lm?Ly8skP}-v4LmIi)TC2pQI@8BA`>4De|ju%eM^`=Oe>qB zV+o{q>uoSTm;C=k72v#gYfJDzdUU6NS1>#rD()voYAtxx+35;80b0~USZN;U3m`4f zBL)Hr-(35%Lhe&0^M(W=76L|;M2pI#Kw@1lBbqO08hhZOWOnDbnl<M*uCiXRJ5U2^H=5W^miMi);OeVRUA-n}K8&=VlVPq#I>N89qXp&=y#!TcmhS;Xl zPrV3FNOF*Yj~xCltc`~FY!Y@G8?qe!3g>wrq6;BV4niOAu{J7=j==QfF#~sp4Y@}8 ziwQ!Hv0QWlQs7twR-&hF5gRo@!DS~=aB_HGF7b>Z?T5>@_BvZzL&WwqR=ljv){