pico-8 cartridge // http://www.pico-8.com version 42 __lua__ --main -- notes about memory layout --0 is flag if time has --been set yet --1 is the start date i think --2 is the start time i think --10 and onward gonna use --for persistent storage of --the kid stuff --10 is the modifier function _init() printh("init") cartdata("savedgame") timeset = dget(0) stime=dt:new() if (timeset==0) then stime:from(currenttime()) -- printh("save:"..stime:tostring()) stime:save() else stime:read() -- printh("read:"..stime:tostring()) -- printh("starttime = ".. ) end cls() -- printh("goaltime"..goaltime) m:draw() ui:draw() end function _update60() ctime=dt:new() m:update() ctime:from(currenttime()) if (btn(⬆️)) and (btn(⬇️)) and (btn(⬅️)) and (btn(➡️)) and (btn(❎)) and (btn(🅾️)) then dset(10,0) --reset kid state dset(0,0) --reset timesaved flag -- printh("save reset") end k:update(stime,ctimed) k:save() state[stated]:update() end function _draw() state[stated]:draw() end -->8 --npc p = { --player x=64, y=64, w=4, h=7, dx=0, dy=0, xv = 0, yv = 0, s=1, xo=2, ctile={x=8,y=8}, ptile={x=8,y=8}, draw = function(self) if (self.dy>0) then s=193 elseif (self.dy<0) then s=194 elseif (self.dx>0) then s=196 elseif (self.dx<0) then s=195 else s=192 end spr(s,self.x,self.y+((time()*2%2))) end, input = function(self, xv, yv) self.dx=xv self.dy=yv self.ctile.x=flr(self.x/8) self.ctile.y=flr(self.y/8) --it's not fast enough if self.ctile.x!=self.ptile.x or self.ctile.y!=self.ptile.y then m:calcmap() self.ptile.x = self.ctile.x self.ptile.y = self.ctile.y end self.xv = xv self.yv = yv end, move = function(self) if not (hitx(self.x+self.xv+self.xo,self.y,self.w,self.h)) then self.x+= self.xv end if not (hity(self.x+self.xo,self.y+self.yv,self.w,self.h)) then self.y+= self.yv end end } k={ --him s=1, x=196, y=64, m=1, --modifier t = 0, speed=.1, target={x=-1,y=-1}, mv=function(self)--move if (self.target.x ==-1) then self:tget() else printh(self.target.x) self.x=self.target.x self.y=self.target.y end end, tget=function(self)--find target if onscreen(self) then sx,sy=flr(self.x/8),flr(self.y/8) lowest,tx,ty=32000,0,0 if (m.dmap[sx][sy+1]8 --map m = { --map bounds={ --map bounds /8 0,0,47,31 }, cx=0,--camera x cy=0,--camera y --camera velocity cvx=0, cvy=0, --target x and y tx=0, ty=0, t=false,--transition dmap={{}},--dijkstra map calcmap=function(self) local dmap={{}} for x=0,self.bounds[3] do ty={} for y=0,self.bounds[4] do ty[y]=30000 end dmap[x]=ty end dmap[flr(p.x/8)][flr(p.y/7)]=0 nochange=false repeat ccount=0 for x=self.cx/8,(self.cx+127)/8 do for y=self.cy/8,(self.cy+127)/8 do if not fget(mget(x,y),0) and dmap[x][y]>0 then --not wall nor player c=dmap[x][y] u=dmap[x][y+1] d=dmap[x][y-1] r=dmap[x+1][y] l=dmap[x-1][y] lowest=c printh("lets start, c:"..lowest) lowest=min(lowest,u) printh(lowest) lowest=min(lowest,d) printh(lowest) lowest=min(lowest,l) printh(lowest) lowest=min(lowest,r) printh(lowest) --skip if change set --set current to +1 lowest if true lowest+=1 if (c>lowest) then ccount+=1 dmap[x][y]=lowest printh("final:"..dmap[x][y]) end end end end printh(ccount) until ccount==0 self.dmap=dmap end, update= function(self) tile = (mget(p.x/8,p.y/8)) f=fget(tile) if (f>1) then self.t = true if ((f & 0x2)!=0) then --n self.cy-=128 p.y-=16 elseif ((f&0x4)!=0) then --e self.cx+=128 p.x+=16 elseif ((f&0x8)!=0) then --s self.cy+=128 p.y+=16 else --w self.cx-=128 p.x-=16 end else self.t=false end end, draw = function(self) cls() camera(self.cx,self.cy) map() end } dt = { s=0, m=0, h=0, d=0, mo=0, y=0, tostring= function(self) return self.s..":" ..self.m..":" ..self.h.." " ..self.d.."-" ..self.mo.."-" ..self.y end, from=function(self, obj) self.s = obj.s self.m = obj.m self.h = obj.h self.d = obj.d self.mo = obj.mo self.y = obj.y end, save=function(self) -- dset(1,self:dat()) -- dset(2,self:tim()) dset(0,1) dset(1, self.s) dset(2, self.m) dset(3, self.h) dset(4, self.d) dset(5, self.mo) dset(6, self.y) end, read=function(self) self.s=dget(1) self.m=dget(2) self.h=dget(3) self.d=dget(4) self.mo=dget(5) self.y=dget(6) end, dat=function(self) return self.y*10+self.mo/10+self.d/1000 end, tim=function(self) return self.h*100+self.m+self.s/100 end, tdiff=function(self,obj) return self:tim()-obj:tim() end, ddiff=function(self,obj) return self:dat()-obj:dat() end } function dt:new(obj) obj = obj or {} setmetatable(obj, {__index = self}) return obj end -->8 -- functions --distance based on pytho function dist(x1,y1,x2,y2) local dx,dy=x1-x2,y1-y2 f=(dx*dx+dy*dy) return f end --shit (simple hit :) ) function shit(x,y,z) return fget(mget(x/8,y/8),z) end -- check hit on top or bottom function hity(x,y,w,h) --check hit on top or bottom hit=false for i=x,x+w do tile1=mget(i/8,y/8) tile2=mget(i/8,(y+h)/8) if (fget(tile1,0)) then hit=true elseif (fget(tile2,0)) then hit=true end end return hit end --check hit on sides function hitx(x,y,w,h) --check hit on sides hit = false for i=y,y+h do tile1=mget(x/8,i/8) tile2=mget((x+w)/8,i/8) if (fget(tile1,0)) then hit=true elseif (fget(tile2,0)) then hit=true end end return hit end -- returns the current time. --i have to split it up fml function currenttime() t = { s=stat(95), m=stat(94), h=stat(93), d=stat(92), mo=stat(91), y=stat(90) } return t end --timetosec function tts() temp = (ctime.s-stime.s)/1000 temp += (ctime.m-stime.m)*.06 temp += (ctime.h-stime.h)*3.6 temp += (ctime.d-stime.d)*86.4 temp += (ctime.mo-stime.mo)*1036.8 if (temp > 32767.99) or ((ctime.y-stime.y)>0) then stated = 3 --game over end return temp end function onscreen(obj) return obj.x>=m.cx and obj.y>=m.cy and obj.x<=m.cx+128 and obj.y<=m.cy+128 end function movetowards(sx,sy,tx,ty) x=sx-tx y=sy-ty dx=abs(x) dy=abs(y) return dx*sgn(x)*s,dy*sgn(y) end -->8 --state state={ {--1 menu update=function(self) --pause toggle if (btnp(❎)) then stated=2 end end, draw=function(self) ui:draw() end }, {--2 gameplay update=function(self) -- if (btn(🅾️)) printh(ctime:tostring()) xv = 0 yv = 0 if (btn(➡️)) xv+=p.s if (btn(⬅️)) xv-=p.s if (btn(⬆️)) yv-=p.s if (btn(⬇️)) yv+=p.s p:input(xv,yv) p:move() --pause toggle if (btnp(❎)) then stated=1 end end, draw=function(self) m:draw() p:draw() k:draw() end }, { --3 game over update=function(self) end, draw=function(self) cls() print("you lose... the creature grew too much") print("hold ⬆️⬇️⬅️➡️❎🅾️ to reset save") end, }, {--4 intro update=function(self) if (btnp(❎)) stated=2 end, draw=function(self) cls() x=rnd(2) y=rnd(2) if (timeset==0) then print("the is growing",0,0,7) print("creature",x+16,y+1,2) print("creature",x+16,y,8) else print("the growth never stops",0,0,7) print("creature's",x+16,y+1,2) print("creature's",x+16,y,8) end print(" seeks comfort.",0,8,7) print("it",x,7+y,2) print("it",x,8+y,8) print("find .",0,16,7) print("it",x+18,15+y,2) print("it",x+18,16+y,8) print("soothe .",0,24,7) print("it",x+27,23+y,2) print("it",x+27,24+y,8) print("pres x to continue",0,80,7) print(k.t) end, } } -->8 --ui ui = { elements={ kidgrowth={ text="-his- growth%: ", x=40, y=64, c=7, --color w=20, h=20, draw=function(self) print(self.text..k.t/k.growtime*100,self.x, self.y, self.c) end }, kidalive={ text="your kid's been alive for: ", x=0, y=4, c=7, --color w=20, h=20, draw=function(self) print(self.text,self.x, self.y, self.c) print(k.t.."s",self.x, self.y+8, self.c) end }, testing={ text="-his- state: ", x=40, y=72, c=7, --color w=20, h=20, draw=function(self) print(self.text..k.m,self.x, self.y, self.c) end } }, draw= function(self) cls()--clear screen camera() --reset the camera to default pos rectfill(0,0,128,128,1) for k,v in pairs(self.elements) do v:draw() end end } -->8 --global vars stated=4 twodays=172800 timescale=1 stime={} ctime={} timeset=0 mapbounds={ x1=0, y1=0, x2=47, y2=31 } --via lazydevs dirx={-1,1,0,0,1,1,-1,1} diry={0,0,-1,1,-1,1,1,-1} __gfx__ 00000000000000000000000000000000111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000001111110166116610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00700700000000000011110001611610166116610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00077000000110000011610001612610166116610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00077000000110000011110001111110111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00700700000000000011110001211110111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000001111110111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 22222222555555555555555555555554555555554444444455555555555444445555555544445555000000000000000000000000000000000000000000000000 2222222256dddd655555555555555554555555555555555555555555555444445555555544445555000000000000000000000000000000000000000000000000 222222225dddddd55555555555555554555555555555555555555555555444445555555544445555000000000000000000000000000000000000000000000000 222222225dddddd55555555555555554555555555555555544444555555444445555555544445555000000000000000000000000000000000000000000000000 222222225dddddd55555555555555554555555555555555544444555555444445554444455555555000000000000000000000000000000000000000000000000 222222225dddddd55555555555555554555555555555555544444555555555555554444455555555000000000000000000000000000000000000000000000000 2222222256dddd655555555555555554555555555555555544444555555555555554444455555555000000000000000000000000000000000000000000000000 22222222555555555555555555555554444444445555555544444555555555555554444455555555000000000000000000000000000000000000000000000000 22222222007777002222222222222222222222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000 22222222007777002222222222222222222222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000 22222222077cc7702211112222111122221111222211112200000000000000000000000000000000000000000000000000000000000000000000000000000000 2222222207cccc702212212222122122221221222212212200000000000000000000000000000000000000000000000000000000000000000000000000000000 22222222077777702212212222122122221221222212212200000000000000000000000000000000000000000000000000000000000000000000000000000000 22222222077777702211112222111122221111222211112200000000000000000000000000000000000000000000000000000000000000000000000000000000 22222222077777702222222222222222222222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000 22222222007777002222222222222222222222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000dddd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000dddd000dddd000dddd0000000000000dddd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000dddd000dddd000dddd00000dddd0000dddd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000dddd0000dd0000dddd00000dddd0000dddd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000dd00000dd00000dd000000dddd00000dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000dd00000d000000dd0000000dd000000dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000d0d000000000000d0d000000dd000000dd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000dddd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00dddd0000dddd00000000000dddd000000dddd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00dddd0000dddd0000dddd000dddd000000dddd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00dddd00000dd00000dddd000dddd000000dddd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000dd000000dd00000dddd0000dd00000000dd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000dd000000d0000000dd00000dd00000000dd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000dd00000000000000dd00000d0d000000d0d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 __gff__ 0000000000000000000000000000000000010101010101010101000000000000000002040810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 __map__ 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010102325101010101010101010101010101023251010101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010102325101010101010101010101010101023251010101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010102325101010101010101010101010101023251010101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111110101010111111111111111111111111111010101011111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111124242424111111111111111111111111112424242411111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111122222222111111111111111111111111112222222211111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111110101010111111111111111111111111111010101011111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010111111111111111110101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010102325101010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010102325101010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101023251010101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101023251010101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111101010101010101010101010111111111010101010101010101010101111111110101010101010101010101011110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 __sfx__ 000200000251002510085103a310363202c3201f3300f33039330263302131014420032200b2203042034220184202422016420164200352021520194202e52013520174200c5300742008420014201151000000 000200000a3200a3200a3200a3200a3200a3200a3100b3100c3100d3100f310113101231015310183101c3201f3201e2202023021230202301f2301e2201c2201b2221a6221762215620146200a6200062000000 000200000437004370043700437004360043600436004360043600936009360083600837007370063700637006370063700637005370053700537004370043700436004360053700537005370000700000000000