_________ _           _______ _________ _______ 
\__   __/( \         (  ____ \\__   __/(  ____ \ 
   ) (   | (         | (    \/   ) (   | (    \/ 
   | |   | |         | (__       | |   | | 
   | |   | |         |  __)      | |   | | 1.1 
   | |   | |         | (         | |   | | 
   | | _ | (____/\ _ | (____/\ _ | | _ | (____/\ _
   )_((_)(_______/(_)(_______/(_))_((_)(_______/(_)
   (The Little Eggy That Could - (C) 2006 by xCept)
   ____________________________________________________________
   .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
   +                    TABLE OF CONTENTS                     +
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.) Forward
   2.) Introduction
   3.) System Requirements
   5.) Feature Overview
   6.) Story & Objective
   7.) Controls
   8.) Menu Options
   9.) Game Interface
   10.) Hazards
   11.) Power-ups
   12.) Tips & Tricks
   13.) Cheats & Hidden Options
   14.) Development Credits
      
   .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
   +                       FORWARD                            +
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Before spending the time reading through this seemingly long
   readme file, I would like to point out that the game itself
   is ultra simple in both gameplay and plot.  In fact, if you
   spend even a brief moment looking through the "How To Play"
   section within the game itself, you will learn all that you
   need to know about the major objectives and aspects of the
   game.  However, this extensive readme file is provided
   simply to ensure that there are no questions about any part
   of the game and so those looking for more information will
   be able to find it.  This guide also explains features,
   tips, and options that are not covered in the game itself.
      
   .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
   +                    INTRODUCTION                          +
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
I first learned about the 2006 Caiman Easter Competition
   back in late November or early December of 2005. The idea of
   an Easter-oriented game seemed like a fun idea to me, and
   the worldwide competition aspect of it made this all the
   more fun!  While the competition does not require that the
   game be Easter in nature, I still decided to make mine
   exclusively about the Easter holiday and traditions -- in
   part because it seems Easter games are so rare to come by.
So, after numerous days of brainstorming and dozens of game
   ideas flowing through my head, I finally came up with the
   basic plot and concept of the game which I would soon be
   developing.  Now, over two months down the road, I am proud
   to present to you...
"The Little Eggy That Could"
      
   .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
   +                 SYSTEM REQUIREMENTS                      +
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
RECOMMENDED REQUIREMENTS:
   - 2.4GHZ Processor
   - 512MB RAM
   - 128MB Video Card
   - DirectX 9.0C
   - Surround sound speakers
MINIMUM SUGGESTED REQUIREMENTS:
   - 733MHZ Processor
   - 128MB RAM
   - 16MB Video Card
   - DirectX 9.0C
   - Stereo speakers (unless you don't care about sound)
WARNING: This game was designed so that it should function
   properly across most frame rates.  This means that even on
   slightly older computers the game should be fully playable,
   though the lower the frame rate the more choppy the game
   will become. Since the game monitors the frame rate
   constantly and adjusts the performance based on the current
   frame rate, it is crucial that you do not have any other
   resource-intensive applications running while playing the
   game.  This includes virus scanners, defragging, CD
   burning, or any other large applications.  If a
   resource-intensive application is running in the background
   while you play the game, the gameplay and controls may
   become erratic which will make the game unplayable.  So,
   make sure that all other major applications are closed
   before launching the game.
As long as your machine is able to achieve at least 45FPS,
   you should be able to play the game.  Most recent computers
   should have no problem running the game at a solid 90FPS.
   This game has been personally tested on a 1.2GHZ (with ATI
   9200), a 2.4GHZ (with ATI 9800) and an Athlon XP 2200 (with
   an integrated NVidia display chip), and each one was able
   to run the game without any noticable issues.
If you are experiencing a lot of lag or other unexpected
   behavior due to low frame rates, make sure that all other
   applications are closed and also try lowering the game
   resolution if possible.  You may also wish to disable 3D
   sounds, fog effects, or other performance-altering
   settings.  To do so, see the section of this document
   titled, "Cheats & Hidden Options". Finally, make sure that
   your video card and sound card drivers are up-to-date.
      
   .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
   +                   FEATURE OVERVIEW                       +
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 - 25 unique levels spread across five different worlds
   - 10 different characters to select from
   - Twenty different candies or candy variations to collect
   - Numerous power-ups and hazards spread across the levels
   - Worlds become unlocked once beat, so games can be loaded
   - High score feature which records the fastest time per map
   - Customizable options from controls, to resolution, etc.
   - Anti-cheat prevention and checking procedures
   - All original content, created exclusively for this game
      
   .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
   +                  STORY & OBJECTIVE                       +
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
It is the day before Easter, when suddenly the Easter Bunny
   comes down with a sickness and feels that he will be unable
   to gather up all of the candies in time to deliver them to
   the children.  Not knowing what to do, the Easter Bunny
   decides that the only hope he has is to assign the candy
   collecting job to his friend, the Easter Egg.
In the game, you star as the Easter Egg.  As the egg, you
   must make your way through each level while picking up all
   of the pieces of candy that there is to collect. After all
   of the candy has been collected, a Golden Egg will appear
   somewhere within the level.  You must locate and jump into
   this Golden Egg in order to be teleported to the next level
   or world. 
Being the egg that you are, you must be very careful during
   your adventure.  Avoid falling too far before landing or
   you'll crack and break.  Also, you will want to stay clear
   of all hazards that may appear such as lasers and hot plates
   -- or you'll instantly be turned into one very scrambled
   egg!  In addition, be warned that stepping on a surface fan
   will propel you high into the air.
Throughout the game, you will encounter several power-ups
   which will prove to be valuable as you make your way across
   the levels.  One such power-up will turn you into a
   temporarily hard-boiled egg so that you won't crack or turn
   scrambled if struck by lasers, etc,.  Another power-up
   enables you to run at a much faster speed when activated.
   You also have the natural ability to double jump, which can
   prove to be both helpful or hurtful depending on how you use
   it.
      
   .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
   +                       CONTROLS                           +
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MENU CONTROLS
   ____________________________________________________________
 UP, DOWN - Select previous or next menu option
   RIGHT, LEFT - Modify selected option in Options Screen
   SPACE, ENTER, or SHIFT - Activate highlighted selection
   ESC - Return to previous menu, or exit if on Title Screen
      
IN-GAME CONTROLS (can be customized in Options Screen)
   ____________________________________________________________
UP - Move player forward
   DOWN - Move player backward
   LEFT - Turn player to the left
   RIGHT - Turn player to the right
'Z' - Jump, Double Jump
   'X' - Activate Speed Power-up
MOUSE FORWARD, MOUSE BACKWARD - Alter camera height
   LEFT MOUSE BUTTON WITH MOVEMENT - Alter camera distance
   RIGHT MOUSE BUTTON - Reset camera height and distance
   MIDDLE MOUSE BUTTON - Auto top-down camera angle
F12 - Pause Game *
   ESC - Exit to main menu (game checks for new records first)
* Each time you pause and un-pause the game, up to one
   second will be added to your current time (similar to when
   you crack or become scrambled).  In addition, the cycles
   used by any lasers within the level continue to progress
   silently even when paused (if you pause the game when a
   laser is in-active, there is a chance it will instantly
   activate once un-paused depending on its current cycle).
 
   .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
   +                     MENU OPTIONS                         +
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
When you first launch the game, after you lose all lives, or
   after you win the game, you will be taken to the Main Menu.
   This menu is used to access all sections of the game:
____________________________________________________________
NEW GAME - Will start a fresh game from World 1, Level 1.
LEVEL SELECT - Will allow you to pick the world and level
   that you wish to start from.  In order for a full world to
   become unlocked, you will first need to finish all five of
   the levels for that specific world.  Worlds that haven't yet
   been completed in full will only allow you to begin from
   Level 1 (making the game slightly more challenging).
BEST TIMES - Will display the record times set for each
   level of every world.  Use the LEFT and RIGHT keys to browse
   through all of the records.
HOW TO PLAY - Will provide you with a graphical display of
   all major aspects of the game, the objective, and so forth.
   Use the LEFT and RIGHT keys to scroll through the various
   pages of instructions.
OPTIONS - Will take you to a screen which can be used to
   configure various aspects of the game.  From here, you will
   be able to select a character, adjust the music and sound
   volume, change the screen resolution, and set the user
   controls.
EXIT - Will terminate the game and return you to Windows.
      
   .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
   +                    GAME INTERFACE                        +
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
When playing the game, you will see the user interface which
   presents you with a variety of different statistics.  The
   information on screen, from top-down left-right, includes:
____________________________________________________________
LEVEL INDICATOR - Found at the top of the screen, this area
   displays the current world and level that you are on.  For
   example, "3-1" indicates World 3, Level 1.
LIVES INDICATOR - Found at the bottom of the screen, this
   area displays the total number of extra lives you have with
   a maximum of four extra lives possible (in addition to the
   current life you are using).
HARD-BOILED INDICATOR - Found at the bottom of the screen,
   this area visually indicates how much time you will remain
   hard-boiled (invincible).  The moment that the thermometer
   reaches zero, you will lose your invincibility power.
CANDY LEFT INDICATOR - Found at the bottom of the screen,
   this area displays how much candy remains to be collected in
   the current level.  Each time a piece of candy is picked up,
   the counter will go down.  Once all candy has been grabbed,
   the Golden Egg will appear.
VEG OIL INDICATOR - Found at the bottom of the screen, this
   area visually indicates how much vegetable oil is left in
   your inventory.  Each time you activate and use some of the
   slick, the amount remaining decreases until none is left.
TIME INDICATOR - Found at the bottom of the screen, this
   area displays the current game time, along with the record
   game time for the active level.
      
   .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
   +                       HAZARDS                            +
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Depending on which level you are on, there will be a number
   of different ways in which your egg may become cracked or
   scrambled, indicating death.  The hazards are outlined below:
____________________________________________________________
FALL DISTANCE - If your egg drops too far before hitting a
   platform, chances are that you will crack (unless you are
   invincible or land on a slope).  If you fall and land on the
   very ground surface of any level, you will also crack even
   if you are invincible.
LASERS - There are three different sizes of lasers in the
   game (short to long) and two different types of lasers.
   Some of them will remain active forever, while others will
   flash on and off at set intervals.  If you get too close to
   any active laser, it will zap you and turn you into a
   scrambled egg. So, ensure you are a safe distance away from
   these at all times.
HOT PLATES - On the surface of some platforms you will find
   hot plates.  These come in a couple different sizes, and
   even the slightest contact with one of these will instantly
   fry you into a scrambled egg.
SURFACE FANS - If you step on any spinning fan located on a
   platform, you will be propelled high into the air.  This can
   be helpful if you need to reach very high distances, but if
   you don't land on a high enough platform after launching you
   will likely crack.
      
   .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
   +                      POWER-UPS                           +
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
There are several different power-ups and abilities found
   within the game.  The various specials and power-ups are
   defined below:
____________________________________________________________
DOUBLE-JUMP - This is a natural ability that you always
   have.  Before reaching the peak of your first jump, you can
   perform a double jump by pressing the 'Jump' key one more
   time.  Be careful, as performing a double-jump without
   landing on a higher platform may result in a broken egg.
RAMP LANDING - If you fall too far but are fortunate enough
   to land on any ramp or slope, your impact will be absorbed
   by the ramp and you will not crack. The rare exception to
   this is if you land on a ramp at an unusually high speed or
   unusually sharp angle, you will still then crack.
POT OF WATER - Grab the pot of water which can be found on
   certain levels, and you will temporarily become hard-boiled.
   When hard-boiled, no falls will hurt you no matter how far
   they are. Likewise, lasers and hot plates will also have no
   effect on you.   The one exception to this rule is if you
   land on the very ground surface of any level, which will
   still break you.  Keep an eye on how much time remains of
   invincibility as the instant the time runs out, you will be
   breakable and destructible.
VEGETABLE OIL - Slide over a puddle of Vegetable Oil and you
   will be given the ability to cruise at much faster speeds
   each time you activate this powerup.  This powerup will stay
   in your inventory until you either use all of the slick up,
   lose all of your lives, or move on to the next level.
EXTRA LIFE - Occasionally, you may find an extra life
   floating around. Collect it and you will naturally be given
   one more life (turn).
      
   .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
   +                    TIPS & TRICKS                         +
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- For an added challenge, replace the default record times
   with either the Beginner or Expert times found within the
   root 'Maps' directory.  You can swap the records or reset
   them back to default by clicking on the corresponding
   batch file (_Beginner.bat, _Expert.bat, _Reset.bat). *
- Most of the levels have multiple paths and shortcuts which
   can be taken if desired.  To beat levels in the fastest
   times possible, taking shortcuts and using the other tips
   included here is a must.
- Moving while using a combination of jumps and turns will
   allow you to travel slightly faster than simply moving
   forward on the flat surfaces.
- While ramps will automatically accelerate you downwards as
   you rest on them (to a degree), you can gain some more
   speed by holding in the forward key when accelerating
   down any ramp.
- Since landing on ramps will not crack your egg, you can
   use this ability to cruise through levels faster and to
   reach platforms and areas that otherwise may be impossible
   to get at.
- If you jump right as you reach the bottom of any ramp,
   especially if you have been holding in the forward key,
   you will be able to soar farther distances.  You can also
   double jump when taking this approach which will achieve
   even greater distance.
- Sometimes you may end up in a spot which you can't get out
   of no matter how hard you try.  If this happens, you will
   need to double jump and destroy yourself so that you
   appear back at the start of the level.  This technique can
   also be used if you need to get back to the start area in
   a hurry and are far away (for record setting purposes).
- This tip is only for the extreme egg players! If you are
   able to land on the VERY edge of any platform after
   falling, the platform will absorb the impact and you will
   survive.  This is a very difficult technique to master but
   can also prove to be live-saving if executed successfully.
   If you are falling and know you will break when you land,
   try aiming for the very edge of the platform and you might
   just get lucky.  There are actually a couple other moves
   which can be executed to also save you from cracking, but
   I'll leave that to you to explore.
- The music I've created and included in the game may become
   very boring and repetetive in a short time.  If you would
   like to use your own music in the game, simply replace the
   existing WMA files in the "Music" directory with any other
   WMA files that you wish - being sure to maintain the same
   file names.
   
   * For the beginner high scores included, I went through
   each level without taking any shortcuts, moving at a
   slower speed.  For the expert high scores, I played each
   map using every shortcut and technique possible.  Many of
   the expert scores took numerous attempts to accomplish. If
   you are able to beat any of the expert records, consider
   yourself to be beyond an expert Eggy (very challenging)!
   If you run the 'Reset' batch file, all of the top scores
   will be reset to 54:32:10.  If you can't figure out how
   I finished any level at the speed in which I did, feel
   free to send me an e-mail and I can try to help you out!
   All records were made using a turn sensitivity of 18.0.
      
   .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
   +               CHEATS & HIDDEN OPTIONS                    +
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--[ HIDDEN OPTIONS ]--
To activate any of these hidden options, simply create a
   blank text document using Notepad and save it to the root
   TLETC directory (where this Readme file resides) using any of
   the names listed below, and then restart the game. The files
   must all be in small-case.
nojumpsnd.txt.......Disables the 'Player Jump' sound
   nolandsnd.txt.......Disables the 'Player Land' sound
   nozapsnd.txt........Disables the '3D Zapper Activate' sounds
   nofansnd.txt........Disables the '3D Surface Fan' sounds
   nofpslimit.txt......Uncaps FPS (NOT recommended, nor tested)^
   showfps.txt.........Displays the current frame rate in game
   nofog.txt...........Disables in-game fog effects
   nosky.txt...........Disables in-game sky and sky effects
   nofarcam.txt........Greatly decreases camera range*
   turnspeed.txt.......Allows you to specify turn sensitivity%
^ If you uncap the frame rate, certain aspects of the game
   may malfunction.  However, if you are experiencing lags and
   slow performances when playing the game, uncapping the frame
   rate may work just fine while also making the game smoother.
* If you decrease the camera range, objects in the distance
   will be clipped, thus reducing the polygon count and likely
   improving the performance.  This does not look good nor
   does it make the game very enjoyable . But, the option is
   here if you need it (try all other options first, though).
% To specify a custom turn sensitivity, enter the desired
   value inside of the "turnspeed.txt" document.  This value
   can be any number, but it is highly recommended that the
   value be between 14.5 and 20.0 to ensure that all levels
   and turns are possible.  The default value is 16.0, if you
   delete this file the turn speed will be reset to default.
   The lower the value, the slower you turn.
IN ADDITION:  I have supplied both higher-resolution texture
   maps and lower-resolution texture maps along with the game
   so that computers with less video or processing power should
   still be able to run the game fairly, simply with some lower
   quality graphics.  To alternate between the texture quality,
   run the corresponding batch file(s) included within the root
   'Maps' directory (_LowRes.bat or _HighRes.bat).
      
--[ CHEATS ]--
WARNING: Cheating isn't cool!  But, if you do decide to use
   any of the cheats to help you through the levels, be aware
   that you will not be able to set any records this way as the
   game will detect that you are cheating.
UNLOCK ALL LEVELS - While on the Initial Title screen, key
   in "letc" to temporarily unlock all worlds and levels.  If
   done successfully, you will hear a chime and can then select
   any level from the Level Selection screen.
EXTRA LIVES - While playing the game, press the following
   keys in order to receive an extra life instantly (you must
   do this while still alive): "F6, F9, F8, F5, F7" you will
   hear the Extra Life sound and the game will be updated
   immediately.  You can only have four extra lives at any
   given time.
INSTANT CANDY COLLECT - While playing the game, press the
   following keys in order to instantly collect all candies and
   unlock the Golden Egg (you must do this while still alive):
   "F3, F4, F9, F8, F5, F2" you will hear the All Candy
   Collected sound and the Golden Egg will appear.
      
   .++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
   +                 DEVELOPMENT CREDITS                      +
   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Programming................................xCept (Matt Pilz)
   Graphics...................................xCept (Matt Pilz)
   Textures...................................xCept (Matt Pilz)
   Models.....................................xCept (Matt Pilz)
   Levels.....................................xCept (Matt Pilz)
   Sounds.....................................xCept (Matt Pilz)
   Music......................................xCept (Matt Pilz)
All aspects of this game were created exclusively for the
   Caiman Easter Competition 2006 (www.caimen.be) by myself.
All coding was done using DarkBasic Pro 1.058.  No third
   party plugins or libraries were used.
Some of the model and/or platform textures that I composed 
   may have been based in part on the royalty free textures
   available at either imageafter.com or texturewarehouse.com.
   However, each texture was modified to such a degree to ensure
   that it fit in with my game, that the base textures are
   generally not recognizable.
All sound and music was generated using my aged CTK-150
   and MD-1160 electronic keyboards, and other natural sounds.
All characters portrayed within this game are fictitious and
   any resemblance to persons living, dead, or cartoon is
   purely erm... Coincidental?
      
                       xCeptDB@GMail.com
                      http://www.m3Dr.com
   ____________________________________________________________
                            E N D
   ____________________________________________________________
   MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM|
   MMMMMMMMMMMMMMMMMMMMMMM8+?I?????88$8MMMMMMMMMMMMMMMMMMMMMMM|
   MMMMMMMMMMMMMMMMMMMMMO8?????OI8?????Z?8MMMMMMMMMMMMMMMMMMMM|
   MMMMMMMMMMMMMMMMMMM8???$~+7??????Z~=7??O8MMMMMMMMMMMMMMMMMM|
   MMMMMMMMMMMMMMMMM++++I=====I++++8=====I++8MMMMMMMMMMMMMMMMM|
   MMMMMMMMMMMMMMM8+++?8?+++++8+++?++++++ON+++IMMMMMMMMMMMMMMM|
   MMMMMMMMMMMMMM++++I...:$DZ?7+++O?I8M+...?++++MMMMMMMMMMMMMM|
   MMMMMMMMMMMMM++++=,...:I,.,7=++Z:..~I....D++++MMMMMMMMMMMMM|
   MMMMMMMMMMMM=====O...==Z8..Z===?~.:~?Z$..:+====MMMMMMMMMMMM|
   MMMMMMMMMMM======+..~ZZZZ.,I====N..$ZZ8...O=====MMMMMMMMMMM|
   MMMMMMMMMM=======7...:=..:$======$..:=....$======MMMMMMMMMM|
   MMMMMMMMM========?~.....8=========I=.....D========MMMMMMMMM|
   MMMMMMMM~~~~~~~~~~~I88?~~~+=~~~~+O7~~$DZ=~~~~~~~~~~MMMMMMMM|
   MMMMMMM=~~~~~~~~+~~~~~~~=MM?~~~~+MM:~~~~~~~~~~~~~~~~MMMMMMM|
   MMMMMMN~~~~~~~~8+~~~~~~~~$MM88MMO=~~~~~~~~+D+~~~~~~~~MMMMMM|
   MMMMMM~~~~~~~~O??7Z8Z+~~~~~~~~~~~~~~~~?88ZI+IZ:~~~~~~MMMMMM|
   MMMMM$:::::::??::::::~I8O+:::::::~?8O+~::::::D~:::::::MMMMM|
   MMMMO::::::::::::::::::::~I8Z=+8Z+:::::::::::::::::::::MMMM|
   MMMM:::::::::::::::::::::::::+=::::::::::::::::::::::::MMMM|
   MMM~::::::::::::::::::::::::::::::::::::::::::::::::::::MMM|
   MMM,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,MMM|
   MMM,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:MM|
   MM,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,MM|
   MM,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,MM|
   MM,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:M|
   M,,,,,,,,,,,,,,,,,,,,,,,,,,,,,=,,,,,,,,,,,,,,,,,,,,,,,,,,,M|
   M,,,,,,,,,,,,,,,,,,,,,,,,,,:8NON7,,,,,,,,,,,,,,,,,,,,,,,,,M|
   M,,,,,,,,,,,,,,,,,,,,,,,,?ND7III$NO,,,,,,,,,,,,,,,,,,,,,,,M|
   MNNNNNNNNNNNNNNNNNNNNNNNNO$$$$$$$$$NNNNNNNNNNNNNNNNNNNNNNNM|
   M$$$$$$$$$$$$$$$$$$$$8N8ZZZZZZZZZZZZZNNZ$$$$$$$$$$$$$$$$$$M|
   M++++++++++++++++++ONOZZZZZZZZZZZZZZZZZND?++++++++++++++++M|
   M++++++++++++++++++INDZZZZZZZZZZZZZZZZ8NO+++++++++++++++++M|
   M$$$$$$$$$$$$$$$$$$$$ZNNZ$ZZZZZZZZZZ8NO$$$$$$$$$$$$$$$$$$$M|
   M:::::::::::::::::::::::ONZ777777$DN=:::::::::::::::::::::M|
   MO::::::::::::::::::::::::7NOII7N8::::::::::::::::::::::::M|
   MM::::::::::::::::::::::::::?NNZ:::::::::::::::::::::::::MM|
   MM~~~~~~~~~~~~~~~~~~~~~~~~~~~:~~~~~~~~~~~~~~~~~~~~~~~~~~~MM|
   MMM~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~OMM|
   MMM=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~MMM|
   MMMM~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~MMMM|
   MMMMM~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~MMMMM|
   MMMMMM===============================================MMMMMM|
   MMMMMMM=============================================MMMMMMM|
   MMMMMMMM===========================================MMMMMMMM|
   MMMMMMMMM8========================================MMMMMMMMM|
   MMMMMMMMMMM+++++++++++++++++++++++++++++++++++++MMMMMMMMMMM|
   MMMMMMMMMMMMM+++++++++++++++++++++++++++++++++MMMMMMMMMMMMM|
   MMMMMMMMMMMMMMMM+++++++++++++++++++++++++++8MMMMMMMMMMMMMMM|
   MMMMMMMMMMMMMMMMMMM?????????????????????MMMMMMMMMMMMMMMMMMM|
   MMMMMMMMMMMMMMMMMMMMMMMMMI???????I8MMMMMMMMMMMMMMMMMMMMMMMM|
   MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM|