gif_dance.py

Created by schraf

Created on July 10, 2022

18.7 KB


from kandinsky import fill_rect
from time import sleep

def draw_image(rle, x0, y0, w, pal, zoomx=1, zoomy=1, itransp=-1):
  i, x = 0, 0
  x0, y0 = int(x0), int(y0)
  nvals = len(pal)
  nbits = 0
  nvals -= 1
  while(nvals):
    nvals >>= 1
    nbits += 1
  maskval = (1 << nbits) - 1
  maskcnt = (0xFF >> nbits >> 1) << nbits
  while i<len(rle):
    v = rle[i]
    mv = v & maskval
    c = (v & maskcnt) >> nbits
    if (v & 0b10000000 or nbits == 8):
      i += 1
      c |= rle[i] << (7 - nbits + (nbits == 8))
    c = c + 1
    while c:
      cw = min(c, w - x)
      if mv != itransp:
        fill_rect(x0 + x*zoomx, y0, cw*zoomx, zoomy, pal[mv])
      c -= cw
      x = (x + cw) % w
      y0 += x == 0 and zoomy
    i += 1

palette = (
"#609498","#f8ccb0","#202c48","#482828","#484c78","#d04468","#5878a0","#b064a8","#d89088","#b0a4b8","#d89ca8","#f0b088","#c8c0b0","#d8d0c0","#f8fcf8",
)
image54 = (
b"\xf0\23\1\v\xb0\a\1+\xa0\a;\xe0\6c\xd0\6\x93\1\xb0\6\xb3\1\x90\6\xc3\1\x80\6\xd3\1\xf0\5\xe3\1\xe0\5\xa3\1\2\3\2\3\xf0\5C\x113\1\16\4\21\xd0\5C!\v\23Q\xd0\5C\21\33\27!\25\1\xd0\x053\0\21\v7\21\25\xd0\5C!\a:\27\n\xe0\x053\0!\27Z\xe0\x053!\n':\xf0\5#\0!\xf7\0\xf0\5#\0\21\xf7\0\x90\6\23\0\xf7\0\32\x90\6\23\0W:\xa0\6\3\x107J\xb0\6\3\x007J\xe0\6\27Z\xe0\6\27J\a\xe0\6\2\aJ\27\xd0\6\4\2\a*\27\22\xb0\6\2\4\x92\1\xa0\6\2\4\x92\1\xa0\6\2\4\xa2\1\x90\6\xc2\1\xa0\6\xc2\1\x90\6\xc2\1\xa0\6\xb2\1\xa0\6\22\3;\23\33\xd0\6+\21;\xd0\6\33!K\xc0\6\33!K\xc0\6\v1\0;\xc0\6\v1\0;\xc0\6\v! ;\xb0\6\v! \b+\xb0\6\v!8+\xb0\6\v!H\33\xb0\6\v\21\xf8\0\xb0\6\v\21\b\xa0\a\33\1\xa0\a;\xa0\a+\xb0\a+\xb0\a+\x90\2\t\x80\5\33\x90\2L\xd0\4\33\x80\2l\xc0\4\33\x80\2\xfc\0\xb0\4\33\x80\2\t\34\r,\r\xb0\4\33\x80\2\t\34\35\34\35\x90\4+\x90\2\t\f\35\34\35\xd0\3\16\r\20\v\21\x90\2\t\34=\f\xd0\3\35\26\v\21\x86\1\x90\1\t]\x80\3\x86\1\v!\xc6\1@\t\r\4\35\4\r\xe0\2\xa6\1\33!\xd6\x010\r\4\35\4\r\xd0\2\xc6\1;\xe6\x010=\t\20\r\xb0\2\xd6\3 \26\t\35\26\t\6\xe0\2\x96\x030&\tf\xa0\3\xf6\1\x90\1\x86\1\xf0'"
)
image53 = (
b"\xe0\22\21\xb0\a\21\33\xa0\a;\20S\xa0\6\a\v \xf3\0\x80\6'\20\x93\1\xf0\5\27\20\xa3\1\xf0\5\27\20\xa3\1\xe0\5'\0\xa3\1\xf0\5'c\33\23\x80\6\a\32S;\1\x80\6\27c;\1\x90\6\ac+\1\xb0\6c\33\1\xb0\6S\27\33\32\xa0\6S\a+*\x90\6C\27+\a\32\x90\6C\27+'\x90\x0637\33\27\xb0\6#\xf7\0\xb0\6#\xf7\0\xc0\6\23g\xd0\6#W\xd0\6\n\23W\xd0\6\n\a\23W\xd0\6\n\a#G\xc0\6\4\n\xf7\0\xc0\6\"W\2\xb0\6\2\4\x82\1\xb0\6\2\4\x82\1\xb0\6\2\4\x92\1\x90\6\22\4\x92\1\x90\6\22\4\xa2\1\x80\6\xd2\1\x90\6\22\4B\3\v\b\22\x90\6b\3\33(\xa0\6B;(\xd0\6\30;(\xd0\6\30+\1(\xd0\6\b;8\xd0\6\b+\18\xd0\6\b+\1\08\xc0\6\b+X\xc0\6\b\33\1X\xb0\6\b+\1X\xa0\6\30+\b\x80\a\30+\x90\a\b+\1\x90\a\b+\xd0\1\t\xc0\5+\xe0\1<\t\xf0\4+\xd0\1\\\t\xd0\4+\xd0\1\t\\\r\xd0\4+\xd0\1\31\f\35\31\35\xc0\4+\xe0\1\31-\t\35\xc0\4+\xe0\1)]\xb0\4\33\x80\2\31]\xb0\4\33\xf0\0\r\xf0\0\31M\4\xb0\1\r\xe0\2\33\x90\2\t\35\4\35\4\xb0\4\v\1\xa0\2\t\r\4-\x80\4\26\b\21\x86\1\xa0\1=\xc0\3V\r\b!\xc6\1P\31\20\t\x90\3\x86\1\b\33!\xc6\1@\t\xb0\3\xa6\1H\xd6\1\0\x86\1\xf0\2\xb6\3 f\xa0\3\xf6\2\xb0\5\xd6\1\xb0*"
)
image52 = (
b"\x80#S\xa0\6\21 \xf3\0\x90\6!\0\x93\1\x80\6!\0\x93\1\x80\6\27\20\x93\1 \21\xb0\5\27\20\x93\1\20\v!\xa0\5\27\0\xa3\1 !\x90\5'\0\x93\x010'\x90\5'\0\x93\x010'\x90\5'\n\x83\1\n0\27\xa0\x057\xf3\0\27:\27\xa0\5'\x83\1'\32'\xd0\5\xf3\0\xf7\0\xe0\5c7\x007\xe0\5SG\xb0\6S7\xc0\6CG\xd0\x0637\xe0\x0637\xe0\6\a#G\xc0\6\a\n37\xc0\6*S\27\xb0\6:3'\xb0\6JW\xc0\6\4*7\22\xc0\6\xa2\1\xb0\6\xa2\1\xa0\6\22\4\x92\1\x90\6\22\4\x92\1\x90\6\22\24\x82\1\x90\6\22\24\x82\1\x90\6\"\4\xf2\0\xa0\x062\4R\xc0\6\x82\1\b\xd0\6B8\xe0\6\xf8\0\xe0\6\33H\xf0\6\33H\xf0\6+8\x80\a\338\x80\a\33\30\21\x80\a\33\30!\xf0\6\33\30\v\21\xf0\6\b[\209\0\34\xf0\5+\0\33\0)\34\t\34\xf0\5+\0\v\21),\t\f\t\xe0\5+\0\v\219L\xe0\5+\0+)\\\xe0\5+\0+)L\4\xe0\5+\0+\0\31\34\4\34\4\f\xe0\5\33\0\33 \31\f\4<\xe0\5\33`\31<\xf0\5\33\x80\1\t \t\xe0\5\x1b0\16\r0\f\xc0\3\r\xb0\2\x1b0\35\xb0\3\16\r\x80\3\33\x90\4\35\x80\2f\21\vV\20\xf6\0\xf0\3\xb6\1\21\v\x86\2\xc0\3\xd6\1;\xe6\1\xc0\3\xe6\1;\xc6\1\xf0\3\xd6\3\xa0\4\x96\3\x90\5\xf6\1\xb0\3\r\xd0&"
)
image51 = (
b'\xe0\32S\xf0\6\xf3\0\xd0\6\x93\1\20\33\x80\6\x93\1\0;\xf0\5\xa3\1\0+\x80\6\x93\1\20\27\x90\6\x83\1\20\27\xc0\5\21\20\x93\1\20\27\xc0\5!\0\x93\1\20\27\xc0\5!\0\x83\1 \27\xc0\5\32\20\x83\1*\27\xc0\5\32\20\x83\1\a*\a\xc0\5\32\20\x83\x017\xd0\5\32\0\32\xf3\0\27\xf0\5J\x83\1\x80\6:\a\x83\1\x80\6\32\a\20\x83\1\xe0\6\xf3\0\xe0\6\a\xf3\0\xd0\6\27\xf3\0\20\3\x90\6\a\32\x83\1\xa0\6:\aS\xa0\6\aJ7\xc0\6ZG\xb0\6ZG\xb0\6Z\'\22\xb0\6\4*\aR\xa0\6\xc2\1\x90\6"\4\x82\1\x90\6"\4\x82\1\x90\6"\24\xf2\0\x90\6"\24b\xb0\6\22\24b\xb0\6"\4b\xc0\6\x82\1\xd0\6\30B\b\xe0\6;8\xe0\6\1;(\xe0\6\1;(\xf0\6;(\xf0\6\1+(\xf0\6\1+(\x80\a+8\xf0\6\1X\xf0\6\b+(\xf0\6;\0\b\33\xb0\6\f\20;\0\b\33\xa0\6\t\34\20+\0(\xb0\6\31\34+\0(\xc0\6,+\0\30\x90\6,\t,+\xf0\5\t\0l\t,\33\x80\6\xfc\0\31\34\33\xf0\5\t\xfc\09\33\xe0\5\31l)\20\33@\36\xf0\3\x1d0I<)\20\t\0\x1b0.\r\xe0\3\35\xf0\0I`\x1b0\36\35\xb0\3\36\xa0\1\31 f\v\x116\35\xb0\3.\rP&\t\xb6\1\v\21\x86\1\x80\3\36\35@\xf6\1;\xa6\1\xf0\2\35`\xe6\1;\xb6\1\x90\4\xb6\3\xe0\2\16\r\xb0\1\xf6\2\x80\3\35\x80\2\xd6\1\xb0*'
)
image50 = (
b"\x90\33+\xf0\6S\33\xd0\6\xf3\0\v\xc0\6\x93\1\xc0\6\xa3\1\xb0\x063\1S\xb0\6#\21c\xb0\6\3\1\24\1S\xb0\6\21\4\16\4c\xa0\6\21\4\16\1+3\xa0\x061\v!\v#\xa0\6\1\25\1\v!3\xb0\6\25\21\v\21\n3\xc0\6'!3\xb0\6\32'\21\n3\xa0\6:\a\21\nC\x90\6\a\32\27!C\xa0\x067\v\21\aC\x90\6G\21\aC\xa0\6\xf7\x003\xa0\6*G#\xb0\6:7\23\xc0\6J'\xe0\6J'\xe0\6Z'\xd0\6Z'\xc0\6\2Z\27\2\xc0\6\2J\a\"\xb0\6\"*B\xa0\6\xc2\1\x80\6B\4\xf2\0\x80\6B\24b\x90\x062\24b\x90\6\1\4\22\24R\x90\6!\v\4\xf2\0\x90\6!\v\1\v\3B\xa0\6!\v\21\33\3\22\xa0\6!\33!\33\xc0\6!\33!\33\xc0\6\21\33\b\0!\v\xc0\6\1\33\b\20!\v\xc0\6+(!\v\xc0\6\33H\21\v\xd0\6X!(\x80\a!\v(\x80\a\1+\30\x80\a;\30\x90\a;\b\xa0\a+\b\xc0\5\f\xc0\1+\xa0\5\f\t\0\34\xc0\1\33\xb0\5\f\31\34\xb0\1+\xb0\5\t,\2\xa0\1+\xb0\5\t,\4\f\xa0\1\33\xe0\4\t\0<\t<\xa0\1\33\xf0\4\\\t\34\t\xa0\1\33\xe0\4l)\xb0\1\21\0\16\r\xa0\4\t\\\31\20\xb6\1\21\v\35\x90\49,\t\26\t\xb6\1!\vV\xc0\3\31\209\xd6\x011\33\xf6\0\x80\3\rF\31\xf6\1K\x96\1\xe0\2V\t\xf6\3\x80\3\xb6\4\x90\5\xf6\1\xa0*"
)
image49 = (
b"\xa0\32\21\v\xb0\a!\v\xa0\a;\0C\xd0\6\27\0\xf3\0\xb0\6\27\x93\1\xa0\6\a\xa3\1\xb0\6\xb3\1\xa0\6S\1C\21\x80\6\3\22\23\x113!\x90\6\16\4\21\24\1#\33\21\x80\x061\4\16\x043+\x80\6a\a\32\23\32\x90\6\1\25\21\a:\3\32\xa0\6\25\1\27:\a*\x90\6\32\27Z\a\32\x90\6j\aJ\x90\6\a:7:\xa0\6\xf7\0\3*\xa0\6g3\xf0\5\3\20\3g3\x80\6#:'#\xa0\6\23Z\27\xd0\6\aj\a\xd0\6\xfa\0\a\xd0\6\x8a\1\a\xb0\6\2\x8a\1\a\xb0\6\22\xfa\0\27\xa0\6\"j\a\xa0\6R:\a\2\xa0\6\xb2\1\x90\6b\4B\x80\6\xf2\0\4B\x80\6b\24R\xf0\5b\24R\x80\6\21\4\xb2\1\xf0\5!\v\3\22\33\x042\x80\x061\v\20!\33\xa0\x061\v\x101\v\xa0\x061\v\x101\v\xa0\x061 1\xb0\6!\v 1\xb0\6!\v !\v\xb0\6!\b !\v\xb0\6\21\v\b !\xc0\6\1\v(\20!\xd0\68\20!\xe0\6(\20\21\33\xd0\6( +\xe0\6\30 ;\xd0\6( +\xd0\6\33\b +\xd0\6+ +\xd0\6+0\33\xd0\6+0\33\xd0\6\33@\33\xd0\4\34\20\34\x80\2\33\xd0\4\f\t\20\t\f\x80\2\1\v\xe0\4\t\34\t\xf0\0\x96\1\21\v\6\xb0\4Y\20\xd6\1!\v\rF\xe0\3Y\xe6\x011\v\xf6\0\xd0\3\t,\xf6\1;\x96\1\xb0\3\t\f\t,\xb6\3\xc0\3\tL\t\0\xf6\2\xe0\3\tL\tP\xd6\1\xb0\4\31,\31\xe0\6\26I\6\xd0\6\26\t&\t&\xd0\6\xf6\0\xb0\r"
)
image48 = (
b"\xa0\32\21\xb0\a!\v\xa0\a+0S\x90\6\x1a0\xf3\0\x80\6\x1a0\x83\1 \21\xa0\5\32 \x93\1\20\v!\x90\5\32 \xa3\1\20\33\1\x90\5*\20c\1# \21\x90\5:\0S!\x130\32\x90\5:\23\22\21\x143 \32\xa0\5\a*\4\16\4\21\4\16\4# \32\xc0\5\a\32Q\27\23 \32\xd0\5\a\n\21\25\21\a:\27*\xd0\5\32\1\25\1\a\x9a\1\xc0\5\3\a*\27:\27J\xc0\5\23\xfa\0\a\3\xe0\5\3\20#\aJ'\23\xe0\5C\xf7\0#\xf0\5Cg\23\xa0\6#g\xf0\6\a:\27\xf0\6Z\27\xe0\6j\a\xd0\6\aj\27\xc0\6\x8a\1\a\xc0\6\x8a\1'\x90\6\2\x8a\1\27\xa0\6\22j\a\2\xb0\6\xa2\1\xa0\6R\4B\xa0\6R\24B\x80\6\xf2\0\4B\x80\6\xf2\0\24B\xf0\5\xf2\1\xe0\5\4\1\x042\3\33\x042\x80\6\21\v\3\22\33\21\v\22\x90\6!\33\0\v!\v\xb0\x061\v\0\v!\v\xc0\6!\v\0\v!\v\xc0\6!\v\0\v!\v\xc0\x061\20!\v\xc0\x061\20!\v\xc0\x061\20!\v\xd0\6!\20\v\21\xe0\6!\20\b\21\xe0\6\21\v\20\b\33\xe0\6;\0(\xe0\6;\0(\xf0\6+\0(\xf0\6+\0(\xf0\6+\0(\x80\a\33\20\30\x80\a\33\xc0\a\33\x80\a\r \33\xc0\a\33\xc0\a\21\v\xc0\6V1V\x90\5\xa6\x011\xa6\1\xa0\4\6\34\x86\x011\v\xc6\1\xc0\3\34\0\26\t\f\x86\1;\xe6\1\xb0\3\f\31\0\31\xb6\3\xd0\3\31,\x96\3\xe0\3)\34\t<\0\xf6\1\xb0\4I<\t\f\xb0\6I\\\xc0\69\\\xd0\6\t\0\31<\t\xb0\6\6\t6I\xf0\4"
)
image47 = (
b'\x80"\21\xb0\a\v\21\v@S\xf0\5+@\xf3\x000\21\x80\5\32@\x93\1\20\v!\xe0\4*@\x93\1 \33\1\xe0\4*0\xb3\1 \21\xe0\4\32@\xf3\0\1# *\xd0\4\32@c!# \32\xd0\4Z\27\23\22\21\x143 \32\xd0\4\xfa\0\a\4\16\4\21\4\16\4\27\n \32\x80\5\aZQ\a\xfa\0\xa0\5\3\a*\21\25\21j\27\xa0\5\23\a*\1\25\1J\27\xc0\x053\a\x8a\1\a\3\xc0\5c\xfa\0\a\3\xe0\5S\aZ\27\x90\6Cg\xf0\6g\xf0\6\27:\27\xe0\6\aZ\a\xe0\6\aZ\27\xd0\6\aj\27\xb0\6\a\xfa\0\'\x90\6\27\xfa\0\27\xa0\6\27j\a\2\xc0\6\2\aJ"\xb0\6\xa2\1\xb0\6b\x042\x90\6\x82\1\4"\x90\6\x82\1\24\22\x80\6\xa2\1\24\22\xf0\5\xe2\1\xf0\5\x92\1\4\33\2\x90\6\21\x042\3\v\21\v\xa0\6!\v\3\2\0\v!\v\xa0\x061\v\20\v!\v\xa0\x061\v\20\v!\v\xb0\6!\v\20\v!\v\xb0\x061 !\v\xb0\x061 \v\21\v\xb0\x061 \v\21\v\xc0\6! \b\21\v\xc0\6!\20\30\21\v\xc0\6!\20(\33\xc0\6\v\21\20(\xe0\6+\20(\xe0\6+ \30\xe0\6+\xb0\a+\xc0\a\33\xc0\a\33\xc0\a\33\xc0\a\33\x80\a\16\r\20\33\x80\a\35\20\33\xb0\a+\xe0\3\16\xf0\x026\v\21f\xf0\2\r\xa0\2\x86\1!\xb6\1\xd0\1\r\xd0\2\x96\x011\v\xc6\1\x90\4\x86\1\r\6K\xd6\1\x90\4f-\x96\2\xc0\4&\35\f\r\x86\2\x80\5\r\4\35\0=\xf6\0\xc0\5\35\4\35\f]\xc0\3\r\xc0\2M\f]\f\0\f\xf0\5\f-,=,\x90\6<\31l\xb0\6I<)\xb0\3'
)
image46 = (
b"\xb0\24\21\xb0\a\v!\xb0\a+\xb0\6S \27\x90\6\x83\1\20\32\x80\6\x93\1\20\32\xc0\5\21\20\xa3\1\0\32\xb0\5!\v\xb3\1\a\32\xb0\5\1\33\0\x93\1\1\3\27\n\xa0\5\n\21\0\x93\1\2\4'\xa0\5*\20S\22\21\4\16\27\xa0\5* 3\a\4\16\x041\27\x90\5*\0:#\aa\a\xa0\5\xba\1\a\21\25\1\a\n\xa0\5j\27J\1\25\32\x80\x063\a\x8a\1\x80\x063\0\27Z\a\xf0\x053\20\xf7\0\x80\6# \xf7\0\x80\6\x130':\27\xe0\5\3P\27Z\a\xd0\6\27Z\27\xb0\6\27\xfa\0\a\x90\x067\xfa\0\a\xa0\6\27\x8a\1\xc0\6\a\x8a\1\xc0\6\2\aj\4\xc0\6\x92\1\xb0\6\x82\1\4\22\xa0\6\xb2\1\x90\6\xa2\1\4\2\x90\6\xd2\1\x80\6\xd2\1\x90\6\x92\1\3\v\xb0\6\21\v\3\"\3+\xb0\6!\33\0+\21\xb0\x061\v\0\33!\xb0\x061\v\0\33!\xb0\x061\v\20\v!\xc0\x061\20\v1\xb0\x061 \v!\xb0\x061\20\b\v!\xb0\6\v!\20\30!\xc0\6!\0(\v\21\xc0\6!\08\21\xc0\6\v\21\0(\xf0\6\v\21\20\30\xf0\6+\xa0\a;\xa0\a+\xb0\a+\xb0\a+\xb0\a+\xb0\a\33\xc0\a\33\x80\a\36\20\33\xf0\6.\r\0\33\xf0\6\36\35\0\33\xa0\2\t\xb0\4\6\35\6\v\21\x86\1P<\xa0\1\36\xa0\2\x86\1\v\21\v\xc6\1\\\0\t`.\r\xf0\1\xa6\1\v!\v\x96\1\r,\35\34\t0\35\20\36\35\xe0\1\xb6\1K\x86\1\35\34-\34\t0\35 \35\x80\2\x86\3\35\t-\34\t\xe0\3\xe6\2]\34\t\x80\1\35\x80\3\xf6\1\0\35\4=\f\t\x90\1\35\x90\5\35\4-\f\31\xd0\6M\f\31\xf0\6-\f\t6\xb0\6\26\t\26\tV\x90\6V\t6\xd0\1"
)
image45 = (
b"\xf0\23\1\v\xb0\a\1+\xa0\a;\xe0\6c\xd0\6\x93\1\xb0\6\xb3\1\x90\6\xc3\1\x80\6\xd3\1\xf0\5\xe3\1\xe0\5\xa3\1\2\3\2\3\xf0\5C\x113\1\16\4\21\xd0\5C!\v\23Q\xd0\5C\21\33\27!\25\1\xd0\x053\0\21\v7\21\25\xd0\5C!\a:\27\n\xe0\x053\0!\27Z\xe0\x053!\n':\xf0\5#\0!\xf7\0\xf0\5#\0\21\xf7\0\x90\6\23\0\xf7\0\32\x90\6\23\0W:\xa0\6\3\x107J\xb0\6\3\x007J\xe0\6\27Z\xe0\6\27J\a\xe0\6\2\aJ\27\xd0\6\4\2\a*\27\22\xb0\6\2\4\x92\1\xa0\6\2\4\x92\1\xa0\6\2\4\xa2\1\x90\6\xc2\1\xa0\6\xc2\1\x90\6\xc2\1\xa0\6\xb2\1\xa0\6\22\3;\23\33\xd0\6+\21;\xd0\6\33!K\xc0\6\33!K\xc0\6\v1\0;\xc0\6\v1\0;\xc0\6\v! ;\xb0\6\v! \b+\xb0\6\v!8+\xb0\6\v!H\33\xb0\6\v\21\xf8\0\xb0\6\v\21\b\xa0\a\33\1\xa0\a;\xa0\a+\xb0\a+\xb0\a+\x90\2\t\x80\5\33\x90\2L\xd0\4\33\x80\2l\xc0\4\33\x80\2\xfc\0\xb0\4\33\x80\2\t\34\r,\r\xb0\4\33\x80\2\t\34\35\34\35\x90\4+\x90\2\t\f\35\34\35\xd0\3\16\r\20\v\21\x90\2\t\34=\f\xd0\3\35\26\v\21\x86\1\x90\1\t]\x80\3\x86\1\v!\xc6\1@\t\r\4\35\4\r\xe0\2\xa6\1\33!\xd6\x010\r\4\35\4\r\xd0\2\xc6\1;\xe6\x010=\t\20\r\xb0\2\xd6\3 \26\t\35\26\t\6\xe0\2\x96\x030&\tf\xa0\3\xf6\1\x90\1\x86\1\xf0'"
)
image44 = (
b"\xe0\22\21\xb0\a\21\33\xa0\a;\20S\xa0\6\a\v \xf3\0\x80\6'\20\x93\1\xf0\5\27\20\xa3\1\xf0\5\27\20\xa3\1\xe0\5'\0\xa3\1\xf0\5'c\33\23\x80\6\a\32S;\1\x80\6\27c;\1\x90\6\ac+\1\xb0\6c\33\1\xb0\6S\27\33\32\xa0\6S\a+*\x90\6C\27+\a\32\x90\6C\27+'\x90\x0637\33\27\xb0\6#\xf7\0\xb0\6#\xf7\0\xc0\6\23g\xd0\6#W\xd0\6\n\23W\xd0\6\n\a\23W\xd0\6\n\a#G\xc0\6\4\n\xf7\0\xc0\6\"W\2\xb0\6\2\4\x82\1\xb0\6\2\4\x82\1\xb0\6\2\4\x92\1\x90\6\22\4\x92\1\x90\6\22\4\xa2\1\x80\6\xd2\1\x90\6\22\4B\3\v\b\22\x90\6b\3\33(\xa0\6B;(\xd0\6\30;(\xd0\6\30+\1(\xd0\6\b;8\xd0\6\b+\18\xd0\6\b+\1\08\xc0\6\b+X\xc0\6\b\33\1X\xb0\6\b+\1X\xa0\6\30+\b\x80\a\30+\x90\a\b+\1\x90\a\b+\xd0\1\t\xc0\5+\xe0\1<\t\xf0\4+\xd0\1\\\t\xd0\4+\xd0\1\t\\\r\xd0\4+\xd0\1\31\f\35\31\35\xc0\4+\xe0\1\31-\t\35\xc0\4+\xe0\1)]\xb0\4\33\x80\2\31]\xb0\4\33\xf0\0\r\xf0\0\31M\4\xb0\1\r\xe0\2\33\x90\2\t\35\4\35\4\xb0\4\v\1\xa0\2\t\r\4-\x80\4\26\b\21\x86\1\xa0\1=\xc0\3V\r\b!\xc6\1P\31\20\t\x90\3\x86\1\b\33!\xc6\1@\t\xb0\3\xa6\1H\xd6\1\0\x86\1\xf0\2\xb6\3 f\xa0\3\xf6\2\xb0\5\xd6\1\xb0*"
)
image43 = (
b"\x80#S\xa0\6\21 \xf3\0\x90\6!\0\x93\1\x80\6!\0\x93\1\x80\6\27\20\x93\1 \21\xb0\5\27\20\x93\1\20\v!\xa0\5\27\0\xa3\1 !\x90\5'\0\x93\x010'\x90\5'\0\x93\x010'\x90\5'\n\x83\1\n0\27\xa0\x057\xf3\0\27:\27\xa0\5'\x83\1'\32'\xd0\5\xf3\0\xf7\0\xe0\5c7\x007\xe0\5SG\xb0\6S7\xc0\6CG\xd0\x0637\xe0\x0637\xe0\6\a#G\xc0\6\a\n37\xc0\6*S\27\xb0\6:3'\xb0\6JW\xc0\6\4*7\22\xc0\6\xa2\1\xb0\6\xa2\1\xa0\6\22\4\x92\1\x90\6\22\4\x92\1\x90\6\22\24\x82\1\x90\6\22\24\x82\1\x90\6\"\4\xf2\0\xa0\x062\4R\xc0\6\x82\1\b\xd0\6B8\xe0\6\xf8\0\xe0\6\33H\xf0\6\33H\xf0\6+8\x80\a\338\x80\a\33\30\21\x80\a\33\30!\xf0\6\33\30\v\21\xf0\6\b[\209\0\34\xf0\5+\0\33\0)\34\t\34\xf0\5+\0\v\21),\t\f\t\xe0\5+\0\v\219L\xe0\5+\0+)\\\xe0\5+\0+)L\4\xe0\5+\0+\0\31\34\4\34\4\f\xe0\5\33\0\33 \31\f\4<\xe0\5\33`\31<\xf0\5\33\x80\1\t \t\xe0\5\x1b0\16\r0\f\xc0\3\r\xb0\2\x1b0\35\xb0\3\16\r\x80\3\33\x90\4\35\x80\2f\21\vV\20\xf6\0\xf0\3\xb6\1\21\v\x86\2\xc0\3\xd6\1;\xe6\1\xc0\3\xe6\1;\xc6\1\xf0\3\xd6\3\xa0\4\x96\3\x90\5\xf6\1\xb0\3\r\xd0&"
)
image42 = (
b'\xe0\32S\xf0\6\xf3\0\xd0\6\x93\1\20\33\x80\6\x93\1\0;\xf0\5\xa3\1\0+\x80\6\x93\1\20\27\x90\6\x83\1\20\27\xc0\5\21\20\x93\1\20\27\xc0\5!\0\x93\1\20\27\xc0\5!\0\x83\1 \27\xc0\5\32\20\x83\1*\27\xc0\5\32\20\x83\1\a*\a\xc0\5\32\20\x83\x017\xd0\5\32\0\32\xf3\0\27\xf0\5J\x83\1\x80\6:\a\x83\1\x80\6\32\a\20\x83\1\xe0\6\xf3\0\xe0\6\a\xf3\0\xd0\6\27\xf3\0\20\3\x90\6\a\32\x83\1\xa0\6:\aS\xa0\6\aJ7\xc0\6ZG\xb0\6ZG\xb0\6Z\'\22\xb0\6\4*\aR\xa0\6\xc2\1\x90\6"\4\x82\1\x90\6"\4\x82\1\x90\6"\24\xf2\0\x90\6"\24b\xb0\6\22\24b\xb0\6"\4b\xc0\6\x82\1\xd0\6\30B\b\xe0\6;8\xe0\6\1;(\xe0\6\1;(\xf0\6;(\xf0\6\1+(\xf0\6\1+(\x80\a+8\xf0\6\1X\xf0\6\b+(\xf0\6;\0\b\33\xb0\6\f\20;\0\b\33\xa0\6\t\34\20+\0(\xb0\6\31\34+\0(\xc0\6,+\0\30\x90\6,\t,+\xf0\5\t\0l\t,\33\x80\6\xfc\0\31\34\33\xf0\5\t\xfc\09\33\xe0\5\31l)\20\33@\36\xf0\3\x1d0I<)\20\t\0\x1b0.\r\xe0\3\35\xf0\0I`\x1b0\36\35\xb0\3\36\xa0\1\31 f\v\x116\35\xb0\3.\rP&\t\xb6\1\v\21\x86\1\x80\3\36\35@\xf6\1;\xa6\1\xf0\2\35`\xe6\1;\xb6\1\x90\4\xb6\3\xe0\2\16\r\xb0\1\xf6\2\x80\3\35\x80\2\xd6\1\xb0*'
)
image41 = (
b"\x90\33+\xf0\6S\33\xd0\6\xf3\0\v\xc0\6\x93\1\xc0\6\xa3\1\xb0\x063\1S\xb0\6#\21c\xb0\6\3\1\24\1S\xb0\6\21\4\16\4c\xa0\6\21\4\16\1+3\xa0\x061\v!\v#\xa0\6\1\25\1\v!3\xb0\6\25\21\v\21\n3\xc0\6'!3\xb0\6\32'\21\n3\xa0\6:\a\21\nC\x90\6\a\32\27!C\xa0\x067\v\21\aC\x90\6G\21\aC\xa0\6\xf7\x003\xa0\6*G#\xb0\6:7\23\xc0\6J'\xe0\6J'\xe0\6Z'\xd0\6Z'\xc0\6\2Z\27\2\xc0\6\2J\a\"\xb0\6\"*B\xa0\6\xc2\1\x80\6B\4\xf2\0\x80\6B\24b\x90\x062\24b\x90\6\1\4\22\24R\x90\6!\v\4\xf2\0\x90\6!\v\1\v\3B\xa0\6!\v\21\33\3\22\xa0\6!\33!\33\xc0\6!\33!\33\xc0\6\21\33\b\0!\v\xc0\6\1\33\b\20!\v\xc0\6+(!\v\xc0\6\33H\21\v\xd0\6X!(\x80\a!\v(\x80\a\1+\30\x80\a;\30\x90\a;\b\xa0\a+\b\xc0\5\f\xc0\1+\xa0\5\f\t\0\34\xc0\1\33\xb0\5\f\31\34\xb0\1+\xb0\5\t,\2\xa0\1+\xb0\5\t,\4\f\xa0\1\33\xe0\4\t\0<\t<\xa0\1\33\xf0\4\\\t\34\t\xa0\1\33\xe0\4l)\xb0\1\21\0\16\r\xa0\4\t\\\31\20\xb6\1\21\v\35\x90\49,\t\26\t\xb6\1!\vV\xc0\3\31\209\xd6\x011\33\xf6\0\x80\3\rF\31\xf6\1K\x96\1\xe0\2V\t\xf6\3\x80\3\xb6\4\x90\5\xf6\1\xa0*"
)
image40 = (
b"\xa0\32\21\v\xb0\a!\v\xa0\a;\0C\xd0\6\27\0\xf3\0\xb0\6\27\x93\1\xa0\6\a\xa3\1\xb0\6\xb3\1\xa0\6S\1C\21\x80\6\3\22\23\x113!\x90\6\16\4\21\24\1#\33\21\x80\x061\4\16\x043+\x80\6a\a\32\23\32\x90\6\1\25\21\a:\3\32\xa0\6\25\1\27:\a*\x90\6\32\27Z\a\32\x90\6j\aJ\x90\6\a:7:\xa0\6\xf7\0\3*\xa0\6g3\xf0\5\3\20\3g3\x80\6#:'#\xa0\6\23Z\27\xd0\6\aj\a\xd0\6\xfa\0\a\xd0\6\x8a\1\a\xb0\6\2\x8a\1\a\xb0\6\22\xfa\0\27\xa0\6\"j\a\xa0\6R:\a\2\xa0\6\xb2\1\x90\6b\4B\x80\6\xf2\0\4B\x80\6b\24R\xf0\5b\24R\x80\6\21\4\xb2\1\xf0\5!\v\3\22\33\x042\x80\x061\v\20!\33\xa0\x061\v\x101\v\xa0\x061\v\x101\v\xa0\x061 1\xb0\6!\v 1\xb0\6!\v !\v\xb0\6!\b !\v\xb0\6\21\v\b !\xc0\6\1\v(\20!\xd0\68\20!\xe0\6(\20\21\33\xd0\6( +\xe0\6\30 ;\xd0\6( +\xd0\6\33\b +\xd0\6+ +\xd0\6+0\33\xd0\6+0\33\xd0\6\33@\33\xd0\4\34\20\34\x80\2\33\xd0\4\f\t\20\t\f\x80\2\1\v\xe0\4\t\34\t\xf0\0\x96\1\21\v\6\xb0\4Y\20\xd6\1!\v\rF\xe0\3Y\xe6\x011\v\xf6\0\xd0\3\t,\xf6\1;\x96\1\xb0\3\t\f\t,\xb6\3\xc0\3\tL\t\0\xf6\2\xe0\3\tL\tP\xd6\1\xb0\4\31,\31\xe0\6\26I\6\xd0\6\26\t&\t&\xd0\6\xf6\0\xb0\r"
)
image39 = (
b"\xa0\32\21\xb0\a!\v\xa0\a+0S\x90\6\x1a0\xf3\0\x80\6\x1a0\x83\1 \21\xa0\5\32 \x93\1\20\v!\x90\5\32 \xa3\1\20\33\1\x90\5*\20c\1# \21\x90\5:\0S!\x130\32\x90\5:\23\22\21\x143 \32\xa0\5\a*\4\16\4\21\4\16\4# \32\xc0\5\a\32Q\27\23 \32\xd0\5\a\n\21\25\21\a:\27*\xd0\5\32\1\25\1\a\x9a\1\xc0\5\3\a*\27:\27J\xc0\5\23\xfa\0\a\3\xe0\5\3\20#\aJ'\23\xe0\5C\xf7\0#\xf0\5Cg\23\xa0\6#g\xf0\6\a:\27\xf0\6Z\27\xe0\6j\a\xd0\6\aj\27\xc0\6\x8a\1\a\xc0\6\x8a\1'\x90\6\2\x8a\1\27\xa0\6\22j\a\2\xb0\6\xa2\1\xa0\6R\4B\xa0\6R\24B\x80\6\xf2\0\4B\x80\6\xf2\0\24B\xf0\5\xf2\1\xe0\5\4\1\x042\3\33\x042\x80\6\21\v\3\22\33\21\v\22\x90\6!\33\0\v!\v\xb0\x061\v\0\v!\v\xc0\6!\v\0\v!\v\xc0\6!\v\0\v!\v\xc0\x061\20!\v\xc0\x061\20!\v\xc0\x061\20!\v\xd0\6!\20\v\21\xe0\6!\20\b\21\xe0\6\21\v\20\b\33\xe0\6;\0(\xe0\6;\0(\xf0\6+\0(\xf0\6+\0(\xf0\6+\0(\x80\a\33\20\30\x80\a\33\xc0\a\33\x80\a\r \33\xc0\a\33\xc0\a\21\v\xc0\6V1V\x90\5\xa6\x011\xa6\1\xa0\4\6\34\x86\x011\v\xc6\1\xc0\3\34\0\26\t\f\x86\1;\xe6\1\xb0\3\f\31\0\31\xb6\3\xd0\3\31,\x96\3\xe0\3)\34\t<\0\xf6\1\xb0\4I<\t\f\xb0\6I\\\xc0\69\\\xd0\6\t\0\31<\t\xb0\6\6\t6I\xf0\4"
)
image38 = (
b'\x80"\21\xb0\a\v\21\v@S\xf0\5+@\xf3\x000\21\x80\5\32@\x93\1\20\v!\xe0\4*@\x93\1 \33\1\xe0\4*0\xb3\1 \21\xe0\4\32@\xf3\0\1# *\xd0\4\32@c!# \32\xd0\4Z\27\23\22\21\x143 \32\xd0\4\xfa\0\a\4\16\4\21\4\16\4\27\n \32\x80\5\aZQ\a\xfa\0\xa0\5\3\a*\21\25\21j\27\xa0\5\23\a*\1\25\1J\27\xc0\x053\a\x8a\1\a\3\xc0\5c\xfa\0\a\3\xe0\5S\aZ\27\x90\6Cg\xf0\6g\xf0\6\27:\27\xe0\6\aZ\a\xe0\6\aZ\27\xd0\6\aj\27\xb0\6\a\xfa\0\'\x90\6\27\xfa\0\27\xa0\6\27j\a\2\xc0\6\2\aJ"\xb0\6\xa2\1\xb0\6b\x042\x90\6\x82\1\4"\x90\6\x82\1\24\22\x80\6\xa2\1\24\22\xf0\5\xe2\1\xf0\5\x92\1\4\33\2\x90\6\21\x042\3\v\21\v\xa0\6!\v\3\2\0\v!\v\xa0\x061\v\20\v!\v\xa0\x061\v\20\v!\v\xb0\6!\v\20\v!\v\xb0\x061 !\v\xb0\x061 \v\21\v\xb0\x061 \v\21\v\xc0\6! \b\21\v\xc0\6!\20\30\21\v\xc0\6!\20(\33\xc0\6\v\21\20(\xe0\6+\20(\xe0\6+ \30\xe0\6+\xb0\a+\xc0\a\33\xc0\a\33\xc0\a\33\xc0\a\33\x80\a\16\r\20\33\x80\a\35\20\33\xb0\a+\xe0\3\16\xf0\x026\v\21f\xf0\2\r\xa0\2\x86\1!\xb6\1\xd0\1\r\xd0\2\x96\x011\v\xc6\1\x90\4\x86\1\r\6K\xd6\1\x90\4f-\x96\2\xc0\4&\35\f\r\x86\2\x80\5\r\4\35\0=\xf6\0\xc0\5\35\4\35\f]\xc0\3\r\xc0\2M\f]\f\0\f\xf0\5\f-,=,\x90\6<\31l\xb0\6I<)\xb0\3'
)
fill_rect(0,0,320,222,palette[0])
while True:
 for i in range(38,55):
  draw_image(eval('image'+str(i)), 70, 3, 63, palette, zoomx=3, zoomy=3, itransp=-1)
  sleep(.1)