| ofs | hex dump | ascii | 
|---|
| 0000 | 32 30 34 38 2d 67 61 6d 65 2d 32 30 32 33 30 38    30 39 2e 33 35 36 2f 00 00 00 00 00 00 00 00 00 | 2048-game-20230809.356/......... | 
| 0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0060 | 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000755.0000000.0000000.0000 | 
| 0080 | 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 32 32 34 32 00 20 35 00 00 00 | 0000000.00000000000.012242..5... | 
| 00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0100 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... | 
| 0120 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... | 
| 0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0200 | 32 30 34 38 2d 67 61 6d 65 2d 32 30 32 33 30 38    30 39 2e 33 35 36 2f 32 30 34 38 2d 67 61 6d 65 | 2048-game-20230809.356/2048-game | 
| 0220 | 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | -pkg.el......................... | 
| 0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0260 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 | 
| 0280 | 30 30 30 30 35 36 36 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 34 36 35 36 00 20 30 00 00 00 | 0000566.00000000000.014656..0... | 
| 02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0300 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... | 
| 0320 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... | 
| 0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 03e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0400 | 3b 3b 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63    6f 6d 70 69 6c 65 3a 20 74 3b 20 6c 65 78 69 63 | ;;.-*-.no-byte-compile:.t;.lexic | 
| 0420 | 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 6e 69 6c 20    2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b | al-binding:.nil.-*-.(define-pack | 
| 0440 | 61 67 65 20 22 32 30 34 38 2d 67 61 6d 65 22 20    22 32 30 32 33 30 38 30 39 2e 33 35 36 22 0a 20 | age."2048-game"."20230809.356".. | 
| 0460 | 20 22 50 6c 61 79 20 32 30 34 38 20 69 6e 20 45    6d 61 63 73 2e 22 0a 20 20 27 28 28 65 6d 61 63 | ."Play.2048.in.Emacs."...'((emac | 
| 0480 | 73 20 22 32 34 2e 33 22 29 29 0a 20 20 3a 75 72    6c 20 22 68 74 74 70 73 3a 2f 2f 68 67 2e 73 72 | s."24.3"))...:url."https://hg.sr | 
| 04a0 | 2e 68 74 2f 7e 7a 63 6b 2f 67 61 6d 65 2d 32 30    34 38 22 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 38 | .ht/~zck/game-2048"...:commit."8 | 
| 04c0 | 31 37 35 63 61 35 31 39 31 31 37 35 31 38 33 62    39 35 32 32 31 34 31 64 63 62 35 35 64 33 30 36 | 175ca5191175183b9522141dcb55d306 | 
| 04e0 | 37 33 64 32 33 32 33 22 0a 20 20 3a 72 65 76 64    65 73 63 20 22 38 31 37 35 63 61 35 31 39 31 31 | 73d2323"...:revdesc."8175ca51911 | 
| 0500 | 37 22 0a 20 20 3a 61 75 74 68 6f 72 73 20 27 28    28 22 5a 61 63 68 61 72 79 20 4b 61 6e 66 65 72 | 7"...:authors.'(("Zachary.Kanfer | 
| 0520 | 22 20 2e 20 22 7a 6b 61 6e 66 65 72 40 67 6d 61    69 6c 2e 63 6f 6d 22 29 29 0a 20 20 3a 6d 61 69 | "..."zkanfer@gmail.com"))...:mai | 
| 0540 | 6e 74 61 69 6e 65 72 73 20 27 28 28 22 5a 61 63    68 61 72 79 20 4b 61 6e 66 65 72 22 20 2e 20 22 | ntainers.'(("Zachary.Kanfer"..." | 
| 0560 | 7a 6b 61 6e 66 65 72 40 67 6d 61 69 6c 2e 63 6f    6d 22 29 29 29 0a 00 00 00 00 00 00 00 00 00 00 | zkanfer@gmail.com")))........... | 
| 0580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 05a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 05c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 05e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0600 | 32 30 34 38 2d 67 61 6d 65 2d 32 30 32 33 30 38    30 39 2e 33 35 36 2f 32 30 34 38 2d 67 61 6d 65 | 2048-game-20230809.356/2048-game | 
| 0620 | 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .el............................. | 
| 0640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0660 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 | 
| 0680 | 30 30 35 31 35 37 36 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 34 31 30 36 00 20 30 00 00 00 | 0051576.00000000000.014106..0... | 
| 06a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 06c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 06e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0700 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... | 
| 0720 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... | 
| 0740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0800 | 3b 3b 3b 20 32 30 34 38 2d 67 61 6d 65 2e 65 6c    20 2d 2d 2d 20 70 6c 61 79 20 32 30 34 38 20 69 | ;;;.2048-game.el.---.play.2048.i | 
| 0820 | 6e 20 45 6d 61 63 73 0a 0a 3b 3b 20 43 6f 70 79    72 69 67 68 74 20 32 30 31 34 20 5a 61 63 68 61 | n.Emacs..;;.Copyright.2014.Zacha | 
| 0840 | 72 79 20 4b 61 6e 66 65 72 0a 0a 3b 3b 20 41 75    74 68 6f 72 3a 20 5a 61 63 68 61 72 79 20 4b 61 | ry.Kanfer..;;.Author:.Zachary.Ka | 
| 0860 | 6e 66 65 72 20 3c 7a 6b 61 6e 66 65 72 40 67 6d    61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 50 61 63 6b | nfer.<zkanfer@gmail.com>.;;.Pack | 
| 0880 | 61 67 65 2d 56 65 72 73 69 6f 6e 3a 20 32 30 32    33 30 38 30 39 2e 33 35 36 0a 3b 3b 20 50 61 63 | age-Version:.20230809.356.;;.Pac | 
| 08a0 | 6b 61 67 65 2d 52 65 76 69 73 69 6f 6e 3a 20 38    31 37 35 63 61 35 31 39 31 31 37 0a 3b 3b 20 55 | kage-Revision:.8175ca519117.;;.U | 
| 08c0 | 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 68 67 2e 73    72 2e 68 74 2f 7e 7a 63 6b 2f 67 61 6d 65 2d 32 | RL:.https://hg.sr.ht/~zck/game-2 | 
| 08e0 | 30 34 38 0a 0a 3b 3b 20 50 61 63 6b 61 67 65 2d    52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 | 048..;;.Package-Requires:.((emac | 
| 0900 | 73 20 22 32 34 2e 33 22 29 29 0a 0a 3b 3b 20 54    68 69 73 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 | s."24.3"))..;;.This.file.is.not. | 
| 0920 | 70 61 72 74 20 6f 66 20 47 4e 55 20 45 6d 61 63    73 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 | part.of.GNU.Emacs..;;.This.progr | 
| 0940 | 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77    61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 | am.is.free.software:.you.can.red | 
| 0960 | 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64    2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 | istribute.it.and/or.modify.;;.it | 
| 0980 | 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73    20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 | .under.the.terms.of.the.GNU.Gene | 
| 09a0 | 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e    73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 | ral.Public.License.as.published. | 
| 09c0 | 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53    6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 | by.;;.the.Free.Software.Foundati | 
| 09e0 | 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69    6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 | on,.either.version.3.of.the.Lice | 
| 0a00 | 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79    6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 | nse,.or.;;.(at.your.option).any. | 
| 0a20 | 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a    3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 | later.version...;;.This.program. | 
| 0a40 | 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69    6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 | is.distributed.in.the.hope.that. | 
| 0a60 | 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75    6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 | it.will.be.useful,.;;.but.WITHOU | 
| 0a80 | 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20    77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 | T.ANY.WARRANTY;.without.even.the | 
| 0aa0 | 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74    79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 | .implied.warranty.of.;;.MERCHANT | 
| 0ac0 | 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45    53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 | ABILITY.or.FITNESS.FOR.A.PARTICU | 
| 0ae0 | 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65    65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e | LAR.PURPOSE...See.the.;;.GNU.Gen | 
| 0b00 | 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65    6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 | eral.Public.License.for.more.det | 
| 0b20 | 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68    6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 | ails...;;.You.should.have.receiv | 
| 0b40 | 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65    20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 | ed.a.copy.of.the.GNU.General.Pub | 
| 0b60 | 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61    6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 | lic.License.;;.along.with.this.p | 
| 0b80 | 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c    20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 | rogram...If.not,.see.<http://www | 
| 0ba0 | 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65    73 2f 3e 2e 0a 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 | .gnu.org/licenses/>....;;;.Comme | 
| 0bc0 | 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20    70 72 6f 67 72 61 6d 20 69 73 20 61 6e 20 69 6d | ntary:..;;.This.program.is.an.im | 
| 0be0 | 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20    32 30 34 38 20 66 6f 72 20 45 6d 61 63 73 2e 0a | plementation.of.2048.for.Emacs.. | 
| 0c00 | 3b 3b 20 49 74 73 20 73 6f 75 72 63 65 20 72 65    70 6f 73 69 74 6f 72 79 20 69 73 20 68 74 74 70 | ;;.Its.source.repository.is.http | 
| 0c20 | 73 3a 2f 2f 68 67 2e 73 72 2e 68 74 2f 7e 7a 63    6b 2f 67 61 6d 65 2d 32 30 34 38 0a 0a 3b 3b 20 | s://hg.sr.ht/~zck/game-2048..;;. | 
| 0c40 | 54 6f 20 62 65 67 69 6e 20 70 6c 61 79 69 6e 67    2c 20 63 61 6c 6c 20 60 4d 2d 78 20 32 30 34 38 | To.begin.playing,.call.`M-x.2048 | 
| 0c60 | 2d 67 61 6d 65 60 2c 20 74 68 65 6e 20 75 73 65    20 74 68 65 20 61 72 72 6f 77 20 6b 65 79 73 2c | -game`,.then.use.the.arrow.keys, | 
| 0c80 | 0a 3b 3b 20 70 2f 6e 2f 62 2f 66 2c 20 6f 72 20    43 2d 70 2f 43 2d 6e 2f 43 2d 62 2f 43 2d 66 20 | .;;.p/n/b/f,.or.C-p/C-n/C-b/C-f. | 
| 0ca0 | 74 6f 20 6d 6f 76 65 20 74 68 65 20 74 69 6c 65    73 20 61 72 6f 75 6e 64 2e 0a 0a 3b 3b 20 57 68 | to.move.the.tiles.around...;;.Wh | 
| 0cc0 | 65 6e 65 76 65 72 20 79 6f 75 20 6d 6f 76 65 20    74 68 65 20 62 6f 61 72 64 2c 20 61 6c 6c 20 74 | enever.you.move.the.board,.all.t | 
| 0ce0 | 69 6c 65 73 20 73 6c 69 64 65 20 61 73 20 66 61    72 20 74 6f 20 74 68 61 74 20 64 69 72 65 63 74 | iles.slide.as.far.to.that.direct | 
| 0d00 | 69 6f 6e 0a 3b 3b 20 61 73 20 74 68 65 79 20 63    61 6e 20 67 6f 2e 20 20 49 66 20 61 20 74 69 6c | ion.;;.as.they.can.go...If.a.til | 
| 0d20 | 65 20 63 6f 6c 6c 69 64 65 73 20 77 69 74 68 20    61 6e 6f 74 68 65 72 20 74 69 6c 65 20 6f 66 20 | e.collides.with.another.tile.of. | 
| 0d40 | 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 2c 0a    3b 3b 20 74 68 65 20 74 69 6c 65 73 20 63 6f 6d | the.same.value,.;;.the.tiles.com | 
| 0d60 | 62 69 6e 65 20 69 6e 74 6f 20 61 20 74 69 6c 65    20 77 69 74 68 20 64 6f 75 62 6c 65 20 74 68 65 | bine.into.a.tile.with.double.the | 
| 0d80 | 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 2c 20    61 6e 64 20 79 6f 75 0a 3b 3b 20 67 61 69 6e 20 | .initial.value,.and.you.;;.gain. | 
| 0da0 | 74 68 65 20 6e 65 77 20 74 69 6c 65 27 73 20 76    61 6c 75 65 20 61 73 20 79 6f 75 72 20 73 63 6f | the.new.tile's.value.as.your.sco | 
| 0dc0 | 72 65 2e 0a 0a 3b 3b 20 54 68 65 20 67 6f 61 6c    20 69 73 20 74 6f 20 63 72 65 61 74 65 20 61 20 | re...;;.The.goal.is.to.create.a. | 
| 0de0 | 74 69 6c 65 20 77 69 74 68 20 76 61 6c 75 65 20    32 30 34 38 2e 0a 0a 3b 3b 20 54 68 65 20 73 69 | tile.with.value.2048...;;.The.si | 
| 0e00 | 7a 65 20 6f 66 20 74 68 65 20 62 6f 61 72 64 20    61 6e 64 20 67 6f 61 6c 20 76 61 6c 75 65 20 63 | ze.of.the.board.and.goal.value.c | 
| 0e20 | 61 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a 65 64    20 2d 2d 20 73 65 65 20 74 68 65 20 76 61 72 69 | an.be.customized.--.see.the.vari | 
| 0e40 | 61 62 6c 65 73 0a 3b 3b 20 2a 32 30 34 38 2d 63    6f 6c 75 6d 6e 73 2a 2c 20 2a 32 30 34 38 2d 72 | ables.;;.*2048-columns*,.*2048-r | 
| 0e60 | 6f 77 73 2a 2c 20 61 6e 64 20 2a 32 30 34 38 2d    76 69 63 74 6f 72 79 2d 76 61 6c 75 65 2a 2e 0a | ows*,.and.*2048-victory-value*.. | 
| 0e80 | 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 64 65    66 69 6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 | ..;;;.Code:..(define-derived-mod | 
| 0ea0 | 65 20 32 30 34 38 2d 6d 6f 64 65 20 73 70 65 63    69 61 6c 2d 6d 6f 64 65 20 22 32 30 34 38 2d 6d | e.2048-mode.special-mode."2048-m | 
| 0ec0 | 6f 64 65 22 0a 20 20 28 64 65 66 69 6e 65 2d 6b    65 79 20 32 30 34 38 2d 6d 6f 64 65 2d 6d 61 70 | ode"...(define-key.2048-mode-map | 
| 0ee0 | 20 28 6b 62 64 20 22 70 22 29 20 27 32 30 34 38    2d 75 70 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b | .(kbd."p").'2048-up)...(define-k | 
| 0f00 | 65 79 20 32 30 34 38 2d 6d 6f 64 65 2d 6d 61 70    20 28 6b 62 64 20 22 43 2d 70 22 29 20 27 32 30 | ey.2048-mode-map.(kbd."C-p").'20 | 
| 0f20 | 34 38 2d 75 70 29 0a 20 20 28 64 65 66 69 6e 65    2d 6b 65 79 20 32 30 34 38 2d 6d 6f 64 65 2d 6d | 48-up)...(define-key.2048-mode-m | 
| 0f40 | 61 70 20 28 6b 62 64 20 22 3c 75 70 3e 22 29 20    27 32 30 34 38 2d 75 70 29 0a 20 20 28 64 65 66 | ap.(kbd."<up>").'2048-up)...(def | 
| 0f60 | 69 6e 65 2d 6b 65 79 20 32 30 34 38 2d 6d 6f 64    65 2d 6d 61 70 20 28 6b 62 64 20 22 6e 22 29 20 | ine-key.2048-mode-map.(kbd."n"). | 
| 0f80 | 27 32 30 34 38 2d 64 6f 77 6e 29 0a 20 20 28 64    65 66 69 6e 65 2d 6b 65 79 20 32 30 34 38 2d 6d | '2048-down)...(define-key.2048-m | 
| 0fa0 | 6f 64 65 2d 6d 61 70 20 28 6b 62 64 20 22 43 2d    6e 22 29 20 27 32 30 34 38 2d 64 6f 77 6e 29 0a | ode-map.(kbd."C-n").'2048-down). | 
| 0fc0 | 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 32 30    34 38 2d 6d 6f 64 65 2d 6d 61 70 20 28 6b 62 64 | ..(define-key.2048-mode-map.(kbd | 
| 0fe0 | 20 22 3c 64 6f 77 6e 3e 22 29 20 27 32 30 34 38    2d 64 6f 77 6e 29 0a 20 20 28 64 65 66 69 6e 65 | ."<down>").'2048-down)...(define | 
| 1000 | 2d 6b 65 79 20 32 30 34 38 2d 6d 6f 64 65 2d 6d    61 70 20 28 6b 62 64 20 22 62 22 29 20 27 32 30 | -key.2048-mode-map.(kbd."b").'20 | 
| 1020 | 34 38 2d 6c 65 66 74 29 0a 20 20 28 64 65 66 69    6e 65 2d 6b 65 79 20 32 30 34 38 2d 6d 6f 64 65 | 48-left)...(define-key.2048-mode | 
| 1040 | 2d 6d 61 70 20 28 6b 62 64 20 22 43 2d 62 22 29    20 27 32 30 34 38 2d 6c 65 66 74 29 0a 20 20 28 | -map.(kbd."C-b").'2048-left)...( | 
| 1060 | 64 65 66 69 6e 65 2d 6b 65 79 20 32 30 34 38 2d    6d 6f 64 65 2d 6d 61 70 20 28 6b 62 64 20 22 3c | define-key.2048-mode-map.(kbd."< | 
| 1080 | 6c 65 66 74 3e 22 29 20 27 32 30 34 38 2d 6c 65    66 74 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 | left>").'2048-left)...(define-ke | 
| 10a0 | 79 20 32 30 34 38 2d 6d 6f 64 65 2d 6d 61 70 20    28 6b 62 64 20 22 66 22 29 20 27 32 30 34 38 2d | y.2048-mode-map.(kbd."f").'2048- | 
| 10c0 | 72 69 67 68 74 29 0a 20 20 28 64 65 66 69 6e 65    2d 6b 65 79 20 32 30 34 38 2d 6d 6f 64 65 2d 6d | right)...(define-key.2048-mode-m | 
| 10e0 | 61 70 20 28 6b 62 64 20 22 43 2d 66 22 29 20 27    32 30 34 38 2d 72 69 67 68 74 29 0a 20 20 28 64 | ap.(kbd."C-f").'2048-right)...(d | 
| 1100 | 65 66 69 6e 65 2d 6b 65 79 20 32 30 34 38 2d 6d    6f 64 65 2d 6d 61 70 20 28 6b 62 64 20 22 3c 72 | efine-key.2048-mode-map.(kbd."<r | 
| 1120 | 69 67 68 74 3e 22 29 20 27 32 30 34 38 2d 72 69    67 68 74 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b | ight>").'2048-right)...(define-k | 
| 1140 | 65 79 20 32 30 34 38 2d 6d 6f 64 65 2d 6d 61 70    20 28 6b 62 64 20 22 72 22 29 20 27 32 30 34 38 | ey.2048-mode-map.(kbd."r").'2048 | 
| 1160 | 2d 72 61 6e 64 6f 6d 2d 6d 6f 76 65 29 29 0a 0a    3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 | -random-move))..;;;###autoload.( | 
| 1180 | 64 65 66 75 6e 20 32 30 34 38 2d 67 61 6d 65 20    28 29 20 22 53 74 61 72 74 20 70 6c 61 79 69 6e | defun.2048-game.()."Start.playin | 
| 11a0 | 67 20 32 30 34 38 2e 22 0a 20 20 28 69 6e 74 65    72 61 63 74 69 76 65 29 0a 20 20 28 73 77 69 74 | g.2048."...(interactive)...(swit | 
| 11c0 | 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 22 32 30    34 38 22 29 0a 20 20 28 62 75 66 66 65 72 2d 64 | ch-to-buffer."2048")...(buffer-d | 
| 11e0 | 69 73 61 62 6c 65 2d 75 6e 64 6f 20 22 32 30 34    38 22 29 0a 20 20 28 32 30 34 38 2d 6d 6f 64 65 | isable-undo."2048")...(2048-mode | 
| 1200 | 29 0a 20 20 28 32 30 34 38 2d 69 6e 69 74 29 29    0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c | )...(2048-init))..(require.'cl-l | 
| 1220 | 69 62 29 0a 0a 28 64 65 66 76 61 72 20 2a 32 30    34 38 2d 62 6f 61 72 64 2a 20 6e 69 6c 0a 20 20 | ib)..(defvar.*2048-board*.nil... | 
| 1240 | 22 54 68 65 20 62 6f 61 72 64 20 69 74 73 65 6c    66 2e 0a 0a 49 66 20 61 20 6e 75 6d 62 65 72 20 | "The.board.itself...If.a.number. | 
| 1260 | 69 73 20 69 6e 20 74 68 65 20 73 71 75 61 72 65    2c 20 74 68 65 20 6e 75 6d 62 65 72 20 69 73 20 | is.in.the.square,.the.number.is. | 
| 1280 | 73 74 6f 72 65 64 2e 20 20 4f 74 68 65 72 77 69    73 65 2c 20 30 20 69 73 20 73 74 6f 72 65 64 2e | stored...Otherwise,.0.is.stored. | 
| 12a0 | 0a 0a 49 6e 73 74 65 61 64 20 6f 66 20 61 63 63    65 73 73 69 6e 67 20 74 68 69 73 20 64 69 72 65 | ..Instead.of.accessing.this.dire | 
| 12c0 | 63 74 6c 79 2c 20 75 73 65 20 32 30 34 38 2d 67    65 74 2d 63 65 6c 6c 2e 22 29 0a 0a 28 64 65 66 | ctly,.use.2048-get-cell.")..(def | 
| 12e0 | 76 61 72 20 2a 32 30 34 38 2d 63 6f 6d 62 69 6e    65 73 2d 74 68 69 73 2d 6d 6f 76 65 2a 20 6e 69 | var.*2048-combines-this-move*.ni | 
| 1300 | 6c 0a 20 20 22 54 68 69 73 20 73 74 6f 72 65 73    2c 20 66 6f 72 20 65 61 63 68 20 63 65 6c 6c 20 | l..."This.stores,.for.each.cell. | 
| 1320 | 69 6e 20 74 68 65 20 62 6f 61 72 64 2c 20 77 68    65 74 68 65 72 20 74 68 65 20 6e 75 6d 62 65 72 | in.the.board,.whether.the.number | 
| 1340 | 20 69 6e 20 69 74 20 77 61 73 20 67 65 6e 65 72    61 74 65 64 20 74 68 69 73 20 74 75 72 6e 20 62 | .in.it.was.generated.this.turn.b | 
| 1360 | 79 20 74 77 6f 20 6e 75 6d 62 65 72 73 20 63 6f    6d 62 69 6e 69 6e 67 2e 22 29 0a 0a 28 64 65 66 | y.two.numbers.combining.")..(def | 
| 1380 | 76 61 72 20 2a 32 30 34 38 2d 63 6f 6c 75 6d 6e    73 2a 20 34 0a 20 20 22 54 68 65 20 77 69 64 74 | var.*2048-columns*.4..."The.widt | 
| 13a0 | 68 20 6f 66 20 74 68 65 20 62 6f 61 72 64 2e 20    20 49 74 20 63 6f 75 6c 64 20 62 65 20 63 75 73 | h.of.the.board...It.could.be.cus | 
| 13c0 | 74 6f 6d 69 7a 65 64 2c 20 69 66 20 79 6f 75 20    77 61 6e 74 65 64 20 74 6f 20 6d 61 6b 65 20 74 | tomized,.if.you.wanted.to.make.t | 
| 13e0 | 68 65 20 67 61 6d 65 20 76 65 72 79 20 76 65 72    79 20 68 61 72 64 2c 20 6f 72 20 76 65 72 79 20 | he.game.very.very.hard,.or.very. | 
| 1400 | 76 65 72 79 20 65 61 73 79 2e 22 29 0a 0a 28 64    65 66 76 61 72 20 2a 32 30 34 38 2d 72 6f 77 73 | very.easy.")..(defvar.*2048-rows | 
| 1420 | 2a 20 34 0a 20 20 22 54 68 65 20 68 65 69 67 68    74 20 6f 66 20 74 68 65 20 62 6f 61 72 64 2e 20 | *.4..."The.height.of.the.board.. | 
| 1440 | 20 49 74 20 63 6f 75 6c 64 20 62 65 20 63 75 73    74 6f 6d 69 7a 65 64 2c 20 69 66 20 79 6f 75 20 | .It.could.be.customized,.if.you. | 
| 1460 | 77 61 6e 74 65 64 20 74 6f 20 6d 61 6b 65 20 74    68 65 20 67 61 6d 65 20 76 65 72 79 20 76 65 72 | wanted.to.make.the.game.very.ver | 
| 1480 | 79 20 74 61 6c 6c 2c 20 6f 72 20 76 65 72 79 20    76 65 72 79 20 73 68 6f 72 74 2e 22 29 0a 0a 28 | y.tall,.or.very.very.short.")..( | 
| 14a0 | 64 65 66 76 61 72 20 2a 32 30 34 38 2d 70 6f 73    73 69 62 6c 65 2d 76 61 6c 75 65 73 2d 74 6f 2d | defvar.*2048-possible-values-to- | 
| 14c0 | 69 6e 73 65 72 74 2a 20 28 63 6f 6e 73 20 34 20    28 6d 61 6b 65 2d 6c 69 73 74 20 39 20 32 29 29 | insert*.(cons.4.(make-list.9.2)) | 
| 14e0 | 0a 20 20 22 54 6f 20 67 65 74 20 74 68 65 20 76    61 6c 75 65 20 6f 66 20 61 20 6e 65 77 20 65 6c | ..."To.get.the.value.of.a.new.el | 
| 1500 | 65 6d 65 6e 74 2c 20 72 61 6e 64 6f 6d 6c 79 20    63 68 6f 6f 73 65 20 61 20 6e 75 6d 62 65 72 20 | ement,.randomly.choose.a.number. | 
| 1520 | 66 72 6f 6d 20 74 68 69 73 20 73 65 71 75 65 6e    63 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 2a | from.this.sequence.")..(defvar.* | 
| 1540 | 32 30 34 38 2d 76 69 63 74 6f 72 79 2d 76 61 6c    75 65 2a 20 6e 69 6c 0a 20 20 22 57 68 65 6e 20 | 2048-victory-value*.nil..."When. | 
| 1560 | 74 68 69 73 20 6e 75 6d 62 65 72 20 69 73 20 72    65 61 63 68 65 64 2c 20 74 68 65 20 75 73 65 72 | this.number.is.reached,.the.user | 
| 1580 | 20 77 69 6e 73 21 20 59 61 79 21 22 29 0a 0a 28    64 65 66 76 61 72 20 2a 32 30 34 38 2d 64 65 66 | .wins!.Yay!")..(defvar.*2048-def | 
| 15a0 | 61 75 6c 74 2d 76 69 63 74 6f 72 79 2d 76 61 6c    75 65 2a 20 32 30 34 38 0a 20 20 22 57 68 65 6e | ault-victory-value*.2048..."When | 
| 15c0 | 20 74 68 65 20 67 61 6d 65 20 73 74 61 72 74 73    2c 20 72 65 73 65 74 20 2a 32 30 34 38 2d 76 69 | .the.game.starts,.reset.*2048-vi | 
| 15e0 | 63 74 6f 72 79 2d 76 61 6c 75 65 2a 20 74 6f 20    74 68 69 73 20 76 61 6c 75 65 2e 22 29 0a 0a 28 | ctory-value*.to.this.value.")..( | 
| 1600 | 64 65 66 76 61 72 20 2a 32 30 34 38 2d 64 65 62    75 67 2a 20 6e 69 6c 0a 20 20 22 57 68 65 6e 20 | defvar.*2048-debug*.nil..."When. | 
| 1620 | 27 74 2c 20 70 72 69 6e 74 20 64 65 62 75 67 67    69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e | 't,.print.debugging.information. | 
| 1640 | 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 2a 32    30 34 38 2d 6e 75 6d 62 65 72 73 2a 20 27 28 30 | ")..(defconst.*2048-numbers*.'(0 | 
| 1660 | 20 32 20 34 20 38 20 31 36 20 33 32 20 36 34 20    31 32 38 20 32 35 36 20 35 31 32 20 31 30 32 34 | .2.4.8.16.32.64.128.256.512.1024 | 
| 1680 | 20 32 30 34 38 29 29 0a 0a 28 64 65 66 76 61 72    20 2a 32 30 34 38 2d 73 63 6f 72 65 2a 20 6e 69 | .2048))..(defvar.*2048-score*.ni | 
| 16a0 | 6c 0a 20 20 22 43 75 72 72 65 6e 74 20 73 63 6f    72 65 20 69 6e 20 74 68 65 20 67 61 6d 65 2e 22 | l..."Current.score.in.the.game." | 
| 16c0 | 29 0a 0a 28 64 65 66 76 61 72 20 2a 32 30 34 38    2d 68 69 2d 74 69 6c 65 2a 20 6e 69 6c 0a 20 20 | )..(defvar.*2048-hi-tile*.nil... | 
| 16e0 | 22 43 75 72 72 65 6e 74 20 68 69 67 68 65 73 74    2d 6e 75 6d 62 65 72 20 74 69 6c 65 2e 22 29 0a | "Current.highest-number.tile."). | 
| 1700 | 0a 28 64 65 66 76 61 72 20 2a 32 30 34 38 2d 68    69 73 74 6f 72 79 2a 20 6e 69 6c 0a 20 20 22 53 | .(defvar.*2048-history*.nil..."S | 
| 1720 | 63 6f 72 65 20 68 69 73 74 6f 72 79 20 69 6e 20    74 68 69 73 20 45 6d 61 63 73 20 73 65 73 73 69 | core.history.in.this.Emacs.sessi | 
| 1740 | 6f 6e 2e 20 20 45 61 63 68 20 65 6c 65 6d 65 6e    74 20 69 73 20 28 53 43 4f 52 45 20 48 49 2d 54 | on...Each.element.is.(SCORE.HI-T | 
| 1760 | 49 4c 45 20 54 49 4d 45 29 2e 22 29 0a 0a 28 64    65 66 76 61 72 20 2a 32 30 34 38 2d 68 69 73 74 | ILE.TIME).")..(defvar.*2048-hist | 
| 1780 | 6f 72 79 2d 73 69 7a 65 2a 20 31 30 0a 20 20 22    4b 65 65 70 20 74 68 69 73 20 6d 61 6e 79 20 69 | ory-size*.10..."Keep.this.many.i | 
| 17a0 | 74 65 6d 73 20 69 6e 20 74 68 65 20 68 69 73 74    6f 72 79 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 | tems.in.the.history.")..(defvar. | 
| 17c0 | 2a 32 30 34 38 2d 67 61 6d 65 2d 68 61 73 2d 62    65 65 6e 2d 61 64 64 65 64 2d 74 6f 2d 68 69 73 | *2048-game-has-been-added-to-his | 
| 17e0 | 74 6f 72 79 2a 20 6e 69 6c 0a 20 20 22 57 68 65    74 68 65 72 20 74 68 65 20 63 75 72 72 65 6e 74 | tory*.nil..."Whether.the.current | 
| 1800 | 20 67 61 6d 65 20 68 61 73 20 62 65 65 6e 20 61    64 64 65 64 20 74 6f 20 74 68 65 20 68 69 73 74 | .game.has.been.added.to.the.hist | 
| 1820 | 6f 72 79 20 79 65 74 2e 0a 0a 52 69 67 68 74 20    6e 6f 77 2c 20 69 74 27 73 20 6f 6e 6c 79 20 66 | ory.yet...Right.now,.it's.only.f | 
| 1840 | 6f 72 20 75 73 65 20 77 68 65 6e 20 74 68 65 20    67 61 6d 65 20 68 61 73 20 62 65 65 6e 20 6c 6f | or.use.when.the.game.has.been.lo | 
| 1860 | 73 74 2e 20 20 53 69 6e 63 65 0a 74 68 65 20 75    73 65 72 20 63 61 6e 20 63 68 6f 6f 73 65 20 74 | st...Since.the.user.can.choose.t | 
| 1880 | 6f 20 6e 6f 74 20 73 74 61 72 74 20 61 20 6e 65    77 20 67 61 6d 65 2c 20 77 65 20 77 61 6e 74 20 | o.not.start.a.new.game,.we.want. | 
| 18a0 | 74 6f 20 61 64 64 20 74 68 65 0a 73 63 6f 72 65    20 74 6f 20 74 68 65 20 68 69 73 74 6f 72 79 20 | to.add.the.score.to.the.history. | 
| 18c0 | 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 74    68 65 20 67 61 6d 65 20 69 73 20 6c 6f 73 74 2c | the.first.time.the.game.is.lost, | 
| 18e0 | 20 62 75 74 20 6e 6f 74 20 61 6e 79 0a 6f 74 68    65 72 20 74 69 6d 65 2e 22 29 0a 0a 28 64 65 66 | .but.not.any.other.time.")..(def | 
| 1900 | 76 61 72 20 2a 32 30 34 38 2d 67 61 6d 65 2d 65    70 6f 63 68 2a 20 6e 69 6c 0a 20 20 22 54 68 65 | var.*2048-game-epoch*.nil..."The | 
| 1920 | 20 74 69 6d 65 20 74 68 65 20 63 75 72 72 65 6e    74 20 67 61 6d 65 20 73 74 61 72 74 65 64 2e 22 | .time.the.current.game.started." | 
| 1940 | 29 0a 0a 3b 3b 20 54 68 65 73 65 20 61 72 65 20    70 72 65 66 69 78 65 64 20 77 69 74 68 20 22 74 | )..;;.These.are.prefixed.with."t | 
| 1960 | 77 65 6e 74 79 66 6f 72 74 79 65 69 67 68 74 2d    66 61 63 65 2d 22 2c 20 6e 6f 74 20 22 32 30 34 | wentyfortyeight-face-",.not."204 | 
| 1980 | 38 2d 66 61 63 65 22 0a 3b 3b 20 62 65 63 61 75    73 65 20 66 61 63 65 20 6e 61 6d 65 73 20 73 74 | 8-face".;;.because.face.names.st | 
| 19a0 | 61 72 74 69 6e 67 20 77 69 74 68 20 6e 75 6d 62    65 72 73 20 62 72 65 61 6b 20 68 74 6d 6c 66 6f | arting.with.numbers.break.htmlfo | 
| 19c0 | 6e 74 69 66 79 2d 62 75 66 66 65 72 2c 0a 3b 3b    20 61 73 20 43 53 53 20 63 6c 61 73 73 65 73 20 | ntify-buffer,.;;.as.CSS.classes. | 
| 19e0 | 62 65 67 69 6e 6e 69 6e 67 20 77 69 74 68 20 6e    75 6d 62 65 72 73 20 61 72 65 20 69 67 6e 6f 72 | beginning.with.numbers.are.ignor | 
| 1a00 | 65 64 2e 0a 28 64 65 66 66 61 63 65 20 74 77 65    6e 74 79 66 6f 72 74 79 65 69 67 68 74 2d 66 61 | ed..(defface.twentyfortyeight-fa | 
| 1a20 | 63 65 2d 32 20 20 20 20 27 28 28 74 20 2e 20 28    3a 62 61 63 6b 67 72 6f 75 6e 64 20 22 6b 68 61 | ce-2....'((t...(:background."kha | 
| 1a40 | 6b 69 22 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20    22 62 6c 61 63 6b 22 29 29 29 20 22 46 61 63 65 | ki".:foreground."black")))."Face | 
| 1a60 | 20 66 6f 72 20 74 68 65 20 74 69 6c 65 20 32 2e    22 20 3a 67 72 6f 75 70 20 27 32 30 34 38 2d 66 | .for.the.tile.2.".:group.'2048-f | 
| 1a80 | 61 63 65 73 29 0a 28 64 65 66 66 61 63 65 20 74    77 65 6e 74 79 66 6f 72 74 79 65 69 67 68 74 2d | aces).(defface.twentyfortyeight- | 
| 1aa0 | 66 61 63 65 2d 34 20 20 20 20 27 28 28 74 20 2e    20 28 3a 62 61 63 6b 67 72 6f 75 6e 64 20 22 62 | face-4....'((t...(:background."b | 
| 1ac0 | 75 72 6c 79 77 6f 6f 64 22 20 3a 66 6f 72 65 67    72 6f 75 6e 64 20 22 62 6c 61 63 6b 22 29 29 29 | urlywood".:foreground."black"))) | 
| 1ae0 | 20 22 46 61 63 65 20 66 6f 72 20 74 68 65 20 74    69 6c 65 20 34 2e 22 20 3a 67 72 6f 75 70 20 27 | ."Face.for.the.tile.4.".:group.' | 
| 1b00 | 32 30 34 38 2d 66 61 63 65 73 29 0a 28 64 65 66    66 61 63 65 20 74 77 65 6e 74 79 66 6f 72 74 79 | 2048-faces).(defface.twentyforty | 
| 1b20 | 65 69 67 68 74 2d 66 61 63 65 2d 38 20 20 20 20    27 28 28 74 20 2e 20 28 3a 62 61 63 6b 67 72 6f | eight-face-8....'((t...(:backgro | 
| 1b40 | 75 6e 64 20 22 6f 72 61 6e 67 65 33 22 20 3a 66    6f 72 65 67 72 6f 75 6e 64 20 22 62 6c 61 63 6b | und."orange3".:foreground."black | 
| 1b60 | 22 29 29 29 20 22 46 61 63 65 20 66 6f 72 20 74    68 65 20 74 69 6c 65 20 38 2e 22 20 3a 67 72 6f | ")))."Face.for.the.tile.8.".:gro | 
| 1b80 | 75 70 20 27 32 30 34 38 2d 66 61 63 65 73 29 0a    28 64 65 66 66 61 63 65 20 74 77 65 6e 74 79 66 | up.'2048-faces).(defface.twentyf | 
| 1ba0 | 6f 72 74 79 65 69 67 68 74 2d 66 61 63 65 2d 31    36 20 20 20 27 28 28 74 20 2e 20 28 3a 62 61 63 | ortyeight-face-16...'((t...(:bac | 
| 1bc0 | 6b 67 72 6f 75 6e 64 20 22 6f 72 61 6e 67 65 22    20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 62 6c | kground."orange".:foreground."bl | 
| 1be0 | 61 63 6b 22 29 29 29 20 22 46 61 63 65 20 66 6f    72 20 74 68 65 20 74 69 6c 65 20 31 36 2e 22 20 | ack")))."Face.for.the.tile.16.". | 
| 1c00 | 3a 67 72 6f 75 70 20 27 32 30 34 38 2d 66 61 63    65 73 29 0a 28 64 65 66 66 61 63 65 20 74 77 65 | :group.'2048-faces).(defface.twe | 
| 1c20 | 6e 74 79 66 6f 72 74 79 65 69 67 68 74 2d 66 61    63 65 2d 33 32 20 20 20 27 28 28 74 20 2e 20 28 | ntyfortyeight-face-32...'((t...( | 
| 1c40 | 3a 62 61 63 6b 67 72 6f 75 6e 64 20 22 6f 72 61    6e 67 65 20 72 65 64 22 20 3a 66 6f 72 65 67 72 | :background."orange.red".:foregr | 
| 1c60 | 6f 75 6e 64 20 22 62 6c 61 63 6b 22 29 29 29 20    22 46 61 63 65 20 66 6f 72 20 74 68 65 20 74 69 | ound."black")))."Face.for.the.ti | 
| 1c80 | 6c 65 20 33 32 2e 22 20 3a 67 72 6f 75 70 20 27    32 30 34 38 2d 66 61 63 65 73 29 0a 28 64 65 66 | le.32.".:group.'2048-faces).(def | 
| 1ca0 | 66 61 63 65 20 74 77 65 6e 74 79 66 6f 72 74 79    65 69 67 68 74 2d 66 61 63 65 2d 36 34 20 20 20 | face.twentyfortyeight-face-64... | 
| 1cc0 | 27 28 28 74 20 2e 20 28 3a 62 61 63 6b 67 72 6f    75 6e 64 20 22 66 69 72 65 62 72 69 63 6b 22 20 | '((t...(:background."firebrick". | 
| 1ce0 | 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 77 68 69    74 65 22 29 29 29 20 22 46 61 63 65 20 66 6f 72 | :foreground."white")))."Face.for | 
| 1d00 | 20 74 68 65 20 74 69 6c 65 20 36 34 2e 22 20 3a    67 72 6f 75 70 20 27 32 30 34 38 2d 66 61 63 65 | .the.tile.64.".:group.'2048-face | 
| 1d20 | 73 29 0a 28 64 65 66 66 61 63 65 20 74 77 65 6e    74 79 66 6f 72 74 79 65 69 67 68 74 2d 66 61 63 | s).(defface.twentyfortyeight-fac | 
| 1d40 | 65 2d 31 32 38 20 20 27 28 28 74 20 2e 20 28 3a    62 61 63 6b 67 72 6f 75 6e 64 20 22 64 61 72 6b | e-128..'((t...(:background."dark | 
| 1d60 | 20 72 65 64 22 20 3a 66 6f 72 65 67 72 6f 75 6e    64 20 22 77 68 69 74 65 22 29 29 29 20 22 46 61 | .red".:foreground."white")))."Fa | 
| 1d80 | 63 65 20 66 6f 72 20 74 68 65 20 74 69 6c 65 20    31 32 38 2e 22 20 3a 67 72 6f 75 70 20 27 32 30 | ce.for.the.tile.128.".:group.'20 | 
| 1da0 | 34 38 2d 66 61 63 65 73 29 0a 28 64 65 66 66 61    63 65 20 74 77 65 6e 74 79 66 6f 72 74 79 65 69 | 48-faces).(defface.twentyfortyei | 
| 1dc0 | 67 68 74 2d 66 61 63 65 2d 32 35 36 20 20 27 28    28 74 20 2e 20 28 3a 62 61 63 6b 67 72 6f 75 6e | ght-face-256..'((t...(:backgroun | 
| 1de0 | 64 20 22 64 61 72 6b 20 6d 61 67 65 6e 74 61 22    20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 77 68 | d."dark.magenta".:foreground."wh | 
| 1e00 | 69 74 65 22 29 29 29 20 22 46 61 63 65 20 66 6f    72 20 74 68 65 20 74 69 6c 65 20 32 35 36 2e 22 | ite")))."Face.for.the.tile.256." | 
| 1e20 | 20 3a 67 72 6f 75 70 20 27 32 30 34 38 2d 66 61    63 65 73 29 0a 28 64 65 66 66 61 63 65 20 74 77 | .:group.'2048-faces).(defface.tw | 
| 1e40 | 65 6e 74 79 66 6f 72 74 79 65 69 67 68 74 2d 66    61 63 65 2d 35 31 32 20 20 27 28 28 74 20 2e 20 | entyfortyeight-face-512..'((t... | 
| 1e60 | 28 3a 62 61 63 6b 67 72 6f 75 6e 64 20 22 6d 61    67 65 6e 74 61 22 20 3a 66 6f 72 65 67 72 6f 75 | (:background."magenta".:foregrou | 
| 1e80 | 6e 64 20 22 62 6c 61 63 6b 22 29 29 29 20 22 46    61 63 65 20 66 6f 72 20 74 68 65 20 74 69 6c 65 | nd."black")))."Face.for.the.tile | 
| 1ea0 | 20 35 31 32 2e 22 20 3a 67 72 6f 75 70 20 27 32    30 34 38 2d 66 61 63 65 73 29 0a 28 64 65 66 66 | .512.".:group.'2048-faces).(deff | 
| 1ec0 | 61 63 65 20 74 77 65 6e 74 79 66 6f 72 74 79 65    69 67 68 74 2d 66 61 63 65 2d 31 30 32 34 20 27 | ace.twentyfortyeight-face-1024.' | 
| 1ee0 | 28 28 74 20 2e 20 28 3a 62 61 63 6b 67 72 6f 75    6e 64 20 22 67 6f 6c 64 22 20 3a 66 6f 72 65 67 | ((t...(:background."gold".:foreg | 
| 1f00 | 72 6f 75 6e 64 20 22 62 6c 61 63 6b 22 29 29 29    20 22 46 61 63 65 20 66 6f 72 20 74 68 65 20 74 | round."black")))."Face.for.the.t | 
| 1f20 | 69 6c 65 20 31 30 32 34 2e 22 20 3a 67 72 6f 75    70 20 27 32 30 34 38 2d 66 61 63 65 73 29 0a 28 | ile.1024.".:group.'2048-faces).( | 
| 1f40 | 64 65 66 66 61 63 65 20 74 77 65 6e 74 79 66 6f    72 74 79 65 69 67 68 74 2d 66 61 63 65 2d 32 30 | defface.twentyfortyeight-face-20 | 
| 1f60 | 34 38 20 27 28 28 74 20 2e 20 28 3a 62 61 63 6b    67 72 6f 75 6e 64 20 22 79 65 6c 6c 6f 77 22 20 | 48.'((t...(:background."yellow". | 
| 1f80 | 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 62 6c 61    63 6b 22 29 29 29 20 22 46 61 63 65 20 66 6f 72 | :foreground."black")))."Face.for | 
| 1fa0 | 20 74 68 65 20 74 69 6c 65 20 32 30 34 38 2e 22    20 3a 67 72 6f 75 70 20 27 32 30 34 38 2d 66 61 | .the.tile.2048.".:group.'2048-fa | 
| 1fc0 | 63 65 73 29 0a 0a 28 64 65 66 75 6e 20 32 30 34    38 2d 67 65 74 2d 66 61 63 65 20 28 6e 75 6d 62 | ces)..(defun.2048-get-face.(numb | 
| 1fe0 | 65 72 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68    65 20 66 61 63 65 20 66 6f 72 20 73 71 75 61 72 | er)..."Return.the.face.for.squar | 
| 2000 | 65 73 20 68 6f 6c 64 69 6e 67 20 4e 55 4d 42 45    52 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 61 63 | es.holding.NUMBER."...(let.((fac | 
| 2020 | 65 2d 73 79 6d 62 6f 6c 20 28 32 30 34 38 2d 67    65 74 2d 66 61 63 65 2d 73 79 6d 62 6f 6c 20 6e | e-symbol.(2048-get-face-symbol.n | 
| 2040 | 75 6d 62 65 72 29 29 29 0a 20 20 20 20 28 69 66    20 28 66 61 63 65 70 20 66 61 63 65 2d 73 79 6d | umber))).....(if.(facep.face-sym | 
| 2060 | 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 66 61 63    65 2d 73 79 6d 62 6f 6c 0a 20 20 20 20 20 20 27 | bol).........face-symbol.......' | 
| 2080 | 74 77 65 6e 74 79 66 6f 72 74 79 65 69 67 68 74    2d 66 61 63 65 2d 32 30 34 38 29 29 29 0a 0a 28 | twentyfortyeight-face-2048)))..( | 
| 20a0 | 64 65 66 75 6e 20 32 30 34 38 2d 67 65 74 2d 66    61 63 65 2d 73 79 6d 62 6f 6c 20 28 6e 75 6d 62 | defun.2048-get-face-symbol.(numb | 
| 20c0 | 65 72 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68    65 20 66 61 63 65 20 73 79 6d 62 6f 6c 20 66 6f | er)..."Return.the.face.symbol.fo | 
| 20e0 | 72 20 73 71 75 61 72 65 73 20 68 6f 6c 64 69 6e    67 20 4e 55 4d 42 45 52 2e 22 0a 20 20 28 69 6e | r.squares.holding.NUMBER."...(in | 
| 2100 | 74 65 72 6e 20 28 63 6f 6e 63 61 74 20 22 74 77    65 6e 74 79 66 6f 72 74 79 65 69 67 68 74 2d 66 | tern.(concat."twentyfortyeight-f | 
| 2120 | 61 63 65 2d 22 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 69 6e 74 2d 74 6f | ace-"....................(int-to | 
| 2140 | 2d 73 74 72 69 6e 67 20 6e 75 6d 62 65 72 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 32 30 34 38 2d | -string.number))))..(defun.2048- | 
| 2160 | 65 6d 70 74 79 2d 74 69 6c 65 20 28 6e 75 6d 29    0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 74 | empty-tile.(num)..."Return.the.t | 
| 2180 | 69 6c 65 20 74 6f 20 62 65 20 69 6e 73 65 72 74    65 64 20 66 6f 72 20 74 68 65 20 62 6c 61 6e 6b | ile.to.be.inserted.for.the.blank | 
| 21a0 | 20 70 61 72 74 20 6f 66 20 61 20 73 71 75 61 72    65 20 68 6f 6c 64 69 6e 67 20 4e 55 4d 2e 0a 0a | .part.of.a.square.holding.NUM... | 
| 21c0 | 54 68 61 74 20 69 73 2c 20 61 6e 20 65 6d 70 74    79 20 73 74 72 69 6e 67 20 77 69 74 68 20 66 6f | That.is,.an.empty.string.with.fo | 
| 21e0 | 6e 74 20 73 74 75 66 66 20 6f 6e 20 69 74 2e 22    0a 20 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 | nt.stuff.on.it."...(symbol-value | 
| 2200 | 20 28 32 30 34 38 2d 65 6d 70 74 79 2d 73 79 6d    62 6f 6c 20 6e 75 6d 29 29 29 0a 0a 28 64 65 66 | .(2048-empty-symbol.num)))..(def | 
| 2220 | 75 6e 20 32 30 34 38 2d 65 6d 70 74 79 2d 73 79    6d 62 6f 6c 20 28 6e 75 6d 29 0a 20 20 22 52 65 | un.2048-empty-symbol.(num)..."Re | 
| 2240 | 74 75 72 6e 20 73 79 6d 62 6f 6c 20 6f 66 20 74    68 65 20 76 61 72 69 61 62 6c 65 20 68 6f 6c 64 | turn.symbol.of.the.variable.hold | 
| 2260 | 69 6e 67 20 65 6d 70 74 79 20 73 70 61 63 65 20    66 6f 72 20 6e 75 6d 62 65 72 20 4e 55 4d 2e 22 | ing.empty.space.for.number.NUM." | 
| 2280 | 0a 20 20 28 69 6e 74 65 72 6e 20 28 63 6f 6e 63    61 74 20 22 32 30 34 38 2d 65 6d 70 74 79 2d 22 | ...(intern.(concat."2048-empty-" | 
| 22a0 | 20 28 69 6e 74 2d 74 6f 2d 73 74 72 69 6e 67 20    6e 75 6d 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | .(int-to-string.num))))..(defun. | 
| 22c0 | 32 30 34 38 2d 74 69 6c 65 2d 73 79 6d 62 6f 6c    20 28 6e 75 6d 29 0a 20 20 22 52 65 74 75 72 6e | 2048-tile-symbol.(num)..."Return | 
| 22e0 | 20 73 79 6d 62 6f 6c 20 6f 66 20 74 68 65 20 76    61 72 69 61 62 6c 65 20 66 6f 72 20 74 68 65 20 | .symbol.of.the.variable.for.the. | 
| 2300 | 74 69 6c 65 20 66 6f 72 20 73 71 75 61 72 65 73    20 68 6f 6c 64 69 6e 67 20 4e 55 4d 2e 22 0a 20 | tile.for.squares.holding.NUM.".. | 
| 2320 | 20 28 69 6e 74 65 72 6e 20 28 63 6f 6e 63 61 74    20 22 32 30 34 38 2d 74 69 6c 65 2d 22 20 28 69 | .(intern.(concat."2048-tile-".(i | 
| 2340 | 6e 74 2d 74 6f 2d 73 74 72 69 6e 67 20 6e 75 6d    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 32 30 34 | nt-to-string.num))))..(defun.204 | 
| 2360 | 38 2d 74 69 6c 65 20 28 6e 75 6d 29 0a 20 20 22    52 65 74 75 72 6e 20 74 68 65 20 74 69 6c 65 20 | 8-tile.(num)..."Return.the.tile. | 
| 2380 | 74 6f 20 62 65 20 69 6e 73 65 72 74 65 64 20 66    6f 72 20 61 20 73 71 75 61 72 65 20 68 6f 6c 64 | to.be.inserted.for.a.square.hold | 
| 23a0 | 69 6e 67 20 4e 55 4d 2e 0a 0a 54 68 65 20 74 69    6c 65 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 | ing.NUM...The.tile.is.the.string | 
| 23c0 | 2c 20 62 75 74 20 77 69 74 68 20 65 78 74 72 61    20 66 6f 6e 74 20 73 74 75 66 66 20 6f 6e 20 69 | ,.but.with.extra.font.stuff.on.i | 
| 23e0 | 74 2e 22 0a 20 20 28 73 79 6d 62 6f 6c 2d 76 61    6c 75 65 20 28 32 30 34 38 2d 74 69 6c 65 2d 73 | t."...(symbol-value.(2048-tile-s | 
| 2400 | 79 6d 62 6f 6c 20 6e 75 6d 29 29 29 0a 0a 28 64    65 66 6d 61 63 72 6f 20 32 30 34 38 2d 67 61 6d | ymbol.num)))..(defmacro.2048-gam | 
| 2420 | 65 2d 6d 6f 76 65 20 28 26 72 65 73 74 20 62 6f    64 79 29 0a 20 20 22 50 65 72 66 6f 72 6d 20 74 | e-move.(&rest.body)..."Perform.t | 
| 2440 | 68 65 20 67 61 6d 65 20 6d 6f 76 65 20 69 6e 64    69 63 61 74 65 64 20 62 79 20 42 4f 44 59 2e 0a | he.game.move.indicated.by.BODY.. | 
| 2460 | 0a 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 75    73 65 64 20 74 6f 20 64 6f 20 73 6f 6d 65 20 68 | .This.macro.is.used.to.do.some.h | 
| 2480 | 6f 75 73 65 6b 65 65 70 69 6e 67 20 61 72 6f 75    6e 64 20 74 68 65 20 6d 6f 76 65 2e 22 0a 20 20 | ousekeeping.around.the.move."... | 
| 24a0 | 60 28 70 72 6f 67 6e 20 28 73 65 74 71 20 2a 32    30 34 38 2d 63 6f 6d 62 69 6e 65 73 2d 74 68 69 | `(progn.(setq.*2048-combines-thi | 
| 24c0 | 73 2d 6d 6f 76 65 2a 20 28 6d 61 6b 65 2d 76 65    63 74 6f 72 20 28 2a 20 2a 32 30 34 38 2d 63 6f | s-move*.(make-vector.(*.*2048-co | 
| 24e0 | 6c 75 6d 6e 73 2a 20 2a 32 30 34 38 2d 72 6f 77    73 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | lumns*.*2048-rows*)............. | 
| 2500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 2520 | 20 20 20 6e 69 6c 29 29 0a 0a 20 20 20 20 20 20    20 20 20 20 2c 40 62 6f 64 79 0a 20 20 20 20 20 | ...nil))............,@body...... | 
| 2540 | 20 20 20 20 20 28 32 30 34 38 2d 70 72 69 6e 74    2d 62 6f 61 72 64 29 0a 20 20 20 20 20 20 20 20 | .....(2048-print-board)......... | 
| 2560 | 20 20 28 32 30 34 38 2d 63 68 65 63 6b 2d 67 61    6d 65 2d 65 6e 64 29 29 29 0a 0a 28 64 65 66 6d | ..(2048-check-game-end)))..(defm | 
| 2580 | 61 63 72 6f 20 32 30 34 38 2d 64 65 62 75 67 20    28 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 | acro.2048-debug.(&rest.body)..." | 
| 25a0 | 49 66 20 2a 32 30 34 38 2d 64 65 62 75 67 2a 20    69 73 20 27 74 2c 20 6c 6f 67 20 2c 40 42 4f 44 | If.*2048-debug*.is.'t,.log.,@BOD | 
| 25c0 | 59 20 61 73 20 61 20 73 74 72 69 6e 67 20 74 6f    20 74 68 65 20 62 75 66 66 65 72 20 6e 61 6d 65 | Y.as.a.string.to.the.buffer.name | 
| 25e0 | 64 20 27 32 30 34 38 2d 64 65 62 75 67 27 2e 22    0a 20 20 60 28 77 68 65 6e 20 2a 32 30 34 38 2d | d.'2048-debug'."...`(when.*2048- | 
| 2600 | 64 65 62 75 67 2a 0a 20 20 20 20 20 28 70 72 69    6e 74 20 28 63 6f 6e 63 61 74 20 2c 40 62 6f 64 | debug*......(print.(concat.,@bod | 
| 2620 | 79 29 0a 09 20 20 20 20 28 67 65 74 2d 62 75 66    66 65 72 2d 63 72 65 61 74 65 20 22 32 30 34 38 | y)......(get-buffer-create."2048 | 
| 2640 | 2d 64 65 62 75 67 22 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 32 30 34 38 2d 69 6e 69 74 2d 74 69 | -debug"))))..(defun.2048-init-ti | 
| 2660 | 6c 65 73 20 28 29 0a 20 20 22 49 6e 69 74 69 61    6c 69 7a 65 20 65 61 63 68 20 76 61 72 69 61 62 | les.()..."Initialize.each.variab | 
| 2680 | 6c 65 20 32 30 34 38 2d 65 6d 70 74 79 2d 4e 20    61 6e 64 20 32 30 34 38 2d 74 69 6c 65 2d 4e 20 | le.2048-empty-N.and.2048-tile-N. | 
| 26a0 | 77 69 74 68 20 73 74 72 69 6e 67 20 61 6e 64 20    66 61 63 65 2e 22 0a 20 20 28 6d 61 70 63 20 23 | with.string.and.face."...(mapc.# | 
| 26c0 | 27 32 30 34 38 2d 69 6e 69 74 2d 74 69 6c 65 0a    20 20 20 20 20 20 20 20 2a 32 30 34 38 2d 6e 75 | '2048-init-tile.........*2048-nu | 
| 26e0 | 6d 62 65 72 73 2a 29 29 0a 0a 28 64 65 66 75 6e    20 32 30 34 38 2d 69 6e 69 74 2d 74 69 6c 65 20 | mbers*))..(defun.2048-init-tile. | 
| 2700 | 28 6e 75 6d 62 65 72 29 0a 20 20 22 49 6e 69 74    69 61 6c 69 7a 65 20 74 68 65 20 74 69 6c 65 20 | (number)..."Initialize.the.tile. | 
| 2720 | 68 6f 6c 64 69 6e 67 20 4e 55 4d 42 45 52 2e 0a    0a 54 68 69 73 20 73 65 74 73 20 75 70 20 62 6f | holding.NUMBER...This.sets.up.bo | 
| 2740 | 74 68 20 74 68 65 20 74 69 6c 65 20 74 6f 20 68    6f 6c 64 20 69 74 2c 20 61 6e 64 20 74 68 65 20 | th.the.tile.to.hold.it,.and.the. | 
| 2760 | 65 6d 70 74 79 20 73 70 61 63 65 20 61 72 6f 75    6e 64 20 69 74 2e 22 0a 20 20 28 73 65 74 20 28 | empty.space.around.it."...(set.( | 
| 2780 | 32 30 34 38 2d 65 6d 70 74 79 2d 73 79 6d 62 6f    6c 20 6e 75 6d 62 65 72 29 20 28 66 6f 72 6d 61 | 2048-empty-symbol.number).(forma | 
| 27a0 | 74 20 22 25 37 73 22 20 22 20 22 29 29 0a 20 20    3b 3b 20 69 66 20 63 6f 6e 73 74 61 6e 74 20 74 | t."%7s"."."))...;;.if.constant.t | 
| 27c0 | 68 65 6e 20 61 6c 6c 20 66 61 63 65 73 20 61 72    65 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68 69 | hen.all.faces.are.applied.to.thi | 
| 27e0 | 73 20 6f 6e 65 20 63 6f 6e 73 74 61 6e 74 2e 20    28 53 79 6d 70 74 6f 6d 3a 20 61 6c 6c 20 62 61 | s.one.constant..(Symptom:.all.ba | 
| 2800 | 63 6b 67 72 6f 75 6e 64 20 69 73 20 79 65 6c 6c    6f 77 29 0a 20 20 3b 3b 20 54 68 65 20 62 79 74 | ckground.is.yellow)...;;.The.byt | 
| 2820 | 65 63 6f 6d 70 69 6c 65 72 20 69 73 20 73 6d 61    72 74 20 65 6e 6f 75 67 68 20 74 6f 20 73 65 65 | ecompiler.is.smart.enough.to.see | 
| 2840 | 20 74 68 61 74 20 28 63 6f 6e 63 61 74 2e 2e 2e    29 20 69 73 20 61 20 63 6f 6e 73 74 61 6e 74 2c | .that.(concat...).is.a.constant, | 
| 2860 | 20 62 75 74 20 6e 6f 74 20 28 66 6f 72 6d 61 74    2e 2e 2e 29 20 3b 2d 29 0a 20 20 28 73 65 74 20 | .but.not.(format...).;-)...(set. | 
| 2880 | 28 32 30 34 38 2d 74 69 6c 65 2d 73 79 6d 62 6f    6c 20 6e 75 6d 62 65 72 29 20 28 66 6f 72 6d 61 | (2048-tile-symbol.number).(forma | 
| 28a0 | 74 20 22 25 35 73 20 20 22 20 28 32 30 34 38 2d    6e 75 6d 2d 74 6f 2d 70 72 69 6e 74 61 62 6c 65 | t."%5s..".(2048-num-to-printable | 
| 28c0 | 20 6e 75 6d 62 65 72 29 29 29 0a 20 20 28 77 68    65 6e 20 28 3e 20 6e 75 6d 62 65 72 20 30 29 0a | .number)))...(when.(>.number.0). | 
| 28e0 | 20 20 20 20 28 6c 65 74 20 28 28 66 61 63 65 20    28 32 30 34 38 2d 67 65 74 2d 66 61 63 65 20 6e | ....(let.((face.(2048-get-face.n | 
| 2900 | 75 6d 62 65 72 29 29 29 0a 20 20 20 20 20 20 28    70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 | umber))).......(put-text-propert | 
| 2920 | 79 20 30 20 37 20 27 66 6f 6e 74 2d 6c 6f 63 6b    2d 66 61 63 65 20 66 61 63 65 20 28 32 30 34 38 | y.0.7.'font-lock-face.face.(2048 | 
| 2940 | 2d 65 6d 70 74 79 2d 74 69 6c 65 20 6e 75 6d 62    65 72 29 29 0a 20 20 20 20 20 20 28 70 75 74 2d | -empty-tile.number)).......(put- | 
| 2960 | 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 30 20    37 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 | text-property.0.7.'font-lock-fac | 
| 2980 | 65 20 66 61 63 65 20 28 32 30 34 38 2d 74 69 6c    65 20 6e 75 6d 62 65 72 29 29 29 29 29 0a 0a 28 | e.face.(2048-tile.number)))))..( | 
| 29a0 | 64 65 66 75 6e 20 32 30 34 38 2d 74 65 73 74 2d    74 69 6c 65 73 20 28 29 0a 20 20 22 54 65 73 74 | defun.2048-test-tiles.()..."Test | 
| 29c0 | 20 6f 75 74 20 74 68 65 20 74 69 6c 65 20 63 6f    6c 6f 72 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 | .out.the.tile.colors."...(intera | 
| 29e0 | 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28    2a 32 30 34 38 2d 62 6f 61 72 64 2a 0a 20 20 20 | ctive)...(let.((*2048-board*.... | 
| 2a00 | 20 20 20 20 20 20 28 76 63 6f 6e 63 61 74 20 2a    32 30 34 38 2d 6e 75 6d 62 65 72 73 2a 0a 20 20 | ......(vconcat.*2048-numbers*... | 
| 2a20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 28 2d 20 | ................(make-vector.(-. | 
| 2a40 | 28 2a 20 2a 32 30 34 38 2d 63 6f 6c 75 6d 6e 73    2a 20 2a 32 30 34 38 2d 72 6f 77 73 2a 29 0a 20 | (*.*2048-columns*.*2048-rows*).. | 
| 2a60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 2a80 | 20 28 6c 65 6e 67 74 68 20 2a 32 30 34 38 2d 6e    75 6d 62 65 72 73 2a 29 29 0a 20 20 20 20 20 20 | .(length.*2048-numbers*))....... | 
| 2aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 30 29 29 29 0a 20 20 | .........................0)))... | 
| 2ac0 | 20 20 20 20 20 20 28 2a 32 30 34 38 2d 73 63 6f    72 65 2a 20 31 32 33 34 35 36 29 0a 20 20 20 20 | ......(*2048-score*.123456)..... | 
| 2ae0 | 20 20 20 20 28 2a 32 30 34 38 2d 68 69 73 74 6f    72 79 2a 20 27 28 28 31 32 33 20 20 35 31 32 20 | ....(*2048-history*.'((123..512. | 
| 2b00 | 22 32 30 31 34 2d 30 36 2d 31 38 20 31 32 3a 33    34 3a 35 36 22 20 28 30 20 33 30 20 30 20 30 29 | "2014-06-18.12:34:56".(0.30.0.0) | 
| 2b20 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 34 35 36 | )...........................(456 | 
| 2b40 | 20 31 30 32 34 20 22 32 30 31 34 2d 30 36 2d 31    38 20 31 32 3a 34 35 3a 30 30 22 20 28 30 20 31 | .1024."2014-06-18.12:45:00".(0.1 | 
| 2b60 | 32 33 20 30 20 30 29 29 29 29 29 0a 20 20 20 20    28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 | 23.0.0))))).....(switch-to-buffe | 
| 2b80 | 72 20 22 32 30 34 38 2d 74 65 73 74 22 29 0a 20    20 20 20 28 32 30 34 38 2d 69 6e 69 74 2d 74 69 | r."2048-test").....(2048-init-ti | 
| 2ba0 | 6c 65 73 29 0a 20 20 20 20 28 32 30 34 38 2d 6d    6f 64 65 29 0a 20 20 20 20 28 32 30 34 38 2d 70 | les).....(2048-mode).....(2048-p | 
| 2bc0 | 72 69 6e 74 2d 62 6f 61 72 64 29 29 29 0a 0a 28    64 65 66 75 6e 20 32 30 34 38 2d 69 6e 69 74 20 | rint-board)))..(defun.2048-init. | 
| 2be0 | 28 29 0a 20 20 22 42 65 67 69 6e 20 61 20 67 61    6d 65 20 6f 66 20 32 30 34 38 2e 22 0a 20 20 28 | ()..."Begin.a.game.of.2048."...( | 
| 2c00 | 73 65 74 71 20 2a 32 30 34 38 2d 62 6f 61 72 64    2a 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 28 | setq.*2048-board*.(make-vector.( | 
| 2c20 | 2a 20 2a 32 30 34 38 2d 63 6f 6c 75 6d 6e 73 2a    20 2a 32 30 34 38 2d 72 6f 77 73 2a 29 0a 20 20 | *.*2048-columns*.*2048-rows*)... | 
| 2c40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 2c60 | 30 29 29 0a 20 20 28 73 65 74 71 20 2a 32 30 34    38 2d 63 6f 6d 62 69 6e 65 73 2d 74 68 69 73 2d | 0))...(setq.*2048-combines-this- | 
| 2c80 | 6d 6f 76 65 2a 20 28 6d 61 6b 65 2d 76 65 63 74    6f 72 20 28 2a 20 2a 32 30 34 38 2d 63 6f 6c 75 | move*.(make-vector.(*.*2048-colu | 
| 2ca0 | 6d 6e 73 2a 20 2a 32 30 34 38 2d 72 6f 77 73 2a    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | mns*.*2048-rows*)............... | 
| 2cc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 2ce0 | 20 6e 69 6c 29 29 0a 20 20 28 73 65 74 71 20 2a    32 30 34 38 2d 73 63 6f 72 65 2a 20 30 0a 20 20 | .nil))...(setq.*2048-score*.0... | 
| 2d00 | 20 20 20 20 20 20 2a 32 30 34 38 2d 68 69 2d 74    69 6c 65 2a 20 32 29 0a 20 20 28 73 65 74 71 20 | ......*2048-hi-tile*.2)...(setq. | 
| 2d20 | 2a 32 30 34 38 2d 76 69 63 74 6f 72 79 2d 76 61    6c 75 65 2a 20 2a 32 30 34 38 2d 64 65 66 61 75 | *2048-victory-value*.*2048-defau | 
| 2d40 | 6c 74 2d 76 69 63 74 6f 72 79 2d 76 61 6c 75 65    2a 29 0a 20 20 28 73 65 74 71 20 2a 32 30 34 38 | lt-victory-value*)...(setq.*2048 | 
| 2d60 | 2d 67 61 6d 65 2d 68 61 73 2d 62 65 65 6e 2d 61    64 64 65 64 2d 74 6f 2d 68 69 73 74 6f 72 79 2a | -game-has-been-added-to-history* | 
| 2d80 | 20 6e 69 6c 29 0a 20 20 28 73 65 74 71 20 2a 32    30 34 38 2d 67 61 6d 65 2d 65 70 6f 63 68 2a 20 | .nil)...(setq.*2048-game-epoch*. | 
| 2da0 | 28 63 75 72 72 65 6e 74 2d 74 69 6d 65 29 29 0a    20 20 28 32 30 34 38 2d 69 6e 73 65 72 74 2d 72 | (current-time))...(2048-insert-r | 
| 2dc0 | 61 6e 64 6f 6d 2d 63 65 6c 6c 29 0a 20 20 28 32    30 34 38 2d 69 6e 73 65 72 74 2d 72 61 6e 64 6f | andom-cell)...(2048-insert-rando | 
| 2de0 | 6d 2d 63 65 6c 6c 29 0a 20 20 28 32 30 34 38 2d    69 6e 69 74 2d 74 69 6c 65 73 29 0a 20 20 28 32 | m-cell)...(2048-init-tiles)...(2 | 
| 2e00 | 30 34 38 2d 70 72 69 6e 74 2d 62 6f 61 72 64 29    0a 20 20 28 6d 65 73 73 61 67 65 20 22 47 6f 6f | 048-print-board)...(message."Goo | 
| 2e20 | 64 20 6c 75 63 6b 21 22 29 29 0a 0a 28 64 65 66    75 6e 20 32 30 34 38 2d 67 65 74 2d 63 65 6c 6c | d.luck!"))..(defun.2048-get-cell | 
| 2e40 | 20 28 72 6f 77 20 63 6f 6c 29 0a 20 20 22 47 65    74 20 74 68 65 20 76 61 6c 75 65 20 69 6e 20 28 | .(row.col)..."Get.the.value.in.( | 
| 2e60 | 52 4f 57 2c 20 43 4f 4c 29 2e 22 0a 20 20 28 65    6c 74 20 2a 32 30 34 38 2d 62 6f 61 72 64 2a 0a | ROW,.COL)."...(elt.*2048-board*. | 
| 2e80 | 20 20 20 20 20 20 20 28 2b 20 28 2a 20 72 6f 77    20 2a 32 30 34 38 2d 63 6f 6c 75 6d 6e 73 2a 29 | .......(+.(*.row.*2048-columns*) | 
| 2ea0 | 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 29 29    29 0a 0a 28 64 65 66 75 6e 20 32 30 34 38 2d 73 | ...........col)))..(defun.2048-s | 
| 2ec0 | 65 74 2d 63 65 6c 6c 20 28 72 6f 77 20 63 6f 6c    75 6d 6e 20 76 61 6c 29 0a 20 20 22 53 65 74 20 | et-cell.(row.column.val)..."Set. | 
| 2ee0 | 74 68 65 20 76 61 6c 75 65 20 69 6e 20 28 52 4f    57 2c 20 43 4f 4c 55 4d 4e 29 20 74 6f 20 56 41 | the.value.in.(ROW,.COLUMN).to.VA | 
| 2f00 | 4c 2e 22 0a 20 20 28 77 68 65 6e 20 28 3c 20 2a    32 30 34 38 2d 68 69 2d 74 69 6c 65 2a 20 76 61 | L."...(when.(<.*2048-hi-tile*.va | 
| 2f20 | 6c 29 0a 20 20 20 20 28 73 65 74 71 20 2a 32 30    34 38 2d 68 69 2d 74 69 6c 65 2a 20 76 61 6c 29 | l).....(setq.*2048-hi-tile*.val) | 
| 2f40 | 29 0a 20 20 28 61 73 65 74 20 2a 32 30 34 38 2d    62 6f 61 72 64 2a 0a 20 20 20 20 20 20 20 20 28 | )...(aset.*2048-board*.........( | 
| 2f60 | 2b 20 28 2a 20 72 6f 77 20 2a 32 30 34 38 2d 63    6f 6c 75 6d 6e 73 2a 29 0a 20 20 20 20 20 20 20 | +.(*.row.*2048-columns*)........ | 
| 2f80 | 20 20 20 20 63 6f 6c 75 6d 6e 29 0a 20 20 20 20    20 20 20 20 76 61 6c 29 29 0a 0a 28 64 65 66 75 | ....column).........val))..(defu | 
| 2fa0 | 6e 20 32 30 34 38 2d 6e 75 6d 2d 74 6f 2d 70 72    69 6e 74 61 62 6c 65 20 28 6e 75 6d 29 0a 20 20 | n.2048-num-to-printable.(num)... | 
| 2fc0 | 22 52 65 74 75 72 6e 20 4e 55 4d 20 61 73 20 61    20 73 74 72 69 6e 67 20 74 68 61 74 20 63 61 6e | "Return.NUM.as.a.string.that.can | 
| 2fe0 | 20 62 65 20 70 75 74 20 69 6e 74 6f 20 74 68 65    20 62 6f 61 72 64 2e 0a 0a 54 68 61 74 20 69 73 | .be.put.into.the.board...That.is | 
| 3000 | 2c 20 70 72 69 6e 74 20 7a 65 72 6f 73 20 61 73    20 65 6d 70 74 79 20 73 74 72 69 6e 67 73 2c 20 | ,.print.zeros.as.empty.strings,. | 
| 3020 | 61 6e 64 20 61 6c 6c 20 6f 74 68 65 72 20 6e 75    6d 62 65 72 73 20 61 73 20 74 68 65 6d 73 65 6c | and.all.other.numbers.as.themsel | 
| 3040 | 76 65 73 2e 22 0a 20 20 28 69 66 20 28 65 71 20    6e 75 6d 20 30 29 0a 20 20 20 20 20 20 22 22 0a | ves."...(if.(eq.num.0)......."". | 
| 3060 | 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 64 22    20 6e 75 6d 29 29 29 0a 0a 28 64 65 66 75 6e 20 | ....(format."%d".num)))..(defun. | 
| 3080 | 32 30 34 38 2d 77 61 73 2d 63 6f 6d 62 69 6e 65    64 2d 74 68 69 73 2d 74 75 72 6e 20 28 72 6f 77 | 2048-was-combined-this-turn.(row | 
| 30a0 | 20 63 6f 6c 75 6d 6e 29 0a 20 20 22 52 65 74 75    72 6e 20 77 68 65 74 68 65 72 20 28 52 4f 57 2c | .column)..."Return.whether.(ROW, | 
| 30c0 | 20 43 4f 4c 55 4d 4e 29 20 77 61 73 20 66 69 6c    6c 65 64 20 74 68 69 73 20 74 75 72 6e 20 62 79 | .COLUMN).was.filled.this.turn.by | 
| 30e0 | 20 74 77 6f 20 6e 75 6d 62 65 72 73 20 63 6f 6d    62 69 6e 69 6e 67 2e 22 0a 20 20 28 65 6c 74 20 | .two.numbers.combining."...(elt. | 
| 3100 | 2a 32 30 34 38 2d 63 6f 6d 62 69 6e 65 73 2d 74    68 69 73 2d 6d 6f 76 65 2a 0a 20 20 20 20 20 20 | *2048-combines-this-move*....... | 
| 3120 | 20 28 2b 20 28 2a 20 72 6f 77 20 2a 32 30 34 38    2d 63 6f 6c 75 6d 6e 73 2a 29 0a 20 20 20 20 20 | .(+.(*.row.*2048-columns*)...... | 
| 3140 | 20 20 20 20 20 63 6f 6c 75 6d 6e 29 29 29 0a 0a    28 64 65 66 75 6e 20 32 30 34 38 2d 73 65 74 2d | .....column)))..(defun.2048-set- | 
| 3160 | 77 61 73 2d 63 6f 6d 62 69 6e 65 64 2d 74 68 69    73 2d 74 75 72 6e 20 28 72 6f 77 20 63 6f 6c 75 | was-combined-this-turn.(row.colu | 
| 3180 | 6d 6e 29 0a 20 20 22 53 65 74 20 74 68 61 74 20    28 52 4f 57 2c 20 43 4f 4c 55 4d 4e 29 20 77 61 | mn)..."Set.that.(ROW,.COLUMN).wa | 
| 31a0 | 73 20 66 69 6c 6c 65 64 20 74 68 69 73 20 74 75    72 6e 20 62 79 20 74 77 6f 20 6e 75 6d 62 65 72 | s.filled.this.turn.by.two.number | 
| 31c0 | 73 20 63 6f 6d 62 69 6e 69 6e 67 2e 22 0a 20 20    28 32 30 34 38 2d 64 65 62 75 67 20 28 66 6f 72 | s.combining."...(2048-debug.(for | 
| 31e0 | 6d 61 74 20 22 73 65 74 74 69 6e 67 20 28 25 64    2c 20 25 64 29 20 61 73 20 63 6f 6d 62 69 6e 65 | mat."setting.(%d,.%d).as.combine | 
| 3200 | 64 20 74 68 69 73 20 74 75 72 6e 2e 22 20 72 6f    77 20 63 6f 6c 75 6d 6e 29 29 0a 20 20 28 61 73 | d.this.turn.".row.column))...(as | 
| 3220 | 65 74 20 2a 32 30 34 38 2d 63 6f 6d 62 69 6e 65    73 2d 74 68 69 73 2d 6d 6f 76 65 2a 0a 20 20 20 | et.*2048-combines-this-move*.... | 
| 3240 | 20 20 20 20 20 28 2b 20 28 2a 20 72 6f 77 20 2a    32 30 34 38 2d 63 6f 6c 75 6d 6e 73 2a 29 0a 20 | .....(+.(*.row.*2048-columns*).. | 
| 3260 | 20 20 20 20 20 20 20 20 20 20 63 6f 6c 75 6d 6e    29 0a 20 20 20 20 20 20 20 20 74 29 29 0a 0a 28 | ..........column).........t))..( | 
| 3280 | 64 65 66 75 6e 20 32 30 34 38 2d 69 6e 73 65 72    74 2d 72 61 6e 64 6f 6d 2d 63 65 6c 6c 20 28 29 | defun.2048-insert-random-cell.() | 
| 32a0 | 0a 20 20 22 50 69 63 6b 20 61 20 6e 75 6d 62 65    72 20 72 61 6e 64 6f 6d 6c 79 2c 20 61 6e 64 20 | ..."Pick.a.number.randomly,.and. | 
| 32c0 | 69 6e 73 65 72 74 20 69 74 20 69 6e 74 6f 20 61    20 72 61 6e 64 6f 6d 20 63 65 6c 6c 2e 22 0a 20 | insert.it.into.a.random.cell.".. | 
| 32e0 | 20 28 6c 65 74 20 28 28 6e 75 6d 62 65 72 2d 74    6f 2d 69 6e 73 65 72 74 20 28 65 6c 74 20 2a 32 | .(let.((number-to-insert.(elt.*2 | 
| 3300 | 30 34 38 2d 70 6f 73 73 69 62 6c 65 2d 76 61 6c    75 65 73 2d 74 6f 2d 69 6e 73 65 72 74 2a 0a 20 | 048-possible-values-to-insert*.. | 
| 3320 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 | ..............................(r | 
| 3340 | 61 6e 64 6f 6d 20 28 6c 65 6e 67 74 68 20 2a 32    30 34 38 2d 70 6f 73 73 69 62 6c 65 2d 76 61 6c | andom.(length.*2048-possible-val | 
| 3360 | 75 65 73 2d 74 6f 2d 69 6e 73 65 72 74 2a 29 29    29 29 0a 20 20 20 20 20 20 20 20 28 72 6f 77 20 | ues-to-insert*)))).........(row. | 
| 3380 | 28 72 61 6e 64 6f 6d 20 2a 32 30 34 38 2d 72 6f    77 73 2a 29 29 0a 20 20 20 20 20 20 20 20 28 63 | (random.*2048-rows*)).........(c | 
| 33a0 | 6f 6c 75 6d 6e 20 28 72 61 6e 64 6f 6d 20 2a 32    30 34 38 2d 63 6f 6c 75 6d 6e 73 2a 29 29 29 0a | olumn.(random.*2048-columns*))). | 
| 33c0 | 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20    28 65 71 20 28 32 30 34 38 2d 67 65 74 2d 63 65 | ....(while.(not.(eq.(2048-get-ce | 
| 33e0 | 6c 6c 20 72 6f 77 20 63 6f 6c 75 6d 6e 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ll.row.column).................. | 
| 3400 | 20 20 20 30 29 29 0a 20 20 20 20 20 20 28 73 65    74 71 20 72 6f 77 20 28 72 61 6e 64 6f 6d 20 2a | ...0)).......(setq.row.(random.* | 
| 3420 | 32 30 34 38 2d 72 6f 77 73 2a 29 29 0a 20 20 20    20 20 20 28 73 65 74 71 20 63 6f 6c 75 6d 6e 20 | 2048-rows*)).......(setq.column. | 
| 3440 | 28 72 61 6e 64 6f 6d 20 2a 32 30 34 38 2d 63 6f    6c 75 6d 6e 73 2a 29 29 29 0a 20 20 20 20 28 32 | (random.*2048-columns*))).....(2 | 
| 3460 | 30 34 38 2d 73 65 74 2d 63 65 6c 6c 20 72 6f 77    20 63 6f 6c 75 6d 6e 20 6e 75 6d 62 65 72 2d 74 | 048-set-cell.row.column.number-t | 
| 3480 | 6f 2d 69 6e 73 65 72 74 29 29 29 0a 0a 28 64 65    66 75 6e 20 32 30 34 38 2d 63 68 65 63 6b 2d 67 | o-insert)))..(defun.2048-check-g | 
| 34a0 | 61 6d 65 2d 65 6e 64 20 28 29 0a 20 20 22 43 68    65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 | ame-end.()..."Check.whether.the. | 
| 34c0 | 67 61 6d 65 20 68 61 73 20 65 69 74 68 65 72 20    62 65 65 6e 20 77 6f 6e 20 6f 72 20 6c 6f 73 74 | game.has.either.been.won.or.lost | 
| 34e0 | 2c 20 61 6e 64 20 61 63 74 20 61 63 63 6f 72 64    69 6e 67 6c 79 2e 0a 0a 54 68 69 73 20 61 63 74 | ,.and.act.accordingly...This.act | 
| 3500 | 73 20 62 79 20 6e 6f 74 69 66 79 69 6e 67 20 74    68 65 20 75 73 65 72 20 61 6e 64 20 72 65 73 74 | s.by.notifying.the.user.and.rest | 
| 3520 | 61 72 74 69 6e 67 2e 22 0a 20 20 28 63 6f 6e 64    20 28 28 32 30 34 38 2d 67 61 6d 65 2d 77 61 73 | arting."...(cond.((2048-game-was | 
| 3540 | 2d 77 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 28    32 30 34 38 2d 70 72 69 6e 74 2d 62 6f 61 72 64 | -won)..........(2048-print-board | 
| 3560 | 29 0a 20 20 20 20 20 20 20 20 20 28 69 66 20 28    79 2d 6f 72 2d 6e 2d 70 20 22 59 61 79 21 20 59 | )..........(if.(y-or-n-p."Yay!.Y | 
| 3580 | 6f 75 20 62 65 61 74 20 74 68 65 20 67 61 6d 65    21 20 20 79 20 74 6f 20 73 74 61 72 74 20 61 67 | ou.beat.the.game!..y.to.start.ag | 
| 35a0 | 61 69 6e 3b 20 6e 20 74 6f 20 63 6f 6e 74 69 6e    75 65 2e 20 20 53 74 61 72 74 20 61 67 61 69 6e | ain;.n.to.continue...Start.again | 
| 35c0 | 3f 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 28 70 72 6f 67 6e 20 28 32 30 34 38 2d 61 | ?.")..............(progn.(2048-a | 
| 35e0 | 64 64 2d 6e 65 77 2d 68 69 73 74 6f 72 79 2d 69    74 65 6d 20 2a 32 30 34 38 2d 73 63 6f 72 65 2a | dd-new-history-item.*2048-score* | 
| 3600 | 20 2a 32 30 34 38 2d 68 69 2d 74 69 6c 65 2a 20    28 63 75 72 72 65 6e 74 2d 74 69 6d 65 29 20 28 | .*2048-hi-tile*.(current-time).( | 
| 3620 | 74 69 6d 65 2d 73 75 62 74 72 61 63 74 20 28 63    75 72 72 65 6e 74 2d 74 69 6d 65 29 20 2a 32 30 | time-subtract.(current-time).*20 | 
| 3640 | 34 38 2d 67 61 6d 65 2d 65 70 6f 63 68 2a 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 48-game-epoch*))................ | 
| 3660 | 20 20 20 20 20 28 32 30 34 38 2d 69 6e 69 74 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 | .....(2048-init))............(se | 
| 3680 | 74 71 20 2a 32 30 34 38 2d 76 69 63 74 6f 72 79    2d 76 61 6c 75 65 2a 0a 20 20 20 20 20 20 20 20 | tq.*2048-victory-value*......... | 
| 36a0 | 20 20 20 20 20 20 20 20 20 28 2a 20 2a 32 30 34    38 2d 76 69 63 74 6f 72 79 2d 76 61 6c 75 65 2a | .........(*.*2048-victory-value* | 
| 36c0 | 20 32 29 29 29 29 0a 20 20 20 20 20 20 20 20 28    28 32 30 34 38 2d 67 61 6d 65 2d 77 61 73 2d 6c | .2)))).........((2048-game-was-l | 
| 36e0 | 6f 73 74 29 0a 20 20 20 20 20 20 20 20 20 28 75    6e 6c 65 73 73 20 2a 32 30 34 38 2d 67 61 6d 65 | ost)..........(unless.*2048-game | 
| 3700 | 2d 68 61 73 2d 62 65 65 6e 2d 61 64 64 65 64 2d    74 6f 2d 68 69 73 74 6f 72 79 2a 0a 20 20 20 20 | -has-been-added-to-history*..... | 
| 3720 | 20 20 20 20 20 20 20 28 32 30 34 38 2d 61 64 64    2d 6e 65 77 2d 68 69 73 74 6f 72 79 2d 69 74 65 | .......(2048-add-new-history-ite | 
| 3740 | 6d 20 2a 32 30 34 38 2d 73 63 6f 72 65 2a 20 2a    32 30 34 38 2d 68 69 2d 74 69 6c 65 2a 20 28 63 | m.*2048-score*.*2048-hi-tile*.(c | 
| 3760 | 75 72 72 65 6e 74 2d 74 69 6d 65 29 20 28 74 69    6d 65 2d 73 75 62 74 72 61 63 74 20 28 63 75 72 | urrent-time).(time-subtract.(cur | 
| 3780 | 72 65 6e 74 2d 74 69 6d 65 29 20 2a 32 30 34 38    2d 67 61 6d 65 2d 65 70 6f 63 68 2a 29 29 0a 20 | rent-time).*2048-game-epoch*)).. | 
| 37a0 | 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20    2a 32 30 34 38 2d 67 61 6d 65 2d 68 61 73 2d 62 | ..........(setq.*2048-game-has-b | 
| 37c0 | 65 65 6e 2d 61 64 64 65 64 2d 74 6f 2d 68 69 73    74 6f 72 79 2a 20 74 29 29 0a 20 20 20 20 20 20 | een-added-to-history*.t))....... | 
| 37e0 | 20 20 20 28 32 30 34 38 2d 70 72 69 6e 74 2d 62    6f 61 72 64 29 0a 20 20 20 20 20 20 20 20 20 28 | ...(2048-print-board)..........( | 
| 3800 | 77 68 65 6e 20 28 79 2d 6f 72 2d 6e 2d 70 20 22    41 77 2c 20 74 6f 6f 20 62 61 64 2e 20 20 59 6f | when.(y-or-n-p."Aw,.too.bad...Yo | 
| 3820 | 75 20 6c 6f 73 74 2e 20 20 57 61 6e 74 20 74 6f    20 70 6c 61 79 20 61 67 61 69 6e 3f 20 22 29 0a | u.lost...Want.to.play.again?."). | 
| 3840 | 20 20 20 20 20 20 20 20 20 20 20 28 32 30 34 38    2d 69 6e 69 74 29 29 29 29 29 0a 0a 28 64 65 66 | ...........(2048-init)))))..(def | 
| 3860 | 75 6e 20 32 30 34 38 2d 61 64 64 2d 6e 65 77 2d    68 69 73 74 6f 72 79 2d 69 74 65 6d 20 28 73 63 | un.2048-add-new-history-item.(sc | 
| 3880 | 6f 72 65 20 68 69 2d 74 69 6c 65 20 67 61 6d 65    2d 65 6e 64 2d 74 69 6d 65 20 67 61 6d 65 2d 64 | ore.hi-tile.game-end-time.game-d | 
| 38a0 | 75 72 61 74 69 6f 6e 29 0a 20 20 22 47 65 6e 65    72 61 74 65 20 61 6e 64 20 61 64 64 20 61 20 6e | uration)..."Generate.and.add.a.n | 
| 38c0 | 65 77 20 68 69 73 74 6f 72 79 20 69 74 65 6d 20    74 6f 20 74 68 65 20 73 63 6f 72 65 20 6c 69 73 | ew.history.item.to.the.score.lis | 
| 38e0 | 74 2e 0a 0a 54 68 69 73 20 69 74 65 6d 20 73 68    6f 75 6c 64 20 68 61 76 65 20 73 63 6f 72 65 20 | t...This.item.should.have.score. | 
| 3900 | 53 43 4f 52 45 2c 20 74 68 65 20 68 69 67 68 65    73 74 20 74 69 6c 65 20 72 65 61 63 68 65 64 20 | SCORE,.the.highest.tile.reached. | 
| 3920 | 61 73 20 48 49 2d 54 49 4c 45 2c 0a 68 61 76 65    20 65 6e 64 65 64 20 61 74 20 47 41 4d 45 2d 45 | as.HI-TILE,.have.ended.at.GAME-E | 
| 3940 | 4e 44 2d 54 49 4d 45 2c 20 61 6e 64 20 68 61 76    65 20 64 75 72 61 74 69 6f 6e 20 47 41 4d 45 2d | ND-TIME,.and.have.duration.GAME- | 
| 3960 | 44 55 52 41 54 49 4f 4e 22 0a 20 20 28 73 65 74    71 20 2a 32 30 34 38 2d 68 69 73 74 6f 72 79 2a | DURATION"...(setq.*2048-history* | 
| 3980 | 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28    68 69 73 74 6f 72 79 2d 6c 65 6e 67 74 68 20 28 | .........(let.((history-length.( | 
| 39a0 | 6c 65 6e 67 74 68 20 2a 32 30 34 38 2d 68 69 73    74 6f 72 79 2a 29 29 29 0a 20 20 20 20 20 20 20 | length.*2048-history*)))........ | 
| 39c0 | 20 20 20 3b 3b 20 67 65 74 20 74 68 65 20 68 69    73 74 6f 72 79 20 6c 65 6e 67 74 68 20 62 65 66 | ...;;.get.the.history.length.bef | 
| 39e0 | 6f 72 65 20 63 61 6c 6c 69 6e 67 20 63 6c 2d 73    6f 72 74 20 62 65 63 61 75 73 65 20 63 6c 2d 73 | ore.calling.cl-sort.because.cl-s | 
| 3a00 | 6f 72 74 20 69 73 20 64 65 73 74 72 75 63 74 69    76 65 2e 0a 20 20 20 20 20 20 20 20 20 20 28 62 | ort.is.destructive............(b | 
| 3a20 | 75 74 6c 61 73 74 20 28 63 6c 2d 73 6f 72 74 20    28 63 6f 6e 73 20 28 6c 69 73 74 20 2a 32 30 34 | utlast.(cl-sort.(cons.(list.*204 | 
| 3a40 | 38 2d 73 63 6f 72 65 2a 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 8-score*........................ | 
| 3a60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 2a 32 30 34 38 2d 68 69 2d 74 69 6c 65 2a 0a | .................*2048-hi-tile*. | 
| 3a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 3aa0 | 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 2d    74 69 6d 65 2d 73 74 72 69 6e 67 20 22 25 59 2d | ........(format-time-string."%Y- | 
| 3ac0 | 25 6d 2d 25 64 22 20 67 61 6d 65 2d 65 6e 64 2d    74 69 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 | %m-%d".game-end-time)........... | 
| 3ae0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 61 | ..............................ga | 
| 3b00 | 6d 65 2d 64 75 72 61 74 69 6f 6e 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | me-duration).................... | 
| 3b20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a    32 30 34 38 2d 68 69 73 74 6f 72 79 2a 29 0a 20 | ...............*2048-history*).. | 
| 3b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 27 3e 0a 20 20 | ...........................'>... | 
| 3b60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 3a 6b 65 79 20 27 | ..........................:key.' | 
| 3b80 | 63 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 6d 61 78 20 30 0a 20 | car)....................(max.0.. | 
| 3ba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 2d 20 28 31 2b 20 68 69 | .......................(-.(1+.hi | 
| 3bc0 | 73 74 6f 72 79 2d 6c 65 6e 67 74 68 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | story-length)................... | 
| 3be0 | 20 20 20 20 20 20 20 20 20 2a 32 30 34 38 2d 68    69 73 74 6f 72 79 2d 73 69 7a 65 2a 29 29 29 29 | .........*2048-history-size*)))) | 
| 3c00 | 29 29 0a 0a 28 64 65 66 75 6e 20 32 30 34 38 2d    67 61 6d 65 2d 77 61 73 2d 77 6f 6e 20 28 29 0a | ))..(defun.2048-game-was-won.(). | 
| 3c20 | 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 74    68 65 20 67 61 6d 65 20 77 61 73 20 77 6f 6e 2c | .."Return.t.if.the.game.was.won, | 
| 3c40 | 20 6e 69 6c 20 6f 74 68 65 72 77 69 73 65 2e 22    0a 20 20 28 6c 65 74 20 28 28 67 61 6d 65 2d 77 | .nil.otherwise."...(let.((game-w | 
| 3c60 | 61 73 2d 77 6f 6e 20 6e 69 6c 29 29 0a 20 20 20    20 28 64 6f 74 69 6d 65 73 20 28 72 6f 77 20 2a | as-won.nil)).....(dotimes.(row.* | 
| 3c80 | 32 30 34 38 2d 72 6f 77 73 2a 29 0a 20 20 20 20    20 20 28 64 6f 74 69 6d 65 73 20 28 63 6f 6c 75 | 2048-rows*).......(dotimes.(colu | 
| 3ca0 | 6d 6e 20 2a 32 30 34 38 2d 63 6f 6c 75 6d 6e 73    2a 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e | mn.*2048-columns*).........(when | 
| 3cc0 | 20 28 65 71 20 28 32 30 34 38 2d 67 65 74 2d 63    65 6c 6c 20 72 6f 77 20 63 6f 6c 75 6d 6e 29 0a | .(eq.(2048-get-cell.row.column). | 
| 3ce0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 2a 32 30 34 38 2d 76 69 63 74 6f 72 79 2d | ..................*2048-victory- | 
| 3d00 | 76 61 6c 75 65 2a 29 0a 20 20 20 20 20 20 20 20    20 20 28 73 65 74 71 20 67 61 6d 65 2d 77 61 73 | value*)...........(setq.game-was | 
| 3d20 | 2d 77 6f 6e 20 74 29 29 29 29 0a 20 20 20 20 67    61 6d 65 2d 77 61 73 2d 77 6f 6e 29 29 0a 0a 28 | -won.t)))).....game-was-won))..( | 
| 3d40 | 64 65 66 75 6e 20 32 30 34 38 2d 67 61 6d 65 2d    77 61 73 2d 6c 6f 73 74 20 28 29 0a 20 20 22 52 | defun.2048-game-was-lost.()..."R | 
| 3d60 | 65 74 75 72 6e 20 74 20 69 66 20 74 68 65 20 67    61 6d 65 20 77 61 73 20 6c 6f 73 74 2c 20 6e 69 | eturn.t.if.the.game.was.lost,.ni | 
| 3d80 | 6c 20 6f 74 68 65 72 77 69 73 65 2e 22 0a 20 20    28 6c 65 74 20 28 28 67 61 6d 65 2d 77 61 73 2d | l.otherwise."...(let.((game-was- | 
| 3da0 | 6c 6f 73 74 20 74 29 29 0a 20 20 20 20 28 64 6f    74 69 6d 65 73 20 28 72 6f 77 20 2a 32 30 34 38 | lost.t)).....(dotimes.(row.*2048 | 
| 3dc0 | 2d 72 6f 77 73 2a 29 0a 20 20 20 20 20 20 28 64    6f 74 69 6d 65 73 20 28 63 6f 6c 75 6d 6e 20 2a | -rows*).......(dotimes.(column.* | 
| 3de0 | 32 30 34 38 2d 63 6f 6c 75 6d 6e 73 2a 29 0a 20    20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 | 2048-columns*).........(when.(eq | 
| 3e00 | 20 28 32 30 34 38 2d 67 65 74 2d 63 65 6c 6c 20    72 6f 77 20 63 6f 6c 75 6d 6e 29 0a 20 20 20 20 | .(2048-get-cell.row.column)..... | 
| 3e20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 29    0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 | ..............0)...........(setq | 
| 3e40 | 20 67 61 6d 65 2d 77 61 73 2d 6c 6f 73 74 20 6e    69 6c 29 29 29 29 0a 0a 20 20 20 20 3b 3b 20 46 | .game-was-lost.nil))))......;;.F | 
| 3e60 | 6f 72 20 65 61 63 68 20 73 71 75 61 72 65 2c 20    69 66 20 74 68 61 74 20 73 71 75 61 72 65 20 68 | or.each.square,.if.that.square.h | 
| 3e80 | 61 73 20 6f 6e 65 20 62 65 6c 6f 77 20 69 74 20    74 68 61 74 27 73 20 74 68 65 20 73 61 6d 65 2c | as.one.below.it.that's.the.same, | 
| 3ea0 | 0a 20 20 20 20 3b 3b 20 74 68 65 20 67 61 6d 65    27 73 20 6e 6f 74 20 6f 76 65 72 2e 0a 20 20 20 | .....;;.the.game's.not.over..... | 
| 3ec0 | 20 28 64 6f 74 69 6d 65 73 20 28 72 6f 77 20 28    31 2d 20 2a 32 30 34 38 2d 72 6f 77 73 2a 29 29 | .(dotimes.(row.(1-.*2048-rows*)) | 
| 3ee0 | 0a 20 20 20 20 20 20 28 64 6f 74 69 6d 65 73 20    28 63 6f 6c 75 6d 6e 20 2a 32 30 34 38 2d 63 6f | .......(dotimes.(column.*2048-co | 
| 3f00 | 6c 75 6d 6e 73 2a 29 0a 20 20 20 20 20 20 20 20    28 77 68 65 6e 20 28 65 71 20 28 32 30 34 38 2d | lumns*).........(when.(eq.(2048- | 
| 3f20 | 67 65 74 2d 63 65 6c 6c 20 72 6f 77 20 63 6f 6c    75 6d 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 | get-cell.row.column)............ | 
| 3f40 | 20 20 20 20 20 20 20 28 32 30 34 38 2d 67 65 74    2d 63 65 6c 6c 20 28 31 2b 20 72 6f 77 29 20 63 | .......(2048-get-cell.(1+.row).c | 
| 3f60 | 6f 6c 75 6d 6e 29 29 0a 20 20 20 20 20 20 20 20    20 20 28 73 65 74 71 20 67 61 6d 65 2d 77 61 73 | olumn))...........(setq.game-was | 
| 3f80 | 2d 6c 6f 73 74 20 6e 69 6c 29 29 29 29 0a 0a 20    20 20 20 3b 3b 20 46 6f 72 20 65 61 63 68 20 73 | -lost.nil))))......;;.For.each.s | 
| 3fa0 | 71 75 61 72 65 2c 20 69 66 20 74 68 61 74 20 73    71 75 61 72 65 20 68 61 73 20 6f 6e 65 20 74 6f | quare,.if.that.square.has.one.to | 
| 3fc0 | 20 69 74 73 20 72 69 67 68 74 20 74 68 61 74 27    73 20 74 68 65 20 73 61 6d 65 2c 0a 20 20 20 20 | .its.right.that's.the.same,..... | 
| 3fe0 | 3b 3b 20 74 68 65 20 67 61 6d 65 27 73 20 6e 6f    74 20 6f 76 65 72 2e 0a 20 20 20 20 28 64 6f 74 | ;;.the.game's.not.over......(dot | 
| 4000 | 69 6d 65 73 20 28 72 6f 77 20 2a 32 30 34 38 2d    72 6f 77 73 2a 29 0a 20 20 20 20 20 20 28 64 6f | imes.(row.*2048-rows*).......(do | 
| 4020 | 74 69 6d 65 73 20 28 63 6f 6c 75 6d 6e 20 28 31    2d 20 2a 32 30 34 38 2d 63 6f 6c 75 6d 6e 73 2a | times.(column.(1-.*2048-columns* | 
| 4040 | 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e    20 28 65 71 20 28 32 30 34 38 2d 67 65 74 2d 63 | )).........(when.(eq.(2048-get-c | 
| 4060 | 65 6c 6c 20 72 6f 77 20 63 6f 6c 75 6d 6e 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ell.row.column)................. | 
| 4080 | 20 20 28 32 30 34 38 2d 67 65 74 2d 63 65 6c 6c    20 72 6f 77 20 28 31 2b 20 63 6f 6c 75 6d 6e 29 | ..(2048-get-cell.row.(1+.column) | 
| 40a0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65    74 71 20 67 61 6d 65 2d 77 61 73 2d 6c 6f 73 74 | ))...........(setq.game-was-lost | 
| 40c0 | 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 67 61 6d    65 2d 77 61 73 2d 6c 6f 73 74 29 29 0a 0a 28 64 | .nil)))).....game-was-lost))..(d | 
| 40e0 | 65 66 75 6e 20 32 30 34 38 2d 70 72 69 6e 74 2d    62 6f 61 72 64 20 28 29 0a 20 20 22 57 69 70 65 | efun.2048-print-board.()..."Wipe | 
| 4100 | 73 20 74 68 65 20 65 6e 74 69 72 65 20 66 69 65    6c 64 2c 20 61 6e 64 20 70 72 69 6e 74 73 20 74 | s.the.entire.field,.and.prints.t | 
| 4120 | 68 65 20 62 6f 61 72 64 2e 22 0a 20 20 28 6c 65    74 20 28 28 69 6e 68 69 62 69 74 2d 72 65 61 64 | he.board."...(let.((inhibit-read | 
| 4140 | 2d 6f 6e 6c 79 20 74 29 29 0a 20 20 20 20 28 65    72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 | -only.t)).....(erase-buffer).... | 
| 4160 | 20 28 64 6f 74 69 6d 65 73 20 28 72 6f 77 20 2a    32 30 34 38 2d 72 6f 77 73 2a 29 0a 0a 20 20 20 | .(dotimes.(row.*2048-rows*)..... | 
| 4180 | 20 20 20 3b 3b 70 72 69 6e 74 20 74 68 65 20 73    65 70 61 72 61 74 6f 72 20 6c 69 6e 65 20 6f 6e | ...;;print.the.separator.line.on | 
| 41a0 | 20 74 6f 70 20 6f 66 2c 20 61 6e 64 20 62 65 74    77 65 65 6e 20 63 65 6c 6c 73 0a 20 20 20 20 20 | .top.of,.and.between.cells...... | 
| 41c0 | 20 28 64 6f 74 69 6d 65 73 20 28 63 6f 6c 20 2a    32 30 34 38 2d 63 6f 6c 75 6d 6e 73 2a 29 0a 20 | .(dotimes.(col.*2048-columns*).. | 
| 41e0 | 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22    2b 2d 2d 2d 2d 2d 2d 2d 22 29 29 0a 20 20 20 20 | .......(insert."+-------"))..... | 
| 4200 | 20 20 28 69 6e 73 65 72 74 20 22 2b 22 29 0a 20    20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e | ..(insert."+").......(insert."\n | 
| 4220 | 22 29 0a 0a 20 20 20 20 20 20 3b 3b 70 72 69 6e    74 20 74 68 65 20 65 6d 70 74 79 20 6c 69 6e 65 | ")........;;print.the.empty.line | 
| 4240 | 20 61 62 6f 76 65 20 6e 75 6d 62 65 72 73 0a 20    20 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 63 | .above.numbers.......(dotimes.(c | 
| 4260 | 6f 6c 20 2a 32 30 34 38 2d 63 6f 6c 75 6d 6e 73    2a 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 | ol.*2048-columns*).........(inse | 
| 4280 | 72 74 20 22 7c 22 29 0a 20 20 20 20 20 20 20 20    28 6c 65 74 20 28 28 63 75 72 72 65 6e 74 2d 76 | rt."|").........(let.((current-v | 
| 42a0 | 61 6c 75 65 20 28 32 30 34 38 2d 67 65 74 2d 63    65 6c 6c 20 72 6f 77 20 63 6f 6c 29 29 29 0a 20 | alue.(2048-get-cell.row.col))).. | 
| 42c0 | 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74    20 28 32 30 34 38 2d 65 6d 70 74 79 2d 74 69 6c | .........(insert.(2048-empty-til | 
| 42e0 | 65 20 63 75 72 72 65 6e 74 2d 76 61 6c 75 65 29    29 29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 | e.current-value)))).......(inser | 
| 4300 | 74 20 22 7c 22 29 0a 20 20 20 20 20 20 28 69 6e    73 65 72 74 20 22 5c 6e 22 29 0a 0a 20 20 20 20 | t."|").......(insert."\n")...... | 
| 4320 | 20 20 3b 3b 20 70 72 69 6e 74 20 74 68 65 20 6e    75 6d 62 65 72 20 74 69 6c 65 73 0a 20 20 20 20 | ..;;.print.the.number.tiles..... | 
| 4340 | 20 20 28 64 6f 74 69 6d 65 73 20 28 63 6f 6c 20    2a 32 30 34 38 2d 63 6f 6c 75 6d 6e 73 2a 29 0a | ..(dotimes.(col.*2048-columns*). | 
| 4360 | 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20    22 7c 22 29 0a 20 20 20 20 20 20 20 20 28 6c 65 | ........(insert."|").........(le | 
| 4380 | 74 20 28 28 63 75 72 72 65 6e 74 2d 76 61 6c 75    65 20 28 32 30 34 38 2d 67 65 74 2d 63 65 6c 6c | t.((current-value.(2048-get-cell | 
| 43a0 | 20 72 6f 77 20 63 6f 6c 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 32 | .row.col)))...........(insert.(2 | 
| 43c0 | 30 34 38 2d 74 69 6c 65 20 63 75 72 72 65 6e 74    2d 76 61 6c 75 65 29 29 29 29 0a 20 20 20 20 20 | 048-tile.current-value))))...... | 
| 43e0 | 20 28 69 6e 73 65 72 74 20 22 7c 22 29 0a 20 20    20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 | .(insert."|").......(insert."\n" | 
| 4400 | 29 0a 0a 20 20 20 20 20 20 3b 3b 70 72 69 6e 74    20 74 68 65 20 65 6d 70 74 79 20 6c 69 6e 65 20 | )........;;print.the.empty.line. | 
| 4420 | 62 65 6c 6f 77 20 6e 75 6d 62 65 72 73 0a 20 20    20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 63 6f | below.numbers.......(dotimes.(co | 
| 4440 | 6c 20 2a 32 30 34 38 2d 63 6f 6c 75 6d 6e 73 2a    29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 | l.*2048-columns*).........(inser | 
| 4460 | 74 20 22 7c 22 29 0a 20 20 20 20 20 20 20 20 28    6c 65 74 20 28 28 63 75 72 72 65 6e 74 2d 76 61 | t."|").........(let.((current-va | 
| 4480 | 6c 75 65 20 28 32 30 34 38 2d 67 65 74 2d 63 65    6c 6c 20 72 6f 77 20 63 6f 6c 29 29 29 0a 20 20 | lue.(2048-get-cell.row.col)))... | 
| 44a0 | 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20    28 32 30 34 38 2d 65 6d 70 74 79 2d 74 69 6c 65 | ........(insert.(2048-empty-tile | 
| 44c0 | 20 63 75 72 72 65 6e 74 2d 76 61 6c 75 65 29 29    29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 | .current-value)))).......(insert | 
| 44e0 | 20 22 7c 22 29 0a 20 20 20 20 20 20 28 69 6e 73    65 72 74 20 22 5c 6e 22 29 29 0a 0a 20 20 20 20 | ."|").......(insert."\n"))...... | 
| 4500 | 3b 3b 70 72 69 6e 74 20 74 68 65 20 73 65 70 61    72 61 74 6f 72 20 6c 69 6e 65 20 6f 6e 20 74 68 | ;;print.the.separator.line.on.th | 
| 4520 | 65 20 62 6f 74 74 6f 6d 20 6f 66 20 74 68 65 20    6c 61 73 74 20 72 6f 77 2e 0a 20 20 20 20 28 64 | e.bottom.of.the.last.row......(d | 
| 4540 | 6f 74 69 6d 65 73 20 28 63 6f 6c 20 2a 32 30 34    38 2d 63 6f 6c 75 6d 6e 73 2a 29 0a 20 20 20 20 | otimes.(col.*2048-columns*)..... | 
| 4560 | 20 20 28 69 6e 73 65 72 74 20 22 2b 2d 2d 2d 2d    2d 2d 2d 22 29 29 0a 20 20 20 20 28 69 6e 73 65 | ..(insert."+-------")).....(inse | 
| 4580 | 72 74 20 22 2b 5c 6e 22 29 0a 20 20 20 20 28 69    6e 73 65 72 74 20 22 5c 6e 22 29 0a 0a 20 20 20 | rt."+\n").....(insert."\n")..... | 
| 45a0 | 20 28 6c 65 74 20 28 28 73 63 6f 72 65 2d 77 69    64 74 68 20 28 69 66 20 28 3d 20 30 20 2a 32 30 | .(let.((score-width.(if.(=.0.*20 | 
| 45c0 | 34 38 2d 73 63 6f 72 65 2a 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 48-score*)...................... | 
| 45e0 | 20 20 20 20 20 20 31 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......1......................... | 
| 4600 | 20 28 63 65 69 6c 69 6e 67 20 28 6c 6f 67 20 2a    32 30 34 38 2d 73 63 6f 72 65 2a 20 31 30 29 29 | .(ceiling.(log.*2048-score*.10)) | 
| 4620 | 29 29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72    74 20 28 66 6f 72 6d 61 74 20 22 25 31 30 73 25 | ))).......(insert.(format."%10s% | 
| 4640 | 73 25 73 5c 6e 22 20 22 2f 22 20 28 6d 61 6b 65    2d 73 74 72 69 6e 67 20 28 2b 20 39 0a 20 20 20 | s%s\n"."/".(make-string.(+.9.... | 
| 4660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 4680 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 73 63 6f 72 65 2d 77 69 64 74 68 29 0a | ...................score-width). | 
| 46a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 46c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3f 5c 3d 29 20 22 5c 5c 22 29 29 0a 20 | ...................?\=)."\\")).. | 
| 46e0 | 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f    72 6d 61 74 20 22 25 31 30 73 20 25 73 20 25 64 | .....(insert.(format."%10s.%s.%d | 
| 4700 | 20 25 73 5c 6e 22 20 22 7c 22 20 22 53 63 6f 72    65 3a 22 20 2a 32 30 34 38 2d 73 63 6f 72 65 2a | .%s\n"."|"."Score:".*2048-score* | 
| 4720 | 20 22 7c 22 29 29 0a 20 20 20 20 20 20 28 69 6e    73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 25 31 | ."|")).......(insert.(format."%1 | 
| 4740 | 30 73 25 73 25 73 5c 6e 22 20 22 5c 5c 22 20 28    6d 61 6b 65 2d 73 74 72 69 6e 67 20 28 2b 20 39 | 0s%s%s\n"."\\".(make-string.(+.9 | 
| 4760 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 4780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 73 63 6f 72 65 2d 77 69 | ........................score-wi | 
| 47a0 | 64 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | dth)............................ | 
| 47c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 3f 5c 3d 29 20 22 2f | .........................?\=)."/ | 
| 47e0 | 22 29 29 29 0a 20 20 20 20 28 69 6e 73 65 72 74    20 22 5c 6e 22 29 0a 0a 20 20 20 20 28 32 30 34 | "))).....(insert."\n")......(204 | 
| 4800 | 38 2d 70 72 69 6e 74 2d 68 65 6c 70 29 0a 0a 20    20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 | 8-print-help)......(insert."\n") | 
| 4820 | 0a 0a 20 20 20 20 3b 3b 20 70 72 69 6e 74 20 73    63 6f 72 65 20 61 6e 64 20 68 69 73 74 6f 72 79 | ......;;.print.score.and.history | 
| 4840 | 0a 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f    72 6d 61 74 20 22 25 31 30 73 25 73 25 73 5c 6e | .....(insert.(format."%10s%s%s\n | 
| 4860 | 22 20 22 2f 22 20 28 6d 61 6b 65 2d 73 74 72 69    6e 67 20 31 33 20 3f 5c 3d 29 20 22 5c 5c 22 29 | "."/".(make-string.13.?\=)."\\") | 
| 4880 | 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 28 66    6f 72 6d 61 74 20 22 25 32 34 73 5c 6e 22 20 22 | ).....(insert.(format."%24s\n"." | 
| 48a0 | 7c 20 48 49 47 48 20 53 43 4f 52 45 53 20 7c 22    29 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 28 | |.HIGH.SCORES.|")).....(insert.( | 
| 48c0 | 66 6f 72 6d 61 74 20 22 25 31 30 73 25 73 25 73    5c 6e 22 20 22 5c 5c 22 20 28 6d 61 6b 65 2d 73 | format."%10s%s%s\n"."\\".(make-s | 
| 48e0 | 74 72 69 6e 67 20 31 33 20 3f 5c 3d 29 20 22 2f    22 29 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 | tring.13.?\=)."/")).....(insert. | 
| 4900 | 22 5c 6e 22 29 0a 20 20 20 20 28 69 6e 73 65 72    74 20 28 66 6f 72 6d 61 74 20 22 25 38 73 20 20 | "\n").....(insert.(format."%8s.. | 
| 4920 | 25 37 73 20 20 25 37 73 20 20 20 20 20 25 34 73    5c 6e 22 20 22 53 63 6f 72 65 22 20 22 48 69 2d | %7s..%7s.....%4s\n"."Score"."Hi- | 
| 4940 | 54 69 6c 65 22 20 22 44 61 74 65 22 20 22 44 75    72 61 74 69 6f 6e 22 29 29 0a 20 20 20 20 28 6d | Tile"."Date"."Duration")).....(m | 
| 4960 | 61 70 63 20 23 27 28 6c 61 6d 62 64 61 20 28 78    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | apc.#'(lambda.(x)............... | 
| 4980 | 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20    22 25 38 64 20 20 25 37 64 20 20 25 31 30 73 20 | (insert.(format."%8d..%7d..%10s. | 
| 49a0 | 20 25 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .%s\n".......................... | 
| 49c0 | 20 20 20 20 20 28 65 6c 74 20 78 20 30 29 20 28    65 6c 74 20 78 20 31 29 20 28 65 6c 74 20 78 20 | .....(elt.x.0).(elt.x.1).(elt.x. | 
| 49e0 | 32 29 20 28 66 6f 72 6d 61 74 2d 74 69 6d 65 2d    73 74 72 69 6e 67 20 22 25 48 3a 25 4d 3a 25 53 | 2).(format-time-string."%H:%M:%S | 
| 4a00 | 22 20 28 65 6c 74 20 78 20 33 29 20 74 29 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 2a 32 30 34 | ".(elt.x.3).t))))...........*204 | 
| 4a20 | 38 2d 68 69 73 74 6f 72 79 2a 29 0a 0a 20 20 20    20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 | 8-history*)......(goto-char.(poi | 
| 4a40 | 6e 74 2d 6d 69 6e 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 32 30 34 38 2d 70 72 69 6e 74 2d 68 65 | nt-min))))..(defun.2048-print-he | 
| 4a60 | 6c 70 20 28 29 0a 20 20 22 50 72 69 6e 74 20 62    61 73 69 63 20 68 65 6c 70 20 74 65 78 74 2e 22 | lp.()..."Print.basic.help.text." | 
| 4a80 | 0a 20 20 28 69 6e 73 65 72 74 20 22 54 68 65 20    67 6f 61 6c 20 69 73 20 74 6f 20 63 72 65 61 74 | ...(insert."The.goal.is.to.creat | 
| 4aa0 | 65 20 61 20 74 69 6c 65 20 77 69 74 68 20 76 61    6c 75 65 20 32 30 34 38 2e 0a 55 73 65 20 74 68 | e.a.tile.with.value.2048..Use.th | 
| 4ac0 | 65 20 61 72 72 6f 77 20 6b 65 79 73 2c 20 70 2f    6e 2f 62 2f 66 2c 20 6f 72 20 43 2d 70 2f 43 2d | e.arrow.keys,.p/n/b/f,.or.C-p/C- | 
| 4ae0 | 6e 2f 43 2d 62 2f 43 2d 66 0a 74 6f 20 6d 6f 76    65 20 74 68 65 20 74 69 6c 65 73 20 61 72 6f 75 | n/C-b/C-f.to.move.the.tiles.arou | 
| 4b00 | 6e 64 2e 20 50 72 65 73 73 20 72 20 74 6f 20 6d    6f 76 65 20 72 61 6e 64 6f 6d 6c 79 2e 0a 0a 49 | nd..Press.r.to.move.randomly...I | 
| 4b20 | 66 20 74 77 6f 20 74 69 6c 65 73 20 6f 66 20 74    68 65 20 73 61 6d 65 20 76 61 6c 75 65 20 63 6f | f.two.tiles.of.the.same.value.co | 
| 4b40 | 6c 6c 69 64 65 2c 20 74 68 65 20 74 69 6c 65 73    0a 63 6f 6d 62 69 6e 65 20 69 6e 74 6f 20 61 20 | llide,.the.tiles.combine.into.a. | 
| 4b60 | 74 69 6c 65 20 77 69 74 68 20 74 77 69 63 65 20    74 68 65 20 76 61 6c 75 65 2e 5c 6e 22 29 29 0a | tile.with.twice.the.value.\n")). | 
| 4b80 | 0a 28 64 65 66 75 6e 20 32 30 34 38 2d 6d 6f 76    65 20 28 66 72 6f 6d 2d 72 6f 77 20 66 72 6f 6d | .(defun.2048-move.(from-row.from | 
| 4ba0 | 2d 63 6f 6c 75 6d 6e 20 64 65 6c 74 61 2d 72 6f    77 20 64 65 6c 74 61 2d 63 6f 6c 75 6d 6e 29 0a | -column.delta-row.delta-column). | 
| 4bc0 | 20 20 22 54 72 79 20 74 6f 20 6d 6f 76 65 20 74    68 65 20 6e 75 6d 62 65 72 20 69 6e 20 28 46 52 | .."Try.to.move.the.number.in.(FR | 
| 4be0 | 4f 4d 2d 52 4f 57 2c 20 46 52 4f 4d 2d 43 4f 4c    55 4d 4e 29 0a 0a 4d 6f 76 65 20 69 74 20 62 79 | OM-ROW,.FROM-COLUMN)..Move.it.by | 
| 4c00 | 20 28 44 45 4c 54 41 2d 52 4f 57 2c 20 44 45 4c    54 41 2d 43 4f 4c 55 4d 4e 29 2e 0a 54 68 69 73 | .(DELTA-ROW,.DELTA-COLUMN)..This | 
| 4c20 | 20 73 75 63 63 65 65 64 73 20 77 68 65 6e 20 74    68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 28 | .succeeds.when.the.destination.( | 
| 4c40 | 74 6f 2d 72 6f 77 2c 20 74 6f 2d 63 6f 6c 75 6d    6e 29 20 65 69 74 68 65 72 20 69 73 20 30 2c 0a | to-row,.to-column).either.is.0,. | 
| 4c60 | 6f 72 20 69 73 20 74 68 65 20 73 61 6d 65 20 76    61 6c 75 65 20 61 73 20 28 66 72 6f 6d 2d 72 6f | or.is.the.same.value.as.(from-ro | 
| 4c80 | 77 2c 20 66 72 6f 6d 2d 63 6f 6c 75 6d 6e 29 2e    0a 49 66 20 28 74 6f 2d 72 6f 77 2c 20 74 6f 2d | w,.from-column)..If.(to-row,.to- | 
| 4ca0 | 63 6f 6c 75 6d 6e 29 20 69 73 20 7a 65 72 6f 2c    20 63 61 73 63 61 64 65 20 61 6e 64 20 74 72 79 | column).is.zero,.cascade.and.try | 
| 4cc0 | 20 74 6f 20 6d 6f 76 65 20 66 75 72 74 68 65 72    2e 0a 52 65 74 75 72 6e 73 20 74 20 69 66 20 77 | .to.move.further..Returns.t.if.w | 
| 4ce0 | 65 20 77 65 72 65 20 61 62 6c 65 20 74 6f 20 6d    6f 76 65 3b 20 6f 74 68 65 72 77 69 73 65 20 6e | e.were.able.to.move;.otherwise.n | 
| 4d00 | 69 6c 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 6f    2d 72 6f 77 20 28 2b 20 66 72 6f 6d 2d 72 6f 77 | il."...(let.((to-row.(+.from-row | 
| 4d20 | 20 64 65 6c 74 61 2d 72 6f 77 29 29 0a 20 20 20    20 20 20 20 20 28 74 6f 2d 63 6f 6c 75 6d 6e 20 | .delta-row)).........(to-column. | 
| 4d40 | 28 2b 20 66 72 6f 6d 2d 63 6f 6c 75 6d 6e 20 64    65 6c 74 61 2d 63 6f 6c 75 6d 6e 29 29 29 0a 20 | (+.from-column.delta-column))).. | 
| 4d60 | 20 20 20 28 77 68 65 6e 20 28 69 6e 2d 62 6f 75    6e 64 73 20 74 6f 2d 72 6f 77 20 74 6f 2d 63 6f | ...(when.(in-bounds.to-row.to-co | 
| 4d80 | 6c 75 6d 6e 29 0a 20 20 20 20 20 20 28 32 30 34    38 2d 64 65 62 75 67 20 28 66 6f 72 6d 61 74 20 | lumn).......(2048-debug.(format. | 
| 4da0 | 22 6d 6f 76 69 6e 67 20 74 68 65 20 63 65 6c 6c    20 28 25 64 2c 20 25 64 29 20 62 79 20 28 25 64 | "moving.the.cell.(%d,.%d).by.(%d | 
| 4dc0 | 2c 20 25 64 29 20 74 6f 20 28 25 64 2c 20 25 64    29 22 20 66 72 6f 6d 2d 72 6f 77 20 66 72 6f 6d | ,.%d).to.(%d,.%d)".from-row.from | 
| 4de0 | 2d 63 6f 6c 75 6d 6e 20 64 65 6c 74 61 2d 72 6f    77 20 64 65 6c 74 61 2d 63 6f 6c 75 6d 6e 20 74 | -column.delta-row.delta-column.t | 
| 4e00 | 6f 2d 72 6f 77 20 74 6f 2d 63 6f 6c 75 6d 6e 29    29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 | o-row.to-column)).......(let.((f | 
| 4e20 | 72 6f 6d 2d 76 61 6c 20 28 32 30 34 38 2d 67 65    74 2d 63 65 6c 6c 20 66 72 6f 6d 2d 72 6f 77 20 | rom-val.(2048-get-cell.from-row. | 
| 4e40 | 66 72 6f 6d 2d 63 6f 6c 75 6d 6e 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 28 74 6f 2d 76 61 | from-column)).............(to-va | 
| 4e60 | 6c 20 28 32 30 34 38 2d 67 65 74 2d 63 65 6c 6c    20 74 6f 2d 72 6f 77 20 74 6f 2d 63 6f 6c 75 6d | l.(2048-get-cell.to-row.to-colum | 
| 4e80 | 6e 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f    6e 64 20 28 28 65 71 20 66 72 6f 6d 2d 76 61 6c | n))).........(cond.((eq.from-val | 
| 4ea0 | 20 74 6f 2d 76 61 6c 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 | .to-val)................(unless. | 
| 4ec0 | 28 6f 72 20 28 65 71 20 66 72 6f 6d 2d 76 61 6c    20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | (or.(eq.from-val.0)............. | 
| 4ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    32 30 34 38 2d 77 61 73 2d 63 6f 6d 62 69 6e 65 | ...............(2048-was-combine | 
| 4f00 | 64 2d 74 68 69 73 2d 74 75 72 6e 20 74 6f 2d 72    6f 77 20 74 6f 2d 63 6f 6c 75 6d 6e 29 29 0a 20 | d-this-turn.to-row.to-column)).. | 
| 4f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 32 30 34 38 2d 64 65 62 75 67 20 28 66 6f 72 | ................(2048-debug.(for | 
| 4f40 | 6d 61 74 20 22 63 6f 6d 62 69 6e 69 6e 67 20 28    25 64 2c 20 25 64 29 20 69 6e 74 6f 20 28 25 64 | mat."combining.(%d,.%d).into.(%d | 
| 4f60 | 2c 20 25 64 29 22 20 66 72 6f 6d 2d 72 6f 77 20    66 72 6f 6d 2d 63 6f 6c 75 6d 6e 20 74 6f 2d 72 | ,.%d)".from-row.from-column.to-r | 
| 4f80 | 6f 77 20 74 6f 2d 63 6f 6c 75 6d 6e 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ow.to-column)).................. | 
| 4fa0 | 28 6c 65 74 20 28 28 63 6f 6d 62 69 6e 65 64 2d    76 61 6c 75 65 20 28 2a 20 66 72 6f 6d 2d 76 61 | (let.((combined-value.(*.from-va | 
| 4fc0 | 6c 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 | l.2)))....................(unles | 
| 4fe0 | 73 20 28 62 6f 75 6e 64 70 20 28 32 30 34 38 2d    74 69 6c 65 2d 73 79 6d 62 6f 6c 20 63 6f 6d 62 | s.(boundp.(2048-tile-symbol.comb | 
| 5000 | 69 6e 65 64 2d 76 61 6c 75 65 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ined-value)).................... | 
| 5020 | 20 20 28 32 30 34 38 2d 69 6e 69 74 2d 74 69 6c    65 20 63 6f 6d 62 69 6e 65 64 2d 76 61 6c 75 65 | ..(2048-init-tile.combined-value | 
| 5040 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 32 30 34 38 2d 73 65 74 2d | ))....................(2048-set- | 
| 5060 | 63 65 6c 6c 20 74 6f 2d 72 6f 77 20 74 6f 2d 63    6f 6c 75 6d 6e 20 63 6f 6d 62 69 6e 65 64 2d 76 | cell.to-row.to-column.combined-v | 
| 5080 | 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2a | alue)....................(setq.* | 
| 50a0 | 32 30 34 38 2d 73 63 6f 72 65 2a 20 28 2b 20 2a    32 30 34 38 2d 73 63 6f 72 65 2a 20 63 6f 6d 62 | 2048-score*.(+.*2048-score*.comb | 
| 50c0 | 69 6e 65 64 2d 76 61 6c 75 65 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ined-value)).................... | 
| 50e0 | 28 32 30 34 38 2d 73 65 74 2d 63 65 6c 6c 20 66    72 6f 6d 2d 72 6f 77 20 66 72 6f 6d 2d 63 6f 6c | (2048-set-cell.from-row.from-col | 
| 5100 | 75 6d 6e 20 30 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 32 30 34 38 2d | umn.0)....................(2048- | 
| 5120 | 73 65 74 2d 77 61 73 2d 63 6f 6d 62 69 6e 65 64    2d 74 68 69 73 2d 74 75 72 6e 20 74 6f 2d 72 6f | set-was-combined-this-turn.to-ro | 
| 5140 | 77 20 74 6f 2d 63 6f 6c 75 6d 6e 29 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 | w.to-column))))...............(( | 
| 5160 | 65 71 20 74 6f 2d 76 61 6c 20 30 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 32 30 34 | eq.to-val.0)................(204 | 
| 5180 | 38 2d 73 65 74 2d 63 65 6c 6c 20 74 6f 2d 72 6f    77 20 74 6f 2d 63 6f 6c 75 6d 6e 20 66 72 6f 6d | 8-set-cell.to-row.to-column.from | 
| 51a0 | 2d 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 32 30 34 38 2d 73 65 74 2d 63 | -val)................(2048-set-c | 
| 51c0 | 65 6c 6c 20 66 72 6f 6d 2d 72 6f 77 20 66 72 6f    6d 2d 63 6f 6c 75 6d 6e 20 30 29 0a 20 20 20 20 | ell.from-row.from-column.0)..... | 
| 51e0 | 20 20 20 20 20 20 20 20 20 20 20 28 32 30 34 38    2d 6d 6f 76 65 20 74 6f 2d 72 6f 77 20 74 6f 2d | ...........(2048-move.to-row.to- | 
| 5200 | 63 6f 6c 75 6d 6e 20 64 65 6c 74 61 2d 72 6f 77    20 64 65 6c 74 61 2d 63 6f 6c 75 6d 6e 29 0a 20 | column.delta-row.delta-column).. | 
| 5220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | ..............t)...............( | 
| 5240 | 74 20 6e 69 6c 29 29 29 29 29 29 20 3b 3b 75 67    68 2c 20 6e 65 65 64 20 74 6f 20 70 61 73 73 20 | t.nil)))))).;;ugh,.need.to.pass. | 
| 5260 | 6f 75 74 20 77 68 65 74 68 65 72 20 73 6f 6d 65    74 68 69 6e 67 20 77 61 73 20 63 6f 6d 62 69 6e | out.whether.something.was.combin | 
| 5280 | 65 64 2c 20 61 6e 64 20 70 61 73 73 20 74 68 61    74 20 74 6f 20 74 68 65 20 5f 6e 65 78 74 5f 20 | ed,.and.pass.that.to.the._next_. | 
| 52a0 | 63 61 6c 6c 20 74 6f 20 32 30 34 38 2d 6d 6f 76    65 2e 20 57 65 20 73 65 65 20 62 75 67 73 20 6f | call.to.2048-move..We.see.bugs.o | 
| 52c0 | 6e 20 72 6f 77 73 20 6c 69 6b 65 20 34 20 30 20    34 20 30 2e 0a 0a 28 64 65 66 75 6e 20 69 6e 2d | n.rows.like.4.0.4.0...(defun.in- | 
| 52e0 | 62 6f 75 6e 64 73 20 28 72 6f 77 20 63 6f 6c 75    6d 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 | bounds.(row.column)..."Return.t. | 
| 5300 | 69 66 20 28 52 4f 57 2c 20 43 4f 4c 55 4d 4e 29    20 69 73 20 69 6e 20 74 68 65 20 62 6f 75 6e 64 | if.(ROW,.COLUMN).is.in.the.bound | 
| 5320 | 73 20 6f 66 20 74 68 65 20 66 69 65 6c 64 2e 22    0a 20 20 28 61 6e 64 20 28 3e 3d 20 72 6f 77 20 | s.of.the.field."...(and.(>=.row. | 
| 5340 | 30 29 0a 20 20 20 20 20 20 20 28 3e 3d 20 63 6f    6c 75 6d 6e 20 30 29 0a 20 20 20 20 20 20 20 28 | 0)........(>=.column.0)........( | 
| 5360 | 3c 20 72 6f 77 20 2a 32 30 34 38 2d 72 6f 77 73    2a 29 0a 20 20 20 20 20 20 20 28 3c 20 63 6f 6c | <.row.*2048-rows*)........(<.col | 
| 5380 | 75 6d 6e 20 2a 32 30 34 38 2d 63 6f 6c 75 6d 6e    73 2a 29 29 29 0a 0a 0a 28 64 65 66 75 6e 20 32 | umn.*2048-columns*)))...(defun.2 | 
| 53a0 | 30 34 38 2d 75 70 20 28 29 0a 20 20 22 53 68 69    66 74 20 74 68 65 20 62 6f 61 72 64 20 75 70 2e | 048-up.()..."Shift.the.board.up. | 
| 53c0 | 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65    29 0a 20 20 28 32 30 34 38 2d 67 61 6d 65 2d 6d | "...(interactive)...(2048-game-m | 
| 53e0 | 6f 76 65 0a 20 20 20 28 73 65 74 71 20 2a 32 30    34 38 2d 63 6f 6d 62 69 6e 65 73 2d 74 68 69 73 | ove....(setq.*2048-combines-this | 
| 5400 | 2d 6d 6f 76 65 2a 20 28 6d 61 6b 65 2d 76 65 63    74 6f 72 20 28 2a 20 2a 32 30 34 38 2d 63 6f 6c | -move*.(make-vector.(*.*2048-col | 
| 5420 | 75 6d 6e 73 2a 20 2a 32 30 34 38 2d 72 6f 77 73    2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | umns*.*2048-rows*).............. | 
| 5440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 5460 | 20 20 20 6e 69 6c 29 29 0a 20 20 20 28 6c 65 74    20 28 28 68 61 73 2d 6d 6f 76 65 64 20 6e 69 6c | ...nil))....(let.((has-moved.nil | 
| 5480 | 29 29 0a 20 20 20 20 20 28 64 6f 74 69 6d 65 73    20 28 63 6f 6c 20 2a 32 30 34 38 2d 63 6f 6c 75 | ))......(dotimes.(col.*2048-colu | 
| 54a0 | 6d 6e 73 2a 29 0a 20 20 20 20 20 20 20 28 64 6f    6c 69 73 74 20 28 72 6f 77 20 28 6e 75 6d 62 65 | mns*)........(dolist.(row.(numbe | 
| 54c0 | 72 2d 73 65 71 75 65 6e 63 65 20 31 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | r-sequence.1.................... | 
| 54e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 31 2d 20 2a 32 30 34 38 2d 72 6f 77 73 | ..................(1-.*2048-rows | 
| 5500 | 2a 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 73    65 74 71 20 68 61 73 2d 6d 6f 76 65 64 20 28 6f | *)))..........(setq.has-moved.(o | 
| 5520 | 72 20 28 32 30 34 38 2d 6d 6f 76 65 20 72 6f 77    20 63 6f 6c 20 2d 31 20 30 29 0a 20 20 20 20 20 | r.(2048-move.row.col.-1.0)...... | 
| 5540 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 68 61 73 2d 6d 6f 76 65 | ........................has-move | 
| 5560 | 64 29 29 29 29 0a 20 20 20 20 20 28 77 68 65 6e    20 68 61 73 2d 6d 6f 76 65 64 0a 20 20 20 20 20 | d))))......(when.has-moved...... | 
| 5580 | 20 20 28 32 30 34 38 2d 69 6e 73 65 72 74 2d 72    61 6e 64 6f 6d 2d 63 65 6c 6c 29 29 29 29 29 0a | ..(2048-insert-random-cell))))). | 
| 55a0 | 0a 28 64 65 66 75 6e 20 32 30 34 38 2d 64 6f 77    6e 20 28 29 0a 20 20 22 53 68 69 66 74 20 74 68 | .(defun.2048-down.()..."Shift.th | 
| 55c0 | 65 20 62 6f 61 72 64 20 64 6f 77 6e 2e 22 0a 20    20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 | e.board.down."...(interactive).. | 
| 55e0 | 20 28 32 30 34 38 2d 67 61 6d 65 2d 6d 6f 76 65    0a 20 20 20 28 73 65 74 71 20 2a 32 30 34 38 2d | .(2048-game-move....(setq.*2048- | 
| 5600 | 63 6f 6d 62 69 6e 65 73 2d 74 68 69 73 2d 6d 6f    76 65 2a 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 | combines-this-move*.(make-vector | 
| 5620 | 20 28 2a 20 2a 32 30 34 38 2d 63 6f 6c 75 6d 6e    73 2a 20 2a 32 30 34 38 2d 72 6f 77 73 2a 29 0a | .(*.*2048-columns*.*2048-rows*). | 
| 5640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 5660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    6e 69 6c 29 29 0a 20 20 20 28 6c 65 74 20 28 28 | ................nil))....(let.(( | 
| 5680 | 68 61 73 2d 6d 6f 76 65 64 20 6e 69 6c 29 29 0a    20 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 63 | has-moved.nil))......(dotimes.(c | 
| 56a0 | 6f 6c 20 2a 32 30 34 38 2d 63 6f 6c 75 6d 6e 73    2a 29 0a 20 20 20 20 20 20 20 28 64 6f 6c 69 73 | ol.*2048-columns*)........(dolis | 
| 56c0 | 74 20 28 72 6f 77 20 28 6e 75 6d 62 65 72 2d 73    65 71 75 65 6e 63 65 20 28 2d 20 2a 32 30 34 38 | t.(row.(number-sequence.(-.*2048 | 
| 56e0 | 2d 72 6f 77 73 2a 20 32 29 20 30 20 2d 31 29 29    0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 | -rows*.2).0.-1))..........(setq. | 
| 5700 | 68 61 73 2d 6d 6f 76 65 64 20 28 6f 72 20 28 32    30 34 38 2d 6d 6f 76 65 20 72 6f 77 20 63 6f 6c | has-moved.(or.(2048-move.row.col | 
| 5720 | 20 31 20 30 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .1.0)........................... | 
| 5740 | 20 20 20 68 61 73 2d 6d 6f 76 65 64 29 29 29 29    0a 20 20 20 20 20 28 77 68 65 6e 20 68 61 73 2d | ...has-moved))))......(when.has- | 
| 5760 | 6d 6f 76 65 64 0a 20 20 20 20 20 20 20 28 32 30    34 38 2d 69 6e 73 65 72 74 2d 72 61 6e 64 6f 6d | moved........(2048-insert-random | 
| 5780 | 2d 63 65 6c 6c 29 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 32 30 34 38 2d 6c 65 66 74 20 28 29 0a | -cell)))))..(defun.2048-left.(). | 
| 57a0 | 20 20 22 53 68 69 66 74 73 20 74 68 65 20 62 6f    61 72 64 20 6c 65 66 74 2e 22 0a 20 20 28 69 6e | .."Shifts.the.board.left."...(in | 
| 57c0 | 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 32 30    34 38 2d 67 61 6d 65 2d 6d 6f 76 65 0a 20 20 20 | teractive)...(2048-game-move.... | 
| 57e0 | 28 6c 65 74 20 28 28 68 61 73 2d 6d 6f 76 65 64    20 6e 69 6c 29 29 0a 20 20 20 20 20 28 64 6f 74 | (let.((has-moved.nil))......(dot | 
| 5800 | 69 6d 65 73 20 28 72 6f 77 20 2a 32 30 34 38 2d    72 6f 77 73 2a 29 0a 20 20 20 20 20 20 20 28 64 | imes.(row.*2048-rows*)........(d | 
| 5820 | 6f 6c 69 73 74 20 28 63 6f 6c 20 28 6e 75 6d 62    65 72 2d 73 65 71 75 65 6e 63 65 20 31 20 28 31 | olist.(col.(number-sequence.1.(1 | 
| 5840 | 2d 20 2a 32 30 34 38 2d 63 6f 6c 75 6d 6e 73 2a    29 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 | -.*2048-columns*)))..........(se | 
| 5860 | 74 71 20 68 61 73 2d 6d 6f 76 65 64 20 28 6f 72    20 28 32 30 34 38 2d 6d 6f 76 65 20 72 6f 77 20 | tq.has-moved.(or.(2048-move.row. | 
| 5880 | 63 6f 6c 20 30 20 2d 31 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | col.0.-1)....................... | 
| 58a0 | 20 20 20 20 20 20 20 68 61 73 2d 6d 6f 76 65 64    29 29 29 29 0a 20 20 20 20 20 28 77 68 65 6e 20 | .......has-moved))))......(when. | 
| 58c0 | 68 61 73 2d 6d 6f 76 65 64 0a 20 20 20 20 20 20    20 28 32 30 34 38 2d 69 6e 73 65 72 74 2d 72 61 | has-moved........(2048-insert-ra | 
| 58e0 | 6e 64 6f 6d 2d 63 65 6c 6c 29 29 29 29 29 0a 0a    28 64 65 66 75 6e 20 32 30 34 38 2d 72 69 67 68 | ndom-cell)))))..(defun.2048-righ | 
| 5900 | 74 20 28 29 0a 20 20 22 53 68 69 66 74 73 20 74    68 65 20 62 6f 61 72 64 20 72 69 67 68 74 2e 22 | t.()..."Shifts.the.board.right." | 
| 5920 | 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29    0a 20 20 28 32 30 34 38 2d 67 61 6d 65 2d 6d 6f | ...(interactive)...(2048-game-mo | 
| 5940 | 76 65 0a 20 20 20 28 6c 65 74 20 28 28 68 61 73    2d 6d 6f 76 65 64 20 6e 69 6c 29 29 0a 20 20 20 | ve....(let.((has-moved.nil)).... | 
| 5960 | 20 20 28 64 6f 74 69 6d 65 73 20 28 72 6f 77 20    2a 32 30 34 38 2d 72 6f 77 73 2a 29 0a 20 20 20 | ..(dotimes.(row.*2048-rows*).... | 
| 5980 | 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 6f 6c    20 28 6e 75 6d 62 65 72 2d 73 65 71 75 65 6e 63 | ....(dolist.(col.(number-sequenc | 
| 59a0 | 65 20 28 2d 20 2a 32 30 34 38 2d 63 6f 6c 75 6d    6e 73 2a 20 32 29 20 30 20 2d 31 29 29 0a 20 20 | e.(-.*2048-columns*.2).0.-1))... | 
| 59c0 | 20 20 20 20 20 20 20 28 73 65 74 71 20 68 61 73    2d 6d 6f 76 65 64 20 28 6f 72 20 28 32 30 34 38 | .......(setq.has-moved.(or.(2048 | 
| 59e0 | 2d 6d 6f 76 65 20 72 6f 77 20 63 6f 6c 20 30 20    31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | -move.row.col.0.1).............. | 
| 5a00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    68 61 73 2d 6d 6f 76 65 64 29 29 29 29 0a 20 20 | ................has-moved))))... | 
| 5a20 | 20 20 20 28 77 68 65 6e 20 68 61 73 2d 6d 6f 76    65 64 0a 20 20 20 20 20 20 20 28 32 30 34 38 2d | ...(when.has-moved........(2048- | 
| 5a40 | 69 6e 73 65 72 74 2d 72 61 6e 64 6f 6d 2d 63 65    6c 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | insert-random-cell)))))..(defun. | 
| 5a60 | 32 30 34 38 2d 72 61 6e 64 6f 6d 2d 6d 6f 76 65    20 28 29 0a 20 20 22 4d 6f 76 65 20 74 68 65 20 | 2048-random-move.()..."Move.the. | 
| 5a80 | 62 6f 61 72 64 20 69 6e 20 61 20 72 61 6e 64 6f    6d 20 64 69 72 65 63 74 69 6f 6e 2e 0a 0a 54 68 | board.in.a.random.direction...Th | 
| 5aa0 | 69 73 20 6d 61 79 20 72 65 73 75 6c 74 20 69 6e    20 6e 6f 20 63 68 61 6e 67 65 73 20 74 6f 20 74 | is.may.result.in.no.changes.to.t | 
| 5ac0 | 68 65 20 62 6f 61 72 64 2c 0a 69 66 20 74 68 65    20 6d 6f 76 65 20 77 61 73 20 74 68 65 20 73 61 | he.board,.if.the.move.was.the.sa | 
| 5ae0 | 6d 65 20 61 73 20 74 68 65 20 6c 61 73 74 20 6f    6e 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 | me.as.the.last.one."...(interact | 
| 5b00 | 69 76 65 29 0a 20 20 28 66 75 6e 63 61 6c 6c 20    28 65 6c 74 20 27 28 32 30 34 38 2d 6c 65 66 74 | ive)...(funcall.(elt.'(2048-left | 
| 5b20 | 20 32 30 34 38 2d 72 69 67 68 74 20 32 30 34 38    2d 75 70 20 32 30 34 38 2d 64 6f 77 6e 29 20 28 | .2048-right.2048-up.2048-down).( | 
| 5b40 | 72 61 6e 64 6f 6d 20 34 29 29 29 29 0a 0a 28 70    72 6f 76 69 64 65 20 27 32 30 34 38 2d 67 61 6d | random.4))))..(provide.'2048-gam | 
| 5b60 | 65 29 0a 3b 3b 3b 20 32 30 34 38 2d 67 61 6d 65    2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 | e).;;;.2048-game.el.ends.here... | 
| 5b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 5fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 60a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 60c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 60e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 61a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 61c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 61e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 62a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 62c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 62e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 63a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 63c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 63e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 64a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 64c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 64e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 65a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 65c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 65e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 66a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 66c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 66e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 67a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 67c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 67e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 68a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 68c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 68e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 69a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 69c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 69e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 6fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 70a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 70c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 70e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 71a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 71c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 71e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 72a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 72c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 72e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 73a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 73c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 73e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 74a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 74c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 74e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 75a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 75c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 75e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 76a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 76c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 76e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 7780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 77a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 77c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 77e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |