Challenge: 
Winner?: 
No
Code Snippet: 
sync on
sync rate 0
randomize timer()

#constant B_WIDTH 48
#constant B_HEIGHT 16
#constant B_TYPES 10

select rnd(3)
   case 0 : offset = 0 : range = 45 : endcase
   case 1 : offset = 135 : range = 25 : endcase
   case 2 : offset = 200 : range = 30 : endcase
   case 3 : offset = 70 : range = 30 : endcase
endselect



for i = 1 to B_TYPES
   makeBrickImage( hsv2dword(offset + rnd(range), 0.8, 0.8), i)
next i





Type Block
   x as integer
   y as integer
   BlockType as integer
EndType

GRID_WIDTH as integer : GRID_HEIGHT as integer
GRID_WIDTH  = screen width()  / B_WIDTH
GRID_HEIGHT = screen height() / B_HEIGHT * 0.25

dim grid(GRID_WIDTH, GRID_HEIGHT) as Block
for i = 0 to GRID_WIDTH-1
   for j = 0 to GRID_HEIGHT-1
      grid(i, j).x = i * B_WIDTH
      grid(i, j).y = j * B_HEIGHT
      grid(i, j).BlockType = rnd(B_TYPES-1)+1

      sNum = 1 + i + (j * GRID_WIDTH)
      sprite sNum, grid(i, j).x, grid(i, j).y, grid(i, j).BlockType
      set sprite sNum, 0, 0
   next j
next i




`Player
datatoimage(1000)
Type Coord2D
   x as float
   y as float
EndType
Type PlayerData
   p as Coord2D
   v as Coord2D
   angV as float
   ang as float
EndType

Player as PlayerData
Player.p.x = screen width() * 0.5
Player.p.y = screen height() * 0.8
Player.v.x = -120.0
Player.v.y = -120.0
Player.angV = 45.0
Player.ang = 45.0

sprite 1000, Player.p.x, Player.p.y, 1000
set sprite 1000, 1, 1
size sprite 1000, B_WIDTH * 0.5, B_WIDTH * 0.5
offset sprite 1000, B_WIDTH * 0.25, B_WIDTH * 0.25



frameTime# = 1.0
startTime = timer()
do
   frameTime# = (frameTime# * 0.8) + ((timer() - startTime) * 0.2)
   frameTimeS# = frameTime# * 0.001
   startTime = timer()


   gosub ProcessPlayer


   sync
loop
end



ProcessPlayer:
   inc Player.p.x, Player.v.x * frameTimeS#
   inc Player.p.y, Player.v.y * frameTimeS#
   inc Player.ang, Player.angV * frameTimeS#

   sprite 1000, Player.p.x, Player.p.y, 1000
   rotate sprite 1000, Player.ang

   spriteCol = sprite collision(1000, 0)

   if spriteCol > 0
      text 0, screen height() - 20, "COLLISION: " + str$(spriteCol)
      Player.v.y = -Player.v.y
      delete sprite spriteCol
   endif

   if Player.p.x < 0
      Player.v.x = -Player.v.x
   else
      if Player.p.x + sprite width(1000) > B_WIDTH * GRID_WIDTH
         Player.v.x = -Player.v.x
      endif
   endif

   if Player.p.y + sprite height(1000) > screen height() then Player.v.y = -Player.v.y

return





function makeBrickImage(B_COL as DWORD, imgNum as integer)
   make memblock 1, 12 + (B_WIDTH * B_HEIGHT * 4)
   write memblock dword 1, 0, B_WIDTH
   write memblock dword 1, 4, B_HEIGHT
   write memblock dword 1, 8, 32

   i = 12
   while i < get memblock size(1)-1
      write memblock dword 1, i, B_COL
      inc i, 4
   endwhile

   `HIGH-LIGHT
   TempCol as DWORD
   r = rgbr(B_COL)*1.25 : if r > 255 then r = 255
   g = rgbg(B_COL)*1.25 : if g > 255 then g = 255
   b = rgbb(B_COL)*1.25 : if b > 255 then b = 255
   TempCol = rgb(r,g,b)
   `Fill the top row
   for i = 0 to B_WIDTH-1 : write memblock dword 1, 12 + (i*4) , TempCol : next i
   `Fill the left column (ie once every n-width pixels)
   for i = 0 to B_HEIGHT-1 : write memblock dword 1, 12 + (i*B_WIDTH*4) , TempCol : next i


   `LOW-LIGHT
   r = rgbr(B_COL)*0.75
   g = rgbg(B_COL)*0.75
   b = rgbb(B_COL)*0.75
   TempCol = rgb(r,g,b)
   `Fill the bottom row (ie, 1 row offset by "the width * the height -1)
   T = B_WIDTH * (B_HEIGHT-1) * 4
   for i = 1 to B_WIDTH-1 : write memblock dword 1, 12 + T + (i*4) , TempCol : next i
   `Fill the right column (ie once every n-width pixels + width-1)
   T = (B_WIDTH-1) * 4
   for i = 0 to B_HEIGHT-1 : write memblock dword 1, 12 + T + (i*B_WIDTH*4) , TempCol : next i


   make image from memblock imgNum, 1
   delete memblock 1
endfunction



function datatoimage(image)
   memblock=1

   read size
   make memblock 1,size

   read sx `as dword
   read sy `as dword
   read depth `as dword
   write memblock dword 1,0,sx
   write memblock dword 1,4,sy
   write memblock dword 1,8,depth

   for x=0 to sx-1
      for y=0 to sy-1
         pos=(y*sx+x)*4+12
         read b `as byte
         read g `as byte
         read r `as byte
         read a `as byte

         write memblock byte 1,pos,b
         write memblock byte 1,pos+1,g
         write memblock byte 1,pos+2,r
         write memblock byte 1,pos+3,a
      next y
   next x

   make image from memblock image,1
endfunction


remstart
   h: 0.0 => 360.0
   s: 0.0 => 1.0
   v: 0.0 => 1.0

   returns: Color as DWORD
remend
function hsv2dword(H as float, S as float, V as float)
   `Sanitize the input...
   if H < 0.0 then H = 0.0 else if H > 360.0 then H = 360.0
   if S < 0.0 then S = 0.0 else if S >   1.0 then S =   1.0
   if V < 0.0 then V = 0.0 else if V >   1.0 then V =   1.0

   `Variable for returned Colour
   returnCol as DWORD

   `Section of the Hue
   Hi as integer : Hi = (H / 60.0) mod 6

   `f is a fraction of the section
   f as float : f = (H / 60.0) - Hi

   `p, q and t are temp variables used to work out the rgb values before we know where to put them
   p as float : p = V * (1.0 - S)
   q as float : q = V * (1.0 - (f * S))
   t as float : t = V * (1.0 - ((1.0 - f) * S))

   `Depending on the section worked out above, we store the rgb value appropriately...
   R as float : G as float : B as float
   select Hi
      case 0 : R = V : G = t : B = p : endcase
      case 1 : R = q : G = V : B = p : endcase
      case 2 : R = p : G = V : B = t : endcase
      case 3 : R = p : G = q : B = V : endcase
      case 4 : R = t : G = p : B = V : endcase
      case 5 : R = V : G = p : B = q : endcase
   endselect

   `Sanitize the output - just incase of floating point errors...
   if R < 0.0 then R = 0.0 else if R > 1.0 then R = 1.0
   if G < 0.0 then G = 0.0 else if G > 1.0 then G = 1.0
   if B < 0.0 then B = 0.0 else if B > 1.0 then B = 1.0

   `Convert to Bytes and then convert to a DWORD using the rgb() function
   rByte as byte : rByte = R * 255
   gByte as byte : gByte = G * 255
   bByte as byte : bByte = B * 255

   returnCol = rgb(rByte, gByte, bByte)
endfunction returnCol



data 16396
data 64
data 64
data 32
data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,217,217,219,1,231,231,231,13,246,246,246,13,237,242,247,19,234,241,246,44,160,206,225,46,82,157,201,46,74,177,225,46,66,212,255,33,59,207,255,13,54,200,250,13,52,185,231,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,183,222,1,222,222,244,19,246,243,248,54,248,248,248,105,247,247,247,164,245,250,255,206,252,252,252,209,236,242,247,215,230,236,239,241,142,185,208,242,85,133,178,242,77,166,213,242,69,210,255,229,61,211,255,209,55,209,255,206,49,206,255,168,43,203,255,135,38,198,255,77,33,191,248,25,32,176,227,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,212,241,6,202,202,243,63,220,220,247,156,247,250,255,212,250,251,251,242,249,249,249,255,248,252,255,255,254,254,254,255,239,244,249,255,228,234,231,255,175,202,217,255,97,150,188,255,88,140,184,255,79,176,223,255,71,214,255,255,63,212,255,255,56,210,255,255,50,208,255,255,44,205,255,255,39,200,255,251,34,196,253,219,30,192,250,164,27,188,247,98,23,182,242,36,27,156,205,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,234,251,6,226,226,251,63,217,217,248,168,217,217,249,241,245,245,253,255,253,253,253,255,252,255,255,255,250,250,250,255,255,255,255,255,242,243,243,255,233,238,242,255,194,213,217,255,110,167,197,255,100,146,186,255,90,168,212,255,81,210,255,255,73,214,255,255,65,212,255,255,58,210,255,255,51,208,255,255,46,207,255,255,40,203,255,255,35,198,255,255,31,195,252,255,27,190,250,254,24,186,246,226,21,181,242,142,18,176,238,43,20,154,206,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,251,254,1,247,247,255,57,240,240,255,168,232,232,253,241,223,223,251,255,241,241,254,255,254,254,255,255,254,254,254,255,253,255,253,255,251,254,251,255,246,249,246,255,238,241,238,255,214,224,223,255,145,185,207,255,112,154,191,255,102,161,202,255,92,202,245,255,83,217,255,255,75,215,255,255,67,213,255,255,59,210,255,255,53,209,255,255,47,207,255,255,41,205,255,255,36,201,255,255,32,196,255,255,28,193,251,255,24,188,248,255,21,183,244,255,19,179,240,228,17,175,237,142,15,171,233,43,20,138,184,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,10,255,255,255,108,251,251,255,231,244,244,255,255,236,236,254,255,236,236,254,255,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,244,247,244,255,230,235,232,255,186,204,218,255,125,169,200,255,114,160,198,255,104,190,230,255,94,219,255,255,85,218,255,255,76,215,255,255,68,213,255,255,60,211,255,255,54,209,255,255,47,207,255,255,42,206,255,255,37,203,255,255,32,198,255,255,28,194,253,255,25,189,249,255,22,186,245,255,19,181,242,255,17,178,239,255,15,173,236,228,13,168,232,108,12,159,219,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,158,255,255,255,249,255,255,255,255,247,247,255,255,239,239,255,255,250,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,255,253,255,255,255,255,255,240,244,248,255,220,224,232,255,146,187,209,255,128,166,199,255,116,180,217,255,105,214,255,255,95,220,255,255,86,218,255,255,77,215,255,255,69,213,255,255,61,211,255,255,54,209,255,255,48,208,255,255,42,206,255,255,37,205,255,255,33,201,255,255,29,196,255,255,25,192,251,255,22,187,248,255,19,182,244,255,17,179,240,255,15,174,237,255,13,170,233,249,12,166,230,151,11,162,226,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,1,255,255,255,64,255,255,255,200,255,255,255,255,255,255,255,255,255,255,255,255,249,249,255,255,247,247,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,253,253,255,253,254,254,255,234,239,237,255,188,210,221,255,140,176,205,255,129,174,208,255,117,205,243,255,106,223,255,255,96,221,255,255,86,218,255,255,78,216,255,255,69,213,255,255,62,211,255,255,55,209,255,255,48,208,255,255,42,206,255,255,37,205,255,255,33,203,255,255,29,199,255,255,25,194,254,255,22,189,250,255,19,185,246,255,17,181,243,255,15,177,239,255,13,172,236,255,12,168,232,254,11,165,228,187,11,161,225,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,10,255,255,255,108,255,255,255,231,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,250,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,254,255,255,248,252,248,255,223,230,234,255,152,192,213,255,141,175,206,255,129,192,226,255,117,221,255,255,106,223,255,255,96,221,255,255,87,218,255,255,78,216,255,255,69,213,255,255,62,211,255,255,55,209,255,255,48,208,255,255,43,206,255,255,37,205,255,255,33,203,255,255,29,200,255,255,25,188,247,255,22,145,193,255,19,102,141,255,17,152,207,255,15,178,240,255,13,173,237,255,12,170,233,255,11,166,230,255,11,162,226,217,11,150,214,74,15,102,156,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,10,255,255,255,149,255,255,255,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,252,250,252,255,237,239,239,255,190,210,221,255,152,184,210,255,140,181,213,255,129,214,248,255,117,226,255,255,106,223,255,255,96,221,255,255,86,218,255,255,78,216,255,255,69,213,255,255,62,211,255,255,55,209,255,255,48,208,255,255,42,206,255,255,37,205,255,255,33,203,255,255,29,188,243,255,25,123,162,255,22,38,56,255,19,19,19,255,17,104,144,255,15,180,243,255,13,176,239,255,12,172,234,255,11,168,231,255,11,165,227,255,11,160,224,238,11,134,197,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,3,255,255,255,110,255,255,255,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,254,255,255,247,247,247,255,220,225,228,255,163,195,214,255,151,182,211,255,139,198,229,255,128,225,255,255,116,226,255,255,105,223,255,255,95,220,255,255,86,218,255,255,77,215,255,255,69,213,255,255,61,211,255,255,54,209,255,255,48,208,255,255,42,206,255,255,37,205,255,255,33,182,235,255,29,102,135,255,25,25,41,255,22,22,22,255,19,66,93,255,17,156,209,255,15,181,244,255,13,177,240,255,12,173,237,255,11,170,233,255,11,166,230,255,11,162,225,255,11,155,218,224,11,108,171,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,74,255,255,255,238,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,248,251,253,255,239,237,239,255,197,212,220,255,160,187,213,255,149,186,215,255,137,215,247,255,125,228,255,255,114,225,255,255,104,223,255,255,94,220,255,255,85,218,255,255,76,215,255,255,68,213,255,255,60,211,255,255,54,209,255,255,47,207,255,255,42,206,255,255,37,175,224,255,32,80,105,255,28,28,28,255,25,25,25,255,22,22,22,255,19,90,125,255,17,168,223,255,15,183,245,255,13,178,242,255,12,174,238,255,11,171,234,255,11,167,231,255,11,164,227,255,11,160,224,255,11,134,196,191,11,90,154,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,253,255,45,255,255,255,217,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,253,255,255,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,255,255,255,250,251,251,255,228,231,232,255,174,202,217,255,158,186,213,255,146,197,227,255,135,227,255,255,123,228,255,255,112,225,255,255,102,222,255,255,92,219,255,255,83,217,255,255,75,215,255,255,67,213,255,255,59,210,255,255,53,209,255,255,47,207,255,255,41,206,255,255,36,127,163,255,32,32,32,255,28,34,49,255,24,40,57,255,21,21,21,255,19,19,19,255,17,81,113,255,15,163,220,255,13,180,243,255,12,176,239,255,11,172,236,255,11,168,232,255,11,165,228,255,11,161,225,255,11,154,218,254,11,108,170,146,11,88,152,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,241,241,255,24,247,247,255,187,251,251,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,251,251,255,255,248,248,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,254,255,255,246,247,247,255,214,223,228,255,165,194,215,255,154,188,216,255,143,210,241,255,132,230,255,255,120,227,255,255,110,224,255,255,100,222,255,255,90,219,255,255,81,216,255,255,73,214,255,255,65,212,255,255,58,210,255,255,51,208,255,255,46,207,255,255,40,205,255,255,35,175,225,255,31,119,155,255,27,151,198,255,24,155,205,255,21,73,101,255,18,18,18,255,16,16,16,255,14,79,111,255,13,159,215,255,12,178,240,255,11,173,237,255,11,170,233,255,11,166,230,255,11,162,226,255,11,159,222,255,11,124,185,245,11,89,153,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,