Introduction

A dungeon crawler is a type of RPG where players explore a labyrinth environment, battle enemies, avoid traps, solve puzzles, and find treasure!

In this guide, we'll show you how to get started with creating your own Dungeon Crawler in MakeCode Arcade with Javascript and TypeScript. You will gain familiarity with using variables, functions, namespaces.

Complete this guide to create your first Javascript-based game in MakeCode Arcade.
    • A dungeon crawler is a type of RPG where players explore a labyrinth environment, battle enemies, avoid traps, solve puzzles, and find treasure!

    • In this guide, we'll show you how to get started with creating your own Dungeon Crawler in MakeCode Arcade with Javascript and TypeScript. You will gain familiarity with using variables, functions, and namespaces.

    • This guide continues on from Player Selection Screen with MakeCode Arcade. Using the Javascript interface, we will create custom art, variables, namespaces, and functions for a simple dungeon crawler arcade game.

  1. let selectionBox: Sprite = null;
    let playerSprite: Sprite = null;
    let boySprite: Sprite = null;
    let doorSprite: Sprite = null;
    let userName = game.askForString("What is your name?");
    let intro = "Hello, " + userName + ", you are about to embark on an adventure!";
    
    • Add the following variables at the very beginning.

    • Some of these variables have been set to null, which means they don't yet have a value. Later, we will add values to them. 

  2. namespace customArt {
        export const Chest = img`
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . f f f f f f f f f f . . .
                . . f f b b b b b b b b f f . .
                . f f b c c c c c c c c b f f .
                . f b c c c c c c c c c c b f .
                f f c c c c c c c c c c c c f f
                f c c c c c c 9 9 c c c c c c f
                f 9 9 9 9 9 a f f a 9 9 9 9 9 f
                f b b b b b a f f a b b b b b f
                f c c c c c a a a a c c c c c f
                f b b b b b b b b b b b b b b f
                f 9 9 c c c c c c c c c c 9 9 f
                f a a b b b b b b b b b b a a f
                f f f f f f f f f f f f f f f f
            `;
        export const Wall = img`
                . f f f f f f f f f f f f f f .
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 f 7 7 7 7 7 7 7 7 7 7 f 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 f 7 7 7 7 7 7 7 7 7 7 f 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                . f f f f f f f f f f f f f f .
            `;
        export const Door = img`
                . f f f f f f f f f f f f f f .
                f b b b c b b b c b b b c b b f
                f b b b c a a a a a a a c b b f
                f b b b c a 9 9 9 9 9 a c b b f
                f c b b c a 9 9 9 9 9 a c b b f
                f c b b c a 9 9 9 9 9 a c b b f
                f b b b c a a a a a a a c b a f
                f b b b c b b b c b b b c a 9 f
                f b b b c b b b c b b b c a 9 f
                f b b b c b b b c b b b c b a f
                f c b b c b b b c b b b c b b f
                f c b b c b b b c b b b c b b f
                f b b b c b b b c b b b c b b f
                f b b b c b b b c b b b c b b f
                f b b b c b b b c b b b c b b f
                . f f f f f f f f f f f f f f .
            `;
        export const boySprite = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . f f . . . . . . . . . . . . . . .
                . . . . . . . . . . . f f f f 9 9 f f . . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 . . . . . . . . . . .
                . . . . . . . . . f 9 9 9 d d 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 d d d d d d 9 9 9 f . . . . . . . . . .
                . . . . . . . . f d 9 d d d d d d d d 9 9 d f . . . . . . . . .
                . . . . . . . . f d f d d f d d d f d d f d f . . . . . . . . .
                . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
                . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
                . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
                . . . . . . . . . . f c c 8 8 8 8 8 8 c f . . . . . . . . . . .
                . . . . . . . . . . f 8 c c c c c c c d f . . . . . . . . . . .
                . . . . . . . . . . f d f 8 8 8 8 8 8 d f . . . . . . . . . . .
                . . . . . . . . . . f d d f c c c c c d f . . . . . . . . . . .
                . . . . . . . . . . f d d f 7 f 7 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . . f 7 7 7 f f 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . . f f 7 7 f f 7 7 f f f . . . . . . . . . .
                . . . . . . . . . . . f 7 7 f f f 7 c c a f . . . . . . . . . .
                . . . . . . . . . . f a b b f . . f b b f . . . . . . . . . . .
                . . . . . . . . . . . f f f f . . . f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
    }
    • First, create a new namespace and name it customArt. In this guide, we've moved some of the previously created sprite art into this namespace - the boy's face and the full body sprite. We've also created chest and wall block sprites.

    • This is where we will place all the custom made sprite art for our game. We can then refer to it outside of the namespace. For example, to use the Chest sprite art, add the namespace followed by the const variable like so: customArt.Chest

    • In TypeScript, const stands for constant which means the variable cannot be reassigned at a later time. Remember to use the export keyword to make these values accessible outside the namespace. 

  3. namespace SpriteKind {
        export const Boy = SpriteKind.create();
        export const Treasure = SpriteKind.create();
        export const Goal = SpriteKind.create();
    }
    • Add a new kind of sprite in the namespace SpriteKind. Name it, Treasure

    • Create a new sprite kind and name it Goal.

    • As these values will be accessed outside the namespace, make sure to use export again.

  4. game.splash(intro);
    createPlayer();
    createLevel();
    
    • In this guide, we will focus on just the one player character, the boy sprite. So go ahead and remove the playerSelection function, as well as the call to that function. 

    • Then call the createLevel and createPlayer functions after game.splash(intro);

  5. function createLevel() {
        scene.setBackgroundImage(img`
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            `);
        scene.setTileMap(img`
                c c c c c c c c c c c c c c c c c c a c
                c . . . . . . . . c . . . . . . . . . c
                c . b . . . . . . c . . . . . . . . . c
                c . . . . . . . . c . . . . . . . . . c
                c . . . . . . . . c . . . . . . . . . c
                c . . . . . . . . c . . . . c c c c c c
                c c c c c c c . . . . . . . . . . . . c
                c . . . . . c . . . . . . . . . . . . c
                c . . . . . c . . . . c . . . . . . . c
                c . . c c c c . . . . c . . . . . . . c
                c . . . . . . . . . . c . . . . . . . c
                c . . . . . . . . . . c . . . . . . . c
                c . . . . . . . . . . c . . . . . . . c
                c . . . . . . . . . . c . . . . . . . c
                c c c c c c c c c c c c c c c c c c c c
            `);
        scene.setTile(11, customArt.Chest, true);
        scene.setTile(12, customArt.Wall, true);
        doorSprite = sprites.create(customArt.Door, SpriteKind.Goal);
        doorSprite.setPosition(296, 8);
    }
    • Update the background image with scene.setBackGroundImage

    • Create a tile map with scene.setTileMap

    • Set the custom made tiles - the wall blocks as well as the one chest block with scene.setTile

    • scene.setTile accepts three parameters. For example with scene.setTile(12, customArt.Chest, true):

      The first parameter refers to the colour from our custom palette that has been used to indicate the wall block in our tile map.

      The second parameter refers to the Chest sprite art contained in our customArt namespace.

      The third parameter indicates whether or not the tile block ...

    • Create and position the door sprite, this will be the goal of our game. Once the player character reaches it, the win game condition is triggered. 

  6. function createPlayer() {
        playerSprite = sprites.create(customArt.boySprite, SpriteKind.Boy);
        controller.moveSprite(playerSprite, 100, 100);
        info.setLife(3);
        scene.cameraFollowSprite(playerSprite);
    }
    • Create the player sprite with sprites.create

    • The first parameter refers to the sprite art boySprite in the customArt namespace. The second parameter indicates the sprite kind. 

    • Next, to control the sprite using direction buttons, add controller.moveSprite(playerSprite, 100, 100); 

    • Set the player life to three with info.setLife(3);

    • Lastly, for the camera to follow the player sprite throughout the tile map, use:

      scene.cameraFollowSprite(playerSprite);

    • To animate the player sprite, we require more sprite art! In this guide, we've created sprite art inspired by the classic SNES game, Earthbound. 

      Feel free to create your own player sprites.

      In this guide, there will be three frames for each walking animation in the directions: up, down, left, and right. So in total, there are twelve separate .png files that have been created.

    • Next, import your created sprite art into MakeCode Arcade with the MakeCode Arcade Asset Tool.

    • Next, add the Animation extension!

      First, click on the Extensions button.

    • Click on animation

    • You should then see Animation-specific blocks found in the Animation tab over in the Javascript interface.

  7. namespace customArt {
        export const Chest = img`
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . f f f f f f f f f f . . .
                . . f f b b b b b b b b f f . .
                . f f b c c c c c c c c b f f .
                . f b c c c c c c c c c c b f .
                f f c c c c c c c c c c c c f f
                f c c c c c c 9 9 c c c c c c f
                f 9 9 9 9 9 a f f a 9 9 9 9 9 f
                f b b b b b a f f a b b b b b f
                f c c c c c a a a a c c c c c f
                f b b b b b b b b b b b b b b f
                f 9 9 c c c c c c c c c c 9 9 f
                f a a b b b b b b b b b b a a f
                f f f f f f f f f f f f f f f f
            `;
        export const Wall = img`
                . f f f f f f f f f f f f f f .
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 f 7 7 7 7 7 7 7 7 7 7 f 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 f 7 7 7 7 7 7 7 7 7 7 f 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                . f f f f f f f f f f f f f f .
            `;
        export const Door = img`
                . f f f f f f f f f f f f f f .
                f b b b c b b b c b b b c b b f
                f b b b c a a a a a a a c b b f
                f b b b c a 9 9 9 9 9 a c b b f
                f c b b c a 9 9 9 9 9 a c b b f
                f c b b c a 9 9 9 9 9 a c b b f
                f b b b c a a a a a a a c b a f
                f b b b c b b b c b b b c a 9 f
                f b b b c b b b c b b b c a 9 f
                f b b b c b b b c b b b c b a f
                f c b b c b b b c b b b c b b f
                f c b b c b b b c b b b c b b f
                f b b b c b b b c b b b c b b f
                f b b b c b b b c b b b c b b f
                f b b b c b b b c b b b c b b f
                . f f f f f f f f f f f f f f .
            `;
        export const boySprite = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . f f . . . . . . . . . . . . . . .
                . . . . . . . . . . . f f f f 9 9 f f . . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 . . . . . . . . . . .
                . . . . . . . . . f 9 9 9 d d 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 d d d d d d 9 9 9 f . . . . . . . . . .
                . . . . . . . . f d 9 d d d d d d d d 9 9 d f . . . . . . . . .
                . . . . . . . . f d f d d f d d d f d d f d f . . . . . . . . .
                . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
                . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
                . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
                . . . . . . . . . . f c c 8 8 8 8 8 8 c f . . . . . . . . . . .
                . . . . . . . . . . f 8 c c c c c c c d f . . . . . . . . . . .
                . . . . . . . . . . f d f 8 8 8 8 8 8 d f . . . . . . . . . . .
                . . . . . . . . . . f d d f c c c c c d f . . . . . . . . . . .
                . . . . . . . . . . f d d f 7 f 7 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . . f 7 7 7 f f 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . . f f 7 7 f f 7 7 f f f . . . . . . . . . .
                . . . . . . . . . . . f 7 7 f f f 7 c c a f . . . . . . . . . .
                . . . . . . . . . . f a b b f . . f b b f . . . . . . . . . . .
                . . . . . . . . . . . f f f f . . . f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const right1 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
                . . . . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . .
                . . . . . . . . . . . . . f f f 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 d d 9 9 f . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 d d d d d f . . . . . . . . . .
                . . . . . . . . . f 9 9 d 9 d d d d d d d f . . . . . . . . . .
                . . . . . . . . . f 9 9 d 9 d d d d d f d f . . . . . . . . . .
                . . . . . . . . . . f 9 d d d d d d d f d d f . . . . . . . . .
                . . . . . . . . . . f 9 9 d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f d f . . . . . . . . . . .
                . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
                . . . . . . . . . . . . . . f f d d f . . . . . . . . . . . . .
                . . . . . . . . . . . . . f c c 8 8 c f . . . . . . . . . . . .
                . . . . . . . . . . . . . f 8 8 c c c d f . . . . . . . . . . .
                . . . . . . . . . . . . f d d f 8 8 8 f d f . . . . . . . . . .
                . . . . . . . . . . . . f d f c c c c f d f . . . . . . . . . .
                . . . . . . . . . . . . . f f 7 7 7 7 f f a f . . . . . . . . .
                . . . . . . . . . . . . f b 7 7 f 7 7 f 7 a f . . . . . . . . .
                . . . . . . . . . . . . f b b f . f f c b a f . . . . . . . . .
                . . . . . . . . . . . . . f f f . . f b b f . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const right2 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
                . . . . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . .
                . . . . . . . . . . . . . f f f 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 d d 9 9 f . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 d d d d d d f . . . . . . . . . .
                . . . . . . . . . f 9 9 d 9 d d d d d d d f . . . . . . . . . .
                . . . . . . . . . f 9 9 d d d d d d d f d f . . . . . . . . . .
                . . . . . . . . . . f 9 d d d d d d d f d d f . . . . . . . . .
                . . . . . . . . . . f 9 9 d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f d f . . . . . . . . . . .
                . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
                . . . . . . . . . . . . . . f f d d f . . . . . . . . . . . . .
                . . . . . . . . . . . . . f c c 8 8 f . . . . . . . . . . . . .
                . . . . . . . . . . . . . f 8 8 c c c f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d f 8 8 8 f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d f c c c f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d f 7 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . . . . f f f 7 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . . . . f 7 7 7 7 f . . . . . . . . . . . . .
                . . . . . . . . . . . . . . f c c f f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . f b b a a f . . . . . . . . . . . .
                . . . . . . . . . . . . . . . f f f f . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const right3 = img`
                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . .
                    . . . . . . . . . . . . . f f f 9 9 9 9 9 9 f . . . . . . . . .
                    . . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
                    . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
                    . . . . . . . . . . f 9 9 9 9 9 9 9 d d 9 9 f . . . . . . . . .
                    . . . . . . . . . f 9 9 9 9 9 d d d d d d f . . . . . . . . . .
                    . . . . . . . . . f 9 9 d 9 d d d d d d d f . . . . . . . . . .
                    . . . . . . . . . f 9 9 d d d d d d d f d f . . . . . . . . . .
                    . . . . . . . . . . f 9 9 d d d d d d f d d f . . . . . . . . .
                    . . . . . . . . . . f d d d d d d d d d d f . . . . . . . . . .
                    . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
                    . . . . . . . . . . . . f d d d d d f d f . . . . . . . . . . .
                    . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
                    . . . . . . . . . . . . . . f f d d f . . . . . . . . . . . . .
                    . . . . . . . . . . . . . f 8 8 c c e e f . . . . . . . . . . .
                    . . . . . . . . . . . . f f c c c 8 d f f . . . . . . . . . . .
                    . . . . . . . . . . . f d f 8 8 8 f d d d f . . . . . . . . . .
                    . . . . . . . . . . . f f 7 c c c f f d d f . . . . . . . . . .
                    . . . . . . . . . . . . f 7 7 7 7 7 7 f f f . . . . . . . . . .
                    . . . . . . . . . . . . f c 7 7 f 7 7 f 7 b f . . . . . . . . .
                    . . . . . . . . . . . . f b a f . f f c b b f . . . . . . . . .
                    . . . . . . . . . . . . . f f f . . f b b f . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const left1 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 f f f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 d 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d 9 d 9 9 f . . . . . . . .
                . . . . . . . . . . . f d d d d d d d 9 d 9 9 f . . . . . . . .
                . . . . . . . . . . . f d f d d d d d d d 9 9 f . . . . . . . .
                . . . . . . . . . . f d d f d d d d d d d 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d 9 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . . f d f d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
                . . . . . . . . . . . . . . f d d f f . . . . . . . . . . . . .
                . . . . . . . . . . . . . f e 8 8 c c f . . . . . . . . . . . .
                . . . . . . . . . . . . f d c c c 8 8 f . . . . . . . . . . . .
                . . . . . . . . . . . f d f 8 8 8 f d d f . . . . . . . . . . .
                . . . . . . . . . . . f d f c c c c f d f . . . . . . . . . . .
                . . . . . . . . . . f a f f 7 7 7 7 f f . . . . . . . . . . . .
                . . . . . . . . . . f a 7 f 7 7 f 7 7 b f . . . . . . . . . . .
                . . . . . . . . . . f b b c f f . f b b f . . . . . . . . . . .
                . . . . . . . . . . . f b b f . . f f f . . . . . . . . . . . .
                . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
    
        export const left2 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 f f f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . . f 9 9 d d 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d 9 9 9 9 f . . . . . . . .
                . . . . . . . . . . . f d d d d d d d 9 d 9 9 f . . . . . . . .
                . . . . . . . . . . . f d f d d d d d d d 9 9 f . . . . . . . .
                . . . . . . . . . . f d d f d d d d d d d 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d 9 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . . f d f d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
                . . . . . . . . . . . . . . f d d f f . . . . . . . . . . . . .
                . . . . . . . . . . . . . . f 8 8 c c f . . . . . . . . . . . .
                . . . . . . . . . . . . . f c c c 8 8 f . . . . . . . . . . . .
                . . . . . . . . . . . . . f 8 8 8 f d d f . . . . . . . . . . .
                . . . . . . . . . . . . . f c c c f d d f . . . . . . . . . . .
                . . . . . . . . . . . . . f 7 7 7 f d d f . . . . . . . . . . .
                . . . . . . . . . . . . . f 7 7 7 f f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . f 7 7 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . . . . f f f c c f . . . . . . . . . . . . .
                . . . . . . . . . . . . . f a a b b f . . . . . . . . . . . . .
                . . . . . . . . . . . . . . f f f f . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
    
        export const left3 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 f f f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . . f 9 9 d d 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d 9 9 9 9 9 f . . . . . . . .
                . . . . . . . . . . . f d d d d d d d 9 d 9 9 f . . . . . . . .
                . . . . . . . . . . . f d f d d d d d d d 9 9 f . . . . . . . .
                . . . . . . . . . . f d d f d d d d d d d 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d 9 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . . f d f d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
                . . . . . . . . . . . . . . f d d f f . . . . . . . . . . . . .
                . . . . . . . . . . . . f 7 7 c c 8 8 f . . . . . . . . . . . .
                . . . . . . . . . . . . f f d 8 c c c f f . . . . . . . . . . .
                . . . . . . . . . . . f d d d f 8 8 8 f d f . . . . . . . . . .
                . . . . . . . . . . . f d d f f c c c 6 f f . . . . . . . . . .
                . . . . . . . . . . . f f f 6 6 6 6 6 6 f . . . . . . . . . . .
                . . . . . . . . . . f b 7 f 6 6 f 7 6 c f . . . . . . . . . . .
                . . . . . . . . . . f b b c f f . f a b f . . . . . . . . . . .
                . . . . . . . . . . . f b b f . . f f f . . . . . . . . . . . .
                . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
    
        export const up1 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . f f . . . . . . . . . . . . .
                . . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . . . .
                . . . . . . . . . . . . f f 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 9 f f . . . . . . . . .
                . . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 d f . . . . . . . . .
                . . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f d 9 9 9 9 9 9 9 9 9 d f . . . . . . . . . .
                . . . . . . . . . f f d 9 9 9 9 9 9 9 d f f . . . . . . . . . .
                . . . . . . . . . . f f d d d d d d d f f . . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
                . . . . . . . . . . . f 8 f f f f f 8 f . . . . . . . . . . . .
                . . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . .
                . . . . . . . . . f d 8 c c c c c c c 8 d f . . . . . . . . . .
                . . . . . . . . f d d 8 8 8 8 8 8 8 8 8 d f . . . . . . . . . .
                . . . . . . . . f d d f c c c c c c c c d f . . . . . . . . . .
                . . . . . . . . . f f f 7 7 7 7 7 7 7 f d f . . . . . . . . . .
                . . . . . . . . . . f f 7 7 7 7 7 7 7 f f . . . . . . . . . . .
                . . . . . . . . . . f b f 7 7 f 7 7 f . . . . . . . . . . . . .
                . . . . . . . . . . . f b b f f f c c f f . . . . . . . . . . .
                . . . . . . . . . . . . f f . . f b b a f . . . . . . . . . . .
                . . . . . . . . . . . . . . . . f f f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const up2 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . f f . . . . . . . . . . . . . .
                . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . . . . .
                . . . . . . . . . . . f f 9 9 9 9 9 9 f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
                . . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 9 f f . . . . . . . . . .
                . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 d f . . . . . . . . . .
                . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . f d 9 9 9 9 9 9 9 9 9 d f . . . . . . . . . . .
                . . . . . . . . f f d 9 9 9 9 9 9 9 d f f . . . . . . . . . . .
                . . . . . . . . . f f d d d d d d d f f . . . . . . . . . . . .
                . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . . .
                . . . . . . . . . . f 8 f f f f f 8 f . . . . . . . . . . . . .
                . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . . .
                . . . . . . . . . f 8 c c c c c c c 8 f . . . . . . . . . . . .
                . . . . . . . . f d 8 8 8 8 8 8 8 8 8 d f . . . . . . . . . . .
                . . . . . . . . f d c c c c c c c c c d f . . . . . . . . . . .
                . . . . . . . . f d f 7 7 7 7 7 7 7 f d f . . . . . . . . . . .
                . . . . . . . . . f f 7 7 7 7 7 7 7 f f . . . . . . . . . . . .
                . . . . . . . . . . . f 7 7 f 7 7 f . . . . . . . . . . . . . .
                . . . . . . . . . f f c c f f f c c f f . . . . . . . . . . . .
                . . . . . . . . . f a b b f . f b b a f . . . . . . . . . . . .
                . . . . . . . . . . f f f f . f f f f . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const up3 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 f f . . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f f . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 9 f f . . . . . . . . .
                . . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 d f . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 d f . . . . . . . . .
                . . . . . . . . . f d 9 9 9 9 9 9 9 9 9 d f . . . . . . . . . .
                . . . . . . . . . f f d 9 9 9 9 9 9 9 d f f . . . . . . . . . .
                . . . . . . . . . . f f d d d d d d d f f . . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
                . . . . . . . . . . . f 8 f f f f f 8 f . . . . . . . . . . . .
                . . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . .
                . . . . . . . . . f d 8 c c c c c c c 8 d f . . . . . . . . . .
                . . . . . . . . . f d 8 8 8 8 8 8 8 8 8 d d f . . . . . . . . .
                . . . . . . . . . f d c c c c c c c c f d d f . . . . . . . . .
                . . . . . . . . . f d f 7 7 7 7 7 7 7 f f f . . . . . . . . . .
                . . . . . . . . . . f f 7 7 7 7 7 7 7 f f . . . . . . . . . . .
                . . . . . . . . . . . . f 7 7 f 7 7 f b f . . . . . . . . . . .
                . . . . . . . . . . f f c c f f f b b f . . . . . . . . . . . .
                . . . . . . . . . . f a b b f . . f f . . . . . . . . . . . . .
                . . . . . . . . . . . f f f f . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const down1 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . .
                . . . . . . . . . . . f 9 9 9 9 9 9 f f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 9 d d 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . f d 9 9 d d d d d d d 9 9 9 f . . . . . . . . .
                . . . . . . . . f d f d d f d d d f d d 9 d f . . . . . . . . .
                . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
                . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
                . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
                . . . . . . . . . . f c 8 8 8 8 8 8 c c f . . . . . . . . . . .
                . . . . . . . . . . f d c c c c c c c 8 f . . . . . . . . . . .
                . . . . . . . . . . f d 8 8 8 8 8 8 f d f . . . . . . . . . . .
                . . . . . . . . . . f d c c c c c f d d f . . . . . . . . . . .
                . . . . . . . . . . . f 7 7 7 f 7 f d d f . . . . . . . . . . .
                . . . . . . . . . . . f 7 7 f f 7 7 7 f . . . . . . . . . . . .
                . . . . . . . . . f f f 7 7 f f 7 7 f f . . . . . . . . . . . .
                . . . . . . . . . f a c c 7 f f f 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . f b b f . . f b b a f . . . . . . . . . . .
                . . . . . . . . . . . f f . . . f f f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const down2 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . .
                . . . . . . . . . . . f 9 9 9 9 9 9 f f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . . 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 d d d 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . f d 9 9 d d d d d d d 9 9 9 f . . . . . . . . .
                . . . . . . . . f d f d d f d d d f d d 9 d f . . . . . . . . .
                . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
                . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
                . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
                . . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . .
                . . . . . . . . . . f 8 c c c c c c c 8 f . . . . . . . . . . .
                . . . . . . . . . f d b 8 8 8 8 8 8 8 b d f . . . . . . . . . .
                . . . . . . . . . f d b c c c c c c c b d f . . . . . . . . . .
                . . . . . . . . . f d b 7 7 7 f 7 7 7 b d f . . . . . . . . . .
                . . . . . . . . . . f 7 7 7 7 f 7 7 7 7 f . . . . . . . . . . .
                . . . . . . . . . . . f f 7 7 f 7 7 f f . . . . . . . . . . . .
                . . . . . . . . . . . f c c f f f c c f . . . . . . . . . . . .
                . . . . . . . . . . f a b b f . f b b a f . . . . . . . . . . .
                . . . . . . . . . . . f f f f . f f f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const down3 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . f f . . . . . . . . . . . . . . .
                . . . . . . . . . . . f f f f 9 9 f f . . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 . . . . . . . . . . .
                . . . . . . . . . f 9 9 9 d d 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 d d d d d d 9 9 9 f . . . . . . . . . .
                . . . . . . . . f d 9 d d d d d d d d 9 9 d f . . . . . . . . .
                . . . . . . . . f d f d d f d d d f d d f d f . . . . . . . . .
                . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
                . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
                . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
                . . . . . . . . . . f c c 8 8 8 8 8 8 c f . . . . . . . . . . .
                . . . . . . . . . . f 8 c c c c c c c d f . . . . . . . . . . .
                . . . . . . . . . . f d f 8 8 8 8 8 8 d f . . . . . . . . . . .
                . . . . . . . . . . f d d f c c c c c d f . . . . . . . . . . .
                . . . . . . . . . . f d d f 7 f 7 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . . f 7 7 7 f f 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . . f f 7 7 f f 7 7 f f f . . . . . . . . . .
                . . . . . . . . . . . f 7 7 f f f 7 c c a f . . . . . . . . . .
                . . . . . . . . . . f a b b f . . f b b f . . . . . . . . . . .
                . . . . . . . . . . . f f f f . . . f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const idle = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . .
                . . . . . . . . . . . f 9 9 9 9 9 9 f f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . . 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 d d d 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . f d 9 9 d d d d d d d 9 9 9 f . . . . . . . . .
                . . . . . . . . f d f d d f d d d f d d 9 d f . . . . . . . . .
                . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
                . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
                . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
                . . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . .
                . . . . . . . . . . f 8 c c c c c c c 8 f . . . . . . . . . . .
                . . . . . . . . . f d b 8 8 8 8 8 8 8 b d f . . . . . . . . . .
                . . . . . . . . . f d b c c c c c c c b d f . . . . . . . . . .
                . . . . . . . . . f d b 7 7 7 f 7 7 7 b d f . . . . . . . . . .
                . . . . . . . . . . f 7 7 7 7 f 7 7 7 7 f . . . . . . . . . . .
                . . . . . . . . . . . f f 7 7 f 7 7 f f . . . . . . . . . . . .
                . . . . . . . . . . . f c c f f f c c f . . . . . . . . . . . .
                . . . . . . . . . . f a b b f . f b b a f . . . . . . . . . . .
                . . . . . . . . . . . f f f f . f f f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
    
    
    }
    • Next, add the newly made sprites into the customArt namespace. 

    • In this guide, there are will be three frames for each animation walk cycle in either directions: up, down, left, and right. 

    • Make sure export is used, this will allow the sprites to be accessed outside of the customArt namespace.

  8. enum ActionKind {
        Walking,
        Idle
    }
    • Before we start adding code for the animations, create two different kinds of actions: Walking and Idle. These will classify the different animations we will be creating later on.

    • In TypeScript, an enum enables a collection of values to be used by name, which makes our code more readable and ensures a fixed set of values are used consistently. 

      First use the enum keyword, followed by a name, then followed by a list of values in curly braces as shown on the left. 

  9. namespace animation {
        controller.right.onEvent(ControllerButtonEvent.Pressed, function () {
            let rightAnim = animation.createAnimation(0, 150);
            animation.attachAnimation(playerSprite, rightAnim);
            rightAnim.addAnimationFrame(customArt.right1);
            rightAnim.addAnimationFrame(customArt.right2);
            rightAnim.addAnimationFrame(customArt.right3);
            animation.setAction(playerSprite, ActionKind.Walking);
        })
    
        controller.left.onEvent(ControllerButtonEvent.Pressed, function () {
            let leftAnim = animation.createAnimation(0, 150);
            animation.attachAnimation(playerSprite, leftAnim);
            leftAnim.addAnimationFrame(customArt.left1);
            leftAnim.addAnimationFrame(customArt.left2);
            leftAnim.addAnimationFrame(customArt.left3);
            animation.setAction(playerSprite, ActionKind.Walking);
        })
    
        controller.up.onEvent(ControllerButtonEvent.Pressed, function () {
            let upAnim = animation.createAnimation(0, 150);
            animation.attachAnimation(playerSprite, upAnim);
            upAnim.addAnimationFrame(customArt.up1);
            upAnim.addAnimationFrame(customArt.up2);
            upAnim.addAnimationFrame(customArt.up3);
            animation.setAction(playerSprite, ActionKind.Walking);
        })
    
        controller.down.onEvent(ControllerButtonEvent.Pressed, function () {
            let downAnim = animation.createAnimation(0, 150);
            animation.attachAnimation(playerSprite, downAnim);
            downAnim.addAnimationFrame(customArt.down1);
            downAnim.addAnimationFrame(customArt.down2);
            downAnim.addAnimationFrame(customArt.down3);
            animation.setAction(playerSprite, ActionKind.Walking);
        })
        controller.anyButton.onEvent(ControllerButtonEvent.Released, function () {
            let idleAnim = animation.createAnimation(0, 150);
            animation.attachAnimation(playerSprite, idleAnim);
            idleAnim.addAnimationFrame(customArt.idle);
            animation.setAction(playerSprite, ActionKind.Idle);
        })
    }
    • Now for the animation! First, create a new namespace and name it Animation.

    • Next, create an onEvent controller function for each direction: up, down, left and right. Make sure they are set to ControllerButtonEvent.Pressed

    • To create an animation sequence, first use let to create a variable. Next, assign it to animation.createAnimation(0, 150); 

    • To change the interval of the animation sequence, decrease or increase the value of the second parameter. 

    • The animation sequence will need to be attached to a particular sprite. In this case, we want to attach it to playerSprite. So go ahead and use animation.attachAnimation

    • For each animation sequence, there will be three frames. To create a single frame, for instance in the down animation sequence, use the name of the animation sequence followed by addAnimationFrame like so: downAnim.addAnimationFrame

      This accepts one parameter, which is the sprite art to be used for the particular frame

    • To set the action kind for the animation sequence, use animation.setAction

    • Here, controller.anyButton.onEvent is used to detect when any button has been released. If so, the idle animation will be played instead

  10. sprites.onOverlap(SpriteKind.Boy, SpriteKind.Goal, function (sprite: Sprite, otherSprite: Sprite) {
        game.over(true);
    })
    • To trigger the win game condition, we will use Overlap events on two sprite kinds. 

    • The first parameter of sprites.onOverlap will be the first sprite kind, and the second parameter will be the second sprite kind.

    • Set game.over to true for the win game condition.

  11. let selectionBox: Sprite = null;
    let playerSprite: Sprite = null;
    let boySprite: Sprite = null;
    let doorSprite: Sprite = null;
    let userName = game.askForString("What is your name?");
    let intro = "Hello, " + userName + ", you are about to embark on an adventure!";
    
    enum ActionKind {
        Walking,
        Idle
    }
    
    namespace SpriteKind {
        export const Boy = SpriteKind.create();
        export const Treasure = SpriteKind.create();
        export const Goal = SpriteKind.create();
    }
    
    namespace customArt {
        export const Chest = img`
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . .
                . . . f f f f f f f f f f . . .
                . . f f b b b b b b b b f f . .
                . f f b c c c c c c c c b f f .
                . f b c c c c c c c c c c b f .
                f f c c c c c c c c c c c c f f
                f c c c c c c 9 9 c c c c c c f
                f 9 9 9 9 9 a f f a 9 9 9 9 9 f
                f b b b b b a f f a b b b b b f
                f c c c c c a a a a c c c c c f
                f b b b b b b b b b b b b b b f
                f 9 9 c c c c c c c c c c 9 9 f
                f a a b b b b b b b b b b a a f
                f f f f f f f f f f f f f f f f
            `;
        export const Wall = img`
                . f f f f f f f f f f f f f f .
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 f 7 7 7 7 7 7 7 7 7 7 f 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                f 7 f 7 7 7 7 7 7 7 7 7 7 f 7 f
                f 7 7 7 7 7 7 7 7 7 7 7 7 7 7 f
                . f f f f f f f f f f f f f f .
            `;
        export const Door = img`
                . f f f f f f f f f f f f f f .
                f b b b c b b b c b b b c b b f
                f b b b c a a a a a a a c b b f
                f b b b c a 9 9 9 9 9 a c b b f
                f c b b c a 9 9 9 9 9 a c b b f
                f c b b c a 9 9 9 9 9 a c b b f
                f b b b c a a a a a a a c b a f
                f b b b c b b b c b b b c a 9 f
                f b b b c b b b c b b b c a 9 f
                f b b b c b b b c b b b c b a f
                f c b b c b b b c b b b c b b f
                f c b b c b b b c b b b c b b f
                f b b b c b b b c b b b c b b f
                f b b b c b b b c b b b c b b f
                f b b b c b b b c b b b c b b f
                . f f f f f f f f f f f f f f .
            `;
        export const boySprite = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . f f . . . . . . . . . . . . . . .
                . . . . . . . . . . . f f f f 9 9 f f . . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 . . . . . . . . . . .
                . . . . . . . . . f 9 9 9 d d 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 d d d d d d 9 9 9 f . . . . . . . . . .
                . . . . . . . . f d 9 d d d d d d d d 9 9 d f . . . . . . . . .
                . . . . . . . . f d f d d f d d d f d d f d f . . . . . . . . .
                . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
                . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
                . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
                . . . . . . . . . . f c c 8 8 8 8 8 8 c f . . . . . . . . . . .
                . . . . . . . . . . f 8 c c c c c c c d f . . . . . . . . . . .
                . . . . . . . . . . f d f 8 8 8 8 8 8 d f . . . . . . . . . . .
                . . . . . . . . . . f d d f c c c c c d f . . . . . . . . . . .
                . . . . . . . . . . f d d f 7 f 7 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . . f 7 7 7 f f 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . . f f 7 7 f f 7 7 f f f . . . . . . . . . .
                . . . . . . . . . . . f 7 7 f f f 7 c c a f . . . . . . . . . .
                . . . . . . . . . . f a b b f . . f b b f . . . . . . . . . . .
                . . . . . . . . . . . f f f f . . . f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const right1 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
                . . . . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . .
                . . . . . . . . . . . . . f f f 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 d d 9 9 f . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 d d d d d f . . . . . . . . . .
                . . . . . . . . . f 9 9 d 9 d d d d d d d f . . . . . . . . . .
                . . . . . . . . . f 9 9 d 9 d d d d d f d f . . . . . . . . . .
                . . . . . . . . . . f 9 d d d d d d d f d d f . . . . . . . . .
                . . . . . . . . . . f 9 9 d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f d f . . . . . . . . . . .
                . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
                . . . . . . . . . . . . . . f f d d f . . . . . . . . . . . . .
                . . . . . . . . . . . . . f c c 8 8 c f . . . . . . . . . . . .
                . . . . . . . . . . . . . f 8 8 c c c d f . . . . . . . . . . .
                . . . . . . . . . . . . f d d f 8 8 8 f d f . . . . . . . . . .
                . . . . . . . . . . . . f d f c c c c f d f . . . . . . . . . .
                . . . . . . . . . . . . . f f 7 7 7 7 f f a f . . . . . . . . .
                . . . . . . . . . . . . f b 7 7 f 7 7 f 7 a f . . . . . . . . .
                . . . . . . . . . . . . f b b f . f f c b a f . . . . . . . . .
                . . . . . . . . . . . . . f f f . . f b b f . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const right2 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
                . . . . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . .
                . . . . . . . . . . . . . f f f 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 d d 9 9 f . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 d d d d d d f . . . . . . . . . .
                . . . . . . . . . f 9 9 d 9 d d d d d d d f . . . . . . . . . .
                . . . . . . . . . f 9 9 d d d d d d d f d f . . . . . . . . . .
                . . . . . . . . . . f 9 d d d d d d d f d d f . . . . . . . . .
                . . . . . . . . . . f 9 9 d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f d f . . . . . . . . . . .
                . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
                . . . . . . . . . . . . . . f f d d f . . . . . . . . . . . . .
                . . . . . . . . . . . . . f c c 8 8 f . . . . . . . . . . . . .
                . . . . . . . . . . . . . f 8 8 c c c f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d f 8 8 8 f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d f c c c f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d f 7 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . . . . f f f 7 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . . . . f 7 7 7 7 f . . . . . . . . . . . . .
                . . . . . . . . . . . . . . f c c f f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . f b b a a f . . . . . . . . . . . .
                . . . . . . . . . . . . . . . f f f f . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const right3 = img`
                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . .
                    . . . . . . . . . . . . . f f f 9 9 9 9 9 9 f . . . . . . . . .
                    . . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
                    . . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . .
                    . . . . . . . . . . f 9 9 9 9 9 9 9 d d 9 9 f . . . . . . . . .
                    . . . . . . . . . f 9 9 9 9 9 d d d d d d f . . . . . . . . . .
                    . . . . . . . . . f 9 9 d 9 d d d d d d d f . . . . . . . . . .
                    . . . . . . . . . f 9 9 d d d d d d d f d f . . . . . . . . . .
                    . . . . . . . . . . f 9 9 d d d d d d f d d f . . . . . . . . .
                    . . . . . . . . . . f d d d d d d d d d d f . . . . . . . . . .
                    . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
                    . . . . . . . . . . . . f d d d d d f d f . . . . . . . . . . .
                    . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
                    . . . . . . . . . . . . . . f f d d f . . . . . . . . . . . . .
                    . . . . . . . . . . . . . f 8 8 c c e e f . . . . . . . . . . .
                    . . . . . . . . . . . . f f c c c 8 d f f . . . . . . . . . . .
                    . . . . . . . . . . . f d f 8 8 8 f d d d f . . . . . . . . . .
                    . . . . . . . . . . . f f 7 c c c f f d d f . . . . . . . . . .
                    . . . . . . . . . . . . f 7 7 7 7 7 7 f f f . . . . . . . . . .
                    . . . . . . . . . . . . f c 7 7 f 7 7 f 7 b f . . . . . . . . .
                    . . . . . . . . . . . . f b a f . f f c b b f . . . . . . . . .
                    . . . . . . . . . . . . . f f f . . f b b f . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . f f . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const left1 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 f f f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 d 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d 9 d 9 9 f . . . . . . . .
                . . . . . . . . . . . f d d d d d d d 9 d 9 9 f . . . . . . . .
                . . . . . . . . . . . f d f d d d d d d d 9 9 f . . . . . . . .
                . . . . . . . . . . f d d f d d d d d d d 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d 9 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . . f d f d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
                . . . . . . . . . . . . . . f d d f f . . . . . . . . . . . . .
                . . . . . . . . . . . . . f e 8 8 c c f . . . . . . . . . . . .
                . . . . . . . . . . . . f d c c c 8 8 f . . . . . . . . . . . .
                . . . . . . . . . . . f d f 8 8 8 f d d f . . . . . . . . . . .
                . . . . . . . . . . . f d f c c c c f d f . . . . . . . . . . .
                . . . . . . . . . . f a f f 7 7 7 7 f f . . . . . . . . . . . .
                . . . . . . . . . . f a 7 f 7 7 f 7 7 b f . . . . . . . . . . .
                . . . . . . . . . . f b b c f f . f b b f . . . . . . . . . . .
                . . . . . . . . . . . f b b f . . f f f . . . . . . . . . . . .
                . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
    
        export const left2 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 f f f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . . f 9 9 d d 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d 9 9 9 9 f . . . . . . . .
                . . . . . . . . . . . f d d d d d d d 9 d 9 9 f . . . . . . . .
                . . . . . . . . . . . f d f d d d d d d d 9 9 f . . . . . . . .
                . . . . . . . . . . f d d f d d d d d d d 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d 9 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . . f d f d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
                . . . . . . . . . . . . . . f d d f f . . . . . . . . . . . . .
                . . . . . . . . . . . . . . f 8 8 c c f . . . . . . . . . . . .
                . . . . . . . . . . . . . f c c c 8 8 f . . . . . . . . . . . .
                . . . . . . . . . . . . . f 8 8 8 f d d f . . . . . . . . . . .
                . . . . . . . . . . . . . f c c c f d d f . . . . . . . . . . .
                . . . . . . . . . . . . . f 7 7 7 f d d f . . . . . . . . . . .
                . . . . . . . . . . . . . f 7 7 7 f f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . f 7 7 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . . . . f f f c c f . . . . . . . . . . . . .
                . . . . . . . . . . . . . f a a b b f . . . . . . . . . . . . .
                . . . . . . . . . . . . . . f f f f . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
    
        export const left3 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 f f f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . . f 9 9 d d 9 9 9 9 9 9 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d 9 9 9 9 9 f . . . . . . . .
                . . . . . . . . . . . f d d d d d d d 9 d 9 9 f . . . . . . . .
                . . . . . . . . . . . f d f d d d d d d d 9 9 f . . . . . . . .
                . . . . . . . . . . f d d f d d d d d d d 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d 9 9 f . . . . . . . . .
                . . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . . . f d f d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . .
                . . . . . . . . . . . . . . f d d f f . . . . . . . . . . . . .
                . . . . . . . . . . . . f 7 7 c c 8 8 f . . . . . . . . . . . .
                . . . . . . . . . . . . f f d 8 c c c f f . . . . . . . . . . .
                . . . . . . . . . . . f d d d f 8 8 8 f d f . . . . . . . . . .
                . . . . . . . . . . . f d d f f c c c 6 f f . . . . . . . . . .
                . . . . . . . . . . . f f f 6 6 6 6 6 6 f . . . . . . . . . . .
                . . . . . . . . . . f b 7 f 6 6 f 7 6 c f . . . . . . . . . . .
                . . . . . . . . . . f b b c f f . f a b f . . . . . . . . . . .
                . . . . . . . . . . . f b b f . . f f f . . . . . . . . . . . .
                . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
    
        export const up1 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . f f . . . . . . . . . . . . .
                . . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . . . .
                . . . . . . . . . . . . f f 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 9 f f . . . . . . . . .
                . . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 d f . . . . . . . . .
                . . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f d 9 9 9 9 9 9 9 9 9 d f . . . . . . . . . .
                . . . . . . . . . f f d 9 9 9 9 9 9 9 d f f . . . . . . . . . .
                . . . . . . . . . . f f d d d d d d d f f . . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
                . . . . . . . . . . . f 8 f f f f f 8 f . . . . . . . . . . . .
                . . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . .
                . . . . . . . . . f d 8 c c c c c c c 8 d f . . . . . . . . . .
                . . . . . . . . f d d 8 8 8 8 8 8 8 8 8 d f . . . . . . . . . .
                . . . . . . . . f d d f c c c c c c c c d f . . . . . . . . . .
                . . . . . . . . . f f f 7 7 7 7 7 7 7 f d f . . . . . . . . . .
                . . . . . . . . . . f f 7 7 7 7 7 7 7 f f . . . . . . . . . . .
                . . . . . . . . . . f b f 7 7 f 7 7 f . . . . . . . . . . . . .
                . . . . . . . . . . . f b b f f f c c f f . . . . . . . . . . .
                . . . . . . . . . . . . f f . . f b b a f . . . . . . . . . . .
                . . . . . . . . . . . . . . . . f f f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const up2 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . f f . . . . . . . . . . . . . .
                . . . . . . . . . . . . . f f f 9 9 f . . . . . . . . . . . . .
                . . . . . . . . . . . f f 9 9 9 9 9 9 f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
                . . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 9 f f . . . . . . . . . .
                . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 d f . . . . . . . . . .
                . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . f d 9 9 9 9 9 9 9 9 9 d f . . . . . . . . . . .
                . . . . . . . . f f d 9 9 9 9 9 9 9 d f f . . . . . . . . . . .
                . . . . . . . . . f f d d d d d d d f f . . . . . . . . . . . .
                . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . . .
                . . . . . . . . . . f 8 f f f f f 8 f . . . . . . . . . . . . .
                . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . . .
                . . . . . . . . . f 8 c c c c c c c 8 f . . . . . . . . . . . .
                . . . . . . . . f d 8 8 8 8 8 8 8 8 8 d f . . . . . . . . . . .
                . . . . . . . . f d c c c c c c c c c d f . . . . . . . . . . .
                . . . . . . . . f d f 7 7 7 7 7 7 7 f d f . . . . . . . . . . .
                . . . . . . . . . f f 7 7 7 7 7 7 7 f f . . . . . . . . . . . .
                . . . . . . . . . . . f 7 7 f 7 7 f . . . . . . . . . . . . . .
                . . . . . . . . . f f c c f f f c c f f . . . . . . . . . . . .
                . . . . . . . . . f a b b f . f b b a f . . . . . . . . . . . .
                . . . . . . . . . . f f f f . f f f f . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const up3 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 f f . . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f f . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . f f 9 9 9 9 9 9 9 9 9 9 9 f f . . . . . . . . .
                . . . . . . . . f d 9 9 9 9 9 9 9 9 9 9 9 d f . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 d f . . . . . . . . .
                . . . . . . . . . f d 9 9 9 9 9 9 9 9 9 d f . . . . . . . . . .
                . . . . . . . . . f f d 9 9 9 9 9 9 9 d f f . . . . . . . . . .
                . . . . . . . . . . f f d d d d d d d f f . . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
                . . . . . . . . . . . f 8 f f f f f 8 f . . . . . . . . . . . .
                . . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . .
                . . . . . . . . . f d 8 c c c c c c c 8 d f . . . . . . . . . .
                . . . . . . . . . f d 8 8 8 8 8 8 8 8 8 d d f . . . . . . . . .
                . . . . . . . . . f d c c c c c c c c f d d f . . . . . . . . .
                . . . . . . . . . f d f 7 7 7 7 7 7 7 f f f . . . . . . . . . .
                . . . . . . . . . . f f 7 7 7 7 7 7 7 f f . . . . . . . . . . .
                . . . . . . . . . . . . f 7 7 f 7 7 f b f . . . . . . . . . . .
                . . . . . . . . . . f f c c f f f b b f . . . . . . . . . . . .
                . . . . . . . . . . f a b b f . . f f . . . . . . . . . . . . .
                . . . . . . . . . . . f f f f . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const down1 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . .
                . . . . . . . . . . . f 9 9 9 9 9 9 f f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 9 d d 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . f d 9 9 d d d d d d d 9 9 9 f . . . . . . . . .
                . . . . . . . . f d f d d f d d d f d d 9 d f . . . . . . . . .
                . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
                . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
                . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
                . . . . . . . . . . f c 8 8 8 8 8 8 c c f . . . . . . . . . . .
                . . . . . . . . . . f d c c c c c c c 8 f . . . . . . . . . . .
                . . . . . . . . . . f d 8 8 8 8 8 8 f d f . . . . . . . . . . .
                . . . . . . . . . . f d c c c c c f d d f . . . . . . . . . . .
                . . . . . . . . . . . f 7 7 7 f 7 f d d f . . . . . . . . . . .
                . . . . . . . . . . . f 7 7 f f 7 7 7 f . . . . . . . . . . . .
                . . . . . . . . . f f f 7 7 f f 7 7 f f . . . . . . . . . . . .
                . . . . . . . . . f a c c 7 f f f 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . f b b f . . f b b a f . . . . . . . . . . .
                . . . . . . . . . . . f f . . . f f f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const down2 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . .
                . . . . . . . . . . . f 9 9 9 9 9 9 f f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . . 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 d d d 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . f d 9 9 d d d d d d d 9 9 9 f . . . . . . . . .
                . . . . . . . . f d f d d f d d d f d d 9 d f . . . . . . . . .
                . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
                . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
                . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
                . . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . .
                . . . . . . . . . . f 8 c c c c c c c 8 f . . . . . . . . . . .
                . . . . . . . . . f d b 8 8 8 8 8 8 8 b d f . . . . . . . . . .
                . . . . . . . . . f d b c c c c c c c b d f . . . . . . . . . .
                . . . . . . . . . f d b 7 7 7 f 7 7 7 b d f . . . . . . . . . .
                . . . . . . . . . . f 7 7 7 7 f 7 7 7 7 f . . . . . . . . . . .
                . . . . . . . . . . . f f 7 7 f 7 7 f f . . . . . . . . . . . .
                . . . . . . . . . . . f c c f f f c c f . . . . . . . . . . . .
                . . . . . . . . . . f a b b f . f b b a f . . . . . . . . . . .
                . . . . . . . . . . . f f f f . f f f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const down3 = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . f f . . . . . . . . . . . . . . .
                . . . . . . . . . . . f f f f 9 9 f f . . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 . . . . . . . . . . .
                . . . . . . . . . f 9 9 9 d d 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 d d d d d d 9 9 9 f . . . . . . . . . .
                . . . . . . . . f d 9 d d d d d d d d 9 9 d f . . . . . . . . .
                . . . . . . . . f d f d d f d d d f d d f d f . . . . . . . . .
                . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
                . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
                . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
                . . . . . . . . . . f c c 8 8 8 8 8 8 c f . . . . . . . . . . .
                . . . . . . . . . . f 8 c c c c c c c d f . . . . . . . . . . .
                . . . . . . . . . . f d f 8 8 8 8 8 8 d f . . . . . . . . . . .
                . . . . . . . . . . f d d f c c c c c d f . . . . . . . . . . .
                . . . . . . . . . . f d d f 7 f 7 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . . f 7 7 7 f f 7 7 f . . . . . . . . . . . .
                . . . . . . . . . . . f f 7 7 f f 7 7 f f f . . . . . . . . . .
                . . . . . . . . . . . f 7 7 f f f 7 c c a f . . . . . . . . . .
                . . . . . . . . . . f a b b f . . f b b f . . . . . . . . . . .
                . . . . . . . . . . . f f f f . . . f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
        export const idle = img`
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . f f . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . f 9 9 f f f . . . . . . . . . . . . . .
                . . . . . . . . . . . f 9 9 9 9 9 9 f f . . . . . . . . . . . .
                . . . . . . . . . . f 9 9 9 9 9 9 9 9 9 f . . . . . . . . . . .
                . . . . . . . . . . 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 9 9 9 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . . f 9 9 d d d 9 9 9 9 9 9 f . . . . . . . . . .
                . . . . . . . . f d 9 9 d d d d d d d 9 9 9 f . . . . . . . . .
                . . . . . . . . f d f d d f d d d f d d 9 d f . . . . . . . . .
                . . . . . . . . f d d d d f d d d f d d d d f . . . . . . . . .
                . . . . . . . . . f d d d d d d d d d d d f . . . . . . . . . .
                . . . . . . . . . . f d d d d d d d d d f . . . . . . . . . . .
                . . . . . . . . . . . f d d f f f d d f . . . . . . . . . . . .
                . . . . . . . . . . . . f d d d d d f . . . . . . . . . . . . .
                . . . . . . . . . . . f 8 f f d f f 8 f . . . . . . . . . . . .
                . . . . . . . . . . f c c 8 8 8 8 8 c c f . . . . . . . . . . .
                . . . . . . . . . . f 8 c c c c c c c 8 f . . . . . . . . . . .
                . . . . . . . . . f d b 8 8 8 8 8 8 8 b d f . . . . . . . . . .
                . . . . . . . . . f d b c c c c c c c b d f . . . . . . . . . .
                . . . . . . . . . f d b 7 7 7 f 7 7 7 b d f . . . . . . . . . .
                . . . . . . . . . . f 7 7 7 7 f 7 7 7 7 f . . . . . . . . . . .
                . . . . . . . . . . . f f 7 7 f 7 7 f f . . . . . . . . . . . .
                . . . . . . . . . . . f c c f f f c c f . . . . . . . . . . . .
                . . . . . . . . . . f a b b f . f b b a f . . . . . . . . . . .
                . . . . . . . . . . . f f f f . f f f f . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
                . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
            `;
    }
    
    namespace animation {
        controller.right.onEvent(ControllerButtonEvent.Pressed, function () {
            let rightAnim = animation.createAnimation(0, 150);
            animation.attachAnimation(playerSprite, rightAnim);
            rightAnim.addAnimationFrame(customArt.right1);
            rightAnim.addAnimationFrame(customArt.right2);
            rightAnim.addAnimationFrame(customArt.right3);
            animation.setAction(playerSprite, ActionKind.Walking);
        })
    
        controller.left.onEvent(ControllerButtonEvent.Pressed, function () {
            let leftAnim = animation.createAnimation(0, 150);
            animation.attachAnimation(playerSprite, leftAnim);
            leftAnim.addAnimationFrame(customArt.left1);
            leftAnim.addAnimationFrame(customArt.left2);
            leftAnim.addAnimationFrame(customArt.left3);
            animation.setAction(playerSprite, ActionKind.Walking);
        })
    
        controller.up.onEvent(ControllerButtonEvent.Pressed, function () {
            let upAnim = animation.createAnimation(0, 150);
            animation.attachAnimation(playerSprite, upAnim);
            upAnim.addAnimationFrame(customArt.up1);
            upAnim.addAnimationFrame(customArt.up2);
            upAnim.addAnimationFrame(customArt.up3);
            animation.setAction(playerSprite, ActionKind.Walking);
        })
    
        controller.down.onEvent(ControllerButtonEvent.Pressed, function () {
            let downAnim = animation.createAnimation(0, 150);
            animation.attachAnimation(playerSprite, downAnim);
            downAnim.addAnimationFrame(customArt.down1);
            downAnim.addAnimationFrame(customArt.down2);
            downAnim.addAnimationFrame(customArt.down3);
            animation.setAction(playerSprite, ActionKind.Walking);
        })
      
        controller.anyButton.onEvent(ControllerButtonEvent.Released, function () {
            let idleAnim = animation.createAnimation(0, 150);
            animation.attachAnimation(playerSprite, idleAnim);
            idleAnim.addAnimationFrame(customArt.idle);
            animation.setAction(playerSprite, ActionKind.Idle);
        })
    }
    
    function createLevel() {
        scene.setBackgroundImage(img`
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
                e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
            `);
        scene.setTileMap(img`
                c c c c c c c c c c c c c c c c c c a c
                c . . . . . . . . c . . . . . . . . . c
                c . b . . . . . . c . . . . . . . . . c
                c . . . . . . . . c . . . . . . . . . c
                c . . . . . . . . c . . . . . . . . . c
                c . . . . . . . . c . . . . c c c c c c
                c c c c c c c . . . . . . . . . . . . c
                c . . . . . c . . . . . . . . . . . . c
                c . . . . . c . . . . c . . . . . . . c
                c . . c c c c . . . . c . . . . . . . c
                c . . . . . . . . . . c . . . . . . . c
                c . . . . . . . . . . c . . . . . . . c
                c . . . . . . . . . . c . . . . . . . c
                c . . . . . . . . . . c . . . . . . . c
                c c c c c c c c c c c c c c c c c c c c
            `);
        scene.setTile(11, customArt.Chest, true);
        scene.setTile(12, customArt.Wall, true);
        doorSprite = sprites.create(customArt.Door, SpriteKind.Goal);
        doorSprite.setPosition(296, 8);
    }
    
    function createPlayer() {
        playerSprite = sprites.create(customArt.boySprite, SpriteKind.Boy);
        controller.moveSprite(playerSprite, 100, 100);
        info.setLife(3);
        scene.cameraFollowSprite(playerSprite);
    }
    
    sprites.onOverlap(SpriteKind.Boy, SpriteKind.Goal, function (sprite: Sprite, otherSprite: Sprite) {
        game.over(true);
    })
    
    game.splash(intro);
    createPlayer();
    createLevel();
    • Once complete, the code should look similar to what is on the left.

    • Click on the Download button

    • Click on Meowbit

    • Drag and drop the arcade-dungeon-crawler.uf2 file to ARCADE-F4

    • Want the guide's .uf2 file? Feel free to download a copy of the game here.

    • We're done with the first level of our Dungeon Crawler game! In the next guide, we'll show you how to create multiple levels, projectiles and enemies in Javascript and TypeScript. 

    • Check out our guides over at https://www.littlebird.com.au/a/how-to/#micro-bit to learn even more. Happy gaming!