Skip to content

Instantly share code, notes, and snippets.

@jtpercon
Forked from anonymous/readme.txt
Last active August 29, 2015 14:05
Show Gist options
  • Save jtpercon/e7f21a1667880eb8aff0 to your computer and use it in GitHub Desktop.
Save jtpercon/e7f21a1667880eb8aff0 to your computer and use it in GitHub Desktop.
Gifts of the Forest, created for the Ludum Dare 30 Jam
play at http://www.ccs.neu.edu/home/jtpercon/extras/puzzlescript/play.html?p=e7f21a1667880eb8aff0
title Gifts of the Forest
author Nut
homepage www.twitter.com/InfinitNutshell
run_rules_on_level_start
zoomscreen 15x10
music http://www.beepbox.co/#5sbk8l04e0vt1a7g0zjfi0r1w0841f4420d1111c0100h0000v0030o3210b248gx24gMA4c91248gOC2coNzeg8gx28p0y6g8xA28p0x248yC288wy6g8xA248gx248gx4cxgxcogO524NPDgBiwx248gy6gFj7akNOEgBiB9kFiBIoE9gAp252kQZqhAiuGGED6CviqfioUf54UXae0qp7h83waO_4qVe105dfyhAOuFd7FcvZKkzEGG76Cvn5slNxf8SRgfw70c1P2o095cu84cA6g39xF3k7o6yOEd5lop4dtcy7shG8S4r2eEz0xF3a66CuhzAhQ5Z8slwqXWpeCmFGFHFVEsCgFKFHFFHFHFIVEWxTBZMW1Q5M4q846GwkDgiE8k59Bg5z8bhQ4G35gajE9k4a0k4FBOcwBgaewBgoa0k2Cn8O250a1hQ4G2l12w50Eq0k2G1g2Axg2w58a0kwE53g2w58a0k0F1g2A58agkwF1i2wg0
========
OBJECTS
========
(scenery)
background .
#114422
smallblock o
#aaaaaa #444444 #222222 #333333
.333.
31213
31113
3223.
.33..
shrub n
#002200 #331100
.....
.000.
00000
00000
.111.
tree1 u
#002200 #331100
..000
00000
00000
00001
00111
tree2 i
#002200 #331100
00...
0000.
0000.
1100.
110..
tree3 j
#002200 #331100
..111
..111
..111
.1111
1.1.1
tree4 k
#002200 #331100
11.0.
11100
11...
111..
1..1.
tree2spirit
#002200 #331100 white
00...
0000.
0000.
1100.
220..
tree4spirit
#002200 #331100 white grey
23.0.
11100
1....
111..
1..1.
npc1
brown blue black
.....
.000.
.111.
.111.
.2.2.
npc2
brown blue black
.....
.000.
.111.
.111.
.2.2.
npc3
brown purple black
.....
.000.
.111.
.111.
.2.2.
npc4
brown green black
.....
.000.
.111.
.111.
.2.2.
npc5
brown lightgreen black
.....
.000.
.111.
.111.
.2.2.
npc6
brown darkblue black
.....
.000.
.111.
.111.
.2.2.
npc7
brown yellow black
.....
.000.
.111.
.111.
.2.2.
npc8
brown white black
.....
.000.
.111.
.111.
.2.2.
npc9
yellow
.....
.0...
.....
..0..
.....
npc10
brown lightbrown black
.....
.000.
.111.
.111.
.2.2.
npc11
brown red black
.....
.000.
.111.
.111.
.2.2.
npc12
yellow
.....
.0...
.....
..0..
.....
(flags)
nw
white
.....
.....
.....
.....
.....
ne
white
.....
.....
.....
.....
.....
sw
white
.....
.....
.....
.....
.....
se
white
.....
.....
.....
.....
.....
allowtransform ,
white
.....
.....
.....
.....
.....
callspirits
white
.....
.....
.....
.....
.....
check '
white
.....
.....
.....
.....
.....
talk
white
.....
.....
.....
.....
.....
(player)
body @
#882200 brown black
.....
.111.
.000.
.000.
.2.2.
pushinge
#882200 brown black
.....
.111.
.0001
.000.
.2.2.
pushingw
#882200 brown black
.....
.111.
1000.
.000.
.2.2.
pushings
#882200 brown black
.....
.111.
.000.
.101.
.2.2.
pushingn
#882200 brown black
.111.
10001
.000.
.2.2.
.....
spirit
#009999 #882200
.....
..0..
.010.
..0..
.....
(signal source)
sourcenw q
yellow #444444 #222222 #333333 orange
04113
44203
1013.
333..
.....
sourcesw z
yellow #444444 #222222 #333333 orange
.....
333..
0213.
44013
04123
sourcene p
yellow #444444 #222222 #333333 orange
30140
31244
.3101
..333
.....
sourcese m
yellow #444444 #222222 #333333 orange
.....
..333
.3102
32144
30140
(sink)
sinkswoff x
#aaaaaa #444444 #222222 #333333
.333.
31003
31003
30113
0333.
sinkswon
yellow #444444 #222222 #333333 orange
.333.
30003
34003
30403
0333.
sinkseoff t
#aaaaaa #444444 #222222 #333333
.333.
30013
30013
31103
.3330
sinkseon
yellow #444444 #222222 #333333 orange
.333.
30003
30043
30403
.3330
sinknwoff w
#aaaaaa #444444 #222222 #333333
0333.
30113
31003
31003
.333.
sinknwon
yellow #444444 #222222 #333333 orange
0333.
30403
34003
30003
.333.
sinkneoff r
#aaaaaa #444444 #222222 #333333
.3330
31103
30013
30013
.333.
sinkneon
yellow #444444 #222222 #333333 orange
.3330
30403
30043
30003
.333.
doorclosed y
#111111 #444444
.000.
01010
00000
01010
.000.
dooropen
orange yellow
.010.
0.1.0
11111
0.1.0
.010.
(block pieces - directions in object names are which sides signal is on)
secornerblockoff
#aaaaaa #444444 #222222 #333333
..333
.3121
31211
31111
32120
secornerblockon
yellow #444444 #222222 #333333
..333
.3121
31211
31111
32120
swcornerblockoff
#aaaaaa #444444 #222222 #333333
333..
2113.
11113
11213
01123
swcornerblockon
yellow #444444 #222222 #333333
333..
2113.
11113
11213
01123
necornerblockoff
#aaaaaa #444444 #222222 #333333
31210
31111
31211
.3121
..333
necornerblockon
yellow #444444 #222222 #333333
31210
31111
31211
.3121
..333
nwcornerblockoff
#aaaaaa #444444 #222222 #333333
01123
22113
11123
1113.
333..
nwcornerblockon
yellow #444444 #222222 #333333
01123
22113
11123
1113.
333..
nblock1off
#aaaaaa #444444 #222222 #333333
00000
31221
32112
31111
.3333
nblock1on
yellow #444444 #222222 #333333
00000
31221
32112
31111
.3333
nblock2off
#aaaaaa #444444 #222222 #333333
00000
11223
11113
12213
3333.
nblock2on
yellow #444444 #222222 #333333
00000
11223
11113
12213
3333.
wblock1off
#aaaaaa #444444 #222222 #333333
0333.
01213
01213
01113
02123
wblock1on
yellow #444444 #222222 #333333
0333.
01213
01213
01113
02123
wblock2off
#aaaaaa #444444 #222222 #333333
01223
01113
01213
0113.
033..
wblock2on
yellow #444444 #222222 #333333
01223
01113
01213
0113.
033..
sblock1off
#aaaaaa #444444 #222222 #333333
.3333
31212
32111
31121
00000
sblock1on
yellow #444444 #222222 #333333
.3333
31212
32111
31121
00000
sblock2off
#aaaaaa #444444 #222222 #333333
333..
1213.
12113
11223
00000
sblock2on
yellow #444444 #222222 #333333
333..
1213.
12113
11223
00000
eblock1off
#aaaaaa #444444 #222222 #333333
..330
.3210
32110
31110
31210
eblock1on
yellow #444444 #222222 #333333
..330
.3210
32110
31110
31210
eblock2off
#aaaaaa #444444 #222222 #333333
31120
32210
31110
31210
.3330
eblock2on
yellow #444444 #222222 #333333
31120
32210
31110
31210
.3330
nwblockoff
#aaaaaa #444444 #222222 #333333
00000
01213
01123
02113
0333.
nwblockon
yellow #444444 #222222 #333333
00000
01213
01123
02113
0333.
swblockoff
#aaaaaa #444444 #222222 #333333
0333.
02113
01123
01123
00000
swblockon
yellow #444444 #222222 #333333
0333.
02113
01123
01123
00000
neblockoff
#aaaaaa #444444 #222222 #333333
00000
31210
31120
31110
.3330
neblockon
yellow #444444 #222222 #333333
00000
31210
31120
31110
.3330
seblockoff
#aaaaaa #444444 #222222 #333333
.3330
32110
32120
31110
00000
seblockon
yellow #444444 #222222 #333333
.3330
32110
32120
31110
00000
(spirit world stuff)
sun
red orange
.....
..0..
.010.
..0..
.....
flashn
yellow
00000
.....
.....
.....
.....
flashs
yellow
.....
.....
.....
.....
00000
flashe
yellow
....0
....0
....0
....0
....0
flashw
yellow
0....
0....
0....
0....
0....
stars1
#000033 white
00000
00000
00000
00000
00000
stars2
#000033 white
00000
00100
00000
00000
00000
stars3
#000033 white
00000
00000
00000
10000
00000
stars4
#000033 white
00000
00000
00010
00000
00000
stars5
#000033 white
00000
00000
00000
00000
00000
stars6
#000033 white
00000
00000
00000
00000
00000
(loot I guess?)
loot l
#775500 black red
.....
..2..
11111
01010
00000
pillar
#775500 black
.....
.....
11111
01010
00000
=======
LEGEND
=======
stars = stars1 or stars2 or stars3 or stars4 or stars5 or stars6
quarter = ne or nw or se or sw
flags = quarter or allowtransform or callspirits or talk or check
pushing = pushinge or pushingw or pushings or pushingn
solid = body or pushing
player = solid or spirit
npc = npc1 or npc2 or npc3 or npc4 or npc5 or npc6 or npc7 or npc8 or npc9 or npc10 or npc11 or npc12
nblock = nblock1off or nblock1on or nblock2off or nblock2on
sblock = sblock1off or sblock1on or sblock2off or sblock2on
wblock = wblock1off or wblock1on or wblock2off or wblock2on
eblock = eblock1off or eblock1on or eblock2off or eblock2on
cornerblock = nwcornerblockoff or nwcornerblockon or swcornerblockoff or swcornerblockon or necornerblockoff or necornerblockon or secornerblockoff or secornerblockon
turnblock = nwblockoff or nwblockon or neblockoff or neblockon or swblockoff or swblockon or seblockoff or seblockon
source = sourcenw or sourcesw or sourcene or sourcese
sink = sinkswoff or sinkseoff or sinknwoff or sinkneoff or sinknwon or sinkneon or sinkswon or sinkseon
power = sinkswon or sinkseon or sinknwon or sinkneon or dooropen
block = nblock or sblock or wblock or eblock or cornerblock or turnblock or smallblock
tree = shrub or tree1 or tree2 or tree3 or tree4 or tree2spirit or tree4spirit
carrier = block or source or sink
door = doorclosed or dooropen
signalsw = sourcesw or sblock1on or sblock2on or wblock1on or wblock2on or swcornerblockon or nwblockon or swblockon or seblockon
signalse = sourcese or sblock1on or sblock2on or eblock1on or eblock2on or secornerblockon or swblockon or seblockon or neblockon
signalnw = sourcenw or nblock1on or nblock2on or wblock1on or wblock2on or nwcornerblockon or neblockon or nwblockon or swblockon
signalne = sourcene or nblock1on or nblock2on or eblock1on or eblock2on or necornerblockon or neblockon or nwblockon or seblockon
signale = eblock1on or eblock2on or seblockon or neblockon
signalw = wblock1on or wblock2on or swblockon or nwblockon
signaln = nblock1on or nblock2on or nwblockon or neblockon
signals = sblock1on or sblock2on or swblockon or seblockon
flash = flashe or flashw or flashn or flashs
a = nw and sblock1off
b = ne and sblock2off
c = sw and nblock1off
d = se and nblock2off
e = nw and eblock1off
f = ne and wblock1off
g = sw and eblock2off
h = se and wblock2off
1 = nw and secornerblockoff
2 = ne and swcornerblockoff
3 = sw and necornerblockoff
4 = se and nwcornerblockoff
5 = nw and seblockoff
6 = ne and swblockoff
7 = sw and neblockoff
8 = se and nwblockoff
; = npc1 and talk
: = npc3 and talk
/ = npc4 and talk
\ = npc5 and talk
+ = npc6 and talk
- = npc7 and talk
" = npc8 and talk
9 = npc9 and talk
0 = npc10 and talk
* = npc11 and talk
& = npc12 and talk
=======
SOUNDS
=======
sfx1 72413700
sfx2 95738303
================
COLLISIONLAYERS
================
background
quarter allowtransform callspirits check
talk
solid block npc loot pillar
stars
door source sink
sun spirit tree
flash
======
RULES
======
(spirit world)
late random [spirit || no sun no spirit no tree no source no sink no door] [callspirits] -> [spirit || sun] [callspirits]
[action solid no door] [allowtransform] -> [spirit] [allowtransform]
[action spirit no block no door no sink] -> [body]
[spirit] [tree] -> [spirit] [tree stars1]
[spirit] [no stars] -> [spirit] [random stars]
[spirit] [tree2] -> [spirit] [tree2spirit]
[spirit] [tree4] -> [spirit] [tree4spirit]
[spirit] [npc] -> [spirit] [npc sun]
[solid] [stars] -> [solid] []
[solid] [sun] -> [solid] []
[solid] [tree2spirit] -> [solid] [tree2]
[solid] [tree4spirit] -> [solid] [tree4]
[flash] -> []
[right spirit signale] -> [spirit signale flashe] sfx1 again
[left spirit signalw] -> [spirit signalw flashw] sfx1 again
[up spirit signaln] -> [spirit signaln flashn] sfx1 again
[down spirit signals] -> [spirit signals flashs] sfx1 again
[player check] -> [player callspirits]
(physical world)
[> solid | npc1 talk] -> [solid | npc1] message "This rock is blocking the path. Would you mind grabbing it and pulling it out of the way?"
up [npc1 | smallblock] -> [npc2 talk | smallblock]
[> solid | npc2 talk] -> [solid | npc2] message "Wow, you're pretty good at moving rocks around! You didn't even break a sweat!"
[> solid | npc3 talk] -> [solid | npc3] message "Oh! The path is clear? Thank you! I should go home now, but you go ahead and explore the forest."
[> solid | npc4 talk] -> [solid | left npc4] message "You came all this way to visit me? Well! Why don't you come in then!"
[> solid | npc5 talk] -> [solid | npc5] message "Some of these large rocks have canals carved in them, to channel the energy of the spirit world. Who could have done this? Why?"
[> solid | npc6 talk] -> [solid | npc6] message "This strange rock is rich with spirit energy. I've seen some more rocks like it, but they were smashed open somehow."
[> solid | npc7 talk] -> [solid | npc7] message "Spirit energy flows within all of us. The master of the forest awaits your coming ahead."
[> solid | npc8 talk] -> [solid | npc8 talk allowtransform] checkpoint message "Greetings, traveler. Because you have come to me, I will open within you the channels of spirit energy. Press X to enter the spirit world."
[> spirit | npc8 talk] -> [spirit | npc8] message "Join with me and with the trees. Celebrate this wondrous night in the forest."
[> spirit | npc9 talk] -> [spirit | npc9 callspirits] message "This place is the heart of the wood. You have accomplished much to make your way here. All the spirits are watching your progress."
[> spirit | npc12 talk] -> [spirit | npc12 talk] message "You have the attention of many spirits now. They gather as you travel in our world."
[> player | npc10 talk] -> [player | npc10] message "Your journey nears its end. When you are satisfied with all you have done, speak to the one in red clothing."
[> solid | loot] -> [solid | pillar] sfx2 message You take the shiny red stone.
(good ending: take some of the gems but not all of them)
[> player | npc11 talk] [loot] [pillar] -> [| npc11] [loot] [pillar] message "Your journey has been most rewarding. You have mastered the physical and the spirit worlds, and partaken of the gifts of the forest. Go and be joyous."
(bad endings)
(didn't get any gems)
[> player | npc11 talk] [loot] -> [| npc11] [loot] message "Foolish traveler! You learn the ways of spirits, but what do you do with them? Nothing! Why do you refuse the gifts the forest offers you? You are no longer welcome here. Begone."
(got all the gems)
[> player | npc11 talk] [pillar] -> [| npc11] [pillar] message "Greedy traveler! You would learn the ways of spirits but use them to strip the forest bare of all its wealth? I curse you: may you find only ruin for the rest of your days. Begone."
(to push or pull a block, move up to it and you'll grab on)
right [> body | block no doorclosed] -> [pushinge | block]
right [> pushinge | block] -> [> pushinge | > block]
right [< pushinge | block] -> [< pushinge | < block]
[vertical pushinge] -> [body]
left [> body | block no doorclosed] -> [pushingw | block]
left [> pushingw | block] -> [> pushingw | > block]
left [< pushingw | block] -> [< pushingw | < block]
[vertical pushingw] -> [body]
up [> body | block no doorclosed] -> [pushingn | block]
up [> pushingn | block] -> [> pushingn | > block]
up [< pushingn | block] -> [< pushingn | < block]
[horizontal pushingn] -> [body]
down [> body | block no doorclosed] -> [pushings | block]
down [> pushings | block] -> [> pushings | > block]
down [< pushings | block] -> [< pushings | < block]
[horizontal pushings] -> [body]
(2x2 blocks move as rigid bodies)
rigid right [moving block sw | block se] -> [moving block moving sw | moving block moving se]
+ rigid up [moving block se | block ne] -> [moving block moving se | moving block moving ne]
+ rigid left [moving block ne | block nw] -> [moving block moving ne | moving block moving nw]
+ rigid down [moving block nw | block sw] -> [moving block moving nw | moving block moving sw]
[stationary quarter block] -> [stationary quarter stationary block]
(if we tried to pull a block, make sure it's actually going to move)
right [< pushinge | stationary block] -> cancel
left [< pushingw | stationary block] -> cancel
up [< pushingn | stationary block] -> cancel
down [< pushings | stationary block] -> cancel
(trees, source/sinks, and doors are in a different layer than the player,
but we still can't move onto them)
[> solid | tree] -> cancel
[> block | tree] -> cancel
[> player | source] -> cancel
[> block | source] -> cancel
[> solid | sink] -> cancel
[> solid | doorclosed] -> cancel
[> spirit | power] -> cancel
[> block | sink] -> cancel
[> block | doorclosed] -> cancel
(turn off all blocks before recalculating signal propogation)
[sblock1on] -> [sblock1off]
[sblock2on] -> [sblock2off]
[nblock1on] -> [nblock1off]
[nblock2on] -> [nblock2off]
[wblock1on] -> [wblock1off]
[wblock2on] -> [wblock2off]
[eblock1on] -> [eblock1off]
[eblock2on] -> [eblock2off]
[nwcornerblockon] -> [nwcornerblockoff]
[swcornerblockon] -> [swcornerblockoff]
[necornerblockon] -> [necornerblockoff]
[secornerblockon] -> [secornerblockoff]
[nwblockon] -> [nwblockoff]
[neblockon] -> [neblockoff]
[swblockon] -> [swblockoff]
[seblockon] -> [seblockoff]
[sinkneon] -> [sinkneoff]
[sinknwon] -> [sinknwoff]
[sinkseon] -> [sinkseoff]
[sinkswon] -> [sinkswoff]
[dooropen] -> [doorclosed]
(propogate signals to blocks)
late left [sblock1off | signalse] -> [sblock1on | signalse]
+ late right [sblock1off | signalsw] -> [sblock1on | signalsw]
+ late down [sblock1off | signaln] -> [sblock1on | signaln]
+ late left [sblock2off | signalse] -> [sblock2on | signalse]
+ late right [sblock2off | signalsw] -> [sblock2on | signalsw]
+ late down [sblock2off | signaln] -> [sblock2on | signaln]
+ late left [nblock1off | signalne] -> [nblock1on | signalne]
+ late right [nblock1off | signalnw] -> [nblock1on | signalnw]
+ late up [nblock1off | signals] -> [nblock1on | signals]
+ late left [nblock2off | signalne] -> [nblock2on | signalne]
+ late right [nblock2off | signalnw] -> [nblock2on | signalnw]
+ late up [nblock2off | signals] -> [nblock2on | signals]
+ late up [wblock1off | signalsw] -> [wblock1on | signalsw]
+ late down [wblock1off | signalnw] -> [wblock1on | signalnw]
+ late left [wblock1off | signale] -> [wblock1on | signale]
+ late up [wblock2off | signalsw] -> [wblock2on | signalsw]
+ late down [wblock2off | signalnw] -> [wblock2on | signalnw]
+ late left [wblock2off | signale] -> [wblock2on | signale]
+ late up [eblock1off | signalse] -> [eblock1on | signalse]
+ late down [eblock1off | signalne] -> [eblock1on | signalne]
+ late right [eblock1off | signalw] -> [eblock1on | signalw]
+ late up [eblock2off | signalse] -> [eblock2on | signalse]
+ late down [eblock2off | signalne] -> [eblock2on | signalne]
+ late right [eblock2off | signalw] -> [eblock2on | signalw]
+ late up [nwcornerblockoff | signalsw] -> [nwcornerblockon | signalsw]
+ late left [nwcornerblockoff | signalne] -> [nwcornerblockon | signalne]
+ late down [swcornerblockoff | signalnw] -> [swcornerblockon | signalnw]
+ late left [swcornerblockoff | signalse] -> [swcornerblockon | signalse]
+ late up [necornerblockoff | signalse] -> [necornerblockon | signalse]
+ late right [necornerblockoff | signalnw] -> [necornerblockon | signalnw]
+ late down [secornerblockoff | signalne] -> [secornerblockon | signalne]
+ late right [secornerblockoff | signalsw] -> [secornerblockon | signalsw]
+ late up [nwblockoff | signalsw] -> [nwblockon | signalsw]
+ late down [nwblockoff | signalnw] -> [nwblockon | signalnw]
+ late left [nwblockoff | signalne] -> [nwblockon | signalne]
+ late right [nwblockoff | signalnw] -> [nwblockon | signalnw]
+ late up [neblockoff | signalse] -> [neblockon | signalse]
+ late down [neblockoff | signalne] -> [neblockon | signalne]
+ late left [neblockoff | signalne] -> [neblockon | signalne]
+ late right [neblockoff | signalnw] -> [neblockon | signalnw]
+ late up [swblockoff | signalsw] -> [swblockon | signalsw]
+ late down [swblockoff | signalnw] -> [swblockon | signalnw]
+ late left [swblockoff | signalse] -> [swblockon | signalse]
+ late right [swblockoff | signalsw] -> [swblockon | signalsw]
+ late up [seblockoff | signalse] -> [seblockon | signalse]
+ late down [seblockoff | signalne] -> [seblockon | signalne]
+ late left [seblockoff | signalse] -> [seblockon | signalse]
+ late right [seblockoff | signalsw] -> [seblockon | signalsw]
+ late up [sinknwoff | signalsw] -> [sinknwon | signalsw]
+ late left [sinknwoff | signalne] -> [sinknwon | signalne]
+ late down [sinkswoff | signalnw] -> [sinkswon | signalnw]
+ late left [sinkswoff | signalse] -> [sinkswon | signalse]
+ late up [sinkneoff | signalse] -> [sinkneon | signalse]
+ late right [sinkneoff | signalnw] -> [sinkneon | signalnw]
+ late down [sinkseoff | signalne] -> [sinkseon | signalne]
+ late right [sinkseoff | signalsw] -> [sinkseon | signalsw]
late [doorclosed | power] -> [dooropen | power]
==============
WINCONDITIONS
==============
no player
=======
LEVELS
=======
message It is said that those who enter the forest with noble hearts will be offered many gifts.
message It is also said that a wise traveler accepts only a few gifts, so that the forest spirits will be pleased with their guest.
message You're not sure who told you any of this, but somehow you find yourself remembering it as you enter the forest...
o..n.on.o.o.nuio.non.no....o..nnnnnnnnn...o..
.n.o..o.on.onjk.n.no....ui..nn.........nn..ui
.o.nnuioonooonnnoonnnnnnjk.n...ui...ui...n.jk
..nuijknnnnnnuinnnn.o....nn..o.jk...jk.o..nn.
nn.jk.....o..jk.....ui...nn.......".......nn.
.@.......;ui..:.....jk...n....o.......o....n.
..........jk.........12o.n.o..ui..n..ui....no
..uinnuinnnonnnnnnn.o34..n....jk.....jk.mz.n.
nnjk.njknonn..nnnoonn..nno..o...........pq..n
n.o..o.n.o.no.ooo.nn...n.o.....n.ui.n.......n
.n.l..onnno.onn..nn...uin..o...12jkn.nnn....n
on....n...nnno.nnn..o.jk.n....n34...e6..n.-.n
.n.o.no.........n........n....n..ui.3d.on...n
no..nmaba2...n.12...mz....n12..n.jk.....n...n
n..n.p787hn...o34n..pq...n.34.n.m..5fxnnyyyn.
n.nt..e65f.on....n....+..ui..l.op..c4w....yn.
./yr..g87h...n...on.n....jk.o..n.....y.ab.y.n
.ny...e65fn......n.12...n..n.nnn.....y.cd.tx.
.n....3d7h.....nn..34.nn..o.n1b......y......n
in.....t5f...nn.n.12o12....n.g8......y...5f.n
kn.....rc4uin....n34.34.n...nyyyyyn.nt...7h.n
nnnnnnyyn.jk.9..n...12...........txn.r......n
n1212oonnnon...12n.o34.o...........zn.pq....n
n3434oomz..n..n34......n......a2...qui..n..n.
.noo12yef...no.n....n......\..7h....jk.n12n.n
.nno34ygh...n.n.lo.n......ui...e6..n....34..n
...nooyrw...ui.oo.n.......jk...3d..n.o.....on
...nnnnnn''njknnnn.nnnuinnn.o..nnnn...l.n...n
.....n..&.....n.......jk...nnnn....ui...n.o.n
......n......n.....................jk..n.n..u
.......n....n........................nn...n.j
......n12.n12n.............n.n.............n.
......n34no34n.o..........n...n.............n
.....n.oo.oo12noo...........*..............n.
.....no.o12o34oooo........n...n............n.
......nno3412oooo.o...0....n.n............nn.
........no.34.uio.......................nn...
.........nn.nnjk..o..............n.....n.....
..........nn....nnnnnnnnnnnnnnnnn.nnnnn......
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment