pico-8 cartridge // http://www.pico-8.com version 16 __lua__ --shooting star --by trasevol_dog --sfx: -- get born 12 -- swap to whit 13 -- swap to blac 14 -- shoot air 15 -- shoot enem 16 -- get hit 17 -- get ded 18 -- game over: 6 --music: -- title: 0 angle=0.3 co=cos(angle) si=sin(angle) function _init() poke(0x5f2d, 1) mosx,mosy=64,64 mosb0=false mosb1=false mosbp0=false mosbp1=false pa=0 pva=0 t=-0.01 laser=0 lasera=0 shot=nil if cartdata("trasevol_dog_the_one_true_shooting_star") then hiscore=dget(0) else hiscore=0 dset(0,0) end scoresca=1 title=true init_game() camx,camy=0,0 shkx,shky=0,0 stars={} enems={} smoks={} en0=new_enemy(48,angle+0.25,0) en1=new_enemy(48,angle+0.75,1) whit=false music(0) fade_out_in() end function init_game() score=0 nhiscore=false proga=0 progb=0 progspd=0.2 life=3 lifet=0 lostt=0.5 if camx then sfx(12) music(4) end end function _update() t+=0.01 update_shake() camx=lerp(camx,0,0.15) camy=lerp(camy,0,0.15) update_mouse() if mosm then mosctrl=true pva=0 end local x,y=0,0 if btn(0) then x-=1 end if btn(1) then x+=1 end if btn(2) then y-=1 end if btn(3) then y+=1 end if x~=0 or y~=0 then mosctrl=false local a=atan2(x,y) pva+=0.2*angle_diff(pa,a) end if mosctrl then local mosa=atan2(mosx-64,mosy-64) pa=pa+0.75*angle_diff(pa,mosa) else pa+=pva pva*=0.5 end if btnp(5) or mosbp1 then whit=not whit sfx(whit and 13 or 14) end if laser>0 then laser-=1 end if btnp(4) or mosbp0 then local col local co=cos(pa) local si=sin(pa) for i=8,96,4 do local x,y=64.5+i*co,64.5+i*si for en in all(enems) do if en.whit==whit and abs(en.x-x)<8 and abs(en.y-y)<8 then col=en break end end if col then break end end if col then sfx(16) laser=7 shot=col lasera=col.a camx-=24*cos(lasera) camy-=24*sin(lasera) for i=1,32 do add_smoke(col.x,col.y,col.whit and 0 or 7, col.whit and 1 or 6,4+rnd(2)) end add_shake(8) score+=1 scoresca=4 del(enems,col) else sfx(15) shot=nil laser=5 lasera=pa camx=-8*cos(pa) camy=-8*sin(pa) end end if life>0 and not title then update_prog() end update_enemies() update_smoke() for i=0,1 do local a=angle+rnd(0.08)-0.04 local spd=2+rnd(2) add(stars,{ x=64+rnd(8)-4, y=64+rnd(8)-4, vx=spd*cos(a), vy=spd*sin(a), s=rnd(12) }) end for s in all(stars) do s.x+=s.vx s.y+=s.vy if s.x<-16 or s.y<-16 then del(stars,s) end end if title then if #enems==0 then init_game() title=false --music(-1) else en0.lt=1 en1.lt=1 en0.a+=0.002 en1.a+=0.002 end elseif life<=0 then if lostt<=0 and (btnp(4) or mosbp0) then init_game() end if lostt>0 then lostt-=0.01 end end end function _draw() if life<=0 then local cs={[0]=0,1,13,6,7,6,13,1} for i=0,699 do local x,y=rnd(128),rnd(128) local a=atan2(x-64,y-64)-t*0.4 local v=flr((a*32)+(sqr(x-64)+sqr(y-64))/100)%8 circ(x,y,1,cs[v]) end else cls(whit and 7) end camera(-camx+shkx,-camy+shky) if title then if whit then pal(7,0) pal(6,1) pal(13,13) pal(1,6) pal(0,7) end for i=0,15 do spr(128+i*2,i*16,16+2.5*cos(t*4+i/8),2,4) end for i=2,5 do spr(192+i*2,i*16,80+2.5*cos(t*4+i/8),2,4) end local str="trasevol_dog presents" print(str,64-#str*2,2,1) print(str,64-#str*2,1,13) local credits=" ~ ryan malm, joseph white, zachary cook, jefff, riccardo straccia, hervan, andreas bretteville, bitzawolf, alan oliver, paul nguyen, dan lewis, christian östman, dan rees-jones, reza esmaili, thomas wright, chris mccluskey, joel jorgensen, marty kovach, cole smith, giles graham, tim and alexandra swast, sasha bilton, berkfrei, jearl, dave hoffman, finn ellis, egor dorichev, jakub wasilewski, amaris, brent werness, anne le clech, jesse bergerstock, jacel the thing, pierre b., nanoplink, sean s. leblanc, c oakreef, andrew reist, vaporstack" local stp=(t*100)%((#credits-1)*4) --local stp=(t*4)%((#credits)*4) local txti=flr(stp/4)+1 local str if txti+25>#credits then str=sub(credits,txti,#credits-1)..sub(credits,1,txti+25-#credits) else str=sub(credits,txti,txti+32) end --print(str,0,62,1) print("thx to:",0,56,1) print(str,-stp%4-4,64,1) local x,y=2,116 local cs if whit then cs={[0]=0,13,6,7} else cs={[0]=7,13,1,0} end for i=2,0,-1 do local x=x pal(7,cs[i]) pal(13,cs[i+1]) print("controls:",x,y+3+i,7) x+=40 rect(x-1,y-2+i,x+30,y+10+i,13) spr(48,x,y+i,2,1) x+=15 spr(50,x,y+i) x+=7 spr(51,x,y+i) x+=16 spr(32,x,y+i,2,1) x+=20 rect(x-1,y-2+i,x+25,y+10+i,13) spr(52,x,y+i) x+=8 spr(53,x,y+i) x+=8 spr(54,x,y+i) end pal(7,7) pal(6,6) pal(13,13) pal(1,1) pal(0,0) end if life<=0 then local cs={0,1,13,6,7} local ocs={[0]=0,1,13,6,7,6,13,1} for i=1,5 do pal(cs[i],ocs[flr(i+t/0.04)%8]) end elseif whit then pal(7,0) pal(6,1) pal(13,13) pal(1,6) pal(0,7) end for s in all(stars) do spr(s.s,s.x-4,s.y-4) end local x,y=63+rnd(2),63+rnd(2) local cs={1,13,6,7} local co,si=cos(angle),sin(angle) for i=1,4 do for j=0,7 do local d=3+cos(-t*8+j/8) circfill(x+j*d*co,y+j*d*si,10-i-j*0.75,cs[i]) end end pal(7,7) pal(6,6) pal(13,13) pal(1,1) pal(0,0) -- draw_smoke() draw_enemies() if laser>0 then if shot then local l0=14 local x0,y0,x1,y1=64.5+l0*cos(lasera),64.5+l0*sin(lasera),shot.x,shot.y local cs if whit then cs={13,1,0,0,0} else cs={13,6,7,7,7} end for i=0,4 do local th=laser-i for j=0,th-1 do local dx=j local dy=th-dx line(x0-dx,y0-dy,x1-dx,y1-dy,cs[i+1]) line(x0+dx,y0-dy,x1+dx,y1-dy,cs[i+1]) line(x0-dx,y0+dy,x1-dx,y1+dy,cs[i+1]) line(x0+dx,y0+dy,x1+dx,y1+dy,cs[i+1]) end circfill(x1,y1,laser*3-i,cs[i+1]) end line(x0,y0,x1,y1,whit and 0 or 7) else local l0,l1=14,96 local x0,y0,x1,y1=64.5+l0*cos(lasera),64.5+l0*sin(lasera),64.5+l1*cos(lasera),64.5+l1*sin(lasera) local cs if whit then cs={13,1,0,0,0} else cs={13,6,7,7,7} end for i=0,4 do local th=laser-i for j=0,th-1 do local dx=j local dy=th-dx line(x0-dx,y0-dy,x1-dx,y1-dy,cs[i+1]) line(x0+dx,y0-dy,x1+dx,y1-dy,cs[i+1]) line(x0-dx,y0+dy,x1-dx,y1+dy,cs[i+1]) line(x0+dx,y0+dy,x1+dx,y1+dy,cs[i+1]) end end line(x0,y0,x1,y1,whit and 0 or 7) end else local l0,l1=20+1.5*cos(t*4),32-1.5*cos(t*4) local x0,y0,x1,y1=64.5+l0*cos(pa),64.5+l0*sin(pa),64.5+l1*cos(pa),64.5+l1*sin(pa) line(x0-1,y0,x1-1,y1,13) line(x0+1,y0,x1+1,y1,13) line(x0,y0-1,x1,y1-1,13) line(x0,y0+1,x1,y1+1,13) line(x0,y0,x1,y1,whit and 0 or 7) end if mosctrl then local s=16+(t/0.02)%8 pal(7,13) spr(s,mosx-5,mosy-4) spr(s,mosx-3,mosy-4) spr(s,mosx-4,mosy-5) spr(s,mosx-4,mosy-3) if whit then pal(7,0) else pal(7,7) end spr(s,mosx-4,mosy-4) pal(7,7) end camera() if life<=0 then draw_gameover() elseif not title then draw_life(87,2) draw_score(64,4,score) end end function update_enemies() local hurt for s in all(enems) do s.t+=0.01 s.lt-=0.01 if s.lt<0 then s.l-=8 s.lt=progspd end s.x=lerp(s.x,64+s.l*cos(s.a),0.5) s.y=lerp(s.y,64+s.l*sin(s.a),0.5) if abs(s.x-64)<10 and abs(s.y-64)<10 then camx-=16*cos(s.a) camy-=16*sin(s.a) add_shake(8) hurt=true for i=1,32 do add_smoke(s.x,s.y,s.whit and 0 or 7, s.whit and 1 or 6,4+rnd(2)) end del(enems,s) local owhit=whit whit=not whit _draw() flip() whit=owhit life-=1 lifet=0.5 end for i=0,1 do add_smoke(s.x,s.y,s.whit and 0 or 7,s.whit and 1 or 6) end end if hurt then if life<=0 then for s in all(enems) do for i=1,16 do add_smoke(s.x,s.y,s.whit and 0 or 7, s.whit and 1 or 6,4+rnd(2)) end del(enems,s) end if score>hiscore then hiscore=score nhiscore=true dset(0,score) end sfx(6) sfx(18) music(-1) else sfx(17) for s in all(enems) do s.l+=32 end end end end function draw_enemies() if whit then pal(1,13) else pal(6,13) end for s in all(smoks) do circfill(s.x,s.y,s.r,s.cb) end for s in all(enems) do local r=5+1*cos(s.t*8) circfill(s.x,s.y,r+1,s.whit and 1 or 6) end pal(6,6) pal(1,1) for s in all(smoks) do circfill(s.x,s.y,s.r-1,s.c) end for s in all(enems) do local r=5+1*cos(s.t*8) circfill(s.x,s.y,r,s.whit and 0 or 7) end end function new_enemy(l,a,whit) -- local a=a or angle+0.1+rnd(0.8) if not a then a=(angle+0.1+rnd(0.8))%1 a=flr(a*8-0.5)/8 end local l=l or 96+rnd(32) local s={ x=64+l*cos(a), y=64+l*sin(a), l=l, lt=0, a=a, t=0, whit=rnd(2)<1 } if whit then s.whit=(whit==1) end add(enems,s) return s end function update_smoke() for s in all(smoks) do s.x+=s.vx s.y+=s.vy s.vx=lerp(s.vx,3*co,0.15) s.vy=lerp(s.vy,3*si,0.15) s.r-=0.15 if s.r<0 then del(smoks,s) end end end function draw_smoke() for s in all(smoks) do circfill(s.x,s.y,s.r,s.c) end end function add_smoke(x,y,c,cb,spd) local a,spd=rnd(1),spd or 0.5+rnd(1) local s={ x=x+rnd(4)-2, y=y+rnd(4)-2, vx=spd*cos(a), vy=spd*sin(a), r=1+rnd(3), c=c, cb=cb } add(smoks,s) end function update_prog() progb-=0.01 if #enems==0 then proga+=1 local k=min(4+proga,12) for i=0,k-1 do new_enemy(96+i*16) end progspd=1/(proga+2)*0.6 progb=progspd*16 end end function draw_score(x,y,scor) local cs if whit then cs={6,13,1,0} else cs={1,13,6,7} end scor=scor or score local str=tostr(scor) for i=0,#str-1 do local n=tonum(sub(str,i+1,i+1)) local x=x+(i-#str*0.5)*8*scoresca local y=y-scoresca for j=0,3 do pal(7,cs[j+1]) sspr(n*8,32,8,8,x,y+3-j,scoresca*8,scoresca*8) end end scoresca=lerp(scoresca,1,0.2) pal(7,7) end function draw_life(x,y) local cs if whit then cs={6,13,1,0} else cs={1,13,6,7} end if lifet>0 then lifet-=0.01 end for i=1,3 do local y=y+1.5*cos(t*4+i/6) local x=x-13+i*13 local s if i<=life then s=46 elseif i==life+1 and lifet>=0 then s=44+flr(lifet/0.03)%2*2 else s=44 end for j=0,3 do pal(7,cs[j+1]) spr(s,x,y+3-j,2,2) end end end function draw_text(str,x,y,nthick,nwhit) x-=#str*2 local c0,c1,c2 local whit=whit if nwhit then whit=not whit end if whit then c0,c1,c2=7,0,13 else c0,c1,c2=0,7,13 end local th=nthick and 0 or 1 color(c2) for j=0,th do local dx=j local dy=th-dx print(str,x-dx,y+dy+1) print(str,x+dx,y+dy+1) end color(c1) for j=0,th do local dx=j local dy=th-dx print(str,x-dx,y-dy) print(str,x+dx,y-dy) print(str,x-dx,y+dy) print(str,x+dx,y+dy) end print(str,x,y,c0) end function draw_gameover() local cs if whit then cs={[0]=7,6,13,1} else cs={[0]=0,1,13,6} end for i=3,0,-1 do color(cs[i]) --rect(42,84+i,84,116+i) rect(5,83+i,122,123+i) --rectfill(45,87+i,81,113+i) rectfill(8,86+i,119,120+i) rect(36,10+i,90,27+i) rectfill(39,13+i,87,24+i) end draw_text("!game over!",64,16,true,true) draw_text("you shot",32,89,true,true) draw_score(63,88,score) draw_text("rivals",92,89,true,true) if nhiscore then draw_text("new highscore!",64,101,true,true) else draw_text("highscore:",48,101,true,true) draw_score(88,100,hiscore) end if t%1>0.15 then draw_text("shoot anywhere to try again",64,113,true,true) end end function add_shake(p) local a=rnd(1) shkx+=p*cos(a) shky+=p*sin(a) end function update_shake() if abs(shkx)+abs(shky)<0.5 then shkx,shky=0,0 else shkx*=-0.5-rnd(0.2) shky*=-0.5-rnd(0.2) end end function update_mouse() local nosb0=band(stat(34),1)>0 local nosb1=band(stat(34),2)>0 mosbp0=nosb0 and not mosb0 mosbp1=nosb1 and not mosb1 mosb0,mosb1=nosb0,nosb1 local nosx,nosy=stat(32),stat(33) mosm=nosx!=mosx or nosy!=mosy mosx,mosy=nosx,nosy end function fade_out_in() drk={[0]=0,0,1,1,2,1,13,6,2,4,9,3,1,1,2,4} for i=0,3 do for c=0,15 do local cc=c for j=0,i do cc=drk[cc] end pal(c,cc,1) end flip() flip() end cls() flip() for i=3,-1,-1 do for c=0,15 do local cc=c for j=0,i do cc=drk[cc] end pal(c,cc,1) end _draw() flip() flip() end end function angle_diff(a1,a2) local a=a2-a1 return (a+0.5)%1-0.5 end function lerp(a,b,i) return (1-i)*a+i*b end function sqr(a) return a*a end __gfx__ 0000000000000000000000000000000000000000000000000000000000d0000000000100000d0000000100000001000000000000000000000000000000000000 00000000000000000000000000000000000000000007000000060000000007000000000000010000000d0000001d100000000000000000000000000000000000 0000000000000000000000000000000000d0000000000000000000d00000000000010000001610000016100001d6d10000007770077700000000000000000000 0007000000060000000d0000000100000000000000000000000000000000000010000000d16761d01d676d101d676d1000076667766670000000777007770000 00000000000000000000000000000000000000d000000600000000000700000600000010001610000016100001d6d10000767776677767000007000770007000 00000000000000000000000000000000000100000d00000000600000000100000000000000010000000d0000001d1000007d77777777d7000070777007770700 000000000000000000000000000000000000000000000000000000000000000000010000000d0000000100000001000000716777777617000070777777770700 0000000000000000000000000000000000000000000000000000010000007000000000000000000000000000000000000067d677776d76000070777777770700 00070000000d00000000000000000000000000000007000000070000000700000000000000000000000000000000000000d67d6776d76d000007077777707000 0007000000070000000d0000000000000007000000070000000d00000000000000000000000000000000000000000000001d67d66d76d1000000707777070000 0000000000070000000700000007000000070000000d00000000000000000000000000000000000000000000000000000001d67dd76d10000000070770700000 77000770d77077d00d707d00007070000770770077d0d7707d000d70700000700000000000000000000000000000000000001d6776d100000000007007000000 0000000000070000000700000007000000070000000d0000000000000000000000000000000000000000000000000000000000d66d1000000000000770000000 0007000000070000000d0000000000000007000000070000000d000000000000000000000000000000000000000000000000001dd10000000000000000000000 00070000000d00000000000000000000000000000007000000070000000700000000000000000000000000000000000000000001100000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 07770000777000000000000000000000000000000000000000000000000000000077770000777700007777000077770000000000000000000000000000000000 70007007000700000000000000000000000000000000000000000000000000000700007007000070070000700700007000007770077700000000777007770000 70007007000700000000000000000000000000000000000000000000000000007000000770000007707777077077770700070007700070000007000770007000 70007007777000000000000000000000000000000000000000000000000000007000000000000007707777700777770700700000000007000070777007770700 70007007000700000000000000000000000000000000000000000000000000007000000000000007707777777777770700700000000007000070777777770700 07770007000700000000000000000000000000000000000000000000000000007000000000000007707777777777770700700000000007000070077777700700 00000000000000000000000000000000000000000000000000000000000000000700000000000070070777777777707000070000000070000007007777007000 00000000000000000000000000000000000000000077770000777700000000000700000000000070070777777777707000007000000700000000700770070000 00000007700000000000000000000000007000000777007007007770000000000070000000000700007077777777070000000700007000000000070000700000 00000077770000000007770000700700007700000777007007007770000000000007000000007000000707777770700000000070070000000000007007000000 00000000000000000070000000700700007770000777777007777770000000000000700000070000000070777707000000000007700000000000000770000000 00070000000070000070000000077000007777000700007007000070000000000000070000700000000007077070000000000000000000000000000000000000 00770000000077000070000000700700007700000700007007000070000000000000007007000000000000700700000000000000000000000000000000000000 00770077770077000007770000700700000070000700007007000070000000000000000770000000000000077000000000000000000000000000000000000000 00070007700070000000000000000000000000000077770000777700000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00777700000770000077770000777700000777000777777000777700077777700077770000777700000000000000000000000000000000000000000000000000 07700770007770000770077007700770007777000770000007700000077007700770077007700770000000000000000000000000000000000000000000000000 07700770000770000000077000077770077077000777770007777700000007700077770007700770000000000000000000000000000000000000000000000000 07700770000770000077770000000770077077000000077007700770000077000770077000777770000000000000000000000000000000000000000000000000 07700770000770000770000007700770077777700770077007700770000770000770077000000770000000000000000000000000000000000000000000000000 00777700007777000777777000777700000077000077770000777700000770000077770000777700000000000000000000000000000000000000000000000000 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 00000000000000000000000000000000000000077770000000000777777000000000000000000000000077777777700000000000000000000000000000000000 00007777770000000000000000077000000007777777700000007777777700000077777777777700007777777777770000777000000077700000007777770000 00077777777700000007700000777700000777777777770000007777777770000777777777777770077777777777777007777700000777700000777777777000 00077777777770000077770000777700007777777777770000077777777777000777777777777770077777777777777007777700000777700007777777777700 00777777777777000077770000777770007777777777770000777777677777000677777777777760067777777767776007777770000777700077777777777770 00777766777777700077770000677770007777766777777000777776d67777000d666677776666d00d66667777d666d007777770000777700077777666777770 007777dd667777700077770000d777700077776dd67777700777776d1d77770001dddd7777dddd1001dddd77771ddd1007777770000777700777776ddd677760 00777711dd6777600077770000177770007777d11d777770077777d101777700001111777711110000111177770111000777777000077770077776d111d666d0 0077770011d666d000777700000777700777771001677770077777100077777000000077770000000000007777000000077777700077777007777d10001ddd10 00777770001ddd1000777700000777700777770000d7777007777600007777700000007777000000000000777700000007777777007777600777710000011100 00777770000111000077770000777770077776000017777007777d00006777700000007777000000000000777700000007777777007777d00777700000000000 0067777700000000007777000777777007777d00000777700777710000d777700000007777000000000000777700000007777777707777700777700000000000 00d77777700000000077770777777770077771000007777007777000001777700000007777000000000000777700000007777777706777700777700000000000 0016777777000000007777777777777007777000000777700777700000077770000000777700000000000077770000000777777770d777700777700000000000 000d6777777000000077777777777770077770000007777007777000000777700000007777000000000000777700000007777777771777700777700077000000 0001d677777000000077777777677770077770000007777007777000000777700000007777000000000000777700000007777777770777700777700777777700 00001d67777700000077777776d77770077770000007777007777000000777700000007777000000000000777700000007777677777777700777700777777770 000001d777777000006777776d177770077770000007777007777000000777700000007777000000000000777700000007777d77777777700777700777777770 000000167777700000d77776d1077770077770000007777007777000000777700000007777000000000000777700000007777167777777700777700677777770 0000000d677777000017777d100777700777700000077770077770000007777000000077770000000000077777000000077770d7777777600777700d66677770 00000001d67777000007777100077770077770000007777007777000000777700000007777000000000007777600000007777016777777d007777001ddd77770 007700001d7777000007777000077770077770000007777007777000000777700000007777000000000007777d0000000777700d777777100777700011177770 07777000077777000007777000077770077777000007777007777000000777700000007777000000000007777700000007777001777777000777700000077770 07777000777777000007777000077770077777700007777007777700007777700000007777000000000007777777700007777000677777000777700000077770 07777777777776000007777000077770067777777077777006777770077777700000007777000000000777777777770007777000d77777000777770000777770 0777777777776d0000077770000777700d677777777777700d777777777777600000007777000000007777777777770007777000177777000677777777777770 067777777777d100000777700007777001d677777777776001677777777776d00000007777000000007777777777770007777000067777000d77777777777760 0d667777777610000007777000067760001d6777777777d000d7777777776d1000000067770000000067777777777600067760000d67760001677777777776d0 01dd6666666d000000067760000d66d00001d66777777610001667777776d100000000d66600000000d6666666666d000d66d00001d66d0000d6677777776d10 0011ddddddd10000000d66d00001dd1000001dd666666d00000dd666666d10000000001ddd000000001dddddddddd10001dd1000001dd100001dd6666666d100 00001111111000000001dd10000011000000011dddddd10000011dddddd1000000000001110000000001111111111000001100000001100000011ddddddd1000 00000000000000000000110000000000000000011111100000000111111000000000000000000000000000000000000000000000000000000000011111110000 00000000000000000000000000000000000007777700000000777777777777000000777777770000007777777770000000000000000000000000000000000000 00000000000000000000000000000000000077777770000007777777777777700007777777777000077777777777000000000000000000000000000000000000 00000000000000000000000000000000000777777777700007777777777777700077777777777700077777777777700000000000000000000000000000000000 00000000000000000000000000000000007777777777770006777777777777600077777667777700077777777777700000000000000000000000000000000000 0000000000000000000000000000000000777776777777000d666677777666d00777776dd6777770077776666777770000000000000000000000000000000000 000000000000000000000000000000000077776d6777760001dddd77776ddd10077776d11d67777007777dddd777770000000000000000000000000000000000 00000000000000000000000000000000077777d1d6666d000011117777d1110007777d1001d77770077771111677777000000000000000000000000000000000 00000000000000000000000000000000077777101dddd10000000077771000000777710000177770077770000d77777000000000000000000000000000000000 00000000000000000000000000000000077777000111100000000077770000000777700000077770077770000177777000000000000000000000000000000000 00000000000000000000000000000000077777700000000000000077770000000777700000077770077770000777777000000000000000000000000000000000 00000000000000000000000000000000067777770000000000000077770000000777700000077770077777777777776000000000000000000000000000000000 000000000000000000000000000000000d677777700000000000007777000000077777777777777007777777777776d000000000000000000000000000000000 0000000000000000000000000000000001d6777777000000000000777700000007777777777777700777777777776d1000000000000000000000000000000000 00000000000000000000000000000000001d67777770000000000077770000000777777777777770077777777776d10000000000000000000000000000000000 000000000000000000000000000000000001d6777777000000000077770000000777777777777770077776677777100000000000000000000000000000000000 0000000000000000000000000000000000001d67777770000000007777000000077776666667777007777dd67777000000000000000000000000000000000000 00000000000000000000000000000000000001d677777000000000777700000007777dddddd777700777711d7777700000000000000000000000000000000000 000000000000000000000000000000000000001d6777770000000077770000000777711111177770077770017777700000000000000000000000000000000000 0000000000000000000000000000000000000001d777770000000077770000000777700000077770077770006777770000000000000000000000000000000000 0000000000000000000000000000000000770000177777000000007777000000077770000007777007777000d777770000000000000000000000000000000000 00000000000000000000000000000000077770000777770000000077770000000777700000077770077770001677770000000000000000000000000000000000 00000000000000000000000000000000077770007777760000000077770000000777700000077770077770000d77770000000000000000000000000000000000 000000000000000000000000000000000777700777777d0000000077770000000777700000077770077770000177770000000000000000000000000000000000 00000000000000000000000000000000077777777777610000000077770000000777700000077770077770000067777000000000000000000000000000000000 00000000000000000000000000000000077777777777d000000000777700000007777000000777700777700000d7777000000000000000000000000000000000 00000000000000000000000000000000067777777776100000000067770000000677700000067760077770000017777000000000000000000000000000000000 000000000000000000000000000000000d677777766d0000000000d6660000000d666000000d66d0067760000006776000000000000000000000000000000000 0000000000000000000000000000000001d666666dd100000000001ddd00000001ddd0000001dd100d66d000000d66d000000000000000000000000000000000 00000000000000000000000000000000001dddddd11000000000000111000000001110000000110001dd10000001dd1000000000000000000000000000000000 00000000000000000000000000000000000111111000000000000000000000000000000000000000001100000000110000000000000000000000000000000000 __label__ 0000000000000000000000000001006000100000000d000000000000600000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000d1d0ddd0ddd10dd0dd7016100dd0d0000000dd000dd00dd00000ddd0ddd0ddd00dd0ddd0dd00ddd00dd00000000000000000000000 00000000000000000000101d10d1d0d1d0d110d11d676d11d0d0000000d1d0d1d0d1100000d1d0d1d0d110d110d110d1d01d10d1100000000000000000000000 00000000000000000000000d001d101d10ddd0dd001610d1d0d0000000d0d0d0d0d0000000ddd0dd10dd00ddd0dd00d0d00d00ddd00000000000000000000000 00000000000000000000000d00d1d0d1d011d0d100ddd0ddd0d0000000d0d0d0d0d0d00000d110d1d0d10011d0d100d0d00d0011d00000000000000000000000 00000000000000000000000100d0d0d161dd10ddd011101610ddd0ddd0ddd1dd10ddd00000d000d0d0ddd0dd10ddd0d0d00d00dd100000000000000000000000 000000000000000000000001001011d676d1001110011d676d111011101110110011100000100010101110110011101010010011000000000000000000000000 00000000000000000000000000000001610000000000001610000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000d00000000000000d00000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000100000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000d0007000006000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000006077770007000000777777000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000777d777700000007777777700000000000000000000000000000000d00000000000000000000000000000000000 00000000000000000000000000000000000777777177770000007777777770001077777777777700000000000000000000000000000000000000000000000000 00000000000000000000000000077000007777777777770000077776777777000777777777777770000077777777700000000000000000000000000000000000 00000000000000000007700000777700007767777777770000777777677777100777777777777770007777777777770000000000000000000000000000000000 00007777770000000077770000777700007777766777777000717776d67177000677777777777760077777777777777000000000000000000000000000000000 0007777777770000007777000077777000777761d6777770071d176d1d77770001666677776666d0077777777777777000777000000077700000007777770000 00077777777770000077770000677770007777d11d7777700176d1d10177770001dddd7777dddd10067777777767776007777700000777700000777777777000 00777777717777000077770000d7777007777710016777701d676d100077771000111177771111000d66667777d666d007777700000777700007777777777700 00777766777777700077770000177770077777000dd7777001d6d10000777770000000777700000001dddd77771ddd1007777770000777700077777777777770 007777dd6677777000777700000777700777767000176770071d1d0000d777700000007777000000001111777701110007777770000777700077777666777770 00777711dd677160007777000007777007777d0010077d6007717100001777700000007777000000000000777700000007d77770000777700777776ddd677760 0077770011d666d000777700007777700777710000d777600777700071617770000000777700000000000077770000000777777000077770077776d111d666d0 00777770001ddd10007777000777777007777000070777700d77700d16761d7000000077770000000000d0777d000000077777700077777007777d10001ddd10 0077777000011100007777077777777007777000000777700777700001617770000000777700000000000077d7d0000007777777007777600777710000011100 00677777000000000077777777777770077770000007177007777000001777700000007777000000000000777d00000007777777007777d00777700000000000 00d77777700001000077777777777770077770000001d6700777700000d7777000000077770000000000007777000000077d7777707777700777700000000000 0016777777000000007777777767777007777000001d6d100777700000077770000000777700000000000077d700000007d7dd77706777700777700000000000 000d6777777000000077777776d777700777700001d676d1177770000007777000000077770000000000007d7d000000077dd7d770d777700777700000000000 0001d67777700000006777776d17777007777000001d6d100777700000077770000000777700000000000077d700000007777d77771777700777700077000000 00001d677777000001d77776d1077770077770000001d17001777000000777700000007777000000000000777700000007777777770777700777700777777700 000001d7777770000017777d10077770077770000007177007777000000777700000007777000000000000777700000007777677777777700777700777777770 00000016777770000007777100077770077777000007777007777000000717700000007777000000000007777700000007777d77777777700777700777777770 0000000d6777770000077770000777700777777000077770077777100d777770000000777700000000000777d600000007777d67777777700777700677777770 00000001d677770000077770000777700677777770777770067777700d7777700000007777000000000007777d000000077770d7777777600777700d66677770 007700001d77770000077770000777700d677777777777700d77d77777777760000000777700000000000777770000d0d7777016777777d007777001ddd77770 0777700007777700000771700007777001d6777777777760016777777777d6d000000077770000000000077777777d7d7d77700d777777100777700011177770 07777000777777000007777000077770001d6777777777d000d7777777776d60000000777700000000077777777777dddd77d001777777000777700000077770 077777777777760000077770000777700001d66777777610001667777716d160d00000677700000000777777777777d0d7d77000677777000777700000077770 0777777777776d00000777700006776000001dd666666d000001d166661d1100000000d66600000000777777777777000d777000d77777000777770000777770 067777777777d10000017160000d66d00000011dddddd10010011d16ddd700000000001ddd0000000067777777777600d77ddd00177777000677777777777770 0d66777777761000001016d00001dd1000000001111110000001d6d111170000000000011100000000d6666666666d0d7ddd7dd0067777000d77777777777760 01dd6666666d00000001dd10000011000000000000000000001d676d100000000000000000000000001dddddddddd100d6d777dd0d67760001677777777776d0 0011ddddddd10000000011000000000000000000000000000001d6d100111110000000000000000000011111111110d00ddd777dddd66d0000d6677777776d10 0000111111100000000000000000000000000000000000000000161001ddddd100000000000000000000000000000000dd77777777ddd100001dd6666666d100 000000000100000000000000000000000000000000000000000001001dd666dd1000000000000000000000000000000dd7777777777d100000011ddddddd1000 00000000000010000000000000000000000000000000000000000001d6677766d100000000000000000000000000000d77777777777d00000000011111110000 0000000001000000000000000000000000000000000000000000001dd6777776dd10000000000000000000000000000dd7777777777d00000000000000000000 0000000000000000001000000000000000000000000000000000601d677777776d100000000000000000000000000000d777777777d000000000000000000000 0000000000000000010100000000000000000000000000000000001d677777776d100000000000000000000000000000dd7777777dd000000000000000000000 0000000000000000001000000000000000000000000000000000001d677777776d1100000000000000000000000000000d7777777d0000000000000000000000 0000000000000000000000000000000000000000000000000000001d6777777776d1000000000000000000000000000000dd777dd00000000000000000000000 0000000000000000000000000000000000000000000000000000001d66777777766d1000000000000000000000000000000ddddd000000000000000000000000 1110101010100000111001100000000000000000000000000000001d67777777776dd10000000000000000000000000000000000000000000000000000000000 0100101010100000010010100100000000000000000000000000001d677777777776dd1000000000000000000000000000000000000000000000000000000000 0100111001000000010010100000000000000000000000000000001d6777777777776d1100000000000000000000000000000000000000000000000000000000 0100101010100000010010100110000000000000000000000000001d66777777777776d100000000000000000000000000000000000000000000000000000000 01001010101000000100110000000000000000000000000000000001d67777777777766d10000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000001d67777777777776d10000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000001d677777777777776d1000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000001d677777777777776d1000000000000000000000000000000000000000000000000000000 10011001101110111000000010101111101110101011101100000001d677777777777776d1111011100110000011101110111011101110111010101110100010 10100010000100101000010001011011001010101010101010000001d677777777777776d1100010101000000010101010100001000100100010100100100010 10100010000100111100101000110001001100101011101010000001d677777777777776d1110011101110000011001100110001000100110010100100100010 101000100001001010110100001110110010101110101010100100001d6777777777776d10100010100010000010101010100001000100100011100100100010 1001100110111010111000011111000110101001001dd010101000001d6677777777766d10111010101100000011101010111001000100111001001110111011 000000000000000000000010001110110000000dddd77d000000000001d66777777766d100000000000000000000000000000000000000000000000000000000 000000000000000000000100000111100000ddd7777dd00000000000011d667777766d1100000000000000000000000000000000000000000000000000000000 0000000000000000000001000001101100dd777dddd00000000000000011dd66666dd11000000000000000000000000000000000000000000000000000000000 000000000000000000000100000100010d77ddd00000000000000000000011ddddd1100000000000000000000000000000000000000000000000000000000000 000000000d000000000000100000101100dd00000000000000000000000000111110000000000000000000000000000000000000000000000000000000000000 00000000d7d000000000010000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000d0000000000011000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000d00000d0000000010000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000d7d000d7d000000010000000001000007777700000000777777777777000000000000000000000000000000000000000000000000000000000000000000 000000d00000d0000000010000000001000077777770000007777777777777700000777777770000000000000000000000000000000000000000000000000000 000000000d0000000000011000000011000777777777700007777777777777700007777777777000000000000000000000000000000000000000000000000000 00000000d7d000000000001000000010007777777777770006777777777777600077777777777700007777777770000000000000000000000000000000000000 000000000d000000000000011000110000777776777777000d666677777666d00077777667777700077777777777000000000000000000000000000000000000 000000000000000000000000111110000077776d6777760001dddd77776ddd100777776dd6777770077777777777700000000000000000000000000000000000 00000000000000000000000000000000077777d1d6666d000011117777d11100077776d11d677770077777777777700000000000000000000000000000000000 00000000000000000000000000000000077777101dddd100000000777710000007777d1001d77770077776666777770000000000000000000000000000000000 0000000000000000000000000000000007777700011110000000007777000000077771000017777007777dddd777770000000000000000000000000000000000 00000000000000000000000000000000077777700000000000000077770000000777700000077770077771111677777000000000000000000000000000000000 00000000000000000000000000000000067777770000000000000077770000000777700000077770077770000d77777000000000000000000000000000000000 000000000000000000000000000000000d6777777000000000000077770000000777700000077770077770000177777000000000000000000000000000000000 0000000000000000000000000000000001d677777700000000000077770000000777777777777770077770000777777000000000000000000000000000000000 00000000000000000000000000000000001d67777770000000000077770000000777777777777770077777777777776000000000000000000000000000000000 000000000000000000000000000000000001d677777700000000007777000000077777777777777007777777777776d000000000000000000000000000000000 0000000000000000000000000000000000001d6777777000000000777700000007777777777777700777777777776d1000000000000000000000000000000000 00000000000000000000000000000000000001d67777700000000077770000000777766666677770077777777776d10000000000000000000000000000000000 000000000000000000000000000000000000001d67777700000000777700000007777dddddd77770077776677777100000000000000000000000000000000000 0000000000000000000000000000000000000001d77777000000007777000000077771111117777007777dd67777000000000000000000000000000000000000 000000000000000000000000000000000077000017777700000000777700000007777000000777700777711d7777700000000000000000000000000000000000 00000000000000000000000000000000077770000777770000000077770000000777700000077770077770017777700000000000000000000000000000000000 00000000000000000000000000000000077770007777760000000077770000000777700000077770077770006777770000000000000000000000000000000000 000000000000000000000000000000000777700777777d000000007777000000077770000007777007777000d777770000000000000000000000000000000000 00000000000000000000000000000000077777777777610000000077770000000777700000077770077770001677770000000000000000000000000000000000 00000000000000000000000000000000077777777777d00000000077770000000777700000077770077770000d77770000000000000000000000000000000000 00000000000000000000000000000000067777777776100000000067770000000777700000077770077770000177770000000000000000000000000000000000 000000000000000000000000000000000d677777766d0000000000d6660000000677700000067760077770000067777000000000000000000000000000000000 0000000000000000000000000000000001d666666dd100000000001ddd0000000d666000000d66d00777700000d7777000000000000000000000000000000000 00000000000000000000000000000000001dddddd1100000000000011100000001ddd0000001dd10077770000017777000000000000000000000000000000000 00000000000000000000000000000000000111111000000000000000000000000011100000001100067760000006776000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000d66d000000d66d000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000001dd10000001dd1000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000110000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000dddddddddddddddddddddddddddddddd00000000000000000000000000ddddddddddddddddddddddddddd00 00000000000000000000000000000000000000000d111111111111111111111111111111d00000000000000000000000000d1111111111111111111111111d00 00000000000000000000000000000000000000000d000000000000000000000000000000d00000000000000000000000000d0000000000777700007777000d00 00000000000000000000000000000000000000000d000000077000000000000000000000d00000000777000077700000000d007000000777dd7007dd77700d00 00000000000000000000000000000000000000000d000000777700000000777000700700d00000007ddd7007ddd70000000d0077000007771170071177700d00 00077007707700777077700770700007700000000d000000dddd00000007ddd000700700d00000007111700711170000000d0077700007777770077777700d00 007dd07d707d70d7d07d707d7070007dd00700000d000700111100700007111000d77d00d000000070007007777d0000000d0077770007dddd7007dddd700d00 00711071707170171077d07170700077700d00000d0077000000007700070000007dd700d000000070007007ddd70000000d0077dd0007111170071111700d00 0070007070707007007d7070707000dd700700000d00770077770077000d777000711700d0000000d777d00711170000000d00dd710007000070070000700d00 00d77077d070700700717077d0777077d00d00000d00d700d77d007d0001ddd000d00d00d00000001ddd100d000d0000000d0011d0000d7777d00d7777d00d00 001dd0dd10d0d00d00d0d0dd10ddd0dd100100000d001d001dd100d10000111000100100d00000000111000100010000000d0000100001dddd1001dddd100d00 00011011001010010010101100111011000000000d000100011000100000000000000000d00000000000000000000000000d0000000000111100001111000d00 00000000000000000000000000000000000000000dddddddddddddddddddddddddddddddd00000000000000000000000000ddddddddddddddddddddddddddd00 00000000000000000000000000000000000000000111111111111111111111111111111110000000000000000000000000011111111111111111111111111100 __sfx__ 010e00001355221535175551853513552215351755524535135521553517555185351855223535155551f5351355215535175551853513552215352355524535135522153517555245351855223535155551f535 010e00001075300000306150000010753000003061530615107530000030615000001075300000000000000010753000003061500000107530000030615306151075300000306150000010753000001075300000 010e00000c5521a555105551d555135552155517555245550c5520e555105551d5551f55521555175551855513552155551755518555135522155523555245550c5521a555105551d5551f555215551755518555 010e000013555135352155515535235551753518555185350f5550f5351e555125352055514535165551653513555135352155515535235551753518555185350f5550f5351e5551253520555145351655516535 011000000c5550c5350e5550e5351055510535115551153513555135350e5550e535105551053515555155350e5550e535105551053511555115350e5550e5350c5550c5350b5550b53511555115350e5550e535 0110000013555135352155515535235551753518555185350f5550f5351e555125352055514535165551653513555135352155515535235551753518555185350f5550f5351e555125351c55510535185550c535 0110000007555075351555509535175550b5350c5550c5350355503535125550653514555085350a5550a53507555075351555509535175550b5350c5550c5350355503535125550653510555045350c55500535 010e000007555075351555509535175550b5350c5550c5350355503535125550653514555085350a5550a53507555075351555509535175550b5350c5550c5350355503535125550653514555085350a5550a535 010e0000107330c500306000000010733000003060030600107331550030600000001073300000000000000010733135003061500000107330000030600306001073300000306150000010733000001073300000 010e00001073300000306150000010733000003061530615107330000030615000001073300000000000000010733000003061500000107330000030615306151073300000306150000010733000001073300000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 010c0000103531c353115551355521555215452d5352d525395152400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 010c00000513321512130340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 010c0000091331d512070341d50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 010a00002431306054065550653506515000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 010a00001c343246452a0550655506515000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 010c00003462311615000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 010c0000103631c363283631564515635156251561509615096150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 __music__ 01 07014344 00 03014344 00 07014344 02 03414344 01 08424344 00 09424344 00 09424344 02 09424344