From 84e75b93b704dd8b55ecf3c903f82f5ddd025750 Mon Sep 17 00:00:00 2001 From: Daniel Cronqvist Date: Thu, 24 Apr 2025 08:15:09 +0200 Subject: [PATCH 01/12] Prepare an example world to be used in Raylib example project --- .../kenney_roguelike-rpg-pack/License.txt | 23 + .../roguelikeSheet_transparent.png | Bin 0 -> 94579 bytes .../assets/world-tileset.tsx | 38 ++ .../DotTiled.Example.Raylib/assets/world.tmx | 434 ++++++++++++++++++ 4 files changed, 495 insertions(+) create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/assets/kenney_roguelike-rpg-pack/License.txt create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/assets/kenney_roguelike-rpg-pack/roguelikeSheet_transparent.png create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/assets/world-tileset.tsx create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/assets/world.tmx diff --git a/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/kenney_roguelike-rpg-pack/License.txt b/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/kenney_roguelike-rpg-pack/License.txt new file mode 100644 index 0000000..3b4c9db --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/kenney_roguelike-rpg-pack/License.txt @@ -0,0 +1,23 @@ + +############################################################################### + + + Roguelike pack + by Kenney Vleugels for Kenney (www.kenney.nl) + with help by Lynn Evers (Twitter: @EversLynn) + + ------------------------------ + + License (Creative Commons Zero, CC0) + http://creativecommons.org/publicdomain/zero/1.0/ + + You may use these graphics in personal and commercial projects. + Credit (Kenney or www.kenney.nl) would be nice but is not mandatory. + + ------------------------------ + + Donate: http://donate.kenney.nl/ + Request: http://request.kenney.nl/ + + +############################################################################### \ No newline at end of file diff --git a/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/kenney_roguelike-rpg-pack/roguelikeSheet_transparent.png b/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/kenney_roguelike-rpg-pack/roguelikeSheet_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..79b13326ceb8557a98b2b78aa5e8e7b9269f6693 GIT binary patch literal 94579 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 literal 0 HcmV?d00001 diff --git a/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/world-tileset.tsx b/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/world-tileset.tsx new file mode 100644 index 0000000..ee710e9 --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/world-tileset.tsx @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/world.tmx b/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/world.tmx new file mode 100644 index 0000000..6056474 --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/world.tmx @@ -0,0 +1,434 @@ + + + + + + +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,4,5,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,4,4,116,61,61,115,5,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,4,116,61,61,61,61,61,61,61,115,5,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,116,61,61,61,61,61,61,61,61,61,61,61,62,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,116,61,61,61,61,58,118,118,59,61,61,61,61,115,5,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,61,58,118,119,0,0,117,118,59,61,61,61,62,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,58,119,0,0,0,0,0,0,60,61,61,61,62,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,116,61,61,62,0,0,0,0,0,0,3,116,61,61,61,62,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,61,115,5,0,0,0,0,0,60,61,61,61,61,62,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,61,61,115,4,4,4,4,4,116,61,61,61,61,62,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,58,119,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,59,61,61,61,61,61,61,61,61,61,61,61,61,61,62,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,58,118,119,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,118,118,118,118,118,118,118,118,118,118,118,119,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3,4,4,4,4,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,60,61,61,61,61,61,61,115,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3,116,61,61,61,61,61,61,61,61,115,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,115,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,3,116,61,61,61,61,61,61,61,61,61,61,61,61,61,115,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,115,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,3,116,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,58,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,58,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,3,116,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,58,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,58,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,58,118,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,117,59,61,61,61,61,61,61,61,61,61,58,118,118,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,117,118,118,59,61,61,61,58,118,118,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,117,118,118,118,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,466,466,466,466,466,466,466,466,690,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,407,466,466,466,466,466,466,466,466,466,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,464,466,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,464,466,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,408,0,0,634,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,405,406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,463,408,0,0,0,0,634,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,408,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,466,463,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,466,466,466,466,466,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,466,466,466,466,466,408,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,466,466,408,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,465,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,409,0,0,0,0,634,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,462,466,466,466,466,465,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,466,465,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,466,466,466,465,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,466,466,466,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,405,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,465,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,465,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,465,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,465,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,407,466,466,466,466,466,466,466,466,466,466,466,466,466,466,466,465,0,0,0,0,0,0,0,0,464,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,409,0,0,634,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,466,466,466,466,466,690,0,0,0,0,0,0,0, +0,0,0,464,466,466,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,870,869,872,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,870,869,872,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,870,869,872,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,870,869,872,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,870,869,872,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,870,869,872,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,870,869,872,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,43,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1360,1365,1365,1365,1365,1365,1365,1361,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1360,1365,1365,1365,1365,1365,1365,1361,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1362,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1362,0,1363,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1362,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1360,1365,1361,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1360,1361,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1360,1361,0,0,0,0,1362,0,1363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1362,0,1363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1360,1361,0,0,0,1362,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,1360,1365,1365,1365,1365,1365,1365,1361,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1218,1223,1219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1275,1280,1276,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1332,1277,1333,0,0,0,1218,1223,1219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1275,1280,1276,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1332,1277,1333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1218,1223,1219,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1275,1280,1276,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1332,1277,1333,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1218,1223,1219,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1218,1223,1219,0,0,1275,1280,1276,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1275,1280,1276,0,0,1332,1277,1333,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1332,1277,1333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,1218,1223,1219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1218,1223,1219,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,1275,1280,1276,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1275,1280,1276,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,1332,1277,1333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1332,1277,1333,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 57e69f691e2f52c9026831cdff290012dfc03335 Mon Sep 17 00:00:00 2001 From: Daniel Cronqvist Date: Thu, 24 Apr 2025 08:15:50 +0200 Subject: [PATCH 02/12] Add Raylib example project and helper methods for resolving tilesets and finding source rectangles of tiles --- .../DotTiled.Example.Raylib.csproj | 22 ++ .../DotTiled.Example.Raylib/Program.cs | 203 ++++++++++++++++++ src/DotTiled.Tests/UnitTests/MapTests.cs | 132 ++++++++++++ .../UnitTests/Tilesets/TilesetTests.cs | 114 ++++++++++ src/DotTiled.sln | 9 + src/DotTiled/Layers/TileLayer.cs | 24 +++ src/DotTiled/Map.cs | 28 +++ src/DotTiled/Tilesets/Tileset.cs | 66 ++++++ 8 files changed, 598 insertions(+) create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/DotTiled.Example.Raylib.csproj create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/Program.cs create mode 100644 src/DotTiled.Tests/UnitTests/MapTests.cs create mode 100644 src/DotTiled.Tests/UnitTests/Tilesets/TilesetTests.cs diff --git a/src/DotTiled.Examples/DotTiled.Example.Raylib/DotTiled.Example.Raylib.csproj b/src/DotTiled.Examples/DotTiled.Example.Raylib/DotTiled.Example.Raylib.csproj new file mode 100644 index 0000000..5e549a0 --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.Raylib/DotTiled.Example.Raylib.csproj @@ -0,0 +1,22 @@ + + + + Exe + net8.0 + enable + disable + + + + + + + + + + + + + + + diff --git a/src/DotTiled.Examples/DotTiled.Example.Raylib/Program.cs b/src/DotTiled.Examples/DotTiled.Example.Raylib/Program.cs new file mode 100644 index 0000000..b5b78f3 --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.Raylib/Program.cs @@ -0,0 +1,203 @@ +using System.Numerics; +using DotTiled.Serialization; +using Raylib_cs; + +using RayColor = Raylib_cs.Color; + +namespace DotTiled.Example +{ + public class Program + { + public static void Main(string[] _) + { + // Initialize the Raylib window + Raylib.InitWindow(1280, 720, "DotTiled Example with Raylib"); + Raylib.SetConfigFlags(ConfigFlags.VSyncHint); + + // Load the Tiled map + var loader = Loader.Default(); + var map = loader.LoadMap("assets/world.tmx"); + + // Load tileset textures + var tilesetTextures = LoadTilesetTextures(map); + + // Extract layers from the map + var visualLayers = map.Layers.OfType().Single(l => l.Name == "Visuals").Layers.OfType(); + var collisionLayer = map.Layers.OfType().Single(l => l.Name == "Collisions"); + var pointsOfInterest = (ObjectLayer)map.Layers.Single(layer => layer.Name == "PointsOfInterest"); + + // Get the player's spawn point + var playerSpawnPoint = pointsOfInterest.Objects.Single(obj => obj.Name == "PlayerSpawn"); + var playerPosition = new Vector2(playerSpawnPoint.X, playerSpawnPoint.Y); + + // Set up the camera + var camera = new Camera2D + { + Target = playerPosition, + Offset = new Vector2(Raylib.GetScreenWidth() / 2, Raylib.GetScreenHeight() / 2), + Rotation = 0.0f, + Zoom = 1.0f + }; + + // Main game loop + while (!Raylib.WindowShouldClose()) + { + // Update game logic + Update(ref playerPosition, collisionLayer, ref camera); + + // Render the game + Render(map, visualLayers, tilesetTextures, playerPosition, camera); + } + + // Clean up resources + Raylib.CloseWindow(); + } + + /// + /// Loads tileset textures from the map. + /// + private static Dictionary LoadTilesetTextures(Map map) + { + return map.Tilesets.ToDictionary( + tileset => tileset.Image.Value.Source.Value, + tileset => Raylib.LoadTexture(Path.Combine("assets", tileset.Image.Value.Source.Value)) + ); + } + + /// + /// Updates the player's position and camera. + /// + private static void Update(ref Vector2 playerPosition, ObjectLayer collisionLayer, ref Camera2D camera) + { + // Define the player's rectangle + var playerRect = new Rectangle(playerPosition.X, playerPosition.Y, 12, 12); + + // Handle player movement + var move = HandlePlayerInput(); + + // Check for collisions + foreach (var obj in collisionLayer.Objects.OfType()) + { + var objRect = new Rectangle(obj.X, obj.Y, obj.Width, obj.Height); + + // Horizontal collision + var movePlayerHRect = new Rectangle(playerRect.X + move.X, playerRect.Y, playerRect.Width, playerRect.Height); + if (Raylib.CheckCollisionRecs(movePlayerHRect, objRect)) + { + move.X = 0; + } + + // Vertical collision + var movePlayerVRect = new Rectangle(playerRect.X, playerRect.Y + move.Y, playerRect.Width, playerRect.Height); + if (Raylib.CheckCollisionRecs(movePlayerVRect, objRect)) + { + move.Y = 0; + } + } + + // Update player position + playerPosition += move; + + // Smoothly update the camera target + var newCameraTarget = new Vector2(playerPosition.X, playerPosition.Y); + camera.Target += (newCameraTarget - camera.Target) * 15f * Raylib.GetFrameTime(); + } + + /// + /// Handles player input for movement. + /// + private static Vector2 HandlePlayerInput() + { + var move = Vector2.Zero; + var playerSpeed = 150 * Raylib.GetFrameTime(); + + if (Raylib.IsKeyDown(KeyboardKey.W)) move.Y -= playerSpeed; + if (Raylib.IsKeyDown(KeyboardKey.S)) move.Y += playerSpeed; + if (Raylib.IsKeyDown(KeyboardKey.A)) move.X -= playerSpeed; + if (Raylib.IsKeyDown(KeyboardKey.D)) move.X += playerSpeed; + + return move; + } + + /// + /// Renders the game, including layers and the player. + /// + private static void Render(Map map, IEnumerable visualLayers, Dictionary tilesetTextures, Vector2 playerPosition, Camera2D camera) + { + Raylib.BeginDrawing(); + Raylib.ClearBackground(RayColor.Blank); + Raylib.BeginMode2D(camera); + + // Render layers below the player + RenderLayers(map, visualLayers, tilesetTextures, ["Ground", "Ponds", "Paths", "HouseWalls", "HouseDoors", "FencesBushes"]); + + // Draw the player + var playerVisualRect = new Rectangle(playerPosition.X, playerPosition.Y - 12, 12, 24); + Raylib.DrawRectangleRec(playerVisualRect, RayColor.Blue); + + // Render layers above the player + RenderLayers(map, visualLayers, tilesetTextures, ["HouseRoofs"]); + + Raylib.EndMode2D(); + Raylib.EndDrawing(); + } + + /// + /// Renders specific layers from the map. + /// + private static void RenderLayers(Map map, IEnumerable visualLayers, Dictionary tilesetTextures, string[] layerNames) + { + foreach (var layerName in layerNames) + { + var layer = visualLayers.OfType().Single(l => l.Name == layerName); + RenderLayer(map, layer, tilesetTextures); + } + } + + /// + /// Renders a single layer from the map. + /// + private static void RenderLayer(Map map, TileLayer layer, Dictionary tilesetTextures) + { + for (var y = 0; y < layer.Height; y++) + { + for (var x = 0; x < layer.Width; x++) + { + var tileGID = layer.GetGlobalTileIDAtCoord(x, y); + if (tileGID == 0) continue; + + var tileset = map.ResolveTilesetForGlobalTileID(tileGID, out var localTileID); + var sourceRect = tileset.GetSourceRectangleForLocalTileID(localTileID); + + // Source rec is shrunk by tiny amount to avoid ugly seams between tiles + // when the camera is at certain subpixel positions + var raylibSourceRect = ShrinkRectangle(new Rectangle(sourceRect.X, sourceRect.Y, sourceRect.Width, sourceRect.Height), 0.01f); + + var destinationRect = new Rectangle(x * tileset.TileWidth, y * tileset.TileHeight, tileset.TileWidth, tileset.TileHeight); + + Raylib.DrawTexturePro( + tilesetTextures[tileset.Image.Value.Source.Value], + raylibSourceRect, + destinationRect, + Vector2.Zero, + 0, + RayColor.White + ); + } + } + } + + /// + /// Shrinks a rectangle by a specified amount. + /// + private static Rectangle ShrinkRectangle(Rectangle rect, float amount) + { + return new Rectangle( + rect.X + amount, + rect.Y + amount, + rect.Width - (2 * amount), + rect.Height - (2 * amount) + ); + } + } +} diff --git a/src/DotTiled.Tests/UnitTests/MapTests.cs b/src/DotTiled.Tests/UnitTests/MapTests.cs new file mode 100644 index 0000000..2c3591b --- /dev/null +++ b/src/DotTiled.Tests/UnitTests/MapTests.cs @@ -0,0 +1,132 @@ +namespace DotTiled.Tests.UnitTests; + +public class MapTests +{ + [Fact] + public void ResolveTilesetForGlobalTileID_NoTilesets_ThrowsException() + { + // Arrange + var map = new Map + { + Version = "version", + Orientation = MapOrientation.Orthogonal, + Width = 10, + Height = 10, + TileWidth = 16, + TileHeight = 16, + NextLayerID = 1, + NextObjectID = 1 + }; + + // Act & Assert + Assert.Throws(() => map.ResolveTilesetForGlobalTileID(1, out var _)); + } + + [Fact] + public void ResolveTilesetForGlobalTileID_GlobalTileIDOutOfRange_ThrowsException() + { + // Arrange + var map = new Map + { + Version = "version", + Orientation = MapOrientation.Orthogonal, + Width = 10, + Height = 10, + TileWidth = 16, + TileHeight = 16, + NextLayerID = 1, + NextObjectID = 1, + Tilesets = [ + new Tileset + { + FirstGID = 1, + Name = "Tileset1", + TileWidth = 16, + TileHeight = 16, + TileCount = 5, + Columns = 5 + } + ] + }; + + // Act & Assert + Assert.Throws(() => map.ResolveTilesetForGlobalTileID(6, out var _)); + } + + [Fact] + public void ResolveTilesetForGlobalTileID_GlobalTileIDInRangeOfOnlyTileset_ReturnsTileset() + { + // Arrange + var tileset = new Tileset + { + FirstGID = 1, + Name = "Tileset1", + TileWidth = 16, + TileHeight = 16, + TileCount = 5, + Columns = 5 + }; + var map = new Map + { + Version = "version", + Orientation = MapOrientation.Orthogonal, + Width = 10, + Height = 10, + TileWidth = 16, + TileHeight = 16, + NextLayerID = 1, + NextObjectID = 1, + Tilesets = [tileset] + }; + + // Act + var result = map.ResolveTilesetForGlobalTileID(3, out var localTileID); + + // Assert + Assert.Equal(tileset, result); + Assert.Equal(2, (int)localTileID); // 3 - 1 = 2 (local tile ID) + } + + [Fact] + public void ResolveTilesetForGlobalTileID_GlobalTileIDInRangeOfMultipleTilesets_ReturnsCorrectTileset() + { + // Arrange + var tileset1 = new Tileset + { + FirstGID = 1, + Name = "Tileset1", + TileWidth = 16, + TileHeight = 16, + TileCount = 5, + Columns = 5 + }; + var tileset2 = new Tileset + { + FirstGID = 6, + Name = "Tileset2", + TileWidth = 16, + TileHeight = 16, + TileCount = 5, + Columns = 5 + }; + var map = new Map + { + Version = "version", + Orientation = MapOrientation.Orthogonal, + Width = 10, + Height = 10, + TileWidth = 16, + TileHeight = 16, + NextLayerID = 1, + NextObjectID = 1, + Tilesets = [tileset1, tileset2] + }; + + // Act + var result = map.ResolveTilesetForGlobalTileID(8, out var localTileID); + + // Assert + Assert.Equal(tileset2, result); + Assert.Equal(2, (int)localTileID); // 8 - 6 = 2 (local tile ID) + } +} diff --git a/src/DotTiled.Tests/UnitTests/Tilesets/TilesetTests.cs b/src/DotTiled.Tests/UnitTests/Tilesets/TilesetTests.cs new file mode 100644 index 0000000..4b0eb10 --- /dev/null +++ b/src/DotTiled.Tests/UnitTests/Tilesets/TilesetTests.cs @@ -0,0 +1,114 @@ +namespace DotTiled.Tests.UnitTests; + +public class TilesetTests +{ + [Fact] + public void GetSourceRectangleForLocalTileID_TileIDOutOfRange_ThrowsException() + { + // Arrange + var tileset = new Tileset + { + FirstGID = 0, + Name = "Tileset1", + TileWidth = 16, + TileHeight = 16, + TileCount = 5, + Columns = 5 + }; + + // Act & Assert + Assert.Throws(() => tileset.GetSourceRectangleForLocalTileID(6)); + } + + [Fact] + public void GetSourceRectangleForLocalTileID_ValidTileIDIsInTilesList_ReturnsCorrectRectangle() + { + // Arrange + var tileset = new Tileset + { + FirstGID = 0, + Name = "Tileset1", + TileWidth = 16, + TileHeight = 16, + TileCount = 2, + Columns = 2, + Tiles = [ + new Tile + { + ID = 0, + X = 0, + Y = 0, + Width = 16, + Height = 16, + }, + new Tile + { + ID = 1, + X = 16, + Y = 0, + Width = 16, + Height = 16, + } + ] + }; + + // Act + var rectangle = tileset.GetSourceRectangleForLocalTileID(1); + + // Assert + Assert.Equal(16, rectangle.X); + Assert.Equal(0, rectangle.Y); + Assert.Equal(16, rectangle.Width); + Assert.Equal(16, rectangle.Height); + } + + [Fact] + public void GetSourceRectangleForLocalTileID_ValidTileIDIsNotInTilesListNoMarginNoSpacing_ReturnsCorrectRectangle() + { + // Arrange + var tileset = new Tileset + { + FirstGID = 0, + Name = "Tileset1", + TileWidth = 16, + TileHeight = 16, + TileCount = 5, + Columns = 5, + }; + + // Act + var rectangle = tileset.GetSourceRectangleForLocalTileID(3); + + // Assert + Assert.Equal(48, rectangle.X); + Assert.Equal(0, rectangle.Y); + Assert.Equal(16, rectangle.Width); + Assert.Equal(16, rectangle.Height); + } + + [Fact] + public void GetSourceRectangleForLocalTileID_ValidTileIDIsNotInTilesListWithMarginAndSpacing_ReturnsCorrectRectangle() + { + // Arrange + var tileset = new Tileset + { + FirstGID = 0, + Name = "Tileset1", + TileWidth = 16, + TileHeight = 16, + TileCount = 5, + Columns = 5, + Margin = 3, + Spacing = 1 + }; + + // Act + var rectangle = tileset.GetSourceRectangleForLocalTileID(3); + + // Assert + Assert.Equal(54, rectangle.X); + Assert.Equal(3, rectangle.Y); + Assert.Equal(16, rectangle.Width); + Assert.Equal(16, rectangle.Height); + } +} diff --git a/src/DotTiled.sln b/src/DotTiled.sln index 7208481..5505021 100644 --- a/src/DotTiled.sln +++ b/src/DotTiled.sln @@ -15,6 +15,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotTiled.Example.Console", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotTiled.Example.Godot", "DotTiled.Examples\DotTiled.Example.Godot\DotTiled.Example.Godot.csproj", "{7541A9B3-43A5-45A7-939E-6F542319D990}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DotTiled.Examples", "DotTiled.Examples", "{F3D6E648-AF8F-4EC9-A810-8C348DBB9924}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotTiled.Example.Raylib", "DotTiled.Examples\DotTiled.Example.Raylib\DotTiled.Example.Raylib.csproj", "{53585FB8-6E94-46F0-87E2-9692874E1714}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -44,9 +48,14 @@ Global {7541A9B3-43A5-45A7-939E-6F542319D990}.Debug|Any CPU.Build.0 = Debug|Any CPU {7541A9B3-43A5-45A7-939E-6F542319D990}.Release|Any CPU.ActiveCfg = Debug|Any CPU {7541A9B3-43A5-45A7-939E-6F542319D990}.Release|Any CPU.Build.0 = Debug|Any CPU + {53585FB8-6E94-46F0-87E2-9692874E1714}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {53585FB8-6E94-46F0-87E2-9692874E1714}.Debug|Any CPU.Build.0 = Debug|Any CPU + {53585FB8-6E94-46F0-87E2-9692874E1714}.Release|Any CPU.ActiveCfg = Release|Any CPU + {53585FB8-6E94-46F0-87E2-9692874E1714}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution {F9892295-6C2C-4ABD-9D6F-2AC81D2C6E67} = {8C54542E-3C2C-486C-9BEF-4C510391AFDA} {7541A9B3-43A5-45A7-939E-6F542319D990} = {8C54542E-3C2C-486C-9BEF-4C510391AFDA} + {53585FB8-6E94-46F0-87E2-9692874E1714} = {F3D6E648-AF8F-4EC9-A810-8C348DBB9924} EndGlobalSection EndGlobal diff --git a/src/DotTiled/Layers/TileLayer.cs b/src/DotTiled/Layers/TileLayer.cs index 631d205..2b9e70d 100644 --- a/src/DotTiled/Layers/TileLayer.cs +++ b/src/DotTiled/Layers/TileLayer.cs @@ -1,3 +1,5 @@ +using System; + namespace DotTiled; /// @@ -29,4 +31,26 @@ public class TileLayer : BaseLayer /// The tile layer data. /// public Optional Data { get; set; } = Optional.Empty; + + /// + /// Helper method to retrieve the Global Tile ID at a given coordinate in the layer. + /// + /// The X coordinate in the layer + /// The Y coordinate in the layer + /// The Global Tile ID at the given coordinate. + /// Thrown when either or are missing values. + /// Thrown when the given coordinate is not within bounds of the layer. + public uint GetGlobalTileIDAtCoord(int x, int y) + { + if (!Data.HasValue) + throw new InvalidOperationException("Data is not set."); + + if (x < 0 || x >= Width || y < 0 || y >= Height) + throw new ArgumentException("Coordinates are out of bounds."); + + if (!Data.Value.GlobalTileIDs.HasValue) + throw new InvalidOperationException("GlobalTileIDs is not set."); + + return Data.Value.GlobalTileIDs.Value[(y * Width) + x]; + } } diff --git a/src/DotTiled/Map.cs b/src/DotTiled/Map.cs index eb3f92e..d2ebf3a 100644 --- a/src/DotTiled/Map.cs +++ b/src/DotTiled/Map.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Globalization; @@ -205,4 +206,31 @@ public class Map : HasPropertiesBase /// Hierarchical list of layers. is a layer type which can contain sub-layers to create a hierarchy. /// public List Layers { get; set; } = []; + + /// + /// Resolves which tileset a global tile ID belongs to, and returns the corresponding local tile ID. + /// + /// The global tile ID to resolve. + /// The local tile ID within the tileset. + /// The tileset that contains the tile with the specified global tile ID. + /// Thrown when no tileset is found for the specified global tile ID. + public Tileset ResolveTilesetForGlobalTileID(uint globalTileID, out uint localTileID) + { + for (int i = Tilesets.Count - 1; i >= 0; i--) + { + var tileset = Tilesets[i]; + + if (globalTileID >= tileset.FirstGID.Value + && globalTileID < tileset.FirstGID.Value + tileset.TileCount) + { + localTileID = globalTileID - tileset.FirstGID.Value; + return tileset; + } + } + + throw new ArgumentException( + $"No tileset found for global tile ID {globalTileID}.", + nameof(globalTileID) + ); + } } diff --git a/src/DotTiled/Tilesets/Tileset.cs b/src/DotTiled/Tilesets/Tileset.cs index 65d66f6..a00b400 100644 --- a/src/DotTiled/Tilesets/Tileset.cs +++ b/src/DotTiled/Tilesets/Tileset.cs @@ -1,4 +1,6 @@ +using System; using System.Collections.Generic; +using System.Linq; namespace DotTiled; @@ -90,6 +92,32 @@ public enum FillMode PreserveAspectFit } +/// +/// A helper class to specify where in a tileset image a tile is located. +/// +public class SourceRectangle +{ + /// + /// The X coordinate of the tile in the tileset image. + /// + public int X { get; set; } = 0; + + /// + /// The Y coordinate of the tile in the tileset image. + /// + public int Y { get; set; } = 0; + + /// + /// The width of the tile in the tileset image. + /// + public int Width { get; set; } = 0; + + /// + /// The height of the tile in the tileset image. + /// + public int Height { get; set; } = 0; +} + /// /// A tileset is a collection of tiles that can be used in a tile layer, or by tile objects. /// @@ -209,4 +237,42 @@ public class Tileset : HasPropertiesBase /// If this tileset is based on a collection of images, then this list of tiles will contain the individual images that make up the tileset. /// public List Tiles { get; set; } = []; + + /// + /// Returns the source rectangle for a tile in this tileset given its local tile ID. + /// + /// The local tile ID of the tile. + /// A source rectangle describing the tile's position in the tileset's + /// Thrown when the local tile ID is out of range. + public SourceRectangle GetSourceRectangleForLocalTileID(uint localTileID) + { + if (localTileID >= TileCount) + throw new ArgumentException("The local tile ID is out of range.", nameof(localTileID)); + + var tileInTiles = Tiles.FirstOrDefault(t => t.ID == localTileID); + if (tileInTiles != null) + { + return new SourceRectangle + { + X = (int)tileInTiles.X, + Y = (int)tileInTiles.Y, + Width = (int)tileInTiles.Width, + Height = (int)tileInTiles.Height + }; + } + + var column = localTileID % Columns; + var row = localTileID / Columns; + + var x = Margin + ((TileWidth + Spacing) * column); + var y = Margin + ((TileHeight + Spacing) * row); + + return new SourceRectangle + { + X = (int)x, + Y = (int)y, + Width = (int)TileWidth, + Height = (int)TileHeight + }; + } } From fe7a2722720cc3a02e0033311d19fff896a0c4e1 Mon Sep 17 00:00:00 2001 From: Daniel Cronqvist Date: Thu, 24 Apr 2025 21:07:29 +0200 Subject: [PATCH 03/12] Add documentation Raylib example project and link from official docs --- docs/docs/quickstart.md | 6 +- .../DotTiled.Example.Raylib/README.md | 122 ++++++++++++++++++ .../media/raylib_screenshot.png | Bin 0 -> 41024 bytes .../media/tiled_screenshot.png | Bin 0 -> 199985 bytes 4 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/README.md create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/media/raylib_screenshot.png create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/media/tiled_screenshot.png diff --git a/docs/docs/quickstart.md b/docs/docs/quickstart.md index c43031b..0b547c2 100644 --- a/docs/docs/quickstart.md +++ b/docs/docs/quickstart.md @@ -66,4 +66,8 @@ var map = loader.LoadMap("path/to/map.tmx"); var chest = map.GetProperty("chest").Value; var coinsToSpawn = chest.GetProperty("coins").Value; -``` \ No newline at end of file +``` + +## Examples + +See the [DotTiled.Examples](https://github.com/dcronqvist/DotTiled/tree/master/src/DotTiled.Examples) directory for more in-depth examples of how to use DotTiled. The [DotTiled.Example.Raylib](https://github.com/dcronqvist/DotTiled/tree/master/src/DotTiled.Examples/DotTiled.Example.Raylib) example is a good starting point for using DotTiled with Raylib or any similar library/framework. It demonstrates how to load and render a Tiled map, handle player movement, and perform collision detection. \ No newline at end of file diff --git a/src/DotTiled.Examples/DotTiled.Example.Raylib/README.md b/src/DotTiled.Examples/DotTiled.Example.Raylib/README.md new file mode 100644 index 0000000..da6a98e --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.Raylib/README.md @@ -0,0 +1,122 @@ +# DotTiled Example with Raylib + +This project demonstrates how to use the [DotTiled](https://github.com/dot-tiled/dot-tiled) library to load and render Tiled maps in a game using [Raylib](https://www.raylib.com/). It is designed to be beginner-friendly and serves as a starting point for anyone looking to integrate Tiled maps into their games. + +

+ Screenshot of map rendered using Raylib + Screenshot of map in Tiled +

+ +### How It Works + +This example project loads a Tiled map (`world.tmx`), renders its layers, and allows basic player movement with collision detection. The project is structured to prioritize readability and ease of understanding. + +#### Key Features: +1. **Loading Tiled Maps**: Uses DotTiled to parse `.tmx` files and extract map data. +2. **Rendering Layers**: Renders specific layers (e.g., ground, objects, roofs) using Raylib. +3. **Player Movement**: Handles player input and updates the player's position. +4. **Collision Detection**: Prevents the player from moving through objects defined in the collision layer. +5. **Camera Tracking**: Smoothly follows the player as they move. + +### Map Structure + +The Tiled map (`world.tmx`) is structured into different types of layers to organize the game world: + +1. **Tile Layers (Visuals)**: + - These layers define the visual elements of the map, such as the ground, paths, ponds, walls, and roofs. + - Each layer is rendered in a specific order to ensure that the player appears between certain layers (e.g., under roofs but above the ground). + +2. **Object Layers (Collisions)**: + - These layers define areas where the player cannot move, such as walls or obstacles. + - Each object in the layer is represented as a rectangle, and collision detection is performed against these objects. + +3. **Object Layer (Player Spawn)**: + - This layer contains a single point object that defines the player's starting position. + - The object is named `PlayerSpawn` and is used to initialize the player's position in the game. + +This is just one way to structure a map for use with DotTiled. As you become more comfortable with Tiled and DotTiled, you can experiment with different layer types and configurations to suit your game's needs. + +### Project Structure + +Main Components: + +- `Main` **Method**: Initializes the game window, loads the map, and runs the main game loop. +- `Update` **Method**: Handles player movement, collision detection, and camera updates. +- `Render` **Method**: Draws the map layers and the player. + +### Code Walkthrough + +1. **Loading the Map** + + The map is loaded using DotTiled's `Loader` class. The `world.tmx` file is located in the [assets](assets/) folder. + + ```csharp + var loader = Loader.Default(); + var map = loader.LoadMap("assets/world.tmx"); + ``` + +2. **Rendering Layers** + + The `RenderLayers` method renders specific layers from the map. For example, the ground and paths are rendered below the player, while roofs are rendered above. + + ```csharp + RenderLayers(map, visualLayers, tilesetTextures, new[] { "Ground", "Ponds", "Paths" }); + ``` + +3. **Player Movement** + + Player movement is handled in the `HandlePlayerInput` method. The `W`, `A`, `S`, and `D` keys are used to move the player. + +4. **Collision Detection** + + The `Update` method checks for collisions between the player and objects in the collision layer. If a collision is detected, the player's movement is stopped. + + ```csharp + if (Raylib.CheckCollisionRecs(movePlayerHRect, objRect)) move.X = 0; + if (Raylib.CheckCollisionRecs(movePlayerVRect, objRect)) move.Y = 0; + ``` + +5. **Camera Tracking** + + The camera smoothly follows the player using linear interpolation. + + ```csharp + camera.Target += (newCameraTarget - camera.Target) * 15f * Raylib.GetFrameTime(); + ``` + +### Replacing Raylib with another library or framework + +If you want to replace Raylib with another library or framework, you will need to modify the rendering and input handling code. The core logic for loading and parsing the Tiled map using DotTiled will remain the same. + +1. **Window initialization**: + + Replace the Raylib window initialization with the equivalent code for your chosen library or framework. + +2. **Rendering**: + + Modify the rendering code to use the graphics API of your chosen library. This includes loading textures, drawing sprites, and handling camera transformations. + + For example, replace this tile rendering draw call with the equivalent in your library: + + ```csharp + Raylib.DrawTexturePro( + tilesetTextures[tileset.Image.Value.Source.Value], + raylibSourceRect, + destinationRect, + Vector2.Zero, + 0, + RayColor.White + ); + ``` + +3. **Input handling**: + + Replace the Raylib input handling code with the equivalent code for your chosen library. This includes checking for key presses or similar. + +### Running the Example + +1. Clone this repository +2. Navigate to the `DotTiled.Example.Raylib` directory. +3. Run the project using your preferred IDE or command line tool. + - `dotnet run` (if using .NET CLI) + - Open the project in your IDE of choice and run it from there. \ No newline at end of file diff --git a/src/DotTiled.Examples/DotTiled.Example.Raylib/media/raylib_screenshot.png b/src/DotTiled.Examples/DotTiled.Example.Raylib/media/raylib_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..f32a14cdaa109292760f71f2ea388703660aac65 GIT binary patch literal 41024 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 literal 0 HcmV?d00001 From ae2e70a2237f44fded53b13fdd331f474dc79839 Mon Sep 17 00:00:00 2001 From: Daniel Cronqvist Date: Thu, 24 Apr 2025 22:29:24 +0200 Subject: [PATCH 04/12] Change common parts of model API to use signed integers rather than unsigned for less casting --- .../map-override-object-bug.cs | 4 +-- .../map-with-many-layers.cs | 4 +-- src/DotTiled/Layers/Data.cs | 4 +-- src/DotTiled/Layers/ImageLayer.cs | 4 +-- src/DotTiled/Layers/ObjectLayer.cs | 8 ++--- src/DotTiled/Layers/TileLayer.cs | 8 ++--- src/DotTiled/Map.cs | 10 +++--- .../Serialization/Tmj/TmjReaderBase.Data.cs | 4 +-- .../Tmj/TmjReaderBase.ImageLayer.cs | 4 +-- .../Serialization/Tmj/TmjReaderBase.Map.cs | 10 +++--- .../Tmj/TmjReaderBase.ObjectLayer.cs | 8 ++--- .../Tmj/TmjReaderBase.TileLayer.cs | 8 ++--- .../Tmj/TmjReaderBase.Tileset.cs | 34 +++++++++---------- .../Serialization/Tmx/TmxReaderBase.Chunk.cs | 4 +-- .../Serialization/Tmx/TmxReaderBase.Map.cs | 10 +++--- .../Tmx/TmxReaderBase.ObjectLayer.cs | 8 ++--- .../Tmx/TmxReaderBase.TileLayer.cs | 12 +++---- .../Tmx/TmxReaderBase.Tileset.cs | 30 ++++++++-------- src/DotTiled/Tilesets/Frame.cs | 2 +- src/DotTiled/Tilesets/Grid.cs | 4 +-- src/DotTiled/Tilesets/Image.cs | 4 +-- src/DotTiled/Tilesets/Tile.cs | 8 ++--- src/DotTiled/Tilesets/Tileset.cs | 12 +++---- 23 files changed, 102 insertions(+), 102 deletions(-) diff --git a/src/DotTiled.Tests/TestData/Maps/map-override-object-bug/map-override-object-bug.cs b/src/DotTiled.Tests/TestData/Maps/map-override-object-bug/map-override-object-bug.cs index 82dfd29..be7c7c5 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-override-object-bug/map-override-object-bug.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-override-object-bug/map-override-object-bug.cs @@ -181,8 +181,8 @@ public partial class TestData { Format = ImageFormat.Png, Source = "tileset.png", - Width = fileExt == "tmx" ? 256u : 0, // Currently, json format does not - Height = fileExt == "tmx" ? 96u : 0 // include image dimensions in image layer https://github.com/mapeditor/tiled/issues/4028 + Width = fileExt == "tmx" ? 256 : 0, // Currently, json format does not + Height = fileExt == "tmx" ? 96 : 0 // include image dimensions in image layer https://github.com/mapeditor/tiled/issues/4028 }, RepeatX = true }, diff --git a/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.cs b/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.cs index 1b06285..807ef7e 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.cs @@ -172,8 +172,8 @@ public partial class TestData { Format = ImageFormat.Png, Source = "tileset.png", - Width = fileExt == "tmx" ? 256u : 0, // Currently, json format does not - Height = fileExt == "tmx" ? 96u : 0 // include image dimensions in image layer https://github.com/mapeditor/tiled/issues/4028 + Width = fileExt == "tmx" ? 256 : 0, // Currently, json format does not + Height = fileExt == "tmx" ? 96 : 0 // include image dimensions in image layer https://github.com/mapeditor/tiled/issues/4028 }, RepeatX = true }, diff --git a/src/DotTiled/Layers/Data.cs b/src/DotTiled/Layers/Data.cs index 16bf34e..958c2b3 100644 --- a/src/DotTiled/Layers/Data.cs +++ b/src/DotTiled/Layers/Data.cs @@ -90,12 +90,12 @@ public class Chunk /// /// The width of the chunk in tiles. /// - public required uint Width { get; set; } + public required int Width { get; set; } /// /// The height of the chunk in tiles. /// - public required uint Height { get; set; } + public required int Height { get; set; } /// /// The parsed chunk data, as a list of tile GIDs. diff --git a/src/DotTiled/Layers/ImageLayer.cs b/src/DotTiled/Layers/ImageLayer.cs index 5d8de82..6bd8ead 100644 --- a/src/DotTiled/Layers/ImageLayer.cs +++ b/src/DotTiled/Layers/ImageLayer.cs @@ -8,12 +8,12 @@ public class ImageLayer : BaseLayer /// /// The X position of the image layer in pixels. /// - public uint X { get; set; } = 0; + public int X { get; set; } = 0; /// /// The Y position of the image layer in pixels. /// - public Optional Y { get; set; } = 0; + public int Y { get; set; } = 0; /// /// Whether the image drawn by this layer is repeated along the X axis. diff --git a/src/DotTiled/Layers/ObjectLayer.cs b/src/DotTiled/Layers/ObjectLayer.cs index 77ecc02..b32a137 100644 --- a/src/DotTiled/Layers/ObjectLayer.cs +++ b/src/DotTiled/Layers/ObjectLayer.cs @@ -26,22 +26,22 @@ public class ObjectLayer : BaseLayer /// /// The X coordinate of the object layer in tiles. /// - public uint X { get; set; } = 0; + public int X { get; set; } = 0; /// /// The Y coordinate of the object layer in tiles. /// - public uint Y { get; set; } = 0; + public int Y { get; set; } = 0; /// /// The width of the object layer in tiles. Meaningless. /// - public uint Width { get; set; } = 0; + public int Width { get; set; } = 0; /// /// The height of the object layer in tiles. Meaningless. /// - public uint Height { get; set; } = 0; + public int Height { get; set; } = 0; /// /// A color that is multiplied with any tile objects drawn by this layer. diff --git a/src/DotTiled/Layers/TileLayer.cs b/src/DotTiled/Layers/TileLayer.cs index 631d205..8d63180 100644 --- a/src/DotTiled/Layers/TileLayer.cs +++ b/src/DotTiled/Layers/TileLayer.cs @@ -8,22 +8,22 @@ public class TileLayer : BaseLayer /// /// The X coordinate of the layer in tiles. /// - public uint X { get; set; } = 0; + public int X { get; set; } = 0; /// /// The Y coordinate of the layer in tiles. /// - public uint Y { get; set; } = 0; + public int Y { get; set; } = 0; /// /// The width of the layer in tiles. Always the same as the map width for fixed-size maps. /// - public required uint Width { get; set; } + public required int Width { get; set; } /// /// The height of the layer in tiles. Always the same as the map height for fixed-size maps. /// - public required uint Height { get; set; } + public required int Height { get; set; } /// /// The tile layer data. diff --git a/src/DotTiled/Map.cs b/src/DotTiled/Map.cs index eb3f92e..c9a8890 100644 --- a/src/DotTiled/Map.cs +++ b/src/DotTiled/Map.cs @@ -126,27 +126,27 @@ public class Map : HasPropertiesBase /// /// The width of the map in tiles. /// - public required uint Width { get; set; } + public required int Width { get; set; } /// /// The height of the map in tiles. /// - public required uint Height { get; set; } + public required int Height { get; set; } /// /// The width of a tile. /// - public required uint TileWidth { get; set; } + public required int TileWidth { get; set; } /// /// The height of a tile. /// - public required uint TileHeight { get; set; } + public required int TileHeight { get; set; } /// /// Only for hexagonal maps. Determines the width or height (depending on the staggered axis) of the tile's edge, in pixels. /// - public Optional HexSideLength { get; set; } = Optional.Empty; + public Optional HexSideLength { get; set; } = Optional.Empty; /// /// For staggered and hexagonal maps, determines which axis (X or Y) is staggered. diff --git a/src/DotTiled/Serialization/Tmj/TmjReaderBase.Data.cs b/src/DotTiled/Serialization/Tmj/TmjReaderBase.Data.cs index 47b9b75..afd6734 100644 --- a/src/DotTiled/Serialization/Tmj/TmjReaderBase.Data.cs +++ b/src/DotTiled/Serialization/Tmj/TmjReaderBase.Data.cs @@ -23,8 +23,8 @@ public abstract partial class TmjReaderBase var x = element.GetRequiredProperty("x"); var y = element.GetRequiredProperty("y"); - var width = element.GetRequiredProperty("width"); - var height = element.GetRequiredProperty("height"); + var width = element.GetRequiredProperty("width"); + var height = element.GetRequiredProperty("height"); return new Chunk { diff --git a/src/DotTiled/Serialization/Tmj/TmjReaderBase.ImageLayer.cs b/src/DotTiled/Serialization/Tmj/TmjReaderBase.ImageLayer.cs index 3d59779..32b5614 100644 --- a/src/DotTiled/Serialization/Tmj/TmjReaderBase.ImageLayer.cs +++ b/src/DotTiled/Serialization/Tmj/TmjReaderBase.ImageLayer.cs @@ -22,8 +22,8 @@ public abstract partial class TmjReaderBase var repeatX = element.GetOptionalProperty("repeatx").GetValueOr(false); var repeatY = element.GetOptionalProperty("repeaty").GetValueOr(false); var transparentColor = element.GetOptionalPropertyParseable("transparentcolor"); - var x = element.GetOptionalProperty("x").GetValueOr(0); - var y = element.GetOptionalProperty("y").GetValueOr(0); + var x = element.GetOptionalProperty("x").GetValueOr(0); + var y = element.GetOptionalProperty("y").GetValueOr(0); var imgModel = new Image { diff --git a/src/DotTiled/Serialization/Tmj/TmjReaderBase.Map.cs b/src/DotTiled/Serialization/Tmj/TmjReaderBase.Map.cs index caecb7e..f6924f4 100644 --- a/src/DotTiled/Serialization/Tmj/TmjReaderBase.Map.cs +++ b/src/DotTiled/Serialization/Tmj/TmjReaderBase.Map.cs @@ -28,11 +28,11 @@ public abstract partial class TmjReaderBase _ => throw new JsonException($"Unknown render order '{s}'") }).GetValueOr(RenderOrder.RightDown); var compressionLevel = element.GetOptionalProperty("compressionlevel").GetValueOr(-1); - var width = element.GetRequiredProperty("width"); - var height = element.GetRequiredProperty("height"); - var tileWidth = element.GetRequiredProperty("tilewidth"); - var tileHeight = element.GetRequiredProperty("tileheight"); - var hexSideLength = element.GetOptionalProperty("hexsidelength"); + var width = element.GetRequiredProperty("width"); + var height = element.GetRequiredProperty("height"); + var tileWidth = element.GetRequiredProperty("tilewidth"); + var tileHeight = element.GetRequiredProperty("tileheight"); + var hexSideLength = element.GetOptionalProperty("hexsidelength"); var staggerAxis = element.GetOptionalPropertyParseable("staggeraxis", s => s switch { "x" => StaggerAxis.X, diff --git a/src/DotTiled/Serialization/Tmj/TmjReaderBase.ObjectLayer.cs b/src/DotTiled/Serialization/Tmj/TmjReaderBase.ObjectLayer.cs index ced3f64..c43e40a 100644 --- a/src/DotTiled/Serialization/Tmj/TmjReaderBase.ObjectLayer.cs +++ b/src/DotTiled/Serialization/Tmj/TmjReaderBase.ObjectLayer.cs @@ -22,10 +22,10 @@ public abstract partial class TmjReaderBase var parallaxY = element.GetOptionalProperty("parallaxy").GetValueOr(1.0f); var properties = ResolveAndMergeProperties(@class, element.GetOptionalPropertyCustom("properties", ReadProperties).GetValueOr([])); - var x = element.GetOptionalProperty("x").GetValueOr(0); - var y = element.GetOptionalProperty("y").GetValueOr(0); - var width = element.GetOptionalProperty("width").GetValueOr(0); - var height = element.GetOptionalProperty("height").GetValueOr(0); + var x = element.GetOptionalProperty("x").GetValueOr(0); + var y = element.GetOptionalProperty("y").GetValueOr(0); + var width = element.GetOptionalProperty("width").GetValueOr(0); + var height = element.GetOptionalProperty("height").GetValueOr(0); var color = element.GetOptionalPropertyParseable("color"); var drawOrder = element.GetOptionalPropertyParseable("draworder", s => s switch { diff --git a/src/DotTiled/Serialization/Tmj/TmjReaderBase.TileLayer.cs b/src/DotTiled/Serialization/Tmj/TmjReaderBase.TileLayer.cs index f33840d..6482cf9 100644 --- a/src/DotTiled/Serialization/Tmj/TmjReaderBase.TileLayer.cs +++ b/src/DotTiled/Serialization/Tmj/TmjReaderBase.TileLayer.cs @@ -22,7 +22,7 @@ public abstract partial class TmjReaderBase var chunks = element.GetOptionalPropertyCustom("chunks", e => ReadDataAsChunks(e, compression, encoding)); var @class = element.GetOptionalProperty("class").GetValueOr(""); var data = element.GetOptionalPropertyCustom("data", e => ReadDataWithoutChunks(e, compression, encoding)); - var height = element.GetRequiredProperty("height"); + var height = element.GetRequiredProperty("height"); var id = element.GetRequiredProperty("id"); var name = element.GetRequiredProperty("name"); var offsetX = element.GetOptionalProperty("offsetx").GetValueOr(0.0f); @@ -38,9 +38,9 @@ public abstract partial class TmjReaderBase var tintColor = element.GetOptionalPropertyParseable("tintcolor"); var transparentColor = element.GetOptionalPropertyParseable("transparentcolor"); var visible = element.GetOptionalProperty("visible").GetValueOr(true); - var width = element.GetRequiredProperty("width"); - var x = element.GetRequiredProperty("x"); - var y = element.GetRequiredProperty("y"); + var width = element.GetRequiredProperty("width"); + var x = element.GetRequiredProperty("x"); + var y = element.GetRequiredProperty("y"); if (!data.HasValue && !chunks.HasValue) throw new JsonException("Tile layer does not contain data."); diff --git a/src/DotTiled/Serialization/Tmj/TmjReaderBase.Tileset.cs b/src/DotTiled/Serialization/Tmj/TmjReaderBase.Tileset.cs index 9263fa9..5190121 100644 --- a/src/DotTiled/Serialization/Tmj/TmjReaderBase.Tileset.cs +++ b/src/DotTiled/Serialization/Tmj/TmjReaderBase.Tileset.cs @@ -12,7 +12,7 @@ public abstract partial class TmjReaderBase { var backgroundColor = element.GetOptionalPropertyParseable("backgroundcolor"); var @class = element.GetOptionalProperty("class").GetValueOr(""); - var columns = element.GetOptionalProperty("columns"); + var columns = element.GetOptionalProperty("columns"); var fillMode = element.GetOptionalPropertyParseable("fillmode", s => s switch { "stretch" => FillMode.Stretch, @@ -22,9 +22,9 @@ public abstract partial class TmjReaderBase var firstGID = element.GetOptionalProperty("firstgid"); var grid = element.GetOptionalPropertyCustom("grid", ReadGrid); var image = element.GetOptionalProperty("image"); - var imageHeight = element.GetOptionalProperty("imageheight"); - var imageWidth = element.GetOptionalProperty("imagewidth"); - var margin = element.GetOptionalProperty("margin"); + var imageHeight = element.GetOptionalProperty("imageheight"); + var imageWidth = element.GetOptionalProperty("imagewidth"); + var margin = element.GetOptionalProperty("margin"); var name = element.GetOptionalProperty("name"); var objectAlignment = element.GetOptionalPropertyParseable("objectalignment", s => s switch { @@ -42,10 +42,10 @@ public abstract partial class TmjReaderBase }).GetValueOr(ObjectAlignment.Unspecified); var properties = ResolveAndMergeProperties(@class, element.GetOptionalPropertyCustom("properties", ReadProperties).GetValueOr([])); var source = element.GetOptionalProperty("source"); - var spacing = element.GetOptionalProperty("spacing"); - var tileCount = element.GetOptionalProperty("tilecount"); + var spacing = element.GetOptionalProperty("spacing"); + var tileCount = element.GetOptionalProperty("tilecount"); var tiledVersion = element.GetOptionalProperty("tiledversion").GetValueOrOptional(parentTiledVersion); - var tileHeight = element.GetOptionalProperty("tileheight"); + var tileHeight = element.GetOptionalProperty("tileheight"); var tileOffset = element.GetOptionalPropertyCustom("tileoffset", ReadTileOffset); var tileRenderSize = element.GetOptionalPropertyParseable("tilerendersize", s => s switch { @@ -54,7 +54,7 @@ public abstract partial class TmjReaderBase _ => throw new JsonException($"Unknown tile render size '{s}'") }).GetValueOr(TileRenderSize.Tile); var tiles = element.GetOptionalPropertyCustom>("tiles", ReadTiles).GetValueOr([]); - var tileWidth = element.GetOptionalProperty("tilewidth"); + var tileWidth = element.GetOptionalProperty("tilewidth"); var transparentColor = element.GetOptionalPropertyParseable("transparentcolor"); var type = element.GetOptionalProperty("type"); var version = element.GetOptionalProperty("version").GetValueOrOptional(parentVersion); @@ -129,8 +129,8 @@ public abstract partial class TmjReaderBase "isometric" => GridOrientation.Isometric, _ => throw new JsonException($"Unknown grid orientation '{s}'") }).GetValueOr(GridOrientation.Orthogonal); - var height = element.GetRequiredProperty("height"); - var width = element.GetRequiredProperty("width"); + var height = element.GetRequiredProperty("height"); + var width = element.GetRequiredProperty("width"); return new Grid { @@ -158,12 +158,12 @@ public abstract partial class TmjReaderBase var animation = e.GetOptionalPropertyCustom>("animation", e => e.GetValueAsList(ReadFrame)).GetValueOr([]); var id = e.GetRequiredProperty("id"); var image = e.GetOptionalProperty("image"); - var imageHeight = e.GetOptionalProperty("imageheight"); - var imageWidth = e.GetOptionalProperty("imagewidth"); - var x = e.GetOptionalProperty("x").GetValueOr(0); - var y = e.GetOptionalProperty("y").GetValueOr(0); - var width = e.GetOptionalProperty("width").GetValueOr(imageWidth.GetValueOr(0)); - var height = e.GetOptionalProperty("height").GetValueOr(imageHeight.GetValueOr(0)); + var imageHeight = e.GetOptionalProperty("imageheight"); + var imageWidth = e.GetOptionalProperty("imagewidth"); + var x = e.GetOptionalProperty("x").GetValueOr(0); + var y = e.GetOptionalProperty("y").GetValueOr(0); + var width = e.GetOptionalProperty("width").GetValueOr(imageWidth.GetValueOr(0)); + var height = e.GetOptionalProperty("height").GetValueOr(imageHeight.GetValueOr(0)); var objectGroup = e.GetOptionalPropertyCustom("objectgroup", e => ReadObjectLayer(e)); var probability = e.GetOptionalProperty("probability").GetValueOr(0.0f); var type = e.GetOptionalProperty("type").GetValueOr(""); @@ -195,7 +195,7 @@ public abstract partial class TmjReaderBase internal static Frame ReadFrame(JsonElement element) { - var duration = element.GetRequiredProperty("duration"); + var duration = element.GetRequiredProperty("duration"); var tileID = element.GetRequiredProperty("tileid"); return new Frame diff --git a/src/DotTiled/Serialization/Tmx/TmxReaderBase.Chunk.cs b/src/DotTiled/Serialization/Tmx/TmxReaderBase.Chunk.cs index be10819..31a21f6 100644 --- a/src/DotTiled/Serialization/Tmx/TmxReaderBase.Chunk.cs +++ b/src/DotTiled/Serialization/Tmx/TmxReaderBase.Chunk.cs @@ -6,8 +6,8 @@ public abstract partial class TmxReaderBase { var x = _reader.GetRequiredAttributeParseable("x"); var y = _reader.GetRequiredAttributeParseable("y"); - var width = _reader.GetRequiredAttributeParseable("width"); - var height = _reader.GetRequiredAttributeParseable("height"); + var width = _reader.GetRequiredAttributeParseable("width"); + var height = _reader.GetRequiredAttributeParseable("height"); var usesTileChildrenInsteadOfRawData = !encoding.HasValue; if (usesTileChildrenInsteadOfRawData) diff --git a/src/DotTiled/Serialization/Tmx/TmxReaderBase.Map.cs b/src/DotTiled/Serialization/Tmx/TmxReaderBase.Map.cs index ed3a492..ee9fe09 100644 --- a/src/DotTiled/Serialization/Tmx/TmxReaderBase.Map.cs +++ b/src/DotTiled/Serialization/Tmx/TmxReaderBase.Map.cs @@ -32,11 +32,11 @@ public abstract partial class TmxReaderBase _ => throw new InvalidOperationException($"Unknown render order '{s}'") }).GetValueOr(RenderOrder.RightDown); var compressionLevel = _reader.GetOptionalAttributeParseable("compressionlevel").GetValueOr(-1); - var width = _reader.GetRequiredAttributeParseable("width"); - var height = _reader.GetRequiredAttributeParseable("height"); - var tileWidth = _reader.GetRequiredAttributeParseable("tilewidth"); - var tileHeight = _reader.GetRequiredAttributeParseable("tileheight"); - var hexSideLength = _reader.GetOptionalAttributeParseable("hexsidelength"); + var width = _reader.GetRequiredAttributeParseable("width"); + var height = _reader.GetRequiredAttributeParseable("height"); + var tileWidth = _reader.GetRequiredAttributeParseable("tilewidth"); + var tileHeight = _reader.GetRequiredAttributeParseable("tileheight"); + var hexSideLength = _reader.GetOptionalAttributeParseable("hexsidelength"); var staggerAxis = _reader.GetOptionalAttributeEnum("staggeraxis", s => s switch { "x" => StaggerAxis.X, diff --git a/src/DotTiled/Serialization/Tmx/TmxReaderBase.ObjectLayer.cs b/src/DotTiled/Serialization/Tmx/TmxReaderBase.ObjectLayer.cs index b2e0c56..3799f9f 100644 --- a/src/DotTiled/Serialization/Tmx/TmxReaderBase.ObjectLayer.cs +++ b/src/DotTiled/Serialization/Tmx/TmxReaderBase.ObjectLayer.cs @@ -14,10 +14,10 @@ public abstract partial class TmxReaderBase var id = _reader.GetRequiredAttributeParseable("id"); var name = _reader.GetOptionalAttribute("name").GetValueOr(""); var @class = _reader.GetOptionalAttribute("class").GetValueOr(""); - var x = _reader.GetOptionalAttributeParseable("x").GetValueOr(0); - var y = _reader.GetOptionalAttributeParseable("y").GetValueOr(0); - var width = _reader.GetOptionalAttributeParseable("width").GetValueOr(0); - var height = _reader.GetOptionalAttributeParseable("height").GetValueOr(0); + var x = _reader.GetOptionalAttributeParseable("x").GetValueOr(0); + var y = _reader.GetOptionalAttributeParseable("y").GetValueOr(0); + var width = _reader.GetOptionalAttributeParseable("width").GetValueOr(0); + var height = _reader.GetOptionalAttributeParseable("height").GetValueOr(0); var opacity = _reader.GetOptionalAttributeParseable("opacity").GetValueOr(1.0f); var visible = _reader.GetOptionalAttributeParseable("visible").GetValueOr(1) == 1; var tintColor = _reader.GetOptionalAttributeClass("tintcolor"); diff --git a/src/DotTiled/Serialization/Tmx/TmxReaderBase.TileLayer.cs b/src/DotTiled/Serialization/Tmx/TmxReaderBase.TileLayer.cs index 974215b..bc0042b 100644 --- a/src/DotTiled/Serialization/Tmx/TmxReaderBase.TileLayer.cs +++ b/src/DotTiled/Serialization/Tmx/TmxReaderBase.TileLayer.cs @@ -10,10 +10,10 @@ public abstract partial class TmxReaderBase var id = _reader.GetRequiredAttributeParseable("id"); var name = _reader.GetOptionalAttribute("name").GetValueOr(""); var @class = _reader.GetOptionalAttribute("class").GetValueOr(""); - var x = _reader.GetOptionalAttributeParseable("x").GetValueOr(0); - var y = _reader.GetOptionalAttributeParseable("y").GetValueOr(0); - var width = _reader.GetRequiredAttributeParseable("width"); - var height = _reader.GetRequiredAttributeParseable("height"); + var x = _reader.GetOptionalAttributeParseable("x").GetValueOr(0); + var y = _reader.GetOptionalAttributeParseable("y").GetValueOr(0); + var width = _reader.GetRequiredAttributeParseable("width"); + var height = _reader.GetRequiredAttributeParseable("height"); var opacity = _reader.GetOptionalAttributeParseable("opacity").GetValueOr(1.0f); var visible = _reader.GetOptionalAttributeParseable("visible").GetValueOr(1) == 1; var tintColor = _reader.GetOptionalAttributeClass("tintcolor"); @@ -59,8 +59,8 @@ public abstract partial class TmxReaderBase var id = _reader.GetRequiredAttributeParseable("id"); var name = _reader.GetOptionalAttribute("name").GetValueOr(""); var @class = _reader.GetOptionalAttribute("class").GetValueOr(""); - var x = _reader.GetOptionalAttributeParseable("x").GetValueOr(0); - var y = _reader.GetOptionalAttributeParseable("y").GetValueOr(0); + var x = _reader.GetOptionalAttributeParseable("x").GetValueOr(0); + var y = _reader.GetOptionalAttributeParseable("y").GetValueOr(0); var opacity = _reader.GetOptionalAttributeParseable("opacity").GetValueOr(1f); var visible = _reader.GetOptionalAttributeParseable("visible").GetValueOr(true); var tintColor = _reader.GetOptionalAttributeClass("tintcolor"); diff --git a/src/DotTiled/Serialization/Tmx/TmxReaderBase.Tileset.cs b/src/DotTiled/Serialization/Tmx/TmxReaderBase.Tileset.cs index bc7e0e8..5d3671d 100644 --- a/src/DotTiled/Serialization/Tmx/TmxReaderBase.Tileset.cs +++ b/src/DotTiled/Serialization/Tmx/TmxReaderBase.Tileset.cs @@ -31,12 +31,12 @@ public abstract partial class TmxReaderBase var tiledVersion = _reader.GetOptionalAttribute("tiledversion").GetValueOrOptional(parentTiledVersion); var name = _reader.GetRequiredAttribute("name"); var @class = _reader.GetOptionalAttribute("class").GetValueOr(""); - var tileWidth = _reader.GetRequiredAttributeParseable("tilewidth"); - var tileHeight = _reader.GetRequiredAttributeParseable("tileheight"); - var spacing = _reader.GetOptionalAttributeParseable("spacing").GetValueOr(0); - var margin = _reader.GetOptionalAttributeParseable("margin").GetValueOr(0); - var tileCount = _reader.GetRequiredAttributeParseable("tilecount"); - var columns = _reader.GetRequiredAttributeParseable("columns"); + var tileWidth = _reader.GetRequiredAttributeParseable("tilewidth"); + var tileHeight = _reader.GetRequiredAttributeParseable("tileheight"); + var spacing = _reader.GetOptionalAttributeParseable("spacing").GetValueOr(0); + var margin = _reader.GetOptionalAttributeParseable("margin").GetValueOr(0); + var tileCount = _reader.GetRequiredAttributeParseable("tilecount"); + var columns = _reader.GetRequiredAttributeParseable("columns"); var objectAlignment = _reader.GetOptionalAttributeEnum("objectalignment", s => s switch { "unspecified" => ObjectAlignment.Unspecified, @@ -126,8 +126,8 @@ public abstract partial class TmxReaderBase }); var source = _reader.GetOptionalAttribute("source"); var transparentColor = _reader.GetOptionalAttributeClass("trans"); - var width = _reader.GetOptionalAttributeParseable("width"); - var height = _reader.GetOptionalAttributeParseable("height"); + var width = _reader.GetOptionalAttributeParseable("width"); + var height = _reader.GetOptionalAttributeParseable("height"); _reader.ProcessChildren("image", (r, elementName) => elementName switch { @@ -167,8 +167,8 @@ public abstract partial class TmxReaderBase "isometric" => GridOrientation.Isometric, _ => throw new InvalidOperationException($"Unknown orientation '{s}'") }).GetValueOr(GridOrientation.Orthogonal); - var width = _reader.GetRequiredAttributeParseable("width"); - var height = _reader.GetRequiredAttributeParseable("height"); + var width = _reader.GetRequiredAttributeParseable("width"); + var height = _reader.GetRequiredAttributeParseable("height"); _reader.ReadStartElement("grid"); return new Grid { Orientation = orientation, Width = width, Height = height }; @@ -192,10 +192,10 @@ public abstract partial class TmxReaderBase var id = _reader.GetRequiredAttributeParseable("id"); var type = _reader.GetOptionalAttribute("type").GetValueOr(""); var probability = _reader.GetOptionalAttributeParseable("probability").GetValueOr(0f); - var x = _reader.GetOptionalAttributeParseable("x").GetValueOr(0); - var y = _reader.GetOptionalAttributeParseable("y").GetValueOr(0); - var width = _reader.GetOptionalAttributeParseable("width"); - var height = _reader.GetOptionalAttributeParseable("height"); + var x = _reader.GetOptionalAttributeParseable("x").GetValueOr(0); + var y = _reader.GetOptionalAttributeParseable("y").GetValueOr(0); + var width = _reader.GetOptionalAttributeParseable("width"); + var height = _reader.GetOptionalAttributeParseable("height"); // Elements var propertiesCounter = 0; @@ -212,7 +212,7 @@ public abstract partial class TmxReaderBase "animation" => () => Helpers.SetAtMostOnce(ref animation, r.ReadList("animation", "frame", (ar) => { var tileID = ar.GetRequiredAttributeParseable("tileid"); - var duration = ar.GetRequiredAttributeParseable("duration"); + var duration = ar.GetRequiredAttributeParseable("duration"); return new Frame { TileID = tileID, Duration = duration }; }), "Animation"), _ => r.Skip diff --git a/src/DotTiled/Tilesets/Frame.cs b/src/DotTiled/Tilesets/Frame.cs index ff37133..fe76b22 100644 --- a/src/DotTiled/Tilesets/Frame.cs +++ b/src/DotTiled/Tilesets/Frame.cs @@ -13,5 +13,5 @@ public class Frame /// /// How long (in milliseconds) this frame should be displayed before advancing to the next frame. /// - public required uint Duration { get; set; } + public required int Duration { get; set; } } diff --git a/src/DotTiled/Tilesets/Grid.cs b/src/DotTiled/Tilesets/Grid.cs index c063dd1..a50ed54 100644 --- a/src/DotTiled/Tilesets/Grid.cs +++ b/src/DotTiled/Tilesets/Grid.cs @@ -29,10 +29,10 @@ public class Grid /// /// Width of a grid cell. /// - public required uint Width { get; set; } + public required int Width { get; set; } /// /// Height of a grid cell. /// - public required uint Height { get; set; } + public required int Height { get; set; } } diff --git a/src/DotTiled/Tilesets/Image.cs b/src/DotTiled/Tilesets/Image.cs index 5a2e49c..4be1aac 100644 --- a/src/DotTiled/Tilesets/Image.cs +++ b/src/DotTiled/Tilesets/Image.cs @@ -49,10 +49,10 @@ public class Image /// /// The image width in pixels, used for tile index correction when the image changes. /// - public Optional Width { get; set; } = Optional.Empty; + public Optional Width { get; set; } = Optional.Empty; /// /// The image height in pixels, used for tile index correction when the image changes. /// - public Optional Height { get; set; } = Optional.Empty; + public Optional Height { get; set; } = Optional.Empty; } diff --git a/src/DotTiled/Tilesets/Tile.cs b/src/DotTiled/Tilesets/Tile.cs index 6b679e1..0f8addb 100644 --- a/src/DotTiled/Tilesets/Tile.cs +++ b/src/DotTiled/Tilesets/Tile.cs @@ -26,22 +26,22 @@ public class Tile : HasPropertiesBase /// /// The X position of the sub-rectangle representing this tile within the tileset image. /// - public uint X { get; set; } = 0; + public int X { get; set; } = 0; /// /// The Y position of the sub-rectangle representing this tile within the tileset image. /// - public uint Y { get; set; } = 0; + public int Y { get; set; } = 0; /// /// The width of the sub-rectangle representing this tile within the tileset image. /// - public required uint Width { get; set; } + public required int Width { get; set; } /// /// The height of the sub-rectangle representing this tile within the tileset image. /// - public required uint Height { get; set; } + public required int Height { get; set; } /// /// Tile properties. diff --git a/src/DotTiled/Tilesets/Tileset.cs b/src/DotTiled/Tilesets/Tileset.cs index 65d66f6..b258705 100644 --- a/src/DotTiled/Tilesets/Tileset.cs +++ b/src/DotTiled/Tilesets/Tileset.cs @@ -128,32 +128,32 @@ public class Tileset : HasPropertiesBase /// /// The width of the tiles in this tileset, which should be at least 1 (non-zero) except in the case of image collection tilesets (in which case it stores the maximum tile width). /// - public required uint TileWidth { get; set; } + public required int TileWidth { get; set; } /// /// The height of the tiles in this tileset, which should be at least 1 (non-zero) except in the case of image collection tilesets (in which case it stores the maximum tile height). /// - public required uint TileHeight { get; set; } + public required int TileHeight { get; set; } /// /// The spacing in pixels between the tiles in this tileset (applies to the tileset image). Irrelevant for image collection tilesets. /// - public uint Spacing { get; set; } = 0; + public int Spacing { get; set; } = 0; /// /// The margin around the tiles in this tileset (applies to the tileset image). Irrelevant for image collection tilesets. /// - public uint Margin { get; set; } = 0; + public int Margin { get; set; } = 0; /// /// The number of tiles in this tileset. /// - public required uint TileCount { get; set; } + public required int TileCount { get; set; } /// /// The number of tile columns in the tileset. /// - public required uint Columns { get; set; } + public required int Columns { get; set; } /// /// Controls the aligntment for tile objects. From 77d4e38a2ca0151aacdb64a8c1a858cbd50a5d03 Mon Sep 17 00:00:00 2001 From: Daniel Cronqvist Date: Thu, 24 Apr 2025 21:58:43 +0200 Subject: [PATCH 05/12] Rename Color to TiledColor --- .../CustomTypes/FromTypeUsedInLoaderTests.cs | 6 ++--- .../TestData/Maps/default-map/default-map.cs | 2 +- .../map-external-tileset-multi.cs | 4 +-- .../map-external-tileset-wangset.cs | 8 +++--- .../map-override-object-bug.cs | 2 +- .../map-with-class-and-props.cs | 2 +- .../Maps/map-with-class/map-with-class.cs | 2 +- .../map-with-common-props.cs | 6 ++--- ...map-with-custom-type-props-without-defs.cs | 2 +- .../map-with-custom-type-props.cs | 6 ++--- .../map-with-deep-props.cs | 8 +++--- .../map-with-embedded-tileset.cs | 2 +- .../map-with-external-tileset.cs | 2 +- .../map-with-flippingflags.cs | 2 +- .../map-with-many-layers.cs | 2 +- .../map-with-multiline-string-prop.cs | 4 +-- .../Properties/HasPropertiesBaseTests.cs | 14 +++++----- src/DotTiled/Layers/BaseLayer.cs | 2 +- src/DotTiled/Layers/ObjectLayer.cs | 2 +- src/DotTiled/Layers/Objects/TextObject.cs | 2 +- src/DotTiled/Map.cs | 2 +- src/DotTiled/Properties/ColorProperty.cs | 4 +-- .../CustomTypes/CustomClassDefinition.cs | 6 ++--- .../{Color.cs => Properties/TiledColor.cs} | 26 +++++++++---------- .../Serialization/Tmj/TmjReaderBase.Group.cs | 2 +- .../Tmj/TmjReaderBase.ImageLayer.cs | 4 +-- .../Serialization/Tmj/TmjReaderBase.Map.cs | 2 +- .../Tmj/TmjReaderBase.ObjectLayer.cs | 6 ++--- .../Tmj/TmjReaderBase.Properties.cs | 4 +-- .../Tmj/TmjReaderBase.TileLayer.cs | 4 +-- .../Tmj/TmjReaderBase.Tileset.cs | 7 +++-- .../Serialization/Tmx/TmxReaderBase.Map.cs | 2 +- .../Tmx/TmxReaderBase.ObjectLayer.cs | 6 ++--- .../Tmx/TmxReaderBase.Properties.cs | 2 +- .../Tmx/TmxReaderBase.TileLayer.cs | 6 ++--- .../Tmx/TmxReaderBase.Tileset.cs | 4 +-- src/DotTiled/Tilesets/Image.cs | 2 +- src/DotTiled/Tilesets/WangColor.cs | 2 +- 38 files changed, 85 insertions(+), 86 deletions(-) rename src/DotTiled/{Color.cs => Properties/TiledColor.cs} (77%) diff --git a/src/DotTiled.Tests/IntegrationTests/CustomTypes/FromTypeUsedInLoaderTests.cs b/src/DotTiled.Tests/IntegrationTests/CustomTypes/FromTypeUsedInLoaderTests.cs index c0d580f..4b4c226 100644 --- a/src/DotTiled.Tests/IntegrationTests/CustomTypes/FromTypeUsedInLoaderTests.cs +++ b/src/DotTiled.Tests/IntegrationTests/CustomTypes/FromTypeUsedInLoaderTests.cs @@ -48,7 +48,7 @@ public class FromTypeUsedInLoaderTests ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = new Color { R = 0, G = 0, B = 0, A = 0 }, + BackgroundColor = new TiledColor { R = 0, G = 0, B = 0, A = 0 }, Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 2, @@ -133,7 +133,7 @@ public class FromTypeUsedInLoaderTests ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = new Color { R = 0, G = 0, B = 0, A = 0 }, + BackgroundColor = new TiledColor { R = 0, G = 0, B = 0, A = 0 }, Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 2, @@ -226,7 +226,7 @@ public class FromTypeUsedInLoaderTests ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = new Color { R = 0, G = 0, B = 0, A = 0 }, + BackgroundColor = new TiledColor { R = 0, G = 0, B = 0, A = 0 }, Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 2, diff --git a/src/DotTiled.Tests/TestData/Maps/default-map/default-map.cs b/src/DotTiled.Tests/TestData/Maps/default-map/default-map.cs index 8aeae0d..cee4c6b 100644 --- a/src/DotTiled.Tests/TestData/Maps/default-map/default-map.cs +++ b/src/DotTiled.Tests/TestData/Maps/default-map/default-map.cs @@ -15,7 +15,7 @@ public partial class TestData ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = new Color { R = 0, G = 0, B = 0, A = 0 }, + BackgroundColor = new TiledColor { R = 0, G = 0, B = 0, A = 0 }, Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 2, diff --git a/src/DotTiled.Tests/TestData/Maps/map-external-tileset-multi/map-external-tileset-multi.cs b/src/DotTiled.Tests/TestData/Maps/map-external-tileset-multi/map-external-tileset-multi.cs index 2500a4d..93c4c31 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-external-tileset-multi/map-external-tileset-multi.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-external-tileset-multi/map-external-tileset-multi.cs @@ -17,7 +17,7 @@ public partial class TestData ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = Color.Parse("#00000000", CultureInfo.InvariantCulture), + BackgroundColor = TiledColor.Parse("#00000000", CultureInfo.InvariantCulture), Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 2, @@ -47,7 +47,7 @@ public partial class TestData }, Properties = [ new BoolProperty { Name = "tilesetbool", Value = true }, - new ColorProperty { Name = "tilesetcolor", Value = Color.Parse("#ffff0000", CultureInfo.InvariantCulture) }, + new ColorProperty { Name = "tilesetcolor", Value = TiledColor.Parse("#ffff0000", CultureInfo.InvariantCulture) }, new FileProperty { Name = "tilesetfile", Value = "" }, new FloatProperty { Name = "tilesetfloat", Value = 5.2f }, new IntProperty { Name = "tilesetint", Value = 9 }, diff --git a/src/DotTiled.Tests/TestData/Maps/map-external-tileset-wangset/map-external-tileset-wangset.cs b/src/DotTiled.Tests/TestData/Maps/map-external-tileset-wangset/map-external-tileset-wangset.cs index 756c59f..164aa0e 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-external-tileset-wangset/map-external-tileset-wangset.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-external-tileset-wangset/map-external-tileset-wangset.cs @@ -17,7 +17,7 @@ public partial class TestData ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = Color.Parse("#00000000", CultureInfo.InvariantCulture), + BackgroundColor = TiledColor.Parse("#00000000", CultureInfo.InvariantCulture), Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 2, @@ -63,21 +63,21 @@ public partial class TestData new WangColor { Name = "Water", - Color = Color.Parse("#ff0000", CultureInfo.InvariantCulture), + Color = TiledColor.Parse("#ff0000", CultureInfo.InvariantCulture), Tile = 0, Probability = 1 }, new WangColor { Name = "Grass", - Color = Color.Parse("#00ff00", CultureInfo.InvariantCulture), + Color = TiledColor.Parse("#00ff00", CultureInfo.InvariantCulture), Tile = -1, Probability = 1 }, new WangColor { Name = "Stone", - Color = Color.Parse("#0000ff", CultureInfo.InvariantCulture), + Color = TiledColor.Parse("#0000ff", CultureInfo.InvariantCulture), Tile = 29, Probability = 1 } diff --git a/src/DotTiled.Tests/TestData/Maps/map-override-object-bug/map-override-object-bug.cs b/src/DotTiled.Tests/TestData/Maps/map-override-object-bug/map-override-object-bug.cs index be7c7c5..32755ca 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-override-object-bug/map-override-object-bug.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-override-object-bug/map-override-object-bug.cs @@ -17,7 +17,7 @@ public partial class TestData ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = new Color { R = 0, G = 0, B = 0, A = 0 }, + BackgroundColor = new TiledColor { R = 0, G = 0, B = 0, A = 0 }, Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 8, diff --git a/src/DotTiled.Tests/TestData/Maps/map-with-class-and-props/map-with-class-and-props.cs b/src/DotTiled.Tests/TestData/Maps/map-with-class-and-props/map-with-class-and-props.cs index 8cbd6bd..0511454 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-with-class-and-props/map-with-class-and-props.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-with-class-and-props/map-with-class-and-props.cs @@ -15,7 +15,7 @@ public partial class TestData ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = new Color { R = 0, G = 0, B = 0, A = 0 }, + BackgroundColor = new TiledColor { R = 0, G = 0, B = 0, A = 0 }, Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 2, diff --git a/src/DotTiled.Tests/TestData/Maps/map-with-class/map-with-class.cs b/src/DotTiled.Tests/TestData/Maps/map-with-class/map-with-class.cs index ef98d02..d1e7d7b 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-with-class/map-with-class.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-with-class/map-with-class.cs @@ -15,7 +15,7 @@ public partial class TestData ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = new Color { R = 0, G = 0, B = 0, A = 0 }, + BackgroundColor = new TiledColor { R = 0, G = 0, B = 0, A = 0 }, Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 2, diff --git a/src/DotTiled.Tests/TestData/Maps/map-with-common-props/map-with-common-props.cs b/src/DotTiled.Tests/TestData/Maps/map-with-common-props/map-with-common-props.cs index 2437d0b..ff184ff 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-with-common-props/map-with-common-props.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-with-common-props/map-with-common-props.cs @@ -17,7 +17,7 @@ public partial class TestData ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = Color.Parse("#00ff00", CultureInfo.InvariantCulture), + BackgroundColor = TiledColor.Parse("#00ff00", CultureInfo.InvariantCulture), Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 2, @@ -52,13 +52,13 @@ public partial class TestData Properties = [ new BoolProperty { Name = "boolprop", Value = true }, - new ColorProperty { Name = "colorprop", Value = Color.Parse("#ff55ffff", CultureInfo.InvariantCulture) }, + new ColorProperty { Name = "colorprop", Value = TiledColor.Parse("#ff55ffff", CultureInfo.InvariantCulture) }, new FileProperty { Name = "fileprop", Value = "file.txt" }, new FloatProperty { Name = "floatprop", Value = 4.2f }, new IntProperty { Name = "intprop", Value = 8 }, new ObjectProperty { Name = "objectprop", Value = 5 }, new StringProperty { Name = "stringprop", Value = "This is a string, hello world!" }, - new ColorProperty { Name = "unsetcolorprop", Value = Optional.Empty } + new ColorProperty { Name = "unsetcolorprop", Value = Optional.Empty } ] }; } diff --git a/src/DotTiled.Tests/TestData/Maps/map-with-custom-type-props-without-defs/map-with-custom-type-props-without-defs.cs b/src/DotTiled.Tests/TestData/Maps/map-with-custom-type-props-without-defs/map-with-custom-type-props-without-defs.cs index 4134dac..91d4e07 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-with-custom-type-props-without-defs/map-with-custom-type-props-without-defs.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-with-custom-type-props-without-defs/map-with-custom-type-props-without-defs.cs @@ -17,7 +17,7 @@ public partial class TestData ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = Color.Parse("#00000000", CultureInfo.InvariantCulture), + BackgroundColor = TiledColor.Parse("#00000000", CultureInfo.InvariantCulture), Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 2, diff --git a/src/DotTiled.Tests/TestData/Maps/map-with-custom-type-props/map-with-custom-type-props.cs b/src/DotTiled.Tests/TestData/Maps/map-with-custom-type-props/map-with-custom-type-props.cs index f77638b..6a2b6bf 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-with-custom-type-props/map-with-custom-type-props.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-with-custom-type-props/map-with-custom-type-props.cs @@ -17,7 +17,7 @@ public partial class TestData ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = Color.Parse("#00000000", CultureInfo.InvariantCulture), + BackgroundColor = TiledColor.Parse("#00000000", CultureInfo.InvariantCulture), Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 2, @@ -56,7 +56,7 @@ public partial class TestData PropertyType = "CustomClass", Value = [ new BoolProperty { Name = "boolinclass", Value = true }, - new ColorProperty { Name = "colorinclass", Value = Color.Parse("#000000ff", CultureInfo.InvariantCulture) }, + new ColorProperty { Name = "colorinclass", Value = TiledColor.Parse("#000000ff", CultureInfo.InvariantCulture) }, new FileProperty { Name = "fileinclass", Value = "" }, new FloatProperty { Name = "floatinclass", Value = 13.37f }, new IntProperty { Name = "intinclass", Value = 0 }, @@ -106,7 +106,7 @@ public partial class TestData new ColorProperty { Name = "colorinclass", - Value = Color.Parse("#000000ff", CultureInfo.InvariantCulture) + Value = TiledColor.Parse("#000000ff", CultureInfo.InvariantCulture) }, new FileProperty { diff --git a/src/DotTiled.Tests/TestData/Maps/map-with-deep-props/map-with-deep-props.cs b/src/DotTiled.Tests/TestData/Maps/map-with-deep-props/map-with-deep-props.cs index b67548a..76e34fb 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-with-deep-props/map-with-deep-props.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-with-deep-props/map-with-deep-props.cs @@ -17,7 +17,7 @@ public partial class TestData ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = Color.Parse("#00000000", CultureInfo.InvariantCulture), + BackgroundColor = TiledColor.Parse("#00000000", CultureInfo.InvariantCulture), Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 2, @@ -61,7 +61,7 @@ public partial class TestData PropertyType = "CustomClass", Value = [ new BoolProperty { Name = "boolinclass", Value = false }, - new ColorProperty { Name = "colorinclass", Value = Color.Parse("#000000ff", CultureInfo.InvariantCulture) }, + new ColorProperty { Name = "colorinclass", Value = TiledColor.Parse("#000000ff", CultureInfo.InvariantCulture) }, new FileProperty { Name = "fileinclass", Value = "" }, new FloatProperty { Name = "floatinclass", Value = 0f }, new IntProperty { Name = "intinclass", Value = 0 }, @@ -82,7 +82,7 @@ public partial class TestData PropertyType = "CustomClass", Value = [ new BoolProperty { Name = "boolinclass", Value = true }, - new ColorProperty { Name = "colorinclass", Value = Color.Parse("#000000ff", CultureInfo.InvariantCulture) }, + new ColorProperty { Name = "colorinclass", Value = TiledColor.Parse("#000000ff", CultureInfo.InvariantCulture) }, new FileProperty { Name = "fileinclass", Value = "" }, new FloatProperty { Name = "floatinclass", Value = 13.37f }, new IntProperty { Name = "intinclass", Value = 0 }, @@ -109,7 +109,7 @@ public partial class TestData new ColorProperty { Name = "colorinclass", - Value = Color.Parse("#000000ff", CultureInfo.InvariantCulture) + Value = TiledColor.Parse("#000000ff", CultureInfo.InvariantCulture) }, new FileProperty { diff --git a/src/DotTiled.Tests/TestData/Maps/map-with-embedded-tileset/map-with-embedded-tileset.cs b/src/DotTiled.Tests/TestData/Maps/map-with-embedded-tileset/map-with-embedded-tileset.cs index 0056fd1..8bb3724 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-with-embedded-tileset/map-with-embedded-tileset.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-with-embedded-tileset/map-with-embedded-tileset.cs @@ -17,7 +17,7 @@ public partial class TestData ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = Color.Parse("#00000000", CultureInfo.InvariantCulture), + BackgroundColor = TiledColor.Parse("#00000000", CultureInfo.InvariantCulture), Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 2, diff --git a/src/DotTiled.Tests/TestData/Maps/map-with-external-tileset/map-with-external-tileset.cs b/src/DotTiled.Tests/TestData/Maps/map-with-external-tileset/map-with-external-tileset.cs index 15b9873..34bd69f 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-with-external-tileset/map-with-external-tileset.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-with-external-tileset/map-with-external-tileset.cs @@ -17,7 +17,7 @@ public partial class TestData ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = Color.Parse("#00000000", CultureInfo.InvariantCulture), + BackgroundColor = TiledColor.Parse("#00000000", CultureInfo.InvariantCulture), Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 2, diff --git a/src/DotTiled.Tests/TestData/Maps/map-with-flippingflags/map-with-flippingflags.cs b/src/DotTiled.Tests/TestData/Maps/map-with-flippingflags/map-with-flippingflags.cs index aef25d3..8dde14b 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-with-flippingflags/map-with-flippingflags.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-with-flippingflags/map-with-flippingflags.cs @@ -17,7 +17,7 @@ public partial class TestData ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = Color.Parse("#00000000", CultureInfo.InvariantCulture), + BackgroundColor = TiledColor.Parse("#00000000", CultureInfo.InvariantCulture), Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 3, diff --git a/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.cs b/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.cs index 807ef7e..35c4cbd 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.cs @@ -17,7 +17,7 @@ public partial class TestData ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = new Color { R = 0, G = 0, B = 0, A = 0 }, + BackgroundColor = new TiledColor { R = 0, G = 0, B = 0, A = 0 }, Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 8, diff --git a/src/DotTiled.Tests/TestData/Maps/map-with-multiline-string-prop/map-with-multiline-string-prop.cs b/src/DotTiled.Tests/TestData/Maps/map-with-multiline-string-prop/map-with-multiline-string-prop.cs index 06fc07f..68b196c 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-with-multiline-string-prop/map-with-multiline-string-prop.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-with-multiline-string-prop/map-with-multiline-string-prop.cs @@ -17,7 +17,7 @@ public partial class TestData ParallaxOriginY = 0, RenderOrder = RenderOrder.RightDown, CompressionLevel = -1, - BackgroundColor = Color.Parse("#00ff00", CultureInfo.InvariantCulture), + BackgroundColor = TiledColor.Parse("#00ff00", CultureInfo.InvariantCulture), Version = "1.10", TiledVersion = "1.11.0", NextLayerID = 2, @@ -52,7 +52,7 @@ public partial class TestData Properties = [ new BoolProperty { Name = "boolprop", Value = true }, - new ColorProperty { Name = "colorprop", Value = Color.Parse("#ff55ffff", CultureInfo.InvariantCulture) }, + new ColorProperty { Name = "colorprop", Value = TiledColor.Parse("#ff55ffff", CultureInfo.InvariantCulture) }, new FileProperty { Name = "fileprop", Value = "file.txt" }, new FloatProperty { Name = "floatprop", Value = 4.2f }, new IntProperty { Name = "intprop", Value = 8 }, diff --git a/src/DotTiled.Tests/UnitTests/Properties/HasPropertiesBaseTests.cs b/src/DotTiled.Tests/UnitTests/Properties/HasPropertiesBaseTests.cs index 4f9ab0f..cbf84c2 100644 --- a/src/DotTiled.Tests/UnitTests/Properties/HasPropertiesBaseTests.cs +++ b/src/DotTiled.Tests/UnitTests/Properties/HasPropertiesBaseTests.cs @@ -80,7 +80,7 @@ public class HasPropertiesBaseTests private sealed class MapTo { public bool MapToBool { get; set; } = false; - public Color MapToColor { get; set; } = Color.Parse("#00000000", CultureInfo.InvariantCulture); + public TiledColor MapToColor { get; set; } = TiledColor.Parse("#00000000", CultureInfo.InvariantCulture); public float MapToFloat { get; set; } = 0.0f; public string MapToFile { get; set; } = ""; public int MapToInt { get; set; } = 0; @@ -130,7 +130,7 @@ public class HasPropertiesBaseTests PropertyType = "MapTo", Value = [ new BoolProperty { Name = "MapToBool", Value = true }, - new ColorProperty { Name = "MapToColor", Value = Color.Parse("#FF0000FF", CultureInfo.InvariantCulture) }, + new ColorProperty { Name = "MapToColor", Value = TiledColor.Parse("#FF0000FF", CultureInfo.InvariantCulture) }, new FloatProperty { Name = "MapToFloat", Value = 1.0f }, new StringProperty { Name = "MapToFile", Value = "Test" }, new IntProperty { Name = "MapToInt", Value = 1 }, @@ -146,7 +146,7 @@ public class HasPropertiesBaseTests // Assert Assert.True(mappedProperty.MapToBool); - Assert.Equal(Color.Parse("#FF0000FF", CultureInfo.InvariantCulture), mappedProperty.MapToColor); + Assert.Equal(TiledColor.Parse("#FF0000FF", CultureInfo.InvariantCulture), mappedProperty.MapToColor); Assert.Equal(1.0f, mappedProperty.MapToFloat); Assert.Equal("Test", mappedProperty.MapToFile); Assert.Equal(1, mappedProperty.MapToInt); @@ -175,7 +175,7 @@ public class HasPropertiesBaseTests PropertyType = "MapTo", Value = [ new BoolProperty { Name = "MapToBool", Value = true }, - new ColorProperty { Name = "MapToColor", Value = Color.Parse("#FF0000FF", CultureInfo.InvariantCulture) }, + new ColorProperty { Name = "MapToColor", Value = TiledColor.Parse("#FF0000FF", CultureInfo.InvariantCulture) }, new FloatProperty { Name = "MapToFloat", Value = 1.0f }, new StringProperty { Name = "MapToFile", Value = "Test" }, new IntProperty { Name = "MapToInt", Value = 1 }, @@ -194,7 +194,7 @@ public class HasPropertiesBaseTests // Assert Assert.Equal("Test", mappedProperty.NestedMapToString); Assert.True(mappedProperty.MapToInNested.MapToBool); - Assert.Equal(Color.Parse("#FF0000FF", CultureInfo.InvariantCulture), mappedProperty.MapToInNested.MapToColor); + Assert.Equal(TiledColor.Parse("#FF0000FF", CultureInfo.InvariantCulture), mappedProperty.MapToInNested.MapToColor); Assert.Equal(1.0f, mappedProperty.MapToInNested.MapToFloat); Assert.Equal("Test", mappedProperty.MapToInNested.MapToFile); Assert.Equal(1, mappedProperty.MapToInNested.MapToInt); @@ -276,7 +276,7 @@ public class HasPropertiesBaseTests // Arrange List props = [ new BoolProperty { Name = "MapToBool", Value = true }, - new ColorProperty { Name = "MapToColor", Value = Color.Parse("#FF0000FF", CultureInfo.InvariantCulture) }, + new ColorProperty { Name = "MapToColor", Value = TiledColor.Parse("#FF0000FF", CultureInfo.InvariantCulture) }, new FloatProperty { Name = "MapToFloat", Value = 1.0f }, new StringProperty { Name = "MapToFile", Value = "Test" }, new IntProperty { Name = "MapToInt", Value = 1 }, @@ -290,7 +290,7 @@ public class HasPropertiesBaseTests // Assert Assert.True(mappedProperty.MapToBool); - Assert.Equal(Color.Parse("#FF0000FF", CultureInfo.InvariantCulture), mappedProperty.MapToColor); + Assert.Equal(TiledColor.Parse("#FF0000FF", CultureInfo.InvariantCulture), mappedProperty.MapToColor); Assert.Equal(1.0f, mappedProperty.MapToFloat); Assert.Equal("Test", mappedProperty.MapToFile); Assert.Equal(1, mappedProperty.MapToInt); diff --git a/src/DotTiled/Layers/BaseLayer.cs b/src/DotTiled/Layers/BaseLayer.cs index 26a6416..4da3443 100644 --- a/src/DotTiled/Layers/BaseLayer.cs +++ b/src/DotTiled/Layers/BaseLayer.cs @@ -37,7 +37,7 @@ public abstract class BaseLayer : HasPropertiesBase /// /// A tint color that is multiplied with any tiles drawn by this layer. /// - public Optional TintColor { get; set; } = Optional.Empty; + public Optional TintColor { get; set; } = Optional.Empty; /// /// Horizontal offset for this layer in pixels. diff --git a/src/DotTiled/Layers/ObjectLayer.cs b/src/DotTiled/Layers/ObjectLayer.cs index b32a137..1e825e1 100644 --- a/src/DotTiled/Layers/ObjectLayer.cs +++ b/src/DotTiled/Layers/ObjectLayer.cs @@ -46,7 +46,7 @@ public class ObjectLayer : BaseLayer /// /// A color that is multiplied with any tile objects drawn by this layer. /// - public Optional Color { get; set; } = Optional.Empty; + public Optional Color { get; set; } = Optional.Empty; /// /// Whether the objects are drawn according to the order of appearance () or sorted by their Y coordinate (). diff --git a/src/DotTiled/Layers/Objects/TextObject.cs b/src/DotTiled/Layers/Objects/TextObject.cs index 48a095c..42b07d0 100644 --- a/src/DotTiled/Layers/Objects/TextObject.cs +++ b/src/DotTiled/Layers/Objects/TextObject.cs @@ -72,7 +72,7 @@ public class TextObject : Object /// /// The color of the text. /// - public Color Color { get; set; } = Color.Parse("#000000", CultureInfo.InvariantCulture); + public TiledColor Color { get; set; } = TiledColor.Parse("#000000", CultureInfo.InvariantCulture); /// /// Whether the text is bold. diff --git a/src/DotTiled/Map.cs b/src/DotTiled/Map.cs index c9a8890..92965f5 100644 --- a/src/DotTiled/Map.cs +++ b/src/DotTiled/Map.cs @@ -171,7 +171,7 @@ public class Map : HasPropertiesBase /// /// The background color of the map. /// - public Color BackgroundColor { get; set; } = Color.Parse("#00000000", CultureInfo.InvariantCulture); + public TiledColor BackgroundColor { get; set; } = TiledColor.Parse("#00000000", CultureInfo.InvariantCulture); /// /// Stores the next available ID for new layers. This number is used to prevent reuse of the same ID after layers have been removed. diff --git a/src/DotTiled/Properties/ColorProperty.cs b/src/DotTiled/Properties/ColorProperty.cs index 295096e..9e5cc0d 100644 --- a/src/DotTiled/Properties/ColorProperty.cs +++ b/src/DotTiled/Properties/ColorProperty.cs @@ -3,7 +3,7 @@ namespace DotTiled; /// /// Represents a color property. /// -public class ColorProperty : IProperty> +public class ColorProperty : IProperty> { /// public required string Name { get; set; } @@ -14,7 +14,7 @@ public class ColorProperty : IProperty> /// /// The color value of the property. /// - public required Optional Value { get; set; } + public required Optional Value { get; set; } /// public IProperty Clone() => new ColorProperty diff --git a/src/DotTiled/Properties/CustomTypes/CustomClassDefinition.cs b/src/DotTiled/Properties/CustomTypes/CustomClassDefinition.cs index 37b8c6e..7d799ca 100644 --- a/src/DotTiled/Properties/CustomTypes/CustomClassDefinition.cs +++ b/src/DotTiled/Properties/CustomTypes/CustomClassDefinition.cs @@ -78,7 +78,7 @@ public class CustomClassDefinition : HasPropertiesBase, ICustomTypeDefinition /// /// The color of the custom class inside the Tiled editor. /// - public Color Color { get; set; } + public TiledColor Color { get; set; } /// /// Whether the custom class should be drawn with a fill color. @@ -155,8 +155,8 @@ public class CustomClassDefinition : HasPropertiesBase, ICustomTypeDefinition { case Type t when t == typeof(bool): return new BoolProperty { Name = propertyInfo.Name, Value = (bool)propertyInfo.GetValue(instance) }; - case Type t when t == typeof(Color): - return new ColorProperty { Name = propertyInfo.Name, Value = (Color)propertyInfo.GetValue(instance) }; + case Type t when t == typeof(TiledColor): + return new ColorProperty { Name = propertyInfo.Name, Value = (TiledColor)propertyInfo.GetValue(instance) }; case Type t when t == typeof(float): return new FloatProperty { Name = propertyInfo.Name, Value = (float)propertyInfo.GetValue(instance) }; case Type t when t == typeof(string): diff --git a/src/DotTiled/Color.cs b/src/DotTiled/Properties/TiledColor.cs similarity index 77% rename from src/DotTiled/Color.cs rename to src/DotTiled/Properties/TiledColor.cs index 78d0b80..cebc1f6 100644 --- a/src/DotTiled/Color.cs +++ b/src/DotTiled/Properties/TiledColor.cs @@ -7,7 +7,7 @@ namespace DotTiled; /// /// Represents a Tiled color. /// -public class Color : IParsable, IEquatable +public class TiledColor : IParsable, IEquatable { /// /// The red component of the color. @@ -30,31 +30,31 @@ public class Color : IParsable, IEquatable public byte A { get; set; } = 255; /// - /// Attempts to parse the specified string into a . Expects strings in the format #RRGGBB or #AARRGGBB. + /// Attempts to parse the specified string into a . Expects strings in the format #RRGGBB or #AARRGGBB. /// The leading # is optional. /// - /// A string value to parse into a + /// A string value to parse into a /// An object that supplies culture-specific information about the format of s. - /// The parsed + /// The parsed /// Thrown in case the provided string is not in a valid format. - public static Color Parse(string s, IFormatProvider provider) + public static TiledColor Parse(string s, IFormatProvider provider) { _ = TryParse(s, provider, out var result); return result ?? throw new FormatException($"Invalid format for TiledColor: {s}"); } /// - /// Attempts to parse the specified string into a . Expects strings in the format #RRGGBB or #AARRGGBB. + /// Attempts to parse the specified string into a . Expects strings in the format #RRGGBB or #AARRGGBB. /// The leading # is optional. /// - /// A string value to parse into a + /// A string value to parse into a /// An object that supplies culture-specific information about the format of s. - /// When this method returns, contains the parsed or null on failure. + /// When this method returns, contains the parsed or null on failure. /// true if was successfully parsed; otherwise, false. public static bool TryParse( [NotNullWhen(true)] string s, IFormatProvider provider, - [MaybeNullWhen(false)] out Color result) + [MaybeNullWhen(false)] out TiledColor result) { if (s is not null && !s.StartsWith('#')) return TryParse($"#{s}", provider, out result); @@ -68,7 +68,7 @@ public class Color : IParsable, IEquatable if (s.Length == 7) { - result = new Color + result = new TiledColor { R = byte.Parse(s[1..3], NumberStyles.HexNumber, provider), G = byte.Parse(s[3..5], NumberStyles.HexNumber, provider), @@ -77,7 +77,7 @@ public class Color : IParsable, IEquatable } else { - result = new Color + result = new TiledColor { A = byte.Parse(s[1..3], NumberStyles.HexNumber, provider), R = byte.Parse(s[3..5], NumberStyles.HexNumber, provider), @@ -90,7 +90,7 @@ public class Color : IParsable, IEquatable } /// - public bool Equals(Color other) + public bool Equals(TiledColor other) { if (other is null) return false; @@ -99,7 +99,7 @@ public class Color : IParsable, IEquatable } /// - public override bool Equals(object obj) => obj is Color other && Equals(other); + public override bool Equals(object obj) => obj is TiledColor other && Equals(other); /// public override int GetHashCode() => HashCode.Combine(R, G, B, A); diff --git a/src/DotTiled/Serialization/Tmj/TmjReaderBase.Group.cs b/src/DotTiled/Serialization/Tmj/TmjReaderBase.Group.cs index 0df3c10..4c6ac38 100644 --- a/src/DotTiled/Serialization/Tmj/TmjReaderBase.Group.cs +++ b/src/DotTiled/Serialization/Tmj/TmjReaderBase.Group.cs @@ -12,7 +12,7 @@ public abstract partial class TmjReaderBase var @class = element.GetOptionalProperty("class").GetValueOr(""); var opacity = element.GetOptionalProperty("opacity").GetValueOr(1.0f); var visible = element.GetOptionalProperty("visible").GetValueOr(true); - var tintColor = element.GetOptionalPropertyParseable("tintcolor"); + var tintColor = element.GetOptionalPropertyParseable("tintcolor"); var offsetX = element.GetOptionalProperty("offsetx").GetValueOr(0.0f); var offsetY = element.GetOptionalProperty("offsety").GetValueOr(0.0f); var parallaxX = element.GetOptionalProperty("parallaxx").GetValueOr(1.0f); diff --git a/src/DotTiled/Serialization/Tmj/TmjReaderBase.ImageLayer.cs b/src/DotTiled/Serialization/Tmj/TmjReaderBase.ImageLayer.cs index 32b5614..0da963d 100644 --- a/src/DotTiled/Serialization/Tmj/TmjReaderBase.ImageLayer.cs +++ b/src/DotTiled/Serialization/Tmj/TmjReaderBase.ImageLayer.cs @@ -11,7 +11,7 @@ public abstract partial class TmjReaderBase var @class = element.GetOptionalProperty("class").GetValueOr(""); var opacity = element.GetOptionalProperty("opacity").GetValueOr(1.0f); var visible = element.GetOptionalProperty("visible").GetValueOr(true); - var tintColor = element.GetOptionalPropertyParseable("tintcolor"); + var tintColor = element.GetOptionalPropertyParseable("tintcolor"); var offsetX = element.GetOptionalProperty("offsetx").GetValueOr(0.0f); var offsetY = element.GetOptionalProperty("offsety").GetValueOr(0.0f); var parallaxX = element.GetOptionalProperty("parallaxx").GetValueOr(1.0f); @@ -21,7 +21,7 @@ public abstract partial class TmjReaderBase var image = element.GetRequiredProperty("image"); var repeatX = element.GetOptionalProperty("repeatx").GetValueOr(false); var repeatY = element.GetOptionalProperty("repeaty").GetValueOr(false); - var transparentColor = element.GetOptionalPropertyParseable("transparentcolor"); + var transparentColor = element.GetOptionalPropertyParseable("transparentcolor"); var x = element.GetOptionalProperty("x").GetValueOr(0); var y = element.GetOptionalProperty("y").GetValueOr(0); diff --git a/src/DotTiled/Serialization/Tmj/TmjReaderBase.Map.cs b/src/DotTiled/Serialization/Tmj/TmjReaderBase.Map.cs index f6924f4..dfe7eee 100644 --- a/src/DotTiled/Serialization/Tmj/TmjReaderBase.Map.cs +++ b/src/DotTiled/Serialization/Tmj/TmjReaderBase.Map.cs @@ -47,7 +47,7 @@ public abstract partial class TmjReaderBase }); var parallaxOriginX = element.GetOptionalProperty("parallaxoriginx").GetValueOr(0f); var parallaxOriginY = element.GetOptionalProperty("parallaxoriginy").GetValueOr(0f); - var backgroundColor = element.GetOptionalPropertyParseable("backgroundcolor").GetValueOr(Color.Parse("#00000000", CultureInfo.InvariantCulture)); + var backgroundColor = element.GetOptionalPropertyParseable("backgroundcolor").GetValueOr(TiledColor.Parse("#00000000", CultureInfo.InvariantCulture)); var nextLayerID = element.GetRequiredProperty("nextlayerid"); var nextObjectID = element.GetRequiredProperty("nextobjectid"); var infinite = element.GetOptionalProperty("infinite").GetValueOr(false); diff --git a/src/DotTiled/Serialization/Tmj/TmjReaderBase.ObjectLayer.cs b/src/DotTiled/Serialization/Tmj/TmjReaderBase.ObjectLayer.cs index c43e40a..132ceba 100644 --- a/src/DotTiled/Serialization/Tmj/TmjReaderBase.ObjectLayer.cs +++ b/src/DotTiled/Serialization/Tmj/TmjReaderBase.ObjectLayer.cs @@ -15,7 +15,7 @@ public abstract partial class TmjReaderBase var @class = element.GetOptionalProperty("class").GetValueOr(""); var opacity = element.GetOptionalProperty("opacity").GetValueOr(1.0f); var visible = element.GetOptionalProperty("visible").GetValueOr(true); - var tintColor = element.GetOptionalPropertyParseable("tintcolor"); + var tintColor = element.GetOptionalPropertyParseable("tintcolor"); var offsetX = element.GetOptionalProperty("offsetx").GetValueOr(0.0f); var offsetY = element.GetOptionalProperty("offsety").GetValueOr(0.0f); var parallaxX = element.GetOptionalProperty("parallaxx").GetValueOr(1.0f); @@ -26,7 +26,7 @@ public abstract partial class TmjReaderBase var y = element.GetOptionalProperty("y").GetValueOr(0); var width = element.GetOptionalProperty("width").GetValueOr(0); var height = element.GetOptionalProperty("height").GetValueOr(0); - var color = element.GetOptionalPropertyParseable("color"); + var color = element.GetOptionalPropertyParseable("color"); var drawOrder = element.GetOptionalPropertyParseable("draworder", s => s switch { "topdown" => DrawOrder.TopDown, @@ -255,7 +255,7 @@ public abstract partial class TmjReaderBase internal static TextObject ReadText(JsonElement element) { var bold = element.GetOptionalProperty("bold").GetValueOr(false); - var color = element.GetOptionalPropertyParseable("color").GetValueOr(Color.Parse("#00000000", CultureInfo.InvariantCulture)); + var color = element.GetOptionalPropertyParseable("color").GetValueOr(TiledColor.Parse("#00000000", CultureInfo.InvariantCulture)); var fontfamily = element.GetOptionalProperty("fontfamily").GetValueOr("sans-serif"); var halign = element.GetOptionalPropertyParseable("halign", s => s switch { diff --git a/src/DotTiled/Serialization/Tmj/TmjReaderBase.Properties.cs b/src/DotTiled/Serialization/Tmj/TmjReaderBase.Properties.cs index ae7ea1c..1ad6e53 100644 --- a/src/DotTiled/Serialization/Tmj/TmjReaderBase.Properties.cs +++ b/src/DotTiled/Serialization/Tmj/TmjReaderBase.Properties.cs @@ -36,7 +36,7 @@ public abstract partial class TmjReaderBase PropertyType.Int => new IntProperty { Name = name, Value = e.GetRequiredProperty("value") }, PropertyType.Float => new FloatProperty { Name = name, Value = e.GetRequiredProperty("value") }, PropertyType.Bool => new BoolProperty { Name = name, Value = e.GetRequiredProperty("value") }, - PropertyType.Color => new ColorProperty { Name = name, Value = e.GetRequiredPropertyParseable("value", s => s == "" ? default : Color.Parse(s, CultureInfo.InvariantCulture)) }, + PropertyType.Color => new ColorProperty { Name = name, Value = e.GetRequiredPropertyParseable("value", s => s == "" ? default : TiledColor.Parse(s, CultureInfo.InvariantCulture)) }, PropertyType.File => new FileProperty { Name = name, Value = e.GetRequiredProperty("value") }, PropertyType.Object => new ObjectProperty { Name = name, Value = e.GetRequiredProperty("value") }, PropertyType.Class => throw new JsonException("Class property must have a property type"), @@ -163,7 +163,7 @@ public abstract partial class TmjReaderBase PropertyType.Int => new IntProperty { Name = prop.Name, Value = propElement.GetValueAs() }, PropertyType.Float => new FloatProperty { Name = prop.Name, Value = propElement.GetValueAs() }, PropertyType.Bool => new BoolProperty { Name = prop.Name, Value = propElement.GetValueAs() }, - PropertyType.Color => new ColorProperty { Name = prop.Name, Value = Color.Parse(propElement.GetValueAs(), CultureInfo.InvariantCulture) }, + PropertyType.Color => new ColorProperty { Name = prop.Name, Value = TiledColor.Parse(propElement.GetValueAs(), CultureInfo.InvariantCulture) }, PropertyType.File => new FileProperty { Name = prop.Name, Value = propElement.GetValueAs() }, PropertyType.Object => new ObjectProperty { Name = prop.Name, Value = propElement.GetValueAs() }, PropertyType.Enum => ReadEnumProperty(propElement), diff --git a/src/DotTiled/Serialization/Tmj/TmjReaderBase.TileLayer.cs b/src/DotTiled/Serialization/Tmj/TmjReaderBase.TileLayer.cs index 6482cf9..287ef18 100644 --- a/src/DotTiled/Serialization/Tmj/TmjReaderBase.TileLayer.cs +++ b/src/DotTiled/Serialization/Tmj/TmjReaderBase.TileLayer.cs @@ -35,8 +35,8 @@ public abstract partial class TmjReaderBase var repeatY = element.GetOptionalProperty("repeaty").GetValueOr(false); var startX = element.GetOptionalProperty("startx").GetValueOr(0); var startY = element.GetOptionalProperty("starty").GetValueOr(0); - var tintColor = element.GetOptionalPropertyParseable("tintcolor"); - var transparentColor = element.GetOptionalPropertyParseable("transparentcolor"); + var tintColor = element.GetOptionalPropertyParseable("tintcolor"); + var transparentColor = element.GetOptionalPropertyParseable("transparentcolor"); var visible = element.GetOptionalProperty("visible").GetValueOr(true); var width = element.GetRequiredProperty("width"); var x = element.GetRequiredProperty("x"); diff --git a/src/DotTiled/Serialization/Tmj/TmjReaderBase.Tileset.cs b/src/DotTiled/Serialization/Tmj/TmjReaderBase.Tileset.cs index 5190121..fae87fe 100644 --- a/src/DotTiled/Serialization/Tmj/TmjReaderBase.Tileset.cs +++ b/src/DotTiled/Serialization/Tmj/TmjReaderBase.Tileset.cs @@ -10,7 +10,7 @@ public abstract partial class TmjReaderBase Optional parentVersion = null, Optional parentTiledVersion = null) { - var backgroundColor = element.GetOptionalPropertyParseable("backgroundcolor"); + var backgroundColor = element.GetOptionalPropertyParseable("backgroundcolor"); var @class = element.GetOptionalProperty("class").GetValueOr(""); var columns = element.GetOptionalProperty("columns"); var fillMode = element.GetOptionalPropertyParseable("fillmode", s => s switch @@ -55,8 +55,7 @@ public abstract partial class TmjReaderBase }).GetValueOr(TileRenderSize.Tile); var tiles = element.GetOptionalPropertyCustom>("tiles", ReadTiles).GetValueOr([]); var tileWidth = element.GetOptionalProperty("tilewidth"); - var transparentColor = element.GetOptionalPropertyParseable("transparentcolor"); - var type = element.GetOptionalProperty("type"); + var transparentColor = element.GetOptionalPropertyParseable("transparentcolor"); var version = element.GetOptionalProperty("version").GetValueOrOptional(parentVersion); var transformations = element.GetOptionalPropertyCustom("transformations", ReadTransformations); var wangsets = element.GetOptionalPropertyCustom>("wangsets", el => el.GetValueAsList(e => ReadWangset(e))).GetValueOr([]); @@ -229,7 +228,7 @@ public abstract partial class TmjReaderBase internal WangColor ReadWangColor(JsonElement element) { var @class = element.GetOptionalProperty("class").GetValueOr(""); - var color = element.GetRequiredPropertyParseable("color"); + var color = element.GetRequiredPropertyParseable("color"); var name = element.GetRequiredProperty("name"); var probability = element.GetOptionalProperty("probability").GetValueOr(1.0f); var properties = ResolveAndMergeProperties(@class, element.GetOptionalPropertyCustom("properties", ReadProperties).GetValueOr([])); diff --git a/src/DotTiled/Serialization/Tmx/TmxReaderBase.Map.cs b/src/DotTiled/Serialization/Tmx/TmxReaderBase.Map.cs index ee9fe09..9f48633 100644 --- a/src/DotTiled/Serialization/Tmx/TmxReaderBase.Map.cs +++ b/src/DotTiled/Serialization/Tmx/TmxReaderBase.Map.cs @@ -51,7 +51,7 @@ public abstract partial class TmxReaderBase }); var parallaxOriginX = _reader.GetOptionalAttributeParseable("parallaxoriginx").GetValueOr(0.0f); var parallaxOriginY = _reader.GetOptionalAttributeParseable("parallaxoriginy").GetValueOr(0.0f); - var backgroundColor = _reader.GetOptionalAttributeClass("backgroundcolor").GetValueOr(Color.Parse("#00000000", CultureInfo.InvariantCulture)); + var backgroundColor = _reader.GetOptionalAttributeClass("backgroundcolor").GetValueOr(TiledColor.Parse("#00000000", CultureInfo.InvariantCulture)); var nextLayerID = _reader.GetRequiredAttributeParseable("nextlayerid"); var nextObjectID = _reader.GetRequiredAttributeParseable("nextobjectid"); var infinite = _reader.GetOptionalAttributeParseable("infinite").GetValueOr(0) == 1; diff --git a/src/DotTiled/Serialization/Tmx/TmxReaderBase.ObjectLayer.cs b/src/DotTiled/Serialization/Tmx/TmxReaderBase.ObjectLayer.cs index 3799f9f..5e70f5e 100644 --- a/src/DotTiled/Serialization/Tmx/TmxReaderBase.ObjectLayer.cs +++ b/src/DotTiled/Serialization/Tmx/TmxReaderBase.ObjectLayer.cs @@ -20,12 +20,12 @@ public abstract partial class TmxReaderBase var height = _reader.GetOptionalAttributeParseable("height").GetValueOr(0); var opacity = _reader.GetOptionalAttributeParseable("opacity").GetValueOr(1.0f); var visible = _reader.GetOptionalAttributeParseable("visible").GetValueOr(1) == 1; - var tintColor = _reader.GetOptionalAttributeClass("tintcolor"); + var tintColor = _reader.GetOptionalAttributeClass("tintcolor"); var offsetX = _reader.GetOptionalAttributeParseable("offsetx").GetValueOr(0.0f); var offsetY = _reader.GetOptionalAttributeParseable("offsety").GetValueOr(0.0f); var parallaxX = _reader.GetOptionalAttributeParseable("parallaxx").GetValueOr(1.0f); var parallaxY = _reader.GetOptionalAttributeParseable("parallaxy").GetValueOr(1.0f); - var color = _reader.GetOptionalAttributeClass("color"); + var color = _reader.GetOptionalAttributeClass("color"); var drawOrder = _reader.GetOptionalAttributeEnum("draworder", s => s switch { "topdown" => DrawOrder.TopDown, @@ -245,7 +245,7 @@ public abstract partial class TmxReaderBase var fontFamily = _reader.GetOptionalAttribute("fontfamily") ?? "sans-serif"; var pixelSize = _reader.GetOptionalAttributeParseable("pixelsize") ?? 16; var wrap = _reader.GetOptionalAttributeParseable("wrap") ?? false; - var color = _reader.GetOptionalAttributeClass("color") ?? Color.Parse("#000000", CultureInfo.InvariantCulture); + var color = _reader.GetOptionalAttributeClass("color") ?? TiledColor.Parse("#000000", CultureInfo.InvariantCulture); var bold = _reader.GetOptionalAttributeParseable("bold") ?? false; var italic = _reader.GetOptionalAttributeParseable("italic") ?? false; var underline = _reader.GetOptionalAttributeParseable("underline") ?? false; diff --git a/src/DotTiled/Serialization/Tmx/TmxReaderBase.Properties.cs b/src/DotTiled/Serialization/Tmx/TmxReaderBase.Properties.cs index 5770056..94b730b 100644 --- a/src/DotTiled/Serialization/Tmx/TmxReaderBase.Properties.cs +++ b/src/DotTiled/Serialization/Tmx/TmxReaderBase.Properties.cs @@ -45,7 +45,7 @@ public abstract partial class TmxReaderBase PropertyType.Int => new IntProperty { Name = name, Value = r.GetRequiredAttributeParseable("value") }, PropertyType.Float => new FloatProperty { Name = name, Value = r.GetRequiredAttributeParseable("value") }, PropertyType.Bool => new BoolProperty { Name = name, Value = r.GetRequiredAttributeParseable("value") }, - PropertyType.Color => new ColorProperty { Name = name, Value = r.GetRequiredAttributeParseable("value", s => s == "" ? default : Color.Parse(s, CultureInfo.InvariantCulture)) }, + PropertyType.Color => new ColorProperty { Name = name, Value = r.GetRequiredAttributeParseable("value", s => s == "" ? default : TiledColor.Parse(s, CultureInfo.InvariantCulture)) }, PropertyType.File => new FileProperty { Name = name, Value = r.GetRequiredAttribute("value") }, PropertyType.Object => new ObjectProperty { Name = name, Value = r.GetRequiredAttributeParseable("value") }, PropertyType.Class => throw new XmlException("Class property must have a property type"), diff --git a/src/DotTiled/Serialization/Tmx/TmxReaderBase.TileLayer.cs b/src/DotTiled/Serialization/Tmx/TmxReaderBase.TileLayer.cs index bc0042b..2df44b4 100644 --- a/src/DotTiled/Serialization/Tmx/TmxReaderBase.TileLayer.cs +++ b/src/DotTiled/Serialization/Tmx/TmxReaderBase.TileLayer.cs @@ -16,7 +16,7 @@ public abstract partial class TmxReaderBase var height = _reader.GetRequiredAttributeParseable("height"); var opacity = _reader.GetOptionalAttributeParseable("opacity").GetValueOr(1.0f); var visible = _reader.GetOptionalAttributeParseable("visible").GetValueOr(1) == 1; - var tintColor = _reader.GetOptionalAttributeClass("tintcolor"); + var tintColor = _reader.GetOptionalAttributeClass("tintcolor"); var offsetX = _reader.GetOptionalAttributeParseable("offsetx").GetValueOr(0.0f); var offsetY = _reader.GetOptionalAttributeParseable("offsety").GetValueOr(0.0f); var parallaxX = _reader.GetOptionalAttributeParseable("parallaxx").GetValueOr(1.0f); @@ -63,7 +63,7 @@ public abstract partial class TmxReaderBase var y = _reader.GetOptionalAttributeParseable("y").GetValueOr(0); var opacity = _reader.GetOptionalAttributeParseable("opacity").GetValueOr(1f); var visible = _reader.GetOptionalAttributeParseable("visible").GetValueOr(true); - var tintColor = _reader.GetOptionalAttributeClass("tintcolor"); + var tintColor = _reader.GetOptionalAttributeClass("tintcolor"); var offsetX = _reader.GetOptionalAttributeParseable("offsetx").GetValueOr(0.0f); var offsetY = _reader.GetOptionalAttributeParseable("offsety").GetValueOr(0.0f); var parallaxX = _reader.GetOptionalAttributeParseable("parallaxx").GetValueOr(1.0f); @@ -110,7 +110,7 @@ public abstract partial class TmxReaderBase var @class = _reader.GetOptionalAttribute("class").GetValueOr(""); var opacity = _reader.GetOptionalAttributeParseable("opacity").GetValueOr(1.0f); var visible = _reader.GetOptionalAttributeParseable("visible").GetValueOr(1) == 1; - var tintColor = _reader.GetOptionalAttributeClass("tintcolor"); + var tintColor = _reader.GetOptionalAttributeClass("tintcolor"); var offsetX = _reader.GetOptionalAttributeParseable("offsetx").GetValueOr(0f); var offsetY = _reader.GetOptionalAttributeParseable("offsety").GetValueOr(0f); var parallaxX = _reader.GetOptionalAttributeParseable("parallaxx").GetValueOr(1f); diff --git a/src/DotTiled/Serialization/Tmx/TmxReaderBase.Tileset.cs b/src/DotTiled/Serialization/Tmx/TmxReaderBase.Tileset.cs index 5d3671d..4180bfe 100644 --- a/src/DotTiled/Serialization/Tmx/TmxReaderBase.Tileset.cs +++ b/src/DotTiled/Serialization/Tmx/TmxReaderBase.Tileset.cs @@ -125,7 +125,7 @@ public abstract partial class TmxReaderBase _ => throw new InvalidOperationException($"Unknown image format '{s}'") }); var source = _reader.GetOptionalAttribute("source"); - var transparentColor = _reader.GetOptionalAttributeClass("trans"); + var transparentColor = _reader.GetOptionalAttributeClass("trans"); var width = _reader.GetOptionalAttributeParseable("width"); var height = _reader.GetOptionalAttributeParseable("height"); @@ -277,7 +277,7 @@ public abstract partial class TmxReaderBase // Attributes var name = _reader.GetRequiredAttribute("name"); var @class = _reader.GetOptionalAttribute("class").GetValueOr(""); - var color = _reader.GetRequiredAttributeParseable("color"); + var color = _reader.GetRequiredAttributeParseable("color"); var tile = _reader.GetRequiredAttributeParseable("tile"); var probability = _reader.GetOptionalAttributeParseable("probability").GetValueOr(0f); diff --git a/src/DotTiled/Tilesets/Image.cs b/src/DotTiled/Tilesets/Image.cs index 4be1aac..8685617 100644 --- a/src/DotTiled/Tilesets/Image.cs +++ b/src/DotTiled/Tilesets/Image.cs @@ -44,7 +44,7 @@ public class Image /// /// Defines a specific color that is treated as transparent. /// - public Optional TransparentColor { get; set; } = Optional.Empty; + public Optional TransparentColor { get; set; } = Optional.Empty; /// /// The image width in pixels, used for tile index correction when the image changes. diff --git a/src/DotTiled/Tilesets/WangColor.cs b/src/DotTiled/Tilesets/WangColor.cs index b5ef482..58131bd 100644 --- a/src/DotTiled/Tilesets/WangColor.cs +++ b/src/DotTiled/Tilesets/WangColor.cs @@ -20,7 +20,7 @@ public class WangColor : HasPropertiesBase /// /// The color of the Wang color. /// - public required Color Color { get; set; } + public required TiledColor Color { get; set; } /// /// The tile ID of the tile representing this color. From 58bb446e2ba7ef3ef1d81dd1da08ac1e2c428f6f Mon Sep 17 00:00:00 2001 From: Daniel Cronqvist Date: Thu, 24 Apr 2025 22:44:17 +0200 Subject: [PATCH 06/12] Read new image size properties in tmj from Tiled 1.11.1 --- .../Maps/map-with-many-layers/map-with-many-layers.cs | 6 +++--- .../Maps/map-with-many-layers/map-with-many-layers.tmj | 4 +++- .../Maps/map-with-many-layers/map-with-many-layers.tmx | 2 +- src/DotTiled/Serialization/Tmj/TmjReaderBase.ImageLayer.cs | 6 ++++-- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.cs b/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.cs index 35c4cbd..593eec7 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.cs +++ b/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.cs @@ -19,7 +19,7 @@ public partial class TestData CompressionLevel = -1, BackgroundColor = new TiledColor { R = 0, G = 0, B = 0, A = 0 }, Version = "1.10", - TiledVersion = "1.11.0", + TiledVersion = "1.11.2", NextLayerID = 8, NextObjectID = 7, Tilesets = [ @@ -172,8 +172,8 @@ public partial class TestData { Format = ImageFormat.Png, Source = "tileset.png", - Width = fileExt == "tmx" ? 256 : 0, // Currently, json format does not - Height = fileExt == "tmx" ? 96 : 0 // include image dimensions in image layer https://github.com/mapeditor/tiled/issues/4028 + Width = 256, + Height = 96 }, RepeatX = true }, diff --git a/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.tmj b/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.tmj index 9e9f669..427f404 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.tmj +++ b/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.tmj @@ -114,6 +114,8 @@ { "id":4, "image":"tileset.png", + "imageheight":96, + "imagewidth":256, "name":"ImageLayer", "opacity":1, "repeatx":true, @@ -149,7 +151,7 @@ "nextobjectid":7, "orientation":"orthogonal", "renderorder":"right-down", - "tiledversion":"1.11.0", + "tiledversion":"1.11.2", "tileheight":32, "tilesets":[ { diff --git a/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.tmx b/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.tmx index 5888069..512a7a4 100644 --- a/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.tmx +++ b/src/DotTiled.Tests/TestData/Maps/map-with-many-layers/map-with-many-layers.tmx @@ -1,5 +1,5 @@ - + diff --git a/src/DotTiled/Serialization/Tmj/TmjReaderBase.ImageLayer.cs b/src/DotTiled/Serialization/Tmj/TmjReaderBase.ImageLayer.cs index 0da963d..c0c2c5b 100644 --- a/src/DotTiled/Serialization/Tmj/TmjReaderBase.ImageLayer.cs +++ b/src/DotTiled/Serialization/Tmj/TmjReaderBase.ImageLayer.cs @@ -19,6 +19,8 @@ public abstract partial class TmjReaderBase var properties = ResolveAndMergeProperties(@class, element.GetOptionalPropertyCustom("properties", ReadProperties).GetValueOr([])); var image = element.GetRequiredProperty("image"); + var imageWidth = element.GetOptionalProperty("imagewidth").GetValueOr(0); + var imageHeight = element.GetOptionalProperty("imageheight").GetValueOr(0); var repeatX = element.GetOptionalProperty("repeatx").GetValueOr(false); var repeatY = element.GetOptionalProperty("repeaty").GetValueOr(false); var transparentColor = element.GetOptionalPropertyParseable("transparentcolor"); @@ -28,8 +30,8 @@ public abstract partial class TmjReaderBase var imgModel = new Image { Format = Helpers.ParseImageFormatFromSource(image), - Height = 0, - Width = 0, + Height = imageHeight, + Width = imageWidth, Source = image, TransparentColor = transparentColor }; From b133e3142965689c020806fe9c7b9c81a9679cbe Mon Sep 17 00:00:00 2001 From: Daniel Cronqvist Date: Thu, 24 Apr 2025 22:45:09 +0200 Subject: [PATCH 07/12] Remove warning from docs about missing image properties in tmj --- docs/docs/essentials/loading-maps.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/docs/docs/essentials/loading-maps.md b/docs/docs/essentials/loading-maps.md index d262ec9..7b6f0c1 100644 --- a/docs/docs/essentials/loading-maps.md +++ b/docs/docs/essentials/loading-maps.md @@ -5,13 +5,10 @@ Loading maps with DotTiled is very flexible and allows you as a developer to fre > [!TIP] > For a quick and easy way to load maps from the filesystem, please refer to the [quickstart guide](../quickstart.md). -## File format caveats +## File formats The class is a representation of a Tiled map, mimicking the structure of a Tiled XML map file. Map files can either be in the [`.tmx`/XML](https://doc.mapeditor.org/en/stable/reference/tmx-map-format/) or [`.tmj`/json](https://doc.mapeditor.org/en/stable/reference/json-map-format/) format. DotTiled supports **both** formats fully. -> [!WARNING] -> Using the `.tmj` file format will result in (the source image for image layers) not having the same amount of information as for the `.tmx` format. This is due to the fact that the `.tmj` format does not include the full information that the `.tmx` format does. This is not a problem with DotTiled, but rather a limitation of the `.tmj` format. - ## The process of loading a map Loading a map with DotTiled is not a complex process, but one that at least demands a basic understanding of how Tiled maps are structured. The process can be broken down into the following flow(-ish) chart: From a98d45bfee0922f9d922b4c5774aec1af07ed1e6 Mon Sep 17 00:00:00 2001 From: Daniel Cronqvist Date: Thu, 24 Apr 2025 22:50:10 +0200 Subject: [PATCH 08/12] Bump upcoming version number and add to representaion model table --- docs/docs/essentials/representation-model.md | 9 ++++++--- src/DotTiled/DotTiled.csproj | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/docs/essentials/representation-model.md b/docs/docs/essentials/representation-model.md index b1b6ef7..ab3ce6e 100644 --- a/docs/docs/essentials/representation-model.md +++ b/docs/docs/essentials/representation-model.md @@ -12,6 +12,9 @@ Certain properties throughout the representation model are marked as *optional* The representation model is designed to be compatible with the latest version of Tiled. This means that it may not be able to read files from older versions of Tiled, or files that use features that are not yet supported by the representation model. However, here is a table of which versions of Tiled are supported by which versions of DotTiled. -| Tiled version | Compatible DotTiled version(s) | -|---------------|--------------------------------| -| 1.11 | 0.1.0, 0.2.0, 0.2.1, 0.3.0 | \ No newline at end of file +You should use one of the versions of DotTiled that is compatible with the version of Tiled you are using. + +| Tiled version | Compatible DotTiled version(s) | +|----------------|--------------------------------| +| 1.11.1, 1.11.2 | 0.4.0 | +| 1.11 | 0.1.0, 0.2.0, 0.2.1, 0.3.0 | \ No newline at end of file diff --git a/src/DotTiled/DotTiled.csproj b/src/DotTiled/DotTiled.csproj index 6e8de2a..d8d83a5 100644 --- a/src/DotTiled/DotTiled.csproj +++ b/src/DotTiled/DotTiled.csproj @@ -18,7 +18,7 @@ true Copyright © 2024 dcronqvist LICENSE - 0.3.0 + 0.4.0 From 36c6f4dd129c2acef71f7f1eb18c3c4898c20ffd Mon Sep 17 00:00:00 2001 From: Daniel Cronqvist Date: Thu, 24 Apr 2025 08:15:09 +0200 Subject: [PATCH 09/12] Prepare an example world to be used in Raylib example project --- .../kenney_roguelike-rpg-pack/License.txt | 23 + .../roguelikeSheet_transparent.png | Bin 0 -> 94579 bytes .../assets/world-tileset.tsx | 38 ++ .../DotTiled.Example.Raylib/assets/world.tmx | 434 ++++++++++++++++++ 4 files changed, 495 insertions(+) create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/assets/kenney_roguelike-rpg-pack/License.txt create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/assets/kenney_roguelike-rpg-pack/roguelikeSheet_transparent.png create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/assets/world-tileset.tsx create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/assets/world.tmx diff --git a/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/kenney_roguelike-rpg-pack/License.txt b/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/kenney_roguelike-rpg-pack/License.txt new file mode 100644 index 0000000..3b4c9db --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/kenney_roguelike-rpg-pack/License.txt @@ -0,0 +1,23 @@ + +############################################################################### + + + Roguelike pack + by Kenney Vleugels for Kenney (www.kenney.nl) + with help by Lynn Evers (Twitter: @EversLynn) + + ------------------------------ + + License (Creative Commons Zero, CC0) + http://creativecommons.org/publicdomain/zero/1.0/ + + You may use these graphics in personal and commercial projects. + Credit (Kenney or www.kenney.nl) would be nice but is not mandatory. + + ------------------------------ + + Donate: http://donate.kenney.nl/ + Request: http://request.kenney.nl/ + + +############################################################################### \ No newline at end of file diff --git a/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/kenney_roguelike-rpg-pack/roguelikeSheet_transparent.png b/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/kenney_roguelike-rpg-pack/roguelikeSheet_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..79b13326ceb8557a98b2b78aa5e8e7b9269f6693 GIT binary patch literal 94579 zcmaI71z1}_*EI@73&o0+0>KK!tvCTngB2?jcTFjU0L9(gU?sR)p|}SKQrv=5+}+)Z z75mdyzx&_&-FcpzGv_?B=gjOgne4UKN~oHuJOSQwJTx>kg0~7X@6pgOdeG1w5#nN_ z?pVgXphKOgoMm;LHS9k)yO}wH(WEWy&B63IkavsyKkaAFUNU z9l;u&s+ty_HWs3mj8c;HKzA`z2N1Bc8NEBi*3L=HU4ro+{feRLe{b_J(*L80vyBAf zKL@3&qDBw0cLdW5atm=;@bU@J3yX5|2?_~|3Uku)qpo>)MR@pmxp+mz1Ye2q^3(sT zFruF3X!$|xy^P$yo`t%SVEpLp>>$R&b>-qDJOPgGQthnJs+pPviWg3HOn z&e_bJ%g%}E-#y5Hoh%%!9h|N0?dbpZXl8Ej;w-_48tFf$0CD(Fw{}kdaudp7Jnm)= zJbc`|f2Z{ChAJxm|4ku~|Fm{;eh>cdc>g~;cGC240Q0;DJK4K9TA*Is2d2M|au5SK zg3X-m9X0LkZU5~>wU74B_D&z|9q2)ze|U|aRma-S(%#L9?H@KODq?T#oSe<a9dkjit&ny2)_}Mc?FV{li}l&6%Y~N1-;?t=M@xvB_b#-%lB_v8G8#C2-wc~ z-?o?*Dk%|GtGndEgBOH^V`m#;3Zi4ud<|b^9%xy5b#|etGqq9LzazO|w6ql<>7zPP zTRiNXSvKrZyjb+}HaWg@0OTZ3RG#{0Uuh9gE9DfHh!nKQC}xMrw}|)lTeP3!@A{ry zks1R`fO`WCgEont9=~aU+zR4{=^_QKIV-otczps7u7qQ>nGP$z8)EHly#tVL&@^qe z%|C+g_!mAOo2vh_Fi#Mb)5!12E8on#-#Gf6?zZ^$v~D$wW7m5&+XkbCD^Ez~3+V+9 zk8xe|P>nY((fyg=@1&gRU6<4_Nu>sh?-JfF$he%6Kldi-wS@&-<}C|9;)U1lvv{(3f_U%NC66M8Wvybe}>s8-hSzj^m zq>jIR`$D%ZwF3*1?vdrhKTi5=cIo%nmz68m1XggOYYi|K++E@i~h=N(uF$yE<>~{P=Ni02G zYih1OXV60T))SB^6HWzm-#s?8jo~C|-{p;au>aa{`uJP}AyF?HvO{j>yyN>ns`6=0 zhW{EJdf{LkM9ofviDxDe9V}sxdU{`esYfc4 zZ>48l9q}$#c*#3JKx2a;&!RpAT`W4H96D`B=`JT?XKlwl{UAksNeO(&M^DGg z0MQ0p2Cva_iR1O%Le9Gbx6GIEcj;d+(Ht2)c&^k~o~HzEor9ocK&Y5nEp8O7{HX1I z6#lY?FtAkW4G&S-px0tz0{MzIr8t=l^klbRSF+jDRs7EH;UI0M{a3>23`{qz1z&dAM15 zJg3>i0YG!M)5-WaF$^cz#sh14EEB>R#OCqk$ z)svu~zRK5bk5}3fHF`CdCW7pR$92$OwU}U!Fw*4kzTu?y<(ec}dG>|GeCF7uG7=Zb zN+ZWb?fcCo3~h!oQU%QxABmd}tZTmbk{aHp8r52=dpHek&XtgqUKyO~xIkn5`5I1u zTWpEZuBb+YmL*0kgkF!A_Fb7-7N+I4&4%*Q^5&tBASG_>xev}Km)X661K$ z5ERc7433*J2$YZe!xC{-8{mTwcARa!S0FrvRbPnM9%#L9zCw1J)V2% z`(O!ZaP0xgeAEocJ=Fb3M2o4h2R&9pe|0z|TghS62GxazNixwe{qAe6*=Dq51)cCt zfONki)EV?Bne!f1aVsigeK3kk!u!#{T1l7$@u%$nKpW@cwylDi-TKJ%M`0vJRtnT| zYPicV9HYJ%3alJk#R_9%QRdLm!O(Akga zQzuI>QrK!p)6?62b0DUMiQ`B%;>V<;6`lB>q9G1ItgN3qQ5^-ENF=pzB$rWxfaqdn z6I*@qhf`K7@nwC9!{hV_+Oo*6F1U6H2b>MfX8@KEyP#upqKMl^^Y4dn;^NbZerKf- zCCigJHK>D{qI1H&)*kqEh}hBwka;HZ248Hi&0Ta{ND;V)Rl3ktq@24ZWsS-)0O718 z5rv?Nm7~^Sp0AJ)#_*03m%x>Y+gtPLudHy90sR|My(Shq3G6l@ndmOF$wD;8k0J@u zT;%Otj>HQ>*F6^}=M@rYeL_(*vO(rL1(EFK1&=k=;H)1P*U~p^{rh0z*nsKiRj9#? z=X7JDdJJnAdv>wnCZp#zV|(16Ji=VI!Y8?)=j|B&r?+h`vui9BC0{Q`Tl^jZ<%`^t z5T&VLqEA+fnh1R$nk_noENd4lLkp1^4VuQLG%drJ(4+ji65HS)#Ui*6pu9@~uKrHy z&bjSe$!+bCA5YfMbfpEpo#AvuLm(WUO4o>k_Un!s2TpZhiZ>Sl=^1_%@9~2{Lp=M| z62Cj1ljF6jm#^bUS4@ya-(E^z9U{FPTJZ!zeZ3?cy*ssA@o7$|XY-|%R@}8wFHEN_ zVvwe?pU5NV&ip3Y7=SpyWk^*u<8nWa{!u-bt%PfFs!fnO(16_k!V!KknB@L`Q)1EQ zMDk*`%<9LHj&L<)WK(ME5V^DjS{5OVP^e0ZKGL(AcN2kC}6 zXBirNM|n&syxb(Ee%zbN=r=_+g5?C1p;azz4Lz)S13`XrB@2h+m}_$RSCZ1tJ<7vZ z3kMbZvvnD=dn6*KkkH1j zCF!E2UuiCTnlwqX{z;ux1c9zh`l4SeKbtRh&`Zvi zHY6Ac*J7L!&sw59#1B^Vr6x7&z1WG1cg?y|SEx|ABRp0s5A+$kbX?*~WQKLXdha++ zpCL~r#J}Ox&^C-{|90)90g!}fpjlETImhpLo9XbnL6`)?XtZ#<5hE*`K3{fLO!S%- zcdyhtp3Pl%Bii{F@cWY@gXHz!WHoslZ_Z;C9eD6hS^R7w8o!y;e@=t3-=4M_fN@T{ zO+YOq!^?sv4wZb1wCy4ieupoa0?SPMSumV^F9!J|ja99Tjs1G{;$ zpKRN)#v_zAfGyz7<9C~G?BH}ja^yO@7*%=Fn(JnZ2^wG+b5|fD#f;x=Sapmg8sZ}2 zV*qCV&U~EKKV((;)kzf{4A|AGuzz&Vz2}<@+=L1_0VoN#pUuu^htg}zeGf+++7zEj zAKsL{#LKX6z8-*kt9GKr*!em?f6X~0B{wqwqS&I#vE5_{KZB_kdGw_BKTgWUcAC4~ z@B(x)ryIWD-dV@Um3*4$>}U;gR1J1jn*-mD8jCD!Gu$|yq_pNGZk&awd5L-jeQOY! zO0KIp&@mmaDc>xk_bK(sS{$r})4aH3mW?5aF-ye(`>UoXfg1+NZLr?shFKS zmmp#n=`NXU;AbVLvCy_Lq9P4Gb@EloDhjk1_*BY~<7ISTVCEdXb*mp71XV=GHxGmyJxFnF&?>x&lFy*IqL3GV|1<{pwVzUL8EWDw+79vTLH zMMPQ(cX{++t1l;t(TQ@ToSoe$Ysrum(jc=CDg>4ZTw6nO^CCFX{^sIUHZ^Zx`BGXa^gei0=j!#0&<I9+S8@9k6TX@N6_ZwIaj1Czxw)|==GAgRXt1K3`mw&k?z@n1VGx1H)$^>g4ug%2q zCo*tS%_nz3MWKO)b$`QNP^|`5&+})IkhS!4!KfCGyGz}(p@nt0-o^67uV2f~lJKXH z5R&lUm>r?ij|S!-J*|xkoQ;%5I0>`$=jW|M=X?VddAmP7VQ+0ieyCo3hwJse&&*4( z6Ae+!pj`Ui5vE#s1!XGN&g;%E#8I z#yyKysiq(15<+*&=`Le!m(eNO)3z8c^f>xMh~Gz|IaLdNfI8J-c|=;uVIK#;kr)TF~+oV39SZA}&$L z=7+YR1{sZ6z_mi|{`^xX{^j?EaF5khN#9csl;2g;{f<63(*Yl zqX|r4W%?os&k|yish^*a=#X7dRwKChIwb6WmR;caOkyLh$Km#h3j@&3Z!@m5Bd&ns zz*P;%D@}2U)3N zhwx4y*~wW#)#{3)9ox(%$4rpUU+`;>0>3VC!yH#Po|Y?V@1<&=jDOVKZB`d@08xM@_xXj>;zq;G67rmt&(G;fZw;a&R&6YZ1#H;+HTroBatY(laPMiPdxffJncdz0Kl z@Hf?S$c}1fQW~6{zN7@Zz%_a!sGO-&oSZkjM1){Egk`hmcL zJnoOD=IUTtHPZ}k;C7AsiFvmaa*gHn#$G{W{z|}B0FHhvPD0z+({`r*Okr}&)Yd6v z5DW;SBIiB3DJIW;>reAMQtQ`_*n`NRYd_GGZs?yIXyumg1Rs&8UuB|y`GF^r|G38J zNEf>qvG=6EbqaH^QJKU{B+~Q=aq069v=b+5;d6Y?=MO($i4^8*zR{c6YbUl%zdv3I z|8{`4Bh6-0EYMW-$LF*9q#T67dN8>v0x*c55~+Hpf*?2XdOsj8{R8! zez$=RFe!48^RC^00%SuZI%kEl**T8z%Hp5*YD-rg%p&!3Ydr5h${+va{4I1v&}XTMm}fAiPF>=AFCzzETU&8-sHKZm#!2u2Y7k62va zemFzIwk;5AKS&F|8eoD-ugw^_EodF%x=1e*+-L&E&y)gcpeB&LAlN@~TlL4A`L%(> zBu7NhQwi>mHf1I3k7)XsIQ$X|%z2$9xG`Le>y`x8X#xbU(@KVna%S7e5G{n%G$kLJ zXw_X?4G-YhmIkj09#?M!uYK}A<5a?K*Q5RLO}#e5uVqP>g7gdRuZPw^)^s*_K@8`p zjsx^)B(su4_|{P0?O;?sjmPr}HE~U}5rS~Qh=NjB-X|P1Hkb2vsqh-sJ_4f59`*?- zn-P;wGAh`VN6qeZUXZC*stz}H@3+DvP2M+Rbn)%kXBv25Z$q+hr*qS1{!U*U2W^@7}sQ+c23UxLS74@nM3qu;0vN@ zhs69|ctT1Ov2L2qYyM(}BCnrW5wo5Q?{o8MbkCrYSSxg?EX&nWc0-cx_^$SPsJHo& z0jO51OsnI}6?HIXz1Zj>8^tmA5>GA$?RVc-?eKPfwU;-1qNP2huzWk(b=DMzD*>s? z=@)#3tt3YW)nbIRKdtQB&WM8f^VUdWaum5}@=Bk(EWe^`NcidxP2(|u^u56p?OZ~- zsPf1l8vcS4WnavYc+Ye2f?Ncf!n0sNMJ6L>YE7{8b%>3ZKzttab;E5B5j8Aw8)Akz zy;=30ow^;vWnn(|8j@zuIhQ{c$EI;QhnofWAu|i)p3jqmdeG|xG!RZo6J-h)Le_w8 zM4!a3E_Y@L)8#cWEx7140^*>Ztim%a`!T&jW{Jv($3HEzS@z%Xx>89lG}`;Mo#|+o zzoe7;q&v4ZB#aoUD7L5#O=kiT$%laLRwpP z`4`3(^%-nC^u{*Zy{IMgXh~)Ry+a!kd->Wq^2h;t+%vk>e_|K+$R zh4|}=6B30ahUu~5{xR;ylfyn02b<3cA)6A$bOQ8J)q0fDc?i(oLkQlW&c zurx>GUth**0Eu=B;NMBDc{&4$I+G{FJl@nTe$3Rze!kjg71Z&AE%*~smf~<;pcv-- z*Z2Pl8`UH_<%@7+(Nvq0GqnKR$q+3n7aySahPc(z)~lD3k5>XlK3=7&!{z&ZmsUiF zl5;I#Um1G!j2?wRjcL&|`r5n%QPICF9Nk-`BUPohvf$uXDb_oPd`;QQ@*s;!lL7;l zqJ)5H+#ZAjr?@sAeQvW{ns}PTO2sFVnBvbvpOM4|l7&rQtyLPCa639d?!gi!cF&K8 zPBr@`;g(rR7pIc^51+#BKWuDbdD5VAPFzQMduC1+ZI?d9z&Flm#f4|IIfxmu7jx|! z@yfzF4$gtNHzLgbVq^xc9rVHSnw4k@W?Cc)X+?ns(>U}>0Xm%h_)S{nbPsq5{+vM; zNq+s25AoF{_(@-lac1NjE?*nrP_2sxKmYef#^_9!1@CrtK)#Husp03lqI(COyN-uD z>U!H0fDlBrgGuhY5{8AfjCSEYLw1XvLfXcS-XLD1CO(=pk~Sv}aYUCB&j5VGs=4WQ z{1FAArvHZDyUw(tg2|wWBj#XvZLOgfMvQ2waNX1w;n`<5Y>JGX^?upNa_&3+877W{ z9>y2_{!`eIUGQyMa@;7e!;{`Zxmx=(HI7Fgn7N}h`z|K?3@uY#zL_bwYBTjEO>cuh z7w|A@Gs#%XxiQq@&74OdPT6>CZs{`uZk$;vYn%+$GUR`;%^+E$kk2in{v@N_w ze=qkZ0iE$yqO}w@WxrS$>BYOnVbF(qj8a9rdxGY(l0<8kF&UEIsGM*>yU*4|`*qU{i8j;XzVcQ^1gMdLa7#<&!fs30jI zi&Mr9bUPXR>{A2)w}6%OnFi2yc4v*Dy{Z@FYQYdJKgpmszlDJmJ7UFoJ=w;mfB=#P zx&*JW8mN_#h3ZuqLw<1CA5;psBj~9D>}XhLP7o%p|r!mVSgGm7<6%7fT^HbteSH6?ZIlz_hP~$ zwdY>#B9cv>{Fdb&axRBB&0C6=$l8A^?AzRm0Z*|{6Nl}igK?D8W8BAU5Z%5X{xT~6 zEn9`d%`%LZzDa^~vdtd`oLo@6lVb6^z|#60D9%Y%b0RUI;p`-p`lV;hTDUM*iPviA z%SPZ3@NA%AD#K)XFK@(h|wnC2@2T+R$#M$0SGQ8Gza{#ML`45IF9+@p0zH7PEpKCzqc#+l2 zL!IP&?tclo8$eMKHCTyq*$9m(77b*oBjlBjD(jYv8&~UE0|I57+Yc_|Gl6Dm*y1mE zON@-wEbt2A=6R^)fx|$HPA_A;y z9^u3G{JDd12JSNNwyCeTUa`<51N$xtF(21mG5cF8;U_1MXSX)sjY1?}iYXw4T1C}2 zWc*bnUyy3nkmE5vWOsW9FjrTI~2 zE0$hLX6!ZrC+}UWQ2!FZ<=Wnw)*JKVP~ghe$5|j1ap;0rE-5E(dT5b4)jf6Z6t$uR zJR6w)f%HomKiEG*VzL4j?pfQNHP3Mw8`NpDpM-D5YyYP7)%0e1GqJ8t=$|!DPP9V; zcTx*=z;W=NY>5~J2us7CR6yFEOLYDmjUNxdr|mT!ab&eAS<==tMwr}|X-s+x7N(#! zSQ&m%z`C*5YXBydUz>`47XC_f?h;n8D5ew1_=;#8pDf%%mr|M*#oNtXFVE38mtE2H z^~^GQ(jYDi*FU2OmhcP>3E%k^E~#t*v_XI$5_;z(0%XPW+^`>;0b@)#m@5cO9-_W9cEIUdI z`X|$O9Qreh=RWj12HwqFy;uotmNXjDYpTWA9kTw^P5MpQpYI^N$d|9vF+OsgV!XEe0w~d#r@kp)4u4ad`mhk_@;_5X=H5! zy2U(Z`I=V?8-boQqO=hmU*kQ3k+AGxe{BfS)1vyVI|X@hbDG#PaM-ZN?TXreHv5Y% z`Y~;4|2$%Kxu($N5ZpWH2_ycbrIfnyy>{wZ4wSz`xQ&V9Dbq~$@^r-G&0#{i8VW3= zbF{4nHJ-HIK>&TpdqA9Uu>^6j)-Kuxfg%y6S^Q~M<26r73YJ4e*5hS1gZv~M-OtSe z|Mjp#n!k?|5=S=JV$@BkfT^8N)|{3klC52AlEjkyg_Xpo{jug>M+D+ptB46Yha=-1 z#5dE!N?Ym)Vd83U zIw>(WCb^$y=TjsJE9!CRFbt@QBE9<@0z%81hOwJy;;YwSQo9dh`=b~zb$zz=61LX; z%|a=Wn`<@$=mDp^O@PyGkjaUecr7Qdzbb4?bC0(^4HeEQ9quXua=aP&7aSy9ut$Mh0fZc zX@@zh6?^hzPjdUbxL>hRKugJ6nJB=*r~AMna_Do#hjrs>t7qjRfeGv8xtDKiCU3cp zJ{u$@33EYerZ}x$M>O3k0wSd$QMaCe7HQHCL8;gv9zUV=R z&susWL};6KOx)(wv8i~pB%9w3V5`k`Ox+67v;YS9@KRE%LW`|Qg7gBJ1Vw+}=7-d5 zq`4lA?_mGm>(yf$vDWB~xk zt0D0QHye5WGUFHaSUr*s&QmF6G#-ssuoOmKxS-asTU3lkPxT_m(pM@D>d7y)d;B5Y zeOeuoiehOj-;PrYiluuQ9=@;kczamsgVRzDj2IoJD~OCO7GzQQSq!-$eY57l&>U zBI9eghe`W&1E93In}B5!$3uHmC`M;yB~AYQG8x|}%xpdP*#|oeB-u1qF3uAPTIN>h zAe^k0@L*8xiB$I5%>!(3|KKKXJ+r0evy=r2UJ@usZlyV$-VleO$AE9Zc+vBHD7d*O zqkm$4nCY@`qkmnpxGYVcAPXxo3G!a&7nt6tiq?LSI_2V&xLM05#_T%RN8nC}w-lyaWGsQ555>4mAU%^2OG$YW;pD8_HOmjbv3M z(<7IV>&@?(@7@h10`{C|ExR=zTfL7d;d(0$+^w>Z zpB!)r7n2c(5aEfanLe`jG(>pf6hBNa)kn4x3LOmI$%4mjBSWKZdzfIn5l@RRe&RBE zHPe@#I*7_Ud?T*%yz$h`UY78V%El4gNmfNs-i$NEHZyP?G1D!mE=K2k%V*O7j6mme`pxZgYJ4CHsb-l1;MO5EoOAGlhSu*g=;pK) zeP|OxZxitxA+gTMv+ekKzd5a8zu%==HJ{)_rP1wNoFIHq7&QLoSLvrS`gtIx0=Is0 z&e>i>(`15!&8%S+&TGfToL3}KN(4waD;&QfrLQ+qqe*4NVrtz0%b|KoDlEC1c-L`2 zGy^4{ill6EXlQo0`Khn$u z@72UI)dTZ;q4xQ81F=didLtmCLBF#(REn5Iwo2}(D&=rK6Monj#W*BQk! z4W~Z)3eI@FdVKKfjo-wViZzV*GWnj%r{uXYNv7dC1@$d?8`<6xZwOUx)p=$rPj4Zb zX#4oxtf?M95C8_dz%uTWf|wFq#w|L_RwnlL%4(^Mx$+>(X(HrjBNL->L8|v@K?)-r z!8ji(i@-pD+7 zUeqo$O$%g0b+@2&w1d0i1ZG@xE{tBsF7L4{m%h*7_C8KR1i=XtNQ|{Ml#wcG5vCE4 zvu1<16ILe^c`3dkTT*aYFz57Yh1Cr2$9Wu3jfpjcx|v{)K0I)30a{e}N>50dDb>TM z2#!jB>kEOBsun4%@9@IgF=+fM>=V&55~+N=w>WRyWr+JT=vPBXRP#sp=X`+?*xG+#VASEKe7jc=aCqEC;rJp*vNw>7l9d_vVpxbGQNeHdQK5qGX$ z&h5+U0bJI|Nng^zg%N|WDrv35M<+`NRxYgH)jW}(YUA5*r+CeY4~Q=!4sCqnE<5tGYmbr?dN<}s7`)fj2WLVfIjj3pjS1Zxvyeehi;WiCjN0brI zqnHUeTp0QO?@drWrw8}5!yS@D65-#2!Oeq5bK}`qVfU&yxPG+eQExg&<%p)KV0}55LxZ{>3Mmx5E2nDL~e(@N#=km6N)D8|d+}kM~kbxqKm31%5hUelnoC z=*f|^&!7M>TbJEbO$Bg%e!d8Be>H&Q;MijF8)We>-1UqMZD2JmdVUHp|1B4?^85Rw z^w$~~lv<*@rZlufALm;4O8z5KKE)-9sK4!O2LtzLqbX)xCkj22uOM`w*^f*5=H+C6y7{vr#)W;ui~1JqHWJpa81%Y$43?zs8TLbuvwn*g`m7KG zHg41V1LgC+>Y_69bJv3dNqjj&`M$VB1+cjyOhfa{Pe$3?T93H-oNBn$6WP%dlj_Bs zv$>7Oe;9gW?SE_qHN#G1zlP6F*IybX^qAL~S$j}O(*hRll<9{e9;0$?4 zn=R0m9OHeWjaU*8(9(Lxtkd$o7DIeATbcHAGsfch_=|Jh>W}KXN6Z`mAxS+GjAWA= z(WQsD5_~Sen#=TJei$me26EH<62kHLi=%+PPn33Xoua^he^-(Rr0=^^yFeum@AB8e z|2F)a1x*gRy}R>!yODMw?ovYHcp?(#vsaj}aiS1;Nj2!(dEb55BeBTf`|!mAKJ|EI zg#*)JSA|&5ILXn=(vI-7GnBOd{nV7jO8XbBrO$7j9_K0QF0v8KeCVVg4Q?}}{RB0L zZ~cMF^kk#rlwTtb!IZlBx;Vn@{_iKo+A;~d`xXeBnIMl$XZZI0F=%S5s}&@O)4*9Y zt4)?&9h36s!l6ZWD{d+-8j9ye${lMr#|0vhNK5~NJqE-aR)(3%+QgpYRO0uFqRxIS zq;HF({OMJFtS9BZl z4RwU4)h^{#SXMrz1>gMq)+^UfLY#)UfxJnTZ($Dtg$9^C%{G*KmTL>SN|ZK!iDJ!w zn~Q^RQ<~SSya$T9gm^0#q%OPr@qPwX(MEo2v8BN2unstp*r{6aRGc)t92MQLvp*`H zbFejlsf{=QjD3%T=qm8J>-;5-TQPc_=9~ZQ7S|kS7v;}N-e0XH6XNyH5MmnsI^6tV zA#XSt+U3bEvI#?H?Wd>W7i+2Y<}TGJ>CvQZXX+H~LZ|_=KWSX0t4nhNj%I#E6+sWZ zVEhwq=gV^h=US};M~Oy$sO(1Y6qE!XrA}sJ^Fk?=^}F`BRY2%j;u#n;M;~X@r}K@Q z_~=*z?<~`r$G0bye?4bB0Ok+ z_>C(Za-vhB+{zI4h`t#h+7_sT#ny%`C({a{07g56!+mPW67#->cBBS zk&%x#51J4QE`R*WiY(4sYYvVBUY8##=}T%wN8(YMhZuu=yH9<;F|8e`YI%yA9uM4?dmuI%sUIrsY zGmbRUV)q$8tHQ@%mAo&h#)XM{`WV~dMV3TShl*Z>Fl+5g!v` zArx}*1Bq}a1bApJ%U;hHNETPT)1hm%+DQnS{!KGIaP5Ro?RKSF*i!aH4x+L*oSkL+ z9AsKGN*DnES;dWxbbG)g&u|%HO2Qa5>~_`49*A0IKSbf+^q+|Q zC?ghA5tKZ}G;ewO@MEf$qh&)))4FdrN(Oxr{gzo-4w0_^+lcZ)e-Hz;C*1der(zCJR zuJgb{MzeRm3F`ZEVtuM6GIe%#Tge2W*cUTDG3dO;m>OPZ4VVz7x-hFRg^mztH$z0=}Y%S~c zp_pYUItX?lVyZ+>gJj8T&SGM>ZErC&D9qQ1+qh2hKGOZs=lh@PT_kH^80!W5Z?O># zxV%`wHiF?buoORWDCBkwz4t===q~76-O83RU|npGj^B0V_Z1FnkY zr_uN}C(z=T|C!xeG|Ild?AD?hg-S_9txU$xp$rRZiv@4M3}VV(;>zSRz5^4!P>1o7 zNphc!fB$5-`FOeRyVA>@d)!`<5GH#0cp2`FLbfQw@Uv*pPM4lZul>(fN6kvP!zIR} zI{2u|RYg$I^Hrr}sgfeg}c z01Fx()<^c+w=%hIwul)AP;qX~Xq#}K5xWR>+r8uK(_t7J4dN!=WrHf2e(~ejH^sLY zAzdghY(zL0+5BC{2>!K+2Pz28OO8i(7{cfkap~q9v|8b7S3L!{3thnY^s- zP)b$@;-O}v&mtlzSupNGO0?ypN&Xm%*Mt>PTW)rG)9B|a&U;2unjk{ax|eebzpDyi z$8$g3jlEl3`|;Q$GY#Qp7VnNOL*sbi?iG( zfS%$gxfmYTAK4JMsWv02ynBL~+LrYLbb2`j?w2&-uMP1%@Za=^1$qx52X6o#CPe)k z{_~FQ^|q35uGjsWOmmN_QC0lcb27n@TXsIPM5P#R-PN70izfpWs{D)B*_>ycHeN^f zw#U;Poe&QuipnrJs&R%iy2#IOiNm`aq5k@I-W;|EY_! z#0zoV8O{CZwbblWD1?}0{G|uuzjXOc+BPlp#_%l(IPry%Jb_J-IEu8rI2V?j!2`*w z!CfM+eO8G{x2vZ}b3%#;eR+w@87b3|)WcwWZCl1_J^S!#-^W813G`ky7UO=6@c0V<*LF+xf%1JG^ zI~Y0ej|r;8ZEx5T3ytE$Fs2rv=+Aaz`|;fPTlSMGZG!U6o31>w$-g4F8Q#62GWrIW zy-9>P$=#og+P%F!r9bGL8x=csTB=a>WpthmgRa-B2? zOLgz1v^S{b?_-@?_Vh;?rm}{f()7y|5_J@GVH$c}^!U9rf@&q=w{w6)Tqri_*3M-U zfAmjb*t4tgt6BNbS_WI(JJI|49{b2Blo_2w4TR$%8{q6m1#h&RW6E$#XRy}_Mnj&@ zjDnw*ViOhM-{|0^QPY?w=c_5nhDvfLn;8M$_*=8q<#OMw|7_IE4S9r2U7X#-LN@&2 zSJ>R5>yHcvXTwX&nDP@QI#_N5OkVbHk!5#Ff>*_QW+(|ODYoc;%EWZ}NII09MdD%h zxI@b-Q6!GU=haSkxt!`{!_cz`t#&ioI7jQ+F0zGe&U1}kfEsj(j(_&0!Sj3?KqG8; zRD~PB&??Xl`NPgkqhXf#sDoJcON|v@isDS!2UtR)$;mxu7Ie6$nRpK!dK{uYPRJ}Q z>LMKQSU3d59QHfddMRVUCznLc)AfzpL$ezuC#NYx|EIDo>>tuLh2RJ!QM2ydFZh&j zs#hP@k0b{&Bz}@J^(1wrh+%sEQ}$MX;$xwQ-kiDDFW%y1jwIA(Q zCWbviA^C?$vO=sv z6T7BcInS39;K~}ap_OmA$v5z8)s}w$d<-59wp656oJc4M`IqJm3ge}FBB&F_301C_ zNJCG~w5QnuBx1*LP(3d;0+Q86+=Zk!TT5A8|yP&#PQW6UXL-N*bRw#0w~`E5czo~PhIysrMYS4nuM@aj8xC*)Qe=%dGo_-H%%i3zhk~QqpF$S(BTh1;-d6ydfAr0avL7|9odICwztQa#ht#jVjeFb7?>^& zw75^gTW3uUfY96a#j)8=mgwz&rM6SZSi5NSIIHH(Lt%)&oP-NfNCxL;3>lu?^`8oE zcAHCoi0%Vf(^TyzPuO3|sNfJ2$eC`A*YIrmV?Ha@b<{{UmN%mo6K?eCj=1l9%? z2xGyqhtQBd*cSu#Q&I~j6Iq0@&Fdx)tqD!*7k~N>OO&{Ua>_o|e2uFkbQJq#`)4Iz zrUK;ogM{zh*w1lc4nw=w<8Z@eim!oZndB30gbC*;#%w+e$b+VScXRpf^)m!XNEakt z`MeV{kh9cHUQ_Hn>OWmN1S58z>$pQ*WJK~5O8#50El73E3 zw9(52Yek#sIVV4ghEEC9bZj)$A(-*gEswXI44J%cCJ;ZB>=E8kQpQ9kUoNcu(fTsy z9o67Xr5^VD-VJ_t0kdx(nB<*pnLc(fwO%|fZXmD8$ytnr&j{_2A}#9w;8W|*9LP(vHt0Co_AUfXSKC*A6W43LNV&oqokt_FXH>JR z>%_J26wY1MD>*z$vwaw)X>BFwq9l#5~u3A8{|IzA}v!BP-$>U`Z0G z5@m?iBPQZ1kpPZg`}%s@(x3(n`MvrTPB#wV(qppIHxc*{^y2DI;n_pW1ro94b+K>e zMZwtvfoS|`9^2DK)PIlmY7Ufu-;4KN%pL82Fe%JbQ}aDrYcW?@noejv5=>Q9F?}Ze z>|*Wg&mZGnscE;typ`Vj=pg%H(RtnZub21VeU6yyt~?Ax8Fux*(O#Sc^iRUQnQHX{ z_DeX$Nu<M{eG&h_kPQ<@uN25L_FF>!*w6p>@(>h&jcIV9%#yq z@(51(J$JymOp9Oj_SIiiYIS*~Z|daPve6X0d9bN&>!+isHyjQ`^m&0Sf84WZ)GgZ(Qr=NQ!(X$)FEb1~vS(({fvqb@X)g zT?$e%rzWTjRp|Wt&3o-w`9znN{g8Q85&juBltyvC9UT%qN6|jN^yxID5Af{2l;CqYN|Vv z>}Rdh=EV1j6Yr}cNFWJnK2H>Af!hI8JDXknDMg*OSAFE?*h~_#;t9bgDsFmUHzcJZ8a;Kx}B28&}3|i{^UdIU=JDJV@j-urJJh}+qYhU zb=GGCO!;UrXTqmai-@Dq(t64BNi7H>ZZRpT3|PlM>8ZF&B@eSz7p(N-<#E3v-(4gp`IzS} zud{ujo%}P#QUwyhMI1~YO1i!fRj2$vbiHL<8-Kg)jk~qQB|vG>qHQS-MM`mZcMa|k z+=~@&@lrfE1ozV5uEAY`Q{0~P{@?e0_CDwAd6Rr5FCdxU%v|5=T5C;mN|4C}fvJ^V z!_XwvXxLt{v_{(cO3VGu%%6u(d`C+yp5y)`uheFfr&&U!3t0ODm&O>fTwWu@|Q&LPeqML)$+X9Y8vhXhvQ9&Pba*cx<`EtZ@#5oFQSd= z0K^TjY0OXfKGpI$54IH8NdrPZ7)`WmEN{g=KN;>@VP*}sQNM4I{D%Im?l}6{W^plE zFjceLKo55yw|$T3oDoX`o*0fC%SVVc$zrz%k`7L*sgB`pxesXNYV6`+cK+YfmSg>$ zqaL4Xr9YKc0SilC6c~IW-Tkk}$HDEBL^Ee9Of{HBOnh`{F8#i9DZ>FyJKh3VNcr7FJu)Uc|&k`*kY zc86S@@?&xU+Knj(@`+bc>I8!!**g5RQyz_C+~SHLP#c-pjgNe`(EOcW_=&amO^Pu< zWQTzb2fZMVZsDr!`cs~S!58t5kmCy`HkDnlxQnj)gnrLlU277v{!!G5mF}_(F~^m< z6V1Cf$FFeGe1i`WJmZB*&-y<$wP&02wN?#^nS9*y{+kaF(A4hX;&>0d@b3iUaKWpy z%5IGR(9VNhzcFDrotvRa?yr6@ae+Rg^1e5NbmkO*VAq`o;l$Y}4J*hoA2jGSnNv|Yjo?w2 zW@bA)0ahMKcO>r&K-4lwr_zlX(6p6}f0O#G-{dw#VM?+tMl1J+u)K+t3e)};flIW( z+sa#j?*{^hhzQZCu4#tK0_3G*g|qOgc?ikqegnOLvQ*c%+C{KnTn^XR8-e>wQ@!17 zcvN=9;cq&k_W>BGDdi^m9PwCvBxnQAC~HghlB9Pyi5i9jc-6=bi9}zmv~5Y3&l+9P za!=4~y|UerPUiipf!+{;Qq&A7jWaRGIc`y~nl4m>!x+(C(kSo7nSivo>Vhb!c28}T z*s}-$L@e2U{Li9KpCuZB9&RjTZgMh(SiLuM&MhneygPECdh)Hk4IgI+{AqK*Uoa&H zJQFyX#JNSp#liFO?O&7s6+ZDbU?eTYd(JTA29C_Q@o(PvJ{w5uHS?{1Bd%dtwo?tG zSSTS{r}&f~-99@38)H=E;y0$-{$I`iwFT% z|D&JF=y&ln19Ly7GZLHWv?s6sZ%top7^Wh5`dgjEsb2SlqH^CXc0RbB)bZ1CyilqT zz2sdiPSD-2KRFgotnVJNhQVd*`8DcTD+P=PY-b zxQ~)gDa%#%Y%9li+Ep8((}`!879}J9*okP#+QTdk|6M?bWd(nwBhuR)4GeBVuxul1W^%@kYW!PCAVkeD zw!#c4m7kR|GU~*o}8Qiq%TzjE{)DN~Psr@4vtN>-zseOFQtry_!8}3*r4Q z{IhzzekM^=tnxb4X#=*Qf?+zL=B z6$^d%>j<PkCWgR|LQK56L6`HKh1QhpEn_{{Y-VA=cTeKG4O_)uZ zx6tLfk*m|ahrejx8B+swvc03-^5F7f`xk}V*-;i@4&Mt9hAUU1qVmycTpGpQmNTuV zKPLmGXAGx}&3sD81_T<0UsSWu(VEC^G2$LQR z>#W9laet@Ym5zm|gwBy1UrZBVV{M%jW6Yz7>+UF!MZJ?^0aXYlf2CGuE^N#Y!+WmPkhFe%c7>5iR5b;E zO{M&Ym_3V-_;n=w&u{?b!Zn~Y*sICaUmY@dFHK94t9=`YM+ zKnsWhPxJ7Xk^%x&+U4{vXY$(SBiE!6@~`Xo;h2Y>$66kjlS6Ojib`mov#%A~)%~YS zb%!!7-=?@5FF#(L>$Og-=c1y0Q~c1isVdNKtI+}J*k=g}Jz$Gxb_c~~(&JM$X;R>4 z6Y+elp2$^cs(!qZhV_3KvS#oxg&NkIGn}dwwk$X)hG~Ic#<)o9xoeJmc1uk$i5~WK5II(dP=P}_G(gZ+* z7r$wf{#%4fBs0USvT*GUIO^^R*NEr`6R?&;MUb)Nw#;_Bl|5V-IZa|=-5&6qB)I?`|^Tq91aZPL$jFQae>q%#6$-0G&UdmyJn%rFLaJ5cXcZp^9&;2@M>phK9sx`bKxKt z0Nt%FoJ$n%x_7;oW(@bACQA_hj)q{xLa?x}vP048#%>A5|R(8{+D*ZI;@ro!6;{yS=#=7JBQ z^57*Y<|C{?>e_YX5mmd1d}Zp#dCw#K)abNd&staGB;FkUWt|AK(?$a2k4Pn0Aa%ZN zWD>N5Xk~es$O2T81>WMgCNa8#B(@}nNT7>6_kA;r*!0n&hXu(Rr^DFmo7## zkMdttg&@J^E$~{ufjD_4;ym~IB42{aS)+0&d|mCjc)U2dW7THR2GK z`z)z8FtHs*Mzf}svY@(SS+JnK|6eM7t!aa|@NEI@9kSVrX(@v>a7#3tg4{kxR z*h{jg@GYbZaGeB(X+ikgC3u+Z#FiRwC?)|((W^OCd^W=IIPjawP}d|DY>4`Kx`a5d z_({A&dvm>X18R)1J?ejxnB}&TQT$6{wl2%TQxdL~&)fsnK&+PJ|C$pGA)n2Z>t*d< zz-LFB96l2gee%&*Wy%OCqZ9$&eJ=zFd}h}Qg?aROMAjQ4va>+f_A|*_S&~unV3t8a zixQeV!9txcF*kKZ`tFl_XBKErX_SNL+=#hRhE<;X^kC(tW_E_3Pl4(NgC+d9lV>;Yv;N zJkdb#&-#gFS|qRu7SuCX@>N83o@h`gOqW&mkMkaLqu1OgMT=~Dp<=_rEAvb}KnjIB z!p>&hB6&PtsALqAokc|DpfI9}hyV4LNi9XRf0D-AR@5+(M`};1P;4IhJ5h@$c8Y!(5~s z_C}bG`b%;+j8LNNV>99urnY21ipZO$TSCNG5Y%$q8W=5IK8)j6ep=(Q^D~@VaHMFKPh%6!LL4YovpaPTrfJa0Pd;ms-9*B-^X`jcGP3V*1CHAws z94kdAUEI=|_1A!qejs_nT0IMJ6>diJXASu)PQy#}GvnwoMP)k8?KPBNjrf%cHmF9l z@X*I4(d}1nH`kq+TO2F|0R5+3G5EtNw}Y!oH)r11Q1i+c-3+qam=t*v8X_0Z#0igJ zO&isqm3h(oe8>?(@0A3F7J@#(gP<1KyY!Q0{DgjvrcH=p-ftzfSoqI)NX>&pc&(zH zVd?Hw_3pY^vS_oyRfU@2=b{n*uqpcQh;myt-okUnM);G#I3?$%1yMaJLq?ixIn{*R z2hr3B!@sTqS?u4tfsO3Vf3sVi(f>wz-S3a9+LT^zHF$`=|2G#xIvDORkSZJe zsLT&nuL`^;pXa7TXiuN2dV$R=tIUX@r|EcAAmLvgvphmO$P^46=*si$gfF`a`>IOX z*^QZu3QICv+xFV+m3xq}lh2HOmq)W%N}-h|;ImF1tmgG*XpMUUZL5p?xNi?6Jy*CC z^3H3}Xzmur{=?%K{@gjKAXv|eUC8lZJar@|{$(4_fx(QGvC@Pc^5>kYQoXOxzGq4` zDm@poI7qvQ3Y=8bT1A7&8Q(d}9BMElQsfiC3`aGq6n4t58w#{LRzwo7=iR@?bvO%G z%@VDrVa|Codw-*B!3W?n4!q=>xe}&j{08f?J6-REL2@xk9O(JeubX+e!d{6>EX4Ql zf_reF%gKQya|F@mhY2z>1OuLNI1Ns<%JWLcq8E?8lq6Z1Xwtw6M>%Uw?9%H_uGku)}QkJ(xN0>SXfT-x2o zUp|gkM~#y$j#tuPxzQ2y(WDHe!#kv(($hJ*o7^r=3*|$psRrQocC9n4;6uOpMfY5_ zt4X!~Tq;vOr}y5!*d+JDXg&|P=u26kKzclEYLw-^MTv72awus|5um{h&15|kCj`iZ zen!p5X~6djQ*`vU>=p?2eL5istgE{FKww@A%jw}Yqx#Hc`QkyLmWJ0!4hW6ec!1HP zy89b_Kg4<+_=!Y&KQ8QY>?2n_LS2eTsqi--)>BtgQ)@S>u^xX}B=QN1kWFm4rhsk1 z#Y5}0y0{ynlAoEztg_G}7rb|(lph#)oeky+z8i|&A*su&KDD?UD;#vuGbjKwDxo(k zH}vF7oGiPIwcDOb9Wp*npm1GPiY6?^ zNqDq=^Gg*w@j{f+IR5!8T&G@3S9bu#k;~?`>(QJ~&Y8HM_A0Uh!QN#B)Nm7X()Gws%Q< z-U0=ygd!&#lDKqlVW^|pS%lO4&mx)&L5kwpxQ~8FnaK7dIijM+!iWq7ph5K;F`LNq zuDf97!`0EK5tZ5w^Np9e z%1d&!d?*rxot+(h6o~vGG~zv7S?3g53S(6-2%=81NC3h_<(wfHz1jOX5cYE$?hbT|?p!xbc8q`75s?xV8xm7V;H zvF{DNW0jG;XkwQuRp*wl1EBRA$PQ>^N5~|0878X%Li-G;Q|L*gr}Q0M{}R3WhwM-S z%rb6cPk1~YahMp)kM35zRC7g|4^1f}G<+~X>5uY%Do)cncigFp4G_rP@IH??NGO#1 zX(3I}F6^!UXG20~@&jZmg4n3mhOgzJIPL5%kD9QbheWbB!-sOP_=oI`;zc#X{Iwcc zNkCPOE$eRJ#%1I1gZAibYSPH`(V|^lm1%r$M#kL4i{*(Knk(6kP3aG%twa$$pQ~%d zWvoef_)~FECgs5zr6%wx0^{#AQhLYWy4Sdfas<^8RoCjFWWnm~n!_zmet0f`f?ekdwK$z5Di48ADiEXj676e8~fvm@Ew$R)%wg!{h; zlYv#3&S5fW<~+8yn6tB*{neMihw^%9k3Z^K;b(Y&zG(d-qY(CIbNx?B3!67{^($rk+O12O{{0Y z*FL@-|8+u*_L0hL#Tb1|{+Z-Y+U;$mod72oL%rh%cgvk4J`Jj{PgP=Gjx8s|qsSOu z+j%tbwMB~rK1UtmKsSVzj?7!=&5#*J)VLLrwHK#6_h>xMJLkCaj1$NArFazC61a3m zeza9e=zR3yqb=F4^Z3ZqkMEu?bsVHi77|lD{v59uVY@b)rA!gT{Ddrme55x$H1!TV z{sL+@^5NHkw@2Kc5Ila?5sOB+p&&v?81vIZ=V~yn?=Y0ty3yfiqE%Y%N-g%Q9xWkp zZ_iI6fXWu8X$svwF323oj2yXjvm>=;vO{15wzK{;V4(F>i(faXxs#yWFG|*yNPxlJ zMPeR#lpi=LJt`!&fI+kR5{$YUEykHty7VlD%_#O_VJ;Xgcp3_Pr~QmQ6&vY=7%|eH z!mJ`j6*EBk%?9uDB(tW!B2u;~UoLj7q~8M3(-q1z{(4**-q)Y@%`a;C{0LWdXE>%G zb%FnU<6Yy5WC^$0iMV1|>cMZXCVzMb-$?`dXh7}SeNE;IZu&Gt+@LN+iL}8Tt62j8 z>fkV!Y0ud*?SF(VcG>pC&qX*_mBq;HNr0cy>X+!bm-`)t@nW@fKSExBGzIvXBaI8k z*Vp%#CbcY(QkOjmE43mw%IN^7zow7dvbV53f+#_s01FTKYo6FUH#D}X#T6oBUAgly zE^jjTfO1Iw6tG`b(5)v3_*`5=PVk2-oOx8*?9Z3GZm`#2rK9HN_NDyMzD%e~a|9WkTCOVZ&Si}WA&C%l zZJZTr8b4lfo7S%8liKP#v{e{HkkxnfrN@ujUF36zg}N?WtV9zia@UgPeS*z5=BPID zHcZ-Ysn$B>6fogsr_A*(6t5V<6GQnGi8TH`6_ZL3yR)L9y1ERB0IGWdn;b>4h7(@! zLqVu{peYGaPjwS#c0L&QnZC9x_Kb>V7yCg--dM6VXX;kiasla|7yB6)+YKw00UTct z7w!ddi!=^{Xvo#!f)-jbuSA_hcS(GNT}!?!AqTIMt^y!WaG(O96P-Tb2jqEG<}cJs zuh&dFZ+oWvz!#*yO$VogkyZ^NZ`Kq1)IoM%f~VB5>)1pPbjxB}+dvr5(!)}5OPI0HCEa~jz1-mYOb35V3%19*-?`c&_K zcCE!eZmM`p8r3L~Qe)K*y|@owJJwnH%2Zu#CNiAuzl}a~`&)L$UyHw2!llc`KqiL? z%(}3a^>~*q0&2btC!*#ILoAmfiuW3?k5!|L_WMZ`C6FqBE%`qN3Vy8h3*yk~ManUd z;8mwCIVoI{_?}9DZ`P&;@}{5nv3L;*5?^?Xt$f+X{B~ychViC*1hZrGoq5@JA@!X^ zA48zD!nN1lzHO}xl?Yp&w7=xHY4^>k+%48NntDVYT(pah;a)Ub1r~u;1pdf*QG3|IQ_O_s-*BuKA6Z7c$~tbZ4y|r>Y^k?QDj*CG#x#VHODe2QGP@FIiudbfXf0~W_mLZZm>R-eDVkzy%0L4IT6 z`@%%%T#u(T5tbK1U9lng7k4`!wcpn<5T}QSAGp*r5FdnvA0S9v_a9{>q*AFoN%Qx< zt%`x2ot+Tw|1dp0OL#hOVET+rk>-cem0(9~2{vqWqR-$q`}BC!b1+}4#~mD_1J(fi zX!l(nbY~@$%^2Ib#Z>z90~8%GhcSJF^*T~4^Q`|7>^*u1bHNuD8OgqbXMD@D`Us*; zIrB%@Z~ktqa-PfHMUeQk-%f~7;p7_jLKTjJ-4GRN*w1Ow%y_o{ceEdaY|YRMPVF=7 zSwJdwAZacUz(Cl33oadYnE=dvqd$_yLPk6gPMqp8esMV5GDnZ!w%))~Du&2noboyC zzBon6rf)K=6ekF(NI92lV$`~8QbR^Z3MJqbN5Vk2ls{zF$S8gAyY6P6iWnMWrp6dK z4&kv0E}6s75M&0PhUsyOqAO-p4J)nrmTwp-O~0Em}rmTN^HQ!bGz6ox9-n~AZ-gG#0&T8&2xnBN2|Ee|_rtrq>ttY!Wll+XL+Jb~3 z*nai8euqpuE5}SJTir^JDHL-mDvd&vFT8$^!Q2XWSzkc8CN7~=zg(QhP|tlw#&d{~ zt?5`HMpY6-6e;PnTJV=ggQPLuavW9#WqXNC1nGg}v8!*dI1d(9{h7_qu#q1NJtFT) zjAhz*%|JsB^p+<(N&Mga#Pu=d4~y$bFy!IH884SA02MM_%(k|+1HPQPb;T9>fRVr$ zq;G!Qg${}{65#}_D6cynxn&_rJ8LhEI*1Y!fFW2ZH731L4O;#)btZ z9kxgWFbu@gDZ8sOpczXG5t}n~zch)#AN{zQ8g~(|axc)A`_yv3LNSXsEQwI~ zWMe&Zh9O_p#F*-LW0u z^UY8zhEF+MZSbBbZZu#Ec)2!`)!&XvAka6rZG~C;GmiNrcWTyq_s_zMTglHONcwl5 z@@U(hATw;0_qJzzYu$V9^}F;TW=IPXjPeafNd2o`cY-bDo!T?VWp2v9;bE&_2Fm zo22xo;Z$zLc`2{sZV1c*0sD^%v7XVi$LJ1I~~I zbR2gr6P8Nk8jEbN;q>Li9)`#cD~$j?=uYev z^^?UR#~|~rzP|~mB4l7>%#q`0`l)eMNj+gv;KCxn+3&j?>59$Bqj7<&6nU25L9g*$VxQ zS^1WL4Gqb`-u@lRAH?$u)FzJc1CrJjH(ZRq4a+4S$IH~z(7$X!^7wb;$e|aFgg4O) zH{z$G&4&Amh~r-rKp38uqks@$+9W0=4zDR0P2OKORW>2oak@-)!BlutyIjd(7rB!s zebGqTC2H)s2Z*5cjd&Y;nV9=WM1VZ@)LFcfJ{dA1u)*;k@LT!mf97j-a)M!=V2i~g zMkii~_fA9k%K}z8(sy2&`fHzlCrbnhHRnxnjK#^cUC;Ic12o!&Ueo(u+$I3faw>=^nJ^)(AEyHKA*helA(l zWUf$(%e5V4k|z8$`qWu(W#aDqWVXtw8Yk=b@1w|2xE+`#mmv#nj5B&G_a-7fG1)fE zgneah=i%teKR<^m&Tf6H0vs2i=nnW<0REVC3=9%Sc~IyMqq2}Fx^EQ&5W>SLjbR&) zuN=|fFUDVh%u?@QOt8ToMD13m@Qz{?_>|P!GYo0JQ=#JXT<8|a;?=?RSmj1cReQO{ zYszRcwQ9EPD!F}>%~8|oe`xERAdzD*i=4aWm?+&p#)GMy@KFBlfP-u2HsVD`Y_a3G zgUdtArizLl-+3NBQSRNIPW2nHdin34cW~USkc2mTP&q$a`26On!}pG7rmV7Bzu}o# z<_q+Bal_Bdzw$czos7E|O;npM^Llv^`l!QBf~RP*VGDZkhTYV`H^%ECXO8y#3tb^U z@c>fSi0Pw&u>2V9`fudkkod)ccHesujZNOrh&@W8bpcacXvp2g*Q59ZeE`>X*QLu0 zMtv3j9giMi;07W)997Q)?%dD&DM<|-Q74~{8>JnLR=Cq)VkbujCDL019h35Kb)-M5k1gXb9OE)OHse2jAWg zKyv&hFfu@Re1AJ6H54sSn)C~P4TEkP5S$K`t#*tV77eH^c^kP}|= zvzVv0BXMi79N|b2C-5X#+j?6BYrv;}*nu0hU>?2Fxp(J`N){Lf_S%7g@rq7zCWXk1e;jHC2UBK)M&F_ zK6xL6M7<#P;q`MGar$uGjH6PO8Nj7YnOuus9t@4o#xCjZ?&~^7JyD`}7rQ zLEz?HkGa7`lz0fhYc+`O@FYt7uCuxl6Fp7~%;VXJ9A}Xbb0>@6Kegp$JZGgVcV&)^ zRqG;BGeNMwn|4ZS!PZ2xrTX3?mmu%W>%Dcy@L3w~=Tw5*lLvcNhQ{TN;2~PXa1iIO z?32cIB1pC|41`oe?A2S-I;MAVOTR*xV?${SX}2-U)GS{-6$gGzL^VZ)0__|rkbWcqfaz_ZF;r_ki?)6?_C{R%B#9KC> z=Hy0+>MwT+S!$5l`ghm@Tq6-HdJ*Q8;BUl!8R5@)?}-iwa66wa7jC9eRxt*L{QnG^ z_m@HIq5omfDdARR9gOc4xx2b#HR2M){8KzC6=UVml4^#us{~T9%V)~NzRK{0R}da4 z#~X;4ptw|SnFbFz1o<$#l6};1L*LwA@$ASKjSPuPwp zDcotC1=$Y_$0i&Wzo+ku{wH-_m0s-qtAj$6K9SsAwb`Bb5+VL2>PIaH5Qz*4!aK-C zzE~+sja=0Itz-mC>9)xXy~w1_X|ctY;~YhJ34FvAix7vJcKTQuqLPGvm+gC0(z2N- zr|T}$oGV{4%55>S?e$xA^g1KOLpj{3NcgJZ`GN^Gn@9(`4X%|EtzCctya8Bqz-C zw9#IB!Kv%NY<$1xEaNq$97{ynFC=b%HZh*tjdEHadMndC4z8floXW>Sjw-2d@|I?UA!Gt=`6w+|lddezcI!9tGjD5>M?cXGkCFc>qTz)n3ni>gl2AvkzkzqXkil=-- z{_7maxY~@v0ROpxA-1sk1+(E4mOD$B*d9)pP;!OiBiD;r6r;|ts~7bALQ^nt4xhf% zi`>Vtuy8Ybr6zicq|I+)gIG2Zcdr+5zkx@gxM`OsBD9%lN`m6dKeb>kO-=M=wcc>Z zqG+?U#AtpW5_&L@EP?eyaRf0TjN@-|$z97_b`nv*0?{FJk*>#)=>_J+KuGDE!FPmJ z>y-W1nMRbdDJ8mFJ&qZEu<&HhI)e+rFUo8juYIOPX;V1!?+y{_KKDSpZfkZSMzYnC z42q0}4|^y3KN<_qcvXzkc$L#^p653ty9o4Y*7tZsy7jroD;QQ(ri9TC*;qAtJQHL0 z<2A_T`r<^5Qh~T}+0n$Y*lFzh|MVh6V)7R`#dYmSjj+r@+?cyu^Ly_4Q4n%ri^AF? zCszp#=xZFHYf|3S2S5$Ve)G*#fo%kitieds=t`<1CXxu@-BxpyDO;c!ngWsrLUi`b zxc6q_S|7cMnAU$`GXyHw>7Pby|ID^GBg^%15xJ>!Wtj+oSm5yrcX;p~ocwxkqTwJG z`$~a3uHWH1k92xCX|};z8Ia7Sl=1-}p|8E&#~YI-=}0WKm*X|eb*2AMJ-4nZH}|b< zYPaAkaMts^AEe1L)8wnRK$g4x%aJuHIY7gD$^x)^;BS72z^v+#+YX89q6xAoZ5MkFkKBH1&T_r>fyVQVVsb=uE>I0ku7gEP(<8 zwYSQ@SIV<6wM4Fp4)~`;;Kk9Sw6=K$e7Xn>P&SOAHhTqwNT59#172Q$h(V;TKp9xT zosGSBQBTsLs<)8O6R=#%@Me1R>sc#ISQ3e3E&a@Ub%$WjFE?}V{6~n{pP${_SOD(Z zumtLH=F%B-Y{=@}=Nn9m$ulf;Q=4vX!hXJ;Hg%_gQM2$vS;~RRV7+TC8z(AVq}=rm zM0A)R^Lm7&k$)dm*Qg3*_BZrRL_wJ>X&J!Xs`b3UU7nxu1qm2|L)v+PjSlyqiMVt=FhzbrsiY1)QUi78_fLYwiTKW!QAFptc51U$))%Y( zpu~VVmI&#^9R@@z#-r6{nt+*>6$d{z=!tcSA^NUeE*IiFC#Gs(fJPagv55n1B?`Y8 z;qMS-Ek!(t)^)l_u{;{Zt^h+IvT6W==w!R&CrZT!R6q2gM^ebUOla<>V=i!)eF!YSmCNVGtNGkyviXZv*vgA)4|3Fba1vRzFdw|{s$3W@b zs=kuMGYeCzb*W=QiD_}D;Xhzr?7wJ_)jIs8ALrCWZ*0%7WWv{p;Kj0$JV;EEUy(m0VL4GjHoKAqetzSGhOqaNj@Vep=t3=_i8>2Yq+?r42hD3?QN&*dF>e>C=V&lxm;j_gi`5Z!17{fk2Co0DZo~ z=?%`>bvG`j`PE85z!^1tQ?l$^TdTLUY;uRYyz4*a2na3MyEI8fLZ+G1lc;R*H;PYw zAXO7+TLju>{FFm)g2*(>1G$6PJ5RR2_|_(O+u_5&hoQ>L`b+JVp}F3tdV1PUggSTz z*538x|1E}&;njH+t9a!XdxpWOnu73dWfgM@FEwNX;`cuGve!~T%=fo)3IhcwhH1=i zN$PIsr%pcT+|4YYL$5dPxxYn_KWwd$4^jv>ettV8{rNYuTTc;X3ZQf}1Bl7;1%Oo9 z)_kQVl7?+eHjs7GG+M>vzXHKqyuaIdJMD@?joJ!uuexoLM`}?%0@se1#*03B)f@+5 z0*p&{Y(N>C?yA?_=@n(3&QiArIQx=2X3S^&C z6tT!OpNUuz`+WDi_9#vD7B~4Zb?@OTniT&gH!D|gWa3SPJ|A4 zjr^#h>%>lv5KzN{m{#z+S|S3F4lQR|?Z~JEO0~}JecxKmXhcIR+8nFfrDGI+w6y-( zY037H3vi&i<%%KRS<~^VK%ekzu1SJNFpe)JH9f4KD;$GoZrzTTvkaWN(9!RH?eNxw znfY7SV%N}5I5wxIhue0XWHu=fv40nkp)qbSUD1>g#)xqf@l#;lklE`roNJHh}35QXZjD1PL>TW1+YDJ33E9 zxXK%M37<$VS!5L&yeO!?iR=LyJ@Z0m&9wj@p7vFUqiqNHkoSZmn8UrX4lG~H-xF%nEfGU`L_vLCKS_;+g3Rl`YK_#&3R#HGLD}_F?8$IO#3QS1I+zEXw%$keDTFpDTL)&#| z1JWkF$+@$N`vu?gP3d)h1bVPNfMr!XHu+N6KW^@6ZrHG6QXBlEj2Rt5S^YV!Ow~;| z^>w#MufE{#9yg_Zjd7~kpi7D*oW>ev8*l!XY6+T?w`>IDVpG<7`nlSSPy z;c`1<-qqe0tBJD3b(t3mX}&^H#(~Gu2v|vfGO*Ga^^+ zN_L53UqA5m$Dz}joZ5PKoxPoh`jvc@IXFUJ85cs2Ua#tvjANTJ@xw%pr8s4R0iAEZ zJ@foDEsye*(%eau?MA)vJ(;0b9-<=e;H1_DXJ3BnE^NiMFL*PNg7V8$C|BHVfOXu~ zNIZ~7Do0$nN;$opz1~mof==p)ZgbTv{{zEvn4y&rpeQsoRZi^A?;;QDlRR; zB%X@az#(KV)0vd*xt5;dsl3TAH-GM8ix9>VlG|#M>2ac z%Zh5B(vjo3vam@k+^)N35rd*HK96HA*}?C;g{I;8s3JyA7ZH|<0oy(YIh_&8t^OH5kvcn_M)VbYODjh2d2 z4}9lm85ycx@7Ae29(q1_;!*Ob`k5Z`R(cR-zAdtWm4A?4nk0(XV~i*E^>lpkLMgLn zF9Y1ncB$u#_$#cz?Vi9Ar1e>j^NiBqL;14{IqqD5bUC8OefO3SY#ozGX__iO?2F zwHo^wD8nvM2{TC>Wd6hr}D@?qf1ywGl4RStEJ_+yk2jYnr<7vqIhK`xV z@fWuCdSe&m_&3)dBH9PFhfAI-z>Cfe0i{1<*s!&^sq<8Jy_x*HIrSJB%!d7@eg1vt ztOlHMZ)9$Z$0|7WKDGHuw*eM4YhC)tBr;a;DT_2f48@wp{v|mr@80L1p(N`>LfALV7&;V>v#(z5Om!jfXsyo;;hD*FJ&Vf2w+&FkYxHhf5or zxq6)xz%AsfNT4C!T0XW3eI*AQc3PZ($jVPci-JW(api| z^jTgFQPtqnsXf|a7&LdW2MHnlu|Ml{C32f~k9UXDt$6QbX_)o2H|A#jplP{`T$8}`rTv0#HXzU^(5Nx0 zF{%;|Z{6aZqcu_{&@n9eOgmxF8Pt8QJ|`LY6Khn>$zWQ6rlBVMrg)=9u%?Fdl@MxS%V~u)eQ%4gG}9^v zKOCczyi9m=Hg2xi2_M?eef)iv*C8HQ#!#PKL$Vd$#PxcG@pyHo7~}i71c$;-kW;H> zg8e}BVLwIXdrWgG^#LgGtBICx8tl6x3D6OzdVi!~{ig_-`|Sh0UB~{gYRU0LyDII} zMYJ>i2Cb0#ZP$!9@Rno zv8oV@F*)7B=2j9T@Z1?Yck4oH`3>l!tCPEGMDtv$VvFFyv2Qt=DC(V7j_9VbXVT(_Lh%= zD$Z2`%B3NW5fpBDzy|3CV|&KckxNb^R*tNTw>yoh(m@if&*CHkd6i58aviJfmQ_u7 z-J*(#ydWTD%+Gr}fm-)soB`=jEVkfkf@qCEj4T)P9G7>b3}CF^0?eAol;&T4--<=z zvpU-|H?0s8dfPMG5;u*jt|%OH&&_fSeKoqN7dqE+j1(N<`+VSadNa}0kNI`Eh~?M@ zr{vk6iSu^YRn<|p@h|Q0Rhm)ohSGC>xyK(Y5XO&=D(AIqHNd;CZwKQw`k|}NtVYiJ z?+&XI;3{Hx#>JXQ$X`R|Fiue{(l1&i~r#cDnlm)tiiK8Q=dc(nK1ZR=q* z{zl*A$x8a`EOf)?V~s#O1t6kOhit9BoN00UbtGW0>L8K*j4fv)STE2_P4l2wB|rH8 zqwBrH;cDNmVI@isBvFG=ljuV9GFp`AjLslPh>{R}7`;UsM2m!VDBY*X{^GBKn?OQ?~1I$YKmC{v+WhmQ=#btuVsgLth?8B=Gnct{=&}WGA zYsn2Akj0qD$Tt?pZ!647RqWbpd&2XKQ|p9WPb22$^XL}V{=O=K4+jjLC7YE_k*(6* zEnw%c3v{eUN?c%by05lDW?Ix9BqlP1h7vq2=j*JHB_ljxQp1&_F#{ zuJWibcHOQNKKh}*dK(Yp?3J21kCW9e!*p+l>mMHq-TxGYt`^$(wN!4YI|Fib$T$Kj)80Mc zn3#4}qL`+*JdL{_14cO5Ene45USd@c)<#nC6p0G^-CiGw3Ad>)KP2hl$kh2@zFyl| z?ny0!Yz4Y&;OVkjgWC0DY=4A3UU@nl5yPAY8tn$LjQ=$n{QaS#;YF`q-xQHZCDww|ncEwh;wV;(dFyQkT0l|;iFqcwWcH=bAV zOtf!k{C%|W9M1pzRCkJsM>2fVDdC?{D}5*ByReub9qVX%O(yHN*?Kp;r@K~uE5O~? zcp)#6B(-rf=rvsEYQ|`s-lQ1L%FE~2bh4d?`ZfPe1x7#*;h5&^x>0lHbJcb>ca9M2 z&uP*xpq9Xx;n=`dO0v>8s=;|Yf|RvG@XS&LfYImPr(-S#NXkB&-5@q zc%~N8`ZaJUp)L|o{NgiZsXCys0l}%pqO8Nj2+uk<(}0pSpMTo+w!M<@2VgN?zr=oD zg5?V)=gEJM$gx9RMM*zTIHwKdYvWHVzpYlNWPU`VSA-pLm_Zx^%|>+Qt4I3sXh;hB z&J4zVK`46H-wxQnIU1I-Tz5>iHn}%8QT^=xH9>_M_ACF@^E5O^z@4?>S%B5$i~u*f zjsI2GVFpP*(20a&<6=}VFr9k@_ihcrKF{w-zs+^`B^Pkq4Cv=IA@Y!#ymh3w zS$i&BIHiLZXBqyeQ`+D1It;y3&o{@i)ZJEjl|qDw)sMcb;=9U0ihJs}Q)TMonFNC` z2#{?J+t(`;0RHVCa!)&~z0lSiI3(I2A(b5+wL{+7G%GtsHGsgc{Jpwzoj>cP1g^zf zE5MtcAA`Weg7q6-@;uLAEFlFcjwi&0EaR-sPshyY^rt<-O4-i50>H2i@XVs~uN5%i zM}h~OH^5+?y&sA|{!c#2cOy{$zZ>xnu?WcQsOq~gStfs5*9i%MEErJ4Gyw0HdL!61M)N81N>XL4;CK z9eMfN^$9s!zF#R`2$qukY{ydB%A6f5a2-3qoa zp%qnG-2}y~eYI#cM|z1L_*W)$57*Hj3b)@jUA2~ek0h~bcmDa7Ly@3D%zB9s`Oi&n zGWs>tJl8kl%D;x}6~fm!2iK9Yr@Nry13=*Ihfm}Con<|TK}tTa(^ynO-n&a4_$L!6 z#^jsT7=`Crz3Lwd`qlaEx}~S9=TI!;s-XT9*-8->F1s>a%LnoL#rv7v?>*DA`-khb z`R-@!cS51)y48S!y4S*IvGxX7tgkv5o7wtS+ifKLM1V~%uc~nr{e6%RLrrnvUS?rk zeX6mF54Of$+6?@TFp_ONj-cd9bBTQeboP3%#*E9g0VqC>HCVW#lQkk1!~X!f&uoal zZuo)}Z{E1w8IK7qmn#`S&)9lK3?i?Ay%|>Q@%-^KVTG&>*5Fsl+r6fw@HOQ_pXVZvq3KoYpm)L#3>> zH=gx3+V;L?c=^l~IMt#u*R-5N5`(?-PR;P?ui%lxTo(hO2FYJaik}hUjEsKB3Cx>O zjHtQi3oldloZ;j{t5zSsJ^w)2`g_S~emYV@Iv`3dZS5 zYKH|E%|8y6@q1ddK0oe3#4won&dtp^1gp%Z>Hw-A2W(xP3m1%}RlM?DGQ& z*Wc}lOTChnWO-SxlcQ8^=yjh{VOAH$IWm=>Vvq1l*?TR;2?=sy*i7LMk>MvI{?rcX zA?yY!H0l(a4I?Gpc7y+{R6VfzbiDuN5hsVACkOCIM>ESQ6~_sR{*DvFZ%G7Gk6VQN z5#xe(OyV~)#aJM z`KtW4qa-s^a<*m`K#PQA!UtZPOGOeHU;>gJ>d$B7?+~>2Bq^NWq>#50N}v3;EF6MC zXGDK3PidgBnHgi>9pfo+&4MzKrMzG(a*e1-SpkFgca*OMl(mWoP;8xLJa6ZcKCpLY zVgBOBMWGrnaK0go0y@+T7nqwUVk~5$g%kEQS~aVCDS01jfs~ZOEdD2b zQTGplG4V)%_wrtcTbQh2C1kqlttF;o^!i6RDqhp6fQQy4mX1eSZhsJr9|gR$u7Ux{ zcPsVmGx?qc(4l#lMA_HXc``7?S7Qs+{Fi*KVlxDia@~(mSxwX!l0;9ikORqqv_8iN ze_Bt}_A_sBSx;2YGW#@3Ay7)7l6X}oUBeTpXZ>a#MgTBcJY1h`HLKgnm-t{j=Dg8x zT|1cw1!lK&T|MZQ_e2kV7uQbxYC`@upM}r(b9)$p$MEk3HD2 zAgtW-reG-DhS61rO9auzUu>hIF8kp1vF<2Do-?!PeRGyyo0BB}R*`6Wib|PiI!iwD zIsE*6+|xUf+!ChWBdDO4Hh8t@(}?wUvqm^auqyqfikZRKr0QhS`o!JM%6q*GleVU;8OzYd&*4bM`yj|y4bmri-zC5)lLsWW^{d-{q46qF%$>S-@;-}EXhc_^Fmhx zMCXuik#mAMu^i;76$!z1jq>|=3S_+SCp*ih_mUY0W{_PTAhs)BE9vhZ-{3xjAw1|C z4=-ZmMbaVH%pYEf#y~T=iKMkQ4w)Y<*f64p3frZnYjtdE1fHpUO(rO~oTfC}orR^n zm)tn2s#VWYO zD?tCleSeXQ^y7EK(bhkht+Un^B{iVCoV>gMzQFo#^Q7lYtTKTyb7vozyKiKp=tRm$ z5{|Ag*a-MdDctf#N5*}d|0|QxLZ8Zma!zv4wH4D0X7NhRDX(Gf-(BU=HxVm2p0FijzxdQ}dA>evX7&Dt^ZqvZ?D*>ukRAmqg{?$%fZ-&-Of zsv5aVit3|i{q9#B$7cuFszem2KTRD$Iqy+PO(c3z21SC7+fs+>Mjn@e8M|p?97iQH z9nM|I<0rCJq%m)WIN31mi#A?na7gnKv4v6W3FO)$Nqe-Mj}CzIltngwuH?@=$G@pI zX>6LC9n(B54G~C|JSIs5GGc{n;=P~Cr{w3BB zkh{H#+Yi^>jlKPa#S55>mh~;k`-WQbTnMGKTwEB5=fov=@aYVlcmHLTa8X;($il{( z(UtozU&oTnG4yA!egLSXahbCs^+AOZmWJsr{X!~I=4`Ui-^G|Xas z$yPKbOjbJDav{G=WdeS#OdI2o>}#L~)ud-LIDLEMbeP2}`eCtFRgjFq7`s2yBf}{| zMoR-5!3qQD*20K-cfVy&Nq_ed+%iU%LuWSmEB9B&(GrLZY-6Mp``zBWU)u0$-+ji? zYle|CwJi@N)wiBIeGgiHbzUaR)sDiecru^xLP_TO&p4$P|{| z#u~d(u{`A}-qIOY4NVwZ(^9>D>`ve+i~J|G6N6AIa!JwvYd20uWpmy72ZeT}L90JG zt?5{M1VmZF3xe(yY@1y#mGRG=mvbnN#;~5YWwXp-9(87D$tB8WV#_~7x%$V+@U*LzVw9M zGc6^QdKQL<-e+IkXxWOWS!=v4`uv1 zW}n%7{+*8HjO(ypTiekkCtLsf@xfMy3y0CU`%z)a<|JoY%6T2m3$bb;t1NP#98RcF zuip5RPdyh5jJmlX8(gomu2;vd7O?GH?H68qtj&x2k7}JepQ%6gX9&$@S1s8a;<(vd z``eZ;>DQ8$*C&Nz)QP^dvTW0joeo=MBy7u3ow?P%NqUuKc)F=GCpooo$D3S~K41$j z^o8fet8BeZr{1IvJC#!Xx2mTHiD)lI z1Y|94gB}gcg(qj}A#oWWRg*>T)26i__9>l*)17HN6j46!7xJY&Io~S-wzxVx|JmZH zb$NMr?Q7GZMV+IcoQ*)m&rMd!BO<9i9Df5odP6?a#-cc)=vS>UQ<7rVf67e~%_M?u z?(L52;1X1CvRw`ToQMAXKxs*R_uC4jJ-#U7QOVK3F!^@+?&XkK;{-nWH99d--M2)~qj$XQ4~eflIuTgUL> zv-4)SImymq-8RkB@h8|vrBJ^|1f)JnsONntPKn~@Wik5W&wzfX9pYZBRvNLS ztdwl9_gOeNEN$of-CXtax&9$xJVUuguPQ#SN03SgY>mQcF=B>Y3{R2`g3*LC<_20b z(4z~|W4ZGM`$r86w#QuID>oTBX;P8k$^453~+BgWL#0G;;eQh&8!6L83! zn*Yv^l*)RGMJ0~z5%$bTm^|xmtd33ufcF+di}#VS5WVwp0me ztPIfLFjwhr6x=@MEesc`ZUsUtc}vmJ?@w3Ptz7YV0=$b}J$Zpvz~fkTJOl*e4e{n!;%-fsF!O0S9_^5w5wssg zan~W(1$L#zCa0(`ZGx|=v(ZP2=hall>oFu48{dqy1bdk zp9hM}fQ}%AtjJ6X?MD2wj>75lqD|RQy4s zZezBGHIJW-l+QjDGL}5e@macv>>PZ2x0uJcCGG9%>nm1)I*#OHLw6j$+zpH9T*$i1 zUe_#doA=!exwIk;y3VHv){g2el#G`y{PcV z&$s4$-|9V$IXh=V|6up?E`%#|9$744RT#&zOv^wPTx8}}!Du3L)_!#J^ETb0vq&T~c zA1@nZ&7N}-mqn9^6C(@nn=ttK`kU3VIH^Pv`m?10e{VaEj`R}+bVoh3+G1Rm zUwf0&f7@7`b5Lx=^TAYJOAMC|2?D$|QKnq^#Asr{TPcSo1~pQuPQLT-c^i z$ngS({Y|k$vIU;d5n+as)v~S#DT>}6uMwob!h58nq3{_$e>04)Cse;7uMdA|zA)Q2 z{Zr!7-X-Frw^z@2iKD8-v~?;1^(49UiAbLiuZhryOIWR=X&GiXQOu@{&FTUxpNF>bUj|lkXY@^II{1_wcX{&`l`9;EW5bO-E9WY{ zBZQ9pt->ifbu_*S8~B;vqL)R}>h>-ZH7}+t)>OuSvo=*zPNkOv*53H(7XxauQ(20}v1YIh4Yag1DIj{F zy{6m$Dnzc1tF)9lASr#@# z$9wJ)5T{L8(QuI>sQU}#x1G@YzN=p?gB-}t(xm@-^YnYo?)k0nmk^bX$d~SGpSVuoTkgw+OhXN9h3+~R!9p*q*YZ36$3e+ zY#x8oj^-jHT$xnD|hFT^D?!oqJg?hWw#;Lu}`!^A%51>$e$r}A8zxm^nP1JmA3)fXknU5=M z@>X#qTsAC$QIp0!c&efr0>RJGYdxL0HAN5CnR~RoTZ*l;T->8B9tfzhQ!Xb>Y)ldd zmb(=RajB^@FfjN~|6kQdjLse=9&D&g3P59@nMQ?ieP8 zvhWeSp;f$L;ucTZ#M?w7!?#ELuN>qbWr);+(--rwQ?kW5>~TV*qv7(p$EeaRd}~gk z^`TG_IjrmPyLZH6nv%{MUi5YpgGw~aL2`QgPY&H`NwYtEfDOjl~_;!{-Cyh88AyMb>8<;GMzR$Dzt73Sy_U~a< zalF%3f40Zvcqc+sx!UQi$ny;P|ArfO9V=$Qe*2rUwi|b|yX~$}Ad$la-wHw+$v=US zW5t=2QMkIlyv7s6y5TnzgF`MDy%9TDmKStbrbzW$D75rL3qRl`!=S2wVaTmiK`ny7 zW`O7ks@#B^>};e~o!KNR;aXmVVCvvs60498Qs2ziMMiUlm%Yfb%{dh4?>l zBMn%k=;sOuD`e=3e3JF95>n(UqZYEENF~GHQ9;iiio`&V*~|U*)K@TUnTN{B%Btl9 zyE96cE4pViwa4%ew<*4uQTj9BOCOqAliC^vDPDL#SF7aw+X9iRHp#-B$9}8kY zi4k3LK}$6~Qmfp+S~RJ>{`%!)Ev%8$Srd~3#x_Y51CCV-ctx2YE5P2b&{Uz7Oq#=C zL4;^%GvLEt+ex-IsG)*qveq@5ggg6@W8BTviq2pp`c;7Z6_%gFnzU8|VIithUO9mh z9gqoV)OTk871|@jC_xc=ti{7=ifOR(6#DRB#&>n(wXUq5?fl5=`D567pc8LR9J0WD zP&)5Vai~jHv?SSA@w<8wf$vB;y7VxIWL{`0&L8mxPNVZ0uYST_^4E&8WA#bz$C(WK zkojM@CL8e#fquKAW`M_NpjjoEh1bpP>QBkCw1eRYC|1A0hl{r`FLl)Syze>~=HP>C zZ{hH|w}!tlWz6jCxhwYA5|Ng>tUw8N6wDEIsDp@o(o^V^Cc*|<7Nv^EHfDB9eIx|{ z`iS0P@iU=`v#Y`)%XMGbKYaDyl$7doE)-4Yk-Et*o&Shx^wP)%nOW36zd~gX(ZCR8Z`7h6S(#f>5+kNXALnp>ouI^@o{*mSUTi`( z4Zp42Go6R@z)xXr$ST|H9L?D!ns%BN`YbF#yo6+KqY-|Oy}4&|p;4+}7aD7mcfEr9 zqFqNC%pCU3e_Rmsj?oL*m|E7X$1W$MJwRMAXk%l`=8NQuPuD85 zFW0RI>gW??k5~9LPr}(h34hQSrIIHgqx$oG|NHEoXFB1k5;4E0lfYu6#NGTEB5xD5 zj){3BbW)C}A?en|rZ>lkdnpH@%wo6))vcgQ$%h!!>TDLfLyV}zOcj}$vT%d({nWCC zzN4RS-7eXSl-9j@=Wx+0sDM7uKN|3m!HOwlp0y)Td4HU`M+X zma{vlF+zS5EaFg4sbClL%j~=)n0`KQQU~BsiJ@ABbX=I0k&wiJKu_((jH6KZS6xah z9>ADC*%evyC`CF;z40m2ujmH0XrxF-A>njPzKoUZVeh4^XRi>(O9nKwdrF($5BF_; zqs1mVpFiPMa&eQ1*dLV`DEPpo6gf^%sRR394J=D9W; z6opXBj5>}1-SK{TGjGFV9X=EBM#-R!ze7OglY80{f6>RM^sL+%|GU($;MbH+Q57Vy zYKIn-2mOI^7{%GK%-$lX{$3SpCl$=-v|>3a`5s3t)X#y0{ga?a3zt4s(`Vzt&^iHO54apd!xNjAiVuJw9Y#ySa>y)y0f|YvL zr;m%H{q`-Hr|}SUGiKzEHFvH_ZYElG__InO2Lq_gU%+rR125@JIZ-j$a*) z)y&Jix{ml(@%FoIFgfyrLj^j`$!g)KPU$9!$I4c!6|i8`i!nsl5E-o z6AY6cwj*(87&^QlOlA~fWg`A^9m?5R#Q`C)klcnB|5~VS<#7K9?IIe=Jy$Y!q@Z0s zGqIUxxsnoA`RRK-;eal!o`@*klL9$lSUaV3tH z-DXZI#CjjaYKn7y(D>xACQ8YMP{b_18Zwk>?T_}q^z=BI0lcu@59^A`;4cNUS3SX2 zd?6%T`LK$zBKIOSd#DB411e;#VNNWNN5>fiPkTUDhPFqK8XCn0b@_tHJRNYzu}CEi zJm{He0pDb3+h_*I8IngK>X{@KQAi?vSg@s3)LCgST2LbYam;#YIr+0zu~pJaDBAt7 zBc;~T^f`Se)jf3iBOBwa5lSh2WOPrl ztVZc?*)z%E!9XsLEm~pF)3g$tAa0A%r_a z)$^%IL18zNmdWb&N}?QiK{;s=n92T_t1eNe=&dw^OmRGGkE7=PV_BE@b;2X79kWL;2IQu8b`y@M6@-A1n%V*8Kq)tLDJ8qL{wkRDy53Q9r>anXlr&X3yHCh68HsB?Z_) z2v%YX!%%C_Jud$@wDHRgjK>>n7|oT>=Laq@Z4B8V zuDsB4zHTcTDu#G*PP3jGRuZ&!Q@+1!&izmZ;ypV)z3RxfPiYfzX;72-r?8g6Y(qc>OXVP&bSr5P1HOJ8%=nwOOk>3=BnELXYZE8tHEqMEp zR_;<9Bpp>x9Pu!!@+0%PF&@}1;$^LzTLkbFzt?{qclz1EgVWe{kzbuP3)Syi%PoC$ z&Ux~*4D6U`W|^L3Jp!;AvM8@O_tlcij4N09{HFX2|9oXu`ebmJt{R1oQo8+qt2cbp zPQwBpTP&^$qq)1ag|*W01!7wHmQtB+6>AE}%XxBX+%6`XOLBvdb9U@KwZ(61Wfgscp7Z+1ZTEV2Z3v`=j}MZ@4C2He0pY^Lo}p- z3%#vs!z#cEctsNu{%Ks&TFK;sTqF7wnrbufvg^elO@vFKOWgkLDL97(Ec%RnAa_6k zeg?+TFJgjRPnUZC>MNb!I?fz)zeS52a(kWP&kI49Xjr=F_L{-|k#n&40TzWgXgO^* z3*NPkGTz8gYkA9YwEDhxpBMBVmjQVqC{;b8aEAViJC8Z&RwgJl@6zc zjuO~5K+jAK?wjCXkLRyk1qYg!-D2Il+h`GDu=|x_+TPgT1XZxfps+YEwb%``a#Q(o zEwN%5_wK6#5q*Z&-t{xFrv^7*H-vhmctPw={Jzg>L~GFfKsOFaO!>U;T!%+bR3`K^ zR34)>c`_%Q8+Jeb`07Pm(GqnnSpvnLG1O2cQE@jA97B2zcvHIvsnuM66QoD0TNtur zSx!7VB)09viI-56Smc;kYy`>Wh9q_rKc`$S8b?_+J#RVZnh@DIZ6`x9qnL`3!JboP zj3XIjKmAlr_A55NCQfE0yt#UHM;309exW{cPDeG9V@h|5w!yYCQzjjuXs;bqYvWVU z|JYL`R9N`qhkV8VBvEF^PohnpDLp(AV)XmDb!1LYy_>a1C%yl%FP)D1PJT$l8Z%BC zeUjaejO+>l#&-vQ7=l8hD2|0o4($FfQ*sJ?aA+v`CU2_A`&)|VO4`xQ^+N4&_SIo+ zKb1(OQY|9PM&nO9sP(2xum~e`Rokd^TJ9*Q8B*-eMc6JAb97?=6&lr3(;x%Ve;(V>|#m%%dcTv{ryi>@(e$ov^`BV zo6;!0kofS5gOxP-p6ar8&Y

tp(W^f>ql?-9$_1=#8Jgug~7e-Dy~O_}O+?;qqwS zX9hA!CU(XuHO6io&&=Dmv#RTe3`VaMxYQ~2kA1RxU92_r5rdK&lA~S6W?wbwHTZw+WX}IQ?!wJ6GJbHye-k^)5+1?{hn5gv zy?NNpa?X18&(7|$x^I@v3p8XURA&4CIm3~uw3u$aPh$C+oX+WqGJg`wDf0v_Mx{@7 zS$!HzYm>O4g5*y5_yDipp<>@8tRM^9D6~(jt44`X%64e!i0b@iyPw)*b|76!VmAE{ zHfbVtP(Sckss@U32(tnWn!p{t9zMw78c_&&Hy^LY6n@lLCV!)^N`M&BH~7_$iEJG# zo+OJd_Sf&Bx7wy(8w+XruVL~;wvf2H*VnLczILMyLZ30&G$J8$xb~XIa`&;LrHZ{h ze)-WMMOz7^!%fB$OyS#LeO1-(_H+4PXUz&Q{9Y4FXW3bc{{zTDINxW`FS07cUt7(B z#N9}d`=?r=F9hj9nZ^3Hqk0bCDmNR8D&Ls94wcE}@HS81`@@;A;#Cw@*1Sb;2N6oQ z542Dz5>ES3Yz!u*+52pvqQ0Ieboi^nokP-LoWWi!i9+w$Ix6%`{xntr^A=tRj{HpS zL0f|5cRMjE6X}BZa=IC^ad|4CM1u)Tp#{HIbvb~eOMLtjH{4h2skulEV^J8l9cOvb zkb5N{MJKIFvk?6dG9QbHQ($n-_+vS9oN z@#D&#vp0-meRlPshh%^&9pohh=H2z0cBd~h@&J8Id^^%eS~WPuE@Kz?F4%f zvFqnp_t0IhJ{PNk^PVMT(P85@^*s=SIgwha)!2>6@gVBrESt{dZ4}90qlecP> zE$8fl$EtKP%n^Nz+YghTzUvr47KJ5a$}K<+se_A>SAa#y75Uu3gVsy!#IS48F?rwH zjPiN%oi|UyBoR^}1i$fsn_aBG@ayxD1LZ1(?uxO`e;42^6}bq$pV@Xhp13~FOGH#| zb`u2p!k5ghPtE=KXE($QnqUw9pS}|nr0eas|8kx1;56*W26%oaA5drdXlDcBeiaI@ ztNj7VJLsYF1v}Y)bnn_-VV9v zn#v1OWmj>gX)O3kiHS$wXiN23w6v4CRxUPHUMj+jwgN=o=7``;3D8&nowVbkoS#%) zM2>%{S*zD1JiM4mH9xnBMA{6aGzU!*pm9s7((}(Lb^CUUe+pkv?&EA;Pa*~i{q2Gs zIH&p^I-WSm{bVy4t|S>)w|_-A691AArq+-L8M}gban-E25?#FeN4+>M;kv&@UA^0L z2PsBZuMo6oT@6WBofw&D6p!-=g$(b^{(@2tu0wgJB@2KpfJSy7Gr-5Y{pfWB|BVbI z=CNK*Og{>J6WQGu1aCDmh*!?V31}Xbw9)kGwMO8xLCP+#K4175e;Y8Nath_u- z=lWZO4`mDd@ac>OesJAej3KU1MUlhm**DUg0CF*WQG8|mQt*58H-(yZ1qqa(pZ)mb zW59Z>$uZ#DVSa|+eS`8uR@2u$v!Ph^kP`N`JTOWU zRT;H<4Q$cEv?xJ0tbQ!@OwU#F=+*nFO8HwFt{0ux_MWKibXSD(nLNen!;y(Pb*ZHk zq91w3J{vq}$U(g3zh97MmO{MF`-{)joL5<@f06>Ae2O5{9LyulPeF&Q76(3nJ35&q zUUP-l&7Dm^2&F2oFY3eX&eU&)M=PB-YN4}yAA;8S-W-wVDJIJ{9bbMGI>Qn@OAp#1 zPQ1A~ErwiQVJZN!d72UKDx%Scgu5bkn{6Jtl9Q#3CF!`vr(?wH)XHYWM#wDtj}l>x z&#DHJt9YyD%m7Mu>X>rN=vCOqy}y{kV>VW}5`eMg_Fw&GRQ>0nw0#+mOj@uO%Zr># z0#(}hRv$I63Q5%ZpaX`^Ext?XL@Df!HhjL)NthH)H2q4z{Pq6s{Ro#32oudWe?z?t zt%A8mH+wjPguBC~vx`ghLt%`ivx9TuA4#BXTlIp(W4IZQ7KA;;ty)-Jbo zq@$x_$fgnz!@NLc-mZ>!PJP++^%nf}@4jd{{`&vk7qaV3Gz^nure>oK6@Xr3RKg)2 zw)DWTbCu(Fs0X~<`b2N6O(_*y+z>WK*FH!(uP?KGk*Stk?77m9eF%Du7h!H|=S+G`#DA!*xLTS^@XM=o_$e#|3L5?N% zXk7q*qkWgkMF;b&ujj^C<2md2&CuJCu_`DhjOOOd&o}&bugv@QM*Tw{`^<|7te&{p_PE)OZQG{8VZ<0>(f3m$C(E=V=+p{ zm{Bcz!;+VdvjpZY+iXL$An0EIEj$MP>oouO;kr5z4Gj!t$@pIfp?%XB%H&0 zQ_9ku`htOK6}wfw&1#}#L=CY06P#v6{BV@TQ)Z23pF=SgC6zQaxxO7TspMr^xwP^d z_ea^7SCc4$iY0F+>pUC^HU)*5c0ibE+;RtIyTst+{BOycm3B}%39abD1*@Im6hPFE zE)e6a>_1826Ze6x^+2C`Ngv9;N#U6MX;Izt!lmaKAU<|o^nHx_43jR@hSh(QYqzQE z`Qctj9tH02E{r(-8$wEXI3wHBpM1k71f(Z7i-4Cr~f`w5EfPl4TigS|a z@!VyDOB;g-&-Rql{;si>2T#D7_(CiuaocMsvwfXs?@NGA`p1$1sXWMqoFiu|d5`ev zavr*zy7lU)OMfW1r;u22+{M)*RfHUMwYBZd&W-4(_(+M0?VIF~tS_Mc&qW_oD72PN zEC0|Kx+MxMKlkzQU+Mi~{0kEZ`zv8$g2ZfnmBZf%gZvVJ$mFu(KK;_vPk%u$_M?-f zhvt0~^7zbJeJI8su4o4UbHu4C_VgIAK&voFc2exf`I1J_4CK$Bn^D&CgBmY^`R&Ye z@EksZ882~Ldy41^)BkkQ)nd^-Px!HB$s!*^Eh9&gJ7-`RL=!q10G<6hQ{#R!TpTv$ zn`1arNC?=LI#nk)bF{I;RVdtk`u{n&3*IYlC#`c*%nsoA#Zlwi#@YFt?He_$7AqK7q9=Ax@vAL9d_^`1X{>5rh>YBs~}F|2)(MaD!9_!qxI zwnWRkqT(lI@o$#0_}tPLFD=lV&ikQXY5+jW+~w<%()@*L+W$}{au&d zJEMD}vvZPJQ|C1$cr+^QE+_Es)mhm7%H?jH z=(A$KXOoE+s693RXpmJBd)ej*z#9N9($P(&wi(Q4baYPm=KSm9&?BSdx%y`LU=`w- z`R?gaxO#tSU6_w1$g|CKDacGx&H=031!<70i`(OS^ZEPq>b}Mk{dKpEU|KyaZsHlB z*Lbbo{@c?=?gvaLo!Ga^d5XTyH`Y^0EOp=S^3YztF1EU{wMhDAym3B=J!;MxGn))k zwYlLgw%jGIv)it@PX)@=L+i%D+bgyV3EA?WJpUiEVWWQ@_2Y^h*{$6AQh5FnXE#p| zF0P>G_HPVAx2;;dj0niz25gea#>z(aG94C@?WKW&R}w;UCn}(!Vyd2 zBzd$cyN>vC?qPM1O~+_Ef>XtVXN0E^p}R=}PQO3f>-#J-H%G@xkQU)^RHc|L!MrH) z2td>>&VK4>6#)QYkKgNPJj-Jj5Nf82$q!e|$G3ZIirSEM5&Zi1hF;RG6EXH~(H2hn z8?~GTic-=v-+0}Uk6EJNjn)RPin(lr2jCLuGtAa~Gup*bX1QuPwptnN^0OJ7 zEF(c-JZFS}R(sV#ndviddH5w#9Tm&mph@Y<$DC|nE(+ISRpsJWK$Oz|re{FNJ$p#X{zt~J(A>#HdNe=A87{MCOGAYsg zWQoSYur8zM#_xKcB>rXT^&;C1&Ii*LB8YU$bc#?K}WY0RwWH7Qw)owmR(A9r3UE`(J(S zUM8OB;B-b}r?#Z$jlHv*aV0!J2YQ*EbLPki;lB8H#wy~wm05yII45|q=Y$zWjI?A7 z2!07zOd7`m86*fA003x>7CYyU%B)P98DT07x7CAy(POTK#LTbrqJ4B-ZLX3I=&di*~a`cvXHC%O@p2r_H8Mt#Ka`Al@7mo+s^3?+hQEA5ee8M2v}q zu#Q8nOafROu;;}{WcZJAFL*81J`apbN5 z6mq9T0?0Ct*ybchy_^o{OEdrawH}} z6t4~gjMdL(ghfOqYoR+g>@!j~eTwMI# zKf~>xNmXgs42DLGef^8jeq%tY_jNh!`|9{vDolF8^^z|pGW&)cHpt*-4+sAT&Y4iy z$#N!eKdf^(&CM33g3;m&;XgY3w4 z??ViDbF;`9@hIbZ#rZFUtN2caOo@>-i3t1iJcK|&*KbGD3_!tXOWfM|LT5{2l9DCy zK;oXH1G2x>#mc%ioM)XGwKr&H&p?=@z|Z3+Ak7}Q6{%E-<=vnD z53IErFVPMtXN>jyIquuKdFT-q8AJxm@bKhQ)K49wEquZ?*Y|B z+jR|tN)e=}RDmF(G^q+muOcWSy>|j4CG_5~58SvG%2 ze){Q!z3*yvLitu8FHW@ZoZULG*C%b^b1N(M9&CU3#2%^T17SX%_J3)L@&pBHz$L$* z%tf9973&dWGeSvm|1+}w&&4bF`69TO|+*CC)gnRZsC{kzK+d4yB z`rfylUpDI0y7s@0JRTPm@0MpQiVX%C$pfmmJXn-wnkk3uY}r~#?iKWs2`?b|P} zez!(ds>$())a@pdGk_h|g^g+l!nNPO;CGj;AoG#W(jbCW(&i@9_#~f}V3j3R5stmb zn%w0#KzSZie72#riNS|kRAJ>B$Ey-<>bjbOjK4=YD-}LydL17xaVpKeQ9tGigAU5m zx(g|^0ov=Ah>HKmM$fGo<=Pk?xip|gfnBwQsGEwpS@S=8O(PM77Z{L0C4wIFDedrZ zR*6lPjN4Jw>6DYh?Z}4xaTGmpJDqa2w$dR{G1HUUFGoI(r>#Z1w=F+Sw9;Im>pS@$ zm@T0YbtA-yl=|GT)UP1n8zi@t+#zmTDt&@$$nGE9`I>d72}jPKBh^%DKTwzb#YMTA zkz*?}8Z{{krc1p;jdo`F_xdgn9@d7h^TR*5Y$sFuO7VsNdVcTI&En8xwT2i0iJ=&X>7(swCykDiqsY&d1$>Y0lt#&= zp5oaFSATF_511`*jrYex(VD0b)XJ?WM^sfPgzkB5-s>FW5J-Eb@i#Y96cI^t&Qx`g zZI2tq&*@NMK9<8CAIe_FLliF%h70HDb8YOgsx(ijK%M784^SDR%1s@dR#!R(d&H_N zU%%5CI0&br*zBrLneB&1=^ANoCm~I?Hvj_F){yaf%-WyXGbMX~Wc}G?eZG)e+12Cd zC}1MpzL=`$SFj*-Yu(X=p0PGUv=AT1QvLB=)j+l(?wkRtBHzw`|Q~?NWW7_u-Cl|d4;JUmS&l_$7XLKZkFj9Dlfk3hTma(|57J6c!kb z^jh^J6y6zHhA~O}a!U{RJtT*{csQ7#jnZxyx+%peVNtIBm?E8`k+4wcySEu)r>2n_ z=NT8MdIST_YP0@3U51p)+LDP|zFYG-PslX1z~Nut+Nr_b^KLiE(E*8N=3U3F>?3JJ zA0?0fif3(pGFJp$eqfw;P_Tyd-YB%G3nM;uzV@SGx0SS`(H~bU9YV&Kyp=EaBn>yC z*i=3Rc*l~^1F6%Xx*#fZoiH$UygL-q$O44(gUS_soY`aE-QL$cR!_UU6`PFtjZ}xp z#<4s@Nuc@)@q+U~9)=uT?9~L^)~QnXF=EgfHz-;2$$Kaxekawjk$x;-W1@7#U+HQ- zuK;&Vw9BIp){Dzmo~#TQ!mUx#4Ywx(0R7s(BUro0i-CQhm(x)PCv(+}S~ooogMQF@ z9)v3{0*xtwU(4AjTEb1r&_t4>+F3rq6}5Uk}`IV*cR5 zn~~A6r9nI$2&ypbmOQapt;|SOxHCz&n}VDFXr}Q+;VI<02}(43Jb&5M-8Caht>^1M zJdlpmh^ZlovuKCT)1zt$=3hTmbrag&&*dgogcj!Qx{55`qVCuEr#N? z4S;njfb4<#DKAIe`9de;ucC}GxL1Z)9=)AHSak^%h)qZ%5~HB}W}VL4&Bp!4Wa|N7 zhY@$(mU2Ffcvs)r{c>zN0JmkrIgt`U$pks#=GsBIBF{47EO_KAZxwSLhIiBJlS@3K z{-mK%C~y8-XF$x&p=#Yc3RG8?U7WQ=+V-WUrOZ86dyeem69hv{L^Q~hjyXMomuKn= zuay0vnZ_4nqFnkv^KeQ32e{}`R4mtCaAj$sjtMy5fZ@Qq9-J!C8Y@V=#IV@!GsLlWQ`kHSc@r3mWf z$~4=R1PB&v6B0|VzU)z=+n%2K{W2Y!o~y%haePS&rT+ijTn^h#KeK=fX^SP|gNpdu zYRA31wQd@g;gPlSk^g8al-MODE!q5}?un@}y3LS-Ron7S?2y-0U>H)Dbh`CR`ujC^ z5(-nj?T?%j)s1Jadv$Q}zM<-ddfhb6GcM~z2}??Q{}pDO4;6VVn52xVa4yR3-2Co4 zjhMBw)4RCn^WZMxUa6oW6QX81e|cQ_MjZuzah9@*bDmBC`R#oDfAc(*138#?oR#7d3G)25ImAwS1iQ_b;*EODCI{iC$J0ks&|NV}1atP!9&K#gr_XByqXn8~&SB^wh%~%$k5hE4kO?KSma8 zstlCHCc-tR<)CUz#I;%&;b^jjDG(9u<;M_eD=U-Eh7yjC@Z3FN6D;VArt5$9-s;8; z_n99KF{O}g#~I2tTkfzty*5{SyZy17BqN2b+=SBtC%=@X4x){N3`wCl9HV>UnnGNz~YICHyH#Br}SnrWd-<9Yq! zW91Hj*EWPcizgxK?n~mMutoe;b0~66$q3%ikT2KmvpX?)s(lYe>T&QvjpE*uco+1mIwY7BmQse)0{Ym^`V_p?XmOYv528}ujWTSI8Odk-ZFx?V${k#b}lBK zsstWm)zyy#+rdluf!x^b88)^Ik^Gk+`Pb6T8@`Ca4H5I+im8L!ZG?#a>yOo>E8nIc zBdwxR@8?D9YYABX&)`<(1AT6t z4?atbOHBr21{mdoOmw+}#!;J;q4yH((4sWN5MzX4#QYjG3|p-aN`4YJ=}zuW{)Be>AD7yzIP~6)SbWRd z7Rz12y9q<|g5S#ly-eUZ*w&Ypu5T`K7!thau$s%<1?HvLgi>%UYP=Ntp>lI%?7(kA zcA}-!r_3kD#|X_+-Ewgp?9#vg>ffkVQahGJ+PqW0a}f|_rH}UOm*~kPnrjDeE5W~DdyZFo~`e3^nassD-!ER;;-b*N!-P9#u0Kuet(V+Rq+a2<|qeF#1-z>sAQYA{|UT2XBy2{5CZ`r zLE&WeTg>`b-%ygM!iEFbbf>FX!xE)P#&3e@JdB6?Y0oANtCsPPlG3-J+ItEdwrU&6 zjwWvpz4nXj8k%I@`xZ#?6%p0v%T0X9^ShlB?74BG8wGUiCX(Hcf21t7GB}V#T@qB% zTEVwjgw{l9&g&5vX;K+^#y}ikBvWi^*!N3c@V>G$)-@Y#g;12B20Oq&S;NOA(ks1|7HzNl?e=olLd0@wr{g4l}}(~rA(B`#{IUZ#xW`V2ypMSOZ}3X_3~he7mSAf zs_=5u*7AtopQZJoB!IJm5e#28!!9)fF8+WowJ(0-L+gT=Cl`vKJWqVoCa=p}ZV&Z8 z@o9FxyIbuTfZPbc*FxRbCz^R2=%YZ`gV)8TL`WIV)5!~q~SH+=7o2LadW}yrg|#)@c*!onrt7Y>%El+B*sqK=Gd!C zkIu|LghqVVyFQsHS&R2Mf5%ydv(Z740eeP-S4o?Is1g6_LGL^1}MS06fJuZDi}+q$*pU z>}wv3P|Fg69bhc7{?cjIHkWpFrG>pzk~q&mV;`qlhIOZlU54L&%SFU4&1ds^vb{Xt zY2>-~Qf@mL-UxdUZH2)WIG5mw9Z7q*(r`{FWa!QWLWB4s=O*u_Lzx5pVrU$0o3U8j zlDTzh+0(qaK6Fa0Tzo{D9kwCGc3-e%@ygZ{8G+UadUE55)vp9pSDq2BDr_TM>vtJ- zNuGvevv`6ZmwF%0SWS747~l49!WW~>%^1;rvkB0~*aT9>{2Y3cZiqS?Gx(6x<$fVC zO+B5vt&2~W(|GB&H?UM?FM7vbjL4ksehNuv90AlWYDw-p<*o~bO4 zC{~-yVqyJ!@j!WA5i{B7s(J|1hK8T!{QhGkB3%R+uZe#vFZB_O2cD-|S1bC&s})TR zF{@^LmSc^bgz^VMLq)?XlPfnkllwX#2y5dEu4`-xVK(5I#F{U<;5G1f1Kp#tg zsY}Xq!5479S)5D^BMGMB|Dp-i?AB@!b1N*=Qs|OHvs{&s{-bH2J6U7)oh7wRjf(@h z;2P=xdp(`Yg3eWdYN*`Wp5AH+07Rvqa_6PoO7-uK2b>-6sn+ z11gm_N5sl7+K_%~vUo0Icqn?>eO)XddKo zgVlqkRQ(pEs~~tTdvp>n^kDeB_9MEInHpKj+ev>+5O63du?l61!pF=t!+?@&f^wBe zDG!L1VW$0s?HF>LC>{DWIKu$1$S%`M&JRG8ORKK$1mPf?v9d=Q1#(K*8tlJ%3X;Fs zkBWP$V=y00rDst6gdK?$y5v^^SSnCsU)efUs=*A$VpgyKF<{eFv6$+{{|fUBkGGYF z7~Ysr?2kOk4k{)I0m_K3wStwN=E;D8EB+Lh=Y}3p)jbtx7I^V`zT)wIY7xb{hKf|- z=-5R8x<&(bfHy?-qqn*5ubceLD^X}o#z8btH665lH!v^`adMwJ#y<<8SY(Pm_=7y! zBaowx*-MSl@Ns+e5aBw#P@fz1weEQsV3stItB7uJsNA{Nnaw#a38T~_f%u(vv>vzn ze7~ohQ&3u3$}d#`Dg-<`d{)+?!}dO6l!OvrjLcw-|1Q%2;w{{bth(dJ%Hn>5j$^(f zVHMtV_VytIRMpH%a7X z#dl(mSA<-@FvxYQYvd-5GpG?IjFDe@S}nTlqSB!5`ZhDY-TJhU-4Z1b0n&L29Y{6l zg&$pR$IVp~0GDd~LPj24AK)+lxgHL*9P5E!DQFIwzu1PT>04?xh5>0$x;L~K|K{pZ0$YfAsIfSr?HQsX7=cAOhBlLTGFIL-;P!Rya& z$IEgtZXm;GHeIOKi>U4UlnvC&cMKcuQEQxt(HXv9ZMQ~> z@uzNN3MW73n9#17kW9oEQb>5`zQ)G2spGPR=?|BJM`W{Eu&+WDDyfMrMymbL6=eVEX%BBVR)Bl#1}NX!v*T zVwtoD29MjS(kdbQdCiS|T}$(%*fI{AbvG+&8Au^=9cH}y^_oMWop|5cO0DY(Q0?wM zoyyj~>+rc1yce3HjXT9Mq%FZflM)Y*LkO_h!NuzToE~NAHMHc597Sjh_5jm-0RC?% zV9U)Z2oPEWlKZu9NoIYNwvK|{+XS#vT(MY=R+j-n2k*pwI3E7@{6vRo`-wP6o>2Yv zW)tCwROIRwe$PXU)x>)i7QvN<{Q(F)?p^p#MUd3(yBgonCi>0gRcogIEXljw{CfQJ zRDX?H6}h>j(Sh-kN$(~z-nkh3$>DA%j-{?vIJuN&2J?n_@LIazLZTkMaG7AfD=rbO zEIu=7{1mz+e)Rmm=f6V_?l66C911X1Z&5ska7)y)S-+oeLE;{pA3#y-z_iM_Z4+6s ziDbfAIof1wukfILZn3o4qWAU(w?@F~fXeJqhop)?;s66EdcDKh7?nSfv{DKM?Y!&2de8|TSR`lnzQtsJp<#u{kd(ZJ)hD=NnYKY%+48**j~3Pd)yf=x zV8rRCF=*WR&R&w#czgrNnX@wX!J(A3o6{`qU-~It^M$W%Z2^zLO9FmFnA5ud%MmD* zkH<9fT{mxJI2i+*$M&DX>C4~BeB=E&3(B7cRFB@sEKc72K4xvd%aC~xzFz+xi56o{6D_u#1q%6(YBS0#emUNQL6v8Qo_$o?&X%_@yuH0Ig) z^*6LUqMUVeziW!uFRaF(($aYn$4zHR11c}^M721-m5Z>80bMCh#$LI!j|(PE((*40 zmwj+hg4r-JLHO>yK0{frKr6F9h01&lf`&mTy9>V&?pj(Nib`9TpbFRf&sR>d~Rw`(4 zZbA5w4dgCXVfOWJi-cmp{&Ewtd3ZMO9*$3RR^_>vD708~1w#;0d!hW)tN+dqMKHX` z+hzwrmh>_H^~*KY*;!v@H6QZ#9enULc;y;*qvL1R2OU>eSB#{CBRkJ%=#F+bx!OEk z<#qcVKKf7KuKm&zwEL&DDJF?)Y5|BumZ`<9I+NQ6L#Y$pvHHmBL+PW`3#Nik+i_({p=nn^r#8@}hfrdtN8q`qnq9`bdc5-CUmBukb#0D+LEz z%*rrapf~47(vVnpn#sUF-}$klc7Fnsr2OkULmyPq4ZWM}21`hKhE24)UF0GhYIH-J z1(Y&;8A$S6UI`tBj32n8m{Z#u3eD&X!3wyv5t{6oVHKr0k^}k(tPg zr)AUkbpZ2Odd3hZQe0-^e0Zd5FB%i#WoBHEvd-}ifHT>%7`0-)6euG%idCJ|lmZ<4E zRLHr87r?*dtN~raKG;fI52o3Za%yG&MU4M1XxPE?(ry1FcZ;EXb8{c1PYXOI*T~{E zV8z55#mOnW#6ua-rIpTKDt)VXBj3}I@md#pQJb2Q!f$D6gE zc0BJ;V%-8ZVHdSa;t`$n9bJC?(rwp62+nl!N?46AF#Qf zg``GwuDR6HsvWMs8-V;>;;Mp7NzoNqXX^fc;5KTm;MeIPC8PhXv{JxHfy!X9{wo*3 zMs}CMnWYV->8jF}{_Ablg6C&trV7)eY80dAdRIkPYNFm(zNElYdWxpXv0QTNA}RAU zU{o>iV!WV2O@fe|OFN>YvBhI&8)C8W(Y1H+7%0FJ%ggkU!+P~+M|dBB`$OqfQlI@{ z5K2@7;MXf{rtQmV)&;vH9tRTosKLch&aSt(7q<@h9Pp25W@rVDSjVnEb^(|_W8uUr z#YFv%|IXuSr~tSgCjbN`dC?5dUPM0{10SpmOkt~=&P%WKufuw7pey`_C1aNQm}Nz zO)@=&WdYDbm#@BYu|e}qKbGl^LgP}rv}Vx z0p?4o%QVj|WP!%J6PHGfe~i}-6{Q#dU(#x?xQWjoH@=aX- z-I5)+J9J}5{wtBkdD%L{v2V5Gp&i4*`|}v!dThIq9SeWG_dSDl1AlF9So+vH_{cos z3(eHptn?<@vAOwpwuc1-$XugA{|p|hTBceXprTMBinwTLqEe==SZDQO0?$$??7cfg zdMvY`%w}_*oU($NI2>P<#ksLbO~M3-H0;+vJ;Q*6u$^G9syIkxT{-kMy!J) z-)RQv6T$ZbOuIXr3ry(*_wRM1swFZZv(C-MGmwbr)CbrtAF1`zY!IsY3Nj9|62{nZ zrag_0Em7{9skBmtOYSybZ#V}SjmI84Gfd-MY80EE{lFa};AEscpJo$kX>5R9;W1vT zC#r8lU3OQrwGSHOzMayot8aU@|2s}L(^6?7*Gd}Js0BMOXbUGY1|P*7f3W$`^^|Yx z|M=8?n<>e=&Aa|9Vnc@@?np&YEKj)=W39brN!Qp~z7;CrXm-?YCMoQiWl+CHc3JNO zy^2?`JZBR-)(9?PB+@jJWc-OspUuSXK)|Ivs`@fE3!A-VA$fWf_{fJ_j6z=_3=DKw z5;SWLvPX?R=$_n3u2_|@q^6E>kG03uFbzv{-(f`ZPF%+^J*7#HDEZb}K_2gZPv9)} z_fAE?d0RjxAv_Ax9MDwH>G$8=9SL7~lE0wKDeJMjUTe^}4ZnrAZikXsdAC@B1yC#T zq;3oLM;m#u*EZ=dpb$03=lKo&n7Q!pV#R6<3)u&SLc_gksYF_*{f`od5CggsCq1`! zd|E_{C%MEJi(~s;W7qz#h4ZXj_U~FnOr9^(7k~Wx@>uoQ;zb&UPHPZS`23|TO zxkpNcr;mpO+SZNC%z&uQRp!;B_-N^3?XqI6zWID!7eXY-{?h@GTj%yed1KWK-5NX9 zGm=}JcpNm9`r~px2wH>%gBch1PUEaUnCB00O9r@x{Q|n+i19WY{;oZ*H>z6tzCW}D zfZ^cN3c$YH3R-BoI_$%!R`u-qcm1|B6MFmGUe2ThRX@JE6>xy`?!P8<=sg3+LN566 zitfpFoV4wG^ApjoEEJ)?N~j!oXfuoM7Z0ApWMPFA=Xbw{YIL^zed;B=D$I$*oBkqN zFm_OX|0oQdBWXdBj&E6fspsr;t8irYq)D3NG6cQvXTc1;^jy-E1)XP{Cro+|9sLa4 zrJJL>Pk*5{G@ zZa{e|Wk=bkEZAdG6v1l&Imfg82j9Fkn^MB@*FNTuZ z&rS{q?ETS{`MXN^y?~OK7Vyz1@Y*hJ!Yw(rYaeB#vH9|j7ifDFjK%6A7Ox-BPtTML-IKC=f`S(XXmaaDH zsNHMVE*Ss-uS#w2&@U)SQIXG^S=UUdh3LvE4@MRJ;_ALMz@J39j5Cd*gcVr5*Pqt5nfbc z9rpl>7FLdpEZS^sp6=Y%vj12!XwkWsQrJhP6}iT9-Y+f-vH!=x!2>hkVT^F5rDCN6 z&;BdQ)QM^B9a5VkVaDkMBua*pgVH1^FnCHJq>w@f;`+G6_HOO(A;H4qFv z*F#54rvujgRp#U5o;+k_TnsR!n7)vZAdx1bm!*=W&%O5ZR(YPQQI|VqDV+3WVNBeu zNjR|}&8gg^TT30u+!O9Tjq|aCzuUq5f6ExP?Z{Nro@LK~^q0gm1UhN}fL-7*tpwtf z748HB$zknB8RoMW_qOGv25Xl9KjX#-IMS`qtmxX)WyZ(|k`V#5l03oG=PEqH z+U4XbQHkY+Q96MD(K%QE-w^Ry&1$HY7oc6UHFAzC>!kj7VJ4SKnU%VQRe{SR@`1Sk z2-6raA`$rzZ@$A+A6fBcik37teTY;V3#wD%ConKZug2uZQ1)>SP^n?Gi$vRiV#C3w zJWn6#Q7=3&PVliDs0E#ft)C76<|MGU17ATW$iFWz07N?KM(7|Md4FpcCJ8%k#g+5G zW;wr=DeRe5?1wMSh-~M@#E=JI{+j>=ILM9h!)DWlr;)Mw7psMN38r4URYXlxCm(haY?4K?%gkZE3MjTUT)DHNE;9T&*l=72C?287!1Y_ z4DcLqpM7eA-dAp#_@5CHyWId^X~X{7zSd_RqYk>tBEOX8K)1w8d@B}7Z)jtTIavd)|rNc3UTI{rRjc*G3pWpYFyGs z>0PP$)|(od-g!|!xrD5-Q`$HO6Ay+H5e4Q9QK14y&r-dVF;=Lrw&g&EWS#A7rBz>d z*Gpz{>j9E=)c$hcXP+hK^2icZKbJS-jaOZKp^3${gOZ-Nxs@wH-Cb}H4Gl31w@jnb z!XtC@`!8PXsjNN>LQ#C3H~Mt0$e!Gu?#t3nnM(T1hJEgr;)~5+d?B3`;z9D_pXdx_ z?sqE*-=Dj8>jm-q;Nk1B7(qT)*VBG~!J!n`pieo>a|?;abrxu9`<4qG8PpYF3rz=V zR?fB|)m}SCBl^rHOhWL$8r)!su!j503G+rV!sDd(X_x)yo8Cq^f2vdhJvOCY^PEUm zp^V%Mvn-rINTAZq>20w$OpEV&jpQIQYJ&GwQ=V+z7I!iW9K*-f3!KeJY;M`?yu4Y) z-k@uWQk^bqErUq!xK8cjzfJiPRbRoSRrIpXtBIV~{ZY#6to6|sZ`%`x+`Gmf?YTT+ z{5e4Iw(9MT7yq&mLJNjw`qZ$Qr4OXEpCmTiQ^136GJzd!ZxLXcW2Pm;#a;QQY=J`2z?$G0; z{W{Gx>oOdj{2b8CFsDD)R2)PqVS)2jz6*Ja(oS+mXb;>+o$+&qRwZZkK$RrxB`urr?= z^ij5lJ-&539Ku6iX&1coneU==b#df!@+)Lz%ZCBnNT7$(dKQz{|ET}PCWS>U;FtZ% ze{PKW{k$uae$~4;_e)Jx$uPbdsUU81ZK=cz@HNvrE#)NDmFc12scp!mxyar1@{6v^ z!*DR67SKubzJyg1S+eLu6p@HOiqh!G!@3Fbh)K+J*E|C7fOqe|HOaLpf6lrl5JTX; zPpPct>HS5sMO1OBcn@#;H<*!heTgM8D}zrp5vm)ya$l~TY!xKLT$Xr^^ z=C~K0=l^~;4nIvEs!Hj$kE7tbSjOB{%tF8{%{o4krbAvp$Rq+@`;_;HWCpkob-S+WOJq!6baw-R=Vn%09`qrcF-W=FCB- z%=e3Am1}qXemZ%FO@eV`I7jXE)eGL@WqU^jRjb%K$YhPty{BcJ!x{N6` zKIWxWxeKSYlKX0f-)Aq(D}h~l(tT}?e^z|GN1l8w6Xmh_N{lU`p*Q!RH`|`l_R$?j z6P$10y~O zuo&i&(E&Ws617FxhMeDs=-?xk2oSJ}(o!83)Qw(VC1Ly=yK_h4<081da1CU&!heN8 zggoi-cjPkl_|6V|w44PY=2*%nqPx6CRdY zmT}(l0*6b70osm$TQw8jcK$6jT&j*AcyyI8OPpA{N{6P?wH-vPU3&EdZCdfZU<5MW zseY-HDEyg0>o@HBXA&vEC_8T zb|QYn?N<%wDP8ec9G9XJOxd>EJsmWwW>$9X2j`!})>2Pqubj{}H6_sdMV5i&ee6O@ zW|JC~;+$_3NkO62WY*h{<@73_C=01#jdzt}IS{u2#R|sLs$;?%O8;ifq$~t`J6iYI zMC`ER_*0&{J}2P@%B!#652+cJ4WpAQ1aE(Eg2Z)&r6MN-xp{8)iX2aZ|!aDTNLUp<8%K$u6ePKqEYBALp27!m#+JZ(__gl z;1sd=+x%gXCQ;fQSZi@F6)3yzlzL+X!R+tx2vS^St`QTvW@L^~n^D_fWErh#Ez7RY zo)DGGa}6_=_m(ep^)nyDtJ8M#U;s?=2B5X5vE!2F@*XJPtB*B;1!4p_ctUH(MR6x(k+1G${d86vhdO(1($ zvV>eRK?dzBm#J*$l5sTseaUtF=k4)6O4T$=TWRH1KevA8$2%?^fD*}$2s&7LD%Snw z;f5tzWC6Y4D%Iab?@yt2M=~|zPgTcpt)?-!D6IZn+_e1bM;Z1)v8h>mKRQL|VpU`c zLcn)LYO{Xd=z?RqG^FMSdGBMx4#$RfUw*Z(s=f2_J9~y-28E@#f$x5 z0@BJ!wSsMFehUo8yxhHqCNA`NNmk?VO~dYC=6;WaaA!T7y3FdWjD^UG zi+m;dlO*S_`v<5H$u5P<< zC1VVTQrwQ-vqn*5HWdBBl?ipEF&!nK-~(b{H^YjK6N6djAxYLP+Wr(x2UHaVl?-w3 zUg4au**$8~mpFk%ks>Gv7VpGr-xqw(0rOq$KtwKwHG1&NSCVAseb;BH1Ue4-X%~33 zR1C)43*Nq-awDpU&SzYhOY2E8^7MFe*}n|aeXF`;R_x%D0Co)g>7=WOUe}?+QYORr zyY-tvbNQker+1lPx1=bao;^RW)ah_&x<`3*87m_aO?PL^W}tFQ)bZ!kZpA1THsT&C zk7JY%K6U7Foq79n9-O~rm$N|}ffWtEfoX_A*AKjH>mr|cK^qnd=DMz+_M)eruJYHX zy9h~gYVQnvqhO`!7e{$pVhrm7_Wtg|_8!WHTA(#W(+Mc}U0tZoXR?|hLE34(Wuw<0 z>&KiY?I#CsUMlT(>6%I^QT7e3nN$xv+`rX_-Q=8rJTnZX}#j*5829c0m`vzIIPWuMqcgzRUt1!fNooq+?BqYG!esK`OTBSnHpb_Yd8E49bXruV?Yi>YH8MtEW?D-##f(fmdryCl1NWt07@R&?V?pC#aQ|J==X*}0$FB7_~sF0RB*}+Nn51}p?o+h8Bz)T zrD`}v&-k3okvRDNzkll`xPAeX&=R&mjfU>Vn{YRSi|9E zp+={BM~#AB{XI>_^#RSG6=COInZ3i1YTEn^T*r%x;6-t0K#D54KL*)HsGHeP@Aq0i zc^os~!r*Pg*RXKGZ>i-Q%7VQ*{6TbBgX>nVHJNhNi9 zlC-Qirv<`Ey@Q0Pc>9vmRuxusqQr;##z~#G-4kr%gqe2@_<;UO_VJJ<--i)oH2xk- zI8%1rR4oP-FXQ`4`SQkOzxqcrp4Dzp^!$-#J+u?VHL z`x)Xx5VkI2!zcxY-j+=zapM>t%{1^veq27^6y0GuI6YkrJ{ZCTG_@m#F|&3W|t)cd;97jA2ZWkwLan!HP8vE5#$Jxe)`pXe$ z0F{s<$%fQ=L5{&WvP@*_a6e!$Z3KZGZ$L%%jGjL!$?&}BN`n|-jfCCKt04>l5QL;t z;8=aNLqJKg_+=>YF*_T9|9zh1|mf(eJ}xc!C3!jJm4YV2>J z(@Y`f6VaSM9c@v4fQ|(KDqG^exlexcl>{j@CT}g4d6R>rVZ8CS4aNF)_2{ zU;m>K^e%XWQVIT^2UTn+jF;zsh-|Dv&-(5o?=-7qG7;L83IBIUDaovRhV)&$(Z;L5 z6MkBHBk@*`o9YnrfLYR0u8k)zQ;{ohmX@y)#hUHH!8Ru4%BVt#yT0FS#C=VzymNu* zy}DHRVL`F*_c8a@-)v0il5A%uhG~&iqFbqC7!eiB!@i;OxTh2w$fG}lk|vq{MP2<+ z>&D~rGJo+|90Myf)dX5|JBT}5Jvfidf{Y2ps#{DJPpT^e-k+^?i^J5hKx--#BpNPC~nLHmr)Mky>tn#e4F z@@kOj9dzv7U`(YJb&J3_QAXgH+>Vs6>L#T6LcVly2!E2(W6AEZY|32n*kcj4+s*3! zbCi7f19$5Jwi^Ds7sdFi4?6q9)+&(Ty3V!i*50zyB0mR2D=f8RF}>0qAD(b&3R~&s z*%+o$F>LNxjii0I#w?XJ6vNIBpnrN z%vS7;SX|Us%+9{$F>s6NY<4R$T3B6Ye&&ZU+t2tn@FXxgz94@FCR&?8T< zo-m=UMQ79?^N``i@csEBT@3^)&NgI4(&pefv#|eUb+QYRtr;D6xvCD8a_1teS0XvfMM#Prughd89dKF-86MhB2dEd zL_XvO`U~GCd(-8v#nF4B7x(qUxXPds;DYpf!CR~;Hw_2YxvlIz+lEM#ZmK_eXEm2J zV>&2NifUYF4>K0_sv96|dF=g7Mc9k6mYLg4_+=h|4+^?i7}z+{g(0>GpyCnh+fo>+ zQ5sFyY{T9Eb!JomejL%1JfzNwr%(HqXa4tu4uQtBt9C7{zc0Yfho*bN`=fkEGhf@l zIA)Sfsqn#b!A@8EgSpNUqPK=pP8qmAp{>^BdSn%GBuj-0{Bvr2E(IntdyYhblE_ha z`%Ex7W22TKv#6zic~5xXU|${9yGe1`dovg9wPfJKe@kR6im?dr8T)eN*nrVNRQSh; zdTtv*{Fh=e4Qvd&;^p=Gkw?&5`x4mSuKf#?8&~^>?|9YJ2QKR7p!^VMkbtMm|LmX7 zqhYfV3p%`WV5bcCSrdKhOy^WUE2A`OmE&~QNvxFsS_+};P}BB_i7<;orZeLAjAbBN<4YN&JnLvA#)P%6-DvqK zMowruisiCj1rWH<79t&-#6)ecf+~V%W5G)0qlA2XUWmA^=yPe@pP^u>>thq_O|ry4 zx&nm#Bqk$@D0=`s8z(+(IW=z}td~-*G-Q49q0zdZ#paSxT}inAx|ursrOI3CuL@#R z-Tso3Ea->qp%YuO+qvlEj+r4!D7&|Xs^nJxtIkEzh6a;ayX#iu<=dF!NqL$DYF5V$ zpba|Lbr0s%EzGG21Ba`ZdwExviD|eca~wN1B%i0;QlfDfwSj36R$JL!H-SPMGFd>X z`|ynVg~Q&UX(Auj@|}VG8c7iv^70s_Op>mpk6KNF&}-wltj(09J)-e$vg67GJ#@bY z%;m8!2{!c@ZglO4pU9u?*v0J(P1=1VnGyiKvuPvjjR+@yBj-$PSxKauqWpUjW-_UDCm5}LST|G19YuZSf1uxF5&^-b`8duMYE$uf&tp&jjKAp@TPdIxa* z+MQ1-i^UAnNN-I_aT}!C-5YW%b zMJLS*cc${Th+s*pDHx06U)EXN7gdZeGrGr%kBM&Kg0{?$mpMCKD=WHV?fjtpv7`xm zdXmuC!PmBMBp*$zCL}gr#L}1A%>K@Mhe%o!&AR_P_0Jk@sq}g`wKRXK|4gqnlO*`= z+Px%+CD6J{T#T|ev7Fs?sH9(vp23|qS=)TJ1)sLd`(QzpVH)|@n5^bOwFJ>&^Mce| zngC~cP;98W>1t%#=ekBshmtGQd>>UCt^Jq2m+azVXpNMj7JG+i(qR z$l<=}V@Wd((nd^$HNq>@QWjtd8K%=d7MY70h8fD`&66~*(oYrQY|qL_7)je~NVJNa z?%B%!ue~&OvF|Pz{IXhkYrw!j+{LSuC-kGtpzfdR;KMhe6~6OW=gYJACng>jZTXJ; zJ2^*tq!;DIq3c@BZz^tIZ@ZNtim%(?FhUWdKD$hT{DF}kyHSyMYeZPJ$llT5z%E4H zSj8%ZgIhOxQA<1- zyMij#{Rih^3FuC=M4^o2A)iWJMqP|ScTH=&sXu010HsrAM2|u4>&bO}_W^DL$a2k| zs4ACQpK~F7X>l3Q&@Wn3_86v1@o5UXkM{|$jXb(#O*XOc0#`m-GA^ZiXI?I8=l;cgtret$zo$JqMye$Sf$Cq~rlDM43GxkScI ztZ@dInL!lqN0L?4L$9SGV}_>zK`v52k7RfR^ND`N=_b(run?09jt?!IK{J{d+O&0L zkc@3gPPF(Mn=EUY;Q&mlRbn8t?)qTJ`L`WI+{4!xU~WLZVvxdWWxd_0Am3fz=eo<0 z|8U9RsQJ93JoB8PH)-Y&A$;S(I6^oAp@ZD5$iF7!3w1At0DDa4Un;Xh%uIJwkgh~a zun#!{c71<8+dRI}R6|8(U0;hi$R_Q=g4z{y)Or0xYVoZ5x)B zMnOVa5d@Kxp<4+_=?;ey7<%X-1q@2ML#4ZhE{UN*X@+#@?v8)sec#XfywCH0-*+4w zu-0C&_u6}geO>2uUgts?^wfrXv?mXkM-hz)(*l;=B8P+Do24q9 zwfW;_j6Uo#`0@HjS+9(G4E`AZtZS_6#dmcMqVj{DZPRVf@z8gV2hSY)ERAqV%hIK_ zWo#deKv6>;fV6VC$~zY7jO=6nNezF#@0hWK$FQwj&^qP>S)x=jtSuYtCyuRmr)%vs zR*ynSP1C`s4JWl?5O}TMBA0+F+BO|8y(|q%s;VGYOd784zrWwhxntlq0}ae`U~ilx zh-CyvZK*Htj#b#9TjO>^e{cusbcBzIy+^lVIPb7Euv7pFr*38K|MANSF%6{Pq{j6r^N4f%&tU&8;KLbriAN%p| znQl-V(ag@pK>G}<0%hseZ19t^9Ys|YbqN45W`v+?b7XPr)b()t1ueKMGHBDiPVO93^{?NFa!J7xfEG8F9^yYL$l zLx3}YWy_iden10Wcp>{SpN6DB%9Y?SN6Lf<$Y%sUZ~%9He^wM@!!F1mjC~I7SQ!02 zLb9O&0Nwo9PSC7ar!Zg>dW3{88|Lzzo_W>!4?6|d87`(M52PiRg}Q{O^S8wu%=Q*4v>&+5Rb?ks zpqiYJa9zt#yJv6#<7(mUTFdWO0fNpwkYqT7x}u0E$n(>ar|W(bIP7P&4~Zak@S3rE z^<&%@g)HG{N7As?cyntMatTH}QoTmTr@-Z{=eZ6$C0eAoiaZF=gsasa_PA zr=Ql^zkQZI)#k+hf@qv3zwn6QOxmRQApN0MDn5;~pH(=Zx2zh!l3*IfqjmBy+*!(# zh@_vJe1>v;pQd6w;m<*^--HFrgO|>sulR%OL=XfvWw>TeKOB|iBKE|zZ~J<0@h};m zRktlvY3(@tG{l)?(mfboLR08}n+m3_sO;qn9fgR{&m8C5hGIQ-o=X8O)?T3sO6ZtA zEUmbdAT92D1e<#ulWo8gUrP9F?%T=5U)-&%rquz%c1R-W9jEv77%X*iypXlK{_5$@ zQBF#CbrC6^hH53_A$2X|+E9xC09@O7XsMqZ1N}vii&?N9Z%x}?ig2mC`F$_KW^_f3 zHk#%$O$c7MX3PhvU&XWNtRH_AI?5z}ODUBx9TWK0|AwQ4`_Ccj!`gnG9;TyS7Blf2 zu?Z~VmQvT-q6!-!t*&DlkQ8#Ul<|l{+jwSgQmcxPG*V&cxGEFf<3m`?(OD); z%e*wYt&=sqA)h)D`8@{HL=cke)M_jz=UCisBqVT5C2Ji}G;}mbGVd!Afwnt0%U$`V zv6z24hWpMnQaD)0O77@-`O>iki-ZyBJaHEi-6lh79{A39XuuTQP{1o7@S)<4BnjqU zKVe>cJ%O9`*t$7ObEh7bS5J0S0F^B2Vm$!e$Y{E&-{BmpFLYuo#<_O20KR?k_ju7!&qU*>6>r2Qeg!kNWptCroB!r9 zRC7Y6x)lx5Nhu-39oHO}P;SKUS?n?oq)OiPP`-sY^joq)UadSq2$*HBQg(A$m3NpY zS`n77Z^a_dc)bC!b>21nQ5J$dvk)8l4tH?i^hM>Yt!WP=GWPWsxs7Q zHDPln5)^xT&AWWYH*}d^J?Kgwivbj9) z0_=}+=DniKfcxjiMrc#xHk_-A89|tK*HzBktG=`ph-=CoPwYL?T@D#PQRcR_TpPR2 zhh)1?!Nb~IMd;7Msonj?Qug$%oXL*!p&tN6jI7Pvl z5VgmatS#K`ochhjkt2^U6j5Mnv_&!q4L|Rw{XWK3tVgCLykBE8Xx(=FLvJjvo_XKe z9=YsDHo&9CaTb=RpKUwkl=Ap|K0OXnA5jgwJ>nrxMkeFF)U%>WZv&oF8865H3cT+) zen?netI|>ZpqO{W_=@k(udh0q#dbe*cBXcODC+~8J&&ljwiL4+%hnBEE|s^U(h{du z>CetN+LOkw@0YH(XvO(OsXjy2+2(F#(U$M%`EEX@RXmr1NOyRmM4*3MWN!98S zfju#lfK!*HB2)fapXy^?bA>J~(^Pmb#M;mb>RY?TFx|6N7dov(6+-lSrSIYDR5b*_ z!6^`{nqPenJExJnmAf&07P{yNK5pEf9_+bdj8rgDJi(76NZrx3#6F>~_EU_^Qy7V5 zThmm26Rx_$wp7nNi8&$onltgfOGjb6jGNDC_{e7n2p;JQBKxYr5N8mSXJRu2{GYF)M{_Myvn8Qv-dQAGYqrEH zT**G^3&0PiPcOTw{<`vG*77VZw08S?bM>lY?&@c-vhkgA`Coz557!md76dwF&dk~G zg*!8k{>rmXh(U2l!XdWS^r?*_=RH?naY=I?*f%wC)E9E)VSQ z)$pmY4---E>yX9Qs%h)QUf!Get9Vg|piFQ>Ou~h9*3Q?eR$( zj(ln2jrflIS|W~#ScLh2yRUy~^$~}Ttc2koQ{aDk69FfR(NF9U%2w2{TlR@3^ zqH&^)6<)kKQX64YPJuUfm1`&rdVoZXoOzkrDTrE2xX&JvjEa=5A2$$oSZ}#h=mp zReY0k*L~oQ&2McIDd!q_)5p$57v`LHA1H)Q>cGKo;i=9(C`lgO*k_KK1DN_(3^ROu zheFAJIp@w3rLA1Dq^EvtFc}q28DGpNoOY*fz5KFt!x5p3k$vK3vt=vr{j-24q@fuz z0up0Ey3SGTO)HAOfRueQ4nrToa`zx;Mk@Hqk;CLDwvMQlZB;SPSA_wdu&-S-ACbN-E|r&l_mTQ*7Jn-e03Fyu===I(KLhg z5$=YQ%6B94A>e3eUfL>|{i*wyoD;kD*8B%deZ%v!CvA+=aL}tSGhXZ+R3(N+W}hYm z+r_EOi-ntR;tBuTUiS*6nkDy*?TAZGX5v!%t_1+q-joM~_~g8&RSrmN}9Q z7~%}WOFxweeT%K9uX2TV^o$F|ygVGz^Q(5h;|mdA&L;;7&i3w?^={~eNQL*)fpJF( zdO0SHfnAr&tVi=R%H9B7Z70hIrmAeBjrDQA98N4ji=-J577=Cdt%J=eHs_qjPd*!q zU+@QX%E0o+K9N$mZr9#?Ssd4rViI-rFx*h>Dw_neXC|3WVqK`%O{vk;n-~pEAGlGa26a=MX# zANVJ463)8C4F}_n!5C+-H!>p!Jk3vbEq4uhWg-Sm3Wd`*iyG~Z#bX)RMVr4riJ&o- zvVNnuD4|h1%tT<+YcrbUnd~q2xaY~xa5Ei_ow5x|Ctsw0VnbCWQG(w|dltgu$m8@&df4G; zBa6WX3KQd#kL{lqVKC2M&Etr#^1idh(q})n^+PJ3@yf>fFk^!5f`x!)l0k&;`2q6pGi^Z$ z|8;>UWh^!iHsBTB8w?i{w{}s(qaWcABUU;+c-!oR!4Af_kVVz=ao0F#B-r+aVXX-a z1<`(2ts=DayHLDlqWOj}kQ*(J%p>x%Xd6|L^!R-ReY13_ETzc4jX3!j!FqxNtxhRA zyDDF>XxIHHAb|(Fy9r_dq53YpQ1jY8uS5yAo5>Kita^dj$)s&ng@24lrbuKwo52_k zjV!POlx~>M%dct}s=HqrgTAonN|mcDZ~R0xkQ{o}P4&Dt7KAi3*reaf9vzoLhZE3_ z`-@BOFLpY+xG_0WIRNS#zxin+$OpS?cH9;2tsyIJ}z=I`b>|G1+&W# zLhow^DRW=zVWJkNJMVk0KL$Zj)Ej}C;A}$*EpeGBpHL$LzG_ zcfG7D`vxl4*JL?YW1Kui{YqVo68nZDa zw@1qT=|W-P;IFN(pG*UCIe7C|kCZXLAm-P&y8PKvqn`p6oG5qd6GUU%sBj_M3 z`pDDCUHWJu&q?RP;Bf7%d{S6mr0uT~pIRGCsV9-=R(rMa9sq5-+Z5avZ`%)g@BzA| zisNBRYo_*LJhoTj%kyG!_DsPJ=Z&iHT1q2)L+@RcBGhi#g0=I1GGz#jeJxYD>xvv? z?Wg~XDD!koeUnX>#WWFFkhxgaI#dAXNLD_vh9?gPL+AI&E>ie(mlg{KJ1?4KH#>}w_(GW#GY1@V-B>7NSxj+>7j=kwS*V(EWJI7&Gq9{n35hIvl}W?f%DfXmXZR(<9jPE|RVaHW!k zs69mg3~g(29f7NffXbhb^2^t0aB2E`)XGxRQ?tFyk#KzaLSbSPd)e-8tO+%GK3vQ* z`SUlw2|mz~PTkcyF}CW?BB>GKQI7YIg3Rj}6?eXobiASq!CCX(9|k#FGzbN%=&88@?*K=MWC9|S~_ z#ATIO>?)N>N^GSw!p&*IYFK{ex(_D50zUp}=>pVI)NxTVZ>-L5L$rHoD$_c%(Z@}8 z#+I)Cf<98tClbW=BKOk}GAEU;v19wo3F78W%LEe;JXrQw`|;Aj7pF@NYC)sV&F7nm zfxf3lUc%mUapQ5zq{#R|*`7Uh$fEmmGuJ-;(bkUBk5;b!2msEpD*dqFX(4a@DdWWt&68xm@v%nx0j5YaTS|cX>4HpZDZx zHEmStoX&utV@+ruFcv$b7Fk&GVUA15By|-s8tt~+8_rn3_wzTlQ?g| zCj1mM7iMLE!rqh?fe1b&-*vJi%8c{FbybYIlWkf|WE9c#iVoEw4N(AjdYcLm4EI`}!)KD|%;f&5%~ z-ljw)J6!zy@-!yvW~yq3CBj?oA~1yQmY6|7k-jx`;=XtE1(A7_Feh}*|2cX<*naiS zjn@X_nJR8MLD_y8p|^Q5t9mvW4iOEdzcqy_K*dAP$J7qCBMnXVn}DaE)Y|U4OGza5 zwym~+SYBSh@$&);1NEzlretPHDxP2Ly5H%!b|8?mhHL{KJWG zp*=e>HZo)vH%%&EG5#z)>j*6a(5HcuA75X6{v@3)1SF$SRss;5?YJ8d4?Os8V#D^7c`x?%b=hW8}VfIK4$dY_nI~40$LYct}IRVHQT#w zH^)i*G`tx}8539wtQU}$KE_FCgB)lzwn`Vakgza<*>S&831V=E=2r+p8jQho(FUxo z@qaCM`QyC2=Nr~!r!&~`84_W8qC0Ff_S<|Xt221u_!H^QaQI_{&}HP_PXWqpDPC3H z_7VZdg{MRGDfX#}r3I8BGW1$-4=ZC>ok8ur?$QHj9o?S zLB-C)bZ>g%`g*N+E_-VhBo{;2ltn~AGof|#xrge?(*^!yjnXAZ#Fb+sNJC%0SUz1n zgU~Z|O*YPr*27>gy7{J}RUO!c<}Q=?3rxge8~)abzgd7OHj0efEc)%j6e1Azq2CX$ z`cUN7OIsAo*5?plPFPCDYjCPB9z-bX^OQGDjdU_Uq?UGC#gE3z(EL$`-*?7b9duZ| z^{tGX2_yV!K_|$}8_OC9I7fz7jME8dF;ZEUh&mKX@eI(7yy$M%f+ySR2ZeQhl2DuV zG?xy56V=(2N;+INMT=|9=KdJCnZ7WSO!qVz-6F6vEma5|u@%L!t;a;3@WebeG27_`Dh)P)7RH0Z}ruOcM&KOg#keK0ba zZI}ed1jl0{l=vsdtlECf@%zUq>Wm%OR1jH6qw$9jKB#oQ)M%jM??s)$dRA3>DCN<2Z@_4Ba{FPJp+(2qmk4S!v3 z1KD0RqD{i%__KWt-wKQs$-A2Wio5XUalU9VWfv*1i7m)4vyHZUUNybVOGla_?J-~T zTF!zp4!k(kdS_`Ja4`O(7MEqb=%``U`AnCPMjN-Apv@`NK$tRv=0q1aFVJ9o&j}gZ zUDgviPT>n?T8Q1GNH$S0au)ao9|$(USCa3uqN%gOM+#Y_AB~vB^BN+@r0ji{%h*?Z zS1|Y|sT+0*t#nR;T&N3iq&>g8*o3P$AZ%5p<`EoSaT&!MJD6tl?w27rbhH&=$n!hq z1ZJ;mVy|Edua^8=h3p<=qH0a};yux3Sv?0?>M?nGqmt11sRLd>t= zhcmleJ;OA)MJg#s$@Oiy3DUN1vrBMoYHB%!M=RCn{5a>z_f`FRZN{f!*t=tEm7+uFo4!AW`(!uZmg;_+Q^Yzd8`gtv^*=Pif+Yu!L-96;}jdUfOOb?HMjf$h&XzU=#C||Z- z*Jtuc(RPjB-C7v6^5c@~PJF@ODf{}gGxt#G*J6{KXYXz5J0D-ruj9WL5&-#s!)H@+ zu+{fvU&5H+U|`-o>CR34ov9@`ghRlh+%|IimY!|QYN<2-|4^W=! z1TUYr*(RSTtY!2p*76mDug{)9cFjuKmt*|pKGtf;6dckA7b06{)hZEWBSB8}+I-@mnZhhAhPD?&`@}Xr zf+en0DM*qSqNYU4xAuOg{6DS4L?nYgcA`L_S1131Y=|h2C%}TR>!*l zA_6QQ=0JnqE!aYtF}=kXQ}qdol>Q5D__i+8B}SDC8%(FEsHA->-2)HTbqiBR5{Nfd z%9Uk?hs=Lq(DDJfAQc}Cmf8-cy`2F?-|dPpoF!ayqW7PMW7rg~B>P={K!uN^3$_W( zB)1|8(j-(+HRsoX1U?SFRgc$TQtmTDfHs3%d(W*knZUO{MXF zyDUc=jQ=9yuMW|Bp9}vx5nt%mdHIWo-{jnF+U6<-7k4(^6>u>!QxAAf-!FC^Y9?&< z*n%Su zJTpywO)`9M+GkP4Zlkb%;m5pV|-sw(t0Xs8hJcD$D6U(g&kQ;bwu2(uF zkNKRP@n{fF%^=R(PD&)0OQQfC)$zVwK1BG}H46b6kMdjTSiK7uZsp83*@gYt@Vd}m z9#rMC?-L`;2myv%<;nZdDnU1YkbFGRi&4I6f^MccOhYxssz_*643uFr0NmrC#Pei- zo$mt=Q?!P_*wJUDiKW*gniRIZp+ilGxznNNZ<=36kMqIpiKuI%yp~3aY2T#>0*~vr zI1UibA92sJFt9iqc@D4Y<_p(Z>v??^lOz>(ID2R9ByC%4W`&M-6)Q(0B9Y#AMR;xv z&^e9p^3eaU+OavwTYp^rAgW5fj>&4OT$z__qugMFu7W?wcDd_5gl&zf z`ocXHT55OR>bK0$xR&YU&mdj4E;x3yq4_Zl*Q5vq4W>RYyE^8O>>H;K0wYFf%X7k9`&MV<$z*Qkf6CCbE_;#ZX z&W6czutx+!T;w_mlVIZ08DwYaFrv@J^eQvjBSAHyDHy396g z-?!0++wKLZ;{yJHlHYIwJ)yytcVic3r%SVm{2O+Ui~RCM4Rye$GoFYYgf5H-MQXJU zW5olkWMB_B0PnQgzsw#pv6zovSYG$s%s1wuaLBo1TWBdjzOQa7OeW^sV*MdZgCQit zX#EPo-Y##I$E=j%7d@n=l*U8IlKDu7(rB}~E@A(2OM1|L{72wac0Q*5rGU%x7vckD zX>~?hdJU!qrujn?+8Pcn?M4UNmBWcq`mNu=3Q09Or!*y0X{QLvXt~xwk#hxX*CR^HZ}V zJarhzRmy~VMJ8_w4&>pI?wJ=BNqsFj#{1Yb^^EB}pU5sb#^f3F`3tjnyeOghqPF18 zXuJtlkkiMO)9cjq=dLPK6of#Cj^mT?Ykh!lyUy!yPTL{Dz5a8|-^pQy5VwOdvU?){ zid&tps#u%H24J$KN>mx@D^ZVKsMo_HSMhw`%*v4ENr-IX z_{&~1V^-JofFlk0h=O;t&QDEx#5f}C6ya+m83U#V+Fr+I0K*jp384+X;ZS|{{-yEO zgZr>5ZMj2poH4SR{x2rIEE-gaU%ejdrR|ObLS<&c{Il-gpf~uOr!2#fPTUn`6sy5GudheQ zgL1(bPno@BbNb0S{75Ju48sd=tsrYFD+cybi7xRLL5QKC{fsLKFq1Ovg$YfjW4ye; z&|T|4ue5ws^?6Xd+K-MmI3C`u=bgynUv}v(Jspy+8kDZBjwfzc3z1e-dP_mB(s#a`1z6u8%qOXklyLnPQDLp zzWnumcPe1jEmXg~7n8-ehAFd8-G5}1E*Q0WAw*9?D~-7#AjI^gR;3IZ5`kb=OJ`vBLE61ouq4yV9tX8l_BE8*Ry zP6)v*g-kVHtwMIC=WXiO5eLT+NqD+`z~cZNp8>yYJKm2XZRMg~fNiP>VAQT2{NH?ai`S%A&D}3{(V7ZQTe;h|Uf8~H35j8VI ze8!fIG}b-|H9<3(UXy`)%;-w-nNOhr!lN*v2ymz^HOpFU8bH*YVm%XDsqnA2w7ZFY zm8RWkg;Geg1IM4_N9($&xK;dhPB~(%Ee+}hX5mE-q*2Jg{5->K*uS9Up&IRPB3(^3 zkguf|F4 zi`;CJaz2<7^*K#DED-f7Jf=H8e3BY%cPaDBz#GW@E^Yh6u2X+nTS#$v%j-3`O%6n{ zM$eJI2=>>-{{$EVuC9%{UGvE$JNWDMfO)!fHHAaR!Eu{a*&`tLA}3*d3=}@;Jd4!c zQHOH)9!>J%07f_LR8)j{u<^4(_?Y|_wT|wT zJnu@M9@BMe3u;}F<_{+gPkJC4{vf?s(3(cjw&8kNf9VQ5xcziRDlK#AnO5Ab?R(!0 z(3JK6{h<~kb)|ayq4(Aif8e0$!EzX&d4u*4&MwnkH1SHS-=7f-z>I`;jk?KS5*w~k+yeI4gN zoX&-vPs)@Gm;$dDuK|h@FZQ*HoBjtZE=eXR5(BpNFYE`PZsOdclK*278n=6N}yjJMKqkrAMM`MrVzQlMk15jkpShAix5?J=k zauN5yEACc3Sa1gfdGM*|sHbw$A&2WUASefPpmuJA!cS4RK>d|`^=cg3>pL>ls%vA& z^OnrRJ4idm$inbfw1B82q%bop^X)l$xa>j#mYf|uO~sw=tw1n2LoLjq51mQ+ilIj& z<=^L}@=H0u@&Nnp{Vv`zWbD7M1>q{%K;h42y1INNF~xh}>i;B!bet8pAQK3On%GYP zTeq|j+Lu#@3u+|qpmlHgqdJ;Ts=^y^n5uEYSqpV%0eBe$K{mz?G+uq%5Z_Ogtjn6v zxd|I!m{GI!z8XHjUW9(tQ6>v=VJ@vd9!OXNhgefdtYI zNijA`PoRpSON?NbaJrcPk9%-axyc{#oH7dR?{QY^`-Y1NfqozxM?glKa0V+VFAeY^4J`z3^!n_@jgoC&rMSru?EZ!AKlT?FmO$Rg^-KI)d%Wg@Nx=Ho} zxfb03Y4j&U)wko!kM$XzFBuda3dQCe5Ye-syYF$sM^`qQPZ0l<#l1(w%h>$6TFcJ8 zhrf~M8hcpWBJDoncL=KZg2wl!M##Db(0+1*M$}$i6_3=OrV;B?C$@iXsJm}~8!9{d z42SXTbNm|DPlZ50)Gai`~O zzD8Njf-A23$0@gjpg7GqfK_&iz#lJ%hew~F#T>N$Jwl(I?m*1Xsd~bOU9>}%M!fnx zY9)O_&)~Q%LfF{&_@RQz-act|tV6?f8LVSp0Xr4+r)LhGqZ}?m+~<1k^Wbbv$GgDB z&R^;x2VMLjO{fPQ11rpAz9+KOY=+rzubTpCUw)fRogj1Tf#3&7&IAw5q|2N zfUtP*v28>!C&lKS_%TixHy1rxx8B59uA^Teenqwyx?$6b?FcKKq4I8)KEf6QqJ0I9 zgItxa`^RpCEY<0I7EW&810lM5_0h-!(OE8ejLni3}T};vWH}+UOWe)aDGM1R{_5kYVhPh{$(`O;@M#I z+ZC`eOk#FA*m`;1Zm0cv7dR2l7! zaZvHAF^_K$K*;?r{opK$#vuhi3I@Q=ihfSe|95#`$B~Bv+Q=PbaM9w3>z|UMplh$l zI4OU zt;FH#41e%eyL$u$HeaMgx*l^C7QQ0dW8nR}PSA!Qr%36cxDLQQGF@+HLJtynKl6=0 zIX=sLDYZSn`YD~)W%pP!T(hMNH%dv!`nti4iwMnJXtpA`y7IcJ2pvd-yZqeP zJOWR?n4NqP#dO=+3(>|D-N z?j>kpA%x_zQF$h8h)9f3m}Fvj{jq-tLc+7KW?EwgboW@^iGv_pvlT!o*WB3>dbk(w zfQ?nNQDXJr#yho-qr=lAr!e z#Z1*H>bn*K2$<3`4bldvKTyOCcMiDir;~P_hqt!(+esaYoELNA0I7mRiP6l54@mwg za4n4+7{2uMBYRXX}5 zlj>j_V1}E0KfHh@1UCkX`tZj3#sIV)048Np;EHuHSQ1doD5RFnHLJ}tn#v^w9x}VB z@(;&Y6qkRw9Zl=_`}XTvTL}xtW3xHu--$dDo50QMHGx);VF z)!wg#<@p*%?t9R6+g#VHG-!CAoGy6%DmmUPJN8-~j(1V6+oP6m#y*>HN1BGjo``_z za=6@$Ik&V+8Vf6Z*B*?!8Ek2#xxPJf?^&#dZt=c)U^@p&`Tkj|u-j)8$D1X)nDD?rFXF*q^F8`_;xtZ=7~lO9U-H|bE!CWNAEwv2&w%CUs+wzmzgH%;y%YH? zKNEV^=u_vWSe3)@N)iisa8{fZ&ievNSp z@qQq9VEuIjn$Oj9K6R+#TaN$u-5lc*kl}OhPAz)(cZ0<+%}h0=sg4V%L*BD)Gjz># z5CHlHSHXPiduH~kQ)=soHnsVx2-D3Dt z7Mr>?EW;KO8hX4B>ace_oEJMC6phTABvsX2rVkfxSa%E#Zepv+s0BOGB({$z90I_?!~Ma^O{1>=Q^fvad3weI z4;K;teOlWJ>f*gM{k{#VB#_$%inQIDe6lyhH21DGQ$*T?)04UOy_dh(|5kV~qVwj; z6diS|2-eWy$Agsfw>6|Six$1(6vTtZA}R6oZo*Un+%~coqR#lzE!5yB0S(dbw+JM1 z#8&6~O`bH)Mzn0=BN_u1PXU_%1Io(f|KS1 zFN#GaQEN6I-NIPTj+CoHqr@qOti&l4_&ZXi1LQ!>Zg8hZz$dz(ja`s$YvOfTp%DuS zPb39LWE72~MITI|bv+N*TI7V|`7PeD>LL!W)%X&T3o(oYME4}iY!KP|arjZvq|l>h zOuRJC-AwdvkaY}a05;8jyoEHLb&_;?x_W%u7ScjrRfHb}5?%)@&>?ZqeF zw>Z8|*AcMbW@@fE3i344f3g7;w`dLbZxWLDvf#d$APtPMDH$hq6|@}KEcVDBypZG` z(#CnpLlbdHPwA}cZ2RrSK>XEgpfqH(3(wPMGr$A9?#wIE zO|Uy{WGQ{T2e?P<#nf~MM*CqeJ|-&QwPzo?r4pw*7cq0i+XDMzZ!BXHK4}ZT3cG-M$Z9>XG z)q{foB(VSym<_sFfeB2x;QiLUe9mc&CityG3-qWp?w|wnr6g6`*P!Hc!tOdNa7$uDZX?bZGR6>{gysKi+Y0^R+~9jdS9r7YOW z+X~H#MobJzx;~8wo}fI?V`DI;py@5^y&&u8>lnu#6kIeYFdY>l$+~izJ1@$_pT7BR zu7ERHxnmiA&1ga(QGCza+0(($CUnE^BQsjBTZFI5tt8`5PKUmTCrlI_pQ}P~R1Kcf z8~`3U=Z;T#+BmtY0qdV?RT$9nR}t#rd_naoi;0q$Mi64AKXeYp?K~)^nISK|)(O}< zq~eu<2NjCPZG`5~flSSitH-#pX$t6;)B>*~lf>$GgKZxVQ8Ea(%MeZQg*}#O0}p~L z@Jir9D-+IJ0dE4PjbBP|V4Tj-T^Rz}bcOiBcNWQEt;B*B16*r$Ee4}IVhi-1_1mkZ z0F%S&>vF&G_uE|=)RE7V)AP*@8a<7x=SP*7#0WY_Mb7Tpd9EVacV&N0#fWvfMiIt{-xokhBxSEqABjmpEm4E`M2>Q-_b ze>EfUc4hD+4+LKM?ImXAUF_U{{T9z-b{nmeZE-;CMjd>7G4Zx0>)JXOI(ai@AEs+> zTaH+my0iF+&#`C1cxTk}$Mo_Vjyrz1Y(Qu|Ia<8XsbyMy`=Cu=@ zCTnLjKCzPkVC#7RVrLjp7c{qK`DXZ$-=bIuVAGWtSCdChuK-3Lu+_ER;OP{4H2$cdXf}hz1(1MN}J5^A_nl-ilwg-G79AP z{ecGqz&XdJ0maPSIKZ zWBL7-a(Q!%@%Kvug0_?yp_eHiKAR>~=nMOP*y}Uthcrqj(=yf>f!L)!ROu?=l@a-m zlVnZdtq}v)#UU5!-^FIzDIqs{hhQ`Zkh2h5uVRv;t6RVX>D=Pc-;DGF7CV|l4#v$4 z&x|<$2^8F@5IX^X!Z^K0PcWmj7Y;q-R~U(kV1)-HA!A}=9v`G_=r=^#88b)4cKFlP zxjjga0yxN_S&=P z&M#BqquBlaO&L{dqRX#~@8jh*mbN-u4d28Ep2(x*w$iNwR{~1JM%&6Z^yUu)t0(u? zcAUdjY^(}t)33#D_|Ib3-Z50hDyi-sw_#x&)Da%}_hi|UVGP3ol#@rQ)fVhnetQDk9* zhXj>YldZw)p;Wqaj~l%s2n#M?u1n$^;rnDp2f`6{T%xJ{_p$#ea`1Ow`bhXx!3plUe|Ts*KKj!yX5GBi*Q`dj&fWrPOVjRJF}mg zOr|EHikpK2trz-*+4*<2VNcwLFs0cZl@#A%eh-o_L{AWTy`w=i+eECI?FgccHFbL( z%)k{OoVu9pzLE>8cpK*2X*6WM-Q_ZZvHeliCmw@APP>Z=4g2R&wtzsu}oLG#68KuQIH+h)}6^Yd1eh_=jx5z2D`b66$O zylPd1w-P(i#W{XH=rD&rBr-3T$zBA|o_IPXsYQ-lFS6^cs$<+vRe11!H_4 zX8E&NxpRsju=oyYY_SWn(Xr1(VTncVz^7KABYz}6>na=R{obw-WT0IM zAt65)^|(OqLl(+0+-StYC{mdKBBknFhk*rBCA=gDtw)1%ZDQ-S&NV|l7SiT#DQ#wC z16!;_g(Hq&wPl^69F%2W3qjQsBA4lVeEK-wS5qItIX+ztU@(vj(g&rCV~y*lVg~Ci z)kbw?uNT0L%dEBkCc)Z?=0<*!^N>p39Cz-@JL*KClK~2frL6UWkEKqGlOW`@kDHEm zXepl)m2=`gqa?v){zyL5&+PGKO9b#lsB_P2?YbURmK8$QiEn3`qWz2kiBXP1`n4sn zPQve11v!fAACZU&t*y1Fh z_v+_Qgm<&fyYqTTS_DyVm}P!t$6~(lQ&g#);Ja%2{ufMu;77g3F73=Kw~O|)>@n1^ z(;AC<2?~;0j{ZL(LP*1l_U8g9Vv24EROPG#{)f|p;-GR$G&Qe%TMb^fS>*9LpH2P? zZv5Qzsp*_$TQrFJI~Xn)bA}PDk>-9<`+Ms8R0@5um$emd@$L6;Fa_|@xLgHW2YXZV zr+o6J3jZlt0)@Z88~Ua_N&7n?KC+TUf3QsoNQGjV^QvM7GbUb7hezYE)!BnpHYPaH z`y*>lr@sb=D#R-VLD&%Fmg0%t^6?t((OYY}N->>WTQXSZ_6#TL>ArVaJbQS1J_D06 z7%Ogmr+9s@tVz?Ps(dY|+lEd8CeF;YiyTbd`%|fc3{*KOtEj+@YV$Yr>C3|0>{Hm3 zR_lnIZ+)56=)b_AHlV`wg1Vs9e_@|vmk;%GUr8I!;urlQz3dYj_~C4~@?~H=tG8@k zX)4Jz4KC^VAoQmK`;TNt`v()&-5p0 z{VdKhuUzW*qdqfT9zCK&oW_g>kwQa^*r0{FMN*F)%|OS@FndSl%9MH2V{&!y^@Sd= zO;W`6bO~#jX`_FRXInH+@Ipc(#kwC+c)cW!w(#_FHgBaQfMMzvC_!&MIIB)IS~)^s zX%ox%db!*_boIE5`bYLWW?wDZ*Yl51?Ix#7a2(|+3X$f4%mFx&(0O>C+)_U=TdV2@ zPfFcv*B;j6)*=YaixyQ)uXnN{&sluQG(;5t7Ok|mPFGO9`3L>Q(ZS?I8}$2$za}VB z&E=QpTj+3)@q?TILNh9LP*LW)2sz5qFJ;gjK}_m8#mgYPQvtu1%`U?74QF|a(xB%sy#p7DyRmc@Jsk_)OabTEvP z{EG=>Lh4ISBATqmPZV>ZdCYoYY8$c<&i6D5glzgPn2vp;Qt7{~P_|HQ3N?x_ckJ*5^p$O-0b-;AP4qY6pgxa4wIgJhXYX3o8(b@9S9%Y$JwXA)MoOIu zmK*{G_^ySKH7m&n`?#3GdG76>XMK=rCg>k^U=Ua)A^~ zrd9a)^i5zi0wtm~NlrI)__fh~wJ4j^GM#$QDMma7w})xIxp^l3tUlj8zk1xnMYOPJ zH8&ANTr40EnSe$4%)YYdt*vUV54Xh+_!4f6p7TykoIMGH{p1E&L;V@*(h~&fowWMN ztDSFnZ`RCGi8w>jnypn8NYRZyX1jQ|wx+o?!k!=8_?*#a*KZ}3Nz{zOM965569`VQ zuf_a{+Rqy>7T!XqVLsD07(eeJPYOBp0|mhjh}>{ygdv`aCzlyUcQt6&ZTJlXR;X_E z`E;w7VIp*g=Bb2hv|pQ9jSZg72QwV=D;R#!%?}|C|FZ{pc}|9aj`@)q32TJ3)IMF3 zrv0u9D4eZw692oa)twV#OK&^mG-9Y{0w4Dp{?ezn2`D52NqC?PUJ#xmKC?I7y?>f( zgl6WN-mR$4q+u06MS+V28yJOr__xUXdo98^Dg1a;Er<;1Xl7 z`vJg?e%qlgUDnSG-l?@Qb|HzI(#xOs(16dK%tD(6i#1%(v|U1M1=OC&BvQEt*O;o* z817o{Ycbw{8}e@-D^+1Jd=$tvB*cYXZ`C2ga?q5|`y6y0LEf{36PKmYtD#rEN@%f z1cLT(fTw=~IMUm&r8yOGJye`d>o0bJ;c>-#yqsI%3xCRBt+PK|Zv3tkA#CS1@sLIc zv)}rD-blLoUSUR;`PBQg`zEi^55pV%#Hhg-53?uP(f0VwEY1t;5; z53lYP?z?1|Nv-$o?yyzD?CHWD|NPcV_N5&aSLFVABlzK|QUehQ<&hP}Hehqp$%28Z z)x!130&A#2z}4n7jgrF6>x7T`Z52Am?vSJ4c8R?xkSH1PWa+AIrs_q($OP z`dGe&UDIHQUsF*WO)`6=hvtD$Ss9Z+=|VBgL31Qe%=R;myRhL7EVh95FPD^GSS#^* z@=3XvybF>sr7x9>=Zh5~QWN}h+^t(Ao0`69a1#p9pN|eu`32#eF7jB`dImUiX*!eK zG};aq*13Nx8}5O`TfKu88mIwsMB4W*aUY3y25IMRoD8wYDKrU8S@=d;%ZGYX5H@*n-AzvTEieunbkVvtF>$9MalxVy$j7 zFkQ9seJ-JFr#Y`=@7Gy0lO=q3b!EUa#iT*SPWDDuRylfOl5bsVm|Qb~hVLEPF4rTU z$(JQ3P;s3_b01-+QIv+0zMG(R>iT+THw97YJRt>$U@!hlUvu9GHuUkw#jWG06H-9) zl(jL?Vbt+rmdKi~9ls>cvGphNT|r()_Kj(?59as<2`O)j?aQ?f0(aVc3qtbh!kBtp zMwYwbr?-!}1Np;cxSwHXXSnMz7hAp)8diI2EAozG*)mVT;lmKjsQ3Vnc|xwCL&B9$ zJY+H+$G-e|u(;9Dd`fH_JY=v#H z95X1ld3?|;1LHdi1Tf5PA+jzE-7aYj*4yF zBEb;p;ayIq>VJUT^?UR!hkRWFuJM~|lw>ke`={jgE1K6F6^y1v>55PHV%gVS2}q`p znWNA^z4GVX$=unLC+{RQ#(=y-tY_}VkG!a+8v@H50mSdzITr_B5kuV{Uu1Zu&mPQ; z3nDVcC==oB8dyo990=sRV-|SVYqoR0=>pSgN+-T+On9Yu0b}E)%nVvG2D`t+Mlht` z?~`MCa*3Ic{IMLnmNs9D6x&&lC_rKejd>E^?@0AaKC=s(ksC4})!lQrprLYmLuq%+ z(8v?6aRMZbDARb8sL*B?clsRXCCOqGiFLDmuf`XLNPe25=P+k&j-NIcso;SlKH_6H zeh+rowUJ{Bg|j@QT=GhQX-qnCmFHFo^S3~w4G{mcZE=hK;@k$@oepP_5pq(l>_KQ zWSHDzq5)>CdJT@ztM`twF{8{wbop*OblT*)m)sK3Bil5bYPqcRGymAvu`J2W=lJGk~#mDBY#_DoY* z!K1?!Fl28OExt!E(-$kK;_N$kK$!d*Z0Y8v{Ks`af+wv%va?+JToot#+F8Jl#s;dj zSv5blPu5kkv=4-g_)ol#|C97=8cBDhSjEL7!nu31?~(C~nnNXd%?P4m)VtfHS zvE(oxFkc|fm=0Mnm~TYdqTR@U!WkmY44h@j4n{;+wvZeX-TEIcyN#7V=J z^l2JLV8f>&U>Bws1|;IzlCFH=yRcJi1Krs{1UtUMZsqaqQlmGZ1Sy_=pd9ZOB>1W!DUe+&!-g1#*HyOVV0q55`KldCE8^a?QPI zyD|SABVdhyn7!@bdscuaknv1Uo#|2Tbh~A;%lzOOp-{ieMqS^)>L4P21^znlEIL^r z=0y-sqH2qG;h`?gzyAINd7opJ$sDF#({_2iPek$uW;NX$HH9)WU-(q&JuBK^5brtosJ{{d7M8MG#q1~Lx!7r( zzJ(7*2zU5hbTgY*7gRYkicTLP-VKzyRQg7KzuIh~o($t}KW!a*NsGUUqVrWuO~!vw zo|kMQSB9;6!me?xDx5z?D+jV65;KOpLFciIra;i7;Xy`^h6&CKI3205juSGFc@nbx zWB~I8O`knbI=Vf8d7ze-V`#-kBNW8(xcwM(XG2unFS!-i=Zz0WMO%(voUZ~U`T8YK z`8}UO&th?3l)*hzp6A)iztXX5ZKCX$Ssh1jURULog4#YTa*WLAPkk1f&h8b}t|s^~ zMW?=^pJYbvuhQ6bJg7d)cah7C8;d=VCePQDoB>tC7|Nx<^TX`3hsxxzY*9qxG%i99_(Bf)U1k3#fmljcI9G_DB>IE?%%z_AkiUX%(AV$ z@)Os_XO5}sTK3B|(H^)>3%a0nfP0DDW-#%9k7d%o?+{qSk@xc)~mTG5j{52`! zNb1{uDEmFfaM^c&iIWzRQbc`R>{0TI$@Tnk7PqvPDo&I3VQk75aaf6tvE?+>&nm!{ZISx$lPb?@r2eyHQi*lfyXpxgPhv?whEj4s$dF2*Sa8`;2k=ik zr=D8nSD<=lc4cy&?Z|t@OO3L8?6-kbc#tzV3Lw~s#`AMYbL?W)B$K4EjQ!Ld~ABNzgp%B$EFH zAYcb_-+d%4Sm{0)*EBqz@a`nEvr&?e35GMUMAKF|MY2w}Ze#f8s+XGyMrsa3*5h_r z_8&|<8%08E^7ppT2<{>MSq5?)J;9R zuxR)@EI0zfpIKA7AeAuKW#v&@bg^F#*K&6foGAiApU8qJfg%l#dQ5iF8{YE0@m1+= zvGsoY%aHXDcU~Z}7FNVb`sqIpQv%4ctdA=<@j*v@J zsB*HX2`!fKFtn46cslvTmC4*^yAtoqG1K~XUA&oMz5eVI_v5Vn|9}&X7K;L$Oor#4 zqFoIR?=EI5&!?I&CEIj%y z%p1A}hZQ|(G_-gw6cBufTF&jKS7I+&TqmMd(0@a%uJQ6nTJt8n;`w8(2av_cr7!K# zIQ{jU?NPSg?Z^6ee^AJ0@nx*E=}HIps|^$z=fk?UXR7*LwRybnoroy5LF=IbwmoPn z>{wXGJ3vbP)IAnzM6Dp&i4qwJ1~hW?R`k5S z^AQh}MqbJzjFYRei{W6IgfvOB;RmNd^>;mHp1z%?jXH;>e07uDnDF?<2$)Q+MufMJ z0$QOyJ|o=MI5F}5u-0HfBgN(DsERI|`!GhtkOw!jmMoxL zD%&*~BhBZHdwJ>YXiT{AsR)7#fNN;YLZan?2{-ot@$ga!Uip$flb=71^$EgA8&%#@d(AQhh*TXsoByN{rDFr-}3ad&I= zhFuHZjR+N2uj}{1nN5ZdJwTAiqJ~fZh;tqEEi{l9G=niF3OoWr7W~6z3jSGq2%K0( z72%wp5Wijp>N^uDRKHmYf%=@ z_o@zDwopD3kcLv2;`SATgBNe3JalkehnZw5pC#@d^G1Js2TF)>h+FpaqgIs)aka_US z=RmZ{^Z1p_s{uSOc>xc|AfK4|Fm1!A9&M#Zq3H31VDsT!>%+!AojzdZD;wfcD&;cIxI-z&_4MBi!`eiFb{j$Px^I+u)M(&WRbg7; kzT47IIY78}_m7+;>Ge**#pb#?l7K&j+p4z;WgmF|52DMa+W-In literal 0 HcmV?d00001 diff --git a/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/world-tileset.tsx b/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/world-tileset.tsx new file mode 100644 index 0000000..ee710e9 --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/world-tileset.tsx @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/world.tmx b/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/world.tmx new file mode 100644 index 0000000..6056474 --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.Raylib/assets/world.tmx @@ -0,0 +1,434 @@ + + + + + + +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,4,5,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,4,4,116,61,61,115,5,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,4,116,61,61,61,61,61,61,61,115,5,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,116,61,61,61,61,61,61,61,61,61,61,61,62,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,116,61,61,61,61,58,118,118,59,61,61,61,61,115,5,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,61,58,118,119,0,0,117,118,59,61,61,61,62,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,58,119,0,0,0,0,0,0,60,61,61,61,62,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,116,61,61,62,0,0,0,0,0,0,3,116,61,61,61,62,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,61,115,5,0,0,0,0,0,60,61,61,61,61,62,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,61,61,115,4,4,4,4,4,116,61,61,61,61,62,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,58,119,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,59,61,61,61,61,61,61,61,61,61,61,61,61,61,62,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,58,118,119,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,118,118,118,118,118,118,118,118,118,118,118,119,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3,4,4,4,4,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,60,61,61,61,61,61,61,115,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3,116,61,61,61,61,61,61,61,61,115,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,115,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,3,116,61,61,61,61,61,61,61,61,61,61,61,61,61,115,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,115,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,3,116,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,58,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,58,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,3,116,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,58,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,58,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,58,118,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,117,59,61,61,61,61,61,61,61,61,61,58,118,118,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,117,118,118,59,61,61,61,58,118,118,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,117,118,118,118,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,466,466,466,466,466,466,466,466,690,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,407,466,466,466,466,466,466,466,466,466,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,464,466,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,464,466,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,408,0,0,634,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,405,406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,463,408,0,0,0,0,634,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,408,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,466,463,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,466,466,466,466,466,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,466,466,466,466,466,408,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,466,466,408,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,465,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,409,0,0,0,0,634,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,462,466,466,466,466,465,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,466,465,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,466,466,466,465,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,466,466,466,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,405,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,465,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,465,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,465,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,465,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,407,466,466,466,466,466,466,466,466,466,466,466,466,466,466,466,465,0,0,0,0,0,0,0,0,464,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,409,0,0,634,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,466,466,466,466,466,690,0,0,0,0,0,0,0, +0,0,0,464,466,466,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,870,869,872,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,870,869,872,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,870,869,872,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,870,869,872,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,870,869,872,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,870,869,872,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,870,869,872,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,43,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1360,1365,1365,1365,1365,1365,1365,1361,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1360,1365,1365,1365,1365,1365,1365,1361,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1362,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1362,0,1363,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1362,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1360,1365,1361,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1360,1361,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1360,1361,0,0,0,0,1362,0,1363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1362,0,1363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1360,1361,0,0,0,1362,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,1360,1365,1365,1365,1365,1365,1365,1361,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1218,1223,1219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1275,1280,1276,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1332,1277,1333,0,0,0,1218,1223,1219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1275,1280,1276,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1332,1277,1333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1218,1223,1219,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1275,1280,1276,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1332,1277,1333,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1218,1223,1219,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1218,1223,1219,0,0,1275,1280,1276,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1275,1280,1276,0,0,1332,1277,1333,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1332,1277,1333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,1218,1223,1219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1218,1223,1219,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,1275,1280,1276,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1275,1280,1276,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,1332,1277,1333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1332,1277,1333,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 6191498618a5be6b30862a18c5887ab8a871ed41 Mon Sep 17 00:00:00 2001 From: Daniel Cronqvist Date: Thu, 24 Apr 2025 08:15:50 +0200 Subject: [PATCH 10/12] Add Raylib example project and helper methods for resolving tilesets and finding source rectangles of tiles --- .../DotTiled.Example.Raylib.csproj | 22 ++ .../DotTiled.Example.Raylib/Program.cs | 203 ++++++++++++++++++ src/DotTiled.Tests/UnitTests/MapTests.cs | 132 ++++++++++++ .../UnitTests/Tilesets/TilesetTests.cs | 114 ++++++++++ src/DotTiled.sln | 9 + src/DotTiled/Layers/TileLayer.cs | 24 +++ src/DotTiled/Map.cs | 28 +++ src/DotTiled/Tilesets/Tileset.cs | 66 ++++++ 8 files changed, 598 insertions(+) create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/DotTiled.Example.Raylib.csproj create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/Program.cs create mode 100644 src/DotTiled.Tests/UnitTests/MapTests.cs create mode 100644 src/DotTiled.Tests/UnitTests/Tilesets/TilesetTests.cs diff --git a/src/DotTiled.Examples/DotTiled.Example.Raylib/DotTiled.Example.Raylib.csproj b/src/DotTiled.Examples/DotTiled.Example.Raylib/DotTiled.Example.Raylib.csproj new file mode 100644 index 0000000..5e549a0 --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.Raylib/DotTiled.Example.Raylib.csproj @@ -0,0 +1,22 @@ + + + + Exe + net8.0 + enable + disable + + + + + + + + + + + + + + + diff --git a/src/DotTiled.Examples/DotTiled.Example.Raylib/Program.cs b/src/DotTiled.Examples/DotTiled.Example.Raylib/Program.cs new file mode 100644 index 0000000..b5b78f3 --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.Raylib/Program.cs @@ -0,0 +1,203 @@ +using System.Numerics; +using DotTiled.Serialization; +using Raylib_cs; + +using RayColor = Raylib_cs.Color; + +namespace DotTiled.Example +{ + public class Program + { + public static void Main(string[] _) + { + // Initialize the Raylib window + Raylib.InitWindow(1280, 720, "DotTiled Example with Raylib"); + Raylib.SetConfigFlags(ConfigFlags.VSyncHint); + + // Load the Tiled map + var loader = Loader.Default(); + var map = loader.LoadMap("assets/world.tmx"); + + // Load tileset textures + var tilesetTextures = LoadTilesetTextures(map); + + // Extract layers from the map + var visualLayers = map.Layers.OfType().Single(l => l.Name == "Visuals").Layers.OfType(); + var collisionLayer = map.Layers.OfType().Single(l => l.Name == "Collisions"); + var pointsOfInterest = (ObjectLayer)map.Layers.Single(layer => layer.Name == "PointsOfInterest"); + + // Get the player's spawn point + var playerSpawnPoint = pointsOfInterest.Objects.Single(obj => obj.Name == "PlayerSpawn"); + var playerPosition = new Vector2(playerSpawnPoint.X, playerSpawnPoint.Y); + + // Set up the camera + var camera = new Camera2D + { + Target = playerPosition, + Offset = new Vector2(Raylib.GetScreenWidth() / 2, Raylib.GetScreenHeight() / 2), + Rotation = 0.0f, + Zoom = 1.0f + }; + + // Main game loop + while (!Raylib.WindowShouldClose()) + { + // Update game logic + Update(ref playerPosition, collisionLayer, ref camera); + + // Render the game + Render(map, visualLayers, tilesetTextures, playerPosition, camera); + } + + // Clean up resources + Raylib.CloseWindow(); + } + + /// + /// Loads tileset textures from the map. + /// + private static Dictionary LoadTilesetTextures(Map map) + { + return map.Tilesets.ToDictionary( + tileset => tileset.Image.Value.Source.Value, + tileset => Raylib.LoadTexture(Path.Combine("assets", tileset.Image.Value.Source.Value)) + ); + } + + /// + /// Updates the player's position and camera. + /// + private static void Update(ref Vector2 playerPosition, ObjectLayer collisionLayer, ref Camera2D camera) + { + // Define the player's rectangle + var playerRect = new Rectangle(playerPosition.X, playerPosition.Y, 12, 12); + + // Handle player movement + var move = HandlePlayerInput(); + + // Check for collisions + foreach (var obj in collisionLayer.Objects.OfType()) + { + var objRect = new Rectangle(obj.X, obj.Y, obj.Width, obj.Height); + + // Horizontal collision + var movePlayerHRect = new Rectangle(playerRect.X + move.X, playerRect.Y, playerRect.Width, playerRect.Height); + if (Raylib.CheckCollisionRecs(movePlayerHRect, objRect)) + { + move.X = 0; + } + + // Vertical collision + var movePlayerVRect = new Rectangle(playerRect.X, playerRect.Y + move.Y, playerRect.Width, playerRect.Height); + if (Raylib.CheckCollisionRecs(movePlayerVRect, objRect)) + { + move.Y = 0; + } + } + + // Update player position + playerPosition += move; + + // Smoothly update the camera target + var newCameraTarget = new Vector2(playerPosition.X, playerPosition.Y); + camera.Target += (newCameraTarget - camera.Target) * 15f * Raylib.GetFrameTime(); + } + + /// + /// Handles player input for movement. + /// + private static Vector2 HandlePlayerInput() + { + var move = Vector2.Zero; + var playerSpeed = 150 * Raylib.GetFrameTime(); + + if (Raylib.IsKeyDown(KeyboardKey.W)) move.Y -= playerSpeed; + if (Raylib.IsKeyDown(KeyboardKey.S)) move.Y += playerSpeed; + if (Raylib.IsKeyDown(KeyboardKey.A)) move.X -= playerSpeed; + if (Raylib.IsKeyDown(KeyboardKey.D)) move.X += playerSpeed; + + return move; + } + + /// + /// Renders the game, including layers and the player. + /// + private static void Render(Map map, IEnumerable visualLayers, Dictionary tilesetTextures, Vector2 playerPosition, Camera2D camera) + { + Raylib.BeginDrawing(); + Raylib.ClearBackground(RayColor.Blank); + Raylib.BeginMode2D(camera); + + // Render layers below the player + RenderLayers(map, visualLayers, tilesetTextures, ["Ground", "Ponds", "Paths", "HouseWalls", "HouseDoors", "FencesBushes"]); + + // Draw the player + var playerVisualRect = new Rectangle(playerPosition.X, playerPosition.Y - 12, 12, 24); + Raylib.DrawRectangleRec(playerVisualRect, RayColor.Blue); + + // Render layers above the player + RenderLayers(map, visualLayers, tilesetTextures, ["HouseRoofs"]); + + Raylib.EndMode2D(); + Raylib.EndDrawing(); + } + + /// + /// Renders specific layers from the map. + /// + private static void RenderLayers(Map map, IEnumerable visualLayers, Dictionary tilesetTextures, string[] layerNames) + { + foreach (var layerName in layerNames) + { + var layer = visualLayers.OfType().Single(l => l.Name == layerName); + RenderLayer(map, layer, tilesetTextures); + } + } + + /// + /// Renders a single layer from the map. + /// + private static void RenderLayer(Map map, TileLayer layer, Dictionary tilesetTextures) + { + for (var y = 0; y < layer.Height; y++) + { + for (var x = 0; x < layer.Width; x++) + { + var tileGID = layer.GetGlobalTileIDAtCoord(x, y); + if (tileGID == 0) continue; + + var tileset = map.ResolveTilesetForGlobalTileID(tileGID, out var localTileID); + var sourceRect = tileset.GetSourceRectangleForLocalTileID(localTileID); + + // Source rec is shrunk by tiny amount to avoid ugly seams between tiles + // when the camera is at certain subpixel positions + var raylibSourceRect = ShrinkRectangle(new Rectangle(sourceRect.X, sourceRect.Y, sourceRect.Width, sourceRect.Height), 0.01f); + + var destinationRect = new Rectangle(x * tileset.TileWidth, y * tileset.TileHeight, tileset.TileWidth, tileset.TileHeight); + + Raylib.DrawTexturePro( + tilesetTextures[tileset.Image.Value.Source.Value], + raylibSourceRect, + destinationRect, + Vector2.Zero, + 0, + RayColor.White + ); + } + } + } + + /// + /// Shrinks a rectangle by a specified amount. + /// + private static Rectangle ShrinkRectangle(Rectangle rect, float amount) + { + return new Rectangle( + rect.X + amount, + rect.Y + amount, + rect.Width - (2 * amount), + rect.Height - (2 * amount) + ); + } + } +} diff --git a/src/DotTiled.Tests/UnitTests/MapTests.cs b/src/DotTiled.Tests/UnitTests/MapTests.cs new file mode 100644 index 0000000..2c3591b --- /dev/null +++ b/src/DotTiled.Tests/UnitTests/MapTests.cs @@ -0,0 +1,132 @@ +namespace DotTiled.Tests.UnitTests; + +public class MapTests +{ + [Fact] + public void ResolveTilesetForGlobalTileID_NoTilesets_ThrowsException() + { + // Arrange + var map = new Map + { + Version = "version", + Orientation = MapOrientation.Orthogonal, + Width = 10, + Height = 10, + TileWidth = 16, + TileHeight = 16, + NextLayerID = 1, + NextObjectID = 1 + }; + + // Act & Assert + Assert.Throws(() => map.ResolveTilesetForGlobalTileID(1, out var _)); + } + + [Fact] + public void ResolveTilesetForGlobalTileID_GlobalTileIDOutOfRange_ThrowsException() + { + // Arrange + var map = new Map + { + Version = "version", + Orientation = MapOrientation.Orthogonal, + Width = 10, + Height = 10, + TileWidth = 16, + TileHeight = 16, + NextLayerID = 1, + NextObjectID = 1, + Tilesets = [ + new Tileset + { + FirstGID = 1, + Name = "Tileset1", + TileWidth = 16, + TileHeight = 16, + TileCount = 5, + Columns = 5 + } + ] + }; + + // Act & Assert + Assert.Throws(() => map.ResolveTilesetForGlobalTileID(6, out var _)); + } + + [Fact] + public void ResolveTilesetForGlobalTileID_GlobalTileIDInRangeOfOnlyTileset_ReturnsTileset() + { + // Arrange + var tileset = new Tileset + { + FirstGID = 1, + Name = "Tileset1", + TileWidth = 16, + TileHeight = 16, + TileCount = 5, + Columns = 5 + }; + var map = new Map + { + Version = "version", + Orientation = MapOrientation.Orthogonal, + Width = 10, + Height = 10, + TileWidth = 16, + TileHeight = 16, + NextLayerID = 1, + NextObjectID = 1, + Tilesets = [tileset] + }; + + // Act + var result = map.ResolveTilesetForGlobalTileID(3, out var localTileID); + + // Assert + Assert.Equal(tileset, result); + Assert.Equal(2, (int)localTileID); // 3 - 1 = 2 (local tile ID) + } + + [Fact] + public void ResolveTilesetForGlobalTileID_GlobalTileIDInRangeOfMultipleTilesets_ReturnsCorrectTileset() + { + // Arrange + var tileset1 = new Tileset + { + FirstGID = 1, + Name = "Tileset1", + TileWidth = 16, + TileHeight = 16, + TileCount = 5, + Columns = 5 + }; + var tileset2 = new Tileset + { + FirstGID = 6, + Name = "Tileset2", + TileWidth = 16, + TileHeight = 16, + TileCount = 5, + Columns = 5 + }; + var map = new Map + { + Version = "version", + Orientation = MapOrientation.Orthogonal, + Width = 10, + Height = 10, + TileWidth = 16, + TileHeight = 16, + NextLayerID = 1, + NextObjectID = 1, + Tilesets = [tileset1, tileset2] + }; + + // Act + var result = map.ResolveTilesetForGlobalTileID(8, out var localTileID); + + // Assert + Assert.Equal(tileset2, result); + Assert.Equal(2, (int)localTileID); // 8 - 6 = 2 (local tile ID) + } +} diff --git a/src/DotTiled.Tests/UnitTests/Tilesets/TilesetTests.cs b/src/DotTiled.Tests/UnitTests/Tilesets/TilesetTests.cs new file mode 100644 index 0000000..4b0eb10 --- /dev/null +++ b/src/DotTiled.Tests/UnitTests/Tilesets/TilesetTests.cs @@ -0,0 +1,114 @@ +namespace DotTiled.Tests.UnitTests; + +public class TilesetTests +{ + [Fact] + public void GetSourceRectangleForLocalTileID_TileIDOutOfRange_ThrowsException() + { + // Arrange + var tileset = new Tileset + { + FirstGID = 0, + Name = "Tileset1", + TileWidth = 16, + TileHeight = 16, + TileCount = 5, + Columns = 5 + }; + + // Act & Assert + Assert.Throws(() => tileset.GetSourceRectangleForLocalTileID(6)); + } + + [Fact] + public void GetSourceRectangleForLocalTileID_ValidTileIDIsInTilesList_ReturnsCorrectRectangle() + { + // Arrange + var tileset = new Tileset + { + FirstGID = 0, + Name = "Tileset1", + TileWidth = 16, + TileHeight = 16, + TileCount = 2, + Columns = 2, + Tiles = [ + new Tile + { + ID = 0, + X = 0, + Y = 0, + Width = 16, + Height = 16, + }, + new Tile + { + ID = 1, + X = 16, + Y = 0, + Width = 16, + Height = 16, + } + ] + }; + + // Act + var rectangle = tileset.GetSourceRectangleForLocalTileID(1); + + // Assert + Assert.Equal(16, rectangle.X); + Assert.Equal(0, rectangle.Y); + Assert.Equal(16, rectangle.Width); + Assert.Equal(16, rectangle.Height); + } + + [Fact] + public void GetSourceRectangleForLocalTileID_ValidTileIDIsNotInTilesListNoMarginNoSpacing_ReturnsCorrectRectangle() + { + // Arrange + var tileset = new Tileset + { + FirstGID = 0, + Name = "Tileset1", + TileWidth = 16, + TileHeight = 16, + TileCount = 5, + Columns = 5, + }; + + // Act + var rectangle = tileset.GetSourceRectangleForLocalTileID(3); + + // Assert + Assert.Equal(48, rectangle.X); + Assert.Equal(0, rectangle.Y); + Assert.Equal(16, rectangle.Width); + Assert.Equal(16, rectangle.Height); + } + + [Fact] + public void GetSourceRectangleForLocalTileID_ValidTileIDIsNotInTilesListWithMarginAndSpacing_ReturnsCorrectRectangle() + { + // Arrange + var tileset = new Tileset + { + FirstGID = 0, + Name = "Tileset1", + TileWidth = 16, + TileHeight = 16, + TileCount = 5, + Columns = 5, + Margin = 3, + Spacing = 1 + }; + + // Act + var rectangle = tileset.GetSourceRectangleForLocalTileID(3); + + // Assert + Assert.Equal(54, rectangle.X); + Assert.Equal(3, rectangle.Y); + Assert.Equal(16, rectangle.Width); + Assert.Equal(16, rectangle.Height); + } +} diff --git a/src/DotTiled.sln b/src/DotTiled.sln index 7208481..5505021 100644 --- a/src/DotTiled.sln +++ b/src/DotTiled.sln @@ -15,6 +15,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotTiled.Example.Console", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotTiled.Example.Godot", "DotTiled.Examples\DotTiled.Example.Godot\DotTiled.Example.Godot.csproj", "{7541A9B3-43A5-45A7-939E-6F542319D990}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DotTiled.Examples", "DotTiled.Examples", "{F3D6E648-AF8F-4EC9-A810-8C348DBB9924}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotTiled.Example.Raylib", "DotTiled.Examples\DotTiled.Example.Raylib\DotTiled.Example.Raylib.csproj", "{53585FB8-6E94-46F0-87E2-9692874E1714}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -44,9 +48,14 @@ Global {7541A9B3-43A5-45A7-939E-6F542319D990}.Debug|Any CPU.Build.0 = Debug|Any CPU {7541A9B3-43A5-45A7-939E-6F542319D990}.Release|Any CPU.ActiveCfg = Debug|Any CPU {7541A9B3-43A5-45A7-939E-6F542319D990}.Release|Any CPU.Build.0 = Debug|Any CPU + {53585FB8-6E94-46F0-87E2-9692874E1714}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {53585FB8-6E94-46F0-87E2-9692874E1714}.Debug|Any CPU.Build.0 = Debug|Any CPU + {53585FB8-6E94-46F0-87E2-9692874E1714}.Release|Any CPU.ActiveCfg = Release|Any CPU + {53585FB8-6E94-46F0-87E2-9692874E1714}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution {F9892295-6C2C-4ABD-9D6F-2AC81D2C6E67} = {8C54542E-3C2C-486C-9BEF-4C510391AFDA} {7541A9B3-43A5-45A7-939E-6F542319D990} = {8C54542E-3C2C-486C-9BEF-4C510391AFDA} + {53585FB8-6E94-46F0-87E2-9692874E1714} = {F3D6E648-AF8F-4EC9-A810-8C348DBB9924} EndGlobalSection EndGlobal diff --git a/src/DotTiled/Layers/TileLayer.cs b/src/DotTiled/Layers/TileLayer.cs index 8d63180..2e37b99 100644 --- a/src/DotTiled/Layers/TileLayer.cs +++ b/src/DotTiled/Layers/TileLayer.cs @@ -1,3 +1,5 @@ +using System; + namespace DotTiled; /// @@ -29,4 +31,26 @@ public class TileLayer : BaseLayer /// The tile layer data. /// public Optional Data { get; set; } = Optional.Empty; + + /// + /// Helper method to retrieve the Global Tile ID at a given coordinate in the layer. + /// + /// The X coordinate in the layer + /// The Y coordinate in the layer + /// The Global Tile ID at the given coordinate. + /// Thrown when either or are missing values. + /// Thrown when the given coordinate is not within bounds of the layer. + public uint GetGlobalTileIDAtCoord(int x, int y) + { + if (!Data.HasValue) + throw new InvalidOperationException("Data is not set."); + + if (x < 0 || x >= Width || y < 0 || y >= Height) + throw new ArgumentException("Coordinates are out of bounds."); + + if (!Data.Value.GlobalTileIDs.HasValue) + throw new InvalidOperationException("GlobalTileIDs is not set."); + + return Data.Value.GlobalTileIDs.Value[(y * Width) + x]; + } } diff --git a/src/DotTiled/Map.cs b/src/DotTiled/Map.cs index 92965f5..8305e71 100644 --- a/src/DotTiled/Map.cs +++ b/src/DotTiled/Map.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Globalization; @@ -205,4 +206,31 @@ public class Map : HasPropertiesBase /// Hierarchical list of layers. is a layer type which can contain sub-layers to create a hierarchy. /// public List Layers { get; set; } = []; + + /// + /// Resolves which tileset a global tile ID belongs to, and returns the corresponding local tile ID. + /// + /// The global tile ID to resolve. + /// The local tile ID within the tileset. + /// The tileset that contains the tile with the specified global tile ID. + /// Thrown when no tileset is found for the specified global tile ID. + public Tileset ResolveTilesetForGlobalTileID(uint globalTileID, out uint localTileID) + { + for (int i = Tilesets.Count - 1; i >= 0; i--) + { + var tileset = Tilesets[i]; + + if (globalTileID >= tileset.FirstGID.Value + && globalTileID < tileset.FirstGID.Value + tileset.TileCount) + { + localTileID = globalTileID - tileset.FirstGID.Value; + return tileset; + } + } + + throw new ArgumentException( + $"No tileset found for global tile ID {globalTileID}.", + nameof(globalTileID) + ); + } } diff --git a/src/DotTiled/Tilesets/Tileset.cs b/src/DotTiled/Tilesets/Tileset.cs index b258705..4261261 100644 --- a/src/DotTiled/Tilesets/Tileset.cs +++ b/src/DotTiled/Tilesets/Tileset.cs @@ -1,4 +1,6 @@ +using System; using System.Collections.Generic; +using System.Linq; namespace DotTiled; @@ -90,6 +92,32 @@ public enum FillMode PreserveAspectFit } +/// +/// A helper class to specify where in a tileset image a tile is located. +/// +public class SourceRectangle +{ + /// + /// The X coordinate of the tile in the tileset image. + /// + public int X { get; set; } = 0; + + /// + /// The Y coordinate of the tile in the tileset image. + /// + public int Y { get; set; } = 0; + + /// + /// The width of the tile in the tileset image. + /// + public int Width { get; set; } = 0; + + /// + /// The height of the tile in the tileset image. + /// + public int Height { get; set; } = 0; +} + /// /// A tileset is a collection of tiles that can be used in a tile layer, or by tile objects. /// @@ -209,4 +237,42 @@ public class Tileset : HasPropertiesBase /// If this tileset is based on a collection of images, then this list of tiles will contain the individual images that make up the tileset. /// public List Tiles { get; set; } = []; + + /// + /// Returns the source rectangle for a tile in this tileset given its local tile ID. + /// + /// The local tile ID of the tile. + /// A source rectangle describing the tile's position in the tileset's + /// Thrown when the local tile ID is out of range. + public SourceRectangle GetSourceRectangleForLocalTileID(uint localTileID) + { + if (localTileID >= TileCount) + throw new ArgumentException("The local tile ID is out of range.", nameof(localTileID)); + + var tileInTiles = Tiles.FirstOrDefault(t => t.ID == localTileID); + if (tileInTiles != null) + { + return new SourceRectangle + { + X = tileInTiles.X, + Y = tileInTiles.Y, + Width = tileInTiles.Width, + Height = tileInTiles.Height + }; + } + + var column = (int)(localTileID % Columns); + var row = (int)(localTileID / Columns); + + var x = Margin + ((TileWidth + Spacing) * column); + var y = Margin + ((TileHeight + Spacing) * row); + + return new SourceRectangle + { + X = x, + Y = y, + Width = TileWidth, + Height = TileHeight + }; + } } From 57b903bea1dd9cbe24d8cc36c0f4a026c76314ac Mon Sep 17 00:00:00 2001 From: Daniel Cronqvist Date: Sat, 26 Apr 2025 01:06:00 +0200 Subject: [PATCH 11/12] Add MonoGame example project --- .../.config/dotnet-tools.json | 36 ++ .../DotTiled.Example.MonoGame/Camera2D.cs | 52 +++ .../Content/Content.mgcb | 33 ++ .../kenney_roguelike-rpg-pack/License.txt | 23 + .../roguelikeSheet_transparent.png | Bin 0 -> 94579 bytes .../Content/world-tileset.tsx | 38 ++ .../Content/world.tmx | 434 ++++++++++++++++++ .../DotTiled.Example.MonoGame.csproj | 36 ++ .../DotTiled.Example.MonoGame/Game1.cs | 231 ++++++++++ .../DotTiled.Example.MonoGame/Icon.bmp | Bin 0 -> 262282 bytes .../DotTiled.Example.MonoGame/Icon.ico | Bin 0 -> 147541 bytes .../DotTiled.Example.MonoGame/Program.cs | 2 + .../DotTiled.Example.MonoGame/app.manifest | 43 ++ src/DotTiled.sln | 7 + 14 files changed, 935 insertions(+) create mode 100644 src/DotTiled.Examples/DotTiled.Example.MonoGame/.config/dotnet-tools.json create mode 100644 src/DotTiled.Examples/DotTiled.Example.MonoGame/Camera2D.cs create mode 100644 src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/Content.mgcb create mode 100644 src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/kenney_roguelike-rpg-pack/License.txt create mode 100644 src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/kenney_roguelike-rpg-pack/roguelikeSheet_transparent.png create mode 100644 src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/world-tileset.tsx create mode 100644 src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/world.tmx create mode 100644 src/DotTiled.Examples/DotTiled.Example.MonoGame/DotTiled.Example.MonoGame.csproj create mode 100644 src/DotTiled.Examples/DotTiled.Example.MonoGame/Game1.cs create mode 100644 src/DotTiled.Examples/DotTiled.Example.MonoGame/Icon.bmp create mode 100644 src/DotTiled.Examples/DotTiled.Example.MonoGame/Icon.ico create mode 100644 src/DotTiled.Examples/DotTiled.Example.MonoGame/Program.cs create mode 100644 src/DotTiled.Examples/DotTiled.Example.MonoGame/app.manifest diff --git a/src/DotTiled.Examples/DotTiled.Example.MonoGame/.config/dotnet-tools.json b/src/DotTiled.Examples/DotTiled.Example.MonoGame/.config/dotnet-tools.json new file mode 100644 index 0000000..afd4e2c --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.MonoGame/.config/dotnet-tools.json @@ -0,0 +1,36 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "dotnet-mgcb": { + "version": "3.8.3", + "commands": [ + "mgcb" + ] + }, + "dotnet-mgcb-editor": { + "version": "3.8.3", + "commands": [ + "mgcb-editor" + ] + }, + "dotnet-mgcb-editor-linux": { + "version": "3.8.3", + "commands": [ + "mgcb-editor-linux" + ] + }, + "dotnet-mgcb-editor-windows": { + "version": "3.8.3", + "commands": [ + "mgcb-editor-windows" + ] + }, + "dotnet-mgcb-editor-mac": { + "version": "3.8.3", + "commands": [ + "mgcb-editor-mac" + ] + } + } +} \ No newline at end of file diff --git a/src/DotTiled.Examples/DotTiled.Example.MonoGame/Camera2D.cs b/src/DotTiled.Examples/DotTiled.Example.MonoGame/Camera2D.cs new file mode 100644 index 0000000..58f724b --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.MonoGame/Camera2D.cs @@ -0,0 +1,52 @@ +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +namespace DotTiled.Example.MonoGame; + +public class Camera2D +{ + public float Zoom { get; set; } + public Vector2 Position { get; set; } + public Rectangle Bounds { get; protected set; } + public Rectangle VisibleArea { get; protected set; } + public Matrix Transform { get; protected set; } + + public Camera2D(Viewport viewport) + { + Bounds = viewport.Bounds; + Zoom = 1f; + Position = Vector2.Zero; + } + + private void UpdateVisibleArea() + { + var inverseViewMatrix = Matrix.Invert(Transform); + + var tl = Vector2.Transform(Vector2.Zero, inverseViewMatrix); + var tr = Vector2.Transform(new Vector2(Bounds.X, 0), inverseViewMatrix); + var bl = Vector2.Transform(new Vector2(0, Bounds.Y), inverseViewMatrix); + var br = Vector2.Transform(new Vector2(Bounds.Width, Bounds.Height), inverseViewMatrix); + + var min = new Vector2( + MathHelper.Min(tl.X, MathHelper.Min(tr.X, MathHelper.Min(bl.X, br.X))), + MathHelper.Min(tl.Y, MathHelper.Min(tr.Y, MathHelper.Min(bl.Y, br.Y)))); + var max = new Vector2( + MathHelper.Max(tl.X, MathHelper.Max(tr.X, MathHelper.Max(bl.X, br.X))), + MathHelper.Max(tl.Y, MathHelper.Max(tr.Y, MathHelper.Max(bl.Y, br.Y)))); + VisibleArea = new Rectangle((int)min.X, (int)min.Y, (int)(max.X - min.X), (int)(max.Y - min.Y)); + } + + private void UpdateMatrix() + { + Transform = Matrix.CreateTranslation(new Vector3(-Position.X, -Position.Y, 0)) * + Matrix.CreateScale(Zoom) * + Matrix.CreateTranslation(new Vector3(Bounds.Width * 0.5f, Bounds.Height * 0.5f, 0)); + UpdateVisibleArea(); + } + + public void UpdateCamera(Viewport bounds) + { + Bounds = bounds.Bounds; + UpdateMatrix(); + } +} diff --git a/src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/Content.mgcb b/src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/Content.mgcb new file mode 100644 index 0000000..2a28765 --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/Content.mgcb @@ -0,0 +1,33 @@ + +#----------------------------- Global Properties ----------------------------# + +/outputDir:bin/$(Platform) +/intermediateDir:obj/$(Platform) +/platform:DesktopGL +/config: +/profile:Reach +/compress:False + +#-------------------------------- References --------------------------------# + + +#---------------------------------- Content ---------------------------------# + +#begin kenney_roguelike-rpg-pack/roguelikeSheet_transparent.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:kenney_roguelike-rpg-pack/roguelikeSheet_transparent.png + +#begin world-tileset.tsx +/copy:world-tileset.tsx + +#begin world.tmx +/copy:world.tmx + diff --git a/src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/kenney_roguelike-rpg-pack/License.txt b/src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/kenney_roguelike-rpg-pack/License.txt new file mode 100644 index 0000000..3b4c9db --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/kenney_roguelike-rpg-pack/License.txt @@ -0,0 +1,23 @@ + +############################################################################### + + + Roguelike pack + by Kenney Vleugels for Kenney (www.kenney.nl) + with help by Lynn Evers (Twitter: @EversLynn) + + ------------------------------ + + License (Creative Commons Zero, CC0) + http://creativecommons.org/publicdomain/zero/1.0/ + + You may use these graphics in personal and commercial projects. + Credit (Kenney or www.kenney.nl) would be nice but is not mandatory. + + ------------------------------ + + Donate: http://donate.kenney.nl/ + Request: http://request.kenney.nl/ + + +############################################################################### \ No newline at end of file diff --git a/src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/kenney_roguelike-rpg-pack/roguelikeSheet_transparent.png b/src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/kenney_roguelike-rpg-pack/roguelikeSheet_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..79b13326ceb8557a98b2b78aa5e8e7b9269f6693 GIT binary patch literal 94579 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 literal 0 HcmV?d00001 diff --git a/src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/world-tileset.tsx b/src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/world-tileset.tsx new file mode 100644 index 0000000..ee710e9 --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/world-tileset.tsx @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/world.tmx b/src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/world.tmx new file mode 100644 index 0000000..6056474 --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.MonoGame/Content/world.tmx @@ -0,0 +1,434 @@ + + + + + + +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,4,5,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,4,4,116,61,61,115,5,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,4,116,61,61,61,61,61,61,61,115,5,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,116,61,61,61,61,61,61,61,61,61,61,61,62,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,116,61,61,61,61,58,118,118,59,61,61,61,61,115,5,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,61,58,118,119,0,0,117,118,59,61,61,61,62,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,58,119,0,0,0,0,0,0,60,61,61,61,62,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,116,61,61,62,0,0,0,0,0,0,3,116,61,61,61,62,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,61,115,5,0,0,0,0,0,60,61,61,61,61,62,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,61,61,115,4,4,4,4,4,116,61,61,61,61,62,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,58,119,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,59,61,61,61,61,61,61,61,61,61,61,61,61,61,62,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,58,118,119,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,118,118,118,118,118,118,118,118,118,118,118,119,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3,4,4,4,4,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,60,61,61,61,61,61,61,115,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3,116,61,61,61,61,61,61,61,61,115,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,115,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,3,116,61,61,61,61,61,61,61,61,61,61,61,61,61,115,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,115,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,3,116,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,58,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,58,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,3,116,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,58,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,58,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,60,61,61,61,61,61,61,61,61,61,61,61,61,61,58,118,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,117,59,61,61,61,61,61,61,61,61,61,58,118,118,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,117,118,118,59,61,61,61,58,118,118,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,117,118,118,118,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,466,466,466,466,466,466,466,466,690,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,407,466,466,466,466,466,466,466,466,466,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,464,466,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,464,466,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,408,0,0,634,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,405,406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,463,408,0,0,0,0,634,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,408,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,466,463,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,466,466,466,466,466,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,466,466,466,466,466,408,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,466,466,408,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,465,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,409,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,409,0,0,0,0,634,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,462,466,466,466,466,465,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,466,465,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,466,466,466,465,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,466,466,466,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,405,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,465,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,465,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,465,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,407,466,465,0,0,0,0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,407,466,466,466,466,466,466,466,466,466,466,466,466,466,466,466,465,0,0,0,0,0,0,0,0,464,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,409,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,408,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,409,0,0,634,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,464,466,466,466,466,466,466,690,0,0,0,0,0,0,0, +0,0,0,464,466,466,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,870,869,872,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,870,869,872,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,870,869,872,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,870,869,872,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,870,869,872,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,873,874,875,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,870,869,872,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,870,869,872,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,43,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1360,1365,1365,1365,1365,1365,1365,1361,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1360,1365,1365,1365,1365,1365,1365,1361,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1362,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1362,0,1363,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1362,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1360,1365,1361,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1360,1361,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1360,1361,0,0,0,0,1362,0,1363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1362,0,1363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1360,1361,0,0,0,1362,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,1360,1365,1365,1365,1365,1365,1365,1361,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1218,1223,1219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1275,1280,1276,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1332,1277,1333,0,0,0,1218,1223,1219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1275,1280,1276,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1332,1277,1333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1218,1223,1219,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1275,1280,1276,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1332,1277,1333,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1218,1223,1219,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1218,1223,1219,0,0,1275,1280,1276,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1275,1280,1276,0,0,1332,1277,1333,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1332,1277,1333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,1218,1223,1219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1218,1223,1219,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,1275,1280,1276,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1275,1280,1276,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,1332,1277,1333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1332,1277,1333,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/DotTiled.Examples/DotTiled.Example.MonoGame/DotTiled.Example.MonoGame.csproj b/src/DotTiled.Examples/DotTiled.Example.MonoGame/DotTiled.Example.MonoGame.csproj new file mode 100644 index 0000000..07a4569 --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.MonoGame/DotTiled.Example.MonoGame.csproj @@ -0,0 +1,36 @@ + + + Exe + net8.0 + Major + false + false + + + app.manifest + Icon.ico + + + + + + + + Icon.ico + + + Icon.bmp + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/DotTiled.Examples/DotTiled.Example.MonoGame/Game1.cs b/src/DotTiled.Examples/DotTiled.Example.MonoGame/Game1.cs new file mode 100644 index 0000000..3c38bf8 --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.MonoGame/Game1.cs @@ -0,0 +1,231 @@ +using System.Collections.Generic; +using System.IO; +using System.Linq; +using DotTiled.Serialization; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; + +namespace DotTiled.Example.MonoGame; + +/// +/// A beginner-friendly example of using DotTiled with MonoGame. +/// Loads a Tiled map, renders its layers, and allows basic player movement with collision. +/// +public class Game1 : Game +{ + private readonly GraphicsDeviceManager _graphics; + private SpriteBatch _spriteBatch; + + // Camera for following the player + private Camera2D _camera; + + // DotTiled map and tileset textures + private Map _map; + private Dictionary _tilesetTextures; + + // Layers for collisions and points of interest + private ObjectLayer _collisionLayer; + private ObjectLayer _pointsOfInterestLayer; + + // Player state + private Vector2 _playerPosition; + private Texture2D _playerTexture; + + // Used for drawing rectangles (player) + private Texture2D _whitePixel; + + public Game1() + { + _graphics = new GraphicsDeviceManager(this) + { + PreferredBackBufferWidth = 1280, + PreferredBackBufferHeight = 720 + }; + Content.RootDirectory = "Content"; + IsMouseVisible = true; + } + + /// + /// MonoGame initialization. + /// + protected override void Initialize() => base.Initialize(); + + /// + /// Load map, textures, and initialize player/camera. + /// + protected override void LoadContent() + { + _spriteBatch = new SpriteBatch(GraphicsDevice); + + // Used for drawing rectangles (player) + _whitePixel = new Texture2D(GraphicsDevice, 1, 1); + _whitePixel.SetData(new[] { Color.White }); + + // Load the Tiled map using DotTiled + var loader = Loader.Default(); + _map = loader.LoadMap(Path.Combine(Content.RootDirectory, "world.tmx")); + + // Load all tileset textures referenced by the map + _tilesetTextures = LoadTilesetTextures(_map); + + // Extract layers for collisions and points of interest + _collisionLayer = _map.Layers.OfType().Single(l => l.Name == "Collisions"); + _pointsOfInterestLayer = (ObjectLayer)_map.Layers.Single(l => l.Name == "PointsOfInterest"); + + // Get the player's spawn point from the PointsOfInterest layer + var playerSpawn = _pointsOfInterestLayer.Objects.Single(obj => obj.Name == "PlayerSpawn"); + _playerPosition = new Vector2(playerSpawn.X, playerSpawn.Y); + + // Set up the camera to follow the player + _camera = new Camera2D(GraphicsDevice.Viewport); + + // Optionally, create a simple player texture (blue rectangle) + _playerTexture = new Texture2D(GraphicsDevice, 1, 1); + _playerTexture.SetData(new[] { Color.Blue }); + } + + /// + /// Loads all tileset textures referenced by the map. + /// + private Dictionary LoadTilesetTextures(Map map) + { + // Remove ".png" for MonoGame Content Pipeline compatibility + return map.Tilesets.ToDictionary( + tileset => tileset.Image.Value.Source.Value, + tileset => Content.Load(Path.GetDirectoryName(tileset.Image.Value.Source.Value) + "/" + Path.GetFileNameWithoutExtension(tileset.Image.Value.Source.Value)) + ); + } + + /// + /// Handles player input and updates game logic. + /// + protected override void Update(GameTime gameTime) + { + // Exit on Escape + if (Keyboard.GetState().IsKeyDown(Keys.Escape)) + Exit(); + + _camera.UpdateCamera(GraphicsDevice.Viewport); + + // Handle player movement input + var move = HandlePlayerInput(gameTime); + + // Define the player's collision rectangle + var playerRect = new Rectangle((int)_playerPosition.X, (int)_playerPosition.Y, 12, 12); + + // Collision detection with rectangles in the collision layer + foreach (var obj in _collisionLayer.Objects.OfType()) + { + var objRect = new Rectangle((int)obj.X, (int)obj.Y, (int)obj.Width, (int)obj.Height); + + // Horizontal collision + var movePlayerHRect = new Rectangle(playerRect.X + (int)move.X, playerRect.Y, playerRect.Width, playerRect.Height); + if (move.X != 0 && movePlayerHRect.Intersects(objRect)) + move.X = 0; + + // Vertical collision + var movePlayerVRect = new Rectangle(playerRect.X, playerRect.Y + (int)move.Y, playerRect.Width, playerRect.Height); + if (move.Y != 0 && movePlayerVRect.Intersects(objRect)) + move.Y = 0; + } + + // Update player position + _playerPosition += move; + + // Smoothly update the camera to follow the player + var newCameraTarget = new Vector2(_playerPosition.X, _playerPosition.Y); + _camera.Position += (newCameraTarget - _camera.Position) * 15f * (float)gameTime.ElapsedGameTime.TotalSeconds; + + base.Update(gameTime); + } + + /// + /// Handles WASD input for player movement. + /// + private static Vector2 HandlePlayerInput(GameTime gameTime) + { + var move = Vector2.Zero; + var speed = 150f * (float)gameTime.ElapsedGameTime.TotalSeconds; + var state = Keyboard.GetState(); + + if (state.IsKeyDown(Keys.W)) move.Y -= speed; + if (state.IsKeyDown(Keys.S)) move.Y += speed; + if (state.IsKeyDown(Keys.A)) move.X -= speed; + if (state.IsKeyDown(Keys.D)) move.X += speed; + + return move; + } + + /// + /// Draws the map, player, and handles layer ordering. + /// + protected override void Draw(GameTime gameTime) + { + GraphicsDevice.Clear(Color.Black); + + _spriteBatch.Begin(transformMatrix: _camera.Transform); + + // Get all visual tile layers from the "Visuals" group + var visualLayers = _map.Layers.OfType().Single(l => l.Name == "Visuals").Layers.OfType(); + + // Render layers below the player + RenderLayers(_map, visualLayers, _tilesetTextures, ["Ground", "Ponds", "Paths", "HouseWalls", "HouseDoors", "FencesBushes"]); + + // Draw the player as a blue rectangle (centered on tile) + var playerVisualRect = new Rectangle((int)_playerPosition.X, (int)_playerPosition.Y - 12, 12, 24); + _spriteBatch.Draw(_playerTexture, playerVisualRect, Color.White); + + // Render layers above the player + RenderLayers(_map, visualLayers, _tilesetTextures, ["HouseRoofs"]); + + _spriteBatch.End(); + + base.Draw(gameTime); + } + + /// + /// Renders specific named layers from the map. + /// + private void RenderLayers(Map map, IEnumerable visualLayers, Dictionary tilesetTextures, string[] layerNames) + { + foreach (var layerName in layerNames) + { + var layer = visualLayers.Single(l => l.Name == layerName); + RenderLayer(map, layer, tilesetTextures); + } + } + + /// + /// Renders a single tile layer. + /// + private void RenderLayer(Map map, TileLayer layer, Dictionary tilesetTextures) + { + for (var y = 0; y < layer.Height; y++) + { + for (var x = 0; x < layer.Width; x++) + { + var tileGID = layer.GetGlobalTileIDAtCoord(x, y); + if (tileGID == 0) continue; + + var tileset = map.ResolveTilesetForGlobalTileID(tileGID, out var localTileID); + var sourceRect = tileset.GetSourceRectangleForLocalTileID(localTileID); + + var destination = new Vector2(x * tileset.TileWidth, y * tileset.TileHeight); + var sourceRectangle = new Rectangle(sourceRect.X + 1, sourceRect.Y + 1, sourceRect.Width - 2, sourceRect.Height - 2); + + _spriteBatch.Draw( + tilesetTextures[tileset.Image.Value.Source.Value], + destination, + sourceRectangle, + Color.White, + 0f, + Vector2.Zero, + Vector2.One * (1f / (14f / 16f)), // Shrink by a tiny amount to avoid seams (not a perfect solution) + SpriteEffects.None, + 0f + ); + } + } + } +} diff --git a/src/DotTiled.Examples/DotTiled.Example.MonoGame/Icon.bmp b/src/DotTiled.Examples/DotTiled.Example.MonoGame/Icon.bmp new file mode 100644 index 0000000000000000000000000000000000000000..2b481653e241818d2894e4ef33234eaff9aad701 GIT binary patch literal 262282 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 RJoIeLznU7AhJ`o~_y6Yy51#-4 literal 0 HcmV?d00001 diff --git a/src/DotTiled.Examples/DotTiled.Example.MonoGame/Program.cs b/src/DotTiled.Examples/DotTiled.Example.MonoGame/Program.cs new file mode 100644 index 0000000..399af18 --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.MonoGame/Program.cs @@ -0,0 +1,2 @@ +using var game = new DotTiled.Example.MonoGame.Game1(); +game.Run(); diff --git a/src/DotTiled.Examples/DotTiled.Example.MonoGame/app.manifest b/src/DotTiled.Examples/DotTiled.Example.MonoGame/app.manifest new file mode 100644 index 0000000..b399c95 --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.MonoGame/app.manifest @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true/pm + permonitorv2,permonitor + + + + diff --git a/src/DotTiled.sln b/src/DotTiled.sln index 5505021..add5504 100644 --- a/src/DotTiled.sln +++ b/src/DotTiled.sln @@ -19,6 +19,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DotTiled.Examples", "DotTil EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotTiled.Example.Raylib", "DotTiled.Examples\DotTiled.Example.Raylib\DotTiled.Example.Raylib.csproj", "{53585FB8-6E94-46F0-87E2-9692874E1714}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotTiled.Example.MonoGame", "DotTiled.Examples\DotTiled.Example.MonoGame\DotTiled.Example.MonoGame.csproj", "{F074756C-F84C-4F50-AE42-01017CD68AF7}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -52,10 +54,15 @@ Global {53585FB8-6E94-46F0-87E2-9692874E1714}.Debug|Any CPU.Build.0 = Debug|Any CPU {53585FB8-6E94-46F0-87E2-9692874E1714}.Release|Any CPU.ActiveCfg = Release|Any CPU {53585FB8-6E94-46F0-87E2-9692874E1714}.Release|Any CPU.Build.0 = Release|Any CPU + {F074756C-F84C-4F50-AE42-01017CD68AF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F074756C-F84C-4F50-AE42-01017CD68AF7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F074756C-F84C-4F50-AE42-01017CD68AF7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F074756C-F84C-4F50-AE42-01017CD68AF7}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution {F9892295-6C2C-4ABD-9D6F-2AC81D2C6E67} = {8C54542E-3C2C-486C-9BEF-4C510391AFDA} {7541A9B3-43A5-45A7-939E-6F542319D990} = {8C54542E-3C2C-486C-9BEF-4C510391AFDA} {53585FB8-6E94-46F0-87E2-9692874E1714} = {F3D6E648-AF8F-4EC9-A810-8C348DBB9924} + {F074756C-F84C-4F50-AE42-01017CD68AF7} = {F3D6E648-AF8F-4EC9-A810-8C348DBB9924} EndGlobalSection EndGlobal From 5703b4a2a756056746f812ded0f6b32c040e220e Mon Sep 17 00:00:00 2001 From: Daniel Cronqvist Date: Thu, 24 Apr 2025 21:07:29 +0200 Subject: [PATCH 12/12] Add documentation Raylib example project and link from official docs --- docs/docs/quickstart.md | 6 +- .../DotTiled.Example.Raylib/README.md | 122 ++++++++++++++++++ .../media/raylib_screenshot.png | Bin 0 -> 41024 bytes .../media/tiled_screenshot.png | Bin 0 -> 199985 bytes 4 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/README.md create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/media/raylib_screenshot.png create mode 100644 src/DotTiled.Examples/DotTiled.Example.Raylib/media/tiled_screenshot.png diff --git a/docs/docs/quickstart.md b/docs/docs/quickstart.md index c43031b..0b547c2 100644 --- a/docs/docs/quickstart.md +++ b/docs/docs/quickstart.md @@ -66,4 +66,8 @@ var map = loader.LoadMap("path/to/map.tmx"); var chest = map.GetProperty("chest").Value; var coinsToSpawn = chest.GetProperty("coins").Value; -``` \ No newline at end of file +``` + +## Examples + +See the [DotTiled.Examples](https://github.com/dcronqvist/DotTiled/tree/master/src/DotTiled.Examples) directory for more in-depth examples of how to use DotTiled. The [DotTiled.Example.Raylib](https://github.com/dcronqvist/DotTiled/tree/master/src/DotTiled.Examples/DotTiled.Example.Raylib) example is a good starting point for using DotTiled with Raylib or any similar library/framework. It demonstrates how to load and render a Tiled map, handle player movement, and perform collision detection. \ No newline at end of file diff --git a/src/DotTiled.Examples/DotTiled.Example.Raylib/README.md b/src/DotTiled.Examples/DotTiled.Example.Raylib/README.md new file mode 100644 index 0000000..da6a98e --- /dev/null +++ b/src/DotTiled.Examples/DotTiled.Example.Raylib/README.md @@ -0,0 +1,122 @@ +# DotTiled Example with Raylib + +This project demonstrates how to use the [DotTiled](https://github.com/dot-tiled/dot-tiled) library to load and render Tiled maps in a game using [Raylib](https://www.raylib.com/). It is designed to be beginner-friendly and serves as a starting point for anyone looking to integrate Tiled maps into their games. + +

+ Screenshot of map rendered using Raylib + Screenshot of map in Tiled +

+ +### How It Works + +This example project loads a Tiled map (`world.tmx`), renders its layers, and allows basic player movement with collision detection. The project is structured to prioritize readability and ease of understanding. + +#### Key Features: +1. **Loading Tiled Maps**: Uses DotTiled to parse `.tmx` files and extract map data. +2. **Rendering Layers**: Renders specific layers (e.g., ground, objects, roofs) using Raylib. +3. **Player Movement**: Handles player input and updates the player's position. +4. **Collision Detection**: Prevents the player from moving through objects defined in the collision layer. +5. **Camera Tracking**: Smoothly follows the player as they move. + +### Map Structure + +The Tiled map (`world.tmx`) is structured into different types of layers to organize the game world: + +1. **Tile Layers (Visuals)**: + - These layers define the visual elements of the map, such as the ground, paths, ponds, walls, and roofs. + - Each layer is rendered in a specific order to ensure that the player appears between certain layers (e.g., under roofs but above the ground). + +2. **Object Layers (Collisions)**: + - These layers define areas where the player cannot move, such as walls or obstacles. + - Each object in the layer is represented as a rectangle, and collision detection is performed against these objects. + +3. **Object Layer (Player Spawn)**: + - This layer contains a single point object that defines the player's starting position. + - The object is named `PlayerSpawn` and is used to initialize the player's position in the game. + +This is just one way to structure a map for use with DotTiled. As you become more comfortable with Tiled and DotTiled, you can experiment with different layer types and configurations to suit your game's needs. + +### Project Structure + +Main Components: + +- `Main` **Method**: Initializes the game window, loads the map, and runs the main game loop. +- `Update` **Method**: Handles player movement, collision detection, and camera updates. +- `Render` **Method**: Draws the map layers and the player. + +### Code Walkthrough + +1. **Loading the Map** + + The map is loaded using DotTiled's `Loader` class. The `world.tmx` file is located in the [assets](assets/) folder. + + ```csharp + var loader = Loader.Default(); + var map = loader.LoadMap("assets/world.tmx"); + ``` + +2. **Rendering Layers** + + The `RenderLayers` method renders specific layers from the map. For example, the ground and paths are rendered below the player, while roofs are rendered above. + + ```csharp + RenderLayers(map, visualLayers, tilesetTextures, new[] { "Ground", "Ponds", "Paths" }); + ``` + +3. **Player Movement** + + Player movement is handled in the `HandlePlayerInput` method. The `W`, `A`, `S`, and `D` keys are used to move the player. + +4. **Collision Detection** + + The `Update` method checks for collisions between the player and objects in the collision layer. If a collision is detected, the player's movement is stopped. + + ```csharp + if (Raylib.CheckCollisionRecs(movePlayerHRect, objRect)) move.X = 0; + if (Raylib.CheckCollisionRecs(movePlayerVRect, objRect)) move.Y = 0; + ``` + +5. **Camera Tracking** + + The camera smoothly follows the player using linear interpolation. + + ```csharp + camera.Target += (newCameraTarget - camera.Target) * 15f * Raylib.GetFrameTime(); + ``` + +### Replacing Raylib with another library or framework + +If you want to replace Raylib with another library or framework, you will need to modify the rendering and input handling code. The core logic for loading and parsing the Tiled map using DotTiled will remain the same. + +1. **Window initialization**: + + Replace the Raylib window initialization with the equivalent code for your chosen library or framework. + +2. **Rendering**: + + Modify the rendering code to use the graphics API of your chosen library. This includes loading textures, drawing sprites, and handling camera transformations. + + For example, replace this tile rendering draw call with the equivalent in your library: + + ```csharp + Raylib.DrawTexturePro( + tilesetTextures[tileset.Image.Value.Source.Value], + raylibSourceRect, + destinationRect, + Vector2.Zero, + 0, + RayColor.White + ); + ``` + +3. **Input handling**: + + Replace the Raylib input handling code with the equivalent code for your chosen library. This includes checking for key presses or similar. + +### Running the Example + +1. Clone this repository +2. Navigate to the `DotTiled.Example.Raylib` directory. +3. Run the project using your preferred IDE or command line tool. + - `dotnet run` (if using .NET CLI) + - Open the project in your IDE of choice and run it from there. \ No newline at end of file diff --git a/src/DotTiled.Examples/DotTiled.Example.Raylib/media/raylib_screenshot.png b/src/DotTiled.Examples/DotTiled.Example.Raylib/media/raylib_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..f32a14cdaa109292760f71f2ea388703660aac65 GIT binary patch literal 41024 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 literal 0 HcmV?d00001