From 4daae89053c31aff8eb93b0f24d95d2ac7fe1345 Mon Sep 17 00:00:00 2001 From: heavyiron Date: Thu, 10 May 2007 13:48:35 +0000 Subject: [PATCH] *kernel - fixes in 15.2 by Mario79 and 67 by mike.dld updated sysfunc.txt *programs new icons and logo for CPUID and ICON added new version of @ICON and ICONMNGR fixes in iconedit and calendar from DedOK new algoritm of fill background in pic4 all apps (fasm-writen only) rewriten to use common macros.inc for easy recompile in fastcall mode (there is a bug in https; run need rewrite to use common macros.inc) small fixes in build_all.bat script git-svn-id: svn://kolibrios.org@485 a494cfbc-eb01-0410-851d-a64ba20cac60 --- kernel/trunk/docs/sysfuncr.txt | 13 +- kernel/trunk/docs/sysfuncs.txt | 10 +- kernel/trunk/kernel.asm | 26 +- programs/build_all.bat | 16 +- programs/config.inc | 1 + programs/demos/3dcube2/trunk/3DCUBE2.ASM | 29 +- programs/demos/3dcube2/trunk/ascgl.inc | 18 +- programs/demos/3dcube2/trunk/ascl.inc | 64 +- programs/demos/3dcube2/trunk/build_en.bat | 1 + programs/demos/3dcube2/trunk/build_ru.bat | 1 + programs/demos/3dcube2/trunk/macros.inc | 269 -- programs/demos/3detx60b/trunk/3DETX60B.ASM | 33 +- programs/demos/3detx60b/trunk/ascgl.inc | 150 +- programs/demos/3detx60b/trunk/ascl.inc | 199 +- programs/demos/3detx60b/trunk/build_en.bat | 1 + programs/demos/3detx60b/trunk/build_ru.bat | 1 + programs/demos/3dtcub10/trunk/3DTCUB10.ASM | 23 +- programs/demos/3dtcub10/trunk/build_en.bat | 1 + programs/demos/3dtcub10/trunk/build_ru.bat | 1 + programs/demos/bcdclk/bcdclk/bcdclk.asm | 26 +- programs/demos/bcdclk/bcdclk/build_en.bat | 1 + programs/demos/bcdclk/bcdclk/build_ru.bat | 1 + programs/demos/bcdclk/bcdclk/macros.inc | 266 -- programs/demos/bgitest/trunk/bgifont.inc | 10 +- programs/demos/bgitest/trunk/bgitest.asm | 26 +- programs/demos/bgitest/trunk/build_en.bat | 1 + programs/demos/bgitest/trunk/build_ru.bat | 1 + programs/demos/bgitest/trunk/macros.inc | 269 -- programs/demos/colorref/trunk/build_en.bat | 1 + programs/demos/colorref/trunk/build_ru.bat | 1 + programs/demos/colorref/trunk/colorref.asm | 55 +- programs/demos/crownscr/trunk/build_en.bat | 1 + programs/demos/crownscr/trunk/build_ru.bat | 1 + programs/demos/crownscr/trunk/crownscr.asm | 30 +- programs/demos/crownscr/trunk/macros.inc | 261 -- programs/demos/cslide/trunk/build_en.bat | 1 + programs/demos/cslide/trunk/build_ru.bat | 1 + programs/demos/cslide/trunk/cslide.asm | 35 +- programs/demos/eyes/trunk/build_en.bat | 1 + programs/demos/eyes/trunk/build_ru.bat | 1 + programs/demos/eyes/trunk/eyes.asm | 30 +- programs/demos/eyes/trunk/macros.inc | 269 -- programs/demos/fire/trunk/fire.asm | 28 +- programs/demos/fire/trunk/macros.inc | 269 -- programs/demos/fire2/trunk/fire2.asm | 25 +- programs/demos/free3d04/trunk/build_en.bat | 1 + programs/demos/free3d04/trunk/build_ru.bat | 1 + programs/demos/free3d04/trunk/free3d04.asm | 26 +- programs/demos/free3d04/trunk/macros.inc | 267 -- programs/demos/magnify/trunk/build_en.bat | 1 + programs/demos/magnify/trunk/build_ru.bat | 1 + programs/demos/magnify/trunk/macros.inc | 267 -- programs/demos/magnify/trunk/magnify.asm | 24 +- programs/demos/movback/trunk/build_en.bat | 1 + programs/demos/movback/trunk/build_ru.bat | 1 + programs/demos/movback/trunk/macros.inc | 267 -- programs/demos/movback/trunk/movback.asm | 22 +- programs/demos/plasma/trunk/build_en.bat | 1 + programs/demos/plasma/trunk/build_ru.bat | 1 + programs/demos/plasma/trunk/macros.inc | 266 -- programs/demos/plasma/trunk/plasma.asm | 22 +- programs/demos/ss/trunk/@SS.ASM | 98 +- programs/demos/ss/trunk/build_en.bat | 1 + programs/demos/ss/trunk/build_ru.bat | 1 + programs/demos/ss/trunk/macros.inc | 267 -- programs/demos/timer/trunk/build_en.bat | 1 + programs/demos/timer/trunk/build_ru.bat | 1 + programs/demos/timer/trunk/macros.inc | 266 -- programs/demos/timer/trunk/timer.asm | 30 +- programs/demos/tinyfrac/trunk/build_en.bat | 1 + programs/demos/tinyfrac/trunk/build_ru.bat | 1 + programs/demos/tinyfrac/trunk/macros.inc | 266 -- programs/demos/tinyfrac/trunk/tinyfrac.asm | 208 +- programs/demos/transp/trunk/build_en.bat | 1 + programs/demos/transp/trunk/build_ru.bat | 1 + programs/demos/transp/trunk/macros.inc | 266 -- programs/demos/transp/trunk/transp.asm | 81 +- programs/demos/trantest/trunk/ascgl.inc | 12 +- programs/demos/trantest/trunk/ascl.inc | 76 +- programs/demos/trantest/trunk/trantest.asm | 19 +- programs/demos/tube/trunk/build_en.bat | 1 + programs/demos/tube/trunk/build_ru.bat | 1 + programs/demos/tube/trunk/macros.inc | 266 -- programs/demos/tube/trunk/tube.asm | 22 +- programs/develop/cmd/trunk/build_en.bat | 1 + programs/develop/cmd/trunk/build_ge.bat | 1 + programs/develop/cmd/trunk/cmd.asm | 133 +- programs/develop/cmd/trunk/cmdipc.inc | 36 +- programs/develop/cmd/trunk/macros.inc | 269 -- .../develop/examples/checkbox/trunk/check.inc | 12 +- .../examples/checkbox/trunk/checkbox.asm | 16 +- .../examples/checkbox/trunk/macros.inc | 269 -- .../develop/examples/circle/trunk/circle.asm | 22 +- .../develop/examples/circle/trunk/macros.inc | 266 -- .../examples/cpuspeed/trunk/build_en.bat | 1 + .../examples/cpuspeed/trunk/build_ru.bat | 1 + .../examples/cpuspeed/trunk/cpuspeed.asm | 37 +- .../examples/cpuspeed/trunk/macros.inc | 266 -- .../examples/editbox/trunk/editbox.asm | 2 +- .../develop/examples/editbox/trunk/macros.inc | 269 -- .../examples/example/trunk/build_en.bat | 1 + .../examples/example/trunk/build_ru.bat | 1 + .../examples/example/trunk/example.asm | 6 +- .../develop/examples/example/trunk/macros.inc | 267 -- .../examples/example2/trunk/build_en.bat | 1 + .../examples/example2/trunk/build_ru.bat | 1 + .../examples/example2/trunk/dialogs1.inc | 66 +- .../examples/example2/trunk/example2.asm | 42 +- .../examples/example2/trunk/macros.inc | 267 -- .../examples/example3/trunk/build_en.bat | 1 + .../examples/example3/trunk/build_ru.bat | 1 + .../examples/example3/trunk/example3.asm | 61 +- .../examples/example3/trunk/macros.inc | 267 -- .../develop/examples/hello/trunk/build_en.bat | 1 + .../develop/examples/hello/trunk/build_ru.bat | 1 + .../develop/examples/hello/trunk/cmdipc.inc | 34 +- .../develop/examples/hello/trunk/macros.inc | 265 -- .../develop/examples/ir/trunk/build_en.bat | 1 + .../develop/examples/ir/trunk/build_ru.bat | 1 + programs/develop/examples/ir/trunk/ir.asm | 42 +- programs/develop/examples/ir/trunk/macros.inc | 267 -- .../develop/examples/md5/trunk/build_en.bat | 1 + .../develop/examples/md5/trunk/build_ru.bat | 1 + programs/develop/examples/md5/trunk/md5.asm | 72 +- .../examples/numcalc/trunk/@numcalc.asm | 11 +- .../examples/radiobutton/trunk/macros.inc | 269 -- .../examples/radiobutton/trunk/optionbox.asm | 18 +- .../examples/radiobutton/trunk/optionbox.bat | 2 - .../examples/radiobutton/trunk/optionbox.inc | 12 +- .../examples/rtdata/trunk/build_en.bat | 1 + .../examples/rtdata/trunk/build_ru.bat | 1 + .../develop/examples/rtdata/trunk/macros.inc | 266 -- .../develop/examples/rtdata/trunk/rtdata.asm | 59 +- .../examples/template/trunk/macros.inc | 269 -- .../examples/template/trunk/template.asm | 24 +- .../develop/examples/thread/trunk/macros.inc | 266 -- .../develop/examples/thread/trunk/thread.asm | 90 +- programs/develop/fasm/trunk/fasm.asm | 35 +- programs/develop/fasm/trunk/fasm.inc | 94 - programs/develop/fasm/trunk/system.inc | 12 +- programs/develop/h2d2b/trunk/build_en.bat | 1 + programs/develop/h2d2b/trunk/build_ru.bat | 1 + programs/develop/h2d2b/trunk/h2d2b.asm | 8 +- programs/develop/h2d2b/trunk/macros.inc | 265 -- programs/develop/heed/trunk/build_en.bat | 1 + programs/develop/heed/trunk/build_ru.bat | 1 + programs/develop/heed/trunk/heed.asm | 133 +- programs/develop/heed/trunk/macros.inc | 265 -- programs/develop/hexview/trunk/build_en.bat | 1 + programs/develop/hexview/trunk/build_ru.bat | 1 + programs/develop/hexview/trunk/hexview.asm | 50 +- programs/develop/hexview/trunk/macros.inc | 265 -- programs/develop/keyascii/trunk/build_en.bat | 1 + programs/develop/keyascii/trunk/build_ru.bat | 1 + programs/develop/keyascii/trunk/keyascii.asm | 28 +- programs/develop/keyascii/trunk/macros.inc | 267 -- programs/develop/mtdbg/mtdbg.asm | 179 +- programs/develop/param/trunk/build_en.bat | 1 + programs/develop/param/trunk/build_ru.bat | 1 + programs/develop/param/trunk/cmdipc.inc | 38 +- programs/develop/param/trunk/macros.inc | 266 -- programs/develop/scancode/trunk/build_en.bat | 1 + programs/develop/scancode/trunk/build_ru.bat | 1 + programs/develop/scancode/trunk/macros.inc | 266 -- programs/develop/scancode/trunk/scancode.asm | 44 +- programs/develop/tinypad/trunk/tinypad.asm | 2 +- programs/fs/copy2/trunk/build_en.bat | 1 + programs/fs/copy2/trunk/build_ge.bat | 1 + programs/fs/copy2/trunk/build_ru.bat | 1 + programs/fs/copy2/trunk/copy2.asm | 51 +- programs/fs/copy2/trunk/macros.inc | 266 -- programs/fs/copyr/trunk/ascl.inc | 76 +- programs/fs/copyr/trunk/build_en.bat | 1 + programs/fs/copyr/trunk/build_ru.bat | 1 + programs/fs/copyr/trunk/copyr.asm | 28 +- programs/fs/copyr/trunk/macros.inc | 269 -- programs/fs/kfar/trunk/dialogs.inc | 8 +- programs/fs/kfar/trunk/filetool.inc | 4 +- programs/fs/kfar/trunk/kfar.asm | 71 +- programs/fs/kfar/trunk/tools.inc | 8 +- programs/fs/kfar/trunk/viewer.inc | 10 +- programs/fs/mfar/trunk/macros.inc | 226 -- programs/fs/sysxtree/trunk/ascgl.inc | 12 +- programs/fs/sysxtree/trunk/ascl.inc | 76 +- programs/fs/sysxtree/trunk/build_en.bat | 1 + programs/fs/sysxtree/trunk/build_ru.bat | 1 + programs/fs/sysxtree/trunk/macros.inc | 269 -- programs/fs/sysxtree/trunk/sysxtree.asm | 160 +- programs/games/15/trunk/15.ASM | 43 +- programs/games/15/trunk/build_en.bat | 1 + programs/games/15/trunk/build_ru.bat | 1 + programs/games/15/trunk/macros.inc | 266 -- programs/games/arcanii/trunk/arcanii.asm | 17 +- programs/games/arcanii/trunk/ascgl.inc | 13 +- programs/games/arcanii/trunk/ascl.inc | 78 +- programs/games/arcanii/trunk/build_en.bat | 1 + programs/games/arcanii/trunk/build_ru.bat | 1 + programs/games/arcanoid/trunk/arcanoid.asm | 17 +- programs/games/arcanoid/trunk/ascgl.inc | 12 +- programs/games/arcanoid/trunk/ascgml.inc | 1 - programs/games/arcanoid/trunk/ascl.inc | 78 +- programs/games/arcanoid/trunk/build_en.bat | 1 + programs/games/arcanoid/trunk/build_ru.bat | 1 + programs/games/c4/trunk/build.bat | 2 + programs/games/chess/trunk/chess.asm | 112 +- programs/games/chess/trunk/macros.inc | 266 -- programs/games/freecell/freecell.ASM | 186 +- programs/games/hunter/trunk/build.bat | 2 + programs/games/hunter/trunk/hunter.asm | 671 +++++ programs/games/hunter/trunk/inc/exit.inc | 1481 +++++++++ programs/games/hunter/trunk/inc/fire00.inc | 177 ++ programs/games/hunter/trunk/inc/fire01.inc | 217 ++ programs/games/hunter/trunk/inc/fire02.inc | 225 ++ programs/games/hunter/trunk/inc/gameover.inc | 2656 +++++++++++++++++ programs/games/hunter/trunk/inc/glass.inc | 465 +++ programs/games/hunter/trunk/inc/glaz.inc | 593 ++++ programs/games/hunter/trunk/inc/gun00.inc | 337 +++ programs/games/hunter/trunk/inc/gun01.inc | 589 ++++ programs/games/hunter/trunk/inc/gun02.inc | 589 ++++ programs/games/hunter/trunk/inc/heart.inc | 61 + programs/games/hunter/trunk/inc/heart02.inc | 929 ++++++ programs/games/hunter/trunk/inc/hole.inc | 257 ++ programs/games/hunter/trunk/inc/kust01.inc | 1169 ++++++++ programs/games/hunter/trunk/inc/kust02.inc | 1169 ++++++++ programs/games/hunter/trunk/inc/lives.inc | 169 ++ programs/games/hunter/trunk/inc/minus.inc | 73 + programs/games/hunter/trunk/inc/mushka.inc | 257 ++ programs/games/hunter/trunk/inc/net.inc | 881 ++++++ programs/games/hunter/trunk/inc/num0.inc | 33 + programs/games/hunter/trunk/inc/num1.inc | 33 + programs/games/hunter/trunk/inc/num2.inc | 33 + programs/games/hunter/trunk/inc/num3.inc | 33 + programs/games/hunter/trunk/inc/num4.inc | 33 + programs/games/hunter/trunk/inc/num5.inc | 33 + programs/games/hunter/trunk/inc/num6.inc | 33 + programs/games/hunter/trunk/inc/num7.inc | 33 + programs/games/hunter/trunk/inc/num8.inc | 33 + programs/games/hunter/trunk/inc/num9.inc | 33 + programs/games/hunter/trunk/inc/numbers.inc | 425 +++ programs/games/hunter/trunk/inc/oblako.inc | 781 +++++ programs/games/hunter/trunk/inc/pause.inc | 1089 +++++++ programs/games/hunter/trunk/inc/plane00.inc | 417 +++ programs/games/hunter/trunk/inc/plane01.inc | 417 +++ programs/games/hunter/trunk/inc/plus.inc | 69 + programs/games/hunter/trunk/inc/rock.inc | 593 ++++ programs/games/hunter/trunk/inc/score.inc | 183 ++ programs/games/hunter/trunk/inc/shots.inc | 241 ++ programs/games/hunter/trunk/inc/star.inc | 65 + programs/games/hunter/trunk/inc/start.inc | 2001 +++++++++++++ programs/games/hunter/trunk/inc/sun.inc | 993 ++++++ programs/games/hunter/trunk/inc/time.inc | 181 ++ programs/games/hunter/trunk/math.inc | 44 + programs/games/hunter/trunk/object.inc | 413 +++ programs/games/hunter/trunk/picture.inc | 418 +++ programs/games/hunter/trunk/read_me.eng | 37 + programs/games/hunter/trunk/read_me.rus | 84 + programs/games/mblocks/trunk/build_en.bat | 1 + programs/games/mblocks/trunk/build_ru.bat | 1 + programs/games/mblocks/trunk/macros.inc | 267 -- programs/games/mblocks/trunk/mblocks.asm | 53 +- programs/games/phenix/trunk/ascgl.inc | 12 +- programs/games/phenix/trunk/ascl.inc | 76 +- programs/games/phenix/trunk/build_en.bat | 1 + programs/games/phenix/trunk/build_ru.bat | 1 + programs/games/phenix/trunk/phenix.asm | 33 +- programs/games/pipes/pipes.asm | 71 +- programs/games/pong/trunk/ascgl.inc | 18 +- programs/games/pong/trunk/ascl.inc | 62 +- programs/games/pong/trunk/build_en.bat | 1 + programs/games/pong/trunk/build_ru.bat | 1 + programs/games/pong/trunk/pong.asm | 13 +- programs/games/pong3/trunk/ascgl.inc | 18 +- programs/games/pong3/trunk/ascl.inc | 62 +- programs/games/pong3/trunk/build_en.bat | 1 + programs/games/pong3/trunk/build_ru.bat | 1 + programs/games/pong3/trunk/pong3.asm | 8 +- programs/games/tanks/trunk/build_en.bat | 1 + programs/games/tanks/trunk/build_ru.bat | 1 + programs/games/tanks/trunk/leveledit.asm | 62 +- programs/games/tanks/trunk/tanks.asm | 65 +- programs/games/tetris/trunk/macros.inc | 266 -- programs/games/tetris/trunk/tetris.asm | 63 +- .../{develop/tinypad/trunk => }/macros.inc | 918 +++--- programs/media/animage/trunk/animage.asm | 3 +- programs/media/animage/trunk/cursors.inc | 20 +- programs/media/animage/trunk/design.inc | 8 +- programs/media/animage/trunk/dialog.inc | 42 +- programs/media/animage/trunk/dialog2.inc | 10 +- programs/media/animage/trunk/events.inc | 4 +- .../media/animage/trunk/events_of_buttons.inc | 6 +- .../media/animage/trunk/events_of_keys.inc | 4 +- .../media/animage/trunk/events_of_mouse.inc | 4 +- .../media/animage/trunk/events_of_window.inc | 8 +- programs/media/animage/trunk/files.inc | 8 +- programs/media/animage/trunk/icons.inc | 14 +- .../media/animage/trunk/icons_instruments.inc | 10 +- programs/media/animage/trunk/init_data.inc | 4 +- programs/media/animage/trunk/load_dlls.inc | 2 +- programs/media/animage/trunk/memory.inc | 2 +- .../media/animage/trunk/menu_instruments.inc | 22 +- programs/media/animage/trunk/panel_engen.inc | 28 +- programs/media/animage/trunk/screen.inc | 4 +- programs/media/animage/trunk/time.inc | 2 +- programs/media/cdp/trunk/build_en.bat | 1 + programs/media/cdp/trunk/build_ru.bat | 1 + programs/media/cdp/trunk/cdp.asm | 118 +- programs/media/cdp/trunk/macros.inc | 266 -- programs/media/gifview/trunk/debug.inc | 2 +- programs/media/gifview/trunk/gifview.asm | 44 +- programs/media/gifview/trunk/macros.inc | 263 -- programs/media/iconedit/trunk/build_en.bat | 1 + programs/media/iconedit/trunk/build_ru.bat | 1 + programs/media/iconedit/trunk/iconedit.asm | 1176 ++++---- programs/media/iconedit/trunk/macros.inc | 267 -- programs/media/jpegview/trunk/jpegview.asm | 50 +- programs/media/jpegview/trunk/macros.inc | 268 -- programs/media/midamp/trunk/MIDAMP.ASM | 6 +- programs/media/midamp/trunk/build.bat | 3 +- programs/media/midamp/trunk/debug.inc | 2 +- programs/media/midamp/trunk/dlg.inc | 22 +- programs/media/midamp/trunk/draw.inc | 28 +- programs/media/midamp/trunk/event.inc | 10 +- programs/media/midamp/trunk/macros.inc | 269 -- programs/media/midamp/trunk/playlist.inc | 14 +- programs/media/midamp/trunk/thread.inc | 4 +- programs/media/midiplay/trunk/build_en.bat | 1 + programs/media/midiplay/trunk/build_ru.bat | 1 + programs/media/midiplay/trunk/macros.inc | 267 -- programs/media/midiplay/trunk/midiplay.asm | 94 +- programs/media/mixer/trunk/build_en.bat | 1 + programs/media/mixer/trunk/build_ru.bat | 1 + programs/media/mixer/trunk/macros.inc | 267 -- programs/media/mixer/trunk/mixer.asm | 107 +- programs/media/mp3s/trunk/macros.inc | 267 -- programs/media/mv/trunk/build_en.bat | 1 + programs/media/mv/trunk/build_ru.bat | 1 + programs/media/mv/trunk/macros.inc | 267 -- programs/media/mv/trunk/mv.asm | 136 +- programs/media/pic4/trunk/build_en.bat | 1 + programs/media/pic4/trunk/build_ru.bat | 1 + programs/media/pic4/trunk/macros.inc | 269 -- programs/media/pic4/trunk/pic4.asm | 149 +- programs/media/sb/trunk/build_en.bat | 1 + programs/media/sb/trunk/build_ru.bat | 1 + programs/media/sb/trunk/macros.inc | 266 -- programs/media/sb/trunk/sb.asm | 124 +- programs/media/scrshoot/macros.inc | 47 + programs/media/scrshoot/scrshoot.asm | 18 +- programs/network/VNCclient/ETH.INC | 50 +- programs/network/VNCclient/VNCclient.asm | 38 +- programs/network/VNCclient/build.bat | 2 + programs/network/VNCclient/fdo.inc | 4 +- programs/network/VNCclient/logon.inc | 54 +- programs/network/VNCclient/thread.inc | 4 +- programs/network/airc/trunk/airc.asm | 256 +- programs/network/airc/trunk/eth.inc | 670 +++++ programs/network/airc/trunk/fdo.inc | 343 +++ programs/network/airc/trunk/macros.inc | 266 -- programs/network/arpstat/trunk/arpstat.asm | 54 +- programs/network/arpstat/trunk/build_en.bat | 1 + programs/network/arpstat/trunk/build_ru.bat | 1 + programs/network/arpstat/trunk/macros.inc | 266 -- programs/network/autodhcp/trunk/ETH.INC | 60 +- programs/network/autodhcp/trunk/MACROS.INC | 268 -- programs/network/autodhcp/trunk/autodhcp.asm | 4 +- programs/network/autodhcp/trunk/common.inc | 8 +- programs/network/autodhcp/trunk/debug-fdo.inc | 4 +- programs/network/autodhcp/trunk/events.inc | 8 +- programs/network/dhcp/trunk/build_en.bat | 1 + programs/network/dhcp/trunk/build_ru.bat | 1 + programs/network/dhcp/trunk/dhcp.asm | 87 +- programs/network/dhcp/trunk/macros.inc | 266 -- programs/network/dnsr/trunk/build_en.bat | 1 + programs/network/dnsr/trunk/build_ru.bat | 1 + programs/network/dnsr/trunk/dnsr.asm | 120 +- programs/network/dnsr/trunk/macros.inc | 266 -- programs/network/ethstat/trunk/ethstat.asm | 78 +- programs/network/ethstat/trunk/macros.inc | 267 -- programs/network/ftps/trunk/FTPS.ASM | 84 +- programs/network/ftps/trunk/macros.inc | 269 -- programs/network/httpc/trunk/build_en.bat | 1 + programs/network/httpc/trunk/build_ru.bat | 1 + programs/network/httpc/trunk/httpc.asm | 162 +- programs/network/httpc/trunk/macros.inc | 265 -- programs/network/https/trunk/build_en.bat | 1 + programs/network/https/trunk/build_ru.bat | 1 + programs/network/https/trunk/https.asm | 106 +- programs/network/https/trunk/macros.inc | 265 -- programs/network/ipc/trunk/build_en.bat | 1 + programs/network/ipc/trunk/build_ru.bat | 1 + programs/network/ipc/trunk/ipc.asm | 72 +- programs/network/ipc/trunk/macros.inc | 267 -- programs/network/local/trunk/build_en.bat | 1 + programs/network/local/trunk/build_ru.bat | 1 + programs/network/local/trunk/local.asm | 105 +- programs/network/local/trunk/macros.inc | 267 -- .../mp3s/trunk/build_en.bat | 1 + .../mp3s/trunk/build_ru.bat | 1 + .../{media => network}/mp3s/trunk/mp3s.asm | 1573 +++++----- programs/network/netsendc/trunk/build_en.bat | 1 + programs/network/netsendc/trunk/build_ru.bat | 1 + programs/network/netsendc/trunk/macros.inc | 267 -- programs/network/netsendc/trunk/netsendc.asm | 43 +- programs/network/netsends/trunk/build_en.bat | 1 + programs/network/netsends/trunk/build_ru.bat | 1 + programs/network/netsends/trunk/macros.inc | 267 -- programs/network/netsends/trunk/netsends.asm | 82 +- programs/network/nntpc/trunk/build_en.bat | 1 + programs/network/nntpc/trunk/build_ru.bat | 1 + programs/network/nntpc/trunk/macros.inc | 267 -- programs/network/nntpc/trunk/nntpc.asm | 116 +- programs/network/popc/trunk/build_en.bat | 1 + programs/network/popc/trunk/build_ru.bat | 1 + programs/network/popc/trunk/popc.asm | 86 +- programs/network/ppp/trunk/build_en.bat | 1 + programs/network/ppp/trunk/build_ru.bat | 1 + programs/network/ppp/trunk/macros.inc | 266 -- programs/network/ppp/trunk/ppp.asm | 181 +- programs/network/rccc/trunk/build_en.bat | 1 + programs/network/rccc/trunk/build_ru.bat | 1 + programs/network/rccc/trunk/macros.inc | 266 -- programs/network/rccc/trunk/rccc.asm | 73 +- programs/network/rccs/trunk/build_en.bat | 1 + programs/network/rccs/trunk/build_ru.bat | 1 + programs/network/rccs/trunk/macros.inc | 266 -- programs/network/rccs/trunk/rccs.asm | 87 +- programs/network/remote/trunk/build_en.bat | 1 + programs/network/remote/trunk/build_ru.bat | 1 + programs/network/remote/trunk/macros.inc | 266 -- programs/network/remote/trunk/remote.asm | 83 +- programs/network/smtps/trunk/build_en.bat | 1 + programs/network/smtps/trunk/build_ru.bat | 1 + programs/network/smtps/trunk/smtps.asm | 93 +- programs/network/stackcfg/trunk/stackcfg.asm | 115 +- programs/network/telnet/trunk/build_en.bat | 1 + programs/network/telnet/trunk/build_ru.bat | 1 + programs/network/telnet/trunk/macros.inc | 266 -- programs/network/telnet/trunk/telnet.asm | 90 +- programs/network/terminal/trunk/build_en.bat | 1 + programs/network/terminal/trunk/build_ru.bat | 1 + programs/network/terminal/trunk/macros.inc | 266 -- programs/network/terminal/trunk/terminal.asm | 78 +- programs/network/tftpa/trunk/build_en.bat | 1 + programs/network/tftpa/trunk/build_ru.bat | 1 + programs/network/tftpa/trunk/macros.inc | 266 -- programs/network/tftpa/trunk/tftpa.asm | 117 +- programs/network/tftpc/trunk/build_en.bat | 1 + programs/network/tftpc/trunk/build_ru.bat | 1 + programs/network/tftpc/trunk/macros.inc | 266 -- programs/network/tftpc/trunk/tftpc.asm | 80 +- programs/network/ym/trunk/build_en.bat | 1 + programs/network/ym/trunk/build_ru.bat | 1 + programs/network/ym/trunk/ym.asm | 125 +- programs/other/archer/trunk/@RCHER.ASM | 2 +- programs/other/archer/trunk/arcmacro.inc | 8 +- programs/other/archer/trunk/debug.inc | 2 +- programs/other/archer/trunk/macros.inc | 269 -- programs/other/archer/trunk/sys.inc | 2 +- programs/other/calc/trunk/calc.asm | 101 +- programs/other/calc/trunk/macros.inc | 269 -- programs/other/mhc/trunk/macros.inc | 269 -- programs/other/mhc/trunk/mhc.asm | 66 +- programs/other/period/trunk/MACROS.INC | 269 -- programs/other/period/trunk/period.asm | 441 +-- programs/other/rtfread/trunk/ascl.inc | 90 +- programs/other/rtfread/trunk/bgifont.inc | 10 +- programs/other/rtfread/trunk/debug.inc | 4 +- programs/other/rtfread/trunk/macros.inc | 269 -- programs/other/rtfread/trunk/rtfread.asm | 21 +- .../{develop/tinypad/trunk => }/struct.inc | 360 +-- programs/system/board/trunk/board.asm | 10 +- programs/system/board/trunk/macros.inc | 269 -- programs/system/calendar/trunk/calendar.asm | 90 +- programs/system/calendar/trunk/macros.inc | 269 -- programs/system/cpu/trunk/cpu.asm | 14 +- programs/system/cpu/trunk/macros.inc | 269 -- programs/system/cpuid/trunk/CPUID.ASM | 71 +- programs/system/cpuid/trunk/amd.gif | Bin 2505 -> 2163 bytes .../cpuid/trunk/{MOS_UZEL.INC => brand.inc} | 163 +- programs/system/cpuid/trunk/cyrix.gif | Bin 2573 -> 2269 bytes programs/system/cpuid/trunk/draw.inc | 96 + programs/system/cpuid/trunk/idt.gif | Bin 3653 -> 1901 bytes programs/system/cpuid/trunk/multipli.inc | 18 +- programs/system/cpuid/trunk/rsatest.inc | 7 +- programs/system/cpuid/trunk/via.gif | Bin 2660 -> 2262 bytes programs/system/desktop/trunk/desktop.asm | 140 +- programs/system/desktop/trunk/macros.inc | 276 -- programs/system/docpack/trunk/build.bat | 1 - programs/system/docpack/trunk/docpack.asm | 10 +- programs/system/docpack/trunk/macros.inc | 269 -- programs/system/end/trunk/end.asm | 34 +- programs/system/end/trunk/macros.inc | 269 -- programs/system/icon/trunk/icon.asm | 198 +- programs/system/icon/trunk/icons.dat | 38 +- programs/system/icon/trunk/iconstrp.gif | Bin 12670 -> 15052 bytes programs/system/icon/trunk/macros.inc | 269 -- programs/system/icon_new/trunk/build_icon.bat | 5 + .../system/icon_new/trunk/build_iconmngr.bat | 5 + programs/system/icon_new/trunk/debug-fdo.inc | 424 +++ programs/system/icon_new/trunk/icon.asm | 539 ++++ programs/system/icon_new/trunk/iconmngr.asm | 780 +++++ programs/system/icon_new/trunk/icons.dat | 8 + .../system/icon_new/trunk/icons/board.ico | Bin 0 -> 9662 bytes programs/system/icon_new/trunk/icons/bug.ico | Bin 0 -> 9662 bytes programs/system/icon_new/trunk/icons/calc.ico | Bin 0 -> 9662 bytes programs/system/icon_new/trunk/icons/fasm.ico | Bin 0 -> 9662 bytes .../system/icon_new/trunk/icons/floppy.ico | Bin 0 -> 9662 bytes programs/system/icon_new/trunk/icons/fs.ico | Bin 0 -> 9662 bytes programs/system/icon_new/trunk/icons/vrr.ico | Bin 0 -> 9662 bytes .../system/icon_new/trunk/icons/write.ico | Bin 0 -> 9662 bytes programs/system/icon_new/trunk/readme.txt | 3 + programs/system/kbd/trunk/kbd.ASM | 72 +- programs/system/kbd/trunk/macros.inc | 269 -- programs/system/launcher/trunk/build_en.bat | 1 + programs/system/launcher/trunk/build_ru.bat | 1 + programs/system/launcher/trunk/launcher.asm | 10 +- programs/system/launcher/trunk/macros.inc | 269 -- programs/system/menu/trunk/build_en.bat | 1 + programs/system/menu/trunk/build_ru.bat | 1 + programs/system/menu/trunk/macros.inc | 269 -- programs/system/menu/trunk/menu.asm | 36 +- programs/system/menu/trunk/readme.txt | 6 +- programs/system/menu/trunk/readme2.txt | 6 - programs/system/mgb/trunk/mgb.asm | 2 +- programs/system/panel/trunk/@PANEL.ASM | 2 +- programs/system/panel/trunk/build_en.bat | 1 + programs/system/panel/trunk/build_ru.bat | 1 + programs/system/panel/trunk/macros.inc | 266 -- programs/system/pcidev/trunk/PCIDEV.ASM | 10 +- programs/system/pcidev/trunk/macros.inc | 356 --- programs/system/rb/trunk/@RB.ASM | 91 +- programs/system/rb/trunk/macros.inc | 269 -- programs/system/rdsave/trunk/macros.inc | 269 -- programs/system/rdsave/trunk/rdsave.asm | 104 +- programs/system/setup/trunk/macros.inc | 269 -- programs/system/setup/trunk/setup.asm | 109 +- programs/system/skinsel/skinsel.asm | 9 +- programs/system/vrr/trunk/Warning.txt | 7 - programs/system/vrr/trunk/build_en.bat | 1 + programs/system/vrr/trunk/build_ru.bat | 1 + programs/system/vrr/trunk/infoform.txt | 25 - programs/system/vrr/trunk/macros.inc | 269 -- programs/system/vrr/trunk/vrr.asm | 180 +- programs/system/vrr_m/trunk/macros.inc | 269 -- programs/system/vrr_m/trunk/vrr_m.asm | 2 +- 545 files changed, 31819 insertions(+), 34012 deletions(-) create mode 100644 programs/config.inc delete mode 100644 programs/demos/3dcube2/trunk/macros.inc delete mode 100644 programs/demos/bcdclk/bcdclk/macros.inc delete mode 100644 programs/demos/bgitest/trunk/macros.inc delete mode 100644 programs/demos/crownscr/trunk/macros.inc delete mode 100644 programs/demos/eyes/trunk/macros.inc delete mode 100644 programs/demos/fire/trunk/macros.inc delete mode 100644 programs/demos/free3d04/trunk/macros.inc delete mode 100644 programs/demos/magnify/trunk/macros.inc delete mode 100644 programs/demos/movback/trunk/macros.inc delete mode 100644 programs/demos/plasma/trunk/macros.inc delete mode 100644 programs/demos/ss/trunk/macros.inc delete mode 100644 programs/demos/timer/trunk/macros.inc delete mode 100644 programs/demos/tinyfrac/trunk/macros.inc delete mode 100644 programs/demos/transp/trunk/macros.inc delete mode 100644 programs/demos/tube/trunk/macros.inc delete mode 100644 programs/develop/cmd/trunk/macros.inc delete mode 100644 programs/develop/examples/checkbox/trunk/macros.inc delete mode 100644 programs/develop/examples/circle/trunk/macros.inc delete mode 100644 programs/develop/examples/cpuspeed/trunk/macros.inc delete mode 100644 programs/develop/examples/editbox/trunk/macros.inc delete mode 100644 programs/develop/examples/example/trunk/macros.inc delete mode 100644 programs/develop/examples/example2/trunk/macros.inc delete mode 100644 programs/develop/examples/example3/trunk/macros.inc delete mode 100644 programs/develop/examples/hello/trunk/macros.inc delete mode 100644 programs/develop/examples/ir/trunk/macros.inc delete mode 100644 programs/develop/examples/radiobutton/trunk/macros.inc delete mode 100644 programs/develop/examples/rtdata/trunk/macros.inc delete mode 100644 programs/develop/examples/template/trunk/macros.inc delete mode 100644 programs/develop/examples/thread/trunk/macros.inc delete mode 100644 programs/develop/h2d2b/trunk/macros.inc delete mode 100644 programs/develop/heed/trunk/macros.inc delete mode 100644 programs/develop/hexview/trunk/macros.inc delete mode 100644 programs/develop/keyascii/trunk/macros.inc delete mode 100644 programs/develop/param/trunk/macros.inc delete mode 100644 programs/develop/scancode/trunk/macros.inc delete mode 100644 programs/fs/copy2/trunk/macros.inc delete mode 100644 programs/fs/copyr/trunk/macros.inc delete mode 100644 programs/fs/mfar/trunk/macros.inc delete mode 100644 programs/fs/sysxtree/trunk/macros.inc delete mode 100644 programs/games/15/trunk/macros.inc create mode 100644 programs/games/c4/trunk/build.bat delete mode 100644 programs/games/chess/trunk/macros.inc create mode 100644 programs/games/hunter/trunk/build.bat create mode 100644 programs/games/hunter/trunk/hunter.asm create mode 100644 programs/games/hunter/trunk/inc/exit.inc create mode 100644 programs/games/hunter/trunk/inc/fire00.inc create mode 100644 programs/games/hunter/trunk/inc/fire01.inc create mode 100644 programs/games/hunter/trunk/inc/fire02.inc create mode 100644 programs/games/hunter/trunk/inc/gameover.inc create mode 100644 programs/games/hunter/trunk/inc/glass.inc create mode 100644 programs/games/hunter/trunk/inc/glaz.inc create mode 100644 programs/games/hunter/trunk/inc/gun00.inc create mode 100644 programs/games/hunter/trunk/inc/gun01.inc create mode 100644 programs/games/hunter/trunk/inc/gun02.inc create mode 100644 programs/games/hunter/trunk/inc/heart.inc create mode 100644 programs/games/hunter/trunk/inc/heart02.inc create mode 100644 programs/games/hunter/trunk/inc/hole.inc create mode 100644 programs/games/hunter/trunk/inc/kust01.inc create mode 100644 programs/games/hunter/trunk/inc/kust02.inc create mode 100644 programs/games/hunter/trunk/inc/lives.inc create mode 100644 programs/games/hunter/trunk/inc/minus.inc create mode 100644 programs/games/hunter/trunk/inc/mushka.inc create mode 100644 programs/games/hunter/trunk/inc/net.inc create mode 100644 programs/games/hunter/trunk/inc/num0.inc create mode 100644 programs/games/hunter/trunk/inc/num1.inc create mode 100644 programs/games/hunter/trunk/inc/num2.inc create mode 100644 programs/games/hunter/trunk/inc/num3.inc create mode 100644 programs/games/hunter/trunk/inc/num4.inc create mode 100644 programs/games/hunter/trunk/inc/num5.inc create mode 100644 programs/games/hunter/trunk/inc/num6.inc create mode 100644 programs/games/hunter/trunk/inc/num7.inc create mode 100644 programs/games/hunter/trunk/inc/num8.inc create mode 100644 programs/games/hunter/trunk/inc/num9.inc create mode 100644 programs/games/hunter/trunk/inc/numbers.inc create mode 100644 programs/games/hunter/trunk/inc/oblako.inc create mode 100644 programs/games/hunter/trunk/inc/pause.inc create mode 100644 programs/games/hunter/trunk/inc/plane00.inc create mode 100644 programs/games/hunter/trunk/inc/plane01.inc create mode 100644 programs/games/hunter/trunk/inc/plus.inc create mode 100644 programs/games/hunter/trunk/inc/rock.inc create mode 100644 programs/games/hunter/trunk/inc/score.inc create mode 100644 programs/games/hunter/trunk/inc/shots.inc create mode 100644 programs/games/hunter/trunk/inc/star.inc create mode 100644 programs/games/hunter/trunk/inc/start.inc create mode 100644 programs/games/hunter/trunk/inc/sun.inc create mode 100644 programs/games/hunter/trunk/inc/time.inc create mode 100644 programs/games/hunter/trunk/math.inc create mode 100644 programs/games/hunter/trunk/object.inc create mode 100644 programs/games/hunter/trunk/picture.inc create mode 100644 programs/games/hunter/trunk/read_me.eng create mode 100644 programs/games/hunter/trunk/read_me.rus delete mode 100644 programs/games/mblocks/trunk/macros.inc delete mode 100644 programs/games/tetris/trunk/macros.inc rename programs/{develop/tinypad/trunk => }/macros.inc (73%) delete mode 100644 programs/media/cdp/trunk/macros.inc delete mode 100644 programs/media/gifview/trunk/macros.inc delete mode 100644 programs/media/iconedit/trunk/macros.inc delete mode 100644 programs/media/jpegview/trunk/macros.inc delete mode 100644 programs/media/midamp/trunk/macros.inc delete mode 100644 programs/media/midiplay/trunk/macros.inc delete mode 100644 programs/media/mixer/trunk/macros.inc delete mode 100644 programs/media/mp3s/trunk/macros.inc delete mode 100644 programs/media/mv/trunk/macros.inc delete mode 100644 programs/media/pic4/trunk/macros.inc delete mode 100644 programs/media/sb/trunk/macros.inc create mode 100644 programs/network/VNCclient/build.bat create mode 100644 programs/network/airc/trunk/eth.inc create mode 100644 programs/network/airc/trunk/fdo.inc delete mode 100644 programs/network/airc/trunk/macros.inc delete mode 100644 programs/network/arpstat/trunk/macros.inc delete mode 100644 programs/network/autodhcp/trunk/MACROS.INC delete mode 100644 programs/network/dhcp/trunk/macros.inc delete mode 100644 programs/network/dnsr/trunk/macros.inc delete mode 100644 programs/network/ethstat/trunk/macros.inc delete mode 100644 programs/network/ftps/trunk/macros.inc delete mode 100644 programs/network/httpc/trunk/macros.inc delete mode 100644 programs/network/https/trunk/macros.inc delete mode 100644 programs/network/ipc/trunk/macros.inc delete mode 100644 programs/network/local/trunk/macros.inc rename programs/{media => network}/mp3s/trunk/build_en.bat (71%) rename programs/{media => network}/mp3s/trunk/build_ru.bat (71%) rename programs/{media => network}/mp3s/trunk/mp3s.asm (87%) delete mode 100644 programs/network/netsendc/trunk/macros.inc delete mode 100644 programs/network/netsends/trunk/macros.inc delete mode 100644 programs/network/nntpc/trunk/macros.inc delete mode 100644 programs/network/ppp/trunk/macros.inc delete mode 100644 programs/network/rccc/trunk/macros.inc delete mode 100644 programs/network/rccs/trunk/macros.inc delete mode 100644 programs/network/remote/trunk/macros.inc delete mode 100644 programs/network/telnet/trunk/macros.inc delete mode 100644 programs/network/terminal/trunk/macros.inc delete mode 100644 programs/network/tftpa/trunk/macros.inc delete mode 100644 programs/network/tftpc/trunk/macros.inc delete mode 100644 programs/other/archer/trunk/macros.inc delete mode 100644 programs/other/calc/trunk/macros.inc delete mode 100644 programs/other/mhc/trunk/macros.inc delete mode 100644 programs/other/period/trunk/MACROS.INC delete mode 100644 programs/other/rtfread/trunk/macros.inc rename programs/{develop/tinypad/trunk => }/struct.inc (97%) delete mode 100644 programs/system/board/trunk/macros.inc delete mode 100644 programs/system/calendar/trunk/macros.inc delete mode 100644 programs/system/cpu/trunk/macros.inc rename programs/system/cpuid/trunk/{MOS_UZEL.INC => brand.inc} (54%) create mode 100644 programs/system/cpuid/trunk/draw.inc delete mode 100644 programs/system/desktop/trunk/macros.inc delete mode 100644 programs/system/docpack/trunk/macros.inc delete mode 100644 programs/system/end/trunk/macros.inc delete mode 100644 programs/system/icon/trunk/macros.inc create mode 100644 programs/system/icon_new/trunk/build_icon.bat create mode 100644 programs/system/icon_new/trunk/build_iconmngr.bat create mode 100644 programs/system/icon_new/trunk/debug-fdo.inc create mode 100644 programs/system/icon_new/trunk/icon.asm create mode 100644 programs/system/icon_new/trunk/iconmngr.asm create mode 100644 programs/system/icon_new/trunk/icons.dat create mode 100644 programs/system/icon_new/trunk/icons/board.ico create mode 100644 programs/system/icon_new/trunk/icons/bug.ico create mode 100644 programs/system/icon_new/trunk/icons/calc.ico create mode 100644 programs/system/icon_new/trunk/icons/fasm.ico create mode 100644 programs/system/icon_new/trunk/icons/floppy.ico create mode 100644 programs/system/icon_new/trunk/icons/fs.ico create mode 100644 programs/system/icon_new/trunk/icons/vrr.ico create mode 100644 programs/system/icon_new/trunk/icons/write.ico create mode 100644 programs/system/icon_new/trunk/readme.txt delete mode 100644 programs/system/kbd/trunk/macros.inc delete mode 100644 programs/system/launcher/trunk/macros.inc delete mode 100644 programs/system/menu/trunk/macros.inc delete mode 100644 programs/system/menu/trunk/readme2.txt delete mode 100644 programs/system/panel/trunk/macros.inc delete mode 100644 programs/system/pcidev/trunk/macros.inc delete mode 100644 programs/system/rb/trunk/macros.inc delete mode 100644 programs/system/rdsave/trunk/macros.inc delete mode 100644 programs/system/setup/trunk/macros.inc delete mode 100644 programs/system/vrr/trunk/Warning.txt delete mode 100644 programs/system/vrr/trunk/infoform.txt delete mode 100644 programs/system/vrr/trunk/macros.inc delete mode 100644 programs/system/vrr_m/trunk/macros.inc diff --git a/kernel/trunk/docs/sysfuncr.txt b/kernel/trunk/docs/sysfuncr.txt index 63e5e24592..0366255c60 100644 --- a/kernel/trunk/docs/sysfuncr.txt +++ b/kernel/trunk/docs/sysfuncr.txt @@ -502,10 +502,7 @@ Возвращаемое значение: * функция не возвращает значения Замечания: - * Проверок на корректность не делается. Установка слишком больших - значений приведёт к тому, что в фон войдут данные за границей - буфера фонового изображения. Размер буфера = 0x160000-0x10, что - соответствует максимальным размерам 800*600. (800*600*3=0x15F900) + * Вызов функции обязателен перед вызовом функций 15.2 и 15.5 * Для обновления экрана (после завершения серии команд, работающих с фоном) вызывайте подфункцию 3 перерисовки фона. * Есть парная функция получения размеров фонового изображения - @@ -524,8 +521,8 @@ Замечания: * Смещение для точки с координатами (x,y) вычисляется как (x+y*xsize)*3. - * Если указанное смещение превышает 0x160000-16 = - 1.375 Mb - 16 bytes, вызов игнорируется. + * Если указанное смещение превышает установленный функцией 15.1 размер, + вызов игнорируется. * Для обновления экрана (после завершения серии команд, работающих с фоном) вызывайте подфункцию 3 перерисовки фона. * Есть парная функция получения точки с фонового изображения - @@ -569,8 +566,8 @@ Возвращаемое значение: * функция не возвращает значения Замечания: - * Если блок вылезает за границу 0x160000-16 = 1.375 Mb - 16 bytes, - то вызов игнорируется. + * Если указанное смещение превышает установленный функцией 15.1 размер, + вызов игнорируется. * Цвет каждого пикселя хранится как 3-байтная величина BBGGRR. * Пиксели фонового изображения записываются последовательно слева направо, сверху вниз. diff --git a/kernel/trunk/docs/sysfuncs.txt b/kernel/trunk/docs/sysfuncs.txt index d0deac7c2a..30ad511d91 100644 --- a/kernel/trunk/docs/sysfuncs.txt +++ b/kernel/trunk/docs/sysfuncs.txt @@ -493,10 +493,8 @@ Parameters: Returned value: * function does not return value Remarks: - * There is no checks for correctness. The setting of too large - values will result that the background will contain data abroad - of buffer for the background image. Buffer size = 0x160000-0x10, - that corresponds to maximum size 800*600. (800*600*3=0x15F900) + * Before calling functions 15.2 and 15.5 you should call this function + to set image size! * For update of the screen (after completion of a series of commands working with a background) call subfunction 3. * There is a pair function for get size of the background image - @@ -515,7 +513,7 @@ Returned value: Remarks: * Offset for a pixel with coordinates (x,y) is calculated as (x+y*xsize)*3. - * If the given offset exceeds 0x160000-16 = 1.375 Mb - 16 bytes, + * If the given offset exceeds size sets by function 15.1, the call is ignored. * For update of the screen (after completion of a series of commands working with a background) call subfunction 3. @@ -561,7 +559,7 @@ Parameters: Returned value: * function does not return value Remarks: - * If the block gets out abroad 0x160000-16 = 1.375 Mb - 16 bytes, + * If the block gets out abroad size sets by function 15.1, the call is ignored. * Color of each pixel is stored as 3-bytes value BBGGRR. * Pixels of the background image are written sequentially diff --git a/kernel/trunk/kernel.asm b/kernel/trunk/kernel.asm index c1e3b8e6d6..2be74435f4 100644 --- a/kernel/trunk/kernel.asm +++ b/kernel/trunk/kernel.asm @@ -2363,8 +2363,8 @@ sys_background: cmp eax,2 ; SET PIXEL jnz nosb2 - mov edx,0x160000-16 - cmp edx,ebx + mov edx,[mem_BACKGROUND] + cmp edx,ebx jbe nosb2 mov edx,[ebx] and edx,0xFF000000 ;255*256*256*256 @@ -3221,12 +3221,7 @@ sys_window_move: mov [MOUSE_BACKGROUND],byte 0 ; no mouse under mov [MOUSE_DOWN],byte 0 ; react to mouse up/down - mov ecx,10 ; wait 1/10 second - .wmrl3: call [draw_pointer] - mov eax,1 - call delay_hs - loop .wmrl3 mov [window_move_pr],0 @@ -3234,23 +3229,6 @@ sys_window_move: ret -;type_background_1: -; cmp [0xfff0],byte 0 ; background update ? -; jz temp_nobackgr -; mov [0xfff0],byte 2 -; call change_task -; mov [draw_data+32+0],dword 0 -; mov [draw_data+32+4],dword 0 -; mov eax,[ScreenWidth -; mov ebx,[0xfe04] -; mov [draw_data+32+8],eax -; mov [draw_data+32+12],ebx -; call drawbackground -; mov [0xfff0],byte 0 -; mov [MOUSE_BACKGROUND],byte 0 -;temp_nobackgr: -; ret - uglobal window_move_pr dd 0x0 window_move_eax dd 0x0 diff --git a/programs/build_all.bat b/programs/build_all.bat index 0f42252e1e..487591b97c 100644 --- a/programs/build_all.bat +++ b/programs/build_all.bat @@ -1,6 +1,7 @@ @echo off set languages=en ru ge et +set __CPU_type=p5 p6 k6 set kpack=y n cls echo Build KolibriOS apps @@ -12,6 +13,14 @@ set /P res="> @erase lang.inc echo lang fix %res% > lang.inc +echo Enter CPU_type ("p5" for interrupt, "p6" for SYSENTER, "k6" for SYSCALL) + +set /p res="> + +@erase config.inc +echo __CPU_type fix %res% > config.inc + + if not exist bin mkdir bin if not exist bin\demos mkdir bin\demos if not exist bin\develop mkdir bin\develop @@ -35,6 +44,7 @@ echo * @fasm system\kbd\trunk\kbd.ASM bin\kbd @fasm system\launcher\trunk\launcher.asm bin\launcher @fasm system\menu\trunk\menu.asm bin\@menu +@fasm system\mgb\trunk\mgb.asm bin\mgb @fasm system\PANEL\trunk\@PANEL.ASM bin\@PANEL @fasm system\pcidev\trunk\pcidev.asm bin\pcidev @fasm system\RB\trunk\@RB.ASM bin\@RB @@ -77,10 +87,12 @@ echo * @fasm network\dhcp\trunk\dhcp.asm bin\network\dhcp @fasm network\dnsr\trunk\dnsr.asm bin\network\dnsr @fasm network\ethstat\trunk\ethstat.asm bin\network\ethstat +@fasm network\ftps\trunk\https.asm bin\network\ftps @fasm network\httpc\trunk\httpc.asm bin\network\httpc @fasm network\https\trunk\https.asm bin\network\https @fasm network\ipc\trunk\ipc.asm bin\network\ipc @fasm network\local\trunk\local.asm bin\network\local +@fasm network\mp3s\trunk\mp3s.asm bin\network\mp3s @fasm network\netsendc\trunk\netsendc.asm bin\network\netsendc @fasm network\netsends\trunk\netsends.asm bin\network\netsends @fasm network\nntpc\trunk\nntpc.asm bin\network\nntpc @@ -119,7 +131,7 @@ rem media\ac97snd\trunk\ac97snd.asm ac97snd @fasm media\midamp\trunk\midamp.asm bin\midamp @fasm media\midiplay\trunk\midiplay.asm bin\midiplay @fasm media\mixer\trunk\mixer.asm bin\mixer -@fasm media\mp3s\trunk\mp3s.asm bin\mp3s + @fasm media\mv\trunk\mv.asm bin\mv @fasm media\pic4\trunk\pic4.asm bin\pic4 @fasm media\sb\trunk\sb.asm bin\sb @@ -143,6 +155,7 @@ cd ..\..\.. @fasm games\pong3\trunk\pong3.asm bin\games\pong3 @fasm games\tanks\trunk\tanks.asm bin\games\tanks @fasm games\tetris\trunk\tetris.asm bin\games\tetris +rem @fasm games\hunter\trunk\hunter.asm bin\games\hunter echo * echo Building demos @@ -200,6 +213,7 @@ echo * @kpack bin\kbd @kpack bin\launcher @kpack bin\menu +@kpack bin\mgb @kpack bin\@PANEL @kpack bin\pcidev @kpack bin\@RB diff --git a/programs/config.inc b/programs/config.inc new file mode 100644 index 0000000000..4be62cc03b --- /dev/null +++ b/programs/config.inc @@ -0,0 +1 @@ +__CPU_type fix p5 diff --git a/programs/demos/3dcube2/trunk/3DCUBE2.ASM b/programs/demos/3dcube2/trunk/3DCUBE2.ASM index 0111a08f1f..2bacac7d38 100644 --- a/programs/demos/3dcube2/trunk/3DCUBE2.ASM +++ b/programs/demos/3dcube2/trunk/3DCUBE2.ASM @@ -24,20 +24,17 @@ SCREEN_X equ 320 SCREEN_Y equ 200 include 'lang.inc' +include '..\..\..\macros.inc' include 'ascl.inc' include 'ascgl.inc' -include 'macros.inc' + START: call draw_window call init_sin_cos still: -; mov eax,23 ; wait for system event with 10 ms timeout -; mov ebx,1 ; wait 10 ms, then continue -; int 0x40 - mov eax,11 - int 0x40 + mcall dec eax ; cmp eax,1 ; window redraw request ? @@ -84,36 +81,36 @@ red: jmp still key: mov eax,2 - int 0x40 + mcall jmp still button: mov eax,17 - int 0x40 + mcall cmp ah,1 jne still exit: mov eax,-1 - int 0x40 + mcall ;Draw window draw_window: mov eax,12 ;Start mov ebx,1 - int 0x40 + mcall mov eax,0 ;Draw window mov ebx,100*65536+(SCREEN_X+9) ;x start*65536+x size mov ecx,100*65536+(SCREEN_Y+26) ;y start*65536+y size mov edx,0x13000000 ;0x03 use skinned window - mov edi,header - int 0x40 + mov edi,title + mcall mov eax,12 ;End mov ebx,2 - int 0x40 + mcall ret -header db '3D TEST SAMPLE FOR MENUETOS',0 +title db '3D TEST SAMPLE FOR MENUETOS',0 ; Draw faces procedure @@ -182,7 +179,7 @@ clear_screen_buffer: mov ecx,SCREEN_X*65536+SCREEN_Y mov edx,5*65536+22 mov ax,7 - int 0x40 + mcall ;White background mov edi,scrbuf @@ -578,7 +575,7 @@ translate_points: pushad mov eax,37 mov ebx,1 - int 0x40 + mcall mov ebx,eax shr eax,16 and ebx,0xffff diff --git a/programs/demos/3dcube2/trunk/ascgl.inc b/programs/demos/3dcube2/trunk/ascgl.inc index 107a8c2b04..632a5a3087 100644 --- a/programs/demos/3dcube2/trunk/ascgl.inc +++ b/programs/demos/3dcube2/trunk/ascgl.inc @@ -33,7 +33,7 @@ macro drawfbox x,y,xs,ys,color add ecx,ys mov edx,color mov eax,13 - int 0x40 + mcall } ; FPS - Set Frame Per Second Display @@ -50,7 +50,7 @@ ttt dd 0 spdat: get_time: mov eax,3 - int 0x40 + mcall cmp eax,[savetime] jne new_time inc [fps_cntr] @@ -69,7 +69,7 @@ if ~(delcolor eq ) mov ecx,y*65536+7 mov edx,delcolor mov eax,13 - int 0x40 + mcall end if mov dword [ttt],fps_show_frequency mov eax,47 @@ -78,7 +78,7 @@ end if mov edx,x*65536+y mov esi,color mov ecx,[fps] - int 0x40 + mcall no_out_fps: } @@ -153,7 +153,7 @@ else shl edx,16 add edx,arg2 end if - int 0x40 + mcall nodi: } @@ -173,7 +173,7 @@ else shl edx,16 add edx,arg2 end if - int 0x40 + mcall } ;Not optimiz @@ -451,14 +451,14 @@ local noaddword mov dword [fileinfo+8],1 ; how many blocks to read (1) mov eax,58 mov ebx,fileinfo - int 0x40 + mcall mov eax,[bmp_load_area+2] shr eax,9 ; поделим на 512 и прибавим 1 - получим число блоков inc eax mov dword [fileinfo+8],eax mov eax,58 mov ebx,fileinfo - int 0x40 + mcall ; jmp qwe ;bmpfn db bmp_file_name @@ -469,7 +469,7 @@ local noaddword ; mov edx,0xFFFFFF ; mov esi,bmp_load_area ; mov edi,0 -; int 0x40 +; mcall ; convert: movzx eax,word [bmp_load_area+28] diff --git a/programs/demos/3dcube2/trunk/ascl.inc b/programs/demos/3dcube2/trunk/ascl.inc index 216ef7e24b..698477ab3b 100644 --- a/programs/demos/3dcube2/trunk/ascl.inc +++ b/programs/demos/3dcube2/trunk/ascl.inc @@ -36,9 +36,9 @@ incf: mov eax,6 mov ebx,clip_file mov ecx,0 - mov edx,-1 + or edx,-1 mov esi,path - int 0x40 + mcall cmp byte [clip_file+7],'Z' je erroff cmp eax,0xffffffff @@ -54,12 +54,12 @@ zzz2: mov edx,100 mov esi,0 mov eax,33 - int 0x40 + mcall mov ebx,dlg_file mov ecx,clip_file mov eax,19 - int 0x40 + mcall still: scevent red,key,button @@ -72,7 +72,7 @@ still: mov ecx,0 mov edx,-1 mov esi,path - int 0x40 + mcall cmp eax,0xffffffff je erroff ;errexit mov dword [redwait],0 @@ -84,19 +84,19 @@ zzz: file_is_open: mov eax,32 mov ebx,clip_file - int 0x40 + mcall jmp openoff key: ; key - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne still mov eax,-1 ; close this program - int 0x40 + mcall red: call redproc @@ -127,7 +127,7 @@ incf: mov ecx,0 mov edx,-1 mov esi,path - int 0x40 + mcall cmp byte [clip_file+7],'Z' je erroff cmp eax,0xffffffff @@ -143,12 +143,12 @@ zzz2: mov edx,100 mov esi,0 mov eax,33 - int 0x40 + mcall mov ebx,dlg_file mov ecx,clip_file mov eax,19 - int 0x40 + mcall still: scevent red,key,button @@ -161,7 +161,7 @@ still: mov ecx,0 mov edx,-1 mov esi,path - int 0x40 + mcall cmp eax,0xffffffff je erroff ;errexit mov dword [redwait],0 @@ -173,19 +173,19 @@ zzz: file_is_open: mov eax,32 mov ebx,clip_file - int 0x40 + mcall jmp openoff key: ; key - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne still mov eax,-1 ; close this program - int 0x40 + mcall red: call redproc @@ -272,7 +272,7 @@ rxproc: macro scank { mov eax,10 - int 0x40 + mcall } macro putpix x,y,color @@ -281,7 +281,7 @@ macro putpix x,y,color mov ecx,y mov edx,color mov eax,1 - int 0x40 + mcall } macro puttxt x,y,offs,size,color @@ -293,7 +293,7 @@ macro puttxt x,y,offs,size,color mov edx,offs mov esi,size mov eax,4 - int 0x40 + mcall } ;_ equ '____' @@ -306,7 +306,7 @@ macro puttxt x,y,offs,size,color ; mov ecx,y ; mov edx,color ; mov eax,1 -; int 0x40 +; mcall ;} @@ -318,7 +318,7 @@ macro outcount data, x, y, color, numtype mov edx,x*65536+y mov esi,color mov eax,47 - int 0x40 + mcall } ; SCEVENT - Scan event @@ -326,7 +326,7 @@ macro outcount data, x, y, color, numtype macro scevent red,key,but { mov eax,11 - int 0x40 + mcall dec eax jz red dec eax @@ -340,7 +340,7 @@ macro scevent red,key,but macro wtevent red,key,but { mov eax,10 - int 0x40 + mcall dec eax jz red dec eax @@ -355,7 +355,7 @@ macro timeevent xfps,noevent,red,key,but { mov eax,23 mov ebx,xfps - int 0x40 + mcall cmp eax,0 je noevent dec eax @@ -372,7 +372,7 @@ macro timeevent xfps,noevent,red,key,but macro close { mov eax,-1 - int 0x40 + mcall } ; DELAY - Create delay 1/100 sec @@ -383,7 +383,7 @@ macro delay arg1 { mov eax,5 mov ebx,arg1 - int 0x40 + mcall } ; WINDOW - Draw window @@ -396,7 +396,7 @@ macro window arg1,arg2,arg3,arg4,arg5 mov ecx,arg2*65536+arg4 mov edx,arg5 mov eax,0 - int 0x40 + mcall } macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 @@ -407,7 +407,7 @@ macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 mov esi,arg6 mov edi,arg7 mov eax,0 - int 0x40 + mcall } @@ -417,7 +417,7 @@ macro startwd { mov eax,12 mov ebx,1 - int 0x40 + mcall } ; ENDWD - End window draw @@ -426,7 +426,7 @@ macro endwd { mov eax,12 mov ebx,2 - int 0x40 + mcall } ; LABEL - Put text to frame @@ -446,7 +446,7 @@ asd: mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } ;Key's diff --git a/programs/demos/3dcube2/trunk/build_en.bat b/programs/demos/3dcube2/trunk/build_en.bat index 2789ea29b8..3838907728 100644 --- a/programs/demos/3dcube2/trunk/build_en.bat +++ b/programs/demos/3dcube2/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm 3dcube2.asm 3dcube2 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/3dcube2/trunk/build_ru.bat b/programs/demos/3dcube2/trunk/build_ru.bat index 18852f6b05..f549a71dea 100644 --- a/programs/demos/3dcube2/trunk/build_ru.bat +++ b/programs/demos/3dcube2/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm 3dcube2.asm 3dcube2 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/3dcube2/trunk/macros.inc b/programs/demos/3dcube2/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/demos/3dcube2/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/demos/3detx60b/trunk/3DETX60B.ASM b/programs/demos/3detx60b/trunk/3DETX60B.ASM index 08c20f2097..d138f74cd9 100644 --- a/programs/demos/3detx60b/trunk/3DETX60B.ASM +++ b/programs/demos/3detx60b/trunk/3DETX60B.ASM @@ -61,6 +61,7 @@ MAP_YSIZE equ 128 dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' +include '..\..\..\macros.inc' include 'ascgl.inc' include 'ascl.inc' @@ -271,13 +272,13 @@ skip_texgen: mov eax,66 mov ebx,1 mov ecx,1 - int 0x40 + mcall mov eax,26 mov ebx,2 mov ecx,1 mov edx,keymap+100 - int 0x40 + mcall ;Build triangle matrix mov esi,points @@ -384,7 +385,7 @@ skip_moddata: ;Main loop still: ; основной цикл mov eax,11 ; проверка состояния окна - int 0x40 + mcall cmp eax,1 ; окно сдвинули его нужно перерисовать je red @@ -490,16 +491,16 @@ ndt: mov ecx,0x0000ff00 ; font 1 & color ( 0xF0RRGGBB ) mov edx,keymap ; pointer to text beginning mov esi,100 ; text length - int 0x40 + mcall add edx,100 add ebx,10 mov esi,60 ; text length mov ecx,0x00dddddd ; font 1 & color ( 0xF0RRGGBB ) - int 0x40 + mcall mov edx,usemap mov esi,60 ; text length mov ecx,0x0000ff00 - int 0x40 + mcall jmp rx ;01234567890123456789012345678901234567890123456789 usemap db ' E wer u [] asd zxc ' @@ -721,7 +722,7 @@ ok4: key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall shr eax,8 and eax,0xff @@ -747,14 +748,14 @@ noisa: button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 jz exit jmp cycle exit: - mov eax,-1 - int 0x40 + or eax,-1 + mcall ; ********************************************* ; ******* WINDOW DEFINITIONS AND DRAW ******** @@ -763,7 +764,7 @@ exit: draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,0*65536+SCREEN_X-1 ; [x start] *65536 + [x size] @@ -771,18 +772,18 @@ draw_window: mov edx,0x03ffffff ; color of work area RRGGBB,8->color gl mov esi,0x005080d0 ; color of grab bar RRGGBB,8->color gl mov edi,0x005080d0 ; color of frames RRGGBB - int 0x40 + mcall ; WINDOW LABEL mov eax,4 ; function 4 : write text to window mov ebx,8*65536+8 ; [x start] *65536 + [y start] mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB ) mov edx,labelt ; pointer to text beginning mov esi,labellen-labelt ; text length - int 0x40 + mcall mov eax,12 mov ebx,2 - int 0x40 + mcall ret dispimg: @@ -790,7 +791,7 @@ dispimg: mov ebx,I_END ;zbuffer mov ecx,SCREEN_X*65536+SCREEN_Y xor edx,edx ;0*65536+0 - int 0x40 + mcall ; ret mov eax,8 @@ -798,7 +799,7 @@ dispimg: mov ecx,10*65536+20 mov edx,1 mov esi,0x0000aa00 - int 0x40 + mcall ret clrscr: ; clear screen buffer diff --git a/programs/demos/3detx60b/trunk/ascgl.inc b/programs/demos/3detx60b/trunk/ascgl.inc index f60f68662a..f8188e7575 100644 --- a/programs/demos/3detx60b/trunk/ascgl.inc +++ b/programs/demos/3detx60b/trunk/ascgl.inc @@ -20,8 +20,8 @@ lang equ ru ;0.07 convbmp ~13.05.2004 ;0.08 fps ~14.05.2004 ;0.09 drawfbox ~03.06.2004 -;0.10 all macros optimized by Halyavin A., add at ~07.06.2004 -;0.11 many macros optimized by Halyavin A., add at ~30.08.2004 +;0.10 all macros optimized by halyavin, add at ~07.06.2004 +;0.11 many macros optimized by halyavin, add at ~30.08.2004 ;0.12 bmptoimg ~07.09.2004 ;0.13 imgtoimg ~08.09.2004 ;0.14 imgtoimg modify not brake bmp pict! ~09.09.2004 @@ -369,11 +369,11 @@ end if ;DrawBox macro drawfbox x,y,xs,ys,color { - words2reg ebx,x,xs ;x*65536+xs - words2reg ecx,y,ys ;y*65536+ys + wordstoreg ebx,x,xs ;x*65536+xs + wordstoreg ecx,y,ys ;y*65536+ys mov edx,color mov eax,13 - int 0x40 + mcall } ; FPS - Set Frame Per Second Display @@ -385,17 +385,17 @@ local no_out_fps jmp spdat savetime dd 0 fps_cntr dd 0 -fps dd 0 -ttt dd 0 +fps dd 0 +ttt dd 0 spdat: get_time: mov eax,3 - int 0x40 + mcall cmp eax,[savetime] jne new_time inc [fps_cntr] cmp dword [ttt],0 - je out_fps + je out_fps dec dword [ttt] jmp no_out_fps new_time: @@ -405,20 +405,20 @@ new_time: mov [fps_cntr],0 out_fps: if ~(delcolor eq ) - mov ebx,x*65536+36 + mov ebx,x*65536+30 mov ecx,y*65536+7 mov edx,delcolor mov eax,13 - int 0x40 + mcall end if mov dword [ttt],fps_show_frequency mov eax,47 - mov ebx,6*65536 + mov ebx,5*65536 ; mov bl,0 mov edx,x*65536+y mov esi,color mov ecx,[fps] - int 0x40 + mcall no_out_fps: } @@ -462,9 +462,9 @@ nbc: xor ecx,ecx ret end if -bounce: +bounce: mov otv,1 -exit: +exit: } macro rgbtobgr image @@ -495,8 +495,8 @@ macro setimg x , y ,arg3 shl ecx,16 add cx,[arg3+4] ; wordstoreg ecx,[arg3],[arg3+4] - words2reg edx, x , y ;arg1*65536+arg2 - int 0x40 + wordstoreg edx, x , y ;arg1*65536+arg2 + mcall } macro setframe x , y ,arg3 @@ -504,10 +504,10 @@ macro setframe x , y ,arg3 mov eax,7 mov ebx,arg3 add ebx,8 - words2reg edx, x , y ;arg1*65536+arg2 + wordstoreg edx, x , y ;arg1*65536+arg2 add edx,dword [arg3] mov ecx,dword [arg3+4] - int 0x40 + mcall } @@ -697,7 +697,7 @@ local nextelem,convertno32,nomorestring,convert1,nextstring,yespicsize sub esi,dword [bmptoimg_data_area_bps] sub esi,dword [bmptoimg_data_area_bps] cmp esi,dword [bmptoimg_data_area_sop] - jb end_bmp + jb end_bmp add edi,eax add ebp,eax jmp nextstring @@ -705,7 +705,7 @@ local nextelem,convertno32,nomorestring,convert1,nextstring,yespicsize convertno32: mov ebx,bmp_load_area add ebx, [bmp_load_area+14] - add ebx,14 ;start of color table + add ebx,14 ;start of color table push esi add esi,dword [bmptoimg_data_area_bps] mov dword [bmptoimg_data_area_eos],esi @@ -714,9 +714,9 @@ local nextelem,convertno32,nomorestring,convert1,nextstring,yespicsize push eax movzx eax,byte [esi] cmp word [bmp_load_area+28],4 - je convert4bpp + je convert4bpp cmp word [bmp_load_area+28],1 - je convert1bpp + je convert1bpp call converttable convert2: @@ -750,7 +750,7 @@ local nextelem,convertno32,nomorestring,convert1,nextstring,yespicsize mov edx,7 nextbit: xor eax,eax - bt ecx,edx + bt ecx,edx jnc noaddelem inc eax noaddelem: @@ -758,7 +758,7 @@ local nextelem,convertno32,nomorestring,convert1,nextstring,yespicsize call converttable pop edx dec edx - js convert2 + js convert2 add edi,3 add ebp,3 @@ -776,12 +776,12 @@ local nextelem,convertno32,nomorestring,convert1,nextstring,yespicsize bmptoimg_data_area_count=bmptoimg_data_area_count+1 if bmptoimg_data_area_count = 1 ; DATA AREA -bmptoimg_soi dd 0 -bmptoimg_data_area_bps dd 0 +bmptoimg_soi dd 0 +bmptoimg_data_area_bps dd 0 bmptoimg_data_area_dwps dd 0 -bmptoimg_data_area_sop dd 0 -bmptoimg_data_area_eop dd 0 -bmptoimg_data_area_eos dd 0 +bmptoimg_data_area_sop dd 0 +bmptoimg_data_area_eop dd 0 +bmptoimg_data_area_eos dd 0 end if end_bmp: @@ -816,13 +816,13 @@ _null equ 0x1000 ; 0x1000 ; end if ;sss: - mov esi,gifsrc ;Указатель на ГИФ фаил в памяти - mov edi,imgsrc ;Указатель на список картинок + mov esi,gifsrc ;Указатель на ГИФ фаил в памяти + mov edi,imgsrc ;Указатель на список картинок if defined gif_hash_offset - mov eax,gif_hash_offset ;Рабочая область минимум 4096*4 байт + mov eax,gif_hash_offset ;Рабочая область минимум 4096*4 байт else - mov eax,hasharea ;Рабочая область минимум 4096*4 байт + mov eax,hasharea ;Рабочая область минимум 4096*4 байт end if call ReadGIF @@ -845,12 +845,12 @@ ReadGIF: mov [img_count],eax inc eax cmp dword[esi],'GIF8' - jne er ; signature + jne er ; signature mov ecx,[esi+0xa] inc eax add esi,0xd mov edi,esi - bt ecx,7 + bt ecx,7 jnc nextblock mov [globalColor],esi call Gif_skipmap @@ -891,8 +891,8 @@ noextblock: push edi movzx ecx,word[esi] inc esi - bt ecx,7 - jc uselocal + bt ecx,7 + jc uselocal push [globalColor] mov edi,esi jmp setPal @@ -909,7 +909,7 @@ setPal: mov edi,[table_ptr] xor eax,eax cld - lodsb ; eax - block_count + lodsb ; eax - block_count add eax,esi mov [block_ofs],eax mov [bit_count],8 @@ -933,7 +933,7 @@ reinit: pop [compsize] call Gif_get_sym cmp eax,[CC] - je reinit + je reinit call Gif_output cycle: movzx ebx,ax @@ -941,9 +941,9 @@ cycle: cmp eax,edx jae notintable cmp eax,[CC] - je reinit + je reinit cmp eax,[EOI] - je zend + je zend call Gif_output zadd: push eax @@ -997,7 +997,7 @@ Gif_skipmap: ; out: edi - pointer to area after colormap and ecx,111b - inc ecx ; color map size + inc ecx ; color map size mov ebx,1 shl ebx,cl lea ebx,[ebx*2+ebx] @@ -1015,7 +1015,7 @@ shift: jnz loop1 inc esi cmp esi,[block_ofs] - jb noblock + jb noblock push eax xor eax,eax lodsb @@ -1057,14 +1057,14 @@ loop2: add esi,[Palette] if COLOR_ORDER eq MENUETOS - mov esi,[esi] - bswap esi - shr esi,8 - mov [edi],esi - add edi,3 + mov esi,[esi] + bswap esi + shr esi,8 + mov [edi],esi + add edi,3 else - movsw - movsb + movsw + movsb end if loop loop2 @@ -1073,7 +1073,7 @@ loop2: globalColor dd 1 img_count dd 1 - cur_info dd 1 ; image table pointer + cur_info dd 1 ; image table pointer img_start dd 1 codesize dd 1 compsize dd 1 @@ -1101,15 +1101,15 @@ local notintable, er, zend, nxt, continue, ex, Gif_skipmap local Gif_get_sym, shift, nextbl, noblock, loop1, exx local Gif_output, next, loop2 -_null equ 0x1000 ; 0x1000 +_null fix 0x1000 ; 0x1000 - mov esi,gifsrc ;Указатель на ГИФ фаил в памяти - mov edi,imgsrc ;Указатель на список картинок + mov esi,gifsrc ;Указатель на ГИФ фаил в памяти + mov edi,imgsrc ;Указатель на список картинок if defined gif_hash_offset - mov eax,gif_hash_offset ;Рабочая область минимум 4096*4 байт + mov eax,gif_hash_offset ;Рабочая область минимум 4096*4 байт else - mov eax,hasharea ;Рабочая область минимум 4096*4 байт + mov eax,hasharea ;Рабочая область минимум 4096*4 байт end if call ReadGIF @@ -1130,12 +1130,12 @@ ReadGIF: mov [img_count],eax inc eax cmp dword[esi],'GIF8' - jne er ; signature + jne er ; signature mov ecx,[esi+0xa] inc eax add esi,0xd mov edi,esi - bt ecx,7 + bt ecx,7 jnc nextblock mov [globalColor],esi call Gif_skipmap @@ -1187,8 +1187,8 @@ noextblock: push edi movzx ecx,word[esi] inc esi - bt ecx,7 - jc uselocal + bt ecx,7 + jc uselocal push [globalColor] mov edi,esi jmp setPal @@ -1205,7 +1205,7 @@ setPal: mov edi,[table_ptr] xor eax,eax cld - lodsb ; eax - block_count + lodsb ; eax - block_count add eax,esi mov [block_ofs],eax mov [bit_count],8 @@ -1229,7 +1229,7 @@ reinit: pop [compsize] call Gif_get_sym cmp eax,[CC] - je reinit + je reinit call Gif_output cycle: movzx ebx,ax @@ -1237,9 +1237,9 @@ cycle: cmp eax,edx jae notintable cmp eax,[CC] - je reinit + je reinit cmp eax,[EOI] - je zend + je zend call Gif_output zadd: push eax @@ -1293,7 +1293,7 @@ Gif_skipmap: ; out: edi - pointer to area after colormap and ecx,111b - inc ecx ; color map size + inc ecx ; color map size mov ebx,1 shl ebx,cl lea ebx,[ebx*2+ebx] @@ -1311,7 +1311,7 @@ shift: jnz loop1 inc esi cmp esi,[block_ofs] - jb noblock + jb noblock push eax xor eax,eax lodsb @@ -1353,14 +1353,14 @@ loop2: add esi,[Palette] if COLOR_ORDER eq MENUETOS - mov esi,[esi] - bswap esi - shr esi,8 - mov [edi],esi - add edi,3 + mov esi,[esi] + bswap esi + shr esi,8 + mov [edi],esi + add edi,3 else - movsw - movsb + movsw + movsb end if loop loop2 @@ -1369,7 +1369,7 @@ loop2: globalColor dd 1 img_count dd 1 - cur_info dd 1 ; image table pointer + cur_info dd 1 ; image table pointer img_start dd 1 codesize dd 1 compsize dd 1 diff --git a/programs/demos/3detx60b/trunk/ascl.inc b/programs/demos/3detx60b/trunk/ascl.inc index 74c0a46c77..45ea00d57b 100644 --- a/programs/demos/3detx60b/trunk/ascl.inc +++ b/programs/demos/3detx60b/trunk/ascl.inc @@ -27,13 +27,11 @@ lang equ ru ; ru en fr ge fi ;0.12 open/save dialog ~13.09.2004 ;0.13 dialogs bugs deleted ;0.14 drawlbut ~03.10.2004 -;0.15 extendet label! ; LOADFILE ; (SYNTAX) LOADFILE 'full_path_to_file',file_load_area,file_temp_area ; (SAMPLE) LOADFILE '/rd/1/clock.bmp',load_area,temp_area - macro loadfile file_name,file_load_area,file_temp_area { local open,fileinfo,string @@ -50,85 +48,35 @@ open: mov dword [fileinfo+8],1 ; how many blocks to read (1) mov eax,58 mov ebx,fileinfo - int 0x40 + mcall mov eax,[file_load_area+2] shr eax,9 ; поделим на 512 и прибавим 1 - получим число блоков inc eax mov dword [fileinfo+8],eax mov eax,58 mov ebx,fileinfo - int 0x40 + mcall } -;macro wordstoreg reg,hiword,loword -;{ -;if hiword eqtype 0 & loword eqtype 0 -; mov reg,dword hiword*65536+loword -;else if hiword eqtype 12 & loword eqtype eax -; mov reg,dword hiword*65536 -; add reg,dword loword -;else if hiword eqtype 12 & loword eqtype [123] -; mov reg,dword hiword*65536 -; add reg,dword loword -;else -; mov reg,dword hiword -; shl reg,16 -; add reg,dword loword -;end if -;} - -macro dword2reg reg,doubleword +macro wordstoreg reg,hiword,loword { -if doubleword eq - ; not changes +if hiword eqtype 0 & loword eqtype 0 + mov reg,(hiword)*65536+(loword) +else if hiword eqtype 12 & loword eqtype eax + mov reg,(hiword)*65536 + add reg,loword +else if hiword eqtype 0 & loword eqtype [123] + mov reg,(hiword)*65536 + add reg,loword +else if (hiword eq ) & (loword eq ) else - mov reg,dword doubleword + mov reg,hiword + shl reg,16 + add reg,loword end if } -macro words2reg reg,hiword,lowword -{ -if hiword eq - if lowword eq - ; not changes - else - if lowword eqtype 12 - and reg,dword 0xffff0000 - add reg,dword lowword - else - and reg,dword 0xffff0000 - add reg,dword lowword - end if - end if -else - if lowword eq - if hiword eqtype 12 - and reg,dword 0x0000ffff - add reg,dword hiword*65536 - else - shl reg,16 - add reg,dword hiword - ror reg,16 - end if - else - if lowword eqtype 12 & hiword eqtype 12 - if lowword eq 0 & hiword eq 0 - xor reg,reg - else - mov reg,dword hiword*65536+lowword - end if - else - mov reg,dword hiword - shl reg,16 - add reg,dword lowword - end if - end if -end if -} - - - ; DRAW BUTTON with label @@ -138,12 +86,12 @@ local asd,lab jmp asd lab db text ;arg label asd: - words2reg ebx,x,xs - words2reg ecx,y,ys + wordstoreg ebx,x,xs + wordstoreg ecx,y,ys mov edx,id mov esi,bcolor mov eax,8 - int 0x40 + mcall mov eax,asd-lab ;calc size mov ebx,6 @@ -168,7 +116,7 @@ asd: mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } @@ -197,7 +145,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -231,12 +179,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,150 ; size 150 bytes - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -244,7 +192,7 @@ new_d: mov eax,58 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -252,7 +200,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall cmp eax,1 je mred @@ -267,14 +215,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -299,15 +247,15 @@ mred: jmp getmesloop mkey: mov eax,2 - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -380,7 +328,7 @@ run_fileinfo: db '/RD/1/SYSXTREE',0 procinfo: -times 1024 db 0 +times 256 db 0 } @@ -409,7 +357,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -442,13 +390,13 @@ new_d: mov eax,60 mov ebx,1 ; define IPC mov ecx,path ; offset of area - mov edx,150 ; size 150 bytes - int 0x40 + mov edx,120 ; size 150 bytes + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -456,7 +404,7 @@ new_d: mov eax,58 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -464,7 +412,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall cmp eax,1 je mred @@ -479,14 +427,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -510,16 +458,15 @@ mred: call redproc jmp getmesloop mkey: - mov eax,2 - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -579,8 +526,8 @@ dlg_pid_get dd 0 DLGPID dd 0 param: - dd 0 ; My dec PID - dd 0,0 ; Type of dialog + rb 4 ; My dec PID + rb 6 ; Type of dialog run_fileinfo: dd 16 @@ -588,11 +535,11 @@ run_fileinfo: dd param dd 0 dd procinfo -;run_filepath: +run_filepath: db '/RD/1/SYSXTREE',0 procinfo: -times 1024 db 0 +times 256 db 0 } @@ -671,7 +618,7 @@ rxproc: macro scank { mov eax,10 - int 0x40 + mcall } macro putpix x,y,color @@ -680,7 +627,7 @@ macro putpix x,y,color mov ecx,y mov edx,color mov eax,1 - int 0x40 + mcall } macro puttxt x,y,offs,size,color @@ -688,17 +635,12 @@ macro puttxt x,y,offs,size,color ; mov ebx,x ; shl ebx,16 ; add ebx,y - words2reg ebx,x,y - - dword2reg ecx,color - dword2reg edx,offs - dword2reg esi,size - -; mov ecx,color -; mov edx,offs -; mov esi,size + wordstoreg ebx,x,y + mov ecx,color + mov edx,offs + mov esi,size mov eax,4 - int 0x40 + mcall } macro outcount data, x, y, color, numtype @@ -707,10 +649,10 @@ macro outcount data, x, y, color, numtype mov ebx,numtype mov bl,0 ; mov edx,x*65536+y - words2reg edx,x,y + wordstoreg edx,x,y mov esi,color mov eax,47 - int 0x40 + mcall } ; SCEVENT - Scan event @@ -718,7 +660,7 @@ macro outcount data, x, y, color, numtype macro scevent red,key,but { mov eax,11 - int 0x40 + mcall dec eax jz red dec eax @@ -732,7 +674,7 @@ macro scevent red,key,but macro wtevent red,key,but { mov eax,10 - int 0x40 + mcall dec eax jz red dec eax @@ -747,7 +689,7 @@ macro timeevent xfps,noevent,red,key,but { mov eax,23 mov ebx,xfps - int 0x40 + mcall cmp eax,0 je noevent dec eax @@ -764,7 +706,7 @@ macro timeevent xfps,noevent,red,key,but macro close { mov eax,-1 - int 0x40 + mcall } ; DELAY - Create delay 1/100 sec @@ -775,7 +717,7 @@ macro delay arg1 { mov eax,5 mov ebx,arg1 - int 0x40 + mcall } ; WINDOW - Draw window @@ -786,11 +728,11 @@ macro window arg1,arg2,arg3,arg4,arg5 { ; mov ebx,arg1*65536+arg3 ; mov ecx,arg2*65536+arg4 - words2reg ebx,arg1,arg3 - words2reg ecx,arg2,arg4 + wordstoreg ebx,arg1,arg3 + wordstoreg ecx,arg2,arg4 mov edx,arg5 mov eax,0 - int 0x40 + mcall } macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 @@ -801,7 +743,7 @@ macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 mov esi,arg6 mov edi,arg7 mov eax,0 - int 0x40 + mcall } @@ -811,7 +753,7 @@ macro startwd { mov eax,12 mov ebx,1 - int 0x40 + mcall } ; ENDWD - End window draw @@ -820,7 +762,7 @@ macro endwd { mov eax,12 mov ebx,2 - int 0x40 + mcall } ; LABEL - Put text to frame @@ -836,15 +778,14 @@ asd: ; mov ebx,arg1 ;arg1=y arg2=x ; shl ebx,16 ; add ebx,arg2 - - words2reg ebx,arg1,arg2 - - dword2reg ecx,arg4 - + wordstoreg ebx,arg1,arg2 +if ~(arg4 eq ) + mov ecx,arg4 ;arg4 color +end if mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } ;Key's diff --git a/programs/demos/3detx60b/trunk/build_en.bat b/programs/demos/3detx60b/trunk/build_en.bat index 4be7916c02..1d84d93879 100644 --- a/programs/demos/3detx60b/trunk/build_en.bat +++ b/programs/demos/3detx60b/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm 3detx60b.asm 3detx60b +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/3detx60b/trunk/build_ru.bat b/programs/demos/3detx60b/trunk/build_ru.bat index 94f1587484..4d1c898e59 100644 --- a/programs/demos/3detx60b/trunk/build_ru.bat +++ b/programs/demos/3detx60b/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm 3detx60b.asm 3detx60b +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/3dtcub10/trunk/3DTCUB10.ASM b/programs/demos/3dtcub10/trunk/3DTCUB10.ASM index 0d51e2df1f..bd17762800 100644 --- a/programs/demos/3dtcub10/trunk/3DTCUB10.ASM +++ b/programs/demos/3dtcub10/trunk/3DTCUB10.ASM @@ -20,6 +20,7 @@ use32 dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' +include '..\..\..\macros.inc' MAX_DEGS equ 512 ;quantity of angels 2^n.Minimize for speedup MAX_POINTS equ 8 ;quantity of points MAX_FACES equ 6 ;quantity of points @@ -33,10 +34,10 @@ START: still: mov eax,23 ; wait for system event with 2 ms timeout mov ebx,2 ; wait 2 ms, then continue - int 0x40 + mcall ; mov eax,11 ;If you want maximum speed! :) -; int 0x40 +; mcall dec eax ; window redraw request ? je red @@ -86,30 +87,30 @@ key: jmp exit button: mov eax,17 - int 0x40 + mcall cmp ah,1 jne still exit: mov eax,-1 - int 0x40 + mcall ;Draw window draw_window: mov eax,12 ;Start mov ebx,1 - int 0x40 + mcall mov eax,0 ;Draw window mov ebx,0*65536+(799) ;x start*65536+x size mov ecx,0*65536+(599) ;y start*65536+y size mov edx,0x00000000 ;0x03 use skinned window - int 0x40 + mcall call clear_screen mov eax,12 ;End mov ebx,2 - int 0x40 + mcall ret head_label: db "3D TEXTURED CUBE THE LITTLE SCREEN SAVER FOR MENUETOS. USE " @@ -163,14 +164,14 @@ clear_screen: mov ebx,0*65536+800 mov ecx,0*65536+600 mov edx,0 - int 40h + mcall mov eax,4 ;Out Text mov ebx,8*65536+8 ;x start*65536+y start mov ecx,0x00ffffff ;color White mov edx,head_label mov esi,hl_end-head_label - int 0x40 + mcall ret clear_screen_buffer: @@ -178,7 +179,7 @@ clear_screen_buffer: mov ecx,800*65536+(600-40) ;sub 40 for antiflickering title mov edx,0*65536+40 mov eax,7 - int 0x40 + mcall mov eax,4 ;Out Text mov ebx,8*65536+580 ;x start*65536+y start @@ -189,7 +190,7 @@ clear_screen_buffer: mov edx,move_text add edx,[step] mov esi,130 ;mt_end-move_text - int 0x40 + mcall inc [n_step] cmp [n_step],6 diff --git a/programs/demos/3dtcub10/trunk/build_en.bat b/programs/demos/3dtcub10/trunk/build_en.bat index 3ad3c0b79a..ede0dd8b92 100644 --- a/programs/demos/3dtcub10/trunk/build_en.bat +++ b/programs/demos/3dtcub10/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm 3dtcub10.asm 3dtcub10 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/3dtcub10/trunk/build_ru.bat b/programs/demos/3dtcub10/trunk/build_ru.bat index 9a3129bbf4..f34ecb3933 100644 --- a/programs/demos/3dtcub10/trunk/build_ru.bat +++ b/programs/demos/3dtcub10/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm 3dtcub10.asm 3dtcub10 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/bcdclk/bcdclk/bcdclk.asm b/programs/demos/bcdclk/bcdclk/bcdclk.asm index 1001041e9f..ee7a960663 100644 --- a/programs/demos/bcdclk/bcdclk/bcdclk.asm +++ b/programs/demos/bcdclk/bcdclk/bcdclk.asm @@ -18,7 +18,7 @@ use32 dd 0x0 , 0x0 include "lang.inc" -include "macros.inc" +include "..\..\..\macros.inc" START: @@ -30,7 +30,7 @@ still: mov eax,23 ; wait for timeout mov ebx,50 - int 0x40 + mcall cmp eax,1 ; redraw ? je red @@ -44,12 +44,12 @@ still: button: mov al,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose or eax,-1 ; close this program - int 0x40 + mcall noclose: jmp still @@ -57,7 +57,7 @@ button: drawclock: mov eax,3 ; get time - int 0x40 + mcall bswap eax shr eax,8 mov edi,dg1 @@ -82,7 +82,7 @@ plotlp: mov edx,0x00ff0000 nobit: mov eax,13 ; plot 8,4,2,1 - int 0x40 + mcall add ecx,12*65536 shl byte[edi],1 inc esi @@ -91,7 +91,7 @@ nobit: shr byte[edi],4 mov edx,0x00880040 mov eax,13 ; draw digit box - int 0x40 + mcall pusha mov edx,ebx and edx,0xffff0000 @@ -102,7 +102,7 @@ nobit: mov ecx,[edi] mov esi,0x00ffffff mov eax,47 ; display decimal - int 0x40 + mcall popa sub ebx,12*65536 inc edi @@ -116,23 +116,23 @@ drawwindow: mov eax,12 mov ebx,1 ; start redraw - int 0x40 + mcall xor eax,eax ; window mov ebx,100*65536+107 mov ecx,100*65536+105 mov edx,0x33400088 - mov edi,header - int 0x40 + mov edi,title + mcall call drawclock mov eax,12 mov ebx,2 ; end redraw - int 0x40 + mcall ret -header db 'BCD Clock',0 +title db 'BCD Clock',0 I_END: dg1: db ? \ No newline at end of file diff --git a/programs/demos/bcdclk/bcdclk/build_en.bat b/programs/demos/bcdclk/bcdclk/build_en.bat index 31edc7d593..bae8a8f595 100644 --- a/programs/demos/bcdclk/bcdclk/build_en.bat +++ b/programs/demos/bcdclk/bcdclk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm bcdclk.asm bcdclk +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/bcdclk/bcdclk/build_ru.bat b/programs/demos/bcdclk/bcdclk/build_ru.bat index 52108e4dbd..6aef5b7417 100644 --- a/programs/demos/bcdclk/bcdclk/build_ru.bat +++ b/programs/demos/bcdclk/bcdclk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm bcdclk.asm bcdclk +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/bcdclk/bcdclk/macros.inc b/programs/demos/bcdclk/bcdclk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/demos/bcdclk/bcdclk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/demos/bgitest/trunk/bgifont.inc b/programs/demos/bgitest/trunk/bgifont.inc index c32527e35b..1678a00ba1 100644 --- a/programs/demos/bgitest/trunk/bgifont.inc +++ b/programs/demos/bgitest/trunk/bgifont.inc @@ -239,7 +239,7 @@ _BGIfont_Prepare: if ~ BGI_LEVEL eq KERNEL mov eax, 70 mov ebx, .fontattr - int 0x40 + mcall test eax, eax jnz .fail dps2 '1' @@ -247,7 +247,7 @@ if ~ BGI_LEVEL eq KERNEL mov [.fsize], eax mov ebx,.fontinfo mov eax,70 - int 0x40 ; ebx - file size + mcall ; ebx - file size else push edi esi edx mov eax,.font @@ -454,7 +454,7 @@ if ~ BGI_LEVEL eq KERNEL mov eax,9 mov ebx,BGI_PRC_INFO mov ecx,-1 - int 0x40 + mcall popa end if end if @@ -587,14 +587,14 @@ if ~ BGI_LEVEL eq KERNEL and edx, 0xFFFFFF ; \end{diamond}[18.08.2006] mov eax,38 - int 0x40 + mcall test ebp,BGI_BOLD jz .nobold test ebp,BGI_FREE jnz .free5 .free5: add ebx,1 shl 16+1 - int 0x40 + mcall .nobold: pop eax else diff --git a/programs/demos/bgitest/trunk/bgitest.asm b/programs/demos/bgitest/trunk/bgitest.asm index abba0841b5..94fd6d4b26 100644 --- a/programs/demos/bgitest/trunk/bgitest.asm +++ b/programs/demos/bgitest/trunk/bgitest.asm @@ -69,7 +69,7 @@ use32 not1strun dd 0x0 include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' ;include 'debug.inc' include 'bgifont.inc' @@ -101,7 +101,7 @@ red: still: mov eax,10 - int 0x40 + mcall cmp eax,1 je red @@ -114,19 +114,19 @@ still: button: mov eax,17 - int 0x40 + mcall cmp ah,1 jnz noclose close: xor eax,eax dec eax - int 0x40 + mcall noclose: jmp still key: mov eax,2 - int 0x40 + mcall shr eax,8 cmp al,27 ; esc - close je close @@ -228,11 +228,11 @@ draw_window: mov ebx,3 mov ecx,sc mov edx,sizeof.system_colors - int 0x40 + mcall mov eax,12 mov ebx,1 - int 0x40 + mcall xor eax,eax mov ebx,10*65536+_X*2+30 @@ -240,7 +240,7 @@ draw_window: mov edx,0x03261212 mov esi,0x805080d0 mov edi,0x005080d0 - int 0x40 + mcall mov eax,4 mov ebx,8*65536+8 @@ -252,7 +252,7 @@ draw_window: je .int sub esi,12 .int: - int 0x40 + mcall cmp [help],0 jnz .help @@ -282,16 +282,16 @@ draw_window: mov edx,0x4b331a mov ebx,[edi] mov ecx,[edi+4] - int 0x40 + mcall mov ebx,[edi+8] mov ecx,[edi+12] - int 0x40 + mcall mov ebx,freetest BGIfont_Freetext .eod: mov eax,12 mov ebx,2 - int 0x40 + mcall ret Print: ; eax-pointer to _txt struc @@ -326,7 +326,7 @@ PixelPrint: ; eax-pointer to _txt struc, but used differently and esi,0xfff push ecx mov ecx,[ebp+8] - int 0x40 + mcall pop ecx lea edx,[esi+edx+4] add ebx,[ebp+4] diff --git a/programs/demos/bgitest/trunk/build_en.bat b/programs/demos/bgitest/trunk/build_en.bat index 9e33c73ea3..d43539a822 100644 --- a/programs/demos/bgitest/trunk/build_en.bat +++ b/programs/demos/bgitest/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm bgitest.asm bgitest +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/bgitest/trunk/build_ru.bat b/programs/demos/bgitest/trunk/build_ru.bat index e77c15cfc6..ef4f73891d 100644 --- a/programs/demos/bgitest/trunk/build_ru.bat +++ b/programs/demos/bgitest/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm bgitest.asm bgitest +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/bgitest/trunk/macros.inc b/programs/demos/bgitest/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/demos/bgitest/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/demos/colorref/trunk/build_en.bat b/programs/demos/colorref/trunk/build_en.bat index 5c704008b6..33d562d8e3 100644 --- a/programs/demos/colorref/trunk/build_en.bat +++ b/programs/demos/colorref/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm colorref.asm colorref +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/colorref/trunk/build_ru.bat b/programs/demos/colorref/trunk/build_ru.bat index 1eba30e40c..94f4c7d316 100644 --- a/programs/demos/colorref/trunk/build_ru.bat +++ b/programs/demos/colorref/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm colorref.asm colorref +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/colorref/trunk/colorref.asm b/programs/demos/colorref/trunk/colorref.asm index 5520de6e83..128d80289d 100644 --- a/programs/demos/colorref/trunk/colorref.asm +++ b/programs/demos/colorref/trunk/colorref.asm @@ -15,6 +15,7 @@ use32 dd 0x0,0x0 ; I_Param , I_Icon include 'lang.inc' +include '..\..\..\macros.inc' wide: dd 0 ; screen pixels width mouse: dd 0 ; 1=right,2=left [mouse click] @@ -22,7 +23,7 @@ mouse: dd 0 ; 1=right,2=left [mouse click] start: mov eax,14 ; get screen size - int 0x40 + mcall shr eax,16 ; get width into AX inc eax ; not 0 based mov [wide],eax @@ -32,7 +33,7 @@ start: still: mov eax,23 ; wait for event w/timeout mov ebx,5 ; delay in hundredths - int 0x40 + mcall cmp eax,1 ; redraw request ? jne s1 @@ -46,7 +47,7 @@ s2: cmp eax,3 ; button in buffer ? s3: mov eax,9 ; process info function mov ebx,stat_table ; return data table mov ecx,-1 ; who am i - int 0x40 + mcall cmp ax,[stat_table+4] ; are we active? je active ; yep jmp still @@ -54,7 +55,7 @@ s3: mov eax,9 ; process info function active: mov eax,37 ; mouse info function mov ebx,2 ; get buttons - int 0x40 + mcall cmp eax,0 ; mouse click? jne click jmp still @@ -62,7 +63,7 @@ s3: mov eax,9 ; process info function mov [mouse],eax ; save mouse click mov eax,37 ; mouse info xor ebx,ebx ; get screen pos for mouse - int 0x40 ; into EAX + mcall ; into EAX xor ebx,ebx mov bx,ax ; BX=y screen position shr eax,16 ; AX=x screen position @@ -72,7 +73,7 @@ s3: mov eax,9 ; process info function mul ecx add ebx,eax ; add x mov eax,35 ; get mouse pos pixel - int 0x40 ; EAX=mouse pixel color + mcall ; EAX=mouse pixel color mov ebx,eax ; EBX has color mov esi,colors ; color table mov ecx,72 ; total colors @@ -110,7 +111,7 @@ r1: mov [picks+4],edx ; update right pick color key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall cmp al,0 ; key in buffer? je k1 ; yep jmp still @@ -124,14 +125,14 @@ k2: call help ; show help screen button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? je close jmp still close: mov eax,-1 ; close this program - int 0x40 + mcall ; ********************************************* @@ -143,20 +144,20 @@ draw_window: mov eax,12 ; tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall mov eax,0 ; DRAW WINDOW mov ebx,1*65536+200 ; [x start] *65536 + [x size] mov ecx,200*65536+240 ; [y start] *65536 + [y size] mov edx,0x13000000 ; work area color (type II) - mov edi,header ; frame color - int 0x40 + mov edi,title ; frame color + mcall call palette ; display color palette mov eax,12 ; tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -178,7 +179,7 @@ p2: push ecx mov ecx,edx ; y coord mov edx,[ebp] ; color mov eax,13 ; draw bar function - int 0x40 + mcall pop edx pop ecx add ebx,19*65536 ; next column @@ -197,7 +198,7 @@ draw_picks: mov ecx,188*65536+42 ; draw y and depth mov edx,0xc0c0c0 ; color grey mov eax,13 ; draw bar function - int 0x40 + mcall mov eax,[picks] ; first picked color mov esi,22*65536+196 ; print at x and y call do_hex ; print color number @@ -232,7 +233,7 @@ do_hex: mov edx,esi ; copy color mov esi,0xe1e1e1 ; use white mov eax,47 ; print number function - int 0x40 + mcall ret @@ -245,7 +246,7 @@ do_color: mov edx,[edi] ; color mov ecx,esi ; recover y an depth mov eax,13 ; draw bar function - int 0x40 + mcall ret @@ -258,7 +259,7 @@ do_name: mov ecx,0xe1e1e1 ; color mov esi,15 mov eax,4 ; print text function - int 0x40 + mcall ret @@ -267,12 +268,12 @@ clear: mov ecx,196*65536+26 ; y and depth mov edx,0x000000 ; color mov eax,13 ; draw bar funx - int 0x40 + mcall mov ebx,96*65536+90 ; x and width mov ecx,196*65536+26 ; y and depth mov edx,0x000000 ; color mov eax,13 ; draw bar funx - int 0x40 + mcall ret @@ -281,7 +282,7 @@ help: mov ecx,20*65536+216 ; y and depth mov edx,0x465e8f ; dark denim color mov eax,13 ; write text funx - int 0x40 + mcall mov ebx,20*65536+40 ; starting x and y mov edx,text ; start of text mov esi,27 ; width of text @@ -290,25 +291,25 @@ help: h1: push ecx sub ebx,65537 ; drop shadow x and y mov ecx,0x000000 ; black shadow - int 0x40 + mcall add ebx,65537 ; original x and y mov ecx,0xefefef ; white text - int 0x40 + mcall add edx,27 ; next line of text add bx,12 ; next row pop ecx loop h1 mov eax,10 ; wait on event - int 0x40 + mcall cmp eax,2 ; got a key? jne h2 ; nope mov eax,2 ; yep, burn it - int 0x40 + mcall h2: mov ebx,4*65536+192 ; y and width mov ecx,20*65536+216 ; x and depth mov edx,0x00000 ; restore black bkg mov eax,13 ; draw bar funx - int 0x40 + mcall call palette ; redraw color palette ret @@ -318,7 +319,7 @@ h2: mov ebx,4*65536+192 ; y and width ; ********** DATA DEFINITIONS AREA *********** ; ********************************************* -header db 'COLOR REFERENCE H>HELP',0 +title db 'COLOR REFERENCE H>HELP',0 picks: dd 31,2 ; selected top/bot colors diff --git a/programs/demos/crownscr/trunk/build_en.bat b/programs/demos/crownscr/trunk/build_en.bat index 5f1bca179c..af4b372b3a 100644 --- a/programs/demos/crownscr/trunk/build_en.bat +++ b/programs/demos/crownscr/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm crownscr.asm crownscr +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/crownscr/trunk/build_ru.bat b/programs/demos/crownscr/trunk/build_ru.bat index 07b7fc397d..12f0f2d468 100644 --- a/programs/demos/crownscr/trunk/build_ru.bat +++ b/programs/demos/crownscr/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm crownscr.asm crownscr +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/crownscr/trunk/crownscr.asm b/programs/demos/crownscr/trunk/crownscr.asm index 20f7788d92..d41bd58cce 100644 --- a/programs/demos/crownscr/trunk/crownscr.asm +++ b/programs/demos/crownscr/trunk/crownscr.asm @@ -33,7 +33,7 @@ copyrightlen: include "lang.inc" include "figuresi.inc" -include "macros.inc" +include "..\..\..\macros.inc" start: cld finit @@ -46,7 +46,7 @@ start: cmp [flscr],0 jz nofullscreen mov eax,14 - int 0x40 + mcall mov [maxy],ax sub ax,480 @@ -80,7 +80,7 @@ red: still: mov eax,23 mov ebx,delay - int 0x40 ; wait here for event + mcall ; wait here for event cmp eax,1 ; redraw request ? je red @@ -95,12 +95,12 @@ still: mov ecx,[outsize] ; ecx=image position in window [x]*65536+[y] mov ebx,scr ; ebx pointer to image in memory mov eax,07 ; putimage - int 0x40 + mcall jmp still key: mov eax,2 - int 0x40 + mcall cmp al,1 ; is key in buffer ? jz still @@ -110,14 +110,14 @@ jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall ; cmp ah,1 ; button id=1 ? ; jne still close: mov eax,-1 ; close this program - int 0x40 + mcall ; ********************************************* @@ -128,7 +128,7 @@ close: draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall cmp [flscr],0 jnz m2 @@ -138,7 +138,7 @@ draw_window: mov esi,0x805080d0 ; color of grab bar RRGGBB,8->color gl mov edi,0x005080d0 ; color of frames RRGGBB xor eax,eax ; function 0 : define and draw window - int 0x40 + mcall ; WINDOW LABEL mov ebx,8*65536+8 ; [x start] *65536 + [y start] @@ -146,7 +146,7 @@ draw_window: mov edx,copyright ; pointer to text beginning mov esi,copyrightlen-copyright; text length mov eax,4 ; function 4 : write text to window - int 0x40 + mcall ; CLOSE BUTTON mov ebx,(640-19)*65536+12 ; [x start] *65536 + [x size] @@ -154,7 +154,7 @@ draw_window: mov edx,1 ; button id mov esi,0x6688dd ; button color RRGGBB mov eax,8 ; function 8 : define and draw button - int 0x40 + mcall jmp m3 m2: movzx ebx,[maxx] ; [x start] *65536 + [x size] @@ -164,17 +164,17 @@ draw_window: mov esi,0x805080d0 ; color of grab bar RRGGBB,8->color gl mov edi,0x005080d0 ; color of frames RRGGBB xor eax,eax ; function 0 : define and draw window - int 0x40 + mcall inc bx inc cx mov eax,13 ; functiom 13 : draw bar - int 0x40 + mcall m3: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -332,7 +332,7 @@ ret filling_alfbet: ; Initialize RND mov eax,3 - int 40h + mcall ; eax - fist random number mov ecx,n_points diff --git a/programs/demos/crownscr/trunk/macros.inc b/programs/demos/crownscr/trunk/macros.inc deleted file mode 100644 index f2345b6200..0000000000 --- a/programs/demos/crownscr/trunk/macros.inc +++ /dev/null @@ -1,261 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/demos/cslide/trunk/build_en.bat b/programs/demos/cslide/trunk/build_en.bat index 74c546e965..ed0f5ef4d4 100644 --- a/programs/demos/cslide/trunk/build_en.bat +++ b/programs/demos/cslide/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm cslide.asm cslide +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/cslide/trunk/build_ru.bat b/programs/demos/cslide/trunk/build_ru.bat index c69f7975c5..83a99456a0 100644 --- a/programs/demos/cslide/trunk/build_ru.bat +++ b/programs/demos/cslide/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm cslide.asm cslide +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/cslide/trunk/cslide.asm b/programs/demos/cslide/trunk/cslide.asm index 7b887853c6..3f9b3b01d3 100644 --- a/programs/demos/cslide/trunk/cslide.asm +++ b/programs/demos/cslide/trunk/cslide.asm @@ -20,6 +20,7 @@ use32 dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' +include '..\..\..\macros.inc' START: ; start of execution call draw_window ; at first, draw the window @@ -29,7 +30,7 @@ still: mov eax,23 mov ebx,2 - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -46,19 +47,19 @@ still: key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall shr eax,8 cmp eax,1 ; button id=1 ? jne noclose mov eax,-1 ; close this program - int 0x40 + mcall noclose: @@ -74,14 +75,14 @@ still: draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+200 ; [x start] *65536 + [x size] mov ecx,100*65536+200 ; [y start] *65536 + [y size] mov edx,0x13ffffff ; color of work area RRGGBB,8->color gl - mov edi,header ; WINDOW LABEL - int 0x40 + mov edi,title ; WINDOW LABEL + mcall call draw_slider_info @@ -98,7 +99,7 @@ Draw_Controls_Done: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -113,12 +114,12 @@ mouseb dd 0 mouse_info: mov eax, 37 ;get mouse cordinates mov ebx, 1 ; - int 0x40 ; + mcall ; mov ecx, eax ; push ecx ; mov eax, 37 ;get mouse buttons mov ebx, 2 ; - int 0x40 ; + mcall ; cmp [mouseb], eax ;compare old mouse states to new states jne redraw_mouse_info ; cmp [mousey], cx ; @@ -174,7 +175,7 @@ draw_slider_info: mov ebx, 0x00960028 mov ecx, 0x00240010 mov edx, 0x00ffffff - int 0x40 + mcall ;Draw Color Box xor edx, edx movzx ecx,word [slider_1+12] @@ -187,14 +188,14 @@ draw_slider_info: mov ebx, 0x00860035 mov ecx, 0x00590040 mov eax, 13 - int 0x40 + mcall ;draw current value of slider mov ecx, edx mov eax, 47 mov ebx, 0x00060100 mov esi, 0 mov edx, 0x009A0029 - int 0x40 + mcall ret @@ -267,7 +268,7 @@ draw_slider: mov ebx, [ebp] ;x start/width mov ecx, [ebp+4] ;y start/height mov edx, 0x002288DD ;color - int 0x40 ;draw bar + mcall ;draw bar ;Draw line for slide rail mov eax, 38 ;draw vertical slide line movzx ebx,word [ebp] ;x @@ -281,7 +282,7 @@ draw_slider: add ecx, [ebp+6] ;y start sub ecx, 10 ; mov edx, 0x00 ;color - int 0x40 ; + mcall ; ;Draw slider box movzx eax,word [ebp+4] ;height sub eax, 20 ; @@ -301,7 +302,7 @@ draw_slider: mov cx, [box_h] ;height mov eax, 13 ;draw bar sys function mov edx, 0x00 ;color - int 0x40 ;draw slider box + mcall ;draw slider box pop edx pop ecx pop ebx @@ -374,5 +375,5 @@ ret ;************************************************** ; DATA AREA -header db 'Color Slider',0 +title db 'Color Slider',0 I_END: \ No newline at end of file diff --git a/programs/demos/eyes/trunk/build_en.bat b/programs/demos/eyes/trunk/build_en.bat index 50143ec99e..7f7379520f 100644 --- a/programs/demos/eyes/trunk/build_en.bat +++ b/programs/demos/eyes/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm eyes.asm eyes +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/eyes/trunk/build_ru.bat b/programs/demos/eyes/trunk/build_ru.bat index 1e9d2ede66..e1db539ccb 100644 --- a/programs/demos/eyes/trunk/build_ru.bat +++ b/programs/demos/eyes/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm eyes.asm eyes +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/eyes/trunk/eyes.asm b/programs/demos/eyes/trunk/eyes.asm index 6efba894ea..2ff58ad372 100644 --- a/programs/demos/eyes/trunk/eyes.asm +++ b/programs/demos/eyes/trunk/eyes.asm @@ -26,7 +26,7 @@ use32 dd 0x0 dd 0x0 -include 'macros.inc' +include '..\..\..\macros.inc' ENTRANCE: ; start of code ; ==== main ==== @@ -41,7 +41,7 @@ call draw_eyes ; draw those funny "eyes" mov eax,23 ; wait for event with timeout mov ebx,TIMEOUT -int 0x40 +mcall cmp eax,1 ; redraw ? jnz no_draw @@ -60,12 +60,12 @@ jmp still ; loop key: mov eax,2 ; just read and ignore -int 0x40 +mcall jmp still button: ; analyze button mov eax,-1 ; this is button 1 - we have only one button :-) -int 0x40 +mcall jmp still ; -====- declarations -====- @@ -81,7 +81,7 @@ shape_window: mov eax,50 ; set up shape reference area mov ebx,0 mov ecx,winref -int 0x40 +mcall ret @@ -91,7 +91,7 @@ draw_eyes: ; check mousepos to disable blinking mov eax,37 xor ebx,ebx -int 0x40 +mcall cmp dword [mouse],eax jne redraw_ok ret @@ -102,7 +102,7 @@ redraw_overlap: ; label for redraw event (without checkmouse) mov eax,12 mov ebx,1 -int 0x40 +mcall xor eax,eax ; define window mov ebx,[win_ebx] @@ -110,19 +110,19 @@ mov ecx,[win_ecx] xor edx,edx xor esi,esi xor edi,edi -int 0x40 +mcall mov eax,8 ; define closebutton mov ebx,60 mov ecx,45 mov edx,1 -int 0x40 +mcall mov eax,7 mov ebx,skindata mov ecx,60*65536+30 mov edx,15 -int 0x40 +mcall mov eax,15 mov ebx,30 @@ -132,7 +132,7 @@ call draw_eye_point mov eax,12 mov ebx,2 -int 0x40 +mcall ret @@ -281,7 +281,7 @@ shl ebx,16 add ebx,4 mov eax,13 xor edx,edx -int 0x40 +mcall popa ret @@ -295,12 +295,12 @@ prepare_eyes: ;mov ecx,0x00000000 ;mov edx,0xFFFFFFFF ;mov esi,imagedata -;int 0x40 +;mcall ;cmp eax,0xFFFFFFFF ;jnz filefound ;mov eax,-1 ; file not exists... -;int 0x40 +;mcall ;filefound: mov esi,imagedata+25 ; transform grayscale to putimage format @@ -327,7 +327,7 @@ pop ecx loop transform_loop mov eax,14 ; calculating screen position -int 0x40 +mcall shr eax,1 mov ax,59 sub eax,30*65536 diff --git a/programs/demos/eyes/trunk/macros.inc b/programs/demos/eyes/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/demos/eyes/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/demos/fire/trunk/fire.asm b/programs/demos/fire/trunk/fire.asm index eede1e0e0b..871d860993 100644 --- a/programs/demos/fire/trunk/fire.asm +++ b/programs/demos/fire/trunk/fire.asm @@ -13,7 +13,7 @@ use32 dd mem_end dd 0,0 ; no parameters, no path -include 'macros.inc' +include '..\..\..\macros.inc' START: @@ -27,7 +27,7 @@ draw_window: mov eax,12 ; tell os about redraw mov ebx,1 - int 0x40 + mcall xor eax,eax ; define and draw window mov ebx,100*65536+321 @@ -35,37 +35,37 @@ draw_window: mov edx,0x00000000 mov esi,0x00000000 mov edi,0x00000000 - int 0x40 + mcall mov al,4 ; 'FIRE FOR MENUET' mov ebx,110*65536+8 mov ecx,dword 0x00FFFFFF mov edx,text mov esi,textlen-text - int 0x40 + mcall mov al,8 mov ebx,(321-19)*65536+12 ; button start x & size mov ecx,5*65536+12 ; button start y & size mov edx,1 ; button number mov esi,0x009a0000 - int 0x40 + mcall mov ebx,ecx ;5*65536+12 inc edx - int 0x40 + mcall mov ebx,18*65536+12 inc edx - int 0x40 + mcall mov ebx,31*65536+12 inc edx - int 0x40 + mcall mov al,12 ; tell os about redraw end mov ebx,2 - int 0x40 + mcall sta: ; calculate fire image @@ -134,7 +134,7 @@ typedone: mov al, 5 ; in this moment always high 24 bits of eax are zero! mov ebx,[delay] - int 0x40 + mcall inc [calc] cmp [calc], byte 2 @@ -184,12 +184,12 @@ typedone: pop ebx mov ecx,4*80*65536+200 mov edx,1*65536+22 - int 0x40 + mcall nodrw: mov eax,11 ; check if os wants to talk to us - int 0x40 + mcall dec eax jz red cmp al, 3-1 @@ -197,13 +197,13 @@ typedone: button: ; get button id mov al,17 - int 0x40 + mcall shr eax, 8 dec eax jnz noclose or eax,-1 ; close this program - int 0x40 + mcall noclose: dec eax ; change fire type diff --git a/programs/demos/fire/trunk/macros.inc b/programs/demos/fire/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/demos/fire/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/demos/fire2/trunk/fire2.asm b/programs/demos/fire2/trunk/fire2.asm index 4fe8de1dee..18d70b2476 100644 --- a/programs/demos/fire2/trunk/fire2.asm +++ b/programs/demos/fire2/trunk/fire2.asm @@ -1,3 +1,4 @@ +include '..\..\..\macros.inc' use32 org 0x0 @@ -17,7 +18,7 @@ START: rep stosd mov al, 3 - int 0x40 + mcall mov [curtime], eax red: @@ -25,7 +26,7 @@ red: pop eax push 1 pop ebx - int 0x40 + mcall xor eax, eax mov ebx, 200*65536+325 @@ -33,14 +34,14 @@ red: xor edx, edx xor esi, esi mov edi, 0x00100000 - int 0x40 + mcall mov al, 8 mov ebx, (325-19)*65536+12 mov ecx, 5*65536+12 inc edx mov esi, 0x00400000 - int 0x40 + mcall mov al, 4 mov ebx, 8*65536+8 @@ -48,18 +49,18 @@ red: mov edx, fire_label push len00 pop esi - int 0x40 + mcall mov al, 12 push 2 pop ebx - int 0x40 + mcall still: push 11 pop eax - int 0x40 + mcall dec eax jz red @@ -71,7 +72,7 @@ still: call image push 3 pop eax - int 0x40 + mcall cmp eax, [curtime] jz still mov [curtime], eax @@ -81,25 +82,25 @@ print_fps: mov ebx, (8+27*6)*65536+18 mov ecx, 8*65536+8 xor edx, edx - int 0x40 + mcall lea edx, [ebx-10] mov al, 47 mov ebx, 30000h xor ecx, ecx xchg ecx, [fps] mov esi, 0x00FFFFFF ;0x00400000 - int 0x40 + mcall jmp still key: mov al, 2 - int 0x40 + mcall cmp ah, 1Bh ; jne still button: ; we have only one button, close or eax, -1 - int 0x40 + mcall image: diff --git a/programs/demos/free3d04/trunk/build_en.bat b/programs/demos/free3d04/trunk/build_en.bat index 42a848ec2a..0b77c7b396 100644 --- a/programs/demos/free3d04/trunk/build_en.bat +++ b/programs/demos/free3d04/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm free3d04.asm free3d04 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/free3d04/trunk/build_ru.bat b/programs/demos/free3d04/trunk/build_ru.bat index 3b7af6e902..e789620a8f 100644 --- a/programs/demos/free3d04/trunk/build_ru.bat +++ b/programs/demos/free3d04/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm free3d04.asm free3d04 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/free3d04/trunk/free3d04.asm b/programs/demos/free3d04/trunk/free3d04.asm index 59e371c6db..3649a1ada9 100644 --- a/programs/demos/free3d04/trunk/free3d04.asm +++ b/programs/demos/free3d04/trunk/free3d04.asm @@ -35,7 +35,7 @@ use32 dd APP_MEM;0x100000 ; esp dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' COLOR_ORDER equ OTHER include 'gif.inc' @@ -63,12 +63,12 @@ gamestart: ; ******* MOUSE CHECK ******* ; mov eax,37 ; check mouse (use mouse over window to navigate) ; mov ebx,2 ; check mousebuttons -; int 0x40 +; mcall ; cmp eax,0 ; only use mouse when button down ; je noneed ; deactivated cause of disappear-bug etc. mov eax,37 mov ebx,1 ; check mouseposition - int 0x40 + mcall mov ebx,eax shr eax,16 @@ -99,7 +99,7 @@ check_refresh: ; mov eax,23 ; wait for system event with 10 ms timeout ; mov ebx,1 ; thats max 100 FPS mov eax,11 ; ask no wait for full speed - int 0x40 + mcall cmp eax,1 ; window redraw request ? je red2 @@ -126,7 +126,7 @@ red2: ; redraw key2: ; key mov eax,2 - int 0x40 + mcall cmp al,1 je gamestart ; keybuffer empty @@ -284,14 +284,14 @@ m_right: ; turn right button2: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne gamestart ; eo GAME mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm finish: mov eax,-1 ; close this program - int 0x40 + mcall ; ********************************************* @@ -303,19 +303,19 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,50*65536+649 ; [x start] *65536 + [x size] mov ecx,50*65536+504 ; [y start] *65536 + [y size] mov edx,0x33ffffff ; color of work area RRGGBB,8->color gl - mov edi,header - int 0x40 + mov edi,title + mcall mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -811,7 +811,7 @@ speedup: mov ebx,0x80000 mov ecx,640*65536+480 xor edx,edx - int 0x40 + mcall ret @@ -991,7 +991,7 @@ dd 0x0001FFFF ; initial player position * 0xFFFF vpy: dd 0x0001FFFF -header db 'FISHEYE RAYCASTING ENGINE ETC. FREE3D',0 +title db 'FISHEYE RAYCASTING ENGINE ETC. FREE3D',0 sindegree dd 0.0 sininc dd 0.0017453292519943295769236907684886 diff --git a/programs/demos/free3d04/trunk/macros.inc b/programs/demos/free3d04/trunk/macros.inc deleted file mode 100644 index a04ab1d2e7..0000000000 --- a/programs/demos/free3d04/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/demos/magnify/trunk/build_en.bat b/programs/demos/magnify/trunk/build_en.bat index 092cece194..8912225189 100644 --- a/programs/demos/magnify/trunk/build_en.bat +++ b/programs/demos/magnify/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm magnify.asm magnify +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/magnify/trunk/build_ru.bat b/programs/demos/magnify/trunk/build_ru.bat index a5e0c8ffc3..3fb673f018 100644 --- a/programs/demos/magnify/trunk/build_ru.bat +++ b/programs/demos/magnify/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm magnify.asm magnify +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/magnify/trunk/macros.inc b/programs/demos/magnify/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/demos/magnify/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/demos/magnify/trunk/magnify.asm b/programs/demos/magnify/trunk/magnify.asm index 8d58e3f904..95f4f745c5 100644 --- a/programs/demos/magnify/trunk/magnify.asm +++ b/programs/demos/magnify/trunk/magnify.asm @@ -16,7 +16,7 @@ use32 dd 0x1000 ; esp dd 0, 0 ; no parameters, no path -include 'macros.inc' +include '..\..\..\macros.inc' delay equ 20 magnify_width = 40 @@ -30,7 +30,7 @@ still: wtevent: mov eax, 23 ; wait here for event with timeout mov ebx, delay - int 0x40 + mcall dec eax js still jz redraw @@ -38,12 +38,12 @@ wtevent: jnz button ; key in buffer mov al, 2 - int 0x40 + mcall jmp wtevent button: ; we have only one button, close or eax, -1 - int 0x40 + mcall ; ********************************************* ; ******* WINDOW DEFINITIONS AND DRAW ******** @@ -52,11 +52,11 @@ button: draw_window: mov eax, 12 ; function 12:tell os about windowdraw mov ebx, 1 ; 1, start of draw - int 0x40 + mcall mov al, 48 ; function 48 : graphics parameters mov bl, 4 ; subfunction 4 : get skin height - int 0x40 + mcall ; DRAW WINDOW mov ebx, 100*65536 + 8*magnify_width + 8 @@ -64,19 +64,19 @@ draw_window: mov edx, 0x33000000 ; color of work area RRGGBB mov edi, labelt ; header xor eax, eax ; function 0 : define and draw window - int 0x40 + mcall mov al, 12 ; function 12:tell os about windowdraw mov ebx, 2 ; 2, end of draw - int 0x40 + mcall ret draw_screen: draw_magnify: mov eax, 14 - int 0x40 ; get screen size + mcall ; get screen size movzx ecx, ax inc ecx mov [size_y], ecx @@ -86,7 +86,7 @@ draw_magnify: mov eax, 37 xor ebx, ebx - int 0x40 ; get mouse coordinates + mcall ; get mouse coordinates mov ecx, eax shr ecx, 16 ; ecx = x movzx edx, ax ; edx = y @@ -113,7 +113,7 @@ draw_magnify: imul ebx, [size_x] add ebx, ecx mov eax, 35 - int 0x40 ; read pixel + mcall ; read pixel .nopix: push ecx edx sub ecx, [m_x] @@ -126,7 +126,7 @@ draw_magnify: mov cl, 7 mov edx, eax mov eax, 13 - int 0x40 + mcall pop edx ecx inc ecx cmp ecx, [m_xe] diff --git a/programs/demos/movback/trunk/build_en.bat b/programs/demos/movback/trunk/build_en.bat index e92dc0ceb8..df71faaa0a 100644 --- a/programs/demos/movback/trunk/build_en.bat +++ b/programs/demos/movback/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm movback.asm movback +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/movback/trunk/build_ru.bat b/programs/demos/movback/trunk/build_ru.bat index 4a475a9ef7..3d8baad4fe 100644 --- a/programs/demos/movback/trunk/build_ru.bat +++ b/programs/demos/movback/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm movback.asm movback +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/movback/trunk/macros.inc b/programs/demos/movback/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/demos/movback/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/demos/movback/trunk/movback.asm b/programs/demos/movback/trunk/movback.asm index aa85efc9db..3dfe151fcc 100644 --- a/programs/demos/movback/trunk/movback.asm +++ b/programs/demos/movback/trunk/movback.asm @@ -1,5 +1,5 @@ include "lang.inc" -include "macros.inc" +include "..\..\..\macros.inc" WND_SIZE_X = 320 WND_SIZE_Y = 200 @@ -15,13 +15,13 @@ CODE call init_palette mov eax,40 mov ebx,101b - int 0x40 + mcall jmp .paint_window .event_loop: mov eax,23 mov ebx,1 - int 0x40 + mcall test eax,eax je .draw_screen @@ -29,7 +29,7 @@ CODE je .paint_window or eax,-1 - int 0x40 + mcall .draw_screen: add word [ver_counter],VC_DELTA @@ -39,30 +39,30 @@ CODE mov ebx,virtual_screen_32 mov ecx,(WND_SIZE_X shl 16)+WND_SIZE_Y xor edx,edx - int 0x40 + mcall jmp .event_loop .paint_window: mov eax,12 mov ebx,1 - int 0x40 + mcall xor eax,eax mov ebx,(100 shl 16)+(WND_SIZE_X+9) mov ecx,(100 shl 16)+(WND_SIZE_Y+28) mov edx,0x33000000 - mov edi,header - int 0x40 + mov edi,title + mcall mov eax,7 mov ebx,virtual_screen_32 mov ecx,(WND_SIZE_X shl 16)+WND_SIZE_Y xor edx,edx - int 0x40 + mcall mov eax,12 mov ebx,2 - int 0x40 + mcall jmp .event_loop @@ -160,7 +160,7 @@ DATA delta_angle dd 0.0245436926066 ; pi/128 scale_sin dd 128.0 - header db 'MoveBack',0 + title db 'MoveBack',0 UDATA ver_counter dd ? diff --git a/programs/demos/plasma/trunk/build_en.bat b/programs/demos/plasma/trunk/build_en.bat index 3e5512b539..026ef3cfa1 100644 --- a/programs/demos/plasma/trunk/build_en.bat +++ b/programs/demos/plasma/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm plasma.asm plasma +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/plasma/trunk/build_ru.bat b/programs/demos/plasma/trunk/build_ru.bat index 9197724323..04aeafe97b 100644 --- a/programs/demos/plasma/trunk/build_ru.bat +++ b/programs/demos/plasma/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm plasma.asm plasma +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/plasma/trunk/macros.inc b/programs/demos/plasma/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/demos/plasma/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/demos/plasma/trunk/plasma.asm b/programs/demos/plasma/trunk/plasma.asm index 5479d41fa0..29ac2ee3a8 100644 --- a/programs/demos/plasma/trunk/plasma.asm +++ b/programs/demos/plasma/trunk/plasma.asm @@ -1,6 +1,6 @@ ; Originally written by Jarek Pelczar include "lang.inc" -include "macros.inc" +include "..\..\..\macros.inc" WND_SIZE_X = 320 WND_SIZE_Y = 200 @@ -10,21 +10,21 @@ CODE fninit mov al,40 mov bl,101b - int 0x40 + mcall call init_palette call init_texture jmp .paint_window .event_loop: mov al,23 mov ebx,1 - int 0x40 + mcall test eax,eax je .draw_screen dec eax je .paint_window or eax,-1 - int 0x40 + mcall .draw_screen: call blit_8_to_32 @@ -32,7 +32,7 @@ CODE mov ebx,virtual_screen_32 mov ecx,(WND_SIZE_X shl 16)+WND_SIZE_Y xor edx,edx - int 0x40 + mcall call rotate_pal jmp .event_loop @@ -41,24 +41,24 @@ CODE push eax xor ebx,ebx inc ebx - int 0x40 + mcall xor eax,eax mov ebx,(100 shl 16)+(WND_SIZE_X+8) mov ecx,(100 shl 16)+(WND_SIZE_Y+25) mov edx,0x33000000 - mov edi,header - int 0x40 + mov edi,title + mcall mov al,7 mov ebx,virtual_screen_32 mov ecx,(WND_SIZE_X shl 16)+WND_SIZE_Y xor edx,edx - int 0x40 + mcall pop eax and ebx,2 ; bit 1 is set - int 0x40 + mcall jmp .event_loop @@ -161,7 +161,7 @@ include "graph8.inc" DATA _multiplier dd 63.5 - header db 'Plasma',0 + title db 'Plasma',0 UDATA _fpom32 rd 1 diff --git a/programs/demos/ss/trunk/@SS.ASM b/programs/demos/ss/trunk/@SS.ASM index 57a971b046..5c804dee71 100644 --- a/programs/demos/ss/trunk/@SS.ASM +++ b/programs/demos/ss/trunk/@SS.ASM @@ -14,22 +14,22 @@ dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' ;include 'debug.inc' START: mov eax,14 - int 0x40 + mcall and eax,0xFFFF0000 mov [top_right_corner],eax mov eax,40 ; установить маску событий mov ebx,110010b ; реагируем на клавиатуру, мышь, отрисовку фона - int 0x40 + mcall mov eax,14 ; получим размеры экрана - int 0x40 + mcall mov [y_max],ax shr eax,16 mov [x_max],ax @@ -37,18 +37,18 @@ START: event: ; обработчик событий (всех) mov eax,26 mov ebx,9 - int 0x40 ; получить время системы + mcall ; получить время системы ; mov eax,3 -; int 0x40 +; mcall mov [evtime],eax ; запомнить его mov eax,37 mov ebx,2 - int 0x40 + mcall cmp eax,3 ; продолжим, если нажата средняя кнопка мыши jne still mov eax,37 ; проверим координаты mov ebx,0 - int 0x40 + mcall cmp [top_right_corner],eax je create_setup ; создаём окно настройки, если мышь в верхнем правом ; углу экрана @@ -59,7 +59,7 @@ still: ; mov eax,23 ; ждём события в течение 1 секунды mov ebx,100 - int 0x40 + mcall bt dword [params],0 ; ssaver works? jc event @@ -75,7 +75,7 @@ still: ; mov eax,26 mov ebx,9 - int 0x40 + mcall sub eax,[evtime] xor edx,edx mov ebx,60*100 ; поделим на 60*100, получим время в минутах @@ -97,7 +97,7 @@ still: ; mov ebx,1 mov ecx,sthread mov edx,0x3F000 - int 0x40 + mcall bts dword [params],1 jmp still @@ -106,17 +106,17 @@ still: ; mov ebx,1 mov ecx,thread mov edx,0x3E000 - int 0x40 + mcall bts dword [params],0 ret thread: mov eax,5 mov ebx,eax - int 0x40 + mcall mov eax,40 mov ebx,100010b - int 0x40 + mcall cmp dword [type],0 je drawsswin cmp dword [type],24 @@ -135,7 +135,7 @@ still: ; mov dword [delay],25 mov eax,58 mov ebx,fileinfo - int 0x40 + mcall asminit1: mov eax,data_from_file mov [stringstart],eax @@ -152,14 +152,14 @@ still: ; inc ebx inc ecx mov edx,0x01000000 - int 0x40 + mcall mov eax,13 xor edx,edx - int 0x40 + mcall tstill: mov eax,23 mov ebx,[delay] - int 0x40 + mcall cmp eax,2 je thr_end cmp eax,6 @@ -174,10 +174,10 @@ still: ; btr dword [params],0 mov eax,26 mov ebx,9 - int 0x40 + mcall mov [evtime],eax or eax,-1 - int 0x40 + mcall drawssasm: mov edi,[stringstart] @@ -204,7 +204,7 @@ still: ; mov ecx,0x104ba010 mov edx,[stringstart] mov esi,[stringlen] - int 0x40 + mcall inc dword [stringlen] cmp byte [edi],byte ' ' je drawssasm @@ -276,7 +276,7 @@ draw_line: mov eax,38 mov edx,[lcolor] and edx,0xffffff - int 0x40 + mcall dnol: @@ -292,7 +292,7 @@ sthread: ; start of execution sstill: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? je sthread @@ -305,14 +305,14 @@ sstill: sbutton: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne snoclose btr dword [params],1 mov eax,-1 ; close this program - int 0x40 + mcall snoclose: cmp ah,7 jne nosetfl @@ -362,7 +362,7 @@ sstill: jne noshow mov eax,5 mov ebx,150 - int 0x40 + mcall call create_ss jmp sstill noshow: @@ -387,57 +387,53 @@ sdraw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW xor eax,eax ; function 0 : define and draw window mov ebx,100*65536+215 ; [x start] *65536 + [x size] mov ecx,100*65536+70 ; [y start] *65536 + [y size] mov edx,0x03400088 ; color of work area RRGGBB,8->color gl - int 0x40 + mov edi,title + mcall mov eax,8 mov ebx,47*65536+10 mov ecx,31*65536+10 mov edx,2 mov esi,0x702050 - int 0x40 + mcall push ebx add ebx,13*65536 mov edi,ebx inc edx - int 0x40 + mcall pop ebx add ecx,15*65536 inc edx - int 0x40 + mcall mov ebx,edi inc edx - int 0x40 + mcall mov ebx,160*65536+40 mov ecx,28*65536+14 inc edx - int 0x40 - ; WINDOW LABEL + mcall + mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB ) - mov edx,labelt ; pointer to text beginning - mov esi,17 ; text length - int 0x40 - add ebx,7*65536+25 + mov ebx,15*65536+33 ; [x start] *65536 + [y start] mov ecx,0xffffff mov edx,setuptext mov esi,9 - int 0x40 + mcall add ebx,15 add edx,esi mov esi,30 - int 0x40 + mcall mov ebx,169*65536+32 mov edx,buttext mov esi,4 - int 0x40 + mcall call drawtype call drawtime @@ -445,7 +441,7 @@ sdraw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -458,14 +454,14 @@ drawtype: jnc noblue mov edx,0x4e00e7 noblue: - int 0x40 + mcall mov eax,4 mov ebx,82*65536+32 xor ecx,ecx mov edx,typetext add edx,[type] mov esi,12 - int 0x40 + mcall ret drawtime: @@ -477,13 +473,13 @@ drawtime: jnc noblue1 mov edx,0x4e00e7 noblue1: - int 0x40 + mcall mov eax,47 mov edx,82*65536+47 xor esi,esi movzx ecx,byte [time] mov ebx,0x00020000 - int 0x40 + mcall ret drawflag: @@ -492,7 +488,7 @@ drawflag: mov ecx,45*65536+10 mov edx,7 mov esi,0xe0e0e0 - int 0x40 + mcall mov eax,4 mov ebx,153*65536+47 xor ecx,ecx @@ -502,13 +498,13 @@ drawflag: jc setf inc edx setf: - int 0x40 + mcall ret ; DATA AREA buttext db 'SHOW' flag db 'V ' -labelt db 'SCREENSAVER SETUP' +title db 'SCREENSAVER SETUP',0 setuptext db 'TYPE: < >TIME: < > MINUTES NEVER' typetext db 'BLACK SCREENCOLOR LINES ASSEMBLER ' type dd 12 diff --git a/programs/demos/ss/trunk/build_en.bat b/programs/demos/ss/trunk/build_en.bat index d107008b29..23730d0c88 100644 --- a/programs/demos/ss/trunk/build_en.bat +++ b/programs/demos/ss/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm @ss.asm @ss +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/ss/trunk/build_ru.bat b/programs/demos/ss/trunk/build_ru.bat index 433feda39f..b9ae059645 100644 --- a/programs/demos/ss/trunk/build_ru.bat +++ b/programs/demos/ss/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm @ss.asm @ss +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/ss/trunk/macros.inc b/programs/demos/ss/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/demos/ss/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/demos/timer/trunk/build_en.bat b/programs/demos/timer/trunk/build_en.bat index 0bb472b4a6..a5a0f4adb3 100644 --- a/programs/demos/timer/trunk/build_en.bat +++ b/programs/demos/timer/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm timer.asm timer +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/timer/trunk/build_ru.bat b/programs/demos/timer/trunk/build_ru.bat index 7e13631bb7..88cc8921e0 100644 --- a/programs/demos/timer/trunk/build_ru.bat +++ b/programs/demos/timer/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm timer.asm timer +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/timer/trunk/macros.inc b/programs/demos/timer/trunk/macros.inc deleted file mode 100644 index 5527ff55c1..0000000000 --- a/programs/demos/timer/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a { ; mike.dld - if ~a eq - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; language for programs -lang fix ru ; ru en fr ge fi - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/demos/timer/trunk/timer.asm b/programs/demos/timer/trunk/timer.asm index 057215b4cd..3c4de439ae 100644 --- a/programs/demos/timer/trunk/timer.asm +++ b/programs/demos/timer/trunk/timer.asm @@ -17,12 +17,12 @@ use32 dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' START: ; start of execution mov eax, 40 mov ebx, 101b - int 0x40 + mcall red: call draw_window @@ -31,7 +31,7 @@ still: mov eax,23 ; wait here for event mov ebx,50 - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -45,7 +45,7 @@ still: button: ; button or eax,-1 ; close this program - int 0x40 + mcall ; ********************************************* @@ -56,7 +56,7 @@ draw_clock: mov eax, 26 ; get system counter mov ebx, 9 - int 0x40 + mcall cdq ;xor edx,edx mov ebx,100 @@ -83,7 +83,7 @@ draw_clock: mov edi,[sc.work] mov ebx,0x00020000 mov edx,15*65536+5 - int 0x40 + mcall pop eax ; MM imul ecx,ecx,60 @@ -91,7 +91,7 @@ draw_clock: mov ecx,eax mov eax,47 add edx,20*65536 - int 0x40 + mcall pop ecx pop eax @@ -102,7 +102,7 @@ draw_clock: mov ecx,eax ; SS mov eax,47 add edx,20*65536 - int 0x40 + mcall ret @@ -111,11 +111,11 @@ draw_window: mov ebx,3 mov ecx,sc mov edx,sizeof.system_colors - int 0x40 + mcall mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW xor eax,eax ; function 0 : define and draw window @@ -123,14 +123,14 @@ draw_window: mov ecx,100*65536+40 ; [y start] *65536 + [y size] mov edx,[sc.work] ; color of work area RRGGBB,8->color gl or edx,0x33000000 - mov edi,header - int 0x40 + mov edi,title + mcall call draw_clock mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -138,9 +138,9 @@ draw_window: ; DATA AREA if lang eq ru - header db 'ТАЙМЕР',0 + title db 'ТАЙМЕР',0 else - header db 'TIMER',0 + title db 'TIMER',0 end if diff --git a/programs/demos/tinyfrac/trunk/build_en.bat b/programs/demos/tinyfrac/trunk/build_en.bat index 9a9b29f6b3..64ac99c5a7 100644 --- a/programs/demos/tinyfrac/trunk/build_en.bat +++ b/programs/demos/tinyfrac/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm tinyfrac.asm tinyfrac +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/tinyfrac/trunk/build_ru.bat b/programs/demos/tinyfrac/trunk/build_ru.bat index 6a45df06c1..af88d4a532 100644 --- a/programs/demos/tinyfrac/trunk/build_ru.bat +++ b/programs/demos/tinyfrac/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm tinyfrac.asm tinyfrac +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/tinyfrac/trunk/macros.inc b/programs/demos/tinyfrac/trunk/macros.inc deleted file mode 100644 index 5527ff55c1..0000000000 --- a/programs/demos/tinyfrac/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a { ; mike.dld - if ~a eq - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; language for programs -lang fix ru ; ru en fr ge fi - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/demos/tinyfrac/trunk/tinyfrac.asm b/programs/demos/tinyfrac/trunk/tinyfrac.asm index 43c29be961..c60ace8e05 100644 --- a/programs/demos/tinyfrac/trunk/tinyfrac.asm +++ b/programs/demos/tinyfrac/trunk/tinyfrac.asm @@ -59,7 +59,7 @@ ZOOMLIMIT equ 13 ; can change to up to 13 for extended zoom in ; feel free to experiment with the following constants: DELTA equ 200 ; the unit of pan movement in pixels -THRESHOLD equ 7 ; must be in the range of (0,255) +THRESHOLD equ 7 ; must be in the range of (0,255) STARTSCALE equ 5 ; a number from 0 to ZOOMLIMIT, inclusive CHAR_COLOR equ 0fh ; white on black background (for PRINTZOOM feature) @@ -83,7 +83,7 @@ use32 dd 0,0 include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' STARTX dd 200 STARTY dd 120 @@ -93,32 +93,77 @@ scaleaddx dd 200 START: +red: call draw_window - call draw_fractal still: mov eax,10 - int 0x40 + mcall - cmp eax,1 - je red - cmp eax,2 - je key - cmp eax,3 - je button + dec eax + jz red + dec eax + jz key + + button: + mov al,17 + mcall + + cmp ah,1 + jne no_close + or eax,-1 + mcall + no_close: + + cmp ah,2 + jne no_bgr + + + mov eax,15 ; bgr 512 x 256 + mov ebx,1 + mov ecx,512 + mov edx,256 + mcall + + mov eax,15 + mov ebx,5 + mov ecx,0x1000 + mov edx,0 + mov esi,512*3*256 + mcall + + mov eax,15 + mov ebx,3 + mcall jmp still - red: - call draw_window - call put_image + no_bgr: + + cmp ah,3 + jb no_color + cmp ah,5 + jg no_color + shr eax,8 + sub eax,3 + imul eax,8 + add eax,8 + not eax + and eax,11000b + mov [shlc],al + call draw_fractal jmp still + no_color: + + jmp still + + key: - mov eax,2 - int 0x40 + mov al,2 + mcall cmp ah,'e' je cycle @@ -179,61 +224,6 @@ still: call draw_fractal jmp still - button: - mov eax,17 - int 0x40 - - cmp ah,1 - jne no_close - mov eax,-1 - int 0x40 - no_close: - - cmp ah,2 - jne no_bgr - - mov eax,15 ; bgr 512 x 256 - mov ebx,1 - mov ecx,512 - mov edx,256 - int 0x40 - - mov eax,15 - mov ebx,5 - mov ecx,0x1000 - mov edx,0 - mov esi,512*3*256 - int 0x40 - - mov eax,15 - mov ebx,3 - int 0x40 - - jmp still - - no_bgr: - - cmp ah,3 - jb no_color - cmp ah,5 - jg no_color - shr eax,8 - sub eax,3 - imul eax,8 - add eax,8 - not eax - and eax,11000b -; sub eax,8 - mov [shlc],al - call draw_fractal - jmp still - - no_color: - - - jmp still - - color_cycle: pusha @@ -257,7 +247,7 @@ color_cycle: call put_image mov eax,5 mov ebx,1 - int 0x40 + mcall dec esi jnz newcycle @@ -287,11 +277,10 @@ draw_fractal: pusha mov eax,4 - mov ebx,15*65536+35 - mov ecx,0xffffff + mov ebx,10*65536+30 + mov ecx,0x80ffffff mov edx,calc - mov esi,calcl-calc - int 0x40 + mcall popa pusha @@ -309,12 +298,6 @@ draw_fractal: push cx -; and cl,0x7 -; cmp cl,0 -; jne noim -; call put_image -; noim: - mov cx, PIXWIDTH -1 ; width of screen in pixels sub bp,cx ; @@ -369,9 +352,9 @@ put_image: mov eax,7 mov ebx,0x1000 - mov ecx,512*65536+255 - mov edx,10*65536+30 - int 0x40 + mov ecx,512*65536+256 + mov edx,4*65536+21 + mcall popa @@ -446,38 +429,30 @@ draw_window: mov eax,12 mov ebx,1 - int 0x40 + mcall - mov eax,0 - mov ebx,50*65536+531 - mov ecx,100*65536+256+48 - mov edx,0x02334455 - mov esi,0x80778899 - mov edi,0x00778899 - int 0x40 + xor eax,eax + mov ebx,50*65536+PIXWIDTH+8 + mov ecx,100*65536+PIXHEIGHT+25 + mov edx,0x13334455 + mov edi,title + mcall mov eax,8 - mov ebx,(531-19)*65536+12 - mov ecx,5*65536+12 - mov edx,1 - mov esi,0x808080 - int 0x40 - - mov eax,8 - mov ebx,300*65536+112 + mov ebx,290*65536+112 mov ecx,5*65536+12 mov edx,2 mov esi,0x808080 - int 0x40 + mcall - mov ebx,430*65536+12 + mov ebx,420*65536+12 mov ecx,5*65536+12 mov edx,3 mov esi,0xa00000 mov edi,3 + ;mov eax,8 newcolor: - mov eax,8 - int 0x40 + mcall add ebx,13*65536 shr esi,8 inc edx @@ -485,15 +460,14 @@ draw_window: jnz newcolor mov eax,4 - mov ebx,8*65536+8 - mov ecx,0xffffff - mov edx,l - mov esi,ll-l - int 0x40 + mov ebx,300*65536+8 + mov ecx,0x80ffffff + mov edx,button_txt + mcall mov eax,12 mov ebx,2 - int 0x40 + mcall popa ret @@ -505,15 +479,9 @@ draw_window: ; -l: db 'TINYFRAC - MOVE: ARROWS, ZOOM Q/W, CYCLE: E/R ' - db 'SET AS WALLPAPER' -ll: - -calc db 'CALCULATING' -calcl: - -I_END: - - +title db 'Tinyfrac - MOVE: ARROWS, ZOOM Q/W, CYCLE: E/R',0 +button_txt db 'Set as wallpaper',0 +calc db 'CALCULATING',0 +I_END: \ No newline at end of file diff --git a/programs/demos/transp/trunk/build_en.bat b/programs/demos/transp/trunk/build_en.bat index 3407357924..361a5f68fe 100644 --- a/programs/demos/transp/trunk/build_en.bat +++ b/programs/demos/transp/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm transp.asm transp +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/transp/trunk/build_ru.bat b/programs/demos/transp/trunk/build_ru.bat index 685e067a98..20c3358377 100644 --- a/programs/demos/transp/trunk/build_ru.bat +++ b/programs/demos/transp/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm transp.asm transp +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/transp/trunk/macros.inc b/programs/demos/transp/trunk/macros.inc deleted file mode 100644 index 5527ff55c1..0000000000 --- a/programs/demos/transp/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a { ; mike.dld - if ~a eq - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; language for programs -lang fix ru ; ru en fr ge fi - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/demos/transp/trunk/transp.asm b/programs/demos/transp/trunk/transp.asm index ae07a3948f..df5f0488d4 100644 --- a/programs/demos/transp/trunk/transp.asm +++ b/programs/demos/transp/trunk/transp.asm @@ -17,13 +17,13 @@ use32 dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' START: ; start of execution - mov [procinfo.x_start], 100 - mov [procinfo.x_size], 200 - mov [procinfo.y_start], 80 - mov [procinfo.y_size], 300 + mov [procinfo.box.left], 100 + mov [procinfo.box.width], 200 + mov [procinfo.box.top], 80 + mov [procinfo.box.height], 300 call draw_window red: call get_transparent @@ -32,7 +32,7 @@ red: still: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -44,17 +44,17 @@ still: key: ; key mov al,2 ; just read it and ignore - int 0x40 + mcall jmp still button: ; button mov al,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose or eax,-1 ; close this program - int 0x40 + mcall noclose: jmp still @@ -69,24 +69,24 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW xor eax,eax ; function 0 : define and draw window - mov ebx,[procinfo.x_start] + mov ebx,[procinfo.box.left] shl ebx,16 - add ebx,[procinfo.x_size] - mov ecx,[procinfo.y_start] + add ebx,[procinfo.box.width] + mov ecx,[procinfo.box.top] shl ecx,16 - add ecx,[procinfo.y_size] + add ecx,[procinfo.box.height] mov edx,0x33000000 ; color of work area RRGGBB,8->color gl - mov edi,header ; WINDOW LABEL - int 0x40 + mov edi,title ; WINDOW LABEL + mcall call draw_transparent mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -99,11 +99,11 @@ draw_transparent: mov eax,7 mov ebx,0x1000 - mov ecx,[procinfo.x_size] + mov ecx,[procinfo.box.width] shl ecx,16 - add ecx,[procinfo.y_size] + add ecx,[procinfo.box.height] xor edx,edx - int 0x40 + mcall popa ret @@ -116,29 +116,29 @@ get_transparent: mov eax,9 mov ebx,I_END mov ecx,-1 - int 0x40 + mcall mov eax,14 - int 0x40 + mcall shr eax,16 inc eax mov [scx],eax - add [procinfo.x_start], 4 - sub [procinfo.x_size], 4+4 - add [procinfo.y_start], 22 - sub [procinfo.y_size], 22+4 + add [procinfo.box.left], 4 + sub [procinfo.box.width], 4+4 + add [procinfo.box.top], 22 + sub [procinfo.box.height], 22+4 - mov eax,[procinfo.x_start] - add eax,[procinfo.x_size] + mov eax,[procinfo.box.left] + add eax,[procinfo.box.width] mov [x_end],eax - mov eax,[procinfo.y_start] - add eax,[procinfo.y_size] + mov eax,[procinfo.box.top] + add eax,[procinfo.box.height] mov [y_end],eax - mov eax,[procinfo.x_start] - mov ebx,[procinfo.y_start] + mov eax,[procinfo.box.left] + mov ebx,[procinfo.box.top] dtpl1: @@ -148,15 +148,15 @@ get_transparent: imul ebx,[scx] add ebx,eax mov eax,35 - int 0x40 + mcall or eax, 0x4e4e4e mov ebx,[esp+4] mov ecx,[esp] - sub ebx,[procinfo.x_start] - sub ecx,[procinfo.y_start] - imul ecx,[procinfo.x_size] + sub ebx,[procinfo.box.left] + sub ecx,[procinfo.box.top] + imul ecx,[procinfo.box.width] imul ebx,3 imul ecx,3 add ebx,ecx @@ -168,7 +168,7 @@ get_transparent: inc eax cmp eax,[x_end] jb dtpl1 - mov eax,[procinfo.x_start] + mov eax,[procinfo.box.left] inc ebx cmp ebx,[y_end] jb dtpl1 @@ -182,18 +182,13 @@ get_transparent: ; DATA AREA -;x_start dd 100 -;y_start dd 80 - -;x_size dd 160 -;y_size dd 200 x_end dd 0 y_end dd 0 scx dd 640 -header db 'Transparent',0 +title db 'Transparent',0 I_END: procinfo process_information diff --git a/programs/demos/trantest/trunk/ascgl.inc b/programs/demos/trantest/trunk/ascgl.inc index 6cb56c2782..f8188e7575 100644 --- a/programs/demos/trantest/trunk/ascgl.inc +++ b/programs/demos/trantest/trunk/ascgl.inc @@ -373,7 +373,7 @@ macro drawfbox x,y,xs,ys,color wordstoreg ecx,y,ys ;y*65536+ys mov edx,color mov eax,13 - int 0x40 + mcall } ; FPS - Set Frame Per Second Display @@ -390,7 +390,7 @@ ttt dd 0 spdat: get_time: mov eax,3 - int 0x40 + mcall cmp eax,[savetime] jne new_time inc [fps_cntr] @@ -409,7 +409,7 @@ if ~(delcolor eq ) mov ecx,y*65536+7 mov edx,delcolor mov eax,13 - int 0x40 + mcall end if mov dword [ttt],fps_show_frequency mov eax,47 @@ -418,7 +418,7 @@ end if mov edx,x*65536+y mov esi,color mov ecx,[fps] - int 0x40 + mcall no_out_fps: } @@ -496,7 +496,7 @@ macro setimg x , y ,arg3 add cx,[arg3+4] ; wordstoreg ecx,[arg3],[arg3+4] wordstoreg edx, x , y ;arg1*65536+arg2 - int 0x40 + mcall } macro setframe x , y ,arg3 @@ -507,7 +507,7 @@ macro setframe x , y ,arg3 wordstoreg edx, x , y ;arg1*65536+arg2 add edx,dword [arg3] mov ecx,dword [arg3+4] - int 0x40 + mcall } diff --git a/programs/demos/trantest/trunk/ascl.inc b/programs/demos/trantest/trunk/ascl.inc index a07fd81a15..45ea00d57b 100644 --- a/programs/demos/trantest/trunk/ascl.inc +++ b/programs/demos/trantest/trunk/ascl.inc @@ -48,14 +48,14 @@ open: mov dword [fileinfo+8],1 ; how many blocks to read (1) mov eax,58 mov ebx,fileinfo - int 0x40 + mcall mov eax,[file_load_area+2] shr eax,9 ; поделим на 512 и прибавим 1 - получим число блоков inc eax mov dword [fileinfo+8],eax mov eax,58 mov ebx,fileinfo - int 0x40 + mcall } @@ -91,7 +91,7 @@ asd: mov edx,id mov esi,bcolor mov eax,8 - int 0x40 + mcall mov eax,asd-lab ;calc size mov ebx,6 @@ -116,7 +116,7 @@ asd: mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } @@ -145,7 +145,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -179,12 +179,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,150 ; size 150 bytes - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -192,7 +192,7 @@ new_d: mov eax,58 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -200,7 +200,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall cmp eax,1 je mred @@ -215,14 +215,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -247,15 +247,15 @@ mred: jmp getmesloop mkey: mov eax,2 - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -357,7 +357,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -391,12 +391,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,120 ; size 150 bytes - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -404,7 +404,7 @@ new_d: mov eax,58 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -412,7 +412,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall cmp eax,1 je mred @@ -427,14 +427,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -458,15 +458,15 @@ mred: call redproc jmp getmesloop mkey: - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -618,7 +618,7 @@ rxproc: macro scank { mov eax,10 - int 0x40 + mcall } macro putpix x,y,color @@ -627,7 +627,7 @@ macro putpix x,y,color mov ecx,y mov edx,color mov eax,1 - int 0x40 + mcall } macro puttxt x,y,offs,size,color @@ -640,7 +640,7 @@ macro puttxt x,y,offs,size,color mov edx,offs mov esi,size mov eax,4 - int 0x40 + mcall } macro outcount data, x, y, color, numtype @@ -652,7 +652,7 @@ macro outcount data, x, y, color, numtype wordstoreg edx,x,y mov esi,color mov eax,47 - int 0x40 + mcall } ; SCEVENT - Scan event @@ -660,7 +660,7 @@ macro outcount data, x, y, color, numtype macro scevent red,key,but { mov eax,11 - int 0x40 + mcall dec eax jz red dec eax @@ -674,7 +674,7 @@ macro scevent red,key,but macro wtevent red,key,but { mov eax,10 - int 0x40 + mcall dec eax jz red dec eax @@ -689,7 +689,7 @@ macro timeevent xfps,noevent,red,key,but { mov eax,23 mov ebx,xfps - int 0x40 + mcall cmp eax,0 je noevent dec eax @@ -706,7 +706,7 @@ macro timeevent xfps,noevent,red,key,but macro close { mov eax,-1 - int 0x40 + mcall } ; DELAY - Create delay 1/100 sec @@ -717,7 +717,7 @@ macro delay arg1 { mov eax,5 mov ebx,arg1 - int 0x40 + mcall } ; WINDOW - Draw window @@ -732,7 +732,7 @@ macro window arg1,arg2,arg3,arg4,arg5 wordstoreg ecx,arg2,arg4 mov edx,arg5 mov eax,0 - int 0x40 + mcall } macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 @@ -743,7 +743,7 @@ macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 mov esi,arg6 mov edi,arg7 mov eax,0 - int 0x40 + mcall } @@ -753,7 +753,7 @@ macro startwd { mov eax,12 mov ebx,1 - int 0x40 + mcall } ; ENDWD - End window draw @@ -762,7 +762,7 @@ macro endwd { mov eax,12 mov ebx,2 - int 0x40 + mcall } ; LABEL - Put text to frame @@ -785,7 +785,7 @@ end if mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } ;Key's diff --git a/programs/demos/trantest/trunk/trantest.asm b/programs/demos/trantest/trunk/trantest.asm index 2b212b6f50..e2b71a8b1b 100644 --- a/programs/demos/trantest/trunk/trantest.asm +++ b/programs/demos/trantest/trunk/trantest.asm @@ -19,6 +19,7 @@ use32 SCREEN_X equ 320 ;800 SCREEN_Y equ 200 ;600 +include '..\..\..\macros.inc' include 'lang.inc' include 'ascl.inc' include 'ascgl.inc' @@ -66,37 +67,37 @@ count dd 100 key: mov eax,2 - int 0x40 + mcall jmp still button: mov eax,17 - int 0x40 + mcall cmp ah,1 jne still exit: mov eax,-1 - int 0x40 + mcall ;Draw window draw_window: mov eax,12 ;Start mov ebx,1 - int 0x40 + mcall xor eax,eax ;Draw window mov ebx,100*65536+(SCREEN_X+9) ;x start*65536+x size mov ecx,100*65536+(SCREEN_Y+26) ;y start*65536+y size mov edx,0x13000000 ;0x13 use skinned window - mov edi,header - int 0x40 + mov edi,title + mcall mov eax,12 ;End mov ebx,2 - int 0x40 + mcall ret -header db '3D TEST SAMPLE',0 +title db '3D TEST SAMPLE',0 outscr: @@ -105,7 +106,7 @@ outscr: mov ecx,SCREEN_X*65536+SCREEN_Y mov edx,5*65536+22 mov ax,7 - int 0x40 + mcall ret diff --git a/programs/demos/tube/trunk/build_en.bat b/programs/demos/tube/trunk/build_en.bat index c910af9236..8f1b4af96b 100644 --- a/programs/demos/tube/trunk/build_en.bat +++ b/programs/demos/tube/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm tube.asm tube +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/tube/trunk/build_ru.bat b/programs/demos/tube/trunk/build_ru.bat index 21dc7b12de..4396d4b209 100644 --- a/programs/demos/tube/trunk/build_ru.bat +++ b/programs/demos/tube/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm tube.asm tube +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/demos/tube/trunk/macros.inc b/programs/demos/tube/trunk/macros.inc deleted file mode 100644 index 5527ff55c1..0000000000 --- a/programs/demos/tube/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a { ; mike.dld - if ~a eq - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; language for programs -lang fix ru ; ru en fr ge fi - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/demos/tube/trunk/tube.asm b/programs/demos/tube/trunk/tube.asm index 0056a50def..2fad59eeeb 100644 --- a/programs/demos/tube/trunk/tube.asm +++ b/programs/demos/tube/trunk/tube.asm @@ -18,7 +18,7 @@ use32 dd 0x40000 dd 0,0 -include 'macros.inc' +include '..\..\..\macros.inc' START: @@ -38,7 +38,7 @@ still: mov eax,23 mov ebx,1 - int 0x40 + mcall cmp eax,1 jne no_red @@ -50,8 +50,7 @@ still: je still or eax,-1 - int 0x40 - + mcall SCREEN equ 160 PIXBUF equ 200h @@ -179,7 +178,7 @@ display_image: mov ecx,320*65536+160 xor edx,edx mov ebx,0x10000 - int 0x40 + mcall popa ret @@ -192,23 +191,20 @@ draw_window: mov eax,12 mov ebx,1 - int 0x40 - + mcall xor eax,eax mov ebx,100*65536+329 mov ecx,100*65536+186 mov edx,0x33000000 - mov edi,header - int 0x40 - + mov edi,title + mcall mov eax,12 mov ebx,2 - int 0x40 - + mcall popa ret -header db appname,0 +title db appname,0 db 41,0,0xC3,0x3C diff --git a/programs/develop/cmd/trunk/build_en.bat b/programs/develop/cmd/trunk/build_en.bat index 62fc18d5cd..c5a9a7e0f8 100644 --- a/programs/develop/cmd/trunk/build_en.bat +++ b/programs/develop/cmd/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm cmd.asm cmd +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/cmd/trunk/build_ge.bat b/programs/develop/cmd/trunk/build_ge.bat index 6158be4b56..5cb91d6c47 100644 --- a/programs/develop/cmd/trunk/build_ge.bat +++ b/programs/develop/cmd/trunk/build_ge.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix de >lang.inc @fasm cmd.asm cmd +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/cmd/trunk/cmd.asm b/programs/develop/cmd/trunk/cmd.asm index 8711de8180..b60450de6c 100644 --- a/programs/develop/cmd/trunk/cmd.asm +++ b/programs/develop/cmd/trunk/cmd.asm @@ -18,7 +18,7 @@ use32 dd 0x0 dd 0x0 -include "macros.inc" +include "..\..\..\macros.inc" include "lang.inc" START: @@ -33,7 +33,7 @@ START: still: mov eax,10 - int 0x40 + mcall cmp eax,1 je re @@ -46,7 +46,7 @@ still: button: mov eax,17 - int 0x40 + mcall cmp ah,1 jne noclose @@ -84,7 +84,7 @@ loop1: mov edx,tic_table add edx,dword [linev] mov esi,81 - int 0x40 + mcall add dword [xpos],10 add dword [linev],81 pop ecx @@ -101,7 +101,7 @@ no_red: key: mov eax,2 - int 0x40 + mcall cmp ah,27 jne no_escape @@ -287,7 +287,7 @@ clear: shl ecx,16 add ecx,9 mov edx,0 - int 0x40 + mcall add dword [ypos],6 ret @@ -295,18 +295,18 @@ draw: mov eax,12 mov ebx,1 - int 0x40 + mcall mov eax,0 mov ebx,100*65536+492 mov ecx,100*65536+280 mov edx,0x13000000 mov edi,title - int 0x40 + mcall mov eax,12 mov ebx,2 - int 0x40 + mcall ret @@ -318,7 +318,7 @@ print: mov ecx,0x00ddeeff mov edx,smb mov esi,1 - int 0x40 + mcall mov edi,tic_table add edi,dword [linen] @@ -337,7 +337,7 @@ cursor: mov ecx,0x00ddeeff mov edx,smb_cursor mov esi,1 - int 0x40 + mcall mov edi,tic_table mov esi,smb_cursor @@ -356,7 +356,7 @@ ppr: mov ecx,0x00ddeeff mov edx,prompt mov esi,5 - int 0x40 + mcall mov dword [ypos],42 cld @@ -471,7 +471,7 @@ loopls: mov eax, 70 mov ebx, dirinfo - int 0x40 + mcall inc dword [dirinfo+4] cmp ebx, 1 jnz ls_end @@ -542,7 +542,7 @@ ls_print: mov edx,filename mov ecx,0x00ddeeff mov esi,12 - int 0x40 + mcall cld mov ecx,12 @@ -618,7 +618,7 @@ chdot: mov ecx,0 mov edx,-1 mov esi,tic_table+25000 - int 0x40 + mcall cmp eax,4294967295 je nosuchfile @@ -647,7 +647,7 @@ chnodot: mov ecx,0 mov edx,-1 mov esi,tic_table+25000 - int 0x40 + mcall cmp eax,4294967295 je nosuchfile @@ -667,7 +667,7 @@ lschok: mov edx,tic_table+400 mov esi,12 mov ecx,0x00ddeeff - int 0x40 + mcall cld mov ecx,12 @@ -701,7 +701,7 @@ ps: mov eax,9 mov ebx,tic_table mov ecx,1 - int 0x40 + mcall mov dword [count2],eax @@ -710,7 +710,7 @@ ll1: mov eax,9 mov ebx,tic_table mov ecx,[pn] - int 0x40 + mcall mov ebx,[tic_table+30] mov dword [fnumb],4 @@ -741,7 +741,7 @@ ll1: add ebx,[xpos] mov ecx,0x00ddeeff mov esi,12 - int 0x40 + mcall cld mov ecx,11 @@ -838,7 +838,7 @@ printn: shl edx,16 add edx,[xpos] mov esi,0x00ddeeff - int 0x40 + mcall ret pause2: @@ -847,7 +847,7 @@ pause2: call printf mov eax,10 - int 0x40 + mcall red3: cmp eax,2 @@ -859,19 +859,19 @@ red3: call red mov eax,10 - int 0x40 + mcall jmp red3 back: mov eax,2 - int 0x40 + mcall cmp ah,27 je checmd ret exit: mov eax,-1 - int 0x40 + mcall checmd: cmp byte [callp],1 @@ -894,7 +894,7 @@ err: add ebx,[xpos] mov ecx,0x00ddeeff mov esi,33 - int 0x40 + mcall cld mov ecx,27 @@ -1046,7 +1046,7 @@ gocp1: mov ecx,0 mov edx,-1 mov esi,tic_table+25000 - int 0x40 + mcall cmp eax,4294967295 je nosuchfile @@ -1125,7 +1125,7 @@ gocp2: mov ecx,0 mov edx,-1 mov esi,tic_table+25000 - int 0x40 + mcall cmp eax,4294967295 jne alreadyexist @@ -1135,7 +1135,7 @@ gocp2: mov ecx,tic_table+25000 mov edx,dword [filesize] mov esi,0 - int 0x40 + mcall cmp eax,0 jne no_ok @@ -1145,7 +1145,7 @@ gocp2: mov ecx,0 mov edx,-1 mov esi,tic_table+25000 - int 0x40 + mcall cmp eax,4294967295 je no_ok @@ -1289,7 +1289,7 @@ gorn1: mov ecx,0 mov edx,-1 mov esi,tic_table+25000 - int 0x40 + mcall cmp eax,4294967295 je nosuchfile @@ -1366,7 +1366,7 @@ gorn2: mov ecx,0 mov edx,-1 mov esi,tic_table+25000 - int 0x40 + mcall cmp eax,4294967295 jne alreadyexist @@ -1376,7 +1376,7 @@ gorn2: mov ecx,0 mov edx,-1 mov esi,tic_table+25000 - int 0x40 + mcall mov dword [filesize],eax @@ -1385,7 +1385,7 @@ gorn2: mov ecx,tic_table+25000 mov edx,dword [filesize] mov esi,0 - int 0x40 + mcall cmp eax,0 jne no_ok1 @@ -1395,14 +1395,14 @@ gorn2: mov ecx,0 mov edx,-1 mov esi,tic_table+25000 - int 0x40 + mcall cmp eax,4294967295 je no_ok1 mov eax,32 mov ebx,tic_table+9000 - int 0x40 + mcall call newline mov edx,mess14 @@ -1504,14 +1504,14 @@ godel: mov ecx,0 mov edx,-1 mov esi,tic_table+25000 - int 0x40 + mcall cmp eax,4294967295 je nosuchfile2 mov eax,32 mov ebx,tic_table+400 - int 0x40 + mcall call newline mov edx,mess6 @@ -1562,7 +1562,7 @@ autoexec: mov ecx,0 mov edx,-1 mov esi,tic_table+15000 - int 0x40 + mcall cmp eax,4294967295 je noaxfile @@ -1620,7 +1620,7 @@ strup7: mov ecx,0 mov edx,-1 mov esi,tic_table+15000 - int 0x40 + mcall cmp eax,4294967295 je nosuchfile3 @@ -1755,7 +1755,7 @@ go4: mov ecx,0x00ddeeff mov edx,tic_table+200 mov esi,dword [fnumb] - int 0x40 + mcall ret @@ -1795,7 +1795,7 @@ kill: mov eax,9 mov ebx,tic_table - int 0x40 + mcall cmp eax,ecx jb nosuchprocess @@ -1803,7 +1803,7 @@ kill: mov eax,18 mov ebx,2 mov edx,0 - int 0x40 + mcall call clearsum call newline @@ -1868,7 +1868,7 @@ gonext13: mov edx,tic_table+300 mov ecx,0x00ddeeff mov esi,dword [count] - int 0x40 + mcall cld mov ecx,dword [count] @@ -1895,7 +1895,7 @@ printf: add ebx,[xpos] mov ecx,0x00ddeeff mov esi,45 - int 0x40 + mcall cld mov ecx,45 @@ -1918,7 +1918,7 @@ printipc: add ebx,[xpos] mov ecx,0x00ddeeff mov esi,79 - int 0x40 + mcall cld mov ecx,79 @@ -2078,7 +2078,7 @@ cls1: mov ebx,6*65536+483 mov ecx,24*65536+250 mov edx,0 - int 0x40 + mcall ret cls2: @@ -2290,11 +2290,11 @@ no_cls: mov eax,18 mov ebx,1 - int 0x40 + mcall mov eax,5 mov ebx,200 - int 0x40 + mcall no_shutdown: cmp word [tic_table+600],'ps' @@ -2454,17 +2454,17 @@ cmd_ok: mov ebx,1 mov ecx,ipcb mov edx,118 - int 0x40 + mcall call clearipc mov eax,40 mov ebx,01000111b - int 0x40 + mcall mov eax,23 mov ebx,10 - int 0x40 + mcall cmp eax,7 jne noipc @@ -2478,7 +2478,7 @@ ipccontinue: mov eax,9 mov ebx,tic_table+100000 mov ecx,-1 - int 0x40 + mcall mov ecx,eax loopfindipc: @@ -2486,7 +2486,7 @@ loopfindipc: mov eax,9 mov ebx,tic_table+100000 - int 0x40 + mcall mov bl,[tic_table+600] cmp byte [tic_table+100000+10],bl @@ -2548,7 +2548,7 @@ ipcfinished: mov ecx,dword [ipcpid] mov edx,ddot mov esi,1 - int 0x40 + mcall call newline call clearipc @@ -2576,7 +2576,7 @@ printcmd: mov edx,tic_table+600 mov ecx,0x00ddeeff mov esi,dword [count] - int 0x40 + mcall cld mov ecx,dword [count] @@ -2605,10 +2605,10 @@ cmd_ok2: waitipc: mov eax,40 mov ebx,01000111b - int 0x40 + mcall mov eax,10 - int 0x40 + mcall cmp eax,7 je ipcok @@ -2623,7 +2623,7 @@ waitipc: keyipc: mov eax,2 - int 0x40 + mcall jmp waitipc @@ -2662,7 +2662,7 @@ reipc2: ipckey: mov eax,10 - int 0x40 + mcall cmp eax,1 je reipc2 @@ -2675,7 +2675,7 @@ ipckey: ipckeypressed: mov eax,2 - int 0x40 + mcall mov byte [ipckeyvalue],ah @@ -2684,7 +2684,7 @@ ipckeypressed: mov ecx,dword [ipcpid] mov edx,ipckeyvalue mov esi,1 - int 0x40 + mcall call clearipc jmp waitipc @@ -2717,7 +2717,7 @@ cmdexist: mov eax,9 mov ebx,tic_table mov ecx,-1 - int 0x40 + mcall mov ecx,eax loopex: @@ -2725,7 +2725,7 @@ loopex: mov eax,9 mov ebx,I_END - int 0x40 + mcall cmp word [I_END+10],'CM' jne no_cmd @@ -2764,7 +2764,7 @@ start_rd_app: mov eax, 70 mov ebx, fileinfo_start mov [ebx+8], ecx - int 0x40 + mcall ret fileinfo_start: dd 7 @@ -2775,8 +2775,7 @@ fileinfo_start: db 0 dd fileinfo_buffer -title: - db 'CMD - Command line interpreter',0 +title db 'CMD - Command line interpreter',0 smb_cursor db '|' diff --git a/programs/develop/cmd/trunk/cmdipc.inc b/programs/develop/cmd/trunk/cmdipc.inc index 53353e0ec2..2410db487f 100644 --- a/programs/develop/cmd/trunk/cmdipc.inc +++ b/programs/develop/cmd/trunk/cmdipc.inc @@ -1,10 +1,10 @@ -include "macros.inc" +include "..\..\..\macros.inc" initipc: mov eax,9 mov ebx,prc mov ecx,-1 - int 0x40 + mcall mov ecx,eax loop1: @@ -12,7 +12,7 @@ loop1: mov eax,9 mov ebx,prc - int 0x40 + mcall cmp word [prc+10],'CM' jne no_cmd @@ -39,18 +39,18 @@ no_exit: mov ecx,dword [cmdpid] mov edx,printf mov esi,4 - int 0x40 + mcall call initcmd waitcmdinit: mov eax,40 mov ebx,01000000b - int 0x40 + mcall mov eax,23 mov ebx,100 - int 0x40 + mcall cmp eax,7 je cmd_ok @@ -64,19 +64,19 @@ cmd_ok: mov eax,18 mov ebx,3 mov ecx,dword [cmdnumb] - int 0x40 + mcall ret pause1: mov eax,5 mov ebx,1 - int 0x40 + mcall ret exit: - mov eax,-1 - int 0x40 + or eax,-1 + mcall cls: mov eax,60 @@ -84,7 +84,7 @@ cls: mov ecx,dword [cmdpid] mov edx,ipccls mov esi,4 - int 0x40 + mcall call pause1 @@ -120,7 +120,7 @@ loopprt: mov ecx,dword [cmdpid] mov edx,stripc mov esi,84 - int 0x40 + mcall call pause1 @@ -132,7 +132,7 @@ eol: mov ecx,dword [cmdpid] mov edx,ipceol mov esi,4 - int 0x40 + mcall call pause1 @@ -144,13 +144,13 @@ initcmd: mov ecx,dword [cmdpid] mov edx,ipckey mov esi,4 - int 0x40 + mcall mov eax,60 mov ebx,1 mov ecx,ipcb mov edx,28 - int 0x40 + mcall cld mov ecx,28 @@ -166,10 +166,10 @@ getkey: waitagain: mov eax,40 mov ebx,01000000b - int 0x40 + mcall mov eax,10 - int 0x40 + mcall cmp eax,7 jne waitagain @@ -186,7 +186,7 @@ endipc: mov ecx,dword [cmdpid] mov edx,ipcend mov esi,4 - int 0x40 + mcall jmp exit diff --git a/programs/develop/cmd/trunk/macros.inc b/programs/develop/cmd/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/develop/cmd/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/examples/checkbox/trunk/check.inc b/programs/develop/examples/checkbox/trunk/check.inc index e60ee11294..f15df6bbb0 100644 --- a/programs/develop/examples/checkbox/trunk/check.inc +++ b/programs/develop/examples/checkbox/trunk/check.inc @@ -48,12 +48,12 @@ check_box: shl ecx,16 add ecx,ch_size mov edx,ch_border_color - int 0x40 ;рисуем рамку + mcall ;рисуем рамку mov edx,ch_color add ebx,1 shl 16 - 2 add ecx,1 shl 16 - 2 - int 0x40 ;закрашиваем внутренности чекбокса + mcall ;закрашиваем внутренности чекбокса test word ch_flags,2 ;достать значение бита из переменной и поместить в флаг CF jz @f ;в если CF=1, то выполним следующую процедуру иначе перейти на нижнюю @@ @@ -73,7 +73,7 @@ check_box: movzx esi,word ch_text_length ;Загрузим длину надписи в esi ;внесем в eax значение вывода надписи на канву mov eax,4 - int 0x40 ;Вывод + mcall ;Вывод popa ;восстановить значения регистров из стека ret ;выйдем из процедуры @@ -96,13 +96,13 @@ ret ; shl ecx,16 ;сдвинем на 16 разрядов в лево (умножим на 65536) mov cx,bp ;загрузим значения регистра указателя базы в cx ;pop cx - int 0x40 ;вывод + mcall ;вывод ret ;выйти из процедуры .mouse: ;обработка мыши pusha mov eax,37 ;будем что то делать если у нас что - нить нажато mov ebx,2 ;внести в регистр значение 2 - int 0x40 ;проверка не нажал ли пользователь кнопку мышки + mcall ;проверка не нажал ли пользователь кнопку мышки test eax,eax ;проверка если у нас в eax=0, то установим флаг и выйдем jnz @f ;перейти на нижнюю метку @@ btr word ch_flags,2 ;извлечение значения заданного бита в флаг cf и изменение его значения на нулевое. @@ -120,7 +120,7 @@ pusha mov eax,37 ;получим координаты мышки mov ebx,1 ;добавить 1 - int 0x40 ;получить координаты курсора относительно окна + mcall ;получить координаты курсора относительно окна movzx ebx,word ch_top ;загрузить в bx значение координаты у cmp ax,bx ;сравнить с с координатой курсора diff --git a/programs/develop/examples/checkbox/trunk/checkbox.asm b/programs/develop/examples/checkbox/trunk/checkbox.asm index 16d5542bbb..b6361a1d97 100644 --- a/programs/develop/examples/checkbox/trunk/checkbox.asm +++ b/programs/develop/examples/checkbox/trunk/checkbox.asm @@ -23,7 +23,7 @@ use32 ; ; указатель на строку, в которую записан путь, ; откуда запущено приложение ;------------------ - include 'macros.inc' + include '..\..\..\..\macros.inc' include 'check.inc' ;включить файл check.inc ; version_ch ;необходимый макрос для включения "старой" версии check_box version_ch1 ;необходимый макрос для включения new версии check_box1 @@ -36,16 +36,16 @@ start: ; mov ebx,3 mov ecx,sc mov edx,sizeof.system_colors - int 0x40 + mcall mov eax,40 ;установить маску для ожидаемых событий mov ebx,0x25 ;система будет реагировать только на сообщение о перерисовке,нажата кнопка, определённая ранее, событие от мыши (что-то случилось - нажатие на кнопку мыши или перемещение; сбрасывается при прочтении) - int 0x40 + mcall red_win: call draw_window ;первоначально необходимо нарисовать окно still: ;основной обработчик mov eax,10 ;Ожидать события - int 0x40 ;ожидать событие в течение 2 миллисекунд + mcall ;ожидать событие в течение 2 миллисекунд cmp al,0x1 ;если изменилось положение окна jz red_win @@ -55,14 +55,14 @@ still: ; jmp still ;если ничего из перечисленного то снова в цикл button: or eax,-1 ;в eax,-1 - 5 ,байтов у нас же только 3 выйти - int 0x40 ;далее выполняется выход из программы + mcall ;далее выполняется выход из программы ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>> draw_window: ;рисование окна приложения mov eax,12 ;в регистр внести значение = 12 mov ebx,1 ;присвоить 1 - int 0x40 + mcall xor eax,eax ;обнулить eax mov ebx,50*65536+180 ;[координата по оси x]*65536 + [размер по оси x] @@ -70,13 +70,13 @@ draw_window: ; mov edx,[sc.work] ; color of work area RRGGBB,8->color gl or edx,0xb3000000 mov edi,hed - int 0x40 ;нарисовать окно приложения + mcall ;нарисовать окно приложения draw_check_boxes check_boxes,check_boxes_end ;рисование чекбоксов mov eax,12 ;Функция 12 - начать/закончить перерисовку окна. mov ebx,2 ;Подфункция 2 - закончить перерисовку окна. - int 0x40 + mcall ret ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> diff --git a/programs/develop/examples/checkbox/trunk/macros.inc b/programs/develop/examples/checkbox/trunk/macros.inc deleted file mode 100644 index 14185dbfce..0000000000 --- a/programs/develop/examples/checkbox/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/examples/circle/trunk/circle.asm b/programs/develop/examples/circle/trunk/circle.asm index b0f33d9394..2e8fc0e4b6 100644 --- a/programs/develop/examples/circle/trunk/circle.asm +++ b/programs/develop/examples/circle/trunk/circle.asm @@ -16,7 +16,7 @@ use32 dd 0x1000 ; esp dd 0x00000000 ; reserved=no extended header -include 'macros.inc' +include '..\..\..\..\macros.inc' @@ -29,7 +29,7 @@ START: ; start of execution still: mov eax,10 ; wait here for event - int 0x40 + mcall dec eax ; redraw request ? jz red @@ -38,16 +38,16 @@ still: button: mov al,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose or eax,-1 ; close this program - int 0x40 + mcall key: ; key mov al,2 ; just read it and ignore - int 0x40 + mcall jmp still noclose: @@ -61,12 +61,12 @@ shape_window: mov eax,50 ; give the shape reference area mov ebx,0 mov ecx,shape_reference - int 0x40 + mcall mov eax,50 ; give the shape scale 32 x 32 -> 128 x 128 mov ebx,1 ; you dont have to give this, scale is 1:1 by default mov ecx,2 - int 0x40 + mcall popa @@ -118,7 +118,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW xor eax,eax ; function 0 : define and draw window @@ -129,7 +129,7 @@ draw_window: mov edx,0x00cccc00 ; color of work area RRGGBB,8->color glide mov esi,0x00cccc00 ; color of grab bar RRGGBB,8->color glide mov edi,0x00cccc00 ; color of frames RRGGBB - int 0x40 + mcall ; CLOSE BUTTON @@ -138,12 +138,12 @@ draw_window: mov ecx,20*65536+12 ; [y start] *65536 + [y size] mov edx,1 ; button id mov esi,0x5599cc ; button color RRGGBB - int 0x40 + mcall mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret diff --git a/programs/develop/examples/circle/trunk/macros.inc b/programs/develop/examples/circle/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/develop/examples/circle/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/examples/cpuspeed/trunk/build_en.bat b/programs/develop/examples/cpuspeed/trunk/build_en.bat index 0973bb3c96..8680e5da32 100644 --- a/programs/develop/examples/cpuspeed/trunk/build_en.bat +++ b/programs/develop/examples/cpuspeed/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm cpuspeed.asm cpuspeed +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/examples/cpuspeed/trunk/build_ru.bat b/programs/develop/examples/cpuspeed/trunk/build_ru.bat index 62e71522d6..7730b46028 100644 --- a/programs/develop/examples/cpuspeed/trunk/build_ru.bat +++ b/programs/develop/examples/cpuspeed/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm cpuspeed.asm cpuspeed +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/examples/cpuspeed/trunk/cpuspeed.asm b/programs/develop/examples/cpuspeed/trunk/cpuspeed.asm index 80858c9d1b..45ee2cdee3 100644 --- a/programs/develop/examples/cpuspeed/trunk/cpuspeed.asm +++ b/programs/develop/examples/cpuspeed/trunk/cpuspeed.asm @@ -16,13 +16,13 @@ dd 0x00000000 ; reserved=no extended header include 'lang.inc' -include 'macros.inc' +include '..\..\..\..\macros.inc' START: ; start of execution mov eax,18 mov ebx,5 - int 0x40 + mcall xor edx,edx mov ebx,1000000 @@ -38,13 +38,20 @@ START: ; start of execution mov [edi],dl sub edi,1 loop newnum + + mov eax,48 + mov ebx,3 + mov ecx,sc + mov edx,sizeof.system_colors + mcall + red: call draw_window ; at first, draw the window still: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? jz red @@ -57,17 +64,17 @@ still: key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jnz still or eax,-1 ; close this program - int 0x40 + mcall ; ********************************************* @@ -79,13 +86,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 - - mov eax,48 - mov ebx,3 - mov ecx,sc - mov edx,sizeof.system_colors - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window @@ -93,8 +94,8 @@ draw_window: mov ecx,100*65536+65 ; [y start] *65536 + [y size] mov edx,[sc.work] ; color of work area RRGGBB,8->color glide or edx,0x33000000 ; color of grab bar RRGGBB,8->color - mov edi,header ; WINDOW LABEL - int 0x40 + mov edi,title ; WINDOW LABEL + mcall mov ebx,20*65536+14 ; draw info text with function 4 @@ -102,11 +103,11 @@ draw_window: mov edx,text mov esi,24 mov eax,4 - int 0x40 + mcall mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -117,7 +118,7 @@ draw_window: text: db 'CPU RUNNING AT MHZ' -header db 'CPU SPEED',0 +title db 'CPU SPEED',0 I_END: diff --git a/programs/develop/examples/cpuspeed/trunk/macros.inc b/programs/develop/examples/cpuspeed/trunk/macros.inc deleted file mode 100644 index 4a055a831e..0000000000 --- a/programs/develop/examples/cpuspeed/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs equ - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/examples/editbox/trunk/editbox.asm b/programs/develop/examples/editbox/trunk/editbox.asm index b4a2caaf23..3e89e564a4 100644 --- a/programs/develop/examples/editbox/trunk/editbox.asm +++ b/programs/develop/examples/editbox/trunk/editbox.asm @@ -13,7 +13,7 @@ use32 ; dd i_end ; Объем используемой памяти, для стека отведем 0х100 байт и выровним на грницу 4 байта dd i_end ; расположим позицию стека в области памяти, сразу за телом программы. Вершина стека в диапазоне памяти, указанном выше dd 0x0,0x0 ; указатель на строку с параметрами. - include 'macros.inc' + include '..\..\..\..\macros.inc' include 'editbox.inc' align 4 use_edit_box procinfo,22,5 diff --git a/programs/develop/examples/editbox/trunk/macros.inc b/programs/develop/examples/editbox/trunk/macros.inc deleted file mode 100644 index 6df8eca325..0000000000 --- a/programs/develop/examples/editbox/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -;struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -;struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/examples/example/trunk/build_en.bat b/programs/develop/examples/example/trunk/build_en.bat index 6fe98597af..415bfcc62b 100644 --- a/programs/develop/examples/example/trunk/build_en.bat +++ b/programs/develop/examples/example/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm example.asm example +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/examples/example/trunk/build_ru.bat b/programs/develop/examples/example/trunk/build_ru.bat index 596582067e..0ceaa6a5e1 100644 --- a/programs/develop/examples/example/trunk/build_ru.bat +++ b/programs/develop/examples/example/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm example.asm example +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/examples/example/trunk/example.asm b/programs/develop/examples/example/trunk/example.asm index 40ffc31ebd..d0118bc745 100644 --- a/programs/develop/examples/example/trunk/example.asm +++ b/programs/develop/examples/example/trunk/example.asm @@ -24,7 +24,7 @@ dd 0x0 ; зарезервировано include 'lang.inc' -include 'macros.inc' ; макросы облегчают жизнь ассемблерщиков! +include '..\..\..\..\macros.inc' ; макросы облегчают жизнь ассемблерщиков! ;--------------------------------------------------------------------- ;--- НАЧАЛО ПРОГРАММЫ ---------------------------------------------- @@ -108,7 +108,7 @@ draw_window: ; mov edi,header ; ЗАГОЛОВОК ОКНА ; int 0x40 - mcall 0, <200,200>, <200,50>, 0x33AABBCC,,header + mcall 0, <200,200>, <200,50>, 0x33AABBCC,,title @@ -148,7 +148,7 @@ lsz message,\ en,'Press any key...',\ fr,'Pressez une touche...' -lsz header,\ +lsz title,\ ru,'ПРИМЕР ПРОГРАММЫ',\ en,'EXAMPLE APPLICATION',\ fr,"L'exemplaire programme" diff --git a/programs/develop/examples/example/trunk/macros.inc b/programs/develop/examples/example/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/develop/examples/example/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/examples/example2/trunk/build_en.bat b/programs/develop/examples/example2/trunk/build_en.bat index b73a7642b3..0574436775 100644 --- a/programs/develop/examples/example2/trunk/build_en.bat +++ b/programs/develop/examples/example2/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm example2.asm example2 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/examples/example2/trunk/build_ru.bat b/programs/develop/examples/example2/trunk/build_ru.bat index e2088aa996..8bad73b544 100644 --- a/programs/develop/examples/example2/trunk/build_ru.bat +++ b/programs/develop/examples/example2/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm example2.asm example2 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/examples/example2/trunk/dialogs1.inc b/programs/develop/examples/example2/trunk/dialogs1.inc index a6a29624dd..57791b32b7 100644 --- a/programs/develop/examples/example2/trunk/dialogs1.inc +++ b/programs/develop/examples/example2/trunk/dialogs1.inc @@ -59,7 +59,7 @@ check_mouse: mov eax,37 mov ebx,2 - int 0x40 + mcall cmp [window_on],0 jne openw2 @@ -73,14 +73,14 @@ check_mouse: mov eax,23 mov ebx,2 - int 0x40 + mcall cmp eax,0 jne no_open mov eax,37 mov ebx,2 - int 0x40 + mcall cmp eax,0 jne waitformouse @@ -88,7 +88,7 @@ check_mouse: mov eax,37 mov ebx,1 - int 0x40 + mcall mov esi,eax @@ -120,7 +120,7 @@ check_mouse: waitm: mov eax,5 mov ebx,1 - int 0x40 + mcall dec ecx jz no_open cmp [window_on],0 @@ -150,7 +150,7 @@ check_mouse: mov eax,9 mov ebx,table mov ecx,-1 - int 0x40 + mcall mov eax,[table+34] mov [mo_x],eax @@ -161,7 +161,7 @@ check_mouse: mov ebx,1 mov ecx,alert_entry mov edx,[g_stack] - int 0x40 + mcall mov [esp+28],dword 0 ; clear button entry @@ -179,7 +179,7 @@ draw_menu: mov eax,9 mov ebx,table mov ecx,-1 - int 0x40 + mcall cmp [table+46],dword 30 jb drmr @@ -193,7 +193,7 @@ draw_menu: shl ecx,16 add ecx,[m_ys] mov edx,0xf0f8ff - int 0x40 + mcall mov eax,38 ; egde lines mov ebx,[m_x] @@ -204,14 +204,14 @@ draw_menu: shl ecx,16 add ecx,[m_y] mov edx,0x000000 - int 0x40 + mcall mov eax,38 mov ecx,[m_y] add ecx,[m_ys] shl ecx,16 add ecx,[m_y] add ecx,[m_ys] - int 0x40 + mcall mov esi,menu-1 mov edi,[m_x] @@ -231,7 +231,7 @@ draw_menu: mov edx,esi add edx,3 mov esi,12 - int 0x40 ; draw text + mcall ; draw text pop esi add esi,2 add edi,50 @@ -282,7 +282,7 @@ alert_box: mov ebx,1 mov ecx,alert_entry mov edx,[g_stack] - int 0x40 + mcall mov [menu_action],'MA ' @@ -298,7 +298,7 @@ alert_still: mov eax,23 ; wait here for event mov ebx,1 - int 0x40 + mcall cmp eax,1 ; redraw request ? je alert_red @@ -313,7 +313,7 @@ alert_still: mov eax,9 mov ebx,table mov ecx,-1 - int 0x40 + mcall cmp ax,[table+4] je no_close @@ -323,7 +323,7 @@ alert_still: mov [menu_action],'----' mov [window_on],0 mov eax,-1 - int 0x40 + mcall no_close: jmp alert_still @@ -334,12 +334,12 @@ alert_still: alert_key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall jmp alert_still alert_button: ; button mov eax,17 ; get id - int 0x40 + mcall shr eax,8 cmp eax,3 @@ -364,7 +364,7 @@ alert_still: mov [g_n],-1 mov [window_on],0 mov eax,-1 ; close this program - int 0x40 + mcall rtext db 'NO YES OK ' @@ -381,7 +381,7 @@ alert_draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall cmp [window_on],2 jne no_win_type_2 @@ -418,7 +418,7 @@ alert_draw_window: mov edx,0x00ffffff ; color of work area RRGGBB,8->color gl mov esi,0x00ffffff ; color of grab bar RRGGBB,8->color gl mov edi,0x000000cc ; color of frames RRGGBB - int 0x40 + mcall pop edx @@ -445,10 +445,10 @@ alert_draw_window: mov edx,0x40000000 add edx,ebp mov esi,0 - int 0x40 + mcall popa mov eax,4 ; draw text - int 0x40 + mcall inc ebp add ebx,14 jmp no_d_found @@ -461,7 +461,7 @@ alert_draw_window: jne no_win_1 mov eax,14 ; to middle of screen - int 0x40 + mcall mov ecx,eax and ecx,0xffff shr ecx,1 @@ -480,7 +480,7 @@ alert_draw_window: mov edx,0x02ffffff ; color of work area RRGGBB,8->color gl mov esi,0x80d05050 ; color of grab bar RRGGBB,8->color gl mov edi,0x00d05050 ; color of frames RRGGBB - int 0x40 + mcall mov eax,4 ; label @@ -488,14 +488,14 @@ alert_draw_window: mov ecx,0x10ddeeff mov edx,alert_labelt1 mov esi,alert_label1len-alert_labelt1 - int 0x40 + mcall mov eax,4 mov ebx,10*65536+43 mov ecx,0x10000000 mov edx,[g_t] mov esi,[g_l] - int 0x40 + mcall cmp [g_1],1 jne gadgets_no_1 @@ -509,7 +509,7 @@ alert_draw_window: mov ecx,75*65536+16 mov edx,3 mov esi,0x446688 - int 0x40 + mcall mov eax,4 mov ebx,[g_x] @@ -520,7 +520,7 @@ alert_draw_window: mov ecx,0x10ffffff mov edx,alert_t2 mov esi,alert_t2len-alert_t2 - int 0x40 + mcall gadgets_no_1: @@ -536,7 +536,7 @@ alert_draw_window: mov ecx,75*65536+16 mov edx,1 mov esi,0x446688 - int 0x40 + mcall mov eax,8 mov ebx,[g_x] @@ -547,7 +547,7 @@ alert_draw_window: mov ecx,75*65536+16 mov edx,2 mov esi,0x446688 - int 0x40 + mcall mov eax,4 mov ebx,[g_x] @@ -558,7 +558,7 @@ alert_draw_window: mov ecx,0x10ffffff mov edx,alert_t1 mov esi,alert_t1len-alert_t1 - int 0x40 + mcall gadgets_no_2: @@ -566,7 +566,7 @@ alert_draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret diff --git a/programs/develop/examples/example2/trunk/example2.asm b/programs/develop/examples/example2/trunk/example2.asm index 3327eb5d10..141a44ecbc 100644 --- a/programs/develop/examples/example2/trunk/example2.asm +++ b/programs/develop/examples/example2/trunk/example2.asm @@ -18,20 +18,20 @@ use32 dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' -include 'macros.inc' +include '..\..\..\..\macros.inc' include 'dialogs1.inc' menu_history dd 0x0 START: ; start of execution +red: call draw_window_main still: ; wait here for event - mov eax,23 - mov ebx,2 - int 0x40 + mov eax,10 + mcall cmp eax,1 ; process events je red @@ -52,42 +52,38 @@ still: ; wait here for event mov ebx,220*65536+6*4 mov ecx,70*65536+8 mov edx,0xffffff - int 0x40 + mcall mov eax,4 ; show menu selections mov ebx,220*65536+70 mov ecx,0x000000 mov edx,menu_action mov esi,4 - int 0x40 + mcall nodisplay: cmp word [menu_action],word 'AD' ; user requests close jne no_menu_close mov eax,-1 - int 0x40 + mcall no_menu_close: jmp still - red: ; redraw - call draw_window_main - jmp still - key: mov eax,2 ; key in buffer - int 0x40 + mcall jmp still button: ; button in buffer mov eax,17 - int 0x40 + mcall cmp ah,1 ; close application jne noclose - mov eax,-1 - int 0x40 + or eax,-1 + mcall noclose: cmp ah,2 @@ -122,7 +118,7 @@ draw_window_main: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall mov eax,0 ; open window mov ebx,100*65536+300 @@ -130,7 +126,7 @@ draw_window_main: mov edx,0x02ffffff mov esi,0x805080d0 mov edi,0x005080d0 - int 0x40 + mcall call draw_menu ; DRAW MENU @@ -139,28 +135,28 @@ draw_window_main: mov ecx,0x10ddeeff mov edx,labelt mov esi,labellen-labelt - int 0x40 + mcall mov eax,8 ; close button mov ebx,(300-17)*65536+10 mov ecx,5*65536+10 mov edx,1 mov esi,0x4466bb - int 0x40 + mcall mov eax,8 ; button : OPEN ALERT BOX mov ebx,25*65536+150 mov ecx,61*65536+14 mov edx,2 mov esi,0x4466aa - int 0x40 + mcall mov eax,8 ; button : OPEN CHOOSE BOX mov ebx,25*65536+150 mov ecx,81*65536+14 mov edx,3 mov esi,0x4466aa - int 0x40 + mcall mov ebx,20*65536+55 ; draw info text with function 4 mov ecx,0xffffff @@ -168,7 +164,7 @@ draw_window_main: mov esi,40 newline: mov eax,4 - int 0x40 + mcall add ebx,10 add edx,40 cmp [edx],byte 'x' @@ -176,7 +172,7 @@ draw_window_main: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret diff --git a/programs/develop/examples/example2/trunk/macros.inc b/programs/develop/examples/example2/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/develop/examples/example2/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/examples/example3/trunk/build_en.bat b/programs/develop/examples/example3/trunk/build_en.bat index 28db6d848f..effd9f155e 100644 --- a/programs/develop/examples/example3/trunk/build_en.bat +++ b/programs/develop/examples/example3/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm example3.asm example3 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/examples/example3/trunk/build_ru.bat b/programs/develop/examples/example3/trunk/build_ru.bat index 8d3fcee39d..3cf78218cf 100644 --- a/programs/develop/examples/example3/trunk/build_ru.bat +++ b/programs/develop/examples/example3/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm example3.asm example3 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/examples/example3/trunk/example3.asm b/programs/develop/examples/example3/trunk/example3.asm index 9c89d4cdc5..bb32e47475 100644 --- a/programs/develop/examples/example3/trunk/example3.asm +++ b/programs/develop/examples/example3/trunk/example3.asm @@ -16,44 +16,37 @@ dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' -include 'macros.inc' +include '..\..\..\..\macros.inc' START: ; start of execution + red: call draw_window ; draw window call clear_data ; clear status bar still: mov eax,10 ; wait here for event - int 0x40 ; do it + mcall ; do it cmp eax,1 ; redraw request ? - je red ; yes jump to it + jz red ; yes jump to it cmp eax,2 ; key in buffer ? - je key ; yes jump to it - cmp eax,3 ; button in buffer ? - je button ; yes jump to it - jmp still ; start again - - red: ; redraw - call draw_window ; redraw window - call clear_data ; clear status info - jmp still ; start again + jnz button key: ; key mov eax,2 ; just read it and ignore - int 0x40 ; do it + mcall ; do it jmp still ; start again button: ; button mov eax,17 ; get id - int 0x40 ; do it + mcall ; do it cmp ah,1 ; is it the close button jne noclose ; no then jump code - mov eax,-1 ; close this program - int 0x40 ; do it + or eax,-1 ; close this program + mcall ; do it noclose: cmp ah,100 ; is it main menu @@ -92,7 +85,7 @@ draw_window: mov eax,12 ; function 12: tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 ; do it + mcall ; do it mov eax,0 ; function 0: define and draw window mov ebx,50*65536 ; [x start] *65536 @@ -101,21 +94,21 @@ draw_window: add ecx,[y_size] ; add [y size] mov edx,0x80ffffff ; colour of work area RRGGBB mov esi,0x806688dd ; grab bar colour. negative glide - int 0x40 ; do it + mcall ; do it mov eax,4 ; function 4: write text to window mov ebx,6*65536+7 ; [x start] *65536 + [y start] mov ecx,0x00ffffff ; text colour mov edx,window_text ; pointer to text beginning mov esi,12 ; text length - int 0x40 ; do it + mcall ; do it mov eax,8 ; function 8: define and draw button mov ebx,(381-18)*65536+13 ; [x start] *65536 + [x size] mov ecx,4*65536+13 ; [y start] *65536 + [y size] mov edx,1 ; button id mov esi,0x6688dd ; button color RRGGBB - int 0x40 ; do it + mcall ; do it mov eax,13 ; function 13: draw bar mov ebx,1*65536 ; [x start] *65536 @@ -126,7 +119,7 @@ draw_window: shl ecx,16 ; *65536 add ecx,17 ; add height mov edx,0x006688dd ; bar colour - int 0x40 ; do it + mcall ; do it mov eax,4 ; function 4 : write text to window mov ebx,5*65536 ; [x start] *65536 @@ -135,17 +128,17 @@ draw_window: xor ecx,ecx ; text colour mov edx,button_no ; pointer to text beginning mov esi,14 ; text length - int 0x40 ; do it + mcall ; do it add ebx,95*65536 ; move xy position mov edx,menu_text ; pointer to text beginning - int 0x40 ; do it + mcall ; do it call write_main ; draw menu mov eax,12 ; function 12: tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 ; do it + mcall ; do it pop eax ; restore register ret ; return @@ -160,7 +153,7 @@ write_main: dec ebx ; x size - 1 mov ecx,21*65536+17 ; [y start] *65536 +[y size] mov edx,[menu_colour] ; menu colour - int 0x40 ; do it + mcall ; do it mov [main_pos],1 ; start position first button xor edi,edi ; data offset = 0 @@ -184,14 +177,14 @@ main_menu: xor edx,edx ; clear register mov dl,[MENU_DATA+edi+2] ; get byte button id number mov esi,[menu_colour] ; button colour - int 0x40 ; do it + mcall ; do it mov eax,4 ; function 4: write text to window add ebx,6*65536-49 ; move xy position xor ecx,ecx ; text colour mov edx,MENU_DATA+3 ; point at menu text add edx,edi ; add our offset mov esi,11 ; number of characters - int 0x40 ; do it + mcall ; do it is_main_bar: add [main_pos],76 ; update button position @@ -217,7 +210,7 @@ draw_data: add edx,[y_size] ; +[y start] sub edx,12 ; move position xor esi,esi ; text colour - int 0x40 ; do it + mcall ; do it pop eax ; restore register cmp [button_press],1 ; has a sub button been pressed @@ -238,7 +231,7 @@ draw_data: mov esi,1 ; 1 character mov eax,4 ; function 4: write text to window xor ecx,ecx ; text colour - int 0x40 ; do it + mcall ; do it pop eax ; restore register draw_get_out: @@ -256,9 +249,9 @@ clear_data: shl ecx,16 ; *65536 add ecx,13 ; [y size] mov edx,0x00aaaaaa ; bar colour - int 0x40 ; do it + mcall ; do it mov ebx,185*65536+11 ; move position - int 0x40 ; do it again + mcall ; do it again pop eax ; restore register ret ; return @@ -309,7 +302,7 @@ sub_menu: mov ecx,[but_pos] ; [y start] shl ecx,16 ; *65536 add ecx,17 ; [y size] - int 0x40 ; do it + mcall ; do it jmp is_sub_bar ; jump button code is_sub_button: @@ -323,7 +316,7 @@ is_sub_button: shl ecx,16 ; *65536 add ecx,16 ; [y size] mov esi,[menu_colour] ; button colour - int 0x40 ; do it + mcall ; do it mov ebx,[sub_pos] ; [x start] shl ebx,16 ; *65536 @@ -335,7 +328,7 @@ is_sub_button: add edx,edi ; add offset mov esi,11 ; number of characters mov eax,4 ; function 4: write text to window - int 0x40 ; do it + mcall ; do it is_sub_bar: add [but_pos],17 ; move y position diff --git a/programs/develop/examples/example3/trunk/macros.inc b/programs/develop/examples/example3/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/develop/examples/example3/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/examples/hello/trunk/build_en.bat b/programs/develop/examples/hello/trunk/build_en.bat index d6bd90debb..e746c594d4 100644 --- a/programs/develop/examples/hello/trunk/build_en.bat +++ b/programs/develop/examples/hello/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm hello.asm hello +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/examples/hello/trunk/build_ru.bat b/programs/develop/examples/hello/trunk/build_ru.bat index 2e433d5a58..3f34d26e7e 100644 --- a/programs/develop/examples/hello/trunk/build_ru.bat +++ b/programs/develop/examples/hello/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm hello.asm hello +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/examples/hello/trunk/cmdipc.inc b/programs/develop/examples/hello/trunk/cmdipc.inc index 53353e0ec2..f7baeda864 100644 --- a/programs/develop/examples/hello/trunk/cmdipc.inc +++ b/programs/develop/examples/hello/trunk/cmdipc.inc @@ -1,10 +1,10 @@ -include "macros.inc" +include "..\..\..\..\macros.inc" initipc: mov eax,9 mov ebx,prc mov ecx,-1 - int 0x40 + mcall mov ecx,eax loop1: @@ -12,7 +12,7 @@ loop1: mov eax,9 mov ebx,prc - int 0x40 + mcall cmp word [prc+10],'CM' jne no_cmd @@ -39,18 +39,18 @@ no_exit: mov ecx,dword [cmdpid] mov edx,printf mov esi,4 - int 0x40 + mcall call initcmd waitcmdinit: mov eax,40 mov ebx,01000000b - int 0x40 + mcall mov eax,23 mov ebx,100 - int 0x40 + mcall cmp eax,7 je cmd_ok @@ -64,19 +64,19 @@ cmd_ok: mov eax,18 mov ebx,3 mov ecx,dword [cmdnumb] - int 0x40 + mcall ret pause1: mov eax,5 mov ebx,1 - int 0x40 + mcall ret exit: mov eax,-1 - int 0x40 + mcall cls: mov eax,60 @@ -84,7 +84,7 @@ cls: mov ecx,dword [cmdpid] mov edx,ipccls mov esi,4 - int 0x40 + mcall call pause1 @@ -120,7 +120,7 @@ loopprt: mov ecx,dword [cmdpid] mov edx,stripc mov esi,84 - int 0x40 + mcall call pause1 @@ -132,7 +132,7 @@ eol: mov ecx,dword [cmdpid] mov edx,ipceol mov esi,4 - int 0x40 + mcall call pause1 @@ -144,13 +144,13 @@ initcmd: mov ecx,dword [cmdpid] mov edx,ipckey mov esi,4 - int 0x40 + mcall mov eax,60 mov ebx,1 mov ecx,ipcb mov edx,28 - int 0x40 + mcall cld mov ecx,28 @@ -166,10 +166,10 @@ getkey: waitagain: mov eax,40 mov ebx,01000000b - int 0x40 + mcall mov eax,10 - int 0x40 + mcall cmp eax,7 jne waitagain @@ -186,7 +186,7 @@ endipc: mov ecx,dword [cmdpid] mov edx,ipcend mov esi,4 - int 0x40 + mcall jmp exit diff --git a/programs/develop/examples/hello/trunk/macros.inc b/programs/develop/examples/hello/trunk/macros.inc deleted file mode 100644 index d45b69e6e3..0000000000 --- a/programs/develop/examples/hello/trunk/macros.inc +++ /dev/null @@ -1,265 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a { ; mike.dld - if ~a eq - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/examples/ir/trunk/build_en.bat b/programs/develop/examples/ir/trunk/build_en.bat index 86d03e641e..8840ded14a 100644 --- a/programs/develop/examples/ir/trunk/build_en.bat +++ b/programs/develop/examples/ir/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm ir.asm ir +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/examples/ir/trunk/build_ru.bat b/programs/develop/examples/ir/trunk/build_ru.bat index 3dc88b1001..5bd16c9f63 100644 --- a/programs/develop/examples/ir/trunk/build_ru.bat +++ b/programs/develop/examples/ir/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm ir.asm ir +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/examples/ir/trunk/ir.asm b/programs/develop/examples/ir/trunk/ir.asm index b2e0ecff8e..b9a01c8ccd 100644 --- a/programs/develop/examples/ir/trunk/ir.asm +++ b/programs/develop/examples/ir/trunk/ir.asm @@ -17,7 +17,7 @@ use32 dd 0, 0 -include 'macros.inc' +include '..\..\..\..\macros.inc' START: ; start of execution @@ -27,17 +27,17 @@ set_variables: mov ebx,0 mov ecx,0x3f0 mov edx,0x3ff - int 0x40 + mcall mov eax,45 ; reserve irq 4 mov ebx,0 mov ecx,4 - int 0x40 + mcall mov eax,44 ; set read ports for irq 4 mov ebx,irqtable ; mov ecx,4 - int 0x40 + mcall mov dh, 3 ; all ports have number 3xx hex @@ -67,7 +67,7 @@ set_variables: mov eax,5 mov ebx,100 - int 0x40 + mcall mov dl, 0xf8 mov al, 'I' @@ -75,14 +75,14 @@ set_variables: mov eax,5 mov ebx,10 - int 0x40 + mcall mov al, 'R' out dx, al mov eax,40 ; get com 1 data with irq 4 mov ebx,0000000000010000b shl 16 + 101b - int 0x40 + mcall red: call draw_window @@ -90,7 +90,7 @@ red: still: mov eax,10 ; wait here for event - int 0x40 + mcall dec eax jz red dec eax @@ -99,23 +99,23 @@ still: button: ; button mov al,17 ; get id - int 0x40 + mcall ; we have only one button, close mov eax,45 ; free irq mov ebx,1 mov ecx,4 - int 0x40 + mcall mov eax,46 ; free ports 0x3f0-0x3ff mov ebx,1 mov ecx,0x3f0 mov edx,0x3ff - int 0x40 + mcall or eax,-1 ; close this program - int 0x40 + mcall pos dd 0x0 @@ -130,14 +130,14 @@ cdplayer: readir: mov eax,42 mov ebx,4 - int 0x40 + mcall cmp ebx,80 jne nocd mov eax,70 mov ebx,cdplayer - int 0x40 + mcall nocd: @@ -156,7 +156,7 @@ cdplayer: mov ebx,20*65536+260 mov ecx,22*65536+220 mov edx,[wcolor] - int 0x40 + mcall mov eax,10*19+1 noeaxz: mov [pos],eax @@ -209,7 +209,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window @@ -217,7 +217,7 @@ draw_window: mov ecx,100*65536+250 ; [y start] *65536 + [y size] mov edx,[wcolor] ; color of work area RRGGBB,8->color mov edi,labelt ; caption string - int 0x40 + mcall ; ; WINDOW LABEL ; mov eax,4 ; function 4 : write text to window @@ -225,7 +225,7 @@ draw_window: ; mov ecx,0x00ffffff ; color of text RRGGBB ; mov edx,labelt ; pointer to text beginning ; mov esi,labellen-labelt ; text length -; int 0x40 +; mcall ; CLOSE BUTTON ; mov eax,8 ; function 8 : define and draw button @@ -233,7 +233,7 @@ draw_window: ; mov ecx,5*65536+12 ; [y start] *65536 + [y size] ; mov edx,1 ; button id ; mov esi,0x5599cc ; button color RRGGBB -; int 0x40 +; mcall draw_text: @@ -244,7 +244,7 @@ draw_text: mov edi,20 newline: mov eax,4 - int 0x40 + mcall add ebx,10 add edx,esi dec edi @@ -252,7 +252,7 @@ draw_text: mov eax,12 mov ebx,2 - int 0x40 + mcall ret diff --git a/programs/develop/examples/ir/trunk/macros.inc b/programs/develop/examples/ir/trunk/macros.inc deleted file mode 100644 index a04ab1d2e7..0000000000 --- a/programs/develop/examples/ir/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/examples/md5/trunk/build_en.bat b/programs/develop/examples/md5/trunk/build_en.bat index 5ce7d87a5e..900222a080 100644 --- a/programs/develop/examples/md5/trunk/build_en.bat +++ b/programs/develop/examples/md5/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm md5.asm md5 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/examples/md5/trunk/build_ru.bat b/programs/develop/examples/md5/trunk/build_ru.bat index f3bb6faf2f..ffc8700941 100644 --- a/programs/develop/examples/md5/trunk/build_ru.bat +++ b/programs/develop/examples/md5/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm md5.asm md5 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/examples/md5/trunk/md5.asm b/programs/develop/examples/md5/trunk/md5.asm index a0e55457be..4ce400a5a7 100644 --- a/programs/develop/examples/md5/trunk/md5.asm +++ b/programs/develop/examples/md5/trunk/md5.asm @@ -12,20 +12,7 @@ ; ; Компилируеться Fasm'ом для МенуэтОС include 'lang.inc' -macro diff16 title,l2 - { - local s,d,l1 - s = l2 - display title,': 0x' - repeat 8 - d = 48 + s shr ((8-%) shl 2) and $0F - if d > 57 - d = d + 65-57-1 - end if - display d - end repeat - display 13,10 - } +include '..\..\..\..\macros.inc' use32 @@ -35,47 +22,39 @@ use32 dd 0x01 ; версия заголовка (всегда 1) dd START ; адрес первой команды dd I_END ; размер программы - dd 0x100000 ; количество памяти - dd 0x100000 ; адрес вершины стэка + dd 0x4000 ; количество памяти + dd 0x4000 ; адрес вершины стэка dd 0x0 ; адрес буфера для параметров (не используется) dd 0x0 ; зарезервировано START: ; Начало выполнения программы +red: call draw_window ; Сперва перерисуем окно still: - mov eax,23 ; Ожидаем событий - mov ebx,1 - int 0x40 + mov eax,10 ; Ожидаем событий + mcall cmp eax,1 ; Запрос на перерисовку ? jz red cmp eax,2 ; нажата клавиши ? - jz key - cmp eax,3 ; нажата кнопка ? - jz button - - jmp still - -red: - call draw_window - jmp still + jnz button key: mov eax,2 - int 0x40 + mcall jmp still button: mov eax,17 - int 0x40 + mcall cmp ah,1 ; id кнопки = 1 ? jnz noclose - mov eax,-1 - int 0x40 + or eax,-1 + mcall noclose: @@ -356,30 +335,23 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+230 ; [x start] *65536 + [x size] mov ecx,60*65536+100 ; [y start] *65536 + [y size] - mov edx,0x03ffffff ; color of work area RRGGBB - mov esi,0x80aabbcc ; color of grab bar RRGGBB,8->color gl - mov edi,0x00aabbcc ; color of frames RRGGBB - int 0x40 + mov edx,0x13ffffff ; color of work area RRGGBB + mov edi,title ; WINDOW LABEL + mcall - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x00ffffff ; color of text RRGGBB - mov edx,labeltext ; pointer to text beginning - mov esi,lte-labeltext ; text length - int 0x40 + ; Рисуем кнопку для генерации mov eax,8 ; function 8 : define and draw button mov ebx,20*65536+80 ; [x start] *65536 + [x size] mov ecx,34*65536+14 ; [y start] *65536 + [y size] mov edx,2 ; button id mov esi,0x5588dd ; button color RRGGBB - int 0x40 + mcall ; Название на кнопку mov eax,4 ; function 4 : write text to window @@ -387,9 +359,8 @@ draw_window: mov ecx,0x000000 ; color of text RRGGBB mov edx,gen_txt ; pointer to text beginning mov esi,gen_len-gen_txt ; text length - int 0x40 + mcall - mov eax,4 ; draw info text with function 4 mov ebx,20*65536+70 mov ecx,0x000000 mov edx,[text] @@ -397,18 +368,17 @@ draw_window: mov al, [textlen] mov esi,eax mov eax,4 - int 0x40 + mcall mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret ;Область данных -labeltext: db 'MD5 Generator' -lte: +title db 'MD5 Generator',0 text: dd 0 textlen: dd 0 diff --git a/programs/develop/examples/numcalc/trunk/@numcalc.asm b/programs/develop/examples/numcalc/trunk/@numcalc.asm index 6faf63d635..83feff1c91 100755 --- a/programs/develop/examples/numcalc/trunk/@numcalc.asm +++ b/programs/develop/examples/numcalc/trunk/@numcalc.asm @@ -1,3 +1,4 @@ +include '..\..\..\..\macros.inc' use32 db 'MENUET01' dd 1 @@ -15,24 +16,24 @@ start: pop ebx mov cl, 45h ; NumLock scancode xor edx, edx - int 40h + mcall mov al, 40 ; ёЄрЁ°шх сшЄ√ єцх юсэєыхэ√ mov bl, 2 ; ёЄрЁ°шх сшЄ√ єцх юсэєыхэ√ - int 40h + mcall event: push 10 pop eax - int 40h + mcall ; є эрё ьюцхЄ с√Є№ Єюы№ъю юфэю ёюс√Єшх - эрцрЄр ъыртш°р mov al, 2 - int 40h + mcall cmp al, 2 jnz event ; є эрё хёЄ№ Єюы№ъю юфэр уюЁ ўр  ъыртш°р push 70 pop eax mov ebx, fileinfo - int 40h + mcall jmp event fileinfo: diff --git a/programs/develop/examples/radiobutton/trunk/macros.inc b/programs/develop/examples/radiobutton/trunk/macros.inc deleted file mode 100644 index 14185dbfce..0000000000 --- a/programs/develop/examples/radiobutton/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/examples/radiobutton/trunk/optionbox.asm b/programs/develop/examples/radiobutton/trunk/optionbox.asm index 508fc9480f..e384a28afc 100644 --- a/programs/develop/examples/radiobutton/trunk/optionbox.asm +++ b/programs/develop/examples/radiobutton/trunk/optionbox.asm @@ -23,7 +23,7 @@ use32 ; ; указатель на строку, в которую записан путь, ; откуда запущено приложение ;------------------ - include 'macros.inc' + include '..\..\..\..\macros.inc' include 'optionbox.inc' ;включить файл opeck.inc version_op ;вариант, при котором используются цвета, которые задает пользователь @@ -36,16 +36,16 @@ start: ; mov ebx,3 mov ecx,sc mov edx,sizeof.system_colors - int 0x40 + mcall mov eax,40 ;установить маску для ожидаемых событий mov ebx,0x25 ;система будет реагировать только на сообщение о перерисовке,нажата кнопка, определённая ранее, событие от мыши (что-то случилось - нажатие на кнопку мыши или перемещение; сбрасывается при прочтении) - int 0x40 + mcall red_win: call draw_window ;первоначально необходимо нарисовать окно still: ;основной обработчик mov eax,10 ;Ожидать события - int 0x40 ;ожидать событие в течение 2 миллисекунд + mcall ;ожидать событие в течение 2 миллисекунд cmp al,0x1 ;если изменилось положение окна jz red_win @@ -55,17 +55,17 @@ still: ; jmp still ;если ничего из перечисленного то снова в цикл button: ; mov eax,17 ;получить идентификатор нажатой клавиши -; int 0x40 +; mcall ; test ah,ah ;если в ah 0, то перейти на обработчик событий still ; jz still or eax,-1 ;в eax,-1 - 5 ,байтов у нас же только 3 выйти - int 0x40 ;далее выполняется выход из программы + mcall ;далее выполняется выход из программы ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>> draw_window: ;рисование окна приложения mov eax,12 ;в регистр внести значение = 12 mov ebx,1 ;присвоить 1 - int 0x40 + mcall xor eax,eax ;обнулить eax mov ebx,50*65536+180 ;[координата по оси x]*65536 + [размер по оси x] @@ -73,13 +73,13 @@ draw_window: ; mov edx,[sc.work] ; color of work area RRGGBB,8->color gl or edx,0xb3000000 mov edi,hed - int 0x40 ;нарисовать окно приложения + mcall ;нарисовать окно приложения draw_option_boxes option_boxes,option_boxes_end ;рисование чекбоксов mov eax,12 ;Функция 12 - начать/закончить перерисовку окна. mov ebx,2 ;Подфункция 2 - закончить перерисовку окна. - int 0x40 + mcall ret ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> diff --git a/programs/develop/examples/radiobutton/trunk/optionbox.bat b/programs/develop/examples/radiobutton/trunk/optionbox.bat index 54008df1db..0fd2e7386d 100644 --- a/programs/develop/examples/radiobutton/trunk/optionbox.bat +++ b/programs/develop/examples/radiobutton/trunk/optionbox.bat @@ -1,4 +1,2 @@ @fasm.exe optionbox.asm optionbox -@kpack.exe optionbox -REM @klbrinwin.exe optionbox @pause \ No newline at end of file diff --git a/programs/develop/examples/radiobutton/trunk/optionbox.inc b/programs/develop/examples/radiobutton/trunk/optionbox.inc index 0d1028718e..df8bbd1d19 100644 --- a/programs/develop/examples/radiobutton/trunk/optionbox.inc +++ b/programs/develop/examples/radiobutton/trunk/optionbox.inc @@ -48,12 +48,12 @@ op_size=11 ;раз shl ecx,16 add ecx,op_size mov edx,op_border_color - int 0x40 ;рисуем рамку + mcall ;рисуем рамку mov edx,op_color add ebx,1 shl 16 - 2 add ecx,1 shl 16 - 2 - int 0x40 ;закрашиваем внутренности чекбокса + mcall ;закрашиваем внутренности чекбокса mov eax,option_group mov dword eax,[eax] @@ -74,7 +74,7 @@ op_size=11 ;раз movzx esi,word op_text_length ;Загрузим длину надписи в esi ;внесем в eax значение вывода надписи на канву mov eax,4 - int 0x40 ;Вывод + mcall ;Вывод popa ;восстановить значения регистров из стека ret ;выйдем из процедуры @@ -97,14 +97,14 @@ ret ; add ecx,(op_size/3) ;добавить (сторона прямоугольника/3) shl ecx,16 ;сдвинем на 16 разрядов в лево (умножим на 65536) mov cx,bp ;загрузим значения регистра указателя базы в cx - int 0x40 ;вывод + mcall ;вывод ret ;выйти из процедуры .mouse: ;обработка мыши pusha mov eax,37 ;будем что то делать если у нас что - нить нажато mov ebx,2 ;внести в регистр значение 2 - int 0x40 ;проверка не нажал ли пользователь кнопку мышки + mcall ;проверка не нажал ли пользователь кнопку мышки test eax,eax ;проверка если у нас в eax=0, то установим флаг и выйдем jnz @f ;перейти на нижнюю метку @@ popa ;если ничего не произошло, то восстановим значения регистров из стека @@ -120,7 +120,7 @@ pusha mov eax,37 ;получим координаты мышки inc ebx ;добавить 1 - int 0x40 ;получить координаты курсора относительно окна + mcall ;получить координаты курсора относительно окна movzx ebx,word op_top ;загрузить в bx значение координаты у cmp ax,bx ;сравнить с с координатой курсора diff --git a/programs/develop/examples/rtdata/trunk/build_en.bat b/programs/develop/examples/rtdata/trunk/build_en.bat index 78c1d961ec..b7fdaf5660 100644 --- a/programs/develop/examples/rtdata/trunk/build_en.bat +++ b/programs/develop/examples/rtdata/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm rtdata.asm rtdata +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/examples/rtdata/trunk/build_ru.bat b/programs/develop/examples/rtdata/trunk/build_ru.bat index ebac9f81c5..fcba6dc858 100644 --- a/programs/develop/examples/rtdata/trunk/build_ru.bat +++ b/programs/develop/examples/rtdata/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm rtdata.asm rtdata +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/examples/rtdata/trunk/macros.inc b/programs/develop/examples/rtdata/trunk/macros.inc deleted file mode 100644 index 5824e42816..0000000000 --- a/programs/develop/examples/rtdata/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/examples/rtdata/trunk/rtdata.asm b/programs/develop/examples/rtdata/trunk/rtdata.asm index 8da75fa01e..d259e8917d 100644 --- a/programs/develop/examples/rtdata/trunk/rtdata.asm +++ b/programs/develop/examples/rtdata/trunk/rtdata.asm @@ -5,7 +5,7 @@ ; include "lang.inc" -include "macros.inc" +include "..\..\..\..\macros.inc" use32 org 0x0 @@ -25,31 +25,38 @@ START: ; start of execution mov eax,45 ; reserve irq 4 mov ebx,0 mov ecx,4 - int 0x40 + mcall mov eax,46 ; reserve ports 0x3f8-0x3ff mov ebx,0 mov ecx,0x3f8 mov edx,0x3ff - int 0x40 + mcall mov eax,44 ; read these ports at interrupt/irq 4 mov ebx,irqtable mov ecx,4 - int 0x40 + mcall mov eax,40 ; enable event for interrupt/irq 4 mov ebx,10000b shl 16 + 111b - int 0x40 + mcall call program_com1 + mov eax, 48 + mov ebx, 3 + mov ecx, sc + mov edx, sizeof.system_colors + mcall + + red: call draw_window still: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -62,13 +69,9 @@ still: jmp still - red: ; redraw - call draw_window - jmp still - key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall mov al,ah mov dx,0x3f8 @@ -78,14 +81,14 @@ still: button: ; button or eax,-1 ; close this program - int 0x40 + mcall irq4: mov eax,42 mov ebx,4 - int 0x40 + mcall ; eax = number of bytes left ; ecx = 0 success, =1 fail @@ -141,15 +144,9 @@ program_com1: draw_window: - mov eax, 48 - mov ebx, 3 - mov ecx, sc - mov edx, sizeof.system_colors - int 0x40 - mov eax, 12 ; function 12:tell os about windowdraw mov ebx, 1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax, 0 ; function 0 : define and draw window @@ -157,16 +154,16 @@ draw_window: mov ecx, 100*65536+85 ; [y start] *65536 + [y size] mov edx, [sc.work] or edx, 0x03000000 ; color of work area RRGGBB,8->color gl - int 0x40 + mcall ; WINDOW LABEL mov eax, 4 ; function 4 : write text to window mov ebx, 8*65536+8 ; [x start] *65536 + [y start] mov ecx, [sc.grab_text] or ecx, 0x10000000 ; font 1 & color ( 0xF0RRGGBB ) - mov edx, header ; pointer to text beginning - mov esi, header.len ; text length - int 0x40 + mov edx, title ; pointer to text beginning + mov esi, title.len ; text length + mcall mov eax, 4 ; draw text mov ebx, 20*65536+33 @@ -176,7 +173,7 @@ draw_window: mov esi, [edx-4] test esi, 0xFF000000 jnz .finstr - int 0x40 + mcall add edx, esi add edx, 4 add ebx, 10 @@ -187,7 +184,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -198,7 +195,7 @@ draw_string: mov ecx, [sc.work_text] mov edx, string mov esi, 32 - int 0x40 + mcall ret @@ -209,16 +206,16 @@ if lang eq ru text mstr "ВВОДИМЫЕ СИМВОЛЫ ПЕРЕДАЮТСЯ МОДЕМУ.",\ "ДАННЫЕ ОТ МОДЕМА СЧИТЫВАЮТСЯ ПО",\ "ПРЕРЫВАНИЮ IRQ4 И ОТОБРАЖАЮТСЯ НИЖЕ." - header: + title: db 'МОДЕМ НА COM1' - .len = $ - header + .len = $ - title else text mstr "TYPED CHARACTERS ARE SENT TO MODEM.",\ "DATA FROM MODEM IS READ BY IRQ4",\ "INTERRUPT AND DISPLAYED BELOW." - header: + title: db 'MODEM AT COM1' - .len = $ - header + .len = $ - title end if pos dd 0x0 diff --git a/programs/develop/examples/template/trunk/macros.inc b/programs/develop/examples/template/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/develop/examples/template/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/examples/template/trunk/template.asm b/programs/develop/examples/template/trunk/template.asm index 819691396c..e1843ea96c 100644 --- a/programs/develop/examples/template/trunk/template.asm +++ b/programs/develop/examples/template/trunk/template.asm @@ -9,7 +9,7 @@ ; <--- include all MeOS stuff ---> include "lang.inc" -include "macros.inc" +include "..\..\..\..\macros.inc" ; <--- start of MenuetOS application ---> @@ -23,14 +23,14 @@ CODE mov ebx,3 mov ecx,sc mov edx,sizeof.system_colors - int 0x40 + mcall redraw: ; redraw event handler call draw_window ; at first create and draw the window wait_event: ; main cycle mov eax, 10 - int 0x40 + mcall dec eax ; if event = 1 jz redraw ; jump to redraw handler @@ -40,36 +40,36 @@ CODE button: ; button event handler mov al, 17 ; get button identifier - int 0x40 + mcall cmp ah, 1 jne wait_event ; return if button id != 1 or eax, -1 ; exit application - int 0x40 + mcall key: ; key event handler mov al, 2 ; get key code - int 0x40 + mcall jmp wait_event draw_window: mov eax, 12 ; start drawing mov ebx, 1 - int 0x40 + mcall xor eax, eax ; create and draw the window mov ebx, 100*65536+200 ; (window_cx)*65536+(window_sx) mov ecx, 100*65536+100 ; (window_cy)*65536+(window_sy) mov edx, [sc.work] ; work area color or edx, 0x33000000 ; & window type 3 - mov edi, header ; window header + mov edi, title ; window title int 0x40 mov eax, 12 ; finish drawing mov ebx, 2 - int 0x40 + mcall ret @@ -77,11 +77,11 @@ CODE DATA if lang eq ru -header db 'Шаблон программы',0 +title db 'Шаблон программы',0 else if lang eq fr -header db 'La programme poncive',0 +title db 'La programme poncive',0 else -header db 'Template program',0 +title db 'Template program',0 end if ; <--- uninitialised data ---> diff --git a/programs/develop/examples/thread/trunk/macros.inc b/programs/develop/examples/thread/trunk/macros.inc deleted file mode 100644 index 5527ff55c1..0000000000 --- a/programs/develop/examples/thread/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a { ; mike.dld - if ~a eq - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; language for programs -lang fix ru ; ru en fr ge fi - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/examples/thread/trunk/thread.asm b/programs/develop/examples/thread/trunk/thread.asm index 27027d6546..7c012efb87 100644 --- a/programs/develop/examples/thread/trunk/thread.asm +++ b/programs/develop/examples/thread/trunk/thread.asm @@ -11,49 +11,42 @@ dd 0x01 ; header version dd START ; start of code dd I_END ; size of image - dd 0x2000 ; memory for app - dd 0x1000 ; esp + dd 0x2000 ; memory for app + dd 0x2000 ; esp dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' -include 'macros.inc' +include '..\..\..\..\macros.inc' START: ; start of execution +red: ; redraw call draw_window ; at first, draw the window still: mov eax,10 ; wait here for event - int 0x40 + mcall - cmp eax,1 ; redraw request ? + dec eax ; redraw request ? je red - cmp eax,2 ; key in buffer ? - je key - cmp eax,3 ; button in buffer ? - je button - - jmp still - - red: ; redraw - call draw_window - jmp still + dec eax ; key in buffer ? + jne button key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose - mov eax,-1 ; close this program (thread) - int 0x40 + or eax,-1 ; close this program (thread) + mcall noclose: cmp ah,2 @@ -67,7 +60,7 @@ still: mov ebx,1 mov ecx,START mov edx,[thread_stack] - int 0x40 + mcall jmp still @@ -75,6 +68,7 @@ still: jmp still + thread_stack dd 0x1000 @@ -87,10 +81,10 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW - mov eax,0 ; function 0 : define and draw window + xor eax,eax ; function 0 : define and draw window mov ebx,10*65536+290 ; [x start] *65536 + [x size] mov ecx,10*65536+130 ; [y start] *65536 + [y size] mov esi,[thread_stack] @@ -99,33 +93,25 @@ draw_window: shl esi,16 add ebx,esi add ecx,esi - mov edx,0x03ffffff ; color of work area RRGGBB,8->color gl - mov esi,0x808899ff ; color of grab bar RRGGBB,8->color gl - mov edi,0x008899ff ; color of frames RRGGBB - int 0x40 - - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x10ddeeff ; color of text RRGGBB - mov edx,labelt ; pointer to text beginning - mov esi,labellen-labelt ; text length - int 0x40 + mov edx,0x33ffffff ; color of work area RRGGBB,8->color gl + mov edi,title ; WINDOW LABEL + mcall + mov eax,8 ; NEW THREAD BUTTON - mov ebx,25*65536+128 - mov ecx,88*65536+20 + mov ebx,20*65536+128 + mov ecx,63*65536+20 mov edx,2 mov esi,0x90b0d0 ;0x5577cc - int 0x40 + mcall - mov ebx,25*65536+35 ; draw info text with function 4 + mov eax,4 + mov ebx,20*65536+10 ; draw info text with function 4 mov ecx,0x224466 mov edx,text mov esi,40 newline: - mov eax,4 - int 0x40 + mcall add ebx,10 add edx,40 cmp [edx],byte 'x' @@ -134,7 +120,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -143,19 +129,17 @@ draw_window: if lang eq ru text: - db 'ЭТА ПРОГРАММА СОЗДАЕТ ПОТОКИ, ЗАПУСКАЯ ' - db 'ОДИН И ТОТ ЖЕ КОД МНОГО РАЗ. НАМ НУЖНО ' - db 'ТОЛЬКО ПОЗАБОТИТЬСЯ ОБ ОТДЕЛЬНОМ СТЭКЕ ' - db 'ДЛЯ КАЖДОГО ПОТОКА. ' - db 'ПАМЯТЬ ДЛЯ ВСЕХ ПОТОКОВ ОБЩАЯ. ' + db 'Эта программа создает потоки, запуская ' + db 'один и тот же код много раз. Нам нужно ' + db 'только позаботиться об отдельном стэке ' + db 'для каждого потока. ' + db 'Память для всех потоков общая. ' db ' ' db ' СОЗДАТЬ НОВЫЙ ПОТОК ' - db 'x' ; <- END MARKER, DONT DELETE - labelt: - db 'ПРИМЕР ИСПОЛЬЗОВАНИЯ 51ой ФУНКЦИИ' - labellen: + title db 'Пример использования потоков',0 + else text: db 'THIS EXAMPLE CREATES THREADS BY RUNNING ' @@ -165,11 +149,9 @@ else db ' ' db ' ' db ' CREATE NEW THREAD ' - db 'x' ; <- END MARKER, DONT DELETE - labelt: - db 'THREAD EXAMPLE' - labellen: + title db 'THREAD EXAMPLE',0 + end if I_END: diff --git a/programs/develop/fasm/trunk/fasm.asm b/programs/develop/fasm/trunk/fasm.asm index 677533b041..baf1eed638 100644 --- a/programs/develop/fasm/trunk/fasm.asm +++ b/programs/develop/fasm/trunk/fasm.asm @@ -32,6 +32,7 @@ use32 dd params,0x0 ; parameters,icon include 'lang.inc' +include '..\..\..\macros.inc' include 'fasm.inc' center fix true @@ -90,7 +91,7 @@ red: ; Redraw still: push 10 ; Wait here for event pop eax - int 40h + mcall dec eax je red ; Redraw request dec eax @@ -98,18 +99,18 @@ still: key: ; Key mov al,2 ; Read it and ignore - int 0x40 + mcall jmp still button: ; Button in Window mov al,17 - int 0x40 + mcall cmp ah,1 jne noclose or eax,-1 - int 0x40 + mcall noclose: cmp ah,2 ; Start compiling @@ -150,13 +151,13 @@ draw_window: mov ecx,50*65536+250 mov edx,[sc.work] or edx,0x33000000 - mov edi,header ; Draw Window Label Text - int 0x40 + mov edi,title ; Draw Window Label Text + mcall mcall 9,PROCESSINFO,-1 mpack ecx,1,1 - mov ebx,[pinfo.x_size] + mov ebx,[pinfo.box.left] sub ebx,10 push ecx @@ -189,7 +190,7 @@ draw_window: madd ecx, 14,0 mcall ,,,0x4000000D ; Button: Enter Path - mpack ebx,[pinfo.x_size],MAGIC1 + mpack ebx,[pinfo.box.left],MAGIC1 msub ebx,MAGIC1+10+1,0 mpack ecx,0, 14*3/2-1 madd ecx,1,0 @@ -204,13 +205,13 @@ draw_window: mov esi,text.line_size mov eax,4 newline: - int 0x40 + mcall add ebx, 14 add edx,text.line_size cmp byte[edx],'x' jne newline - mov ebx,[pinfo.x_size] + mov ebx,[pinfo.box.left] sub ebx,MAGIC1+10+1-9 shl ebx,16 add ebx,1+( 14*3/2-1)/2-3 @@ -220,7 +221,7 @@ draw_window: mpack ebx,MAGIC1+6,0 add ebx,1+ 14/2-3+ 14*0 - mov esi,[pinfo.x_size] + mov esi,[pinfo.box.left] sub esi,MAGIC1*2+5*2+6+3 mov eax,esi mov cl,6 @@ -246,16 +247,16 @@ bottom_right dd ? draw_messages: mov eax,13 ; clear work area - mpack ebx,7-2,[pinfo.x_size] + mpack ebx,7-2,[pinfo.box.left] sub ebx,5*2+7*2-1-2*2 - mpack ecx,0,[pinfo.y_size] + mpack ecx,0,[pinfo.box.top] madd ecx, 14*3+1+7+1,-( 14*3+1+7*2+25) mov word[bottom_right+2],bx mov word[bottom_right],cx msub [bottom_right],7,11 add [bottom_right],7 shl 16 + 53 mov edx,[sc.work] - int 0x40 + mcall _cy = 0 _sy = 2 _cx = 4 @@ -360,7 +361,7 @@ f11:mcall 10 print_text: - mpack ebx,MAGIC1+6,[pinfo.x_size] + mpack ebx,MAGIC1+6,[pinfo.box.left] sub ebx,MAGIC1*2+19 movzx esi,bx mov ecx,[ya-2] @@ -487,7 +488,7 @@ start: mov eax,70 mov ebx,file_info_start xor ecx,ecx - int 0x40 + mcall @@: jmp exit_program @@ -503,7 +504,7 @@ include 'formats.inc' include 'x86_64.inc' include 'tables.inc' -header db appname,VERSION_STRING,0 +title db appname,VERSION_STRING,0 _logo db 'flat assembler version ',VERSION_STRING,13,10,0 diff --git a/programs/develop/fasm/trunk/fasm.inc b/programs/develop/fasm/trunk/fasm.inc index a5c3875090..66dab4eee1 100644 --- a/programs/develop/fasm/trunk/fasm.inc +++ b/programs/develop/fasm/trunk/fasm.inc @@ -18,64 +18,6 @@ macro draw_caption _edx,_esi { call __draw_caption } -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - -macro sz name,[data] { - if used name - common - label name - forward - db data - common - .size = $-name - end if -} - -macro lsz name,[lng,data] { - if used name - common - label name - forward - if lang eq lng - db data - end if - common - .size = $-name - end if -} - macro mmov reg,a1,a2 { mov reg,(a1) shl 16 + (a2) } @@ -109,39 +51,3 @@ macro endf { @^ fix macro comment { ^@ fix } - -; structure definition helper - -;include '%fasminc%struct.inc' -include 'struct.inc' - -; structures used in MeOS -struct process_information - cpu_usage dd ? ; +0 - window_stack_position dw ? ; +4 - window_stack_value dw ? ; +6 - not_used1 dw ? ; +8 - process_name db 12 dup(?) ; +10 - memory_start dd ? ; +22 - used_memory dd ? ; +26 - PID dd ? ; +30 - x_start dd ? ; +34 - y_start dd ? ; +38 - x_size dd ? ; +42 - y_size dd ? ; +46 - slot_state dw ? ; +50 - not_used2 db 1024-52 dup(?) -ends - -struct system_colors - frame dd ? - grab dd ? - grab_button dd ? - grab_button_text dd ? - grab_text dd ? - work dd ? - work_button dd ? - work_button_text dd ? - work_text dd ? - work_graph dd ? -ends diff --git a/programs/develop/fasm/trunk/system.inc b/programs/develop/fasm/trunk/system.inc index 73512877b5..8022391a5b 100644 --- a/programs/develop/fasm/trunk/system.inc +++ b/programs/develop/fasm/trunk/system.inc @@ -63,7 +63,7 @@ exit_program: cmp [_mode],NORMAL_MODE je still or eax,-1 - int 0x40 + mcall make_timestamp: push ebx @@ -144,7 +144,7 @@ open: mov dword [ebx+16], fileinfo mov eax, 70 push ebx - int 0x40 + mcall pop ebx test eax, eax jnz .fail @@ -172,7 +172,7 @@ read: mov [ebx+16], edx push ebx mov eax, 70 - int 0x40 + mcall xchg eax, [esp] add [eax+4], ebx adc [eax+8], dword 0 @@ -201,7 +201,7 @@ write: ; mov [filesize],edx ; mov eax,58 ; mov ebx,file_info_write -; int 0x40 +; mcall ; popa ; ret @@ -209,7 +209,7 @@ write: mov [ebx+16], edx push ebx mov eax, 70 - int 0x40 + mcall xchg eax, [esp] add [eax+4], ebx adc [eax+8], dword 0 @@ -344,7 +344,7 @@ dc1: mov eax,63 mov ebx,1 mov cl,dl - int 0x40 + mcall popa ret diff --git a/programs/develop/h2d2b/trunk/build_en.bat b/programs/develop/h2d2b/trunk/build_en.bat index 78bc177eb7..aa979a4b2b 100644 --- a/programs/develop/h2d2b/trunk/build_en.bat +++ b/programs/develop/h2d2b/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm h2d2b.asm h2d2b +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/h2d2b/trunk/build_ru.bat b/programs/develop/h2d2b/trunk/build_ru.bat index 933a8684e2..5903faaf8d 100644 --- a/programs/develop/h2d2b/trunk/build_ru.bat +++ b/programs/develop/h2d2b/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm h2d2b.asm h2d2b +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/h2d2b/trunk/h2d2b.asm b/programs/develop/h2d2b/trunk/h2d2b.asm index b526ff2aa2..dbcef361c2 100644 --- a/programs/develop/h2d2b/trunk/h2d2b.asm +++ b/programs/develop/h2d2b/trunk/h2d2b.asm @@ -13,7 +13,7 @@ dd 0x0 ; рфЁхё сєЇхЁр фы  ярЁрьхЄЁют (эх шёяюы№чєхЄё ) dd 0x0 ; чрЁхчхЁтшЁютрэю -include 'MACROS.INC' ; ьръЁюё√ юсыхуўр■Є цшчэ№ рёёхьсыхЁ∙шъют! +include '..\..\..\MACROS.INC' ; ьръЁюё√ юсыхуўр■Є цшчэ№ рёёхьсыхЁ∙шъют! START: @@ -37,7 +37,7 @@ still: key: ; эрцрЄр ъыртш°р эр ъыртшрЄєЁх mov eax, 2 - int 0x40 + mcall mov edi, [index] cmp edi, string1 jz no_back @@ -147,7 +147,7 @@ next_digit: draw_window: ;------------------------------------------------ mcall 12, 1 - mcall 0, 200*65536+300, 200*65536+175, 0x13AABBCC,,header + mcall 0, 200*65536+300, 200*65536+175, 0x13AABBCC,,title mcall 8, 15 *65536+ 38, 90*65536+ 15, 2, 0x6688DD ; ъэюяър shl mcall , ,110*65536+ 15, , ; ъэюяър sal @@ -239,7 +239,7 @@ string1_end: num dd 0 - header db 'hex2dec2bin 0.2',0 + title db 'hex2dec2bin 0.2',0 minus db '-' numstr db 'Number:',0 hexstr db 'hex:',0 diff --git a/programs/develop/h2d2b/trunk/macros.inc b/programs/develop/h2d2b/trunk/macros.inc deleted file mode 100644 index d45b69e6e3..0000000000 --- a/programs/develop/h2d2b/trunk/macros.inc +++ /dev/null @@ -1,265 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a { ; mike.dld - if ~a eq - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/heed/trunk/build_en.bat b/programs/develop/heed/trunk/build_en.bat index a19351cd5c..2c26072794 100644 --- a/programs/develop/heed/trunk/build_en.bat +++ b/programs/develop/heed/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm heed.asm heed +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/heed/trunk/build_ru.bat b/programs/develop/heed/trunk/build_ru.bat index 1d3a68f13c..02b5b3701f 100644 --- a/programs/develop/heed/trunk/build_ru.bat +++ b/programs/develop/heed/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm heed.asm heed +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/heed/trunk/heed.asm b/programs/develop/heed/trunk/heed.asm index e51ddd55c0..79480a5aff 100644 --- a/programs/develop/heed/trunk/heed.asm +++ b/programs/develop/heed/trunk/heed.asm @@ -23,21 +23,23 @@ KEY_ENDBOTTOM equ 253 ;Ctrl + ']' dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' - include 'macros.inc' + include '..\..\..\macros.inc' START: ; start of execution mov eax,40 mov ebx,100111b ;event mouse - int 0x40 + mcall mov dword [process_info+42],540 mov dword [process_info+46],414 + +red: call draw_window still: mov eax,10 ; wait here for event - int 0x40 + mcall dec al ; redraw request ? je red dec al ; key in buffer ? @@ -48,20 +50,17 @@ still: mouse: mov eax,37 mov ebx,2 - int 0x40 + mcall or eax,eax jz still cmp [menu_opened],1 jne still mov [menu_opened],0 - red: ; redraw - call redraw_window - jmp still key: ; key mov eax,2 - int 0x40 + mcall ; test al,al ; jnz still cmp ah,KEY_ESC @@ -230,18 +229,18 @@ still: or edx,edi mov eax,47 add edx,8 - int 0x40 + mcall call redraw_window jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall dec ah ;close programm button jne @f close: mov eax,-1 ; close this program - int 0x40 + mcall @@: dec ah jne @f @@ -383,7 +382,7 @@ still: xor ecx,ecx or edx,-1 mov esi,0x10000 - int 0x40 + mcall inc [o_s_flag] mov [sizefile],eax jmp end_Go @@ -395,7 +394,7 @@ still: xor esi,esi dec edx mov eax,33 - int 0x40 + mcall end_Go: call CtrlHome jmp still @@ -646,7 +645,7 @@ output_screen: sub edx,0x10 mov esi,0x10 mov eax,4 - int 0x40 + mcall pop eax pop ecx loop @b @@ -668,7 +667,7 @@ form_str: add edx,[esp+0x24] ;начало по У mov esi,0x00ffffff ;цвет mov eax,47 ;вывести число - int 0x40 + mcall add edx,0x600000 ;0x40 - 8chars + 0x20 - space mov ebx,0x20100 ;2 цифры, 16-ричные, число в ecx @@: @@ -677,7 +676,7 @@ form_str: and ecx,0xff cmp edi,0x11 jz endstr - int 0x40 + mcall add edx,0x100000 jmp @b endstr: @@ -695,12 +694,12 @@ draw_cursor: mov ecx,[esp+0x24] mov edx,[color] mov eax,13 - int 0x40 + mcall movzx edi,[o_s_flag] and edi,8 jnz @f add ebx,[text_cursor] - int 0x40 + mcall @@: popad ret 4 @@ -731,13 +730,13 @@ menufile: mov ecx,[sc.work_button_text] or ecx,0x10000000 sub eax,4 - int 0x40 + mcall add ebx,0x0c ;next full base text add edx,4 ;next string - int 0x40 + mcall add ebx,0x0c add edx,4 - int 0x40 + mcall ret menucoding: @@ -759,7 +758,7 @@ menucoding: or ecx,0x10000000 sub eax,4 @@: - int 0x40 + mcall add ebx,0x0c add edx,8 ;next string dec edi @@ -782,11 +781,11 @@ menuhelp: mov ecx,[sc.work_button_text] or ecx,0x10000000 sub eax,4 - int 0x40 + mcall add ebx,0x0c inc esi ;add lebgth output text add edx,4 - int 0x40 + mcall ret f1:;uses for drawing low-level menu buttons @@ -798,7 +797,7 @@ f1:;uses for drawing low-level menu buttons push ecx ;for output text @@: add ecx,0xc0000 - int 0x40 + mcall inc edx ;id dec edi ;counter jnz @b @@ -819,7 +818,7 @@ debug: mov edx,0x10000a0 mov eax,47 mov esi,0x00ffffff - int 0x40 + mcall popad ret 4 @@ -833,11 +832,11 @@ draw_window: mov ebx,3 mov ecx,sc mov edx,sizeof.system_colors - int 0x40 + mcall mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window ; [x start] *65536 + [x size] @@ -845,7 +844,7 @@ draw_window: ; [y start] *65536 + [y size] mov ecx,[process_info+46] mov edx,0x03000000 ; color of work area RRGGBB,8->color gl - int 0x40 + mcall ; WINDOW LABEL mov eax,4 ; function 4 : write text to window mov ebx,8*65536+8 ; [x start] *65536 + [y start] @@ -853,7 +852,7 @@ draw_window: or ecx,0x10000000 ; font 1 & color ( 0xF0RRGGBB ) mov edx,labelt ; pointer to text beginning mov esi,labellen-labelt ; text length - int 0x40 + mcall ;check for only header window output cmp dword [process_info+46],25 jle minimaze_view @@ -873,7 +872,7 @@ draw_window: shl ecx,0x10 mov eax,13 add ecx,0x10 - int 0x40 + mcall ;MENU BUTTONS ;now in hi-half ecx register begin Y-coord. menu area ;in hi-half ebx begin X-coord. @@ -888,18 +887,18 @@ draw_window: mov [xf_menu],ebx;for low-level menus func. mov eax,8 push ebx ;for output buttons texts - int 0x40 + mcall ;registers is't change ;menu 'Coding' add ebx,0x290018 ;80x12 inc edx ;menu 'coding' id = 3 mov [xe_menu],ebx;for low-level menus func. - int 0x40 + mcall ;menu 'Help' add ebx,0x40ffe8 ;+0x280000 - 0x28, 40x12 inc edx ;menu 'Help' id = 4 mov [xh_menu],ebx;for low-level menus func. - int 0x40 + mcall ;MENU BUTTONS TEXTS ;'File' pop ebx @@ -914,7 +913,7 @@ draw_window: mov ecx,[sc.work_button_text] or ecx,0x10000000 ; font 1 & color ( 0xF0RRGGBB ) push esi ;for 'Help' menu text - int 0x40 + mcall ;'coding' ;registers is't change add ebx,0x2d0000 @@ -922,14 +921,14 @@ draw_window: add esi,2 ; mov edx,e_menu add edx,4 - int 0x40 + mcall ;'Help' add ebx,0x3b0000 ; mov esi,4 pop esi ; mov edx,h_menu add edx,6 - int 0x40 + mcall ;LOW_LEVEL MENU ;for every hi-level menu exists one procedure ;in begin programm they are not calls, @@ -951,7 +950,7 @@ draw_window: shl ecx,16 ;y start mov eax,13 add ecx,20 - int 0x40 + mcall ;filename input area ; mov ecx,[process_info+46] @@ -966,7 +965,7 @@ draw_window: add ecx,16 mov eax,13 push ecx ;for button 'Go' - int 0x40 + mcall ;button 'Go', press in case open/save if filename input complete ;button size = 24x16 @@ -976,7 +975,7 @@ draw_window: dec ecx mov edx,0xff ;id mov esi,[sc.work_button] - int 0x40 + mcall shr ecx,0x10 and ebx,0xffff0000 add ecx,0x50004 @@ -986,7 +985,7 @@ draw_window: mov ecx,[sc.work_button_text] or ecx,0x10000000 sub eax,4 - int 0x40 + mcall ;where output cursor? mov al,[o_s_flag] @@ -1011,7 +1010,7 @@ draw_window: add ebx,eax movzx esi,[name_l] mov eax,4 - int 0x40 + mcall ;info strings ; sizefile text @@ -1024,13 +1023,13 @@ draw_window: mov edx,sizestr ; pointer to text beginning mov eax,4 mov esi,5 - int 0x40 + mcall add ebx,0x00530000 inc esi ; mov edx,offst add edx,5 inc esi - int 0x40 + mcall ;sizefile mov ecx,[sizefile] mov edx,ebx @@ -1038,10 +1037,10 @@ draw_window: sub edx,0x00350000 mov eax,47 mov ebx,0x80100 - int 0x40 + mcall mov ecx,[current] add edx,0x005f0000 - int 0x40 + mcall push [text_cursor] ;это позиция курсора в текстовой строке call draw_cursor @@ -1052,7 +1051,7 @@ draw_window: minimaze_view: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall popad ret @@ -1066,7 +1065,7 @@ get_process_info: mov ebx,process_info xor ecx,ecx dec ecx - int 0x40 + mcall popad ret @@ -1104,7 +1103,7 @@ create_process: mov ecx,[esp+0x24] inc ebx mov edx,0x7E000 ;0x1000 - int 0x40 + mcall popad ret 4 @@ -1112,7 +1111,7 @@ help_thread: call help_window help_still: mov eax,10 - int 0x40 + mcall dec eax jz help_red dec eax @@ -1126,35 +1125,35 @@ help_thread: help_key: inc eax inc eax - int 0x40 + mcall jmp help_still help_button: mov eax,17 - int 0x40 + mcall dec ah jne help_still shr eax,8 dec eax - int 0x40 + mcall help_window: pushad mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,0x500140 ; [x start] *65536 + [x size] mov ecx,0x700110 ; [y start] *65536 + [y size] mov edx,0x03000000 ; color of work area RRGGBB,8->color gl - int 0x40 + mcall ; WINDOW LABEL mov eax,4 ; function 4 : write text to window mov ebx,8*65536+8 ; [x start] *65536 + [y start] mov ecx,0x10ffffff ; font 1 & color ( 0xF0RRGGBB ) mov edx,help_label ; pointer to text beginning mov esi,14 ; text length - int 0x40 + mcall ; HELP TEXT add edx,14 ;help_text addr. add esi,37 ; = 51 - length 1 line @@ -1162,7 +1161,7 @@ help_window: mov edi,(help_end-help_text)/51 @@: add ebx,0x10 - int 0x40 + mcall add edx,51 dec edi jnz @b @@ -1170,7 +1169,7 @@ help_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall popad ret @@ -1178,7 +1177,7 @@ about_thread: call about_window about_still: mov eax,10 - int 0x40 + mcall dec eax jz about_red dec eax @@ -1192,28 +1191,28 @@ about_thread: about_key: inc eax inc eax - int 0x40 + mcall jmp about_still about_button: mov eax,17 - int 0x40 + mcall dec ah jne about_still shr eax,8 dec eax - int 0x40 + mcall about_window: pushad mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,0x500140 ; [x start] *65536 + [x size] mov ecx,0x700110 ; [y start] *65536 + [y size] mov edx,0x03000000 ; color of work area RRGGBB,8->color gl - int 0x40 + mcall ; WINDOW LABEL mov eax,4 ; function 4 : write text to window mov ebx,8*65536+8 ; [x start] *65536 + [y start] @@ -1221,7 +1220,7 @@ about_window: or ecx,0x10000000 ; font 1 & color ( 0xF0RRGGBB ) mov edx,about_label ; pointer to text beginning mov esi,17 ; text length - int 0x40 + mcall ; ABOUT TEXT add edx,17 ;about_text addr. add esi,34 ; = 51 - length 1 line @@ -1229,14 +1228,14 @@ about_window: mov edi,15 @@: add ebx,0x10 - int 0x40 + mcall add edx,51 dec edi jnz @b mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall popad ret diff --git a/programs/develop/heed/trunk/macros.inc b/programs/develop/heed/trunk/macros.inc deleted file mode 100644 index d45b69e6e3..0000000000 --- a/programs/develop/heed/trunk/macros.inc +++ /dev/null @@ -1,265 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a { ; mike.dld - if ~a eq - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/hexview/trunk/build_en.bat b/programs/develop/hexview/trunk/build_en.bat index b3b9d04c0f..d3bd8bc070 100644 --- a/programs/develop/hexview/trunk/build_en.bat +++ b/programs/develop/hexview/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm hexview.asm hexview +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/hexview/trunk/build_ru.bat b/programs/develop/hexview/trunk/build_ru.bat index 07dbc6a17b..6bca8d7865 100644 --- a/programs/develop/hexview/trunk/build_ru.bat +++ b/programs/develop/hexview/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm hexview.asm hexview +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/hexview/trunk/hexview.asm b/programs/develop/hexview/trunk/hexview.asm index 6f48dd312e..72b9212304 100644 --- a/programs/develop/hexview/trunk/hexview.asm +++ b/programs/develop/hexview/trunk/hexview.asm @@ -17,7 +17,7 @@ use32 dd 0x00000000 ; reserved=no extended header include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' begin dd 0 @@ -31,7 +31,7 @@ red: still: mov eax,10 ; wait here for event - int 0x40 + mcall dec eax ; redraw request ? je red @@ -48,12 +48,12 @@ still: key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,3 jne no_up @@ -72,9 +72,8 @@ still: dec ah ; button id=1 ? jne still - xor eax,eax ; close this program - dec eax - int 0x40 + or eax,-1 ; close this program + mcall ; ********************************************* @@ -86,40 +85,32 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW xor eax,eax ; function 0 : define and draw window mov ebx,100*65536+400 ; [x start] *65536 + [x size] mov ecx,100*65536+270 ; [y start] *65536 + [y size] - mov edx,0x03224466 ; color of work area RRGGBB,8->c - mov esi,0x006688aa ; color of grab bar RRGGBB,8->color gl - mov edi,0x00ffffff ; color of frames RRGGBB - int 0x40 - - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x00ffffff ; color of text RRGGBB - mov edx,labelt ; pointer to text beginning - mov esi,labellen-labelt ; text length - int 0x40 + mov edx,0x13224466 ; color of work area RRGGBB,8->c + mov edi,title ; WINDOW LABEL + mcall + mov eax,8 mov ebx,280*65536+16*6 mov ecx,240*65536+14 mov edx,2 mov esi,0x5599cc - int 0x40 + mcall mov ebx,15*65536+125 inc edx - int 0x40 + mcall add ebx,127*65536 inc edx - int 0x40 + mcall mov eax,4 @@ -127,7 +118,7 @@ draw_window: mov ecx,0xffffff mov edx,buttons mov esi,blen-buttons - int 0x40 + mcall mov ebx,280*65536+35 ; draw info text with function 4 @@ -156,7 +147,7 @@ push edi ; mov ebx,0x00020101 ; mov esi,0xffff00 - int 0x40 + mcall add edx,16*65536 inc ecx @@ -171,7 +162,7 @@ pop ebx mov eax,4 ; text mov esi,16 mov ecx,0xffffff - int 0x40 + mcall add ebx,12 add edx,16 dec edi @@ -179,7 +170,7 @@ pop ebx mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -197,7 +188,7 @@ open_file: xor ecx,ecx mov edx,-1 mov esi,text - int 0x40 + mcall popa @@ -207,8 +198,7 @@ open_file: ; DATA AREA -labelt: db 'HEXVIEW' -labellen: +title db 'HEXVIEW',0 buttons db ' UP DOWN' db ' EXAMPLE ' diff --git a/programs/develop/hexview/trunk/macros.inc b/programs/develop/hexview/trunk/macros.inc deleted file mode 100644 index d45b69e6e3..0000000000 --- a/programs/develop/hexview/trunk/macros.inc +++ /dev/null @@ -1,265 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a { ; mike.dld - if ~a eq - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/keyascii/trunk/build_en.bat b/programs/develop/keyascii/trunk/build_en.bat index 551333f57b..a652e78084 100644 --- a/programs/develop/keyascii/trunk/build_en.bat +++ b/programs/develop/keyascii/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm keyascii.asm keyascii +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/keyascii/trunk/build_ru.bat b/programs/develop/keyascii/trunk/build_ru.bat index ec7943c10b..22a28ed459 100644 --- a/programs/develop/keyascii/trunk/build_ru.bat +++ b/programs/develop/keyascii/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm keyascii.asm keyascii +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/keyascii/trunk/keyascii.asm b/programs/develop/keyascii/trunk/keyascii.asm index 31a96d8dd9..7c6b3fd486 100644 --- a/programs/develop/keyascii/trunk/keyascii.asm +++ b/programs/develop/keyascii/trunk/keyascii.asm @@ -15,7 +15,7 @@ use32 dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' START: ; start of execution red: @@ -24,7 +24,7 @@ START: ; start of execution still: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -37,20 +37,20 @@ still: key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall mov [keyid],ah call draw_window jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose or eax,-1 ; close this program - int 0x40 + mcall noclose: jmp still @@ -68,39 +68,39 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+270 ; [x start] *65536 + [x size] mov ecx,100*65536+80 ; [y start] *65536 + [y size] mov edx,0x33ffffff ; color of work area RRGGBB,8->color gl - mov edi,header - int 0x40 + mov edi,title + mcall mov eax,4 ; function 4 : write text to window xor ecx,ecx mov esi,4 mov ebx,8*65536+8 mov edx,tdec - int 0x40 + mcall add ebx,23 mov edx,thex - int 0x40 + mcall mov ecx,[keyid] mov eax,47 mov ebx,3*65536 mov edx,40*65536+8 mov esi,0x224466 - int 0x40 + mcall add edx,23 mov bh,1 - int 0x40 + mcall mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -109,7 +109,7 @@ draw_window: tdec: db 'DEC:' thex: db 'HEX:' - header db 'KEYBOARD ASCIICODES-PRESS ANY KEY',0 + title db 'KEYBOARD ASCIICODES-PRESS ANY KEY',0 keyid: db 0 I_END: diff --git a/programs/develop/keyascii/trunk/macros.inc b/programs/develop/keyascii/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/develop/keyascii/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/mtdbg/mtdbg.asm b/programs/develop/mtdbg/mtdbg.asm index 8747c087af..92f1d28397 100644 --- a/programs/develop/mtdbg/mtdbg.asm +++ b/programs/develop/mtdbg/mtdbg.asm @@ -1,4 +1,5 @@ format binary +include '..\..\macros.inc' use32 db 'MENUET01' dd 1 @@ -67,14 +68,14 @@ start: push 40 pop eax mov ebx, 0x107 - int 40h + mcall ; set debug messages buffer mov ecx, dbgbufsize mov dword [ecx], 256 xor ebx, ebx mov [ecx+4], ebx mov al, 69 - int 40h + mcall mov esi, i_param call skip_spaces test al, al @@ -89,7 +90,7 @@ dodraw: waitevent: push 10 pop eax - int 40h + mcall cmp al, 9 jz debugmsg dec eax @@ -101,10 +102,10 @@ waitevent: ; button pressed - we have only one button (close) push -1 pop eax - int 40h + mcall keypressed: mov al, 2 - int 40h + mcall shr eax, 8 cmp al, 8 jz .backspace @@ -334,7 +335,7 @@ clear_cmdline_end: or ebx, ecx mov ecx, cmdline_y_pos*10000h + cmdline_y_size mov edx, 0xFFFFFF - int 40h + mcall ret draw_cmdline: @@ -353,7 +354,7 @@ draw_cmdline_end: add ebx, cmdline_x_pos shl ebx, 16 or ebx, cmdline_y_pos+1 - int 40h + mcall ret put_message_nodraw: @@ -449,7 +450,7 @@ draw_messages: mov edx, 0xFFFFFF mov ebx, messages_x_pos*10000h+messages_x_size mov ecx, messages_y_pos*10000h+messages_y_size - int 40h + mcall mov edx, messages push messages_width pop esi @@ -457,7 +458,7 @@ draw_messages: mov al, 4 mov ebx, messages_x_pos*10000h+messages_y_pos @@: - int 40h + mcall add edx, esi add ebx, 10 cmp edx, messages+messages_width*messages_height @@ -475,7 +476,7 @@ draw_cursor: shl ebx, 16 or ebx, edx xor edx, edx - int 40h + mcall ret hide_cursor: mov ebx, [cmdline_pos] @@ -487,7 +488,7 @@ hide_cursor: inc ebx mov ecx, cmdline_y_pos*10000h + cmdline_y_size mov edx, 0xFFFFFF - int 40h + mcall mov ebx, [cmdline_pos] cmp ebx, [cmdline_len] jae .ret @@ -500,7 +501,7 @@ hide_cursor: or ebx, cmdline_y_pos+1 push 1 pop esi - int 40h + mcall .ret: ret @@ -510,13 +511,13 @@ redraw_title: mov edx, 0xFFFFFF mov ebx, title_x_pos*10000h + data_x_pos+data_x_size-title_x_pos mov ecx, title_y_pos*10000h + title_y_size - int 40h + mcall draw_title: mov al, 38 mov ebx, (data_x_pos-2)*10000h + title_x_pos-5 mov ecx, (title_y_pos+5)*10001h xor edx, edx - int 40h + mcall push NoPrgLoaded_len pop esi cmp [debuggee_pid], 0 @@ -530,9 +531,9 @@ draw_title: jz @f add ebx, 6 @@: - int 40h + mcall mov ebx, (data_x_pos+data_x_size-10+4)*0x10000 + data_x_pos+data_x_size+2 - int 40h + mcall mov al, 4 mov ebx, title_x_pos*10000h+title_y_pos xor ecx, ecx @@ -541,7 +542,7 @@ draw_title: jz @f mov edx, [prgname_ptr] @@: - int 40h + mcall cmp [debuggee_pid], 0 jz .nodebuggee mov ebx, (data_x_pos+data_x_size-10-6*7)*10000h + title_y_pos @@ -554,7 +555,7 @@ draw_title: mov edx, aPaused dec esi @@: - int 40h + mcall ret .nodebuggee: mov al, 38 @@ -584,14 +585,14 @@ draw_register: .cd: push 4 pop eax - int 40h + mcall imul esi, 60000h lea edx, [ebx+esi] mov al, 47 mov ebx, 80101h mov esi, ecx pop ecx - int 40h + mcall lea ebx, [edx+60000h*18] mov esi, ecx pop ecx @@ -622,7 +623,7 @@ draw_flag: mov ecx, 0x00AA00 .doit: mov ah, 0 - int 40h + mcall ret redraw_registers: @@ -631,7 +632,7 @@ redraw_registers: mov edx, 0xFFFFFF mov ebx, data_x_pos*10000h + data_x_size mov ecx, registers_y_pos*10000h + registers_y_size - int 40h + mcall draw_registers: mov esi, _eax push 4 @@ -672,7 +673,7 @@ draw_registers: xor esi, esi inc esi mov ebx, (registers_x_pos+37*6)*10000h + registers_y_pos+20 - int 40h + mcall mov edx, flags @@: add ebx, 2*6*10000h @@ -688,7 +689,7 @@ redraw_dump: mov edx, 0xFFFFFF mov ebx, data_x_pos*10000h + data_x_size mov ecx, dump_y_pos*10000h + dump_y_size - int 40h + mcall draw_dump: ; addresses mov al, 47 @@ -702,7 +703,7 @@ draw_dump: jz @f xor esi, esi @@: - int 40h + mcall add ecx, 10h add edx, 10 cmp dl, dump_y_pos + dump_y_size @@ -716,7 +717,7 @@ draw_dump: cmp [dumpread], edi jz .hexdumpdone1 .hexdumploop1: - int 40h + mcall add edx, 3*6*10000h inc ecx inc edi @@ -740,7 +741,7 @@ draw_dump: .hexdumploop2: cmp edi, dump_height*10h jae .hexdumpdone2 - int 40h + mcall add ebx, 3*6*10000h inc edi test edi, 15 @@ -757,14 +758,14 @@ draw_dump: mov ebx, (data_x_pos+8*6)*10000h + dump_y_pos mov edx, aColon @@: - int 40h + mcall add ebx, 10 cmp bl, dump_y_pos+dump_height*10 jb @b mov ebx, (data_x_pos+(12+3*8)*6)*10000h + dump_y_pos mov edx, aMinus @@: - int 40h + mcall add ebx, 10 cmp bl, dump_y_pos+dump_height*10 jb @b @@ -778,7 +779,7 @@ draw_dump: jae @f mov edx, aPoint @@: - int 40h + mcall pop edx inc edx add ebx, 6*10000h @@ -797,7 +798,7 @@ redraw_disasm: mov edx, 0xFFFFFF mov ebx, data_x_pos*10000h + data_x_size mov ecx, (disasm_y_pos-1)*10000h + (disasm_y_size+1) - int 40h + mcall draw_disasm: mov eax, [disasm_start_pos] mov [disasm_cur_pos], eax @@ -820,7 +821,7 @@ draw_disasm: push 13 pop eax mov edx, 0xFF0000 - int 40h + mcall .nored: mov eax, [_eip] cmp eax, ebp @@ -828,7 +829,7 @@ draw_disasm: push 13 pop eax mov edx, 0x0000FF - int 40h + mcall mov esi, 0xFFFFFF ; on blue bgr, use white color .noblue: push 47 @@ -838,14 +839,14 @@ draw_disasm: imul edx, 10 add edx, data_x_pos*10000h + disasm_y_pos mov ecx, ebp - int 40h + mcall mov al, 4 lea ebx, [edx+8*6*10000h] mov ecx, esi push 1 pop esi mov edx, aColon - int 40h + mcall push 9 pop edi lea edx, [ebx+2*6*10000h] @@ -856,7 +857,7 @@ draw_disasm: sub ecx, [disasm_start_pos] add ecx, disasm_buffer .drawhex: - int 40h + mcall add edx, 6*3*10000h inc ecx inc ebp @@ -876,7 +877,7 @@ draw_disasm: push 3 pop esi mov edx, aDots - int 40h + mcall mov esi, ecx .hexdone: xor eax, eax @@ -891,7 +892,7 @@ draw_disasm: imul ebx, 10 add ebx, (data_x_pos+6*40)*10000h+disasm_y_pos mov al, 4 - int 40h + mcall inc [disasm_cur_str] cmp [disasm_cur_str], disasm_height jb .loop @@ -927,7 +928,7 @@ update_disasm: mov edi, disasm_buffer mov edx, 256 mov esi, [disasm_start_pos] - int 40h + mcall cmp eax, -1 jnz @f mov esi, read_mem_err @@ -945,13 +946,13 @@ draw_window: pop eax push 1 pop ebx - int 40h + mcall ; define window xor eax, eax mov ebx, wnd_x_size mov ecx, wnd_y_size mov edx, 3FFFFFFh - int 40h + mcall ; caption mov al, 4 mov ecx, 0xFFFFFF @@ -959,34 +960,34 @@ draw_window: mov edx, caption_str push caption_len pop esi - int 40h + mcall ; messages frame mov al, 38 mov ebx, (messages_x_pos-2)*10000h + (messages_x_pos+messages_x_size+2) push ebx mov ecx, (messages_y_pos-2)*10001h xor edx, edx - int 40h + mcall mov ecx, (messages_y_pos+messages_y_size+2)*10001h - int 40h + mcall mov ebx, (messages_x_pos-2)*10001h push ebx mov ecx, (messages_y_pos-2)*10000h + (messages_y_pos+messages_y_size+2) - int 40h + mcall mov ebx, (messages_x_pos+messages_x_size+2)*10001h push ebx - int 40h + mcall ; command line frame mov ecx, (cmdline_y_pos-2)*10000h + (cmdline_y_pos+cmdline_y_size+2) pop ebx - int 40h + mcall pop ebx - int 40h + mcall pop ebx mov ecx, (cmdline_y_pos+cmdline_y_size+2)*10001h - int 40h + mcall mov ecx, (cmdline_y_pos-2)*10001h - int 40h + mcall ; messages call draw_messages ; command line & cursor @@ -996,14 +997,14 @@ draw_window: mov al, 38 mov ebx, (data_x_pos-2)*10001h mov ecx, (title_y_pos+5)*10000h + (messages_y_pos-2) - int 40h + mcall mov ebx, (data_x_pos+data_x_size+2)*10001h - int 40h + mcall mov ebx, (data_x_pos-2)*10000h + (data_x_pos+data_x_size+2) mov ecx, (dump_y_pos-3)*10001h - int 40h + mcall mov ecx, (disasm_y_pos-4)*10001h - int 40h + mcall call draw_title call draw_registers call draw_dump @@ -1012,7 +1013,7 @@ draw_window: mov al, 12 push 2 pop ebx - int 40h + mcall ret ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -1037,7 +1038,7 @@ OnHelp: OnQuit: xor eax, eax dec eax - int 40h + mcall get_new_context: mov esi, context @@ -1053,7 +1054,7 @@ get_context: mov esi, context push 28h pop edx - int 40h + mcall ret set_context: push 2 @@ -1064,7 +1065,7 @@ set_context: mov esi, context push 28h pop edx - int 40h + mcall ret get_dump: @@ -1080,7 +1081,7 @@ get_dump: mov al, 69 push 6 pop ebx - int 40h + mcall cmp eax, -1 jnz @f mov esi, read_mem_err @@ -1141,13 +1142,13 @@ do_reload: pop eax push 7 pop ebx - int 40h + mcall mov [dbgwnd], eax xchg ecx, eax push 70 pop eax mov ebx, fn70_load_block - int 40h + mcall test eax, eax jns .load_ok .load_err: @@ -1180,7 +1181,7 @@ do_reload: mov bl, 3 push 18 pop eax - int 40h + mcall call redraw_title call redraw_registers call get_dump @@ -1273,24 +1274,24 @@ do_reload: pop eax push 7 pop ebx - int 40h + mcall .wait: push 10 pop eax - int 40h + mcall dec eax jz .redraw dec eax jz .key or eax, -1 - int 40h + mcall .redraw: call draw_window call hide_cursor jmp .wait .key: mov al, 2 - int 40h + mcall cmp ah, 'y' jz .yes cmp ah, 'Y' @@ -1305,7 +1306,7 @@ do_reload: push 40 pop eax mov ebx, 0x107 - int 40h + mcall call draw_cursor mov esi, aN_str jmp put_message @@ -1313,7 +1314,7 @@ do_reload: push 40 pop eax mov ebx, 0x107 - int 40h + mcall call draw_cursor mov esi, aY_str call put_message @@ -1402,7 +1403,7 @@ OnTerminate: pop ebx push 69 pop eax - int 40h + mcall ret AfterSuspend: @@ -1421,7 +1422,7 @@ OnSuspend: pop ebx push 69 pop eax - int 40h + mcall call AfterSuspend mov esi, aSuspended jmp put_message @@ -1431,7 +1432,7 @@ DoResume: pop ebx push 69 pop eax - int 40h + mcall mov [bSuspended], 0 ret OnResume: @@ -1481,7 +1482,7 @@ OnDetach: pop ebx push 69 pop eax - int 40h + mcall and [debuggee_pid], 0 call redraw_title call redraw_registers @@ -1620,7 +1621,7 @@ exception: mov esi, [_eip] push 1 pop edx - int 40h + mcall pop eax cmp al, 0xCC jnz .notdbg @@ -1657,7 +1658,7 @@ exception: push 3 pop ebx mov ecx, [dbgwnd] - int 40h ; activate dbg window + mcall ; activate dbg window call redraw_title call redraw_registers call redraw_dump @@ -1713,7 +1714,7 @@ OnStep: pop edx mov edi, esp mov esi, [_eip] - int 40h + mcall cmp eax, edx pop eax jnz .doit @@ -1850,7 +1851,7 @@ get_byte_nobreak: push edx inc edx mov edi, esp - int 40h + mcall dec eax clc jz @f @@ -2338,7 +2339,7 @@ DoBpm: mov esi, ebp push 9 pop ebx - int 40h + mcall test eax, eax jz .ok pop ecx @@ -2570,7 +2571,7 @@ disable_breakpoint: xor edx, edx inc edx mov esi, [edi-5] - int 40h + mcall pop esi .ret: ret @@ -2583,7 +2584,7 @@ disable_breakpoint: push 9 pop ebx mov ecx, [debuggee_pid] - int 40h + mcall ret enable_breakpoint: @@ -2607,14 +2608,14 @@ enable_breakpoint: mov ecx, [debuggee_pid] xor edx, edx inc edx - int 40h + mcall dec eax jnz .err mov al, 69 push 0xCC mov edi, esp inc ebx - int 40h + mcall pop eax .ret: pop esi @@ -2636,7 +2637,7 @@ enable_breakpoint: shr dl, 6 mov dh, [edi] and dh, 0xF - int 40h + mcall test eax, eax jnz .err pop esi @@ -2712,7 +2713,7 @@ OnUnpack: @@: push 69 pop eax - int 40h + mcall test eax, eax jz .breakok inc edx @@ -2724,7 +2725,7 @@ OnUnpack: .wait: push 10 pop eax - int 40h + mcall dec eax jz .redraw dec eax @@ -2733,13 +2734,13 @@ OnUnpack: jnz .debug ; button; we have only one button, close or eax, -1 - int 40h + mcall .redraw: call draw_window jmp .wait .key: mov al, 2 - int 40h + mcall cmp ah, 3 ; Ctrl+C jnz .wait .userbreak: @@ -2754,7 +2755,7 @@ OnUnpack: push 9 pop ebx mov ecx, [debuggee_pid] - int 40h + mcall cmp esi, aUnpacked jnz OnSuspend jmp AfterSuspend @@ -2776,7 +2777,7 @@ OnUnpack: push 9 pop ebx mov ecx, [debuggee_pid] - int 40h + mcall jmp debugmsg .our: and [dbgbuflen], 0 @@ -2791,7 +2792,7 @@ OnUnpack: pop edx push 0xC pop esi - int 40h + mcall pop eax pop edx cmp eax, [_eip] diff --git a/programs/develop/param/trunk/build_en.bat b/programs/develop/param/trunk/build_en.bat index ef20f259b1..12b43d8f69 100644 --- a/programs/develop/param/trunk/build_en.bat +++ b/programs/develop/param/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm param.asm param +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/param/trunk/build_ru.bat b/programs/develop/param/trunk/build_ru.bat index 81c14c2046..a233ee9817 100644 --- a/programs/develop/param/trunk/build_ru.bat +++ b/programs/develop/param/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm param.asm param +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/param/trunk/cmdipc.inc b/programs/develop/param/trunk/cmdipc.inc index 53353e0ec2..c343e710d1 100644 --- a/programs/develop/param/trunk/cmdipc.inc +++ b/programs/develop/param/trunk/cmdipc.inc @@ -1,10 +1,10 @@ -include "macros.inc" +include "..\..\..\macros.inc" initipc: mov eax,9 mov ebx,prc - mov ecx,-1 - int 0x40 + or ecx,-1 + mcall mov ecx,eax loop1: @@ -12,7 +12,7 @@ loop1: mov eax,9 mov ebx,prc - int 0x40 + mcall cmp word [prc+10],'CM' jne no_cmd @@ -39,18 +39,18 @@ no_exit: mov ecx,dword [cmdpid] mov edx,printf mov esi,4 - int 0x40 + mcall call initcmd waitcmdinit: mov eax,40 mov ebx,01000000b - int 0x40 + mcall mov eax,23 mov ebx,100 - int 0x40 + mcall cmp eax,7 je cmd_ok @@ -64,19 +64,19 @@ cmd_ok: mov eax,18 mov ebx,3 mov ecx,dword [cmdnumb] - int 0x40 + mcall ret pause1: mov eax,5 mov ebx,1 - int 0x40 + mcall ret exit: - mov eax,-1 - int 0x40 + or eax,-1 + mcall cls: mov eax,60 @@ -84,7 +84,7 @@ cls: mov ecx,dword [cmdpid] mov edx,ipccls mov esi,4 - int 0x40 + mcall call pause1 @@ -120,7 +120,7 @@ loopprt: mov ecx,dword [cmdpid] mov edx,stripc mov esi,84 - int 0x40 + mcall call pause1 @@ -132,7 +132,7 @@ eol: mov ecx,dword [cmdpid] mov edx,ipceol mov esi,4 - int 0x40 + mcall call pause1 @@ -144,13 +144,13 @@ initcmd: mov ecx,dword [cmdpid] mov edx,ipckey mov esi,4 - int 0x40 + mcall mov eax,60 mov ebx,1 mov ecx,ipcb mov edx,28 - int 0x40 + mcall cld mov ecx,28 @@ -166,10 +166,10 @@ getkey: waitagain: mov eax,40 mov ebx,01000000b - int 0x40 + mcall mov eax,10 - int 0x40 + mcall cmp eax,7 jne waitagain @@ -186,7 +186,7 @@ endipc: mov ecx,dword [cmdpid] mov edx,ipcend mov esi,4 - int 0x40 + mcall jmp exit diff --git a/programs/develop/param/trunk/macros.inc b/programs/develop/param/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/develop/param/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/scancode/trunk/build_en.bat b/programs/develop/scancode/trunk/build_en.bat index 24a8f28544..035ccf0d27 100644 --- a/programs/develop/scancode/trunk/build_en.bat +++ b/programs/develop/scancode/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm scancode.asm scancode +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/scancode/trunk/build_ru.bat b/programs/develop/scancode/trunk/build_ru.bat index c9fbb555f6..556df7f844 100644 --- a/programs/develop/scancode/trunk/build_ru.bat +++ b/programs/develop/scancode/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm scancode.asm scancode +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/develop/scancode/trunk/macros.inc b/programs/develop/scancode/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/develop/scancode/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/develop/scancode/trunk/scancode.asm b/programs/develop/scancode/trunk/scancode.asm index 71a232ab33..2451bf1fd4 100644 --- a/programs/develop/scancode/trunk/scancode.asm +++ b/programs/develop/scancode/trunk/scancode.asm @@ -5,7 +5,7 @@ ; include "lang.inc" -include "macros.inc" +include "..\..\..\macros.inc" use32 org 0x0 @@ -23,20 +23,27 @@ START: ; start of execution mov eax,66 ; keyboard mode definitions mov ebx,1 ; set mov ecx,1 ; return scancodes - int 0x40 + mcall mov eax,26 ; get setup for keyboard mov ebx,2 mov ecx,1 ; base keymap mov edx,keymap - int 0x40 + mcall + + mov eax, 48 ; GET SYSTEM COLORS + mov ebx, 3 + mov ecx, sc + mov edx, sizeof.system_colors + mcall + red: call draw_window still: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -50,7 +57,7 @@ still: key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall mov esi,scan_codes+1 mov edi,scan_codes+0 @@ -135,7 +142,7 @@ still: button: ; button or eax, -1 ; close this program - int 0x40 + mcall @@ -147,15 +154,10 @@ still: draw_window: - mov eax, 48 ; GET SYSTEM COLORS - mov ebx, 3 - mov ecx, sc - mov edx, sizeof.system_colors - int 0x40 mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax, 0 ; function 0 : define and draw window @@ -163,21 +165,21 @@ draw_window: mov ecx, 100*65536+275 ; [y start] *65536 + [y size] mov edx, [sc.work] ; color of work area RRGGBB,8->color gl or edx, 0x33000000 - mov edi, header ; WINDOW LABEL - int 0x40 + mov edi, title ; WINDOW LABEL + mcall mov eax, 4 mov ebx, 15*65536+10 xor ecx, ecx mov edx, text mov esi, text.len - int 0x40 + mcall call draw_codes mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -197,7 +199,7 @@ draw_codes: mov eax,13 ; filled rectangle mov ebx,15*65536+160 mov edx,[sc.work] - int 0x40 + mcall popa pusha mov ebx,edx @@ -208,10 +210,10 @@ draw_codes: imul edi,12 add edx,edi mov esi,12 - int 0x40 + mcall popa movzx ecx,byte [scan_codes+edi] - int 0x40 ; number + mcall ; number inc ecx add edx,12 inc edi @@ -291,13 +293,13 @@ if lang eq ru db 'СЧИТЫВАЮ ДАННЫЕ С КЛАВИАТУРЫ' .len = $ - text - header db 'СКАНКОДЫ КЛАВИАТУРЫ',0 + title db 'СКАНКОДЫ КЛАВИАТУРЫ',0 else text: db 'READING RAW SCANCODE DATA' .len = $ - text - header db 'KEYBOARD SCANCODES',0 + title db 'KEYBOARD SCANCODES',0 end if ext db 0x0 diff --git a/programs/develop/tinypad/trunk/tinypad.asm b/programs/develop/tinypad/trunk/tinypad.asm index a7347a43c3..9f469f748a 100644 --- a/programs/develop/tinypad/trunk/tinypad.asm +++ b/programs/develop/tinypad/trunk/tinypad.asm @@ -151,7 +151,7 @@ ;----------------------------------------------------------------------------- include 'lang.inc' -include 'macros.inc' ; useful stuff +include '..\..\..\macros.inc' ; useful stuff ;include 'proc32.inc' include 'tinypad.inc' ;purge mov,add,sub ;  SPEED diff --git a/programs/fs/copy2/trunk/build_en.bat b/programs/fs/copy2/trunk/build_en.bat index 516420a11e..1821d222bf 100644 --- a/programs/fs/copy2/trunk/build_en.bat +++ b/programs/fs/copy2/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm copy2.asm copy2 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/fs/copy2/trunk/build_ge.bat b/programs/fs/copy2/trunk/build_ge.bat index eaff360b69..519fcc9cde 100644 --- a/programs/fs/copy2/trunk/build_ge.bat +++ b/programs/fs/copy2/trunk/build_ge.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix de >lang.inc @fasm copy2.asm copy2 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/fs/copy2/trunk/build_ru.bat b/programs/fs/copy2/trunk/build_ru.bat index 24170d989e..8692e806bc 100644 --- a/programs/fs/copy2/trunk/build_ru.bat +++ b/programs/fs/copy2/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm copy2.asm copy2 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/fs/copy2/trunk/copy2.asm b/programs/fs/copy2/trunk/copy2.asm index a7eb843d5b..18d2fb3279 100644 --- a/programs/fs/copy2/trunk/copy2.asm +++ b/programs/fs/copy2/trunk/copy2.asm @@ -27,7 +27,7 @@ dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' -include 'macros.inc' ; very useful stuff for MeOS +include '..\..\..\macros.inc' ; very useful stuff for MeOS STRLEN = 48 ; maximal length of filename @@ -39,7 +39,7 @@ red: still: ; main cycle of application begins here mov eax,10 ; wait here for event - int 0x40 + mcall dec eax ; redraw request ? jz red @@ -52,12 +52,12 @@ still: ; main cycle of application begins here key: ; key event handler mov eax,2 ; just read it and ignore - int 0x40 + mcall jmp still ; return to main loop button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? (close_btn) jz close @@ -98,11 +98,11 @@ still: ; main cycle of application begins here .waitev: mov eax,10 - int 0x40 + mcall cmp eax,2 jnz still ; mov eax,2 - int 0x40 + mcall shr eax,8 cmp eax,8 jnz .nobs ; BACKSPACE @@ -141,7 +141,7 @@ still: ; main cycle of application begins here close: or eax,-1 ; close program - int 0x40 + mcall ;==================================================== @@ -165,7 +165,7 @@ copy_file: add ecx,0x10000 ; size of memory needed = 0x10000+filesize mov eax,64 ; func 64 mov ebx,1 ; resize application memory - int 0x40 + mcall ; check if alloc function failed test eax,eax ; non-zero value means error @@ -197,7 +197,7 @@ copy_file: mov eax,64 mov ebx,1 mov ecx,0x10000 - int 0x40 + mcall xor eax,eax ; eax = message number (0-OK) @@ -210,7 +210,7 @@ copy_error: mov ecx,0x10ff0000 mov edx,[errors+edi*8] mov esi,[errors+edi*8+4] - int 0x40 + mcall jmp still @@ -222,7 +222,7 @@ print_text: shl ecx,16 add ecx,9 mov edx,0xf2f2f2 - int 0x40 + mcall mov eax,4 mov ebx,109*65536 @@ -230,7 +230,7 @@ print_text: xor ecx,ecx mov edx,[addr] mov esi,STRLEN - int 0x40 + mcall ret @@ -244,41 +244,34 @@ draw_window: mov eax, 12 ; function 12:tell os about windowdraw mov ebx, 1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW xor eax, eax ; function 0 : define and draw window mov ebx, 160*65536+415 ; [x start] *65536 + [x size] mov ecx, 160*65536+100 ; [y start] *65536 + [y size] - mov edx, 0x03DDDDDD ; color of work area RRGGBB - int 0x40 - - ; WINDOW LABEL - mov eax, 4 ; function 4 : write text to window - mov ebx, 8*65536+8 ; [x start] *65536 + [y start] - mov ecx, 0x10ffffff ; color of text RRGGBB - mov edx, header ; pointer to text beginning - mov esi, header.size ; text length - int 0x40 + mov edx, 0x13DDDDDD ; color of work area RRGGBB + mov edi, title ; WINDOW LABEL + mcall mov eax, 8 ; COPY BUTTON mov ebx, 20*65536+375 mov ecx, 63*65536+16 mov edx, 2 mov esi, 0xCCCCCC - int 0x40 + mcall mov ebx, 105*65536+290 mov ecx, 33*65536+12 mov edx, 4 mov esi, 0xEBEBEB - int 0x40 + mcall mov ebx, 105*65536+290 mov ecx, 49*65536+12 mov edx, 5 mov esi, 0xEBEBEB - int 0x40 + mcall mov esi, source_info.name ;source mov edi, text+14 @@ -296,7 +289,7 @@ draw_window: mov esi, STRLEN+59-45 newline: mov eax, 4 - int 0x40 + mcall add ebx, 16 add edx, STRLEN+59-45 cmp [edx], byte 'x' @@ -304,7 +297,7 @@ draw_window: mov eax, 12 ; function 12:tell os about windowdraw mov ebx, 2 ; 2, end of draw - int 0x40 + mcall ret @@ -391,7 +384,7 @@ lsz text,\ fr, 'x' -lsz header,\ +lsz title,\ ru, 'КОПИРОВАТЬ ФАЙЛ',\ en, 'SYSTREE FILE COPIER',\ de, 'SYSTREE DATEIKOPIERER',\ diff --git a/programs/fs/copy2/trunk/macros.inc b/programs/fs/copy2/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/fs/copy2/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/fs/copyr/trunk/ascl.inc b/programs/fs/copyr/trunk/ascl.inc index 209ac6d0cc..38e6f7b4a7 100644 --- a/programs/fs/copyr/trunk/ascl.inc +++ b/programs/fs/copyr/trunk/ascl.inc @@ -46,14 +46,14 @@ open: mov dword [fileinfo+8],1 ; how many blocks to read (1) mov eax,58 mov ebx,fileinfo - int 0x40 + mcall mov eax,[file_load_area+2] shr eax,9 ; поделим на 512 и прибавим 1 - получим число блоков inc eax mov dword [fileinfo+8],eax mov eax,58 mov ebx,fileinfo - int 0x40 + mcall } @@ -88,7 +88,7 @@ asd: mov edx,id mov esi,bcolor mov eax,8 - int 0x40 + mcall mov eax,asd-lab ;calc size mov ebx,6 @@ -113,7 +113,7 @@ asd: mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } @@ -142,7 +142,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -176,12 +176,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,150 ; size 150 bytes - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -189,7 +189,7 @@ new_d: mov eax,58 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -197,7 +197,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall cmp eax,1 je mred @@ -212,14 +212,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -244,15 +244,15 @@ mred: jmp getmesloop mkey: mov eax,2 - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -354,7 +354,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -388,12 +388,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,120 ; size 150 bytes - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -401,7 +401,7 @@ new_d: mov eax,58 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -409,7 +409,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall cmp eax,1 je mred @@ -424,14 +424,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -455,15 +455,15 @@ mred: call redproc jmp getmesloop mkey: - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -615,7 +615,7 @@ rxproc: macro scank { mov eax,10 - int 0x40 + mcall } macro putpix x,y,color @@ -624,7 +624,7 @@ macro putpix x,y,color mov ecx,y mov edx,color mov eax,1 - int 0x40 + mcall } macro puttxt x,y,offs,size,color @@ -637,7 +637,7 @@ macro puttxt x,y,offs,size,color mov edx,offs mov esi,size mov eax,4 - int 0x40 + mcall } macro outcount data, x, y, color, numtype @@ -649,7 +649,7 @@ macro outcount data, x, y, color, numtype wordstoreg edx,x,y mov esi,color mov eax,47 - int 0x40 + mcall } ; SCEVENT - Scan event @@ -657,7 +657,7 @@ macro outcount data, x, y, color, numtype macro scevent red,key,but { mov eax,11 - int 0x40 + mcall dec eax jz red dec eax @@ -671,7 +671,7 @@ macro scevent red,key,but macro wtevent red,key,but { mov eax,10 - int 0x40 + mcall dec eax jz red dec eax @@ -686,7 +686,7 @@ macro timeevent xfps,noevent,red,key,but { mov eax,23 mov ebx,xfps - int 0x40 + mcall cmp eax,0 je noevent dec eax @@ -703,7 +703,7 @@ macro timeevent xfps,noevent,red,key,but macro close { mov eax,-1 - int 0x40 + mcall } ; DELAY - Create delay 1/100 sec @@ -714,7 +714,7 @@ macro delay arg1 { mov eax,5 mov ebx,arg1 - int 0x40 + mcall } ; WINDOW - Draw window @@ -729,7 +729,7 @@ macro window arg1,arg2,arg3,arg4,arg5 wordstoreg ecx,arg2,arg4 mov edx,arg5 mov eax,0 - int 0x40 + mcall } macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 @@ -740,7 +740,7 @@ macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 mov esi,arg6 mov edi,arg7 mov eax,0 - int 0x40 + mcall } @@ -750,7 +750,7 @@ macro startwd { mov eax,12 mov ebx,1 - int 0x40 + mcall } ; ENDWD - End window draw @@ -759,7 +759,7 @@ macro endwd { mov eax,12 mov ebx,2 - int 0x40 + mcall } ; LABEL - Put text to frame @@ -780,7 +780,7 @@ asd: mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } ;Key's diff --git a/programs/fs/copyr/trunk/build_en.bat b/programs/fs/copyr/trunk/build_en.bat index 48af7ac79a..37c68227db 100644 --- a/programs/fs/copyr/trunk/build_en.bat +++ b/programs/fs/copyr/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm copyr.asm copyr +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/fs/copyr/trunk/build_ru.bat b/programs/fs/copyr/trunk/build_ru.bat index e7cba7d31c..9b7d6177e8 100644 --- a/programs/fs/copyr/trunk/build_ru.bat +++ b/programs/fs/copyr/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm copyr.asm copyr +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/fs/copyr/trunk/copyr.asm b/programs/fs/copyr/trunk/copyr.asm index 97fb5a991b..bbb90f96e6 100644 --- a/programs/fs/copyr/trunk/copyr.asm +++ b/programs/fs/copyr/trunk/copyr.asm @@ -24,7 +24,7 @@ dd param_area , 0x0 ; I_Param , I_Icon include 'lang.inc' -include 'macros.inc' ; very useful stuff for MeOS +include '..\..\..\macros.inc' ; very useful stuff for MeOS include 'ascl.inc' START: ; start of execution @@ -82,12 +82,12 @@ copy_error: mov ecx,0x10ff0000 lea edx,[errors+ebp] mov esi,43 ;[errors+edi*8+4] - int 0x40 + mcall jmp dexit ;closep: ; or eax,-1 ; close program -; int 0x40 +; mcall ;==================================================== @@ -124,7 +124,7 @@ copy_file: lea ecx,[ebx+0x10000] ; size of memory needed = 0x10000+filesize mov eax,64 ; func 64 mov ebx,1 ; resize application memory - int 0x40 + mcall pop ebx ; restore filesize ; check if alloc function failed @@ -139,14 +139,14 @@ copy_file: ; read the source file mov eax,70 mov ebx,source_info - int 0x40 + mcall ; ebx = number of read bytes = file size ; save loaded file mov [dest_info.bytes],ebx ; file size in bytes mov eax,70 mov ebx,dest_info - int 0x40 + mcall ; check if 58 function failed test eax,eax @@ -162,7 +162,7 @@ copy_file: mov eax,64 mov ebx,1 mov ecx,0x10000 - int 0x40 + mcall xor eax,eax ; eax = message number (0-OK) jmp copy_error @@ -177,14 +177,14 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW xor eax,eax ; function 0 : define and draw window mov ebx,160*65536+415 ; [x start] *65536 + [x size] mov ecx,160*65536+90 ; [y start] *65536 + [y size] mov edx,0x03DDDDDD ; color of work area RRGGBB - int 0x40 + mcall ; WINDOW LABEL mov eax,4 ; function 4 : write text to window @@ -192,19 +192,19 @@ draw_window: mov ecx,0x10ffffff ; color of text RRGGBB mov edx,labelt ; pointer to text beginning mov esi,labellen-labelt ; text length - int 0x40 + mcall mov eax,8 mov ebx,105*65536+290 mov ecx,33*65536+12 mov edx,4 mov esi,0xEBEBEB - int 0x40 + mcall mov ebx,105*65536+290 mov ecx,49*65536+12 mov edx,5 mov esi,0xEBEBEB - int 0x40 + mcall mov esi,source mov edi,text+14 @@ -222,7 +222,7 @@ draw_window: mov esi,62 newline: mov eax,4 - int 0x40 + mcall add ebx,16 add edx,62 cmp [edx],byte 'x' @@ -230,7 +230,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret diff --git a/programs/fs/copyr/trunk/macros.inc b/programs/fs/copyr/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/fs/copyr/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/fs/kfar/trunk/dialogs.inc b/programs/fs/kfar/trunk/dialogs.inc index 553bce0b8e..ba10cbb9c1 100644 --- a/programs/fs/kfar/trunk/dialogs.inc +++ b/programs/fs/kfar/trunk/dialogs.inc @@ -315,13 +315,13 @@ GenericBox: .event: push 10 pop eax - int 40h + mcall dec eax jz .redraw dec eax jz .key or eax, -1 - int 40h + mcall .redraw: push ebx ebp call draw_window @@ -329,7 +329,7 @@ GenericBox: jmp .event .key: mov al, 2 - int 40h + mcall shr eax, 8 cmp al, 0xE0 jnz @f @@ -1239,7 +1239,7 @@ ManagerDlgProc: cmp [ctrlstate], 1 sbb ecx, -2 mov edx, layout - int 0x40 + mcall popad ; translate scancode to ASCII movzx eax, al diff --git a/programs/fs/kfar/trunk/filetool.inc b/programs/fs/kfar/trunk/filetool.inc index 48a51c53fa..df142ae32c 100644 --- a/programs/fs/kfar/trunk/filetool.inc +++ b/programs/fs/kfar/trunk/filetool.inc @@ -6,7 +6,7 @@ delete_file_worker: push 70 pop eax mov ebx, delinfo - int 0x40 + mcall pop ebx test eax, eax jz .ret @@ -102,7 +102,7 @@ delete_file: mov [ebx+dirinfo.name-dirinfo], execdata push 70 pop eax - int 0x40 + mcall ; if we get read error, the best available action is try to delete directory itself test eax, eax jz @f diff --git a/programs/fs/kfar/trunk/kfar.asm b/programs/fs/kfar/trunk/kfar.asm index 71a85f022f..dfc77bfb92 100644 --- a/programs/fs/kfar/trunk/kfar.asm +++ b/programs/fs/kfar/trunk/kfar.asm @@ -8,6 +8,7 @@ memsize dd mem dd 0, app_path include 'lang.inc' +include '..\..\..\macros.inc' include 'font.inc' include 'sort.inc' include 'kglobals.inc' @@ -60,7 +61,7 @@ start: pop eax push 11 pop ebx - int 0x40 + mcall call init_console call draw_window push 66 @@ -68,7 +69,7 @@ start: push 1 pop ebx mov ecx, ebx - int 40h ; set keyboard mode to scancodes + mcall ; set keyboard mode to scancodes mov eax, 200 mov [panel1_nfa], eax mov [panel2_nfa], eax @@ -249,7 +250,7 @@ start: event: push 10 pop eax - int 40h + mcall dec eax jz redraw dec eax @@ -257,13 +258,13 @@ event: ; button - we have only one button, close exit: or eax, -1 - int 40h + mcall redraw: ; query kbd state from OS mov al, 66 push 3 pop ebx - int 0x40 + mcall and eax, 0x3F cmp al, [ctrlstate] mov [ctrlstate], al @@ -273,7 +274,7 @@ redraw: mov al, 9 mov ebx, procinfo or ecx, -1 - int 40h + mcall ; test if rolled up ; height of rolled up window is [skinh]+3 mov eax, [ebx+46] @@ -283,14 +284,14 @@ redraw: mov al, 12 push 1 pop ebx - int 0x40 + mcall xor eax, eax ; ebx, ecx, edi are ignored by function 0 after first redraw mov edx, 0x53000000 - int 0x40 + mcall mov al, 12 inc ebx - int 0x40 + mcall jmp event @@: xor ecx, ecx @@ -364,7 +365,7 @@ redraw: imul esi, font_height add esi, [skinh] add esi, 5-1 - int 40h + mcall .resize_draw: mov ecx, [MemForImage] call pgfree @@ -394,7 +395,7 @@ alt_f9: pop eax push 5 pop ebx - int 0x40 + mcall push eax sub eax, [esp+2] inc eax @@ -427,11 +428,11 @@ alt_f9: add esi, 4 push 67 pop eax - int 0x40 + mcall jmp redraw.resize_draw key: mov al, 2 - int 40h + mcall test al, al jnz event xchg al, ah @@ -1025,7 +1026,7 @@ panels_OnKey: .cmdlinelenok: push 70 pop eax - int 40h + mcall xor esi, esi xchg esi, [restore_semicolon] test esi, esi @@ -1057,7 +1058,7 @@ panels_OnKey: pop eax push 20 pop ebx - int 0x40 + mcall jmp .ctrl_r @@: ret @@ -1235,7 +1236,7 @@ panels_OnKey: mov byte [tmpname+1], 0 push 70 pop eax - int 40h + mcall mov ebx, dirinfo test eax, eax jnz .drive_loop_e_done @@ -1251,7 +1252,7 @@ panels_OnKey: .drive_loop_i: push 70 pop eax - int 40h + mcall mov ebx, dirinfo test eax, eax jnz .drive_loop_i_done @@ -1541,7 +1542,7 @@ panels_OnKey: mov [ebx + attrinfo.name - attrinfo], esi push 70 pop eax - int 0x40 + mcall mov cl, byte [attrinfo.attr] @@: test cl, 0x10 @@ -1610,7 +1611,7 @@ panels_OnKey: mov ebx, readinfo push 70 pop eax - int 0x40 + mcall test eax, eax jz .copyreadok cmp eax, 6 @@ -1642,7 +1643,7 @@ panels_OnKey: mov ebx, writeinfo push 70 pop eax - int 0x40 + mcall test eax, eax jz .copywriteok push edi @@ -1699,7 +1700,7 @@ panels_OnKey: mov dword [ebx+21], edi push 70 pop eax - int 0x40 + mcall ; ignore errors pop dword [delinfo+21] jmp .copydone @@ -2140,7 +2141,7 @@ end if push 70 pop eax mov ebx, mkdirinfo - int 0x40 + mcall test eax, eax jz @f push dword CopyDestEditBuf+12 @@ -2435,10 +2436,10 @@ draw_window: pop eax push 1 pop ebx - int 40h + mcall mov al, 48 mov bl, 4 - int 40h + mcall mov [skinh], eax mov ebx, [cur_width] imul ebx, font_width @@ -2448,8 +2449,8 @@ draw_window: lea ecx, [eax+ecx+5-1+100*65536] xor eax, eax mov edx, 0x53000000 - mov edi, header - int 40h + mov edi, title + mcall mov al, 13 xor edx, edx cmp [fill_width], 0 @@ -2463,7 +2464,7 @@ draw_window: mov cx, word [wnd_height] sub cx, word [skinh] sub cx, 5-1 - int 0x40 + mcall @@: cmp [fill_height], 0 jz @f @@ -2476,7 +2477,7 @@ draw_window: sub ecx, 5-1 shl ecx, 16 mov cx, word [fill_height] - int 0x40 + mcall @@: ; xor ecx, ecx ; call draw_image @@ -2493,12 +2494,12 @@ draw_window: mov esi, 8 mov edi, console_colors xor ebp, ebp - int 0x40 + mcall @@: mov al, 12 push 2 pop ebx - int 40h + mcall ret draw_image.nomem: @@ -2510,14 +2511,14 @@ draw_image.nomem: mov ecx, [skinh-2] mov cx, word [cur_height] imul cx, font_height - int 40h + mcall mov al, 4 mov ebx, 32*65536+32 mov ecx, 0xFFFFFF mov edx, nomem_draw push nomem_draw.size pop esi - int 40h + mcall ret draw_image: @@ -2714,7 +2715,7 @@ end if mov edi, console_colors push 8 pop esi - int 40h + mcall .nodraw: ret @@ -3936,7 +3937,7 @@ read_folder: push 70 pop eax mov ebx, dirinfo - int 40h + mcall test eax, eax jz .ok cmp eax, 6 @@ -5165,7 +5166,7 @@ find_extension: pop esi ret -header db 'Kolibri Far 0.32',0 +title db 'Kolibri Far 0.32',0 nomem_draw db 'No memory for redraw.',0 .size = $ - nomem_draw diff --git a/programs/fs/kfar/trunk/tools.inc b/programs/fs/kfar/trunk/tools.inc index 1f4d868daa..4a52bff326 100644 --- a/programs/fs/kfar/trunk/tools.inc +++ b/programs/fs/kfar/trunk/tools.inc @@ -6,7 +6,7 @@ pgalloc: pop eax push 12 pop ebx - int 0x40 + mcall pop ebx ret @@ -18,7 +18,7 @@ pgfree: pop eax push 13 pop ebx - int 0x40 + mcall pop ebx ret @@ -30,7 +30,7 @@ pgrealloc: pop eax push 20 pop ebx - int 0x40 + mcall pop ebx ret @@ -188,7 +188,7 @@ load_dll_and_import: pop eax push 19 pop ebx - int 0x40 + mcall mov edi, aInvalidDLL test eax, eax jz .sayerr diff --git a/programs/fs/kfar/trunk/viewer.inc b/programs/fs/kfar/trunk/viewer.inc index 7bf9891733..05f9c1363c 100644 --- a/programs/fs/kfar/trunk/viewer.inc +++ b/programs/fs/kfar/trunk/viewer.inc @@ -62,7 +62,7 @@ view_file: .attr_retry: push 70 pop eax - int 40h + mcall test eax, eax jz @f lea ebx, [ebp+viewer_data.filename] @@ -105,7 +105,7 @@ view_file: .retry: push 70 pop eax - int 40h + mcall mov [ebp+viewer_data.buf_size], ebx test eax, eax jz .readok @@ -196,7 +196,7 @@ viewer_get_next_char: mov ebx, readinfo push 70 pop eax - int 40h + mcall test eax, eax jz .readok cmp eax, 6 @@ -978,7 +978,7 @@ viewer_seek: mov [ebx+21], eax push 70 pop eax - int 40h + mcall test eax, eax jz .readok cmp eax, 6 @@ -1030,7 +1030,7 @@ viewer_seek: @@: push 70 pop eax - int 40h + mcall test eax, eax jz @f cmp eax, 6 diff --git a/programs/fs/mfar/trunk/macros.inc b/programs/fs/mfar/trunk/macros.inc deleted file mode 100644 index a69fb4284c..0000000000 --- a/programs/fs/mfar/trunk/macros.inc +++ /dev/null @@ -1,226 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - - - - -; code profiling -macro STARTTIMER - { - push ecx - push ebx - rdtsc - push edx - push eax - } - -macro STOPTIMER ;edx:eax = cpu cycles ellapsed - { - rdtsc - pop ebx - pop ecx - clc - sbb eax,ebx - sbb edx,ecx - pop ebx - pop ecx - } - - -; optimize the code for size -macro add arg1,arg2 - { - if arg1 in - if arg2 eqtype 0 - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if arg2 eqtype 0 - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if arg1 in - if arg2 eqtype 0 - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/fs/sysxtree/trunk/ascgl.inc b/programs/fs/sysxtree/trunk/ascgl.inc index 57f01e8543..83945b8161 100644 --- a/programs/fs/sysxtree/trunk/ascgl.inc +++ b/programs/fs/sysxtree/trunk/ascgl.inc @@ -373,7 +373,7 @@ macro drawfbox x,y,xs,ys,color words2reg ecx,y,ys ;y*65536+ys mov edx,color mov eax,13 - int 0x40 + mcall } ; FPS - Set Frame Per Second Display @@ -390,7 +390,7 @@ ttt dd 0 spdat: get_time: mov eax,3 - int 0x40 + mcall cmp eax,[savetime] jne new_time inc [fps_cntr] @@ -409,7 +409,7 @@ if ~(delcolor eq ) mov ecx,y*65536+7 mov edx,delcolor mov eax,13 - int 0x40 + mcall end if mov dword [ttt],fps_show_frequency mov eax,47 @@ -418,7 +418,7 @@ end if mov edx,x*65536+y mov esi,color mov ecx,[fps] - int 0x40 + mcall no_out_fps: } @@ -496,7 +496,7 @@ macro setimg x , y ,arg3 add cx,[arg3+4] ; wordstoreg ecx,[arg3],[arg3+4] words2reg edx, x , y ;arg1*65536+arg2 - int 0x40 + mcall } macro setframe x , y ,arg3 @@ -507,7 +507,7 @@ macro setframe x , y ,arg3 words2reg edx, x , y ;arg1*65536+arg2 add edx,dword [arg3] mov ecx,dword [arg3+4] - int 0x40 + mcall } diff --git a/programs/fs/sysxtree/trunk/ascl.inc b/programs/fs/sysxtree/trunk/ascl.inc index 0350a8cb7a..ed4fda2f0a 100644 --- a/programs/fs/sysxtree/trunk/ascl.inc +++ b/programs/fs/sysxtree/trunk/ascl.inc @@ -50,14 +50,14 @@ open: mov dword [fileinfo+8],1 ; how many blocks to read (1) mov eax,58 mov ebx,fileinfo - int 0x40 + mcall mov eax,[file_load_area+2] shr eax,9 ; поделим на 512 и прибавим 1 - получим число блоков inc eax mov dword [fileinfo+8],eax mov eax,58 mov ebx,fileinfo - int 0x40 + mcall } @@ -143,7 +143,7 @@ asd: mov edx,id mov esi,bcolor mov eax,8 - int 0x40 + mcall mov eax,asd-lab ;calc size mov ebx,6 @@ -168,7 +168,7 @@ asd: mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } @@ -197,7 +197,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -231,12 +231,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,1024+16 ; size - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -244,7 +244,7 @@ new_d: mov eax,70 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -252,7 +252,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall dec eax jz mred dec eax @@ -266,14 +266,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -298,15 +298,15 @@ mred: jmp getmesloop mkey: mov eax,2 - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -408,7 +408,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -442,12 +442,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,1024+16 ; size - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -455,7 +455,7 @@ new_d: mov eax,70 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -463,7 +463,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall dec eax jz mred dec eax @@ -477,14 +477,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -509,15 +509,15 @@ mred: jmp getmesloop mkey: mov eax,2 - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -669,7 +669,7 @@ rxproc: macro scank { mov eax,10 - int 0x40 + mcall } macro putpix x,y,color @@ -678,7 +678,7 @@ macro putpix x,y,color mov ecx,y mov edx,color mov eax,1 - int 0x40 + mcall } macro puttxt x,y,offs,size,color @@ -696,7 +696,7 @@ macro puttxt x,y,offs,size,color ; mov edx,offs ; mov esi,size mov eax,4 - int 0x40 + mcall } macro outcount data, x, y, color, numtype @@ -708,7 +708,7 @@ macro outcount data, x, y, color, numtype words2reg edx,x,y mov esi,color mov eax,47 - int 0x40 + mcall } ; SCEVENT - Scan event @@ -716,7 +716,7 @@ macro outcount data, x, y, color, numtype macro scevent red,key,but { mov eax,11 - int 0x40 + mcall dec eax jz red dec eax @@ -730,7 +730,7 @@ macro scevent red,key,but macro wtevent red,key,but { mov eax,10 - int 0x40 + mcall dec eax jz red dec eax @@ -745,7 +745,7 @@ macro timeevent xfps,noevent,red,key,but { mov eax,23 mov ebx,xfps - int 0x40 + mcall cmp eax,0 je noevent dec eax @@ -762,7 +762,7 @@ macro timeevent xfps,noevent,red,key,but macro close { mov eax,-1 - int 0x40 + mcall } ; DELAY - Create delay 1/100 sec @@ -773,7 +773,7 @@ macro delay arg1 { mov eax,5 mov ebx,arg1 - int 0x40 + mcall } ; WINDOW - Draw window @@ -788,7 +788,7 @@ macro window arg1,arg2,arg3,arg4,arg5 words2reg ecx,arg2,arg4 mov edx,arg5 mov eax,0 - int 0x40 + mcall } macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 @@ -799,7 +799,7 @@ macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 mov esi,arg6 mov edi,arg7 mov eax,0 - int 0x40 + mcall } @@ -809,7 +809,7 @@ macro startwd { mov eax,12 mov ebx,1 - int 0x40 + mcall } ; ENDWD - End window draw @@ -818,7 +818,7 @@ macro endwd { mov eax,12 mov ebx,2 - int 0x40 + mcall } ; LABEL - Put text to frame @@ -842,7 +842,7 @@ asd: mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } ;Key's diff --git a/programs/fs/sysxtree/trunk/build_en.bat b/programs/fs/sysxtree/trunk/build_en.bat index 254ebbc2f5..151823fcb5 100644 --- a/programs/fs/sysxtree/trunk/build_en.bat +++ b/programs/fs/sysxtree/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm sysxtree.asm sysxtree +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/fs/sysxtree/trunk/build_ru.bat b/programs/fs/sysxtree/trunk/build_ru.bat index cccb8b6d61..840479d756 100644 --- a/programs/fs/sysxtree/trunk/build_ru.bat +++ b/programs/fs/sysxtree/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm sysxtree.asm sysxtree +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/fs/sysxtree/trunk/macros.inc b/programs/fs/sysxtree/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/fs/sysxtree/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/fs/sysxtree/trunk/sysxtree.asm b/programs/fs/sysxtree/trunk/sysxtree.asm index 599721973b..a832c25699 100644 --- a/programs/fs/sysxtree/trunk/sysxtree.asm +++ b/programs/fs/sysxtree/trunk/sysxtree.asm @@ -45,7 +45,7 @@ ; dd 0,0 ;****************************************************************************** -include 'macros.inc' +include '..\..\..\macros.inc' include 'ascl.inc' include 'ascgl.inc' @@ -55,7 +55,7 @@ START: ; start of execution ; //// Willow ; mov eax,58 ; mov ebx,MRUfile -; int 0x40 +; mcall ; //// Willow mcall 18,11,1,table_area cmp [edx+2],byte 0 @@ -101,7 +101,7 @@ START: ; start of execution mov eax,40 mov ebx,0100111b - int 0x40 + mcall cmp byte [param_area],0 ;test parameters line jne no_brow ;it's dialog @@ -115,7 +115,7 @@ no_brow: mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall mov eax,dword [procinfo+30] mov edi,MYPID+4-1 @@ -151,7 +151,7 @@ new_d: mov ebx,2 mov edx,MYPID mov esi,4 - int 0x40 + mcall no_dlg: giftoimg but_file,tempimg @@ -210,25 +210,25 @@ still: mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall wtevent red,key,button scrolltest: mov eax,37 mov ebx,2 - int 0x40 + mcall dec eax jne still scrl: mov eax,37 mov ebx,1 - int 0x40 + mcall movzx ebx, ax ; y shr eax, 16 ; x mov ebp,eax - sub ebp,[listx] ;[procinfo.x_size] + sub ebp,[listx] ;[procinfo.box.left] sub ebp,[listxsize] add ebp,[scrollsize] cmp ebp,dword [scrollsize] ;8 @@ -291,7 +291,7 @@ menu_test: ;=================== key: ; key mov eax,2 - int 0x40 + mcall cmp dword [focus],0 jne con_edit cmp ah,key_Up @@ -400,7 +400,7 @@ losx: button: ; button mov eax,17 - int 0x40 + mcall cmp ah,2 ;Edit prompt line? je edit_prompt @@ -411,7 +411,7 @@ losx: mousetest: mov eax,37 mov ebx,1 - int 0x40 + mcall mov ebx,eax shr eax,16 ;x and ebx,0xffff ;y @@ -565,7 +565,7 @@ file_set: mov ebx,2 mov edx,paramtest mov esi,1024 - int 0x40 + mcall jmp exit @@ -647,7 +647,7 @@ execute: mov dword [ebx+21], paramtest ; program name .do: mov eax, 70 - int 0x40 + mcall jmp still run: @@ -818,7 +818,7 @@ copy_to_clip: mov byte [ebx], 2 mov [ebx+12], edi mov eax, 70 - int 0x40 + mcall jmp still no_copyclip: @@ -829,7 +829,7 @@ paste_from_clip: mov byte [ebx], 0 mov dword [ebx+12], 1023 mov eax, 70 - int 0x40 + mcall cmp ebx, 0 jle still mov byte [paramtest+ebx], 0 @@ -884,18 +884,18 @@ paste_from_clip: mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB mov edx, copyr_param+1 movzx esi, byte [edx-1] - int 0x40 + mcall mov ebx,250*65536+67 ; [x start] *65536 + [y start] mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB mov edx, ebp mov esi, edi - int 0x40 + mcall no_outpath: ; run COPYR mov eax, 70 mov ebx, copyr_run - int 0x40 + mcall delay 50 ;wait recoed file jmp update ;still no_clippaste: @@ -999,10 +999,10 @@ exit: ; mov ebx,MRUfile ; mov dword[ebx+8],255 ; inc dword[ebx] -; int 0x40 +; mcall ; //// Willow mov eax,-1 - int 0x40 + mcall draw_wd: ; call draw_window @@ -1028,10 +1028,10 @@ screen: cmp [browser], 1 ;it's browser? jne dialogscr - mov eax,[procinfo.y_size] + mov eax,[procinfo.box.top] sub eax,90 drawfbox 40,76,300,eax,0x00000000 - mov eax,[procinfo.y_size] + mov eax,[procinfo.box.top] sub eax,92 drawfbox 41,77,298,eax,0x00ffffff mov edi,esi ;14 @@ -1041,10 +1041,10 @@ screen: jmp outlab dialogscr: - mov eax,[procinfo.y_size] + mov eax,[procinfo.box.top] sub eax,84 drawfbox 16,54,270,eax,0x00000000 - mov eax,[procinfo.y_size] + mov eax,[procinfo.box.top] sub eax,86 drawfbox 17,55,268,eax,0x00ffffff mov edi,esi ;14 @@ -1056,7 +1056,7 @@ outlab: ;out labels mov eax,4 mov esi,40 helploo: - int 0x40 + mcall add ebx,11 add edx,40 dec edi @@ -1144,8 +1144,8 @@ draw_window: ; mov eax,9 ; mov ebx,procinfo ; mov ecx,-1 -; int 0x40 -; mov eax,[procinfo.x_size] +; mcall +; mov eax,[procinfo.box.left] ; cmp eax,66 ; jg temp12345 ; ret @@ -1154,14 +1154,14 @@ draw_window: mov ebx,3 mov ecx,sc mov edx,sizeof.system_colors - int 0x40 + mcall mov eax,[sc.work_button] mov [b_color],eax mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ;Window @@ -1178,43 +1178,43 @@ nob1: isb1: ; mov edx,[sc.work] ; color of work area RRGGBB or edx,0x03ffffff;000000 - int 0x40 + mcall ;Get proc info mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall - mov eax,[procinfo.x_size] + mov eax,[procinfo.box.left] cmp eax,66 jg @f .ret: ret @@: - cmp [procinfo.y_size], 0x70 + cmp [procinfo.box.top], 0x70 jl .ret cmp [browser], 1 ;it's browser jne nob9 mov [listx],120 -; mov eax,[procinfo.x_size] +; mov eax,[procinfo.box.left] sub eax,127;[listx]+7 cmp eax,10 jl .ret mov [listxsize],eax mov [listy],73 - mov eax,[procinfo.y_size] + mov eax,[procinfo.box.top] sub eax,73+7;[listy]+7 mov [listysize],eax jmp isb9 nob9: mov [listx],10 -; mov eax,[procinfo.x_size] +; mov eax,[procinfo.box.left] sub eax,17 ;[listx]+7 mov [listxsize],eax mov [listy],54 - mov eax,[procinfo.y_size] + mov eax,[procinfo.box.top] sub eax,54+34;[listy]+34 mov [listysize],eax isb9: @@ -1235,12 +1235,12 @@ isb9: mov edx,22;+1000000000000000000000000000000b ;spoke butt mov edi,3 ;draw 13 button's mov esi,0x00339933 - int 0x40 + mcall dec edi nexthbut: add ebx,(6*8)*65536 inc edx - int 0x40 + mcall dec edi jnz nexthbut @@ -1248,17 +1248,17 @@ nexthbut: glabel 8,25,' FILE VIEW INFO ', cl_White ;Black ;BlackLine - mov eax,[procinfo.x_size] + mov eax,[procinfo.box.left] sub eax,10 drawfbox 5,35, eax, 1, cl_Black ;BlackLine2 - mov eax,[procinfo.x_size] + mov eax,[procinfo.box.left] sub eax,10 drawfbox 5,68, eax, 1, cl_Black ;BlackLine2 vertical -; mov eax,[procinfo.y_size] +; mov eax,[procinfo.box.top] ; sub eax,69+4 ; drawfbox 115, 69, 1, eax, cl_Black @@ -1329,12 +1329,12 @@ isb3: mov edx,8;+1000000000000000000000000000000b ;spoke butt mov edi,13 ;draw 13 button's mov esi,cl_Grey - int 0x40 + mcall dec edi nextbut: add ebx,(16+6)*65536 inc edx - int 0x40 + mcall dec edi jnz nextbut @@ -1344,7 +1344,7 @@ nextbut: ;But img browser setimg 10,37,butimg ;left logo - add eax,[procinfo.x_size] + add eax,[procinfo.box.left] sub eax,80 mov [temp],eax setimg [temp],37,logoimg @@ -1359,7 +1359,7 @@ isb4: mov [urlx],48 mov [urly],55 - mov eax,[procinfo.x_size] + mov eax,[procinfo.box.left] sub eax,48+10 mov [urlxsize],eax mov [urlysize],12 @@ -1374,7 +1374,7 @@ isb4: mov ecx,cl_Black add edx,modetext mov esi,16 - int 0x40 + mcall ;List size outcount [listsize],294,25,cl_Black,4*65536 @@ -1388,10 +1388,10 @@ but_dlg: db 'OPEN' nob5: mov [urlx],10 - mov eax,[procinfo.y_size] + mov eax,[procinfo.box.top] sub eax,24 mov [urly],eax - mov eax,[procinfo.x_size] + mov eax,[procinfo.box.left] sub eax,80 mov [urlxsize],eax mov [urlysize],12 @@ -1410,30 +1410,30 @@ out_laby: or ecx,0x10000000 mov esi,9 mov eax,4 - int 0x40 + mcall no_saveh: ;Draw OPEN\SAVE button mov ebx,0*65536+50 mov ecx,0*65536+12 - mov eax,[procinfo.x_size] + mov eax,[procinfo.box.left] sub eax,63 shl eax,16 add ebx,eax - mov eax,[procinfo.y_size] + mov eax,[procinfo.box.top] sub eax,25 shl eax,16 add ecx,eax mov eax,8 mov edx,5 ;button ID mov esi,0x006699aa ;gradient!!! - int 0x40 + mcall ; label OPEN or SAVE - mov ebx,[procinfo.x_size] + mov ebx,[procinfo.box.left] sub ebx,48 - mov eax,[procinfo.y_size] + mov eax,[procinfo.box.top] sub eax,22 shl ebx,16 add ebx,eax @@ -1450,7 +1450,7 @@ out_labx: mov ecx,cl_White mov esi,4 mov eax,4 - int 0x40 + mcall no_saveb: isb5: @@ -1479,16 +1479,16 @@ draw_url: mov eax,8 mov edx,2 ;button ID mov esi,0x00aaaaaa ;gradient!!! - int 0x40 + mcall ;Draw URL String mov eax,13 mov edx,cl_Black - int 0x40 + mcall add ebx,1*65536-2+1 add ecx,1*65536-2+1 mov edx,cl_White - int 0x40 + mcall ;Draw URL Cursor mov eax,6 @@ -1503,7 +1503,7 @@ draw_url: add ecx,2*65536-4 mov eax,13 mov edx,cl_Black - int 0x40 + mcall ; OUT TEXT mov eax,[urlxsize] ;calculating text leight @@ -1519,7 +1519,7 @@ draw_url: mov eax,4 ; function 4 : write text to window mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB mov edx,path ; pointer to text beginning - int 0x40 + mcall cmp [flick],2 jne no_flick_url @@ -1546,7 +1546,7 @@ no_flick_url: add ecx,[listysize] sub ecx,scrollbutsize*2 mov edx,[scrollcolor] ;0x00006600 - int 0x40 + mcall ;Draw Scroll Box mov edx,0 @@ -1595,7 +1595,7 @@ no_flick_url: shl ebx, 16 mov bx, word [scrollsize] mov edx, [scrollboxcol] - int 0x40 + mcall notusescroll: @@ -1611,12 +1611,12 @@ notusescroll: mov eax,8 mov edx,4+1000000000000000000000000000000b ;spoke butt - int 0x40 + mcall add ebx,15 mov eax,13 mov edx,[listcolor] ;ffffff - int 0x40 + mcall ;Draw up/down buttons mov ebx,[listx] @@ -1629,12 +1629,12 @@ notusescroll: add ecx,scrollbutsize-1 mov eax,8 mov edx,6+1000000000000000000000000000000b ;spoke butt - int 0x40 + mcall inc ecx mov eax,13 mov edx,[scrollbutcol] ;ffffff - int 0x40 + mcall ; Draw image on up button pushad @@ -1646,7 +1646,7 @@ notusescroll: mov ecx,8*65536+9 mov ebx,upsb+8 mov eax,7 - int 0x40 + mcall popad @@ -1658,12 +1658,12 @@ notusescroll: add ecx,eax mov eax,8 - int 0x40 + mcall inc ecx mov eax,13 mov edx,[scrollbutcol] ;ffffff - int 0x40 + mcall ; Draw image on down button pushad @@ -1675,7 +1675,7 @@ notusescroll: mov ecx,8*65536+9 mov ebx,dnsb+8 mov eax,7 - int 0x40 + mcall popad @@ -1795,7 +1795,7 @@ cset1: @@: push eax mov eax,4 - int 0x40 + mcall cmp byte [edx+esi], 0 jz @f pushad @@ -1805,7 +1805,7 @@ cset1: add ebx, eax mov esi, 1 mov eax, 4 - int 0x40 + mcall popad @@: pop eax @@ -1817,7 +1817,7 @@ cset1: add edx,4 mov esi,23 mov eax,4 - int 0x40 + mcall pop edx ebx pushad @@ -1911,7 +1911,7 @@ out_ico: ; mov ebx,upsb+8 pop ebx mov eax,7 - int 0x40 + mcall no_out_ico: popad @@ -2008,7 +2008,7 @@ no_flick: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -2040,7 +2040,7 @@ drawmenu: mov eax,4 mov esi,12 menuloo: - int 0x40 + mcall add ebx,11 add edx,12 dec edi @@ -2050,7 +2050,7 @@ menuloo: menubutton: mov eax,8 nextmenubut: - int 0x40 + mcall add ecx,11*65536 inc edx dec edi @@ -2156,7 +2156,7 @@ nstep2: loorhd: mov eax,70 mov ebx,fileinfoblock - int 0x40 + mcall cmp eax,6 je end_of_dir diff --git a/programs/games/15/trunk/15.ASM b/programs/games/15/trunk/15.ASM index e27e65d1fb..e4025375e0 100644 --- a/programs/games/15/trunk/15.ASM +++ b/programs/games/15/trunk/15.ASM @@ -4,9 +4,8 @@ ; Compile with FASM ; include 'lang.inc' -include 'macros.inc' ; decreases program size (not required) +include '..\..\..\macros.inc' ; decreases program size (not required) -BgdColor equ 0x02aabbcc StatusColor equ 0x02ffffff StatusColor2 equ 0x02dc1e14 BgdColor equ 0x03aabbcc @@ -63,7 +62,7 @@ use32 START: mov [cptr],CONF_COUNT ; number of task mov eax,3 - int 0x40 + mcall mov cl,16 ror eax,cl mov [generator],eax ; random generator from Tetris @@ -97,7 +96,7 @@ red: ; window redraw still: ; MAIN PROGRAM CYCLE mov eax,10 ; wait for event - int 0x40 + mcall cmp eax,1 ; redraw? - je red ; goto red @@ -110,7 +109,7 @@ still: ; MAIN PROGRAM CYCLE key: ; Key pressed mov eax,2 - int 0x40 + mcall shr eax,8 cmp eax,32 ; = Shuffle je SHUF @@ -126,13 +125,13 @@ still: ; MAIN PROGRAM CYCLE button: ; Button pressed mov eax,17 - int 0x40 + mcall shr eax,8 sub eax,2 cmp eax,-1 ; id == 1 (closeme)? jne noclose - int 0x40 + mcall noclose: jl SHUF ; Shuffle (id=0) pressed @@ -160,7 +159,7 @@ fail: draw_window: mov eax,12 mov ebx,1 ; begin draw - int 0x40 + mcall ; CREATING WINDOW mov eax,0 @@ -169,40 +168,40 @@ draw_window: mov edx,BgdColor mov esi,0x805080d0 mov edi,0x005080d0 - int 0x40 + mcall ; PROGRAM TITLE mov eax,4 mov ebx,8*65536+8 - mov ecx,0x10ddeeff + mov ecx,0x10000000 mov edx,txtTitle mov esi,lenTitle-txtTitle - int 0x40 + mcall mov eax,8 ; SHUFFLE BUTTON mov ebx,XXSh mov ecx,YYSh xor edx,edx mov esi,BtnColor - int 0x40 + mcall mov ebx,XXCnf ; CONF BUTTON mov ecx,YYCnf mov edx,20 mov esi,BtnColor - int 0x40 + mcall mov ebx, XYShText ; SHUFFLE TEXT mov ecx, StatusColor mov edx,txtSh mov esi,lenSh-txtSh mov eax,4 - int 0x40 + mcall mov ebx, XYCnfText ; CONF TEXT mov edx,lenVictory-1 mov esi,1 - int 0x40 + mcall mov ecx, 16 ; FIELD BUTTONS dbut: @@ -213,7 +212,7 @@ draw_window: mov eax,12 mov ebx,2 ; end of drawing - int 0x40 + mcall ret @@ -250,7 +249,7 @@ draw_button: inc ecx mov edx,BgdColor mov eax,13 ; clearing - 'hole' - int 0x40 + mcall popa or edx,0x80000000 ; and removing button under it @@ -265,7 +264,7 @@ highlight: mov esi,BtnColor2 s_rbutton: mov eax,8 ; set/remove button - int 0x40 + mcall movzx eax,byte [null] cmp eax,edi je no_text ; no digits - that's hole @@ -282,7 +281,7 @@ s_rbutton: two_num: mov esi,NumColor mov eax,47 - int 0x40 + mcall no_text: popa ret @@ -297,7 +296,7 @@ draw_moves: mov ebx, XXbar mov ecx, YYbar mov edx, BgdColor - int 0x40 + mcall mov eax, 4 mov ebx, XYstatus @@ -312,7 +311,7 @@ draw_moves: mov edx,txtMoves ; how many moves done mov esi,lenMoves-txtMoves mov eax,4 - int 0x40 + mcall mov esi,ecx mov edx,ebx add edx, 40 shl 16 @@ -325,7 +324,7 @@ draw_moves: mov edx,txtVictory mov esi,lenVictory-txtVictory e_dm: - int 0x40 + mcall ret diff --git a/programs/games/15/trunk/build_en.bat b/programs/games/15/trunk/build_en.bat index b1b2656d70..7634a511ee 100644 --- a/programs/games/15/trunk/build_en.bat +++ b/programs/games/15/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm 15.asm 15 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/games/15/trunk/build_ru.bat b/programs/games/15/trunk/build_ru.bat index f2438fa479..5342521718 100644 --- a/programs/games/15/trunk/build_ru.bat +++ b/programs/games/15/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm 15.asm 15 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/games/15/trunk/macros.inc b/programs/games/15/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/games/15/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/games/arcanii/trunk/arcanii.asm b/programs/games/arcanii/trunk/arcanii.asm index 3c663ad72f..53804c93c5 100644 --- a/programs/games/arcanii/trunk/arcanii.asm +++ b/programs/games/arcanii/trunk/arcanii.asm @@ -8,6 +8,7 @@ VERSION equ 'ARCANOID II v. 0.30' ;---------------------------------------- include 'lang.inc' +include '..\..\..\macros.inc' include 'ascl.inc' include 'ascgl.inc' include 'asjc.inc' @@ -64,7 +65,7 @@ still: .no_game: mov eax,11 - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -81,11 +82,11 @@ still: key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall cmp ah,key_Esc ; if Esc ? jne .no_q - mov eax,-1 - int 0x40 + or eax,-1 + mcall .no_q: if_e dword [mode],4,.end_if6 @@ -117,13 +118,13 @@ still: button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose mov eax,-1 ; close this program - int 0x40 + mcall noclose: jmp still @@ -139,7 +140,7 @@ show_screen: ; flips the virtual screen to the window mov ebx,screen mov ecx,X_SIZE*65536+Y_SIZE mov edx,4*65536+20 - int 0x40 + mcall pop_abc ret @@ -458,7 +459,7 @@ fast_gfx: mov eax,37 ; get mouse position mov ebx,1 - int 0x40 + mcall shr eax,16 mov [x],eax add eax,[s_x] diff --git a/programs/games/arcanii/trunk/ascgl.inc b/programs/games/arcanii/trunk/ascgl.inc index 666850d23b..8727b63a48 100644 --- a/programs/games/arcanii/trunk/ascgl.inc +++ b/programs/games/arcanii/trunk/ascgl.inc @@ -373,7 +373,7 @@ macro drawfbox x,y,xs,ys,color words2reg ecx,y,ys ;y*65536+ys mov edx,color mov eax,13 - int 0x40 + mcall } ; FPS - Set Frame Per Second Display @@ -390,7 +390,7 @@ ttt dd 0 spdat: get_time: mov eax,3 - int 0x40 + mcall cmp eax,[savetime] jne new_time inc [fps_cntr] @@ -409,7 +409,7 @@ if ~(delcolor eq ) mov ecx,y*65536+7 mov edx,delcolor mov eax,13 - int 0x40 + mcall end if mov dword [ttt],fps_show_frequency mov eax,47 @@ -418,7 +418,7 @@ end if mov edx,x*65536+y mov esi,color mov ecx,[fps] - int 0x40 + mcall no_out_fps: } @@ -497,7 +497,7 @@ macro setimg x , y ,arg3 ; wordstoreg ecx,[arg3],[arg3+4] ; wordstoreg edx,x,y words2reg edx, x , y ;arg1*65536+arg2 - int 0x40 + mcall } macro setframe x , y ,arg3 @@ -508,7 +508,7 @@ macro setframe x , y ,arg3 words2reg edx, x , y ;arg1*65536+arg2 add edx,dword [arg3] mov ecx,dword [arg3+4] - int 0x40 + mcall } @@ -1384,4 +1384,3 @@ loop2: gifmacend: } - \ No newline at end of file diff --git a/programs/games/arcanii/trunk/ascl.inc b/programs/games/arcanii/trunk/ascl.inc index c556932eea..ed4b67c79e 100644 --- a/programs/games/arcanii/trunk/ascl.inc +++ b/programs/games/arcanii/trunk/ascl.inc @@ -50,14 +50,14 @@ open: mov dword [fileinfo+8],1 ; how many blocks to read (1) mov eax,58 mov ebx,fileinfo - int 0x40 + mcall mov eax,[file_load_area+2] shr eax,9 ; поделим на 512 и прибавим 1 - получим число блоков inc eax mov dword [fileinfo+8],eax mov eax,58 mov ebx,fileinfo - int 0x40 + mcall } @@ -143,7 +143,7 @@ asd: mov edx,id mov esi,bcolor mov eax,8 - int 0x40 + mcall mov eax,asd-lab ;calc size mov ebx,6 @@ -168,7 +168,7 @@ asd: mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } @@ -197,7 +197,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -231,12 +231,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,150 ; size 150 bytes - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -244,7 +244,7 @@ new_d: mov eax,58 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -252,7 +252,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall cmp eax,1 je mred @@ -267,14 +267,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -299,15 +299,15 @@ mred: jmp getmesloop mkey: mov eax,2 - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -409,7 +409,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -443,12 +443,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,150 ; size 150 bytes - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -456,7 +456,7 @@ new_d: mov eax,58 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -464,7 +464,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall cmp eax,1 je mred @@ -479,14 +479,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -511,15 +511,15 @@ mred: jmp getmesloop mkey: mov eax,2 - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -671,7 +671,7 @@ rxproc: macro scank { mov eax,10 - int 0x40 + mcall } macro putpix x,y,color @@ -680,7 +680,7 @@ macro putpix x,y,color mov ecx,y mov edx,color mov eax,1 - int 0x40 + mcall } macro bar x,y,sizex,sizey,color @@ -689,7 +689,7 @@ macro bar x,y,sizex,sizey,color words2reg ecx,y,sizey dword2reg edx,color mov eax,13 - int 0x40 + mcall } @@ -708,7 +708,7 @@ macro puttxt x,y,offs,size,color ; mov edx,offs mov esi,size mov eax,4 - int 0x40 + mcall } macro outcount data, x, y, color, numtype @@ -720,7 +720,7 @@ macro outcount data, x, y, color, numtype words2reg edx,x,y mov esi,color mov eax,47 - int 0x40 + mcall } ; SCEVENT - Scan event @@ -728,7 +728,7 @@ macro outcount data, x, y, color, numtype macro scevent red,key,but { mov eax,11 - int 0x40 + mcall dec eax jz red dec eax @@ -742,7 +742,7 @@ macro scevent red,key,but macro wtevent red,key,but { mov eax,10 - int 0x40 + mcall dec eax jz red dec eax @@ -757,7 +757,7 @@ macro timeevent xfps,noevent,red,key,but { mov eax,23 mov ebx,xfps - int 0x40 + mcall cmp eax,0 je noevent dec eax @@ -774,7 +774,7 @@ macro timeevent xfps,noevent,red,key,but macro close { mov eax,-1 - int 0x40 + mcall } ; DELAY - Create delay 1/100 sec @@ -785,7 +785,7 @@ macro delay arg1 { mov eax,5 mov ebx,arg1 - int 0x40 + mcall } ; WINDOW - Draw window @@ -800,7 +800,7 @@ macro window arg1,arg2,arg3,arg4,arg5 words2reg ecx,arg2,arg4 mov edx,arg5 mov eax,0 - int 0x40 + mcall } macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 @@ -811,7 +811,7 @@ macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 mov esi,arg6 mov edi,arg7 mov eax,0 - int 0x40 + mcall } @@ -821,7 +821,7 @@ macro startwd { mov eax,12 mov ebx,1 - int 0x40 + mcall } ; ENDWD - End window draw @@ -830,7 +830,7 @@ macro endwd { mov eax,12 mov ebx,2 - int 0x40 + mcall } ; LABEL - Put text to frame @@ -854,7 +854,7 @@ asd: mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } ;Key's diff --git a/programs/games/arcanii/trunk/build_en.bat b/programs/games/arcanii/trunk/build_en.bat index 3f9afc8ad0..84dcbee431 100644 --- a/programs/games/arcanii/trunk/build_en.bat +++ b/programs/games/arcanii/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm arcanii.asm arcanii +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/games/arcanii/trunk/build_ru.bat b/programs/games/arcanii/trunk/build_ru.bat index 7d3a5ed791..a587a05c7c 100644 --- a/programs/games/arcanii/trunk/build_ru.bat +++ b/programs/games/arcanii/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm arcanii.asm arcanii +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/games/arcanoid/trunk/arcanoid.asm b/programs/games/arcanoid/trunk/arcanoid.asm index bef47d8779..58817d4c4e 100644 --- a/programs/games/arcanoid/trunk/arcanoid.asm +++ b/programs/games/arcanoid/trunk/arcanoid.asm @@ -20,6 +20,7 @@ ;****************************************************************************** include 'lang.inc' +include '..\..\..\macros.inc' include 'ascl.inc' include 'ascgl.inc' include 'ascgml.inc' @@ -318,7 +319,7 @@ lose_test: ; mov edx,2 ; mov esi,0x0000ff00 ; mov eax,8 -; int 0x40 +; mcall mov [level],0 mov [nextlev],0 mov [againbut],1 @@ -334,7 +335,7 @@ stl2: key: ; key mov eax,2 - int 0x40 + mcall cmp ah,key_Left jne no_l sub dword [ply1rx],50 ;24 ;16 @@ -359,11 +360,11 @@ no_sp: button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose mov eax,-1 ; close this program - int 0x40 + mcall noclose: cmp ah,2 jne noplayagain @@ -432,10 +433,10 @@ draw_window: mov edx,2 mov esi,0x0000aa00 mov eax,8 - int 0x40 + mcall mov ecx,260*65536+12 mov edx,1 - int 0x40 + mcall label 152,244,'Play again?',cl_Red+font_Big jmp elev nlev: @@ -447,10 +448,10 @@ nlev: mov edx,2 mov esi,0x0000aa00 mov eax,8 - int 0x40 + mcall mov ecx,260*65536+12 mov edx,1 - int 0x40 + mcall label 152,244,'Next level?',cl_Red+font_Big elev: diff --git a/programs/games/arcanoid/trunk/ascgl.inc b/programs/games/arcanoid/trunk/ascgl.inc index 117684e3e8..78aadcad30 100644 --- a/programs/games/arcanoid/trunk/ascgl.inc +++ b/programs/games/arcanoid/trunk/ascgl.inc @@ -373,7 +373,7 @@ macro drawfbox x,y,xs,ys,color wordstoreg ecx,y,ys ;y*65536+ys mov edx,color mov eax,13 - int 0x40 + mcall } ; FPS - Set Frame Per Second Display @@ -390,7 +390,7 @@ ttt dd 0 spdat: get_time: mov eax,3 - int 0x40 + mcall cmp eax,[savetime] jne new_time inc [fps_cntr] @@ -409,7 +409,7 @@ if ~(delcolor eq ) mov ecx,y*65536+7 mov edx,delcolor mov eax,13 - int 0x40 + mcall end if mov dword [ttt],fps_show_frequency mov eax,47 @@ -418,7 +418,7 @@ end if mov edx,x*65536+y mov esi,color mov ecx,[fps] - int 0x40 + mcall no_out_fps: } @@ -496,7 +496,7 @@ macro setimg x , y ,arg3 add cx,[arg3+4] ; wordstoreg ecx,[arg3],[arg3+4] wordstoreg edx, x , y ;arg1*65536+arg2 - int 0x40 + mcall } macro setframe x , y ,arg3 @@ -507,7 +507,7 @@ macro setframe x , y ,arg3 wordstoreg edx, x , y ;arg1*65536+arg2 add edx,dword [arg3] mov ecx,dword [arg3+4] - int 0x40 + mcall } diff --git a/programs/games/arcanoid/trunk/ascgml.inc b/programs/games/arcanoid/trunk/ascgml.inc index e1d3107b6d..89654d2233 100644 --- a/programs/games/arcanoid/trunk/ascgml.inc +++ b/programs/games/arcanoid/trunk/ascgml.inc @@ -1,4 +1,3 @@ -lang equ ru ; ; Assembler diff --git a/programs/games/arcanoid/trunk/ascl.inc b/programs/games/arcanoid/trunk/ascl.inc index 20a18bf31d..38e6f7b4a7 100644 --- a/programs/games/arcanoid/trunk/ascl.inc +++ b/programs/games/arcanoid/trunk/ascl.inc @@ -1,5 +1,3 @@ -lang equ ru ; ru en fr ge fi - ; ; Assembler ; SMALL @@ -48,14 +46,14 @@ open: mov dword [fileinfo+8],1 ; how many blocks to read (1) mov eax,58 mov ebx,fileinfo - int 0x40 + mcall mov eax,[file_load_area+2] shr eax,9 ; поделим на 512 и прибавим 1 - получим число блоков inc eax mov dword [fileinfo+8],eax mov eax,58 mov ebx,fileinfo - int 0x40 + mcall } @@ -90,7 +88,7 @@ asd: mov edx,id mov esi,bcolor mov eax,8 - int 0x40 + mcall mov eax,asd-lab ;calc size mov ebx,6 @@ -115,7 +113,7 @@ asd: mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } @@ -144,7 +142,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -178,12 +176,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,150 ; size 150 bytes - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -191,7 +189,7 @@ new_d: mov eax,58 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -199,7 +197,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall cmp eax,1 je mred @@ -214,14 +212,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -246,15 +244,15 @@ mred: jmp getmesloop mkey: mov eax,2 - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -356,7 +354,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -390,12 +388,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,120 ; size 150 bytes - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -403,7 +401,7 @@ new_d: mov eax,58 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -411,7 +409,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall cmp eax,1 je mred @@ -426,14 +424,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -457,15 +455,15 @@ mred: call redproc jmp getmesloop mkey: - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -617,7 +615,7 @@ rxproc: macro scank { mov eax,10 - int 0x40 + mcall } macro putpix x,y,color @@ -626,7 +624,7 @@ macro putpix x,y,color mov ecx,y mov edx,color mov eax,1 - int 0x40 + mcall } macro puttxt x,y,offs,size,color @@ -639,7 +637,7 @@ macro puttxt x,y,offs,size,color mov edx,offs mov esi,size mov eax,4 - int 0x40 + mcall } macro outcount data, x, y, color, numtype @@ -651,7 +649,7 @@ macro outcount data, x, y, color, numtype wordstoreg edx,x,y mov esi,color mov eax,47 - int 0x40 + mcall } ; SCEVENT - Scan event @@ -659,7 +657,7 @@ macro outcount data, x, y, color, numtype macro scevent red,key,but { mov eax,11 - int 0x40 + mcall dec eax jz red dec eax @@ -673,7 +671,7 @@ macro scevent red,key,but macro wtevent red,key,but { mov eax,10 - int 0x40 + mcall dec eax jz red dec eax @@ -688,7 +686,7 @@ macro timeevent xfps,noevent,red,key,but { mov eax,23 mov ebx,xfps - int 0x40 + mcall cmp eax,0 je noevent dec eax @@ -705,7 +703,7 @@ macro timeevent xfps,noevent,red,key,but macro close { mov eax,-1 - int 0x40 + mcall } ; DELAY - Create delay 1/100 sec @@ -716,7 +714,7 @@ macro delay arg1 { mov eax,5 mov ebx,arg1 - int 0x40 + mcall } ; WINDOW - Draw window @@ -731,7 +729,7 @@ macro window arg1,arg2,arg3,arg4,arg5 wordstoreg ecx,arg2,arg4 mov edx,arg5 mov eax,0 - int 0x40 + mcall } macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 @@ -742,7 +740,7 @@ macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 mov esi,arg6 mov edi,arg7 mov eax,0 - int 0x40 + mcall } @@ -752,7 +750,7 @@ macro startwd { mov eax,12 mov ebx,1 - int 0x40 + mcall } ; ENDWD - End window draw @@ -761,7 +759,7 @@ macro endwd { mov eax,12 mov ebx,2 - int 0x40 + mcall } ; LABEL - Put text to frame @@ -782,7 +780,7 @@ asd: mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } ;Key's diff --git a/programs/games/arcanoid/trunk/build_en.bat b/programs/games/arcanoid/trunk/build_en.bat index fd4e1ac468..3e384dd3a3 100644 --- a/programs/games/arcanoid/trunk/build_en.bat +++ b/programs/games/arcanoid/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm arcanoid.asm arcanoid +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/games/arcanoid/trunk/build_ru.bat b/programs/games/arcanoid/trunk/build_ru.bat index b2daa0cacc..8f28f02349 100644 --- a/programs/games/arcanoid/trunk/build_ru.bat +++ b/programs/games/arcanoid/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm arcanoid.asm arcanoid +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/games/c4/trunk/build.bat b/programs/games/c4/trunk/build.bat new file mode 100644 index 0000000000..eb2e7b3c70 --- /dev/null +++ b/programs/games/c4/trunk/build.bat @@ -0,0 +1,2 @@ +@nasmw -f bin -o c4 c4.asm +@pause \ No newline at end of file diff --git a/programs/games/chess/trunk/chess.asm b/programs/games/chess/trunk/chess.asm index 3c06b26e89..19cf228805 100644 --- a/programs/games/chess/trunk/chess.asm +++ b/programs/games/chess/trunk/chess.asm @@ -8,19 +8,17 @@ appname equ 'Chess Client for Chessclub.com ' version equ '0.2' use32 - - org 0x0 - - db 'MENUET00' ; 8 byte id - dd 38 ; required os - dd START ; program start - dd I_END ; program image size - dd 0x100000 ; required amount of memory - ; esp = 0x7FFF0 - dd 0x00000000 ; reserved=no extended header + org 0x0 + db 'MENUET01' ; header + dd 0x01 ; header version + dd START ; entry point + dd I_END ; image size + dd I_END+0x10000 ; required memory + dd I_END+0x10000 ; esp + dd 0x0 , 0x0 ; I_Param , I_Path include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' ;file_info: ; @@ -67,7 +65,7 @@ START: ; start of execution mov eax,70 ; mov ebx,file_info mov ebx,file_info - int 0x40 + mcall mov esi,0x4000+22*3+4+24*2 mov edi,0x10000+18*3 @@ -129,7 +127,7 @@ still: mov eax,53 mov ebx,6 mov ecx,[socket] - int 0x40 + mcall mov ebx, [socket_status] mov [socket_status], eax @@ -142,7 +140,7 @@ still: waitev: mov eax,23 ; wait here for event mov ebx,20 - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -156,7 +154,7 @@ waitev: mov eax, 53 mov ebx, 2 mov ecx, [socket] - int 0x40 + mcall cmp eax, 0 jne read_input @@ -169,7 +167,7 @@ read_input: mov eax, 53 mov ebx, 3 mov ecx, [socket] - int 0x40 + mcall pop ecx call handle_data @@ -178,7 +176,7 @@ read_input: mov eax, 53 mov ebx, 2 mov ecx, [socket] - int 0x40 + mcall pop ecx cmp eax, 0 @@ -273,7 +271,7 @@ drsq: dbl22: mov eax,13 - int 0x40 + mcall pop ebx eax @@ -334,7 +332,7 @@ draw_pawn: shr edx,1 and edx,0x7f7f7f nobl: - int 0x40 + mcall nowp: popa @@ -465,7 +463,7 @@ draw_board: shl ecx,16 add ecx,46*8 mov edx,[wcolor] - int 0x40 + mcall mov eax,4 ; numbers at left mov ebx,[boardx] @@ -477,7 +475,7 @@ draw_board: mov edx,chess_board+80+5 mov esi,3 db1: - int 0x40 + mcall add edx,80*2 add ebx,[boardxs] cmp edx,chess_board+80*16 @@ -494,7 +492,7 @@ draw_board: shl ecx,16 add ecx,10 mov edx,[wcolor] - int 0x40 + mcall mov eax,4 ; letters at bottom mov ebx,[boardx] @@ -508,7 +506,7 @@ draw_board: mov edx,chess_board+80*17+8 mov esi,4 db3: - int 0x40 + mcall mov edi,[boardxs] shl edi,16 add ebx,edi @@ -530,7 +528,7 @@ draw_board: shl ecx,16 add ecx,10 mov edx,[wcolor] - int 0x40 + mcall mov eax,4 mov ebx,(conx)*65536 @@ -538,7 +536,7 @@ draw_board: mov ecx,[tcolor] mov edx,chess_board+80*7+59-1 mov esi,20 - int 0x40 + mcall mov edi,74 cmp [chess_board+80+5],byte '1' @@ -552,7 +550,7 @@ draw_board: shl ecx,16 add ecx,10 mov edx,[wcolor] - int 0x40 + mcall mov eax,4 mov ebx,(conx)*65536 @@ -560,7 +558,7 @@ draw_board: mov ecx,[tcolor] mov edx,chess_board+80*9+59-1 mov esi,20 - int 0x40 + mcall ; move # @@ -568,7 +566,7 @@ draw_board: mov ebx,conx*65536+120 mov ecx,200*65536+10 mov edx,[wcolor] - int 0x40 + mcall mov eax,4 mov ebx,conx*65536 @@ -576,7 +574,7 @@ draw_board: mov ecx,[tcolor] mov edx,chess_board+80*1+46 mov esi,30 - int 0x40 + mcall no_change_in_board: @@ -621,7 +619,7 @@ state2: mov ebx,7 mov ecx,[socket] mov esi, telnetrep - int 0x40 + mcall ret hd001: @@ -704,7 +702,7 @@ hd001: key: ; KEY mov eax,2 ; send to modem - int 0x40 + mcall mov ebx, [socket_status] cmp ebx, 4 ; connection open? @@ -743,17 +741,17 @@ hd001: button: ; BUTTON mov eax,17 - int 0x40 + mcall cmp ah,1 ; CLOSE PROGRAM jne noclose mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall mov eax,-1 - int 0x40 + mcall noclose: cmp ah, 4 ; connect @@ -803,7 +801,7 @@ tm_000: mov ebx,7 mov ecx,[socket] mov esi, tx_buff - int 0x40 + mcall pop bx mov al, [echo] cmp al, 0 @@ -832,7 +830,7 @@ disconnect: mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall ret @@ -847,7 +845,7 @@ getlp: push ecx mov eax, 53 mov ebx, 9 - int 0x40 + mcall pop ecx cmp eax, 0 ; is this local port in use? jz getlp ; yes - so try next @@ -864,7 +862,7 @@ getlp: mov esi, edx movzx edx, word [port] ; telnet port id mov edi,1 ; active open - int 0x40 + mcall mov [socket], eax popa @@ -884,10 +882,10 @@ draw_window: mov eax,12 mov ebx,1 - int 0x40 + mcall mov eax,14 - int 0x40 + mcall mov ebx,eax mov ecx,eax @@ -910,8 +908,8 @@ draw_window: mov cx,470 mov edx,[wcolor] add edx,0x13000000 - mov edi,header - int 0x40 + mov edi,title + mcall call display_status @@ -920,13 +918,13 @@ draw_window: mov ecx,cony*65536+15 mov esi,[wbutton] mov edx,4 - int 0x40 + mcall mov eax,4 ; Button text mov ebx,(conx+4)*65536+cony+4 mov ecx,0xffffff mov edx,cont mov esi,conlen-cont - int 0x40 + mcall mov eax,8 ; BUTTON 5: disconnect @@ -934,13 +932,13 @@ draw_window: mov ecx,dcony*65536+15 mov edx,5 mov esi,[wbutton] - int 0x40 + mcall mov eax,4 ; Button text mov ebx,(dconx+4)*65536+dcony+4 mov ecx,0x00ffffff mov edx,dist mov esi,dislen-dist - int 0x40 + mcall xor eax,eax @@ -967,7 +965,7 @@ draw_window: prqs: - int 0x40 + mcall add ebx,10 add edx,30 cmp [edx],byte 'x' @@ -975,7 +973,7 @@ draw_window: mov eax,12 mov ebx,2 - int 0x40 + mcall popa @@ -991,7 +989,7 @@ display_status: mov ebx, statusx*65536+80 mov ecx, statusy*65536 + 16 mov edx, [wcolor] - int 0x40 + mcall mov esi,contlen-contt ; display connected status mov edx, contt @@ -1004,7 +1002,7 @@ display_status: mov eax,4 ; status text mov ebx,statusx*65536+statusy+2 mov ecx,[tcolor] - int 0x40 + mcall popa ret @@ -1066,7 +1064,7 @@ draw_text: mov ebx,10*65536+532 mov ecx,420*65536+40 mov edx,[wtcom] - int 0x40 + mcall mov eax,4 mov ebx,10*65536+420 @@ -1076,7 +1074,7 @@ draw_text: dtl3: - int 0x40 + mcall add edx,80 add ebx,10 cmp edx,texts+4*80 @@ -1117,11 +1115,11 @@ read_string: mov edi,string f11: mov eax,10 - int 0x40 + mcall cmp eax,2 jne read_done mov eax,2 - int 0x40 + mcall shr eax,8 cmp eax,13 je read_done @@ -1169,7 +1167,7 @@ print_text: shl ecx,16 mov cx,8 mov edx,[wcolor] - int 0x40 + mcall mov eax,4 mov ebx,[string_x] @@ -1178,7 +1176,7 @@ print_text: mov ecx,[tcolor] mov edx,string mov esi,[string_length] - int 0x40 + mcall popa ret @@ -1218,7 +1216,7 @@ tcolor dd 0x000000 sq_black dd 0x336688 ; 666666 sq_white dd 0xffffff -header db appname,version,0 +title db appname,version,0 setipt db ' . . .' setiplen: diff --git a/programs/games/chess/trunk/macros.inc b/programs/games/chess/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/games/chess/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/games/freecell/freecell.ASM b/programs/games/freecell/freecell.ASM index d4e89ed012..33d8e795bd 100644 --- a/programs/games/freecell/freecell.ASM +++ b/programs/games/freecell/freecell.ASM @@ -7,7 +7,7 @@ ; e-mail: gorsash@mail.ru -include "macros.inc" +include "..\..\macros.inc" meos_app_start code @@ -16,7 +16,7 @@ code wait_event: mov eax, 10 - int 0x40 + mcall cmp eax, 1 ; if event == 1 je redraw ; jump to redraw handler @@ -36,13 +36,13 @@ code key: ; key event handler mov eax, 2 ; get key code - int 0x40 + mcall jmp wait_event button: ; button event handler mov eax, 17 ; get button identifier - int 0x40 + mcall cmp ah, 1 je exit_app ; return if button id != 1 @@ -68,7 +68,7 @@ code exit_app: mov eax, -1 ; exit application - int 0x40 + mcall common_card: sub ah, 2 ;going from number of card to number of column @@ -596,30 +596,30 @@ code mov ebx,3 mov ecx,syscolors mov edx,sizeof.system_colors - int 0x40 + mcall mov eax, 12 ; start drawing mov ebx, 1 - int 0x40 + mcall mov eax, 0 ; create and draw the window mov ebx, 100 * 65536 + 8 * cardwidth + 10 + 7 * columnspace mov ecx, 100 * 65536 + 500 mov edx, 0x13008000 - mov edi, header - int 0x40 + mov edi, title + mcall mov eax, 9 ; getting window info mov ebx, process_info mov ecx, -1 ; we want to know info of our window - int 0x40 + mcall - mov eax, [process_info.y_size] + mov eax, [process_info.box.height] mov [WindowHeight], ax - mov eax, [process_info.x_size] + mov eax, [process_info.box.width] mov [WindowWidth], ax ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -628,11 +628,11 @@ code mov eax, 13 mov ebx, 5 shl ebx, 16 - add bx, word [process_info.x_size] + add bx, word [process_info.box.width] sub bx, 9 mov ecx, 22 shl 16 + topbuttonsbarheight - 1 mov edx, [syscolors.work_graph] - int $40 + mcall ; draw button "new game" @@ -641,14 +641,14 @@ code mov ecx, 22 shl 16 + topbuttonsbarheight - 2 mov edx, 1 + 8 + 4 + 4 + 1 ;button id mov esi, [syscolors.work_button] - int $40 + mcall mov eax, 4 mov ebx, 20 shl 16 + 22 + topbuttonsbarheight/2 - 4 mov ecx, [syscolors.work_button_text] mov edx, new_game mov esi, new_game_len - int $40 + mcall ; draw button "exit" @@ -657,28 +657,28 @@ code mov ecx, 22 shl 16 + topbuttonsbarheight - 2 mov edx, 1 + 8 + 4 + 4 + 2 ;button id mov esi, [syscolors.work_button] - int $40 + mcall mov eax, 4 mov ebx, (40 + 80) shl 16 + 22 + topbuttonsbarheight/2 - 4 mov ecx, [syscolors.work_button_text] mov edx, exit mov esi, exit_len - int $40 + mcall ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; draw separators between home, temp and common cells mov eax, 13 ; horizontal line mov ebx, 5 shl ebx, 16 - add bx, word [process_info.x_size] + add bx, word [process_info.box.width] sub bx, 9 mov ecx, (21 + topbuttonsbarheight + cardheight + columnspace) shl 16+1 mov edx, [syscolors.work_graph] - int $40 + mcall ; verical line - mov eax, [process_info.x_size] + mov eax, [process_info.box.width] mov edx, 0 mov ecx, 2 div ecx @@ -691,7 +691,7 @@ code mov ecx, (21 + topbuttonsbarheight) shl 16 + cardheight + columnspace mov edx, [syscolors.work_graph] mov eax, 13 - int $40 + mcall ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; draw temp buttons @@ -721,7 +721,7 @@ code mov [row], eax mov [column], edx - mov eax, [process_info.x_size] ; width of window + mov eax, [process_info.box.width] ; width of window sub eax, 10 sub eax, cardwidth mov ebx, 7 @@ -768,7 +768,7 @@ code mov edx, [column] add edx, 01000000000000000000000000000000b + 2 + 8; button id = column ; id = 1 reserved as close button - int $40 + mcall inc [j] @@ -804,7 +804,7 @@ code mov [row], eax mov [column], edx - mov eax, [process_info.x_size] ; width of window + mov eax, [process_info.box.width] ; width of window sub eax, 10 sub eax, cardwidth mov ebx, 7 @@ -840,7 +840,7 @@ code add edx, 01000000000000000000000000000000b + 2 + 8 + 4 ; button id ; id = 1 reserved as close button - int $40 + mcall inc [j] @@ -884,7 +884,7 @@ code mov [row], eax mov [column], edx - mov eax, [process_info.x_size] ; width of window + mov eax, [process_info.box.width] ; width of window sub eax, 10 sub eax, cardwidth mov ebx, 7 @@ -955,7 +955,7 @@ code mov edx, [column] add edx, 01000000000000000000000000000000b + 2; button id = column + 2, ; id = 1 reserved as close button - int $40 + mcall .no_define_button: @@ -971,7 +971,7 @@ code mov eax, 12 ; finish drawing mov ebx, 2 - int $40 + mcall ret @@ -1050,7 +1050,7 @@ code .exit: mov eax, -1 - int $40 + mcall .later: @@ -1105,7 +1105,7 @@ code add ecx, 2 shl ecx, 16 mov cx, cardheight - 4 - int $40 + mcall ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -1119,28 +1119,28 @@ code xor cx, cx mov cx, cardheight - 2 * radius - 2 mov edx, [blackcolor] - int $40 + mcall mov ebx, [xpos] ; left white line inc ebx shl ebx, 16 mov bx, 1 mov edx, [bgcolor] - int $40 + mcall mov ebx, [xpos] ; right black line add ebx, cardwidth - 1 shl ebx, 16 mov bx, 1 mov edx, [blackcolor] - int $40 + mcall mov ebx, [xpos] ; right white line add ebx, cardwidth - 2 shl ebx, 16 mov bx, 1 mov edx, [bgcolor] - int $40 + mcall ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -1153,28 +1153,28 @@ code shl ebx, 16 mov bx, cardwidth - 2 * radius - 2 mov edx, [blackcolor] - int $40 + mcall mov ecx, [ypos] ; top white line inc ecx shl ecx, 16 mov cx, 1 mov edx, [bgcolor] - int $40 + mcall mov ecx, [ypos] ; bottom black line add ecx, cardheight - 1 shl ecx, 16 mov cx, 1 mov edx, [blackcolor] - int $40 + mcall mov ecx, [ypos] ; bottom white line add ecx, cardheight - 2 shl ecx, 16 mov cx, 1 mov edx, [bgcolor] - int $40 + mcall ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -1185,81 +1185,81 @@ code mov ecx, [ypos] inc ebx add ecx, 4 - int $40 + mcall dec ecx - int $40 + mcall dec ecx inc ebx - int $40 + mcall dec ecx inc ebx - int $40 + mcall inc ebx - int $40 + mcall mov ebx, [xpos] ;drawing top right corner mov ecx, [ypos] add ebx, cardwidth - 2 add ecx, 4 - int $40 + mcall dec ecx - int $40 + mcall dec ebx dec ecx - int $40 + mcall dec ebx dec ecx - int $40 + mcall dec ebx - int $40 + mcall ;drawing bottom left corner mov ebx, [xpos] mov ecx, [ypos] inc ebx add ecx, cardheight - 5 - int $40 + mcall inc ecx - int $40 + mcall inc ebx inc ecx - int $40 + mcall inc ebx inc ecx - int $40 + mcall inc ebx - int $40 + mcall ;drawing bottom right corner mov ebx, [xpos] mov ecx, [ypos] add ebx, cardwidth - 2 add ecx, cardheight - 5 - int $40 + mcall inc ecx - int $40 + mcall dec ebx inc ecx - int $40 + mcall dec ebx inc ecx - int $40 + mcall dec ebx - int $40 + mcall ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -1303,7 +1303,7 @@ code mov [imageflipaddr], heart_updown mov ebx, heart_small - int $40 + mcall jmp .selnumber @@ -1314,7 +1314,7 @@ code mov [imageflipaddr], diamond_updown mov ebx, diamond_small - int $40 + mcall jmp .selnumber @@ -1325,7 +1325,7 @@ code mov [imageflipaddr], club_updown mov ebx, club_small - int $40 + mcall jmp .selnumber @@ -1336,7 +1336,7 @@ code mov [imageflipaddr], spade_updown mov ebx, spade_small - int $40 + mcall @@ -1419,7 +1419,7 @@ code mov [s], byte 'A' mov edx, s mov esi, 1 - int $40 + mcall call draw_1 jmp .end @@ -1429,7 +1429,7 @@ code mov [s], byte '2' mov edx, s mov esi, 1 - int $40 + mcall call draw_2 jmp .end @@ -1440,7 +1440,7 @@ code mov [s], byte '3' mov edx, s mov esi, 1 - int $40 + mcall call draw_1 call draw_2 @@ -1452,7 +1452,7 @@ code mov [s], byte '4' mov edx, s mov esi, 1 - int $40 + mcall call draw_3 jmp .end @@ -1462,7 +1462,7 @@ code mov [s], byte '5' mov edx, s mov esi, 1 - int $40 + mcall call draw_1 call draw_3 @@ -1474,7 +1474,7 @@ code mov [s], byte '6' mov edx, s mov esi, 1 - int $40 + mcall call draw_3 call draw_4 @@ -1486,7 +1486,7 @@ code mov [s], byte '7' mov edx, s mov esi, 1 - int $40 + mcall call draw_3 call draw_4 @@ -1499,7 +1499,7 @@ code mov [s], byte '8' mov edx, s mov esi, 1 - int $40 + mcall call draw_3 call draw_5 @@ -1511,7 +1511,7 @@ code mov [s], byte '9' mov edx, s mov esi, 1 - int $40 + mcall call draw_3 call draw_5 @@ -1524,7 +1524,7 @@ code mov [s], word '10' mov edx, s mov esi, 2 - int $40 + mcall call draw_3 call draw_5 @@ -1538,7 +1538,7 @@ code mov [s], byte 'J' mov edx, s mov esi, 1 - int $40 + mcall jmp .end @@ -1547,7 +1547,7 @@ code mov [s], byte 'Q' mov edx, s mov esi, 1 - int $40 + mcall jmp .end @@ -1556,7 +1556,7 @@ code mov [s], byte 'K' mov edx,s mov esi, 1 - int $40 + mcall .end: @@ -1642,7 +1642,7 @@ code mov dx, word [ypos] add dx, cardheight/2 - 8 mov eax, 7 - int $40 + mcall ret ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -1658,7 +1658,7 @@ code mov dx, word [ypos] add dx, margin mov eax, 7 - int $40 + mcall ;draw bottom image mov ebx, [imageflipaddr] mov edx, [xpos] @@ -1667,7 +1667,7 @@ code mov dx, word [ypos] add dx, cardheight - 16 - margin mov eax, 7 - int $40 + mcall ret ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -1682,7 +1682,7 @@ code mov dx, word [ypos] add dx, margin mov eax, 7 - int $40 + mcall ;draw bottom left image mov ebx, [imageflipaddr] mov edx, [xpos] @@ -1691,7 +1691,7 @@ code mov dx, word [ypos] add dx, cardheight - margin - 16 mov eax, 7 - int $40 + mcall ;draw top right image mov ebx, [imageaddr] mov edx, [xpos] @@ -1700,7 +1700,7 @@ code mov dx, word [ypos] add dx, margin mov eax, 7 - int $40 + mcall ;draw bottom right image mov ebx, [imageflipaddr] mov edx, [xpos] @@ -1709,7 +1709,7 @@ code mov dx, word [ypos] add dx, cardheight - margin - 16 mov eax, 7 - int $40 + mcall ret ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -1724,7 +1724,7 @@ code mov dx, word [ypos] add dx, cardheight/2 - 8 mov eax, 7 - int $40 + mcall ;draw center right image mov edx, [xpos] add edx, cardwidth - margin - 16 @@ -1732,7 +1732,7 @@ code mov dx, word [ypos] add dx, cardheight/2 - 8 mov eax, 7 - int $40 + mcall ret ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -1747,7 +1747,7 @@ code mov dx, word [ypos] add dx, cardheight * 3 / 9 mov eax, 7 - int $40 + mcall ;draw bottom left image mov ebx, [imageflipaddr] mov edx, [xpos] @@ -1756,7 +1756,7 @@ code mov dx, word [ypos] add dx, cardheight * 5 / 9 mov eax, 7 - int $40 + mcall ;draw top right image mov ebx, [imageaddr] mov edx, [xpos] @@ -1765,7 +1765,7 @@ code mov dx, word [ypos] add dx, cardheight * 3 / 9 mov eax, 7 - int $40 + mcall ;draw bottom right image mov ebx, [imageflipaddr] mov edx, [xpos] @@ -1774,7 +1774,7 @@ code mov dx, word [ypos] add dx, cardheight * 5 / 9 mov eax, 7 - int $40 + mcall ret ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -1788,7 +1788,7 @@ code mov dx, word [ypos] add dx, cardheight * 2 / 9 mov eax, 7 - int $40 + mcall ret @@ -1802,7 +1802,7 @@ code mov dx, word [ypos] add dx, cardheight * 6 / 9 mov eax, 7 - int $40 + mcall ret @@ -1811,7 +1811,7 @@ code push eax mov eax, 3 - int 0x40 + mcall mov ebx, $A59E3F1C mul ebx @@ -1978,7 +1978,7 @@ code ; <--- initialised data ---> data - header db 'Freecell',0 + title db 'Freecell',0 new_game: db "New game" new_game_len = $ - new_game diff --git a/programs/games/hunter/trunk/build.bat b/programs/games/hunter/trunk/build.bat new file mode 100644 index 0000000000..336955b861 --- /dev/null +++ b/programs/games/hunter/trunk/build.bat @@ -0,0 +1,2 @@ +@fasm hunter.asm hunter +@pause \ No newline at end of file diff --git a/programs/games/hunter/trunk/hunter.asm b/programs/games/hunter/trunk/hunter.asm new file mode 100644 index 0000000000..e9076d6ff8 --- /dev/null +++ b/programs/games/hunter/trunk/hunter.asm @@ -0,0 +1,671 @@ +; +; Hunter. Version 1.1. +; The game application for MeOS game compo 05.03.2005 - 12.03.2005 +; +; Author: Trans +; Date: 07.03.2005 - 08.03.2005 +; Modification: 08.05.2007 +; Compiler: FASM +; Target: MenuetOS game +; + +include '..\..\..\macros.inc' + +use32 + + org 0x0 + + db 'MENUET01' ; 8 byte id + dd 0x01 ; header version + dd START ; start of code + dd I_END ; size of image + dd end_memory ;0x180000 ; memory for app + dd start_stack ; esp + dd 0x0 , 0x0 ; I_Param , I_Icon + +START: ; start of execution + mov eax,40 + mov ebx,00100111b + mcall + + mov eax,26 + mov ebx,9 + mcall + mov [second_count],eax + + call init_object + + call draw_window + +still: + +; mov eax,23 ; wait here for event +; mov ebx,10 +; mcall + + mov eax,05 + mov ebx,5 + mcall + mov eax,11 + mcall + + push eax + mov eax,26 + mov ebx,9 + mcall + mov ebx,eax + sub eax,[second_count] + cmp ax,100 + jb still_continue_00 + inc dword [time_count] + mov [second_count],ebx + xor edx,edx + mov eax,ebx + mov ebx,30 + div ebx + cmp dl,0 + jnz still_loc_01 + call change_objects_speed +still_loc_01: + xor eax,eax + mov esi,forward_list + mov ecx,4 +still_loc_00: + cmp eax,dword [esi] + jnz still_continue_00 + add esi,4 + loop still_loc_00 +; call set_current_objects_list + call init_object +still_continue_00: + pop eax + + call movie_objects + + cmp eax,1 ; redraw request ? + je red + cmp eax,2 ; key in buffer ? + je key + cmp eax,3 ; button in buffer ? + je button + cmp eax,6 ; mouse ? + je mouse + + call draw_frame + + jmp still + + red: ; redraw + call draw_window + jmp still + + key: ; key + mov eax,2 ; just read it and ignore + mcall + cmp al,0 + jnz still + cmp byte [menu_flag],0 + jnz still + cmp ah,' ' + jnz key_loc_00 + inc byte [pause_flag] + call draw_frame + call pause_game +key_loc_00: + jmp still + + button: ; button + mov eax,17 ; get id + mcall + + cmp ah,1 ; button id=1 ? + jne noclose + + inc byte [game_over_flag] + call game_over_draw + + mov eax,-1 ; close this program + mcall + noclose: + + jmp still + + +mouse: ; mouse + mov eax,37 ; get coordinate + xor ebx,ebx + inc ebx + mcall + + cmp ax,20 + jae mouse_loc_00 + mov ax,20 +mouse_loc_00: + sub ax,20 + shr ax,1 + ror eax,16 + shr ax,1 + push ax + ror eax,16 + mov dword [mouse_coord],eax + pop ax + cmp ax,110 + ja mouse_loc_03 + mov byte [gun_angle],0 + jmp mouse_loc_05 +mouse_loc_03: + cmp ax,210 + ja mouse_loc_04 + mov byte [gun_angle],1 + jmp mouse_loc_05 +mouse_loc_04: + mov byte [gun_angle],2 +mouse_loc_05: + + mov eax,37 + xor ebx,ebx + mov bl,2 + mcall + + cmp ax,1 + jnz not_left_button + call left_button_down +not_left_button: + call draw_frame + jmp still + + + + +; ********************************************* +; ******* WINDOW DEFINITIONS AND DRAW ******** +; ********************************************* + + +draw_window: + + + mov eax,12 ; function 12:tell os about windowdraw + mov ebx,1 ; 1, start of draw + mcall + + ; DRAW WINDOW + mov eax,0 ; function 0 : define and draw window + mov ebx,100*65536+640 ; [x start] *65536 + [x size] + mov ecx,100*65536+420 ; [y start] *65536 + [y size] + mov edx,0x13ffffff ; color of work area RRGGBB,8->color gl + mov edi,title ; WINDOW LABEL + mcall + + call draw_frame + + mov eax,12 ; function 12:tell os about windowdraw + mov ebx,2 ; 2, end of draw + mcall + + ret + +;-------------Subprograms------------------------ + +; +; In: +; Out: +draw_frame: + cmp byte [menu_flag],0 + jz df_loc_00 + call draw_menu + retn +df_loc_00: + call draw_backside + mov esi,buf_oblako + mov eax,0*65536+0 + call draw_pict + mov eax,190*65536+23 + call draw_pict_scale_div_2 + mov esi,buf_sun + mov eax,256*65536+0 + call draw_pict + mov esi,buf_rock + mov eax,47*65536+83 + call draw_pict_scale_div_2 + mov eax,0*65536+70 + call draw_pict + + call draw_objects + + mov esi,buf_kust02 + mov eax,256*65536+127 + call draw_pict + mov esi,buf_kust01 + mov eax,0*65536+127 + call draw_pict + mov esi,buf_time + mov eax,5*65536+180 + call draw_pict + mov esi,buf_shots + mov eax,200*65536+180 + call draw_pict + mov esi,buf_lives + mov eax,5*65536+5 + call draw_pict + mov eax,56*65536+3 + call draw_lives + call draw_promakh +; call draw_hole + cmp byte [gun_angle],0 + jnz df_loc_01 + mov esi,buf_gun02 + mov eax,120*65536+151 + call draw_pict + cmp byte [fire_flag],0 + jz df_loc_03 + mov esi,buf_fire02 + mov eax,108*65536+131 + call draw_pict + dec byte [fire_flag] + jmp df_loc_03 +df_loc_01: + cmp byte [gun_angle],2 + jnz df_loc_02 + mov esi,buf_gun01 + mov eax,140*65536+151 + call draw_pict + cmp byte [fire_flag],0 + jz df_loc_03 + mov esi,buf_fire01 + mov eax,167*65536+128 + call draw_pict + dec byte [fire_flag] + jmp df_loc_03 +df_loc_02: + mov esi,buf_gun00 + mov eax,140*65536+144 + call draw_pict + cmp byte [fire_flag],0 + jz df_loc_03 + mov esi,buf_fire00 + mov eax,135*65536+124 + call draw_pict + dec byte [fire_flag] +df_loc_03: +; mov esi,buf_star +; mov eax,300*65536+180 +; call draw_pict + mov esi,buf_score + mov eax,120*65536+5 + call draw_pict + mov eax,260*65536+180 + mov ebx,[shots_count] + call number_print + mov eax,175*65536+3 + mov ebx,[score_count] + call number_print + mov eax,60*65536+180 + mov ebx,[time_count] + call number_print + call draw_mushka + cmp byte [pause_flag],0 + jz df_loc_04 + mov esi,buf_pause + mov eax,90*65536+80 + call draw_pict +df_loc_04: + cmp byte [game_over_flag],0 + jz df_loc_05 + mov esi,buf_gameover + mov eax,[game_over_coord] + call draw_pict +df_loc_05: + + call buffer_scale_on_2 +; call smooth_filter + mov eax,07 + mov ebx,buffer02 + mov ecx,640*65536+400 + mov edx,0*65536+20 + mcall + retn + + +; +; In: +; Out: +draw_menu: + call clear_buffer + mov esi,buf_start + mov eax,60*65536+50 + call draw_pict + mov esi,buf_exit + mov eax,86*65536+120 + call draw_pict + call draw_mushka + call buffer_scale_on_2 + mov eax,07 + mov ebx,buffer02 + mov ecx,640*65536+400 + mov edx,0*65536+20 + mcall + retn + + + +; +; In: +; Out: +pause_game: + mov eax,40 + mov ebx,00000111b + mcall + +pause_game_00: + mov eax,10 ; wait here for event + mcall + + cmp eax,1 ; redraw request ? + je pg_red + cmp eax,2 ; key in buffer ? + je pg_key + cmp eax,3 ; button in buffer ? + je pg_button + jmp pause_game_00 + +pg_red: ; redraw + call draw_window + jmp pause_game_00 + +pg_key: ; key + mov eax,2 ; just read it and ignore + mcall + cmp al,0 + jnz pause_game_00 + cmp ah,' ' + jnz pgk_loc_00 + dec byte [pause_flag] + call draw_frame + mov eax,40 + mov ebx,00100111b + mcall + retn +pgk_loc_00: + jmp pause_game_00 + +pg_button: ; button + mov eax,17 ; get id + mcall + cmp ah,1 ; button id=1 ? + jne pg_noclose + mov eax,-1 ; close this program + mcall +pg_noclose: + jmp pause_game + retn + +; +; In: +; Out: +left_button_down: + cmp byte [menu_flag],0 + jz lbd_loc_00 + call check_menu + retn +lbd_loc_00: + inc dword [shots_count] + inc byte [fire_flag] +; mov eax,[mouse_coord] +; mov [current_hole],eax + call check_kill_object + cmp byte [promakh_count],5 + jnz lbd_loc_01 + mov byte [promakh_count],0 + dec byte [lives_count] + jnz lbd_loc_01 + call draw_frame + mov byte [game_over_flag],1 + call game_over_draw + dec byte [game_over_flag] + inc byte [menu_flag] +lbd_loc_01: + retn + +; +; In: +; Out: +check_menu: + push eax + mov eax,[mouse_coord] + cmp ax,50 + jb cm_loc_00 + cmp ax,90 + ja cm_loc_00 + shr eax,16 + cmp ax,60 + jb cm_loc_00 + cmp ax,260 + ja cm_loc_00 + dec byte [menu_flag] + xor eax,eax + mov [score_count],eax + mov [shots_count],eax + mov [time_count],eax + mov [current_hole],eax + mov [current_hole+4],eax + mov [gun_angle],al + mov [stars_count],al + mov [promakh_count],al + mov byte [lives_count],3 +; call set_current_objects_list + call init_object + pop eax + retn +cm_loc_00: + mov eax,[mouse_coord] + cmp ax,120 + jb cm_loc_01 + cmp ax,160 + ja cm_loc_01 + shr eax,16 + cmp ax,86 + jb cm_loc_01 + cmp ax,234 + ja cm_loc_01 + mov eax,-1 + mcall +cm_loc_01: + pop eax + retn + + +; +; +; +game_over_draw: + pusha + mov dword [game_over_coord],42*65536+0 + mov ecx,15 +god_loc_00: + push ecx + call draw_frame + add word [game_over_coord],5 + mov eax,05 + mov ebx,3 + mcall + pop ecx + loop god_loc_00 +; mov eax,7 + mov edx,0*65536+20 + mov ebx,buffer02 + mov ecx,3 +god_loc_01: + push ecx + mov eax,7 + mov ecx,640*65536+400 + mcall + push ebx + mov eax,05 + mov ebx,5 + mcall + pop ebx + sub ebx,640*3*5 + pop ecx + loop god_loc_01 + mov ecx,4 +god_loc_02: + push ecx + mov eax,7 + mov ecx,640*65536+400 + mcall + push ebx + mov eax,5 + mov ebx,5 + mcall + pop ebx + add ebx,640*3*5 + pop ecx + loop god_loc_02 + mov eax,5 + mov ebx,200 + mcall + popa + retn + +include 'picture.inc' +include 'math.inc' +include 'object.inc' +;----------------Data---------------------------- + +mouse_coord dd 144*65536+84 +pause_flag db 0 ; 0/1 - active/pause +menu_flag db 1 ; 0/1 - game/menu +lives_count db 3 +stars_count db 0 ; 3 Stars = 1 Heart +shots_count dd 0 +time_count dd 0 +score_count dd 0 +second_count dd 0 +game_over_coord dd 0 +gun_angle db 0 ; 0/1/2 - left/vertical/right +game_over_flag db 0 ; 0/1 - continuing/end game +promakh_count db 0 +fire_flag db 0 ; 0/1 - no fire/fire from gun +current_hole dd 0,0,0,0,0,0 +forward_list db 0,0,0,0,0,0,0,0 +back_list db 0,0,0,0,0,0,0,0 +present_objects_list: + dd buf_glass, buf_net, buf_glaz, buf_plane00 + dd buf_heart02, buf_plane01, buf_net, buf_glaz + +title db 'HUNTER 1.2 Trans, 2005',0 + +buf_start: +include 'inc\start.inc' +buf_exit: +include 'inc\exit.inc' +buf_gameover: +include 'inc\gameover.inc' +buf_pause: +include 'inc\pause.inc' +buf_gun00: +include 'inc\gun00.inc' +buf_gun01: +include 'inc\gun01.inc' +buf_gun02: +include 'inc\gun02.inc' +buf_heart: +include 'inc\heart.inc' +buf_star: +include 'inc\star.inc' +buf_lives: +include 'inc\lives.inc' +buf_score: +include 'inc\score.inc' +buf_shots: +include 'inc\shots.inc' +buf_time: +include 'inc\time.inc' +buf_numbers: +;include 'inc\numbers.inc' +buf_num0: +include 'inc\num0.inc' +buf_num1: +include 'inc\num1.inc' +buf_num2: +include 'inc\num2.inc' +buf_num3: +include 'inc\num3.inc' +buf_num4: +include 'inc\num4.inc' +buf_num5: +include 'inc\num5.inc' +buf_num6: +include 'inc\num6.inc' +buf_num7: +include 'inc\num7.inc' +buf_num8: +include 'inc\num8.inc' +buf_num9: +include 'inc\num9.inc' +buf_plus: +include 'inc\plus.inc' +buf_minus: +include 'inc\minus.inc' +buf_sun: +include 'inc\sun.inc' +buf_oblako: +include 'inc\oblako.inc' +buf_mushka: +include 'inc\mushka.inc' +buf_kust01: +include 'inc\kust01.inc' +buf_kust02: +include 'inc\kust02.inc' +buf_glass: +include 'inc\glass.inc' +buf_glaz: +include 'inc\glaz.inc' +buf_net: +include 'inc\net.inc' +buf_plane00: +include 'inc\plane00.inc' +buf_plane01: +include 'inc\plane01.inc' +buf_heart02: +include 'inc\heart02.inc' +buf_rock: +include 'inc\rock.inc' +buf_fire00: +include 'inc\fire00.inc' +buf_fire01: +include 'inc\fire01.inc' +buf_fire02: +include 'inc\fire02.inc' +buf_hole: +include 'inc\hole.inc' + +I_END: + +end_stack: + org $+1000h +start_stack: + + org $+64 ; For stack protect + +movieng_objects: +; For one object - 16 bytes structure: +; dd ; +00 Pointer to object OR 0 - if empty structure +; dd ; +04 Current object coordinate X*65536+Y +; db ; +08 Speed - Maximum 16 (???) +; db ; +09 Amplitude +; db ; +0A Direction 0/1 - right/left +; db ; +0B Object Cost +; dd ; +0C Reserve +; + org $+16*16 + +buffer00: + org $+320*201*3 +buffer01: + org $+100*201*3 +buffer02: + org $+640*401*3 + org $+640*40*3 +end_memory: \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/exit.inc b/programs/games/hunter/trunk/inc/exit.inc new file mode 100644 index 0000000000..6b28977a7c --- /dev/null +++ b/programs/games/hunter/trunk/inc/exit.inc @@ -0,0 +1,1481 @@ +dw 148, 40 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xfb, 0xff, 0xf7, 0xf5, 0xff, 0xf5, 0xf3, 0xff +db 0xf5, 0xf3, 0xff, 0xf5, 0xf3, 0xff, 0xf5, 0xf3, 0xff, 0xf5, 0xf3, 0xff +db 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xff +db 0xf4, 0xf5, 0xff, 0xf3, 0xf5, 0xff, 0xf3, 0xf5, 0xff, 0xf3, 0xf5, 0xff +db 0xf3, 0xf5, 0xff, 0xf2, 0xf5, 0xff, 0xf7, 0xf9, 0xff, 0xfe, 0xfe, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xf4, 0xe3, 0xf4, 0xe3, 0xba, 0xe3 +db 0xdc, 0xaa, 0xdc, 0xdc, 0xa8, 0xdd, 0xde, 0xac, 0xe7, 0xe5, 0xbe, 0xf2 +db 0xef, 0xd4, 0xf7, 0xdf, 0xcc, 0xf5, 0xc3, 0xb2, 0xf0, 0xbb, 0xaa, 0xee +db 0xbc, 0xab, 0xef, 0xad, 0x98, 0xf7, 0x98, 0x7d, 0xfe, 0x8f, 0x74, 0xff +db 0x90, 0x74, 0xff, 0x90, 0x74, 0xff, 0x90, 0x74, 0xff, 0x90, 0x75, 0xff +db 0x90, 0x82, 0xff, 0x90, 0x8d, 0xff, 0x90, 0x90, 0xff, 0x90, 0x90, 0xff +db 0x86, 0x90, 0xff, 0x78, 0x90, 0xff, 0x74, 0x90, 0xff, 0x74, 0x90, 0xff +db 0x73, 0x8f, 0xff, 0x73, 0x90, 0xff, 0x86, 0x9f, 0xff, 0x9f, 0xb3, 0xff +db 0xab, 0xbc, 0xff, 0xbd, 0xca, 0xff, 0xd2, 0xdb, 0xff, 0xe8, 0xee, 0xff +db 0xfb, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xed, 0xd1, 0xed, 0xc4, 0x69, 0xc4, 0xa9, 0x28, 0xa9 +db 0xa3, 0x1a, 0xa2, 0xa3, 0x1a, 0xa5, 0xa4, 0x1c, 0xbd, 0xac, 0x2c, 0xd3 +db 0xb3, 0x3f, 0xd9, 0x8c, 0x37, 0xd7, 0x55, 0x21, 0xd3, 0x47, 0x1b, 0xd0 +db 0x47, 0x1b, 0xd3, 0x43, 0x13, 0xea, 0x3b, 0x9, 0xfd, 0x38, 0x6, 0xff +db 0x38, 0x6, 0xff, 0x38, 0x6, 0xff, 0x38, 0x5, 0xff, 0x38, 0x7, 0xff +db 0x38, 0x1f, 0xff, 0x38, 0x35, 0xff, 0x39, 0x39, 0xff, 0x38, 0x38, 0xff +db 0x27, 0x38, 0xff, 0xe, 0x38, 0xff, 0x5, 0x38, 0xff, 0x6, 0x38, 0xff +db 0x6, 0x38, 0xff, 0x6, 0x39, 0xff, 0xd, 0x3e, 0xff, 0x17, 0x45, 0xff +db 0x1b, 0x48, 0xff, 0x2a, 0x54, 0xff, 0x3c, 0x63, 0xff, 0x63, 0x83, 0xff +db 0xa8, 0xba, 0xff, 0xe3, 0xe9, 0xff, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfa, 0xfc, 0xfa, 0xf1, 0xf5, 0xee +db 0xe7, 0xec, 0xdf, 0xe9, 0xe9, 0xda, 0xf6, 0xf1, 0xe8, 0xfb, 0xf6, 0xf4 +db 0xfd, 0xfb, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xf5, 0xfb, 0xd3, 0x90, 0xd3, 0xa3, 0x16, 0xa3, 0x97, 0x2, 0x97 +db 0x98, 0x2, 0x96, 0x98, 0x2, 0x9a, 0x98, 0x2, 0xb5, 0x99, 0x2, 0xc9 +db 0x99, 0x2, 0xcc, 0x6c, 0x2, 0xcc, 0x3a, 0x2, 0xcb, 0x30, 0x2, 0xca +db 0x32, 0x2, 0xcc, 0x33, 0x2, 0xe8, 0x33, 0x2, 0xfd, 0x34, 0x2, 0xff +db 0x33, 0x2, 0xff, 0x33, 0x2, 0xff, 0x33, 0x2, 0xff, 0x33, 0x1, 0xff +db 0x33, 0x1a, 0xff, 0x33, 0x30, 0xff, 0x34, 0x34, 0xff, 0x33, 0x33, 0xff +db 0x22, 0x33, 0xff, 0x8, 0x33, 0xff, 0x1, 0x33, 0xff, 0x2, 0x33, 0xff +db 0x2, 0x34, 0xff, 0x2, 0x33, 0xff, 0x2, 0x33, 0xff, 0x2, 0x32, 0xff +db 0x2, 0x32, 0xff, 0x2, 0x32, 0xff, 0x1, 0x31, 0xff, 0x3, 0x36, 0xff +db 0x24, 0x50, 0xff, 0x82, 0x9c, 0xff, 0xe4, 0xea, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xfe, 0xfc, 0xe5, 0xf0, 0xde, 0xb7, 0xce, 0xa7, 0x94, 0xb0, 0x79 +db 0x82, 0x9d, 0x5b, 0x96, 0x98, 0x51, 0xc4, 0xa4, 0x6e, 0xd1, 0xa8, 0x88 +db 0xde, 0xbb, 0xaa, 0xf3, 0xe6, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf3, 0xdf, 0xf3, 0xc1, 0x61, 0xc1, 0x9c, 0x9, 0x9c, 0x99, 0x1, 0x99 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9a, 0x2, 0xca +db 0x9a, 0x2, 0xcc, 0x6e, 0x2, 0xcc, 0x3d, 0x2, 0xcc, 0x33, 0x2, 0xcb +db 0x34, 0x2, 0xcd, 0x33, 0x2, 0xe8, 0x33, 0x2, 0xfd, 0x34, 0x2, 0xff +db 0x33, 0x2, 0xff, 0x32, 0x2, 0xff, 0x32, 0x2, 0xff, 0x32, 0x0, 0xff +db 0x32, 0x19, 0xff, 0x32, 0x2f, 0xff, 0x33, 0x33, 0xff, 0x33, 0x32, 0xff +db 0x20, 0x32, 0xff, 0x7, 0x33, 0xff, 0x1, 0x33, 0xff, 0x2, 0x33, 0xff +db 0x2, 0x34, 0xff, 0x2, 0x34, 0xff, 0x2, 0x34, 0xff, 0x2, 0x34, 0xff +db 0x2, 0x34, 0xff, 0x2, 0x34, 0xff, 0x2, 0x34, 0xff, 0x0, 0x2f, 0xff +db 0x0, 0x31, 0xff, 0x55, 0x77, 0xff, 0xd4, 0xdd, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe2, 0xf2, 0xdc, 0x94, 0xc4, 0x79, 0x4e, 0x8a, 0x24, 0x3b, 0x6d, 0xb +db 0x41, 0x6b, 0x8, 0x6b, 0x6b, 0x6, 0x9d, 0x66, 0xb, 0xa1, 0x51, 0x11 +db 0xa9, 0x53, 0x29, 0xcc, 0x95, 0x7c, 0xf6, 0xed, 0xe8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xff, 0xf4, 0xf8 +db 0xff, 0xeb, 0xf3, 0xff, 0xf1, 0xf7, 0xff, 0xfc, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf1, 0xdc, 0xf1, 0xbe, 0x5b, 0xbe, 0x9c, 0x8, 0x9c, 0x99, 0x1, 0x99 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9a, 0x2, 0xca +db 0x9a, 0x2, 0xcc, 0x6e, 0x2, 0xcc, 0x3c, 0x2, 0xcc, 0x32, 0x2, 0xcb +db 0x36, 0x3, 0xce, 0x38, 0x6, 0xe8, 0x38, 0x6, 0xfc, 0x38, 0x6, 0xff +db 0x3a, 0x8, 0xff, 0x41, 0x12, 0xff, 0x51, 0x25, 0xff, 0x61, 0x3a, 0xff +db 0x66, 0x53, 0xff, 0x67, 0x64, 0xff, 0x61, 0x61, 0xff, 0x50, 0x50, 0xff +db 0x3a, 0x48, 0xff, 0x1c, 0x43, 0xff, 0x9, 0x3c, 0xff, 0x6, 0x38, 0xff +db 0x6, 0x37, 0xff, 0x3, 0x36, 0xff, 0x2, 0x33, 0xff, 0x2, 0x33, 0xff +db 0x2, 0x33, 0xff, 0x2, 0x33, 0xff, 0x1, 0x32, 0xff, 0x2, 0x34, 0xff +db 0x2b, 0x56, 0xff, 0x93, 0xa8, 0xff, 0xec, 0xf0, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xfc, 0xf6 +db 0xb2, 0xda, 0x9f, 0x4d, 0x9f, 0x1f, 0x2e, 0x76, 0x0, 0x2f, 0x64, 0x2 +db 0x3b, 0x66, 0x2, 0x69, 0x68, 0x2, 0x98, 0x5e, 0x2, 0x99, 0x42, 0x1 +db 0x97, 0x2f, 0x0, 0xaa, 0x55, 0x2a, 0xdf, 0xc0, 0xaf, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xf7, 0xf7, 0xff, 0xd1, 0xd0, 0xff, 0x9d, 0xa3, 0xff, 0x7a, 0x9a +db 0xff, 0x60, 0xa0, 0xff, 0x73, 0xac, 0xff, 0x94, 0xbf, 0xff, 0xba, 0xd5 +db 0xff, 0xeb, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xf3, 0xfa, 0xd1, 0x89, 0xd1, 0xa1, 0x15, 0xa1, 0x99, 0x2, 0x98 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9a, 0x2, 0xca +db 0x99, 0x2, 0xcc, 0x6f, 0x2, 0xcc, 0x4f, 0x18, 0xd1, 0x5e, 0x38, 0xd6 +db 0x7c, 0x5b, 0xdf, 0x8d, 0x71, 0xf2, 0x8f, 0x73, 0xfe, 0x8d, 0x70, 0xff +db 0x92, 0x76, 0xff, 0xa9, 0x92, 0xff, 0xc4, 0xb5, 0xff, 0xda, 0xcf, 0xff +db 0xdf, 0xdb, 0xff, 0xde, 0xdf, 0xff, 0xd7, 0xd6, 0xff, 0xc4, 0xc3, 0xff +db 0xb7, 0xbb, 0xff, 0x9c, 0xae, 0xff, 0x7b, 0x96, 0xff, 0x73, 0x8f, 0xff +db 0x70, 0x8d, 0xff, 0x54, 0x77, 0xff, 0x3f, 0x65, 0xff, 0x3d, 0x62, 0xff +db 0x3e, 0x63, 0xff, 0x3c, 0x62, 0xff, 0x3c, 0x63, 0xff, 0x61, 0x81, 0xff +db 0xac, 0xbd, 0xff, 0xec, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xfc, 0xf6 +db 0xb3, 0xdb, 0xa0, 0x4f, 0xa1, 0x22, 0x32, 0x78, 0x0, 0x30, 0x64, 0x2 +db 0x3a, 0x66, 0x2, 0x69, 0x67, 0x2, 0x98, 0x5e, 0x2, 0x99, 0x43, 0x1 +db 0x98, 0x33, 0x2, 0xad, 0x5a, 0x31, 0xe0, 0xc3, 0xb3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb +db 0xff, 0xc8, 0xc7, 0xff, 0x5a, 0x59, 0xff, 0x13, 0x1f, 0xff, 0x8, 0x42 +db 0xff, 0x4, 0x67, 0xff, 0x7, 0x6c, 0xff, 0x11, 0x71, 0xff, 0x2f, 0x83 +db 0xff, 0x89, 0xb9, 0xff, 0xf0, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe0, 0xb0, 0xe0, 0xa8, 0x25, 0xa8, 0x98, 0x3, 0x98 +db 0x99, 0x2, 0x97, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9a, 0x2, 0xca +db 0x97, 0x1, 0xcc, 0x6e, 0x3, 0xcd, 0x78, 0x4d, 0xdc, 0xbc, 0xae, 0xef +db 0xe2, 0xdb, 0xf8, 0xed, 0xe9, 0xfd, 0xee, 0xea, 0xff, 0xed, 0xe9, 0xff +db 0xef, 0xeb, 0xff, 0xf7, 0xf5, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff +db 0xfe, 0xfe, 0xff, 0xf8, 0xf9, 0xff, 0xed, 0xf1, 0xff, 0xeb, 0xee, 0xff +db 0xe7, 0xed, 0xff, 0xd4, 0xdd, 0xff, 0xc5, 0xd0, 0xff, 0xc3, 0xcf, 0xff +db 0xc4, 0xcf, 0xff, 0xc3, 0xce, 0xff, 0xc4, 0xd0, 0xff, 0xdc, 0xe4, 0xff +db 0xf8, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xfd +db 0xde, 0xf0, 0xd6, 0x9d, 0xca, 0x84, 0x6b, 0x9d, 0x45, 0x4d, 0x7c, 0x24 +db 0x45, 0x6f, 0xe, 0x6b, 0x6b, 0x6, 0xa1, 0x6c, 0x15, 0xac, 0x65, 0x2c +db 0xb8, 0x70, 0x4e, 0xd3, 0xa7, 0x91, 0xf5, 0xea, 0xe4, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf5 +db 0xff, 0x93, 0x93, 0xff, 0x1b, 0x19, 0xff, 0x0, 0x4, 0xff, 0x2, 0x3a +db 0xff, 0x2, 0x65, 0xff, 0x2, 0x68, 0xff, 0x1, 0x65, 0xff, 0x6, 0x67 +db 0xff, 0x43, 0x8e, 0xff, 0xd4, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe5, 0xbe, 0xe5, 0xaa, 0x2b, 0xaa, 0x98, 0x3, 0x99 +db 0x99, 0x2, 0x97, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9b, 0x2, 0xca +db 0x96, 0x1, 0xcc, 0x6f, 0x4, 0xcc, 0x8c, 0x65, 0xe0, 0xe7, 0xe3, 0xfa +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xff, 0xfe, 0xf5, 0xf9, 0xf2, 0xe0, 0xea, 0xd9, 0xc1, 0xd2, 0xb3 +db 0xa0, 0xb5, 0x82, 0xa7, 0xaa, 0x6e, 0xd4, 0xbe, 0x95, 0xe7, 0xd1, 0xc0 +db 0xf1, 0xe3, 0xdc, 0xfc, 0xf7, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xee +db 0xff, 0x77, 0x77, 0xff, 0xb, 0xa, 0xff, 0x0, 0x9, 0xff, 0x2, 0x3d +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x3, 0x67 +db 0xff, 0x26, 0x7d, 0xff, 0xb4, 0xd1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe1, 0xb3, 0xe1, 0xa8, 0x27, 0xa8, 0x98, 0x3, 0x98 +db 0x99, 0x2, 0x97, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9b, 0x2, 0xca +db 0x96, 0x1, 0xcc, 0x70, 0x4, 0xcc, 0x8b, 0x64, 0xe0, 0xe4, 0xe1, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe +db 0xf8, 0xfa, 0xf6, 0xf5, 0xf6, 0xf1, 0xfd, 0xfd, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0 +db 0xff, 0x77, 0x77, 0xff, 0xb, 0xa, 0xff, 0x0, 0x9, 0xff, 0x2, 0x3d +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x3, 0x66 +db 0xff, 0x1f, 0x78, 0xff, 0xa8, 0xca, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xf9, 0xfd, 0xd5, 0x95, 0xd5, 0xa3, 0x18, 0xa3, 0x98, 0x2, 0x98 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9b, 0x2, 0xca +db 0x96, 0x1, 0xcc, 0x70, 0x3, 0xcc, 0x8b, 0x63, 0xe0, 0xe4, 0xe0, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf3, 0xfb, 0xff, 0xe6, 0xf5, 0xff, 0xe4, 0xf4, 0xff +db 0xef, 0xf9, 0xff, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfe, 0xfd, 0xe9, 0xfa, 0xf5 +db 0xce, 0xf6, 0xeb, 0xc2, 0xf2, 0xe7, 0xd4, 0xf3, 0xec, 0xe8, 0xf7, 0xf2 +db 0xf7, 0xfc, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xfb, 0xfb, 0xff, 0xfb, 0xfb, 0xff, 0xfb, 0xfb +db 0xff, 0xfb, 0xfb, 0xff, 0xfb, 0xfb, 0xff, 0xfd, 0xfd, 0xff, 0xe9, 0xe9 +db 0xff, 0x75, 0x75, 0xff, 0xa, 0x9, 0xff, 0x0, 0x9, 0xff, 0x2, 0x3d +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x4, 0x67 +db 0xff, 0x30, 0x82, 0xff, 0xbe, 0xd7, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfd +db 0xff, 0xfb, 0xfc, 0xff, 0xfb, 0xfc, 0xfe, 0xfb, 0xfc, 0xfd, 0xfb, 0xfd +db 0xfd, 0xfb, 0xfd, 0xfd, 0xfb, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xf5, 0xfb, 0xcf, 0x86, 0xcf, 0x9f, 0x10, 0x9f, 0x98, 0x1, 0x98 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9b, 0x2, 0xca +db 0x96, 0x0, 0xcc, 0x72, 0x9, 0xce, 0x96, 0x72, 0xe3, 0xe9, 0xe5, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfd, 0xff +db 0xce, 0xeb, 0xff, 0x85, 0xce, 0xff, 0x5a, 0xbd, 0xff, 0x57, 0xbc, 0xff +db 0x70, 0xc6, 0xff, 0x9a, 0xd7, 0xff, 0xc4, 0xe8, 0xff, 0xe8, 0xf6, 0xff +db 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xff, 0xff, 0xdd, 0xf9, 0xf2, 0x9d, 0xec, 0xd7, 0x64, 0xe0, 0xc1 +db 0x40, 0xda, 0xb3, 0x34, 0xd5, 0xac, 0x46, 0xcb, 0xa7, 0x60, 0xc1, 0xa4 +db 0x90, 0xd1, 0xbb, 0xd6, 0xee, 0xe5, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xfe, 0xfc, 0xeb, 0xf3, 0xe5, 0xd3, 0xe2, 0xc8, 0xcc, 0xd9, 0xbf +db 0xcf, 0xda, 0xc1, 0xdb, 0xda, 0xc2, 0xec, 0xe2, 0xcf, 0xf9, 0xf3, 0xec +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xe0, 0xe0 +db 0xff, 0xa5, 0xa5, 0xff, 0x8b, 0x8b, 0xff, 0x8d, 0x8d, 0xff, 0x8d, 0x8d +db 0xff, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0xff, 0x90, 0x90, 0xff, 0x84, 0x84 +db 0xff, 0x42, 0x42, 0xff, 0x7, 0x6, 0xff, 0x1, 0xb, 0xff, 0x2, 0x3d +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x4, 0x68 +db 0xff, 0x21, 0x7a, 0xff, 0x72, 0xab, 0xff, 0x91, 0xbd, 0xff, 0x8e, 0xbb +db 0xff, 0x8d, 0xbb, 0xfb, 0x8d, 0xbb, 0xe0, 0x8d, 0xc0, 0xc7, 0x8d, 0xc5 +db 0xc6, 0x8d, 0xc6, 0xc9, 0x94, 0xc9, 0xd8, 0xb3, 0xd8, 0xed, 0xdb, 0xed +db 0xfd, 0xfb, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xf4, 0xfb, 0xce, 0x86, 0xce, 0x9f, 0x10, 0x9f, 0x98, 0x1, 0x98 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9b, 0x2, 0xca +db 0x95, 0x0, 0xcc, 0x7d, 0x15, 0xd0, 0xb1, 0x95, 0xe9, 0xf4, 0xf3, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfb, 0xfc, 0xff, 0xfd, 0xfe, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xe3, 0xff +db 0x5a, 0xb2, 0xff, 0xf, 0x9c, 0xff, 0x1, 0x99, 0xff, 0x1, 0x98, 0xff +db 0x7, 0x9a, 0xff, 0x15, 0xa1, 0xff, 0x31, 0xad, 0xff, 0x65, 0xc2, 0xff +db 0xad, 0xe0, 0xff, 0xe8, 0xf8, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xfe +db 0xc9, 0xf5, 0xea, 0x66, 0xe0, 0xc2, 0x18, 0xd1, 0xa3, 0x3, 0xcc, 0x9a +db 0x1, 0xcd, 0x99, 0x2, 0xca, 0x96, 0x2, 0xb6, 0x83, 0x0, 0x9d, 0x6a +db 0x15, 0xa0, 0x6e, 0x75, 0xc8, 0xa5, 0xe6, 0xf5, 0xec, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfc +db 0xd5, 0xeb, 0xcb, 0x88, 0xbf, 0x6a, 0x59, 0x92, 0x31, 0x52, 0x7e, 0x29 +db 0x5c, 0x80, 0x2c, 0x82, 0x80, 0x2b, 0xb0, 0x86, 0x3d, 0xcf, 0xa8, 0x82 +db 0xf4, 0xe7, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe7, 0xff, 0x7d, 0x7d +db 0xff, 0x1a, 0x1a, 0xff, 0xb, 0xb, 0xff, 0xe, 0xe, 0xff, 0xf, 0xf +db 0xff, 0xf, 0xf, 0xff, 0xf, 0xf, 0xff, 0xf, 0xf, 0xff, 0xd, 0xd +db 0xff, 0x8, 0x8, 0xff, 0x2, 0x2, 0xff, 0x2, 0xd, 0xff, 0x2, 0x3d +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x6, 0x69, 0xff, 0xd, 0x6d, 0xff, 0xf, 0x6f, 0xff, 0xf, 0x6f +db 0xff, 0xf, 0x6f, 0xf4, 0xf, 0x6f, 0xbc, 0xf, 0x78, 0x89, 0xf, 0x86 +db 0x87, 0xf, 0x88, 0x89, 0x11, 0x89, 0x91, 0x23, 0x91, 0xb2, 0x62, 0xb2 +db 0xee, 0xda, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xf4, 0xfb, 0xce, 0x87, 0xce, 0x9f, 0x10, 0x9f, 0x98, 0x1, 0x98 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9b, 0x2, 0xc9 +db 0x93, 0x0, 0xcb, 0x88, 0x23, 0xd3, 0xc5, 0xac, 0xee, 0xfa, 0xf9, 0xfe +db 0xff, 0xff, 0xff, 0xfc, 0xfa, 0xff, 0xf4, 0xf0, 0xff, 0xef, 0xea, 0xff +db 0xee, 0xe9, 0xff, 0xee, 0xe9, 0xff, 0xee, 0xe9, 0xff, 0xef, 0xeb, 0xff +db 0xe5, 0xe4, 0xff, 0xd5, 0xd5, 0xff, 0xcf, 0xcf, 0xff, 0xcf, 0xcf, 0xff +db 0xcc, 0xcf, 0xff, 0xc5, 0xcf, 0xff, 0xc4, 0xcf, 0xff, 0xc5, 0xd1, 0xff +db 0xc2, 0xce, 0xff, 0xa6, 0xb8, 0xff, 0x8f, 0xa6, 0xff, 0x9c, 0xb0, 0xff +db 0xba, 0xc9, 0xff, 0xd6, 0xdf, 0xff, 0xef, 0xf3, 0xff, 0xfd, 0xfe, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xac, 0xd0, 0xff +db 0x26, 0x98, 0xff, 0x0, 0x91, 0xff, 0x2, 0x98, 0xff, 0x2, 0x98, 0xff +db 0x2, 0x98, 0xff, 0x2, 0x98, 0xff, 0x1, 0x98, 0xff, 0x5, 0x9a, 0xff +db 0x22, 0xae, 0xff, 0x6f, 0xd7, 0xff, 0xc7, 0xf5, 0xff, 0xf8, 0xfe, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xe5, 0xff, 0xfc, 0xa3, 0xfa, 0xe8 +db 0x4b, 0xe3, 0xbf, 0xe, 0xcf, 0x9e, 0x0, 0xcb, 0x96, 0x2, 0xcc, 0x98 +db 0x2, 0xcd, 0x9a, 0x2, 0xca, 0x97, 0x2, 0xb5, 0x83, 0x0, 0x9b, 0x68 +db 0x14, 0xa0, 0x6e, 0x7b, 0xcb, 0xa9, 0xe9, 0xf6, 0xed, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0xf2, 0xdd +db 0x89, 0xc5, 0x6b, 0x3c, 0x98, 0xc, 0x2f, 0x77, 0x0, 0x30, 0x64, 0x2 +db 0x3a, 0x65, 0x2, 0x67, 0x66, 0x2, 0x97, 0x5c, 0x0, 0xa9, 0x60, 0x21 +db 0xd7, 0xae, 0x9b, 0xfe, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xff, 0xbb, 0xbb, 0xff, 0x31, 0x31 +db 0xff, 0x0, 0x0, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0xe, 0xff, 0x2, 0x3d +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x67, 0xff, 0x2, 0x66, 0xff, 0x2, 0x66 +db 0xff, 0x2, 0x66, 0xf3, 0x2, 0x66, 0xb8, 0x2, 0x70, 0x81, 0x2, 0x7e +db 0x80, 0x2, 0x80, 0x80, 0x2, 0x80, 0x7d, 0x3, 0x7d, 0x94, 0x24, 0x94 +db 0xde, 0xb8, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xf3, 0xfa, 0xce, 0x84, 0xce, 0x9f, 0x10, 0x9f, 0x98, 0x1, 0x98 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9a, 0x2, 0xc9 +db 0x94, 0x0, 0xcb, 0x8e, 0x2b, 0xd5, 0xbb, 0xa1, 0xec, 0xdc, 0xd4, 0xf6 +db 0xd3, 0xc9, 0xf5, 0xba, 0xa6, 0xf9, 0x9e, 0x85, 0xfe, 0x8f, 0x73, 0xff +db 0x8e, 0x71, 0xff, 0x8f, 0x72, 0xff, 0x8f, 0x72, 0xff, 0x90, 0x75, 0xff +db 0x82, 0x74, 0xff, 0x6c, 0x6a, 0xff, 0x64, 0x64, 0xff, 0x63, 0x63, 0xff +db 0x56, 0x63, 0xff, 0x44, 0x63, 0xff, 0x3d, 0x63, 0xff, 0x3e, 0x64, 0xff +db 0x3c, 0x63, 0xff, 0x28, 0x53, 0xff, 0x18, 0x46, 0xff, 0x20, 0x4c, 0xff +db 0x34, 0x5d, 0xff, 0x54, 0x77, 0xff, 0x99, 0xad, 0xff, 0xe9, 0xec, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0xe5, 0xff +db 0x69, 0xb9, 0xff, 0x1c, 0xa1, 0xff, 0x3, 0x9a, 0xff, 0x1, 0x98, 0xff +db 0x2, 0x98, 0xff, 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x2, 0x97, 0xff +db 0x0, 0xa2, 0xff, 0x12, 0xc3, 0xff, 0x54, 0xdf, 0xff, 0xb2, 0xf0, 0xff +db 0xf5, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff +db 0xe0, 0xff, 0xfd, 0xb6, 0xff, 0xf3, 0x71, 0xff, 0xe4, 0x2a, 0xf6, 0xcd +db 0x6, 0xdc, 0xab, 0x0, 0xcc, 0x98, 0x2, 0xcb, 0x98, 0x2, 0xcc, 0x99 +db 0x2, 0xcd, 0x9a, 0x2, 0xc9, 0x97, 0x0, 0xb4, 0x81, 0xe, 0xa3, 0x72 +db 0x61, 0xbe, 0x9e, 0xd1, 0xed, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfc, 0xc3, 0xe2, 0xb4 +db 0x55, 0xab, 0x2a, 0x2d, 0x90, 0x0, 0x33, 0x79, 0x2, 0x33, 0x66, 0x2 +db 0x3d, 0x67, 0x2, 0x69, 0x69, 0x2, 0x97, 0x5c, 0x0, 0xa0, 0x4d, 0xd +db 0xc7, 0x8d, 0x70, 0xfa, 0xf2, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xff, 0xbd, 0xbd, 0xff, 0x37, 0x37 +db 0xff, 0x0, 0x0, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0xe, 0xff, 0x2, 0x3d +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x67, 0xff, 0x2, 0x66, 0xff, 0x2, 0x66 +db 0xff, 0x2, 0x66, 0xf3, 0x2, 0x66, 0xb8, 0x2, 0x70, 0x81, 0x2, 0x7f +db 0x7f, 0x2, 0x81, 0x81, 0x2, 0x81, 0x85, 0x8, 0x85, 0xa5, 0x47, 0xa5 +db 0xe8, 0xcb, 0xe8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf4, 0xe3, 0xf4, 0xc4, 0x68, 0xc4, 0x9d, 0xa, 0x9d, 0x99, 0x1, 0x99 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9a, 0x2, 0xca +db 0x97, 0x0, 0xcd, 0x7b, 0x11, 0xd0, 0x65, 0x34, 0xd7, 0x65, 0x41, 0xd8 +db 0x5d, 0x35, 0xd8, 0x4a, 0x1d, 0xeb, 0x3e, 0xd, 0xfd, 0x38, 0x7, 0xff +db 0x38, 0x6, 0xff, 0x38, 0x6, 0xff, 0x38, 0x5, 0xff, 0x38, 0x7, 0xff +db 0x37, 0x1e, 0xff, 0x34, 0x31, 0xff, 0x33, 0x33, 0xff, 0x33, 0x33, 0xff +db 0x21, 0x33, 0xff, 0x7, 0x33, 0xff, 0x1, 0x33, 0xff, 0x2, 0x33, 0xff +db 0x2, 0x33, 0xff, 0x2, 0x33, 0xff, 0x2, 0x33, 0xff, 0x2, 0x33, 0xff +db 0x1, 0x31, 0xff, 0x0, 0x31, 0xff, 0x2e, 0x59, 0xff, 0xb4, 0xc2, 0xff +db 0xfc, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xff +db 0xe1, 0xf3, 0xff, 0x9b, 0xd7, 0xff, 0x44, 0xb4, 0xff, 0xd, 0x9e, 0xff +db 0x1, 0x98, 0xff, 0x2, 0x98, 0xff, 0x2, 0x99, 0xff, 0x2, 0x97, 0xff +db 0x2, 0xa3, 0xff, 0x0, 0xbf, 0xff, 0x4, 0xce, 0xff, 0x32, 0xd6, 0xff +db 0x90, 0xe9, 0xff, 0xe7, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xd8, 0xff, 0xff, 0x96, 0xff, 0xff +db 0x53, 0xff, 0xf5, 0x28, 0xff, 0xde, 0xa, 0xff, 0xcf, 0x0, 0xf6, 0xc3 +db 0x2, 0xdc, 0xa9, 0x2, 0xcc, 0x98, 0x2, 0xcb, 0x98, 0x2, 0xcc, 0x99 +db 0x2, 0xcd, 0x99, 0x1, 0xc9, 0x96, 0x13, 0xbc, 0x8e, 0x62, 0xc4, 0xa4 +db 0xd0, 0xec, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfd, 0xfa, 0xba, 0xdd, 0xa8 +db 0x49, 0xa5, 0x1d, 0x2d, 0x8f, 0x0, 0x34, 0x7a, 0x2, 0x33, 0x66, 0x2 +db 0x3d, 0x67, 0x2, 0x6a, 0x69, 0x2, 0x97, 0x5c, 0x0, 0x9e, 0x4c, 0xc +db 0xc4, 0x88, 0x6c, 0xf9, 0xf1, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xed, 0xff, 0xa6, 0xa6 +db 0xff, 0x5d, 0x5d, 0xff, 0x37, 0x37, 0xff, 0x19, 0x19, 0xff, 0xe, 0xe +db 0xff, 0xf, 0xf, 0xff, 0xf, 0xf, 0xff, 0xf, 0xf, 0xff, 0xf, 0xf +db 0xff, 0xb, 0xb, 0xff, 0x4, 0x3, 0xff, 0x2, 0xe, 0xff, 0x2, 0x3d +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x4, 0x68, 0xff, 0xb, 0x6d, 0xff, 0xf, 0x6f, 0xff, 0xf, 0x6f +db 0xff, 0xf, 0x6f, 0xf4, 0xf, 0x6f, 0xbc, 0xf, 0x78, 0x89, 0xf, 0x86 +db 0x8e, 0x1d, 0x8f, 0xa1, 0x41, 0xa1, 0xba, 0x75, 0xba, 0xe0, 0xc0, 0xe0 +db 0xfc, 0xf6, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xee, 0xd4, 0xee, 0xb9, 0x50, 0xb9, 0x9a, 0x7, 0x9a, 0x99, 0x1, 0x99 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9a, 0x2, 0xca +db 0x9a, 0x2, 0xcc, 0x6d, 0x2, 0xcc, 0x3b, 0x2, 0xcc, 0x31, 0x2, 0xcb +db 0x32, 0x2, 0xcd, 0x33, 0x2, 0xe8, 0x33, 0x2, 0xfd, 0x34, 0x2, 0xff +db 0x33, 0x2, 0xff, 0x33, 0x2, 0xff, 0x33, 0x2, 0xff, 0x33, 0x1, 0xff +db 0x34, 0x1b, 0xff, 0x34, 0x31, 0xff, 0x35, 0x35, 0xff, 0x34, 0x34, 0xff +db 0x23, 0x34, 0xff, 0x9, 0x34, 0xff, 0x2, 0x34, 0xff, 0x2, 0x34, 0xff +db 0x2, 0x34, 0xff, 0x2, 0x34, 0xff, 0x2, 0x34, 0xff, 0x2, 0x34, 0xff +db 0x2, 0x33, 0xff, 0x0, 0x2c, 0xff, 0x14, 0x42, 0xff, 0x98, 0xad, 0xff +db 0xf7, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xfd, 0xff, 0xca, 0xea, 0xff, 0x78, 0xca, 0xff +db 0x2b, 0xab, 0xff, 0x5, 0x9a, 0xff, 0x0, 0x98, 0xff, 0x2, 0x97, 0xff +db 0x2, 0xa3, 0xff, 0x2, 0xc0, 0xff, 0x2, 0xce, 0xff, 0x0, 0xcc, 0xff +db 0x1d, 0xd3, 0xff, 0x74, 0xea, 0xff, 0xcd, 0xfd, 0xff, 0xee, 0xff, 0xff +db 0xcf, 0xff, 0xff, 0x8f, 0xff, 0xff, 0x4c, 0xff, 0xff, 0x17, 0xff, 0xff +db 0x2, 0xff, 0xf3, 0x1, 0xff, 0xda, 0x2, 0xff, 0xcd, 0x2, 0xf6, 0xc4 +db 0x2, 0xdc, 0xa9, 0x2, 0xcc, 0x98, 0x1, 0xca, 0x97, 0x6, 0xcd, 0x9b +db 0x21, 0xd3, 0xa7, 0x51, 0xdb, 0xb8, 0x8e, 0xe2, 0xca, 0xd5, 0xf0, 0xe8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfd, 0xfa, 0xba, 0xdd, 0xa8 +db 0x49, 0xa5, 0x1e, 0x2d, 0x8f, 0x0, 0x34, 0x7a, 0x2, 0x33, 0x66, 0x2 +db 0x3d, 0x67, 0x2, 0x6a, 0x69, 0x2, 0x97, 0x5c, 0x0, 0x9e, 0x4c, 0xc +db 0xc4, 0x89, 0x6c, 0xf9, 0xf1, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb +db 0xff, 0xe8, 0xe8, 0xff, 0xc8, 0xc8, 0xff, 0xa0, 0xa0, 0xff, 0x8b, 0x8b +db 0xff, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0xff, 0x8f, 0x8f, 0xff, 0x8c, 0x8c +db 0xff, 0x60, 0x5f, 0xff, 0x19, 0x16, 0xff, 0x0, 0x9, 0xff, 0x2, 0x3d +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x2, 0x67 +db 0xff, 0xe, 0x6e, 0xff, 0x54, 0x99, 0xff, 0x8e, 0xbb, 0xff, 0x8f, 0xbc +db 0xff, 0x8d, 0xbb, 0xfb, 0x8d, 0xbb, 0xe0, 0x8d, 0xbf, 0xc7, 0x8e, 0xc5 +db 0xd1, 0xa5, 0xd3, 0xe8, 0xd1, 0xe8, 0xf8, 0xf0, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe9, 0xc7, 0xe9, 0xb4, 0x43, 0xb4, 0x9a, 0x6, 0x9a, 0x99, 0x1, 0x99 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9a, 0x2, 0xca +db 0x9a, 0x2, 0xcc, 0x6d, 0x2, 0xcc, 0x3b, 0x2, 0xcc, 0x31, 0x2, 0xcb +db 0x33, 0x2, 0xcd, 0x33, 0x2, 0xe8, 0x33, 0x2, 0xfd, 0x33, 0x2, 0xff +db 0x33, 0x2, 0xff, 0x34, 0x2, 0xff, 0x33, 0x2, 0xff, 0x33, 0x0, 0xff +db 0x32, 0x19, 0xff, 0x32, 0x2f, 0xff, 0x33, 0x33, 0xff, 0x32, 0x32, 0xff +db 0x21, 0x32, 0xff, 0x7, 0x33, 0xff, 0x1, 0x32, 0xff, 0x2, 0x32, 0xff +db 0x2, 0x32, 0xff, 0x2, 0x32, 0xff, 0x2, 0x32, 0xff, 0x2, 0x32, 0xff +db 0x1, 0x33, 0xff, 0x6, 0x37, 0xff, 0x3e, 0x64, 0xff, 0xbb, 0xc9, 0xff +db 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xf9, 0xff +db 0xa5, 0xdb, 0xff, 0x44, 0xb4, 0xff, 0x9, 0x9c, 0xff, 0x0, 0x95, 0xff +db 0x2, 0xa3, 0xff, 0x2, 0xc0, 0xff, 0x2, 0xce, 0xff, 0x2, 0xcc, 0xff +db 0x0, 0xce, 0xff, 0x11, 0xe3, 0xff, 0x52, 0xfb, 0xff, 0x7a, 0xff, 0xff +db 0x4e, 0xff, 0xff, 0x14, 0xff, 0xff, 0x3, 0xff, 0xff, 0x1, 0xff, 0xff +db 0x2, 0xff, 0xf3, 0x2, 0xff, 0xda, 0x2, 0xff, 0xcd, 0x2, 0xf6, 0xc3 +db 0x1, 0xdc, 0xa8, 0x4, 0xcd, 0x9a, 0x1a, 0xd0, 0xa2, 0x4f, 0xdc, 0xb8 +db 0x9b, 0xec, 0xd6, 0xdc, 0xf7, 0xf1, 0xf8, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfd, 0xfa, 0xba, 0xdd, 0xa8 +db 0x49, 0xa5, 0x1e, 0x2d, 0x8f, 0x0, 0x34, 0x7a, 0x2, 0x33, 0x66, 0x2 +db 0x3d, 0x67, 0x2, 0x6a, 0x69, 0x2, 0x97, 0x5c, 0x0, 0x9e, 0x4c, 0xc +db 0xc4, 0x89, 0x6c, 0xf9, 0xf1, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xfb, 0xfb +db 0xff, 0xfb, 0xfb, 0xff, 0xfb, 0xfb, 0xff, 0xfd, 0xfd, 0xff, 0xf7, 0xf7 +db 0xff, 0xaf, 0xaf, 0xff, 0x2e, 0x2d, 0xff, 0x0, 0x7, 0xff, 0x2, 0x3c +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x2, 0x67 +db 0xff, 0x10, 0x70, 0xff, 0x80, 0xb4, 0xff, 0xf3, 0xf9, 0xff, 0xfd, 0xfd +db 0xff, 0xfb, 0xfc, 0xff, 0xfb, 0xfc, 0xfe, 0xfb, 0xfc, 0xfd, 0xfb, 0xfc +db 0xfe, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xde, 0xac, 0xde, 0xab, 0x2c, 0xab, 0x99, 0x4, 0x99, 0x99, 0x2, 0x99 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9a, 0x2, 0xca +db 0x9a, 0x2, 0xcd, 0x70, 0x4, 0xcd, 0x40, 0x6, 0xcd, 0x37, 0x6, 0xcc +db 0x38, 0x6, 0xce, 0x38, 0x6, 0xe8, 0x38, 0x6, 0xfc, 0x38, 0x6, 0xff +db 0x38, 0x6, 0xff, 0x38, 0x6, 0xff, 0x39, 0x6, 0xff, 0x40, 0x11, 0xff +db 0x47, 0x31, 0xff, 0x48, 0x46, 0xff, 0x48, 0x49, 0xff, 0x48, 0x48, 0xff +db 0x37, 0x47, 0xff, 0x27, 0x4c, 0xff, 0x33, 0x5c, 0xff, 0x40, 0x65, 0xff +db 0x41, 0x66, 0xff, 0x40, 0x66, 0xff, 0x3f, 0x65, 0xff, 0x3f, 0x66, 0xff +db 0x54, 0x77, 0xff, 0x7c, 0x96, 0xff, 0xb5, 0xc4, 0xff, 0xee, 0xf2, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf7, 0xfc, 0xff, 0xc2, 0xe7, 0xff, 0x6b, 0xc3, 0xff, 0x23, 0xa5, 0xff +db 0x4, 0xa4, 0xff, 0x1, 0xbe, 0xff, 0x2, 0xce, 0xff, 0x2, 0xcc, 0xff +db 0x2, 0xce, 0xff, 0x1, 0xe3, 0xff, 0xa, 0xfb, 0xff, 0x12, 0xff, 0xff +db 0x8, 0xff, 0xff, 0x1, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xf3, 0x2, 0xff, 0xd9, 0x1, 0xff, 0xcc, 0x5, 0xf7, 0xc5 +db 0x1d, 0xe1, 0xb5, 0x52, 0xdc, 0xb9, 0x9a, 0xea, 0xd5, 0xd5, 0xf7, 0xed +db 0xf6, 0xfe, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfd, 0xfa, 0xbb, 0xdd, 0xa9 +db 0x4a, 0xa5, 0x1e, 0x2d, 0x8f, 0x0, 0x34, 0x7a, 0x2, 0x33, 0x66, 0x2 +db 0x3d, 0x67, 0x2, 0x6a, 0x69, 0x2, 0x97, 0x5c, 0x0, 0x9e, 0x4c, 0xc +db 0xc5, 0x88, 0x6c, 0xf9, 0xf1, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd +db 0xff, 0xcc, 0xcc, 0xff, 0x4a, 0x48, 0xff, 0x0, 0x7, 0xff, 0x2, 0x3b +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x1, 0x66 +db 0xff, 0x7, 0x6a, 0xff, 0x61, 0xa1, 0xff, 0xe8, 0xf1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff +db 0xd5, 0x95, 0xd5, 0xa6, 0x1f, 0xa6, 0x98, 0x3, 0x98, 0x99, 0x2, 0x99 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9a, 0x2, 0xc9 +db 0x9a, 0x2, 0xcd, 0x94, 0x32, 0xd6, 0x90, 0x69, 0xe1, 0x8e, 0x74, 0xe3 +db 0x8f, 0x72, 0xe4, 0x8f, 0x72, 0xf3, 0x8f, 0x72, 0xfe, 0x8f, 0x72, 0xff +db 0x8f, 0x72, 0xff, 0x8e, 0x70, 0xff, 0x90, 0x73, 0xff, 0xa4, 0x8e, 0xff +db 0xb7, 0xaf, 0xff, 0xbb, 0xba, 0xff, 0xba, 0xba, 0xff, 0xba, 0xba, 0xff +db 0xb3, 0xb9, 0xff, 0xb1, 0xbe, 0xff, 0xc7, 0xd2, 0xff, 0xd4, 0xdd, 0xff +db 0xd5, 0xde, 0xff, 0xd5, 0xdd, 0xff, 0xd5, 0xdd, 0xff, 0xd5, 0xde, 0xff +db 0xe2, 0xe8, 0xff, 0xf4, 0xf6, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xf7, 0xff, 0x9c, 0xd6, 0xff +db 0x35, 0xb8, 0xff, 0x2, 0xbf, 0xff, 0x1, 0xcd, 0xff, 0x2, 0xcc, 0xff +db 0x2, 0xce, 0xff, 0x2, 0xe3, 0xff, 0x2, 0xfb, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xf3, 0x1, 0xff, 0xd9, 0x14, 0xff, 0xcf, 0x55, 0xfc, 0xd9 +db 0xa3, 0xf6, 0xe3, 0xdc, 0xf8, 0xf0, 0xfb, 0xfe, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfc, 0xf7, 0xb1, 0xd9, 0x9d +db 0x45, 0xa3, 0x17, 0x2e, 0x90, 0x0, 0x35, 0x7a, 0x2, 0x33, 0x66, 0x2 +db 0x3d, 0x67, 0x2, 0x6a, 0x69, 0x2, 0x98, 0x5c, 0x0, 0xa1, 0x50, 0xf +db 0xc9, 0x93, 0x77, 0xfa, 0xf5, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xd9, 0xd9, 0xff, 0x5b, 0x59, 0xff, 0x0, 0x8, 0xff, 0x2, 0x3b +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x1, 0x67 +db 0xff, 0x5, 0x68, 0xff, 0x41, 0x8d, 0xff, 0xcd, 0xe2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf5, 0xfc +db 0xc9, 0x7a, 0xc9, 0xa1, 0x12, 0xa1, 0x98, 0x2, 0x98, 0x99, 0x2, 0x99 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x97, 0x1, 0xc9 +db 0x9b, 0x6, 0xce, 0xc2, 0x6e, 0xe3, 0xe8, 0xda, 0xf7, 0xef, 0xec, 0xfb +db 0xee, 0xe9, 0xfb, 0xee, 0xe9, 0xfd, 0xee, 0xe9, 0xff, 0xee, 0xe9, 0xff +db 0xee, 0xe9, 0xff, 0xee, 0xe9, 0xff, 0xee, 0xea, 0xff, 0xf5, 0xf3, 0xff +db 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xff +db 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xf8, 0xff +db 0x92, 0xdd, 0xff, 0x22, 0xcc, 0xff, 0x0, 0xcc, 0xff, 0x1, 0xcb, 0xff +db 0x2, 0xce, 0xff, 0x2, 0xe3, 0xff, 0x2, 0xfb, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0xd, 0xff, 0xf5, 0x33, 0xff, 0xe3, 0x7b, 0xff, 0xe3, 0xcc, 0xff, 0xf4 +db 0xfa, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xf9, 0xef, 0x9c, 0xce, 0x83 +db 0x3a, 0x9e, 0x9, 0x30, 0x91, 0x0, 0x35, 0x7a, 0x2, 0x33, 0x66, 0x2 +db 0x3d, 0x67, 0x2, 0x69, 0x69, 0x2, 0x97, 0x5c, 0x0, 0xa5, 0x58, 0x19 +db 0xd4, 0xa9, 0x93, 0xff, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xd9, 0xd9, 0xff, 0x5a, 0x59, 0xff, 0x0, 0x8, 0xff, 0x2, 0x3b +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x4, 0x67, 0xff, 0x39, 0x89, 0xff, 0xc8, 0xde, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd +db 0xff, 0xfc, 0xfc, 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xfe, 0xf9, 0xee, 0xf7 +db 0xc5, 0x6c, 0xc4, 0x9d, 0xc, 0x9d, 0x98, 0x1, 0x98, 0x99, 0x2, 0x99 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x97, 0x0, 0xc9 +db 0xa1, 0x14, 0xd1, 0xd7, 0x99, 0xeb, 0xfc, 0xf6, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xf6, 0xff +db 0xa1, 0xe2, 0xff, 0x31, 0xd1, 0xff, 0x0, 0xcc, 0xff, 0x1, 0xcb, 0xff +db 0x2, 0xce, 0xff, 0x2, 0xe3, 0xff, 0x2, 0xfb, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x1, 0xff, 0xff, 0x1, 0xff, 0xff +db 0x30, 0xff, 0xfb, 0x98, 0xff, 0xf6, 0xee, 0xff, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xf7, 0xeb, 0x92, 0xc8, 0x77 +db 0x35, 0x9b, 0x3, 0x30, 0x91, 0x0, 0x35, 0x7a, 0x2, 0x33, 0x66, 0x2 +db 0x3d, 0x67, 0x2, 0x69, 0x68, 0x2, 0x97, 0x5c, 0x0, 0xa6, 0x5d, 0x1e +db 0xd9, 0xb3, 0xa0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xd9, 0xd9, 0xff, 0x5a, 0x59, 0xff, 0x0, 0x8, 0xff, 0x2, 0x3b +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x4, 0x67, 0xff, 0x3a, 0x89, 0xff, 0xc8, 0xde, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xf7, 0xf7, 0xff, 0xef, 0xef, 0xff, 0xed, 0xed +db 0xff, 0xee, 0xee, 0xff, 0xee, 0xee, 0xff, 0xee, 0xee, 0xff, 0xee, 0xee +db 0xff, 0xee, 0xee, 0xff, 0xee, 0xee, 0xff, 0xed, 0xed, 0xff, 0xe7, 0xe7 +db 0xff, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xff, 0xe8, 0xe5, 0xf9, 0xdb, 0xe3 +db 0xc5, 0x67, 0xbf, 0x9d, 0xc, 0x9e, 0x98, 0x2, 0x99, 0x99, 0x2, 0x99 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x97, 0x0, 0xc8 +db 0xa2, 0x1a, 0xd2, 0xdb, 0xa0, 0xe8, 0xfc, 0xf2, 0xf5, 0xff, 0xf9, 0xf7 +db 0xff, 0xfa, 0xf9, 0xff, 0xfd, 0xfc, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe4, 0xf5, 0xff, 0xac, 0xdd, 0xff, 0x6a, 0xc2, 0xff +db 0x2b, 0xb5, 0xff, 0x8, 0xc3, 0xff, 0x1, 0xcd, 0xff, 0x2, 0xcb, 0xff +db 0x2, 0xce, 0xff, 0x2, 0xe3, 0xff, 0x2, 0xfb, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x1, 0xff, 0xff, 0x1, 0xff, 0xff +db 0x16, 0xff, 0xf7, 0x5b, 0xff, 0xeb, 0xbd, 0xff, 0xf1, 0xfa, 0xff, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xff, 0xfd, 0xfd +db 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf7, 0xec, 0x93, 0xc8, 0x78 +db 0x35, 0x9b, 0x4, 0x30, 0x91, 0x0, 0x35, 0x7a, 0x2, 0x33, 0x66, 0x2 +db 0x3d, 0x67, 0x2, 0x69, 0x68, 0x2, 0x97, 0x5c, 0x0, 0xa6, 0x5d, 0x1e +db 0xd9, 0xb3, 0xa0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xd9, 0xd9, 0xff, 0x5a, 0x59, 0xff, 0x0, 0x8, 0xff, 0x2, 0x3b +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x4, 0x67, 0xff, 0x3a, 0x89, 0xff, 0xc8, 0xde, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xff, 0xde, 0xde, 0xff, 0xd3, 0xd3 +db 0xff, 0xd1, 0xd1, 0xff, 0xd2, 0xd2, 0xff, 0xd2, 0xd2, 0xff, 0xd2, 0xd2 +db 0xff, 0xd2, 0xd2, 0xff, 0xd4, 0xd4, 0xff, 0xda, 0xda, 0xff, 0xdc, 0xdc +db 0xff, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xff, 0xdf, 0xdc, 0xf9, 0xd4, 0xdc +db 0xc6, 0x66, 0xbe, 0x9e, 0xc, 0x9e, 0x98, 0x2, 0x99, 0x99, 0x2, 0x99 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x97, 0x0, 0xc9 +db 0xa3, 0x19, 0xd2, 0xda, 0x99, 0xe1, 0xfc, 0xe3, 0xe6, 0xff, 0xe2, 0xe0 +db 0xff, 0xe1, 0xe1, 0xff, 0xea, 0xea, 0xff, 0xf6, 0xf6, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfd, 0xff +db 0xcd, 0xeb, 0xff, 0x73, 0xc7, 0xff, 0x25, 0xa8, 0xff, 0x6, 0x99, 0xff +db 0x0, 0xa2, 0xff, 0x2, 0xbf, 0xff, 0x2, 0xce, 0xff, 0x2, 0xcc, 0xff +db 0x2, 0xce, 0xff, 0x2, 0xe3, 0xff, 0x2, 0xfb, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x0, 0xff, 0xf3, 0x7, 0xff, 0xdc, 0x46, 0xff, 0xda, 0xb3, 0xff, 0xf0 +db 0xf7, 0xfd, 0xfc, 0xff, 0xf3, 0xf4, 0xff, 0xea, 0xea, 0xff, 0xed, 0xed +db 0xff, 0xf2, 0xf2, 0xff, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xff, 0xf6, 0xf6 +db 0xff, 0xfa, 0xfa, 0xff, 0xfc, 0xfc, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf7, 0xec, 0x93, 0xc8, 0x78 +db 0x35, 0x9b, 0x4, 0x30, 0x91, 0x0, 0x35, 0x7a, 0x2, 0x33, 0x66, 0x2 +db 0x3d, 0x67, 0x2, 0x69, 0x68, 0x2, 0x97, 0x5c, 0x0, 0xa6, 0x5d, 0x1e +db 0xd9, 0xb3, 0xa0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xd9, 0xd9, 0xff, 0x5a, 0x59, 0xff, 0x0, 0x8, 0xff, 0x2, 0x3b +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x4, 0x67, 0xff, 0x3a, 0x89, 0xff, 0xc8, 0xde, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xff, 0xf2, 0xf2, 0xff, 0xe2, 0xe2 +db 0xff, 0xd2, 0xd2, 0xff, 0xcc, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xcc, 0xcc +db 0xff, 0xcc, 0xcc, 0xff, 0xce, 0xce, 0xff, 0xda, 0xda, 0xff, 0xec, 0xec +db 0xff, 0xf5, 0xf5, 0xff, 0xf7, 0xf7, 0xff, 0xfa, 0xf7, 0xfc, 0xf1, 0xf6 +db 0xce, 0x83, 0xcd, 0xa2, 0x17, 0xa2, 0x98, 0x2, 0x98, 0x99, 0x2, 0x99 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x97, 0x0, 0xc8 +db 0xa3, 0x1a, 0xd2, 0xda, 0xa2, 0xe9, 0xfc, 0xf2, 0xf6, 0xff, 0xee, 0xeb +db 0xff, 0xe6, 0xe5, 0xff, 0xec, 0xec, 0xff, 0xf9, 0xf9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xff, 0xfd, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xfe, 0xff, 0xd5, 0xee, 0xff, 0x8f, 0xd1, 0xff +db 0x46, 0xb5, 0xff, 0x12, 0xa0, 0xff, 0x1, 0x98, 0xff, 0x2, 0x97, 0xff +db 0x2, 0xa3, 0xff, 0x2, 0xc0, 0xff, 0x2, 0xce, 0xff, 0x2, 0xcc, 0xff +db 0x3, 0xce, 0xff, 0x11, 0xe3, 0xfe, 0x1f, 0xfa, 0xfe, 0x10, 0xff, 0xff +db 0x1, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xf3, 0x0, 0xff, 0xda, 0x7, 0xff, 0xcd, 0x3b, 0xfd, 0xd5 +db 0x94, 0xf5, 0xe0, 0xe1, 0xed, 0xe7, 0xff, 0xe4, 0xe5, 0xff, 0xdf, 0xdf +db 0xff, 0xde, 0xde, 0xff, 0xda, 0xda, 0xff, 0xd8, 0xd8, 0xff, 0xda, 0xda +db 0xff, 0xde, 0xde, 0xff, 0xe2, 0xe2, 0xff, 0xe7, 0xe7, 0xff, 0xee, 0xee +db 0xff, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xf0, 0xf7, 0xeb, 0x93, 0xc9, 0x77 +db 0x35, 0x9b, 0x4, 0x30, 0x91, 0x0, 0x35, 0x7a, 0x2, 0x33, 0x66, 0x2 +db 0x3d, 0x67, 0x2, 0x69, 0x68, 0x2, 0x97, 0x5c, 0x0, 0xa6, 0x5d, 0x1e +db 0xd9, 0xb3, 0xa0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xd9, 0xd9, 0xff, 0x5a, 0x59, 0xff, 0x0, 0x8, 0xff, 0x2, 0x3b +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x4, 0x67, 0xff, 0x3a, 0x89, 0xff, 0xc8, 0xde, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa +db 0xff, 0xec, 0xec, 0xff, 0xd8, 0xd8, 0xff, 0xcd, 0xcd, 0xff, 0xcc, 0xcc +db 0xff, 0xcc, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xcf, 0xcf, 0xff, 0xdc, 0xdc +db 0xff, 0xef, 0xef, 0xff, 0xfc, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xde, 0xac, 0xde, 0xac, 0x2e, 0xac, 0x99, 0x4, 0x99, 0x99, 0x2, 0x99 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x97, 0x0, 0xc8 +db 0xa3, 0x17, 0xd1, 0xd9, 0x9f, 0xec, 0xfc, 0xf8, 0xfd, 0xff, 0xff, 0xfe +db 0xff, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd +db 0xff, 0xee, 0xee, 0xff, 0xe0, 0xe0, 0xff, 0xde, 0xde, 0xff, 0xe3, 0xe3 +db 0xff, 0xea, 0xea, 0xff, 0xf0, 0xf0, 0xff, 0xf2, 0xf2, 0xff, 0xf5, 0xf5 +db 0xff, 0xf9, 0xf9, 0xff, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xfb, 0xff +db 0xd6, 0xed, 0xff, 0x9a, 0xd6, 0xff, 0x4e, 0xb8, 0xff, 0x14, 0xa1, 0xff +db 0x2, 0x98, 0xff, 0x1, 0x98, 0xff, 0x2, 0x98, 0xff, 0x2, 0x97, 0xff +db 0x2, 0xa3, 0xff, 0x2, 0xbf, 0xff, 0x0, 0xcd, 0xff, 0x8, 0xce, 0xff +db 0x37, 0xd7, 0xfe, 0x87, 0xe3, 0xf5, 0xb0, 0xe9, 0xeb, 0x7e, 0xf1, 0xf1 +db 0x2c, 0xfb, 0xfb, 0x4, 0xff, 0xff, 0x1, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xf3, 0x2, 0xff, 0xda, 0x1, 0xff, 0xcc, 0x2, 0xf7, 0xc4 +db 0x1b, 0xe2, 0xb5, 0x69, 0xdf, 0xc1, 0xc6, 0xe7, 0xdc, 0xf9, 0xe4, 0xe3 +db 0xff, 0xde, 0xde, 0xff, 0xd7, 0xd7, 0xff, 0xd1, 0xd1, 0xff, 0xcc, 0xcc +db 0xff, 0xcb, 0xcb, 0xff, 0xcd, 0xcd, 0xff, 0xce, 0xce, 0xff, 0xd0, 0xd0 +db 0xff, 0xd8, 0xd8, 0xff, 0xe4, 0xe7, 0xf0, 0xe4, 0xd8, 0x93, 0xc3, 0x71 +db 0x35, 0x9c, 0x4, 0x30, 0x91, 0x0, 0x35, 0x7a, 0x2, 0x33, 0x66, 0x2 +db 0x3d, 0x67, 0x2, 0x69, 0x68, 0x2, 0x97, 0x5c, 0x0, 0xa6, 0x5d, 0x1e +db 0xd9, 0xb3, 0xa0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xd9, 0xd9, 0xff, 0x5a, 0x59, 0xff, 0x0, 0x8, 0xff, 0x2, 0x3b +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x4, 0x67, 0xff, 0x3a, 0x89, 0xff, 0xc8, 0xde, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfd, 0xfd, 0xff, 0xf0, 0xf0, 0xff, 0xdd, 0xdd, 0xff, 0xd0, 0xd0 +db 0xff, 0xcc, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xcd, 0xcd +db 0xff, 0xd5, 0xd5, 0xff, 0xe2, 0xe2, 0xff, 0xe9, 0xe9, 0xff, 0xee, 0xeb +db 0xeb, 0xbf, 0xdd, 0xb6, 0x46, 0xb3, 0x9a, 0x6, 0x9b, 0x99, 0x1, 0x99 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x97, 0x0, 0xc9 +db 0x9d, 0xb, 0xcf, 0xcd, 0x7c, 0xe0, 0xfa, 0xdf, 0xea, 0xff, 0xed, 0xe9 +db 0xff, 0xea, 0xe9, 0xff, 0xe9, 0xe8, 0xff, 0xe9, 0xe8, 0xff, 0xe9, 0xe8 +db 0xff, 0xe9, 0xe8, 0xff, 0xed, 0xec, 0xff, 0xf3, 0xf2, 0xff, 0xf9, 0xf8 +db 0xff, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfc +db 0xff, 0xee, 0xed, 0xff, 0xe0, 0xdf, 0xff, 0xd9, 0xd8, 0xff, 0xd5, 0xd4 +db 0xff, 0xd5, 0xd4, 0xff, 0xd8, 0xd7, 0xff, 0xd7, 0xd6, 0xff, 0xd8, 0xd8 +db 0xff, 0xde, 0xde, 0xff, 0xe5, 0xe5, 0xff, 0xe8, 0xe8, 0xff, 0xea, 0xea +db 0xff, 0xf1, 0xf1, 0xff, 0xf8, 0xf8, 0xff, 0xfa, 0xfa, 0xff, 0xfb, 0xfa +db 0xff, 0xff, 0xfd, 0xfd, 0xfe, 0xff, 0xd9, 0xe7, 0xff, 0x8f, 0xbd, 0xff +db 0x47, 0xa5, 0xff, 0x17, 0xa0, 0xff, 0x4, 0x9a, 0xff, 0x1, 0x98, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x2, 0x97, 0xff +db 0x1, 0xa2, 0xff, 0x4, 0xbf, 0xff, 0x21, 0xd4, 0xff, 0x6a, 0xe2, 0xff +db 0xbd, 0xf2, 0xff, 0xf5, 0xf1, 0xf4, 0xff, 0xe4, 0xe4, 0xef, 0xe1, 0xe1 +db 0xad, 0xeb, 0xeb, 0x53, 0xf8, 0xf8, 0x12, 0xfe, 0xff, 0x0, 0xff, 0xff +db 0x2, 0xff, 0xf3, 0x2, 0xff, 0xda, 0x2, 0xff, 0xcd, 0x2, 0xf6, 0xc3 +db 0x0, 0xdc, 0xa8, 0xb, 0xce, 0x9e, 0x43, 0xd5, 0xb0, 0x9e, 0xda, 0xc7 +db 0xe9, 0xd9, 0xd5, 0xff, 0xd5, 0xd7, 0xff, 0xd2, 0xd3, 0xff, 0xd0, 0xd0 +db 0xff, 0xd0, 0xd0, 0xff, 0xd0, 0xd0, 0xff, 0xd0, 0xd0, 0xff, 0xd0, 0xd0 +db 0xff, 0xd0, 0xd1, 0xff, 0xd3, 0xd7, 0xf0, 0xd3, 0xc7, 0x93, 0xbc, 0x6b +db 0x35, 0x9c, 0x5, 0x30, 0x91, 0x0, 0x35, 0x7a, 0x2, 0x33, 0x66, 0x2 +db 0x3d, 0x67, 0x2, 0x69, 0x68, 0x2, 0x97, 0x5c, 0x0, 0xa6, 0x5c, 0x1d +db 0xd9, 0xab, 0x98, 0xff, 0xf2, 0xf4, 0xff, 0xf4, 0xf5, 0xff, 0xf7, 0xf6 +db 0xff, 0xfc, 0xfc, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xd9, 0xd9, 0xff, 0x5a, 0x59, 0xff, 0x0, 0x8, 0xff, 0x2, 0x3b +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x4, 0x67, 0xff, 0x3a, 0x89, 0xff, 0xc8, 0xde, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xf4, 0xf4, 0xff, 0xe0, 0xe0 +db 0xff, 0xcf, 0xcf, 0xff, 0xcc, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xcc, 0xcc +db 0xff, 0xcd, 0xcd, 0xff, 0xcf, 0xcf, 0xff, 0xd1, 0xd1, 0xff, 0xd6, 0xd3 +db 0xf1, 0xbc, 0xd2, 0xbc, 0x51, 0xb5, 0x9b, 0x7, 0x9c, 0x99, 0x1, 0x99 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x99, 0x1, 0xc9 +db 0x98, 0x0, 0xce, 0xb8, 0x57, 0xd7, 0xf0, 0xc0, 0xd9, 0xff, 0xd7, 0xd5 +db 0xff, 0xd4, 0xd4, 0xff, 0xd4, 0xd3, 0xff, 0xd4, 0xd3, 0xff, 0xd4, 0xd3 +db 0xff, 0xd4, 0xd3, 0xff, 0xd6, 0xd6, 0xff, 0xdb, 0xdb, 0xff, 0xe3, 0xe2 +db 0xff, 0xf0, 0xef, 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfd, 0xfb, 0xff, 0xf9, 0xf7, 0xff, 0xf3, 0xf3, 0xff, 0xed, 0xec +db 0xff, 0xe9, 0xe8, 0xff, 0xe8, 0xe7, 0xff, 0xe3, 0xe2, 0xff, 0xdf, 0xde +db 0xff, 0xdf, 0xde, 0xff, 0xde, 0xdb, 0xff, 0xd9, 0xd7, 0xff, 0xd4, 0xd4 +db 0xff, 0xd7, 0xd7, 0xff, 0xdd, 0xdd, 0xff, 0xe2, 0xe1, 0xff, 0xe6, 0xe3 +db 0xfd, 0xec, 0xed, 0xce, 0xdb, 0xfa, 0x6b, 0xa5, 0xff, 0x1c, 0x79, 0xff +db 0x3, 0x81, 0xff, 0x1, 0x95, 0xff, 0x2, 0x9a, 0xff, 0x2, 0x99, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x98, 0xff, 0x2, 0x98, 0xff, 0x0, 0x97, 0xff +db 0xa, 0xa8, 0xff, 0x3e, 0xcd, 0xff, 0x91, 0xea, 0xff, 0xdb, 0xf8, 0xff +db 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xf8, 0xf8, 0xff, 0xf2, 0xf2 +db 0xf8, 0xed, 0xed, 0xc7, 0xf0, 0xf0, 0x6b, 0xf9, 0xfa, 0x19, 0xff, 0xff +db 0x0, 0xff, 0xf4, 0x2, 0xff, 0xda, 0x2, 0xff, 0xcd, 0x2, 0xf6, 0xc4 +db 0x2, 0xdc, 0xa9, 0x0, 0xcc, 0x98, 0x5, 0xcc, 0x9a, 0x2d, 0xd2, 0xa7 +db 0x83, 0xdb, 0xc2, 0xdc, 0xe4, 0xdd, 0xff, 0xe8, 0xea, 0xff, 0xe9, 0xea +db 0xff, 0xe9, 0xe9, 0xff, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xff, 0xe8, 0xe8 +db 0xff, 0xe8, 0xe8, 0xff, 0xe9, 0xed, 0xf0, 0xe0, 0xd5, 0x93, 0xbf, 0x6e +db 0x35, 0x9c, 0x5, 0x30, 0x91, 0x0, 0x35, 0x7a, 0x2, 0x33, 0x66, 0x2 +db 0x3d, 0x67, 0x2, 0x69, 0x68, 0x2, 0x97, 0x5c, 0x0, 0xa6, 0x5c, 0x1e +db 0xd9, 0xaa, 0x98, 0xff, 0xf0, 0xf1, 0xff, 0xf2, 0xf2, 0xff, 0xf4, 0xf4 +db 0xff, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xd9, 0xd9, 0xff, 0x5a, 0x59, 0xff, 0x0, 0x8, 0xff, 0x2, 0x3b +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x4, 0x67, 0xff, 0x39, 0x89, 0xff, 0xc8, 0xde, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6 +db 0xff, 0xe0, 0xe0, 0xff, 0xcf, 0xcf, 0xff, 0xcc, 0xcc, 0xff, 0xcc, 0xcc +db 0xff, 0xcc, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xcb, 0xcb, 0xff, 0xd0, 0xcd +db 0xf8, 0xc8, 0xd2, 0xcb, 0x6e, 0xbf, 0x9f, 0xe, 0x9e, 0x99, 0x1, 0x98 +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9a, 0x2, 0xca +db 0x96, 0x0, 0xcd, 0x91, 0x2c, 0xd2, 0xaa, 0x7c, 0xd9, 0xbb, 0x93, 0xd7 +db 0xbb, 0x92, 0xd7, 0xbb, 0x92, 0xe0, 0xbb, 0x92, 0xe6, 0xbb, 0x92, 0xe7 +db 0xbb, 0x92, 0xe7, 0xbb, 0x92, 0xe7, 0xbb, 0x92, 0xe8, 0xbb, 0x92, 0xe9 +db 0xbb, 0xa4, 0xf1, 0xbb, 0xb6, 0xfc, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xff +db 0xb5, 0xbb, 0xff, 0xac, 0xbc, 0xff, 0xa9, 0xbb, 0xff, 0xaa, 0xbb, 0xff +db 0xaa, 0xba, 0xfe, 0xaa, 0xb9, 0xfe, 0xa9, 0xb7, 0xfc, 0xa9, 0xb7, 0xfa +db 0xbd, 0xc5, 0xf9, 0xe0, 0xdd, 0xf5, 0xf9, 0xea, 0xef, 0xff, 0xe5, 0xe5 +db 0xff, 0xda, 0xd9, 0xff, 0xd5, 0xd5, 0xff, 0xd5, 0xd4, 0xfb, 0xd3, 0xd6 +db 0xbc, 0xbe, 0xe6, 0x56, 0x93, 0xf8, 0xf, 0x6e, 0xff, 0x0, 0x66, 0xff +db 0x2, 0x7f, 0xff, 0x2, 0x96, 0xff, 0x2, 0x9a, 0xff, 0x2, 0x98, 0xff +db 0x2, 0x98, 0xff, 0x2, 0x99, 0xff, 0x10, 0x9f, 0xff, 0x36, 0xad, 0xfd +db 0x7b, 0xcb, 0xfd, 0xc8, 0xef, 0xff, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfd, 0xfd, 0xff, 0xfa, 0xfa, 0xe3, 0xfb, 0xfb, 0x8c, 0xfe, 0xff +db 0x30, 0xff, 0xf4, 0x7, 0xff, 0xdb, 0x0, 0xff, 0xcc, 0x2, 0xf6, 0xc4 +db 0x2, 0xdc, 0xa9, 0x2, 0xcc, 0x98, 0x2, 0xcb, 0x97, 0x0, 0xcc, 0x98 +db 0x14, 0xd1, 0xa2, 0x60, 0xdf, 0xbe, 0xbc, 0xef, 0xe1, 0xf2, 0xfa, 0xf8 +db 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xef, 0xf5, 0xea, 0x92, 0xc7, 0x76 +db 0x34, 0x9b, 0x3, 0x31, 0x91, 0x0, 0x35, 0x7a, 0x2, 0x33, 0x66, 0x2 +db 0x3d, 0x67, 0x2, 0x69, 0x68, 0x2, 0x97, 0x5c, 0x0, 0xa6, 0x5a, 0x1c +db 0xd9, 0xa5, 0x93, 0xff, 0xe9, 0xea, 0xff, 0xef, 0xef, 0xff, 0xf3, 0xf3 +db 0xff, 0xf7, 0xf7, 0xff, 0xfb, 0xfb, 0xff, 0xfd, 0xfd, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xd9, 0xd9, 0xff, 0x5a, 0x59, 0xff, 0x0, 0x8, 0xff, 0x2, 0x3b +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x5, 0x68, 0xff, 0x3b, 0x8a, 0xff, 0xca, 0xdf, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xf6, 0xf6, 0xff, 0xe3, 0xe3, 0xff, 0xd4, 0xd4, 0xff, 0xcd, 0xcd +db 0xff, 0xcc, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xcd, 0xcd +db 0xff, 0xd0, 0xd1, 0xe1, 0x9b, 0xc9, 0xac, 0x2c, 0xa8, 0x9a, 0x4, 0x9a +db 0x99, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9a, 0x2, 0xca +db 0x99, 0x1, 0xcc, 0x73, 0x7, 0xcd, 0x4d, 0x15, 0xd0, 0x46, 0x1a, 0xd0 +db 0x48, 0x1a, 0xd2, 0x48, 0x1a, 0xe9, 0x48, 0x1a, 0xfc, 0x48, 0x1a, 0xfe +db 0x48, 0x1a, 0xfe, 0x48, 0x1a, 0xfe, 0x48, 0x19, 0xfe, 0x48, 0x1a, 0xfe +db 0x48, 0x31, 0xfe, 0x48, 0x44, 0xff, 0x48, 0x48, 0xff, 0x48, 0x48, 0xff +db 0x39, 0x48, 0xff, 0x22, 0x48, 0xff, 0x1a, 0x48, 0xff, 0x1b, 0x48, 0xff +db 0x1b, 0x48, 0xff, 0x1b, 0x48, 0xff, 0x1a, 0x48, 0xff, 0x1a, 0x48, 0xff +db 0x29, 0x55, 0xff, 0x57, 0x7a, 0xff, 0xa5, 0xb8, 0xff, 0xed, 0xee, 0xfd +db 0xff, 0xf9, 0xf7, 0xff, 0xf0, 0xf0, 0xff, 0xe6, 0xe2, 0xeb, 0xd2, 0xde +db 0x73, 0x9d, 0xf2, 0xf, 0x6e, 0xff, 0x0, 0x62, 0xff, 0x2, 0x68, 0xff +db 0x2, 0x7f, 0xff, 0x2, 0x95, 0xff, 0x1, 0x9a, 0xff, 0x2, 0x9a, 0xff +db 0x13, 0xa0, 0xfe, 0x43, 0xae, 0xf8, 0x89, 0xbe, 0xee, 0xc7, 0xce, 0xe4 +db 0xf2, 0xdf, 0xe4, 0xff, 0xec, 0xec, 0xff, 0xf3, 0xf3, 0xff, 0xf7, 0xf7 +db 0xff, 0xfb, 0xfa, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xff, 0xff +db 0xb8, 0xff, 0xf9, 0x67, 0xff, 0xe6, 0x20, 0xff, 0xd4, 0x2, 0xf6, 0xc4 +db 0x1, 0xdc, 0xa9, 0x2, 0xcc, 0x98, 0x2, 0xcb, 0x98, 0x2, 0xcc, 0x99 +db 0x0, 0xcd, 0x98, 0x7, 0xcc, 0x9a, 0x39, 0xcb, 0xa4, 0xa7, 0xda, 0xc9 +db 0xfc, 0xf1, 0xf1, 0xff, 0xfa, 0xfa, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf8, 0xec, 0x95, 0xca, 0x7a +db 0x35, 0x9b, 0x4, 0x30, 0x90, 0x0, 0x35, 0x7a, 0x2, 0x33, 0x66, 0x2 +db 0x3c, 0x67, 0x2, 0x68, 0x68, 0x2, 0x97, 0x5d, 0x0, 0xa9, 0x60, 0x22 +db 0xdc, 0xa6, 0x95, 0xff, 0xd8, 0xda, 0xff, 0xd4, 0xd5, 0xff, 0xd6, 0xd6 +db 0xff, 0xda, 0xda, 0xff, 0xdf, 0xdf, 0xff, 0xe6, 0xe6, 0xff, 0xed, 0xed +db 0xff, 0xf6, 0xf6, 0xff, 0xfb, 0xfb, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xd9, 0xd9, 0xff, 0x5a, 0x59, 0xff, 0x0, 0x8, 0xff, 0x2, 0x3b +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x68, 0xff, 0x1, 0x67 +db 0xff, 0x6, 0x6a, 0xff, 0x55, 0x9b, 0xff, 0xdd, 0xec, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xff, 0xeb, 0xeb, 0xff, 0xd7, 0xd7 +db 0xff, 0xcf, 0xcf, 0xff, 0xcc, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xcc, 0xcc +db 0xff, 0xcf, 0xcd, 0xf9, 0xc6, 0xcf, 0xcb, 0x6c, 0xbc, 0xa1, 0x13, 0xa0 +db 0x98, 0x2, 0x98, 0x99, 0x2, 0x9b, 0x99, 0x2, 0xb6, 0x9a, 0x2, 0xca +db 0x9a, 0x2, 0xcc, 0x6d, 0x2, 0xcc, 0x3b, 0x2, 0xcc, 0x31, 0x2, 0xcb +db 0x32, 0x2, 0xcd, 0x32, 0x2, 0xe8, 0x32, 0x2, 0xfd, 0x32, 0x2, 0xff +db 0x32, 0x2, 0xff, 0x32, 0x2, 0xff, 0x32, 0x2, 0xff, 0x32, 0x0, 0xff +db 0x32, 0x19, 0xff, 0x32, 0x2f, 0xff, 0x33, 0x33, 0xff, 0x32, 0x32, 0xff +db 0x21, 0x32, 0xff, 0x7, 0x32, 0xff, 0x1, 0x32, 0xff, 0x2, 0x32, 0xff +db 0x2, 0x32, 0xff, 0x2, 0x32, 0xff, 0x2, 0x32, 0xff, 0x2, 0x32, 0xff +db 0x1, 0x30, 0xff, 0x0, 0x32, 0xff, 0x41, 0x68, 0xff, 0xc7, 0xd4, 0xff +db 0xff, 0xff, 0xfc, 0xff, 0xed, 0xeb, 0xff, 0xda, 0xd7, 0xf9, 0xd1, 0xd4 +db 0x97, 0xac, 0xea, 0x2a, 0x7d, 0xfd, 0x6, 0x6a, 0xff, 0x5, 0x6b, 0xff +db 0x5, 0x83, 0xff, 0x6, 0x99, 0xff, 0x1a, 0xa3, 0xfe, 0x41, 0xaf, 0xfc +db 0x80, 0xc2, 0xf5, 0xca, 0xd1, 0xe6, 0xf6, 0xd5, 0xd8, 0xff, 0xd5, 0xd3 +db 0xff, 0xd3, 0xd2, 0xff, 0xd2, 0xd3, 0xff, 0xd6, 0xd6, 0xff, 0xdb, 0xdb +db 0xff, 0xe2, 0xe2, 0xff, 0xe8, 0xe8, 0xff, 0xf0, 0xf0, 0xff, 0xf8, 0xf8 +db 0xff, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe2, 0xff, 0xfa, 0x90, 0xff, 0xeb, 0x35, 0xf7, 0xcf +db 0x8, 0xdc, 0xab, 0x0, 0xcc, 0x98, 0x2, 0xcb, 0x97, 0x2, 0xcc, 0x98 +db 0x2, 0xcc, 0x99, 0x0, 0xc7, 0x94, 0x13, 0xbd, 0x8e, 0x85, 0xc3, 0xab +db 0xf7, 0xd5, 0xd5, 0xff, 0xe0, 0xe1, 0xff, 0xea, 0xea, 0xff, 0xf2, 0xf2 +db 0xff, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xf6, 0xfb, 0xf4, 0xac, 0xd7, 0x98 +db 0x48, 0xa5, 0x1b, 0x30, 0x91, 0x0, 0x31, 0x78, 0x2, 0x31, 0x65, 0x2 +db 0x3a, 0x66, 0x2, 0x66, 0x65, 0x0, 0x9a, 0x63, 0x7, 0xb9, 0x80, 0x4b +db 0xeb, 0xcf, 0xc5, 0xff, 0xeb, 0xed, 0xff, 0xd9, 0xd9, 0xff, 0xd2, 0xd2 +db 0xff, 0xd1, 0xd1, 0xff, 0xcf, 0xcf, 0xff, 0xcd, 0xcd, 0xff, 0xd1, 0xd1 +db 0xff, 0xd9, 0xd9, 0xff, 0xe1, 0xe1, 0xff, 0xec, 0xec, 0xff, 0xf7, 0xf7 +db 0xff, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe +db 0xff, 0xdd, 0xdc, 0xff, 0x5e, 0x5d, 0xff, 0x0, 0x7, 0xff, 0x2, 0x3a +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x69, 0xff, 0x2, 0x67, 0xff, 0x1, 0x66 +db 0xff, 0xd, 0x6f, 0xff, 0x81, 0xb4, 0xff, 0xf7, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xf2, 0xf2 +db 0xff, 0xe4, 0xe4, 0xff, 0xd6, 0xd6, 0xff, 0xd0, 0xd0, 0xff, 0xcc, 0xcc +db 0xff, 0xcc, 0xcc, 0xff, 0xcf, 0xcd, 0xf0, 0xb4, 0xcb, 0xc1, 0x56, 0xb6 +db 0xa1, 0x11, 0x9f, 0x99, 0x2, 0x9c, 0x98, 0x2, 0xb6, 0x99, 0x2, 0xca +db 0x99, 0x2, 0xcc, 0x6c, 0x2, 0xcc, 0x3a, 0x2, 0xcc, 0x31, 0x2, 0xcb +db 0x33, 0x2, 0xcd, 0x33, 0x2, 0xe8, 0x33, 0x2, 0xfd, 0x33, 0x2, 0xff +db 0x33, 0x2, 0xff, 0x33, 0x2, 0xff, 0x33, 0x2, 0xff, 0x33, 0x1, 0xff +db 0x33, 0x1a, 0xff, 0x33, 0x31, 0xff, 0x34, 0x35, 0xff, 0x33, 0x34, 0xff +db 0x22, 0x34, 0xff, 0x8, 0x34, 0xff, 0x1, 0x34, 0xff, 0x2, 0x33, 0xff +db 0x2, 0x33, 0xff, 0x2, 0x32, 0xff, 0x2, 0x33, 0xff, 0x2, 0x32, 0xff +db 0x1, 0x30, 0xff, 0x0, 0x32, 0xff, 0x48, 0x6d, 0xff, 0xcd, 0xcf, 0xf7 +db 0xff, 0xe9, 0xe5, 0xff, 0xd6, 0xd4, 0xff, 0xcc, 0xcc, 0xff, 0xce, 0xcc +db 0xe3, 0xc7, 0xd8, 0xa5, 0xb2, 0xe8, 0x7b, 0xa1, 0xf1, 0x71, 0x9f, 0xf2 +db 0x71, 0xac, 0xf2, 0x76, 0xb9, 0xf1, 0x9b, 0xc6, 0xee, 0xcc, 0xdc, 0xf0 +db 0xed, 0xec, 0xf3, 0xfd, 0xf0, 0xf1, 0xff, 0xef, 0xee, 0xff, 0xee, 0xed +db 0xff, 0xea, 0xea, 0xff, 0xe4, 0xe4, 0xff, 0xdd, 0xdd, 0xff, 0xda, 0xda +db 0xff, 0xd7, 0xd7, 0xff, 0xd5, 0xd5, 0xff, 0xd7, 0xd7, 0xff, 0xdb, 0xdb +db 0xff, 0xdd, 0xdd, 0xff, 0xe0, 0xe0, 0xff, 0xe6, 0xe6, 0xff, 0xed, 0xed +db 0xff, 0xf3, 0xf2, 0xff, 0xf7, 0xf7, 0xf1, 0xfb, 0xf9, 0xb8, 0xf8, 0xea +db 0x62, 0xe5, 0xc5, 0x1c, 0xd2, 0xa5, 0x3, 0xce, 0x9b, 0x4, 0xce, 0x9a +db 0x7, 0xce, 0x9c, 0x1f, 0xd2, 0xa5, 0x64, 0xd5, 0xb5, 0xc8, 0xd5, 0xc9 +db 0xff, 0xd1, 0xd2, 0xff, 0xce, 0xce, 0xff, 0xd0, 0xd0, 0xff, 0xd5, 0xd5 +db 0xff, 0xdc, 0xdc, 0xff, 0xe4, 0xe6, 0xfe, 0xeb, 0xec, 0xe4, 0xe5, 0xd1 +db 0xa3, 0xcd, 0x86, 0x6a, 0xae, 0x43, 0x47, 0x86, 0x1b, 0x39, 0x6c, 0x9 +db 0x44, 0x6e, 0xc, 0x77, 0x78, 0x1d, 0xba, 0x94, 0x51, 0xe1, 0xca, 0xaf +db 0xfb, 0xf6, 0xf6, 0xff, 0xfe, 0xff, 0xff, 0xf5, 0xf5, 0xff, 0xef, 0xef +db 0xff, 0xed, 0xed, 0xff, 0xe4, 0xe4, 0xff, 0xd6, 0xd6, 0xff, 0xce, 0xce +db 0xff, 0xcd, 0xcd, 0xff, 0xce, 0xce, 0xff, 0xd3, 0xd3, 0xff, 0xda, 0xda +db 0xff, 0xdd, 0xdd, 0xff, 0xdf, 0xdf, 0xff, 0xe7, 0xe7, 0xff, 0xf1, 0xf1 +db 0xff, 0xe9, 0xe8, 0xff, 0x8d, 0x8b, 0xff, 0x14, 0x20, 0xff, 0x0, 0x38 +db 0xff, 0x2, 0x64, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x7, 0x69 +db 0xff, 0x2b, 0x7f, 0xff, 0xac, 0xcd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfd, 0xfd, 0xff, 0xf3, 0xf3, 0xff, 0xe7, 0xe7, 0xff, 0xdb, 0xdb +db 0xff, 0xd6, 0xd7, 0xff, 0xd5, 0xd4, 0xff, 0xd2, 0xd2, 0xec, 0xb0, 0xcc +db 0xcf, 0x76, 0xbf, 0xbd, 0x4f, 0xb5, 0xb2, 0x3b, 0xc3, 0xad, 0x2b, 0xd1 +db 0xa4, 0x1c, 0xd0, 0x7c, 0x19, 0xd0, 0x4c, 0x17, 0xcf, 0x3c, 0xc, 0xcd +db 0x38, 0x6, 0xcf, 0x38, 0x6, 0xe8, 0x38, 0x6, 0xfc, 0x38, 0x6, 0xff +db 0x38, 0x6, 0xff, 0x38, 0x6, 0xff, 0x38, 0x4, 0xff, 0x38, 0x8, 0xff +db 0x38, 0x1f, 0xff, 0x38, 0x35, 0xff, 0x39, 0x39, 0xff, 0x38, 0x38, 0xff +db 0x27, 0x38, 0xff, 0xe, 0x38, 0xff, 0x5, 0x37, 0xff, 0xa, 0x3c, 0xff +db 0x16, 0x44, 0xfe, 0x1b, 0x47, 0xfe, 0x19, 0x46, 0xfe, 0x1e, 0x49, 0xfd +db 0x2e, 0x55, 0xfd, 0x51, 0x73, 0xff, 0xa4, 0xb6, 0xff, 0xf1, 0xe5, 0xf1 +db 0xff, 0xe0, 0xdd, 0xff, 0xd4, 0xd3, 0xff, 0xd0, 0xd1, 0xff, 0xce, 0xce +db 0xff, 0xcf, 0xce, 0xfc, 0xcf, 0xd1, 0xf5, 0xce, 0xd5, 0xf3, 0xce, 0xd6 +db 0xf3, 0xcf, 0xd5, 0xf4, 0xd3, 0xd7, 0xfb, 0xe1, 0xe3, 0xff, 0xf6, 0xf4 +db 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xf9, 0xf9, 0xff, 0xf7, 0xf7 +db 0xff, 0xf2, 0xf2, 0xff, 0xec, 0xec, 0xff, 0xe3, 0xe3, 0xff, 0xdb, 0xdb +db 0xff, 0xd8, 0xd8, 0xff, 0xd7, 0xd7, 0xff, 0xd4, 0xd4, 0xff, 0xd3, 0xd3 +db 0xff, 0xd6, 0xd5, 0xff, 0xda, 0xdb, 0xff, 0xde, 0xe0, 0xfd, 0xe3, 0xe3 +db 0xde, 0xe6, 0xde, 0x9f, 0xdf, 0xcb, 0x74, 0xd8, 0xbc, 0x6f, 0xd9, 0xbc +db 0x7b, 0xe2, 0xc6, 0xa7, 0xee, 0xdc, 0xdf, 0xf7, 0xf1, 0xfc, 0xf4, 0xf4 +db 0xff, 0xe9, 0xea, 0xff, 0xde, 0xde, 0xff, 0xd6, 0xd6, 0xff, 0xd1, 0xd1 +db 0xff, 0xcf, 0xcf, 0xff, 0xcf, 0xcf, 0xff, 0xd1, 0xd1, 0xff, 0xd6, 0xd6 +db 0xf7, 0xdb, 0xd4, 0xdc, 0xd5, 0xbe, 0xb4, 0xbd, 0x94, 0x97, 0xac, 0x77 +db 0xa1, 0xb4, 0x83, 0xcb, 0xcc, 0xab, 0xf0, 0xe7, 0xd7, 0xfe, 0xfc, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xff, 0xf2, 0xf2, 0xff, 0xe6, 0xe6 +db 0xff, 0xde, 0xde, 0xff, 0xd9, 0xd9, 0xff, 0xd6, 0xd6, 0xff, 0xd1, 0xd1 +db 0xff, 0xce, 0xce, 0xff, 0xcd, 0xcd, 0xff, 0xcf, 0xcf, 0xff, 0xd4, 0xd4 +db 0xff, 0xde, 0xdd, 0xff, 0xc8, 0xc7, 0xff, 0x77, 0x80, 0xff, 0x40, 0x6c +db 0xff, 0x3a, 0x85, 0xff, 0x41, 0x8e, 0xff, 0x5a, 0x9c, 0xff, 0x77, 0xad +db 0xff, 0xa4, 0xc8, 0xff, 0xe8, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xf9, 0xf9 +db 0xff, 0xf6, 0xf6, 0xff, 0xf0, 0xf0, 0xff, 0xe9, 0xe8, 0xff, 0xe1, 0xe0 +db 0xfb, 0xd5, 0xdc, 0xf4, 0xc5, 0xd6, 0xee, 0xb7, 0xd4, 0xe7, 0xa5, 0xd7 +db 0xde, 0x95, 0xd7, 0xce, 0x93, 0xd7, 0xb5, 0x8b, 0xd7, 0x9a, 0x73, 0xd7 +db 0x8f, 0x67, 0xd8, 0x8f, 0x67, 0xe7, 0x8f, 0x67, 0xf3, 0x8f, 0x67, 0xf4 +db 0x8f, 0x67, 0xf4, 0x8f, 0x67, 0xf4, 0x8f, 0x66, 0xf4, 0x8f, 0x67, 0xf4 +db 0x8f, 0x75, 0xf4, 0x8f, 0x81, 0xf4, 0x8f, 0x83, 0xf4, 0x8f, 0x83, 0xf4 +db 0x85, 0x83, 0xf4, 0x77, 0x83, 0xf4, 0x71, 0x83, 0xf4, 0x7d, 0x8a, 0xf2 +db 0x9b, 0x9c, 0xec, 0xaa, 0xa4, 0xe9, 0xa8, 0xa3, 0xe9, 0xae, 0xa5, 0xe7 +db 0xc4, 0xb6, 0xe5, 0xdd, 0xd6, 0xf1, 0xf5, 0xf5, 0xfd, 0xff, 0xfc, 0xfc +db 0xff, 0xf6, 0xf6, 0xff, 0xf1, 0xf1, 0xff, 0xed, 0xed, 0xff, 0xe7, 0xe7 +db 0xff, 0xe3, 0xe3, 0xff, 0xe3, 0xe2, 0xff, 0xe4, 0xe2, 0xff, 0xe4, 0xe2 +db 0xff, 0xe4, 0xe3, 0xff, 0xea, 0xe9, 0xff, 0xf6, 0xf5, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xff, 0xf8, 0xf8 +db 0xff, 0xf7, 0xf7, 0xff, 0xf4, 0xf4, 0xff, 0xec, 0xec, 0xff, 0xe4, 0xe4 +db 0xff, 0xe2, 0xe2, 0xff, 0xe2, 0xe2, 0xff, 0xde, 0xde, 0xff, 0xd9, 0xd9 +db 0xff, 0xd8, 0xd8, 0xfb, 0xd7, 0xd7, 0xf4, 0xd7, 0xd4, 0xf2, 0xdc, 0xd9 +db 0xf5, 0xeb, 0xe9, 0xfc, 0xfc, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xfa, 0xfa, 0xff, 0xf3, 0xf3, 0xff, 0xed, 0xed +db 0xff, 0xe9, 0xe9, 0xff, 0xe2, 0xe2, 0xff, 0xdc, 0xdc, 0xff, 0xd6, 0xd6 +db 0xff, 0xd3, 0xd4, 0xff, 0xd5, 0xd7, 0xfd, 0xd8, 0xd7, 0xf7, 0xdd, 0xd9 +db 0xfa, 0xec, 0xe9, 0xff, 0xfd, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xfb, 0xfb, 0xff, 0xf7, 0xf7, 0xff, 0xf4, 0xf4, 0xff, 0xed, 0xed +db 0xff, 0xe6, 0xe6, 0xff, 0xe2, 0xe2, 0xff, 0xdd, 0xdd, 0xff, 0xd7, 0xd7 +db 0xff, 0xd3, 0xd3, 0xff, 0xd1, 0xd1, 0xff, 0xc8, 0xca, 0xff, 0xb9, 0xc3 +db 0xff, 0xb9, 0xc8, 0xff, 0xc6, 0xd7, 0xff, 0xe1, 0xec, 0xff, 0xf2, 0xf8 +db 0xff, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xf8, 0xf8 +db 0xff, 0xf5, 0xf4, 0xff, 0xf0, 0xef, 0xff, 0xe7, 0xe4, 0xff, 0xe1, 0xe0 +db 0xfe, 0xdf, 0xe1, 0xfe, 0xdf, 0xe1, 0xfb, 0xde, 0xe2, 0xf3, 0xd7, 0xe5 +db 0xed, 0xd4, 0xe6, 0xee, 0xd4, 0xe8, 0xee, 0xd4, 0xea, 0xee, 0xd4, 0xea +db 0xee, 0xd4, 0xea, 0xee, 0xd4, 0xea, 0xee, 0xd4, 0xea, 0xee, 0xd4, 0xea +db 0xee, 0xd6, 0xea, 0xee, 0xd9, 0xea, 0xee, 0xd9, 0xea, 0xee, 0xd9, 0xea +db 0xed, 0xd9, 0xea, 0xea, 0xd9, 0xea, 0xe9, 0xd9, 0xea, 0xed, 0xda, 0xe8 +db 0xf8, 0xdf, 0xe4, 0xfd, 0xe0, 0xe2, 0xfd, 0xe0, 0xe2, 0xfe, 0xe0, 0xe1 +db 0xff, 0xe3, 0xe1, 0xff, 0xf1, 0xef, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc +db 0xff, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xff, 0xfa, 0xfa +db 0xff, 0xfb, 0xfb, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfb, 0xfb +db 0xff, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xff, 0xf7, 0xf7, 0xff, 0xf1, 0xf1 +db 0xff, 0xeb, 0xeb, 0xff, 0xe8, 0xe8, 0xff, 0xe8, 0xe9, 0xff, 0xe9, 0xea +db 0xff, 0xf1, 0xf2, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfd, 0xfd, 0xff, 0xfa, 0xfa, 0xff, 0xf6, 0xf6, 0xff, 0xef, 0xef +db 0xff, 0xe9, 0xe9, 0xff, 0xe8, 0xe8, 0xff, 0xe8, 0xe9, 0xff, 0xec, 0xed +db 0xff, 0xf4, 0xf5, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfd, 0xfd, 0xff, 0xfa, 0xfa, 0xff, 0xf7, 0xf7, 0xff, 0xf2, 0xf2 +db 0xff, 0xe8, 0xe8, 0xff, 0xe0, 0xe0, 0xff, 0xdf, 0xdf, 0xff, 0xe1, 0xe0 +db 0xff, 0xe4, 0xe2, 0xff, 0xec, 0xea, 0xff, 0xfa, 0xf9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfc, 0xfb, 0xff, 0xfa, 0xfa +db 0xff, 0xfb, 0xfa, 0xff, 0xfb, 0xfa, 0xff, 0xfb, 0xfa, 0xff, 0xfc, 0xfa +db 0xff, 0xfc, 0xfa, 0xff, 0xfc, 0xfa, 0xff, 0xfc, 0xfa, 0xff, 0xfc, 0xfa +db 0xff, 0xfc, 0xfa, 0xff, 0xfc, 0xfa, 0xff, 0xfc, 0xfa, 0xff, 0xfc, 0xfa +db 0xff, 0xfc, 0xfa, 0xff, 0xfc, 0xfa, 0xff, 0xfc, 0xfa, 0xff, 0xfc, 0xfa +db 0xff, 0xfc, 0xfa, 0xff, 0xfc, 0xfa, 0xff, 0xfc, 0xfa, 0xff, 0xfb, 0xfa +db 0xff, 0xfb, 0xf9, 0xff, 0xfb, 0xf9, 0xff, 0xfb, 0xf9, 0xff, 0xfa, 0xf9 +db 0xff, 0xfa, 0xfa, 0xff, 0xfd, 0xfc, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xff, 0xfa, 0xfa +db 0xff, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/fire00.inc b/programs/games/hunter/trunk/inc/fire00.inc new file mode 100644 index 0000000000..1fb4118f3a --- /dev/null +++ b/programs/games/hunter/trunk/inc/fire00.inc @@ -0,0 +1,177 @@ +dw 32, 22 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9 +db 0xe3, 0xe4, 0xe3, 0xfc, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xf1, 0xf0, 0xfc, 0xfc, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0xd7, 0xd9 +db 0x64, 0x74, 0x7f, 0xa7, 0xab, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xea, 0xea, 0xb3, 0xb4, 0xb4 +db 0xcb, 0xcd, 0xcd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xec, 0xee, 0xef, 0x87, 0x90, 0x97, 0xad, 0xb2, 0xb4 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfb, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb9, 0xca, 0xd5 +db 0x22, 0x69, 0x93, 0x41, 0x66, 0x7a, 0xd6, 0xd7, 0xd6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd8, 0xd8, 0xd9, 0x7f, 0x83, 0x85, 0x3d, 0x41, 0x41 +db 0x4f, 0x51, 0x51, 0xaf, 0xaf, 0xaf, 0xf8, 0xf7, 0xf7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xb9, 0xcb, 0xd5, 0x2e, 0x6b, 0x8e, 0x5b, 0x74, 0x84 +db 0xee, 0xed, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xcd, 0xce, 0xce, 0x88, 0x8a, 0x8a, 0xba, 0xb9, 0xb9 +db 0xef, 0xed, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0xb8, 0xcb +db 0x10, 0x91, 0xd3, 0x10, 0x7d, 0xb7, 0x80, 0x98, 0xa4, 0xfb, 0xf8, 0xf6 +db 0xe9, 0xec, 0xed, 0x71, 0x9f, 0xb6, 0x2e, 0x68, 0x83, 0x4a, 0x54, 0x56 +db 0x38, 0x4b, 0x51, 0x3d, 0x6e, 0x84, 0xab, 0xbb, 0xc5, 0xff, 0xff, 0xff +db 0xfa, 0xfa, 0xfa, 0x6c, 0xa4, 0xc0, 0x9, 0x8a, 0xcc, 0x33, 0x77, 0x9b +db 0xc8, 0xcb, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xee, 0xed +db 0xc3, 0xc2, 0xc1, 0xad, 0xae, 0xae, 0xef, 0xf0, 0xf0, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe2, 0xe2, 0xe2, 0x66, 0x6a, 0x6a, 0x3d, 0x60, 0x71 +db 0x74, 0x9c, 0xb0, 0xd8, 0xdd, 0xe0, 0xf4, 0xf2, 0xf0, 0x72, 0xa4, 0xbe +db 0xb, 0xa1, 0xee, 0x9, 0xa6, 0xfa, 0x42, 0x93, 0xbb, 0xb8, 0xbe, 0xc1 +db 0x94, 0xb7, 0xc8, 0x2a, 0xa7, 0xe2, 0x21, 0x7d, 0xa8, 0x74, 0x7b, 0x7c +db 0x53, 0x6f, 0x7b, 0x16, 0x89, 0xbf, 0x4e, 0xa2, 0xc9, 0xc4, 0xce, 0xd2 +db 0xb5, 0xc4, 0xcc, 0x2f, 0x97, 0xc7, 0x9, 0xac, 0xfe, 0x16, 0x89, 0xc4 +db 0x9d, 0xae, 0xb8, 0xff, 0xff, 0xfd, 0xd5, 0xde, 0xe2, 0x72, 0x92, 0x9e +db 0x4b, 0x5c, 0x62, 0x8f, 0x8f, 0x8e, 0xf7, 0xf7, 0xf7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, 0xb7, 0xb7, 0x2e, 0x71, 0x92 +db 0x1c, 0x9a, 0xd8, 0x58, 0x9f, 0xc0, 0x85, 0x8f, 0x94, 0x3b, 0x7b, 0x9b +db 0xc, 0xab, 0xf9, 0xc, 0xb7, 0xff, 0x1c, 0xac, 0xed, 0x3b, 0x8d, 0xae +db 0x33, 0xa3, 0xd4, 0x14, 0xac, 0xef, 0x2f, 0x6a, 0x84, 0xa6, 0xa5, 0xa3 +db 0x7c, 0x87, 0x8b, 0x19, 0x7f, 0xad, 0x1c, 0xb0, 0xed, 0x41, 0x76, 0x8c +db 0x38, 0x5c, 0x6d, 0x10, 0x9e, 0xe1, 0xb, 0xb6, 0xff, 0x13, 0xa4, 0xe7 +db 0x67, 0x95, 0xa9, 0xa6, 0xb3, 0xbb, 0x61, 0xad, 0xcf, 0x1b, 0x90, 0xbf +db 0x4b, 0x76, 0x87, 0xda, 0xd8, 0xd7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xeb, 0xea, 0x65, 0x81, 0x8d +db 0x14, 0x8e, 0xc5, 0x15, 0xad, 0xeb, 0x1b, 0x5f, 0x79, 0x14, 0x55, 0x71 +db 0xf, 0xae, 0xf1, 0x10, 0xbe, 0xff, 0xf, 0xba, 0xff, 0xf, 0xb3, 0xf6 +db 0x12, 0xbd, 0xff, 0x13, 0xa3, 0xd8, 0x45, 0x67, 0x73, 0xd0, 0xcc, 0xca +db 0xa7, 0xa7, 0xa7, 0x24, 0x6d, 0x89, 0x11, 0xb8, 0xf4, 0x13, 0x81, 0xa9 +db 0x11, 0x5b, 0x7a, 0xf, 0xaa, 0xea, 0xf, 0xbd, 0xff, 0x10, 0xb7, 0xff +db 0x1e, 0x92, 0xc2, 0x2c, 0x92, 0xbe, 0x19, 0xaf, 0xef, 0x1e, 0x87, 0xb3 +db 0x8b, 0x9c, 0xa3, 0xfe, 0xfc, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0xb1, 0xb1 +db 0x2b, 0x6c, 0x84, 0x10, 0xb3, 0xef, 0x14, 0xab, 0xe1, 0x17, 0x9a, 0xcb +db 0x12, 0xbb, 0xfa, 0x12, 0xc3, 0xff, 0x12, 0xc3, 0xff, 0x13, 0xc6, 0xff +db 0x13, 0xc8, 0xff, 0x18, 0x94, 0xbd, 0x5f, 0x70, 0x76, 0xed, 0xea, 0xe9 +db 0xc5, 0xc2, 0xc1, 0x31, 0x64, 0x73, 0x14, 0xb4, 0xe6, 0x16, 0xbe, 0xf9 +db 0x16, 0xb0, 0xe8, 0x11, 0xbe, 0xfe, 0x11, 0xc2, 0xff, 0x11, 0xc0, 0xff +db 0x11, 0xbe, 0xff, 0x11, 0xc0, 0xff, 0x11, 0xa6, 0xdc, 0x49, 0x73, 0x84 +db 0xd2, 0xcf, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0xe7, 0xe6 +db 0x5a, 0x71, 0x78, 0x16, 0x95, 0xbd, 0x14, 0xcb, 0xff, 0x16, 0xc9, 0xff +db 0x14, 0xc9, 0xff, 0x14, 0xc9, 0xff, 0x15, 0xca, 0xff, 0x15, 0xcc, 0xff +db 0x14, 0xce, 0xff, 0x1a, 0x8e, 0xb0, 0x7a, 0x85, 0x88, 0xf3, 0xf1, 0xf0 +db 0xbe, 0xbb, 0xbb, 0x3e, 0x64, 0x6e, 0x15, 0xae, 0xd9, 0x16, 0xcf, 0xff +db 0x15, 0xcc, 0xff, 0x14, 0xc9, 0xff, 0x14, 0xc7, 0xff, 0x14, 0xc7, 0xff +db 0x13, 0xc8, 0xff, 0x12, 0xc4, 0xff, 0x21, 0x88, 0xa9, 0x8d, 0x98, 0x9c +db 0xfd, 0xfa, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xa2, 0xa4, 0xa4, 0x27, 0x7f, 0x98, 0x14, 0xc9, 0xfd, 0x17, 0xd1, 0xff +db 0x17, 0xcf, 0xff, 0x17, 0xd0, 0xff, 0x17, 0xd1, 0xff, 0x18, 0xd3, 0xff +db 0x18, 0xd6, 0xff, 0x23, 0x9c, 0xb8, 0x65, 0x73, 0x75, 0x8a, 0x8a, 0x8a +db 0x65, 0x65, 0x64, 0x41, 0x6a, 0x73, 0x1b, 0xb8, 0xde, 0x17, 0xd5, 0xff +db 0x17, 0xd0, 0xff, 0x17, 0xcf, 0xff, 0x16, 0xcf, 0xff, 0x16, 0xce, 0xff +db 0x15, 0xd1, 0xff, 0x13, 0xba, 0xe7, 0x44, 0x7a, 0x89, 0xd3, 0xd0, 0xcf +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe8, 0xe5, 0xe4, 0x5f, 0x99, 0xa8, 0x1a, 0xc4, 0xec, 0x18, 0xd8, 0xff +db 0x19, 0xd6, 0xff, 0x19, 0xd7, 0xff, 0x19, 0xd8, 0xff, 0x1a, 0xda, 0xff +db 0x1b, 0xdc, 0xff, 0x25, 0x98, 0xae, 0x2e, 0x3d, 0x3f, 0x25, 0x26, 0x25 +db 0x40, 0x3d, 0x3d, 0x4a, 0x6d, 0x73, 0x22, 0xbc, 0xd9, 0x19, 0xdc, 0xff +db 0x19, 0xd7, 0xff, 0x19, 0xd7, 0xff, 0x19, 0xd6, 0xff, 0x19, 0xd5, 0xff +db 0x18, 0xd8, 0xff, 0x1d, 0xb3, 0xd2, 0x78, 0x95, 0x9c, 0xef, 0xea, 0xea +db 0xed, 0xed, 0xec, 0xfb, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0xd5, 0xd5, 0x9c, 0x9d, 0x9d +db 0xb6, 0xb1, 0xb0, 0x72, 0x8d, 0x93, 0x22, 0xb4, 0xce, 0x1a, 0xdf, 0xff +db 0x1b, 0xde, 0xff, 0x1b, 0xdf, 0xff, 0x1c, 0xdf, 0xff, 0x1c, 0xe1, 0xff +db 0x1c, 0xe2, 0xff, 0x23, 0xac, 0xc0, 0x29, 0x6e, 0x76, 0x27, 0x4d, 0x50 +db 0x2c, 0x5a, 0x5c, 0x2f, 0x69, 0x71, 0x22, 0xc4, 0xdb, 0x1b, 0xe3, 0xff +db 0x1b, 0xdf, 0xff, 0x1b, 0xde, 0xff, 0x1b, 0xdd, 0xff, 0x1a, 0xde, 0xff +db 0x1b, 0xdc, 0xff, 0x24, 0x96, 0xaa, 0x6c, 0x77, 0x79, 0x8b, 0x8a, 0x89 +db 0x85, 0x86, 0x86, 0xe5, 0xe6, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xde, 0xde, 0xde, 0x64, 0x67, 0x67 +db 0x3d, 0x5c, 0x60, 0x35, 0x6c, 0x73, 0x28, 0xb3, 0xc7, 0x1e, 0xe7, 0xff +db 0x1d, 0xe6, 0xff, 0x1d, 0xe6, 0xff, 0x1e, 0xe6, 0xff, 0x1e, 0xe7, 0xff +db 0x1f, 0xe8, 0xff, 0x23, 0xe6, 0xfc, 0x2a, 0xc7, 0xd7, 0x24, 0x73, 0x79 +db 0x26, 0xab, 0xb3, 0x2e, 0xc2, 0xd2, 0x24, 0xdf, 0xf6, 0x1d, 0xe8, 0xff +db 0x1e, 0xe6, 0xff, 0x1d, 0xe5, 0xff, 0x1d, 0xe4, 0xff, 0x1d, 0xe5, 0xff +db 0x1e, 0xdd, 0xf8, 0x23, 0x8d, 0x9c, 0x29, 0x6a, 0x72, 0x3d, 0x5f, 0x63 +db 0xa0, 0xa1, 0xa1, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xae, 0xb1, 0xb1 +db 0x34, 0x87, 0x8f, 0x27, 0xc4, 0xd5, 0x2a, 0xdc, 0xef, 0x20, 0xec, 0xff +db 0x20, 0xed, 0xff, 0x20, 0xed, 0xff, 0x21, 0xee, 0xff, 0x21, 0xee, 0xff +db 0x21, 0xf0, 0xff, 0x21, 0xf6, 0xff, 0x2a, 0xdc, 0xe7, 0x28, 0x69, 0x6c +db 0x24, 0xa0, 0xa9, 0x25, 0xf2, 0xff, 0x21, 0xf0, 0xff, 0x21, 0xee, 0xff +db 0x20, 0xed, 0xff, 0x20, 0xec, 0xff, 0x20, 0xeb, 0xff, 0x20, 0xeb, 0xff +db 0x21, 0xe8, 0xff, 0x25, 0xda, 0xec, 0x21, 0xaf, 0xbb, 0x5b, 0x84, 0x89 +db 0xe5, 0xe3, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe5, 0xe4 +db 0x64, 0x8d, 0x91, 0x24, 0xc1, 0xce, 0x23, 0xf5, 0xff, 0x22, 0xf3, 0xff +db 0x23, 0xf3, 0xff, 0x22, 0xf5, 0xff, 0x23, 0xf5, 0xff, 0x23, 0xf6, 0xff +db 0x23, 0xf7, 0xff, 0x24, 0xfc, 0xff, 0x31, 0xc9, 0xce, 0x2b, 0x4a, 0x4b +db 0x23, 0x7a, 0x7d, 0x24, 0xef, 0xf8, 0x23, 0xf8, 0xff, 0x23, 0xf5, 0xff +db 0x22, 0xf5, 0xff, 0x23, 0xf3, 0xff, 0x22, 0xf3, 0xff, 0x22, 0xf2, 0xff +db 0x22, 0xf4, 0xff, 0x20, 0xf2, 0xff, 0x29, 0x9e, 0xa3, 0x9b, 0xa4, 0xa6 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xad, 0xaf, 0xaf, 0x32, 0x88, 0x8a, 0x20, 0xe6, 0xec, 0x24, 0xfd, 0xff +db 0x25, 0xfa, 0xff, 0x25, 0xfb, 0xff, 0x25, 0xfb, 0xff, 0x25, 0xfd, 0xff +db 0x25, 0xff, 0xff, 0x24, 0xf4, 0xf6, 0x24, 0x8c, 0x8c, 0x33, 0x38, 0x38 +db 0x26, 0x57, 0x56, 0x21, 0xd3, 0xd4, 0x26, 0xff, 0xff, 0x25, 0xfc, 0xff +db 0x24, 0xfb, 0xff, 0x24, 0xfa, 0xff, 0x24, 0xf9, 0xff, 0x24, 0xf9, 0xff +db 0x24, 0xfd, 0xff, 0x2c, 0xd4, 0xda, 0x64, 0x99, 0x9a, 0xdd, 0xdd, 0xdd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe8, 0xe6, 0xe6, 0x5d, 0x76, 0x76, 0x1b, 0xa2, 0xa3, 0x24, 0xfb, 0xfb +db 0x26, 0xff, 0xff, 0x25, 0xff, 0xff, 0x25, 0xff, 0xff, 0x25, 0xff, 0xff +db 0x25, 0xff, 0xff, 0x1e, 0xd6, 0xd5, 0x38, 0x6b, 0x6a, 0x90, 0x8d, 0x8d +db 0x67, 0x76, 0x76, 0x23, 0x9d, 0x9d, 0x24, 0xfa, 0xf9, 0x26, 0xff, 0xff +db 0x25, 0xff, 0xff, 0x25, 0xff, 0xff, 0x26, 0xff, 0xff, 0x26, 0xff, 0xff +db 0x21, 0xe6, 0xe7, 0x2c, 0x84, 0x85, 0x9a, 0xa0, 0xa1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xb4, 0xb4, 0xb4, 0x49, 0x78, 0x78, 0x20, 0xbc, 0xba +db 0x22, 0xfd, 0xfa, 0x23, 0xfb, 0xf8, 0x25, 0xf2, 0xf0, 0x27, 0xea, 0xe8 +db 0x2b, 0xe5, 0xe3, 0x2b, 0xa8, 0xa6, 0x77, 0x89, 0x89, 0xf5, 0xf2, 0xf2 +db 0xcb, 0xca, 0xca, 0x43, 0x7d, 0x7c, 0x21, 0xcd, 0xcb, 0x26, 0xf5, 0xf2 +db 0x25, 0xf8, 0xf6, 0x22, 0xf9, 0xf8, 0x22, 0xff, 0xfd, 0x21, 0xf6, 0xf5 +db 0x1c, 0x99, 0x98, 0x5a, 0x70, 0x6f, 0xd8, 0xd6, 0xd6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0xb6, 0xb6, 0x58, 0x92, 0x91 +db 0x55, 0xc5, 0xc3, 0x65, 0xc8, 0xc6, 0x7d, 0xcd, 0xcc, 0x92, 0xd0, 0xcf +db 0xa1, 0xce, 0xcd, 0xad, 0xc6, 0xc6, 0xd7, 0xdb, 0xda, 0xff, 0xff, 0xff +db 0xf9, 0xf8, 0xf8, 0xb4, 0xc3, 0xc2, 0x92, 0xc7, 0xc7, 0x7e, 0xcd, 0xcc +db 0x6d, 0xcc, 0xca, 0x58, 0xc7, 0xc6, 0x4c, 0xd0, 0xcf, 0x3b, 0xb9, 0xb9 +db 0x4e, 0x7a, 0x79, 0xc7, 0xc6, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfa, 0xfb, 0xe3, 0xe6, 0xe6 +db 0xe5, 0xea, 0xea, 0xed, 0xed, 0xed, 0xf9, 0xf7, 0xf7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf6, 0xf7 +db 0xf0, 0xf1, 0xf1, 0xe6, 0xed, 0xed, 0xdc, 0xea, 0xe9, 0xc5, 0xd6, 0xd6 +db 0xcc, 0xd0, 0xd0, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/fire01.inc b/programs/games/hunter/trunk/inc/fire01.inc new file mode 100644 index 0000000000..5196c7ff57 --- /dev/null +++ b/programs/games/hunter/trunk/inc/fire01.inc @@ -0,0 +1,217 @@ +dw 32, 27 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfb, 0xfa, 0xfa +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xfb, 0xfc, 0xfa, 0xf9, 0xf7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf3, 0xf3, 0xb1, 0xb3, 0xb3 +db 0xc2, 0xc0, 0xbf, 0xfb, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd1, 0xd3, 0xd5, 0x9a, 0x9e, 0xa1, 0xe0, 0xe0, 0xe1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xf7, 0x84, 0x84, 0x82 +db 0x5b, 0x64, 0x69, 0xc0, 0xc2, 0xc3, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff +db 0xed, 0xef, 0xf0, 0x83, 0xa2, 0xb4, 0x2a, 0x4f, 0x66, 0xa2, 0xa7, 0xaa +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9b, 0x9f, 0xa0 +db 0x22, 0x55, 0x6d, 0x50, 0x83, 0x9c, 0xdc, 0xde, 0xe0, 0xff, 0xff, 0xff +db 0xb8, 0xc8, 0xd2, 0x38, 0x93, 0xc3, 0x3, 0x5b, 0x90, 0x78, 0x8c, 0x96 +db 0xfb, 0xf8, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf2, 0xf2, 0xf2, 0xf4, 0xf4, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xaf, 0xb4, 0xb5 +db 0x20, 0x70, 0x97, 0x1a, 0x99, 0xd7, 0x83, 0xa6, 0xb8, 0xc9, 0xc8, 0xc8 +db 0x65, 0x9b, 0xb6, 0x9, 0x97, 0xe2, 0x4, 0x89, 0xd5, 0x5a, 0x84, 0x9a +db 0xf3, 0xf0, 0xef, 0xff, 0xfd, 0xfa, 0xe0, 0xe2, 0xe5, 0xb4, 0xb1, 0xb0 +db 0x87, 0x89, 0x89, 0x9c, 0x9e, 0x9e, 0xef, 0xf0, 0xf0, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xc0, 0xbe +db 0x33, 0x71, 0x8c, 0x6, 0xa0, 0xe2, 0x28, 0x7e, 0xa2, 0x48, 0x5e, 0x69 +db 0x1d, 0x82, 0xb4, 0x3, 0xa9, 0xfd, 0x9, 0xa8, 0xf8, 0x50, 0x91, 0xb1 +db 0xd6, 0xcd, 0xc9, 0xc0, 0xd2, 0xda, 0x66, 0x97, 0xaf, 0x3d, 0x67, 0x7c +db 0x30, 0x37, 0x37, 0x37, 0x3a, 0x3a, 0xb2, 0xad, 0xab, 0xfd, 0xfc, 0xfb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0xe9, 0xe8 +db 0xfb, 0xfa, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0xd0, 0xce +db 0x3d, 0x66, 0x75, 0xb, 0xa3, 0xdd, 0x9, 0x91, 0xc4, 0x6, 0x50, 0x6c +db 0xb, 0x8a, 0xc0, 0x7, 0xb6, 0xff, 0xa, 0xb3, 0xff, 0x2a, 0x92, 0xc0 +db 0x63, 0x97, 0xae, 0x48, 0xa7, 0xd4, 0x10, 0x92, 0xcf, 0x27, 0x66, 0x81 +db 0x50, 0x56, 0x56, 0x2f, 0x48, 0x50, 0x62, 0x7c, 0x88, 0xe2, 0xe2, 0xe3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdd, 0xe2, 0xe4, 0x83, 0x8f, 0x97 +db 0xb2, 0xb5, 0xb7, 0xfa, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xd6, 0xd4 +db 0x46, 0x69, 0x73, 0x9, 0x9c, 0xcc, 0xd, 0xbd, 0xf6, 0x11, 0xa5, 0xda +db 0xc, 0xb2, 0xf1, 0xb, 0xbb, 0xff, 0x9, 0xb8, 0xff, 0xb, 0xaa, 0xec +db 0x13, 0xa5, 0xe0, 0xa, 0xa9, 0xee, 0x10, 0x73, 0xa0, 0x68, 0x82, 0x8d +db 0x78, 0x77, 0x74, 0x26, 0x72, 0x94, 0x2b, 0x82, 0xab, 0xbc, 0xca, 0xd3 +db 0xff, 0xff, 0xff, 0xe2, 0xe7, 0xe9, 0x6f, 0xa0, 0xb9, 0x20, 0x5c, 0x7f +db 0x7b, 0x88, 0x90, 0xfa, 0xf9, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xf7, 0xff, 0xff, 0xff, 0xf0, 0xe7, 0xe4 +db 0x5b, 0x81, 0x8b, 0xa, 0x9a, 0xc4, 0xe, 0xce, 0xff, 0x10, 0xc8, 0xff +db 0xe, 0xc1, 0xfe, 0xd, 0xc0, 0xff, 0xd, 0xbf, 0xff, 0xc, 0xbf, 0xff +db 0x9, 0xbe, 0xff, 0xe, 0x96, 0xc6, 0x38, 0x60, 0x6e, 0xb5, 0xb1, 0xaf +db 0x8d, 0x8e, 0x8d, 0x20, 0x76, 0x9d, 0x16, 0xa0, 0xdd, 0x80, 0xa9, 0xba +db 0xd1, 0xd0, 0xd0, 0x7d, 0xac, 0xc1, 0x10, 0x8c, 0xcb, 0x4, 0x6e, 0xa7 +db 0x78, 0x90, 0x9d, 0xfc, 0xf8, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xca, 0xcb, 0xcb, 0xb6, 0xb6, 0xb5, 0xe4, 0xda, 0xd8 +db 0x71, 0x99, 0xa4, 0x18, 0xb1, 0xd7, 0x10, 0xce, 0xff, 0x11, 0xcb, 0xfe +db 0x10, 0xc8, 0xfe, 0xf, 0xc7, 0xfd, 0x10, 0xc6, 0xfe, 0xe, 0xcc, 0xff +db 0x8, 0xae, 0xe5, 0x27, 0x74, 0x8c, 0x87, 0x89, 0x89, 0xea, 0xe0, 0xdd +db 0x89, 0x94, 0x97, 0x11, 0x6f, 0x93, 0xd, 0xae, 0xeb, 0x2a, 0x68, 0x81 +db 0x43, 0x61, 0x6f, 0x1a, 0x95, 0xce, 0x3, 0xa9, 0xfc, 0x3, 0x82, 0xc5 +db 0x86, 0xa0, 0xaf, 0xf9, 0xf5, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf8, 0xf7, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfd, 0xfd, 0xae, 0xad, 0xad, 0x54, 0x59, 0x59, 0x7d, 0x80, 0x82 +db 0x57, 0x89, 0x93, 0x14, 0xb8, 0xd9, 0x13, 0xd5, 0xff, 0x13, 0xd1, 0xfd +db 0x12, 0xcf, 0xfd, 0x12, 0xce, 0xfd, 0x12, 0xcd, 0xfe, 0x10, 0xd4, 0xff +db 0xe, 0xa0, 0xc7, 0x4c, 0x72, 0x7c, 0xd6, 0xd2, 0xd0, 0xf1, 0xe7, 0xe5 +db 0x6e, 0x7d, 0x80, 0xd, 0x7a, 0x9b, 0xa, 0xb4, 0xef, 0xa, 0x6e, 0x93 +db 0xd, 0x60, 0x83, 0x3, 0xa9, 0xf5, 0x4, 0xb2, 0xff, 0x18, 0x96, 0xd2 +db 0x8a, 0x9c, 0xa6, 0xf0, 0xed, 0xed, 0xdc, 0xde, 0xdf, 0xad, 0xb7, 0xba +db 0xa6, 0xa8, 0xa7, 0xab, 0xab, 0xab, 0xe9, 0xea, 0xea, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xcd, 0xc6, 0xc5, 0x3f, 0x6a, 0x6d, 0x1f, 0x66, 0x6f +db 0x29, 0x86, 0x93, 0x18, 0xc7, 0xe3, 0x14, 0xe0, 0xff, 0x15, 0xd8, 0xfd +db 0x14, 0xd6, 0xfd, 0x14, 0xd5, 0xfd, 0x14, 0xd6, 0xff, 0x15, 0xd0, 0xf7 +db 0x1f, 0x8c, 0xa2, 0x5e, 0x6b, 0x6d, 0xa7, 0xa5, 0xa5, 0xa1, 0x9e, 0x9d +db 0x49, 0x62, 0x69, 0x11, 0x93, 0xb9, 0xe, 0xc1, 0xfb, 0x11, 0xb4, 0xee +db 0xa, 0xa4, 0xdf, 0xa, 0xba, 0xff, 0x9, 0xba, 0xff, 0x13, 0x9a, 0xd4 +db 0x54, 0x88, 0x9f, 0x82, 0xaa, 0xbe, 0x52, 0xa8, 0xcc, 0x28, 0x6f, 0x8b +db 0x46, 0x56, 0x5a, 0x9b, 0x9a, 0x98, 0xee, 0xef, 0xef, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xdb, 0xda, 0xd9, 0x4c, 0x88, 0x8e, 0x1d, 0xc0, 0xd0 +db 0x24, 0xcb, 0xde, 0x1c, 0xdd, 0xf6, 0x18, 0xe5, 0xff, 0x17, 0xdf, 0xfc +db 0x17, 0xdd, 0xfc, 0x17, 0xdc, 0xfd, 0x15, 0xe1, 0xff, 0x18, 0xc3, 0xe0 +db 0x24, 0x6f, 0x7c, 0x24, 0x24, 0x23, 0x42, 0x39, 0x38, 0x47, 0x49, 0x49 +db 0x32, 0x71, 0x7f, 0x10, 0xb6, 0xe2, 0x11, 0xcc, 0xff, 0xf, 0xc7, 0xff +db 0xd, 0xc1, 0xff, 0xc, 0xbe, 0xff, 0xb, 0xba, 0xff, 0xc, 0xb0, 0xf1 +db 0x11, 0x9a, 0xd3, 0x10, 0xa3, 0xe1, 0x8, 0x8f, 0xc8, 0x27, 0x74, 0x94 +db 0x98, 0xa4, 0xa8, 0xe8, 0xe3, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe5, 0xe0, 0xdf, 0x5e, 0x88, 0x8b, 0x18, 0xc4, 0xd1 +db 0x1e, 0xf1, 0xff, 0x1b, 0xea, 0xfd, 0x1b, 0xe8, 0xfb, 0x1a, 0xe6, 0xfc +db 0x1a, 0xe4, 0xfc, 0x19, 0xe3, 0xfc, 0x19, 0xe1, 0xfc, 0x1c, 0xd3, 0xeb +db 0x22, 0x90, 0x9d, 0x21, 0x48, 0x4c, 0x20, 0x2e, 0x2e, 0x3c, 0x46, 0x48 +db 0x30, 0x91, 0xa2, 0x12, 0xcc, 0xf5, 0x11, 0xd3, 0xff, 0x11, 0xc9, 0xfd +db 0x10, 0xc7, 0xff, 0xf, 0xc3, 0xfe, 0xe, 0xc1, 0xff, 0xc, 0xc1, 0xff +db 0x7, 0xbf, 0xff, 0xc, 0x9f, 0xd4, 0x2a, 0x6e, 0x8a, 0x95, 0xa3, 0xa9 +db 0xee, 0xed, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf7, 0xf1, 0xf1, 0x70, 0x82, 0x81, 0x17, 0xa6, 0xa9 +db 0x1b, 0xf6, 0xff, 0x1e, 0xf2, 0xfd, 0x1e, 0xef, 0xfb, 0x1c, 0xee, 0xfb +db 0x1c, 0xec, 0xfc, 0x1c, 0xea, 0xfb, 0x1b, 0xea, 0xfc, 0x1c, 0xec, 0xff +db 0x24, 0xc9, 0xd8, 0x1e, 0x6a, 0x70, 0x22, 0x83, 0x89, 0x27, 0x6d, 0x75 +db 0x1f, 0xad, 0xc2, 0x15, 0xd7, 0xfb, 0x13, 0xd6, 0xff, 0x13, 0xd0, 0xfd +db 0x12, 0xcd, 0xfd, 0x11, 0xca, 0xfe, 0x10, 0xcb, 0xff, 0x8, 0xc7, 0xff +db 0xc, 0x9e, 0xcb, 0x36, 0x7b, 0x91, 0x96, 0x98, 0x9a, 0xf4, 0xec, 0xe7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf8, 0xf7, 0xf7, 0x84, 0x88, 0x88, 0x1d, 0x89, 0x8a +db 0x1d, 0xf3, 0xf5, 0x20, 0xfa, 0xfe, 0x1f, 0xf5, 0xfb, 0x1e, 0xf3, 0xfb +db 0x1e, 0xf2, 0xfb, 0x1d, 0xf2, 0xfb, 0x1c, 0xf7, 0xff, 0x22, 0xf4, 0xff +db 0x26, 0xa4, 0xaa, 0x20, 0x68, 0x6d, 0x1f, 0xbe, 0xca, 0x25, 0xd4, 0xe6 +db 0x1c, 0xd8, 0xf0, 0x16, 0xe0, 0xff, 0x16, 0xda, 0xfc, 0x15, 0xd7, 0xfd +db 0x14, 0xd4, 0xfc, 0x13, 0xd1, 0xfd, 0x12, 0xd4, 0xff, 0xb, 0xbe, 0xe8 +db 0x31, 0x7f, 0x94, 0x94, 0xa0, 0xa3, 0xed, 0xe6, 0xe5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, 0xb5, 0xb5, 0x34, 0x76, 0x76 +db 0x13, 0xda, 0xd8, 0x1b, 0xff, 0xff, 0x1f, 0xfc, 0xfc, 0x1f, 0xfd, 0xfe +db 0x1f, 0xfc, 0xfe, 0x1f, 0xfb, 0xfe, 0x1e, 0xfe, 0xff, 0x21, 0xc3, 0xc6 +db 0x29, 0x5c, 0x5e, 0x1f, 0x58, 0x5a, 0x1e, 0xcc, 0xd7, 0x1c, 0xf6, 0xff +db 0x1b, 0xe7, 0xfc, 0x18, 0xe5, 0xfd, 0x18, 0xe1, 0xfc, 0x16, 0xdd, 0xfc +db 0x16, 0xdb, 0xfd, 0x14, 0xdb, 0xff, 0x14, 0xcd, 0xf1, 0x24, 0x98, 0xad +db 0x78, 0x8c, 0x90, 0xed, 0xe7, 0xe7, 0xfd, 0xfc, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xe8, 0xe8, 0x73, 0x8f, 0x8f +db 0x27, 0xab, 0xa9, 0x26, 0xeb, 0xe8, 0x1e, 0xf2, 0xf0, 0x14, 0xf3, 0xf0 +db 0x19, 0xfa, 0xf7, 0x1d, 0xfb, 0xf9, 0x17, 0xca, 0xca, 0x27, 0x6b, 0x6b +db 0x2f, 0x33, 0x33, 0x1b, 0x53, 0x53, 0x1d, 0xd9, 0xde, 0x1d, 0xf4, 0xff +db 0x1c, 0xed, 0xfb, 0x1b, 0xea, 0xfb, 0x1a, 0xe7, 0xfc, 0x19, 0xe3, 0xfc +db 0x18, 0xe2, 0xfd, 0x18, 0xe4, 0xff, 0x19, 0xad, 0xc4, 0x2b, 0x6d, 0x76 +db 0x6f, 0x6d, 0x6c, 0x94, 0x90, 0x8f, 0xbf, 0xbf, 0xbf, 0xf7, 0xf7, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xd5, 0xda, 0xda +db 0xa3, 0xc6, 0xc6, 0x82, 0xc5, 0xc3, 0x65, 0xc5, 0xc4, 0x55, 0xce, 0xcd +db 0x3d, 0xda, 0xd8, 0x1b, 0xc2, 0xc0, 0x26, 0x83, 0x83, 0x79, 0x7c, 0x7c +db 0x8a, 0x81, 0x81, 0x33, 0x6b, 0x6b, 0x19, 0xd6, 0xd6, 0x20, 0xfe, 0xff +db 0x1e, 0xf3, 0xfb, 0x1d, 0xf1, 0xfb, 0x1d, 0xed, 0xfb, 0x1b, 0xeb, 0xfb +db 0x1b, 0xe7, 0xfb, 0x1b, 0xe5, 0xfb, 0x1f, 0xcb, 0xde, 0x18, 0x86, 0x91 +db 0x24, 0x54, 0x5a, 0x6a, 0x71, 0x71, 0xb8, 0xb9, 0xb9, 0xfb, 0xfb, 0xfb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xf9, 0xf9, 0xfb, 0xf0, 0xf0, 0xe5, 0xeb, 0xeb, 0xd2, 0xe2, 0xe2 +db 0xbc, 0xd2, 0xd1, 0x93, 0xbb, 0xbb, 0x95, 0xa8, 0xa8, 0xe8, 0xe3, 0xe4 +db 0xe2, 0xd9, 0xd9, 0x4e, 0x77, 0x77, 0x14, 0xbe, 0xbd, 0x1f, 0xff, 0xff +db 0x20, 0xfc, 0xfe, 0x1f, 0xf8, 0xfc, 0x1e, 0xf4, 0xfb, 0x1d, 0xf0, 0xf9 +db 0x1d, 0xf1, 0xfe, 0x1b, 0xf0, 0xff, 0x16, 0xe1, 0xef, 0x1f, 0xa5, 0xaf +db 0x59, 0x80, 0x85, 0xc2, 0xc2, 0xc3, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xf8, 0xf5, 0xf3, 0xf3, 0xff, 0xff, 0xff +db 0xf0, 0xee, 0xee, 0x81, 0x9a, 0x99, 0x2f, 0xb4, 0xb3, 0x1a, 0xef, 0xec +db 0x18, 0xfc, 0xfb, 0x1d, 0xfc, 0xfb, 0x20, 0xfb, 0xfc, 0x21, 0xfe, 0xff +db 0x1d, 0xfb, 0xff, 0x1d, 0xeb, 0xf4, 0x25, 0xb6, 0xbc, 0x5d, 0x92, 0x93 +db 0xbf, 0xb9, 0xba, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xdb, 0xe2, 0xe1, 0xa3, 0xcb, 0xcc, 0x5e, 0xc9, 0xc7 +db 0x35, 0xd5, 0xd2, 0x21, 0xea, 0xe9, 0x1a, 0xfe, 0xfb, 0x1b, 0xfe, 0xfd +db 0x18, 0xd8, 0xd8, 0x18, 0x8e, 0x90, 0x61, 0x8c, 0x8d, 0xcb, 0xcc, 0xcc +db 0xf8, 0xf5, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xd6, 0xe3, 0xe2 +db 0xa1, 0xce, 0xcd, 0x63, 0xc5, 0xc4, 0x2b, 0xce, 0xcd, 0x18, 0xb5, 0xb4 +db 0x28, 0x7b, 0x7a, 0x5b, 0x6f, 0x6f, 0xc3, 0xbd, 0xbe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xf6, 0xf6, 0xe6, 0xeb, 0xea, 0x9f, 0xcb, 0xcb, 0x6c, 0x98, 0x99 +db 0x93, 0x99, 0x99, 0xd6, 0xd0, 0xd0, 0xff, 0xfd, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf6, 0xf6, 0xe7, 0xe2, 0xe2 +db 0xf7, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/fire02.inc b/programs/games/hunter/trunk/inc/fire02.inc new file mode 100644 index 0000000000..ec9861c44f --- /dev/null +++ b/programs/games/hunter/trunk/inc/fire02.inc @@ -0,0 +1,225 @@ +dw 32, 28 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf3, 0xf2, 0xf2, 0xd9, 0xd9, 0xd9, 0xef, 0xef, 0xed, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf5, 0xf5 +db 0xd6, 0xd6, 0xd6, 0xf5, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc6, 0xc8, 0xcb, 0x66, 0x76, 0x81, 0x9c, 0xa2, 0xa5, 0xff, 0xfc, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf2, 0xf0, 0xa9, 0xaa, 0xaa +db 0x85, 0x86, 0x85, 0xe1, 0xe1, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xb6, 0xc5, 0xcd, 0x1e, 0x64, 0x8c, 0x33, 0x66, 0x81, 0xbe, 0xc2, 0xc5 +db 0xfb, 0xfa, 0xf9, 0xff, 0xff, 0xff, 0xab, 0xb7, 0xbc, 0x39, 0x58, 0x64 +db 0x6c, 0x76, 0x79, 0xf1, 0xec, 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfb, 0xc4, 0xc5, 0xc4, 0xb4, 0xb6, 0xb6 +db 0xd5, 0xd3, 0xd2, 0xfa, 0xf5, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xa6, 0xbf, 0xcd, 0x13, 0x8b, 0xc8, 0x3, 0x7a, 0xba, 0x61, 0x8f, 0xa9 +db 0xd9, 0xd5, 0xd5, 0xd9, 0xdc, 0xde, 0x52, 0x9e, 0xbe, 0x14, 0x7a, 0xa2 +db 0x85, 0x97, 0x9e, 0xff, 0xfc, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf8, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd0, 0xcc, 0xcb, 0x5d, 0x5c, 0x5b, 0x30, 0x34, 0x33 +db 0x57, 0x65, 0x6a, 0x8d, 0xa0, 0xaa, 0xdd, 0xe1, 0xe5, 0xf8, 0xf4, 0xf3 +db 0x97, 0xbc, 0xce, 0xd, 0x95, 0xd7, 0x3, 0xa4, 0xf9, 0x21, 0x91, 0xc6 +db 0x75, 0x93, 0xa0, 0x6f, 0x9b, 0xb0, 0x1d, 0xa4, 0xdf, 0x18, 0x81, 0xad +db 0x96, 0xa0, 0xa5, 0xfd, 0xfb, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf5, 0xb3, 0xb8, 0xb9 +db 0xa1, 0xa2, 0xa3, 0xdf, 0xdf, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xef, 0xef, 0xef, 0x7d, 0x8e, 0x97, 0x2f, 0x4b, 0x56, 0x41, 0x47, 0x46 +db 0x25, 0x4d, 0x5d, 0x21, 0x84, 0xb4, 0x61, 0xa6, 0xc6, 0x9d, 0xab, 0xb1 +db 0x52, 0x71, 0x81, 0xa, 0x98, 0xdc, 0x6, 0xb4, 0xff, 0x9, 0xad, 0xf6 +db 0x1a, 0x8f, 0xc0, 0x12, 0x93, 0xc8, 0x7, 0xae, 0xf0, 0x20, 0x73, 0x92 +db 0xab, 0xad, 0xae, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf2, 0xf2, 0x75, 0x8b, 0x98 +db 0x27, 0x55, 0x71, 0x6c, 0x82, 0x8c, 0xd4, 0xd3, 0xd1, 0xff, 0xff, 0xff +db 0xd1, 0xda, 0xdf, 0x3c, 0x8b, 0xb1, 0x1e, 0x6d, 0x91, 0x6d, 0x73, 0x74 +db 0x5b, 0x74, 0x7d, 0x11, 0x7a, 0xab, 0x15, 0xa9, 0xe7, 0x1f, 0x75, 0x97 +db 0x15, 0x45, 0x5a, 0xa, 0x85, 0xb9, 0xa, 0xb7, 0xff, 0x8, 0xbb, 0xff +db 0xb, 0xb5, 0xf9, 0x8, 0xc2, 0xff, 0x7, 0xad, 0xe8, 0x35, 0x7a, 0x92 +db 0xc0, 0xbb, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf9, 0xf9, 0x8f, 0xb0, 0xc4 +db 0x4, 0x73, 0xae, 0xf, 0x76, 0xac, 0x60, 0x8a, 0xa0, 0xd1, 0xce, 0xcd +db 0xa4, 0xb7, 0xc1, 0x24, 0xa9, 0xe6, 0x11, 0x79, 0xa9, 0x7f, 0x8b, 0x8e +db 0xa5, 0x9a, 0x95, 0x44, 0x73, 0x88, 0x7, 0x92, 0xc7, 0x6, 0xa7, 0xdf +db 0xb, 0x87, 0xb6, 0xe, 0xa4, 0xdd, 0xb, 0xbd, 0xfd, 0xd, 0xbe, 0xff +db 0xd, 0xc0, 0xff, 0xc, 0xc5, 0xff, 0xc, 0xb2, 0xe4, 0x39, 0x73, 0x84 +db 0xd3, 0xcf, 0xce, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfc, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa9, 0xc0, 0xcd +db 0x19, 0x99, 0xdb, 0x3, 0x9c, 0xf4, 0x12, 0x92, 0xd4, 0x56, 0x98, 0xb5 +db 0x44, 0x8f, 0xaf, 0x14, 0xad, 0xef, 0x11, 0x7e, 0xab, 0x74, 0x7e, 0x81 +db 0xdd, 0xd3, 0xce, 0x8f, 0x96, 0x99, 0x14, 0x66, 0x80, 0xc, 0xb7, 0xed +db 0x10, 0xc7, 0xff, 0xf, 0xc2, 0xfe, 0xf, 0xc4, 0xff, 0xf, 0xc5, 0xfe +db 0xf, 0xc6, 0xfe, 0xf, 0xcd, 0xff, 0xa, 0xbb, 0xe7, 0x44, 0x89, 0x99 +db 0xc5, 0xc2, 0xc3, 0xc2, 0xbd, 0xbc, 0xb8, 0xb9, 0xb9, 0xfa, 0xfb, 0xfb +db 0xff, 0xff, 0xff, 0xf1, 0xf1, 0xf1, 0xb7, 0xb8, 0xb8, 0xa7, 0xa6, 0xa6 +db 0xba, 0xbf, 0xc2, 0xd7, 0xda, 0xdd, 0xff, 0xf7, 0xf2, 0xab, 0xb9, 0xbf +db 0x26, 0x8f, 0xc5, 0x3, 0xae, 0xff, 0x8, 0xb4, 0xff, 0xc, 0xa1, 0xe2 +db 0xe, 0xa6, 0xe5, 0xa, 0xb8, 0xf8, 0x13, 0x8b, 0xb6, 0x5a, 0x6a, 0x70 +db 0xe9, 0xe7, 0xe6, 0xd1, 0xca, 0xc9, 0x46, 0x64, 0x6c, 0x14, 0x9a, 0xbf +db 0x10, 0xca, 0xff, 0x10, 0xcc, 0xff, 0x11, 0xca, 0xfe, 0x11, 0xcd, 0xfe +db 0x12, 0xcd, 0xfd, 0x12, 0xd5, 0xff, 0xe, 0xc2, 0xe7, 0x38, 0x84, 0x91 +db 0x74, 0x72, 0x71, 0x5e, 0x64, 0x65, 0xa4, 0xa2, 0xa2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe9, 0xea, 0xea, 0x99, 0x9a, 0x9a, 0x44, 0x51, 0x56 +db 0x2e, 0x60, 0x79, 0x51, 0xa2, 0xcb, 0x7e, 0xa4, 0xb6, 0x68, 0x79, 0x81 +db 0x1a, 0x5c, 0x7d, 0x7, 0xa7, 0xed, 0xa, 0xb9, 0xff, 0x7, 0xba, 0xff +db 0xb, 0xbc, 0xff, 0xd, 0xc8, 0xff, 0xa, 0x98, 0xc5, 0x4a, 0x6d, 0x78 +db 0xcf, 0xcc, 0xca, 0xbd, 0xb5, 0xb4, 0x53, 0x5d, 0x5f, 0x25, 0x8a, 0xa2 +db 0x12, 0xca, 0xf4, 0x11, 0xd5, 0xff, 0x13, 0xd1, 0xfd, 0x14, 0xd4, 0xfd +db 0x14, 0xd4, 0xfc, 0x14, 0xd9, 0xff, 0x17, 0xcf, 0xee, 0x22, 0x7e, 0x8d +db 0x25, 0x62, 0x6a, 0x32, 0x61, 0x66, 0xb9, 0xbc, 0xbc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xe1, 0xe1, 0x95, 0x98, 0x99 +db 0x2b, 0x6d, 0x8e, 0x6, 0x89, 0xc7, 0x1a, 0xa6, 0xe3, 0xe, 0x66, 0x88 +db 0xe, 0x5f, 0x80, 0xd, 0xa3, 0xdd, 0xc, 0xbc, 0xff, 0xd, 0xc0, 0xff +db 0xe, 0xc4, 0xff, 0xe, 0xce, 0xff, 0xa, 0xb2, 0xe0, 0x36, 0x7d, 0x8e +db 0x75, 0x72, 0x71, 0x54, 0x4e, 0x4d, 0x45, 0x43, 0x43, 0x3f, 0x78, 0x82 +db 0x19, 0xbe, 0xdb, 0x14, 0xdb, 0xff, 0x15, 0xd9, 0xfd, 0x16, 0xda, 0xfd +db 0x16, 0xdb, 0xfc, 0x17, 0xdf, 0xff, 0x19, 0xe0, 0xfb, 0x1d, 0xbc, 0xd0 +db 0x16, 0xb3, 0xc1, 0x39, 0x83, 0x8a, 0xc8, 0xc6, 0xc6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xec, 0xea +db 0x97, 0x9d, 0x9e, 0x32, 0x76, 0x95, 0x3, 0x91, 0xc9, 0x9, 0xb2, 0xef +db 0x10, 0xb1, 0xe7, 0x10, 0xba, 0xf5, 0xe, 0xc3, 0xfe, 0xf, 0xc6, 0xfe +db 0x10, 0xc9, 0xfd, 0x12, 0xcf, 0xff, 0x14, 0xcf, 0xfb, 0x23, 0x8e, 0xa5 +db 0x2a, 0x37, 0x39, 0x16, 0x1e, 0x1e, 0x2d, 0x42, 0x42, 0x2b, 0x58, 0x5e +db 0x20, 0xb5, 0xc8, 0x17, 0xde, 0xfc, 0x17, 0xe0, 0xfd, 0x18, 0xe1, 0xfc +db 0x19, 0xe2, 0xfc, 0x1a, 0xe4, 0xfc, 0x1b, 0xe7, 0xfc, 0x1c, 0xef, 0xff +db 0x16, 0xd2, 0xdd, 0x4c, 0x8e, 0x90, 0xd8, 0xd2, 0xd2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xec, 0xe8, 0xe7, 0x95, 0x99, 0x9a, 0x23, 0x64, 0x7a, 0x8, 0x9c, 0xcc +db 0xd, 0xcc, 0xff, 0x11, 0xca, 0xff, 0x11, 0xc8, 0xfd, 0x12, 0xcc, 0xfe +db 0x12, 0xcf, 0xfd, 0x14, 0xd4, 0xfe, 0x14, 0xdf, 0xff, 0x1a, 0xaf, 0xc8 +db 0x22, 0x72, 0x7d, 0x21, 0x5e, 0x63, 0x1f, 0x6c, 0x70, 0x26, 0xaa, 0xb6 +db 0x23, 0xd8, 0xeb, 0x1a, 0xe5, 0xfb, 0x1a, 0xe7, 0xfc, 0x1b, 0xe9, 0xfc +db 0x1c, 0xe9, 0xfc, 0x1c, 0xec, 0xfb, 0x1c, 0xed, 0xfc, 0x1c, 0xf7, 0xff +db 0x24, 0xd6, 0xdd, 0x64, 0x92, 0x93, 0xe5, 0xe2, 0xe2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf2, 0xee, 0xed, 0x89, 0x8c, 0x8c, 0x28, 0x75, 0x8c +db 0x13, 0xb3, 0xe1, 0xf, 0xcf, 0xff, 0x13, 0xd1, 0xff, 0x14, 0xd3, 0xfd +db 0x14, 0xd6, 0xfd, 0x16, 0xd9, 0xfd, 0x16, 0xe1, 0xff, 0x1a, 0xd7, 0xf0 +db 0x21, 0xce, 0xe1, 0x22, 0xac, 0xb8, 0x1f, 0x72, 0x77, 0x1f, 0xb4, 0xc0 +db 0x1e, 0xf4, 0xff, 0x1c, 0xee, 0xfe, 0x1c, 0xed, 0xfb, 0x1c, 0xf0, 0xfb +db 0x1e, 0xf0, 0xfb, 0x1e, 0xf1, 0xfa, 0x1e, 0xf4, 0xfb, 0x1e, 0xfb, 0xff +db 0x19, 0xab, 0xad, 0x6b, 0x81, 0x82, 0xeb, 0xe7, 0xe7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xe9, 0xe5, 0x95, 0xac, 0xb3 +db 0x33, 0x9c, 0xb5, 0xe, 0xc7, 0xee, 0x13, 0xdb, 0xff, 0x15, 0xda, 0xfd +db 0x16, 0xdd, 0xfd, 0x17, 0xde, 0xfc, 0x19, 0xe2, 0xfb, 0x1a, 0xe9, 0xff +db 0x1c, 0xee, 0xff, 0x25, 0xd8, 0xe2, 0x25, 0x5b, 0x5d, 0x1d, 0x72, 0x76 +db 0x1e, 0xd2, 0xd9, 0x1e, 0xf8, 0xff, 0x1f, 0xf8, 0xff, 0x1e, 0xf6, 0xfb +db 0x1f, 0xf9, 0xfc, 0x1f, 0xfa, 0xfc, 0x21, 0xff, 0xff, 0x18, 0xf0, 0xf0 +db 0x19, 0x82, 0x81, 0x83, 0x85, 0x84, 0xf9, 0xf5, 0xf5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfe, 0xfe, 0xf5, 0xf6, 0xf6, 0xd2, 0xd0, 0xce, 0xb7, 0xb3, 0xb3 +db 0x59, 0x82, 0x8a, 0x1b, 0xac, 0xc3, 0x16, 0xe0, 0xff, 0x17, 0xe1, 0xfd +db 0x18, 0xe3, 0xfc, 0x1a, 0xe6, 0xfc, 0x1b, 0xe9, 0xfb, 0x1c, 0xed, 0xfb +db 0x1b, 0xf8, 0xff, 0x28, 0xe0, 0xe5, 0x26, 0x57, 0x59, 0x1b, 0x2d, 0x2d +db 0x1d, 0x8c, 0x8a, 0x18, 0xdd, 0xdd, 0x20, 0xff, 0xff, 0x20, 0xff, 0xff +db 0x1b, 0xfc, 0xfb, 0x16, 0xfc, 0xfc, 0x1c, 0xfb, 0xf8, 0x19, 0xcf, 0xce +db 0x2a, 0x6b, 0x6a, 0xbf, 0xbe, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xcc, 0xcd, 0xcd, 0x77, 0x79, 0x78, 0x51, 0x61, 0x63 +db 0x2d, 0x60, 0x66, 0x26, 0xb3, 0xc5, 0x1d, 0xe0, 0xf7, 0x19, 0xe9, 0xfd +db 0x1b, 0xea, 0xfc, 0x1c, 0xed, 0xfb, 0x1d, 0xef, 0xfb, 0x1e, 0xf3, 0xfb +db 0x1e, 0xfa, 0xff, 0x1d, 0xd0, 0xd1, 0x29, 0x59, 0x58, 0x63, 0x5d, 0x5d +db 0x54, 0x72, 0x72, 0x1f, 0x92, 0x90, 0x10, 0xd9, 0xd7, 0x1e, 0xf0, 0xed +db 0x2e, 0xe4, 0xe2, 0x32, 0xcf, 0xcd, 0x41, 0xcc, 0xca, 0x5c, 0xbd, 0xbc +db 0x87, 0x9f, 0x9e, 0xe4, 0xe4, 0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf4, 0xf4, 0xf4, 0x9d, 0x9b, 0x9a, 0x4d, 0x6e, 0x72 +db 0x1d, 0x9a, 0xa7, 0x1d, 0xd6, 0xe9, 0x1e, 0xf2, 0xff, 0x1c, 0xed, 0xfb +db 0x1e, 0xf0, 0xfb, 0x1e, 0xf3, 0xfb, 0x1f, 0xf5, 0xfb, 0x1f, 0xfc, 0xfe +db 0x1f, 0xff, 0xff, 0x18, 0xd0, 0xd0, 0x3c, 0x67, 0x66, 0xc3, 0xbf, 0xbf +db 0xd3, 0xcd, 0xcd, 0x6f, 0x87, 0x86, 0x5b, 0xb1, 0xb0, 0x70, 0xc5, 0xc5 +db 0x92, 0xca, 0xc9, 0xaa, 0xd1, 0xd1, 0xca, 0xe2, 0xe0, 0xe2, 0xe5, 0xe4 +db 0xec, 0xed, 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf5, 0xf4, 0xb1, 0xbc, 0xbc +db 0x47, 0x85, 0x8b, 0x1a, 0xb4, 0xc0, 0x1a, 0xef, 0xf8, 0x1e, 0xf8, 0xff +db 0x20, 0xf9, 0xfe, 0x20, 0xf9, 0xfc, 0x1f, 0xfd, 0xfc, 0x1c, 0xfb, 0xf9 +db 0x16, 0xf5, 0xf4, 0x15, 0xba, 0xb8, 0x64, 0x8c, 0x8b, 0xe9, 0xe9, 0xe8 +db 0xff, 0xfe, 0xfe, 0xe7, 0xe6, 0xe5, 0xda, 0xdf, 0xdf, 0xea, 0xef, 0xf0 +db 0xfe, 0xf4, 0xf5, 0xff, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf6, 0xf5 +db 0xb5, 0xb2, 0xb2, 0x50, 0x7a, 0x7a, 0x14, 0x9e, 0xa0, 0x16, 0xe2, 0xe2 +db 0x1d, 0xfa, 0xfa, 0x18, 0xff, 0xff, 0x19, 0xf6, 0xf4, 0x2d, 0xdf, 0xde +db 0x54, 0xd1, 0xcf, 0x85, 0xbd, 0xbd, 0xca, 0xd4, 0xd4, 0xf8, 0xf8, 0xf8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xf5, 0xf5, 0xb2, 0xad, 0xad, 0x53, 0x76, 0x76, 0x1d, 0x84, 0x82 +db 0x1b, 0xc6, 0xc3, 0x29, 0xdd, 0xda, 0x4b, 0xc7, 0xc5, 0x93, 0xca, 0xc9 +db 0xcc, 0xdc, 0xdb, 0xf1, 0xf2, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf9, 0xf8, 0xf8, 0xcd, 0xc9, 0xc9, 0x92, 0x9e, 0x9e +db 0x63, 0x90, 0x8f, 0x8f, 0xc6, 0xc5, 0xc6, 0xda, 0xd9, 0xf9, 0xf3, 0xf3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xea, 0xeb +db 0xeb, 0xea, 0xea, 0xfa, 0xf1, 0xf1, 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/gameover.inc b/programs/games/hunter/trunk/inc/gameover.inc new file mode 100644 index 0000000000..080e30f6fa --- /dev/null +++ b/programs/games/hunter/trunk/inc/gameover.inc @@ -0,0 +1,2656 @@ +dw 236, 45 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfe, 0xfe, 0xf6, 0xf6, 0xf7, 0xe7, 0xe8, 0xee, 0xd3, 0xd4, 0xdf +db 0xd0, 0xd1, 0xdd, 0xe2, 0xe4, 0xe9, 0xf3, 0xf4, 0xf6, 0xfc, 0xfc, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf3, 0xf6 +db 0xca, 0xcb, 0xd7, 0x92, 0x95, 0xac, 0x66, 0x68, 0x86, 0x42, 0x43, 0x62 +db 0x3d, 0x3d, 0x5d, 0x5b, 0x5e, 0x7c, 0x84, 0x87, 0xa2, 0xbc, 0xbe, 0xcc +db 0xef, 0xef, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfc, 0xf0, 0xf0, 0xf3, 0xe9, 0xe9, 0xee +db 0xf3, 0xf4, 0xf6, 0xfd, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf7, 0xfb, 0xf9, 0xcf, 0xd4, 0xda, 0x84, 0x89, 0x9e +db 0x37, 0x39, 0x57, 0x1, 0x3, 0x24, 0x0, 0x0, 0xd, 0x0, 0x0, 0x0 +db 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x1a, 0x28, 0x2b, 0x47 +db 0x7e, 0x85, 0x9d, 0xe8, 0xec, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfd, 0xfb, 0xe9, 0xee, 0xef +db 0xca, 0xd2, 0xd8, 0xa6, 0xab, 0xb9, 0x7d, 0x80, 0x93, 0x69, 0x6d, 0x83 +db 0x89, 0x8c, 0xa0, 0xb2, 0xb8, 0xc4, 0xcf, 0xd7, 0xdc, 0xe6, 0xec, 0xed +db 0xf5, 0xfa, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfd +db 0xe3, 0xee, 0xea, 0x9a, 0xb5, 0xb2, 0x3d, 0x50, 0x5c, 0x2, 0x7, 0x1c +db 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0 +db 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 +db 0x9, 0x14, 0x2b, 0x89, 0x9f, 0xa5, 0xf4, 0xf9, 0xf7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe6, 0xee, 0xe9, 0xa3, 0xbd, 0xb7, 0x6b, 0x85, 0x85 +db 0x37, 0x49, 0x53, 0x16, 0x1d, 0x2e, 0x0, 0x3, 0x15, 0x0, 0x0, 0x9 +db 0x7, 0xa, 0x1c, 0x1d, 0x27, 0x38, 0x3d, 0x4f, 0x5a, 0x66, 0x80, 0x7f +db 0x8b, 0xab, 0xa2, 0xbf, 0xd3, 0xcc, 0xed, 0xf5, 0xf1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xf5, 0xf6, 0xb1, 0xc8, 0xca +db 0x5b, 0x83, 0x85, 0x16, 0x35, 0x3d, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0 +db 0x0, 0x0, 0x4, 0x0, 0x0, 0x6, 0x0, 0x0, 0x5, 0x1, 0x0, 0x7 +db 0x2, 0x1, 0x9, 0x2, 0x2, 0x9, 0x2, 0x2, 0x8, 0x2, 0x0, 0x4 +db 0x0, 0x0, 0x2, 0x25, 0x47, 0x53, 0xba, 0xd6, 0xd4, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe +db 0xd2, 0xe1, 0xdf, 0x6d, 0x90, 0x91, 0x14, 0x38, 0x3d, 0x0, 0x10, 0x13 +db 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2 +db 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0xf +db 0x7, 0x24, 0x26, 0x2f, 0x53, 0x58, 0x77, 0x99, 0x9c, 0xc6, 0xd7, 0xd8 +db 0xf2, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf7, 0xfa, 0xf9, 0xc9, 0xd9, 0xe1, 0x76, 0x9a, 0xb1, 0x20, 0x45, 0x6b +db 0x0, 0xf, 0x3b, 0x0, 0x0, 0x26, 0x0, 0x0, 0x22, 0x0, 0x5, 0x2e +db 0x3, 0x1b, 0x40, 0xa, 0x27, 0x49, 0x2, 0x1a, 0x3e, 0x0, 0x4, 0x34 +db 0x0, 0x0, 0x32, 0x2, 0x1, 0x32, 0x2, 0x1, 0x2f, 0x2, 0x0, 0x28 +db 0x0, 0x1, 0x22, 0x1a, 0x40, 0x5c, 0xae, 0xcd, 0xcf, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xb8, 0xcd, 0xd7 +db 0x3e, 0x6b, 0x8d, 0x2, 0x1c, 0x48, 0x0, 0x0, 0x27, 0x0, 0x0, 0x25 +db 0x1, 0x0, 0x2a, 0x1, 0x0, 0x2c, 0x1, 0x0, 0x2d, 0x0, 0x0, 0x2d +db 0x0, 0x0, 0x2c, 0x0, 0x0, 0x27, 0x0, 0x0, 0x21, 0x0, 0x0, 0x1f +db 0x0, 0x0, 0x20, 0x0, 0x0, 0x2a, 0x1, 0x1b, 0x47, 0x30, 0x53, 0x7b +db 0x7c, 0x9d, 0xb4, 0xda, 0xe3, 0xe8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe4, 0xee, 0xee +db 0x89, 0xa8, 0xba, 0x37, 0x5b, 0x89, 0x6, 0x21, 0x63, 0x0, 0x0, 0x4a +db 0x0, 0x0, 0x44, 0x0, 0x0, 0x4b, 0x4, 0x1e, 0x63, 0x2d, 0x58, 0x88 +db 0x6a, 0x90, 0xad, 0x84, 0xa6, 0xbc, 0x64, 0x8c, 0xa9, 0x26, 0x50, 0x83 +db 0x0, 0x16, 0x60, 0x0, 0x0, 0x50, 0x0, 0x0, 0x4c, 0x0, 0x0, 0x4b +db 0x5, 0x22, 0x63, 0x70, 0x98, 0xb0, 0xec, 0xf2, 0xf3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xca, 0xda, 0xde, 0x35, 0x60, 0x8b +db 0x0, 0xb, 0x55, 0x0, 0x0, 0x4c, 0x2, 0x0, 0x51, 0x1, 0x0, 0x55 +db 0x0, 0x0, 0x54, 0x0, 0x0, 0x53, 0x0, 0x8, 0x59, 0xb, 0x24, 0x69 +db 0x1c, 0x3c, 0x76, 0x12, 0x2d, 0x6d, 0x0, 0x12, 0x5e, 0x0, 0x6, 0x52 +db 0x0, 0x0, 0x4c, 0x0, 0x0, 0x46, 0x0, 0x0, 0x44, 0x0, 0x0, 0x4c +db 0x8, 0x21, 0x63, 0x57, 0x7a, 0x9c, 0xd1, 0xe0, 0xe5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xde, 0xe0, 0x64, 0x89, 0xa6 +db 0xe, 0x2c, 0x67, 0x0, 0x3, 0x4e, 0x0, 0x0, 0x4b, 0x0, 0x0, 0x4c +db 0x0, 0x2, 0x54, 0x12, 0x34, 0x75, 0x6a, 0x91, 0xaf, 0xc0, 0xd8, 0xe1 +db 0xee, 0xf5, 0xf7, 0xfb, 0xfd, 0xfe, 0xea, 0xf3, 0xf6, 0xb0, 0xcb, 0xd8 +db 0x3c, 0x6c, 0x95, 0x0, 0x17, 0x61, 0x0, 0xe, 0x5a, 0x10, 0x2a, 0x6e +db 0x5b, 0x84, 0xa9, 0xe0, 0xec, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe8, 0xee, 0xee, 0x58, 0x82, 0x9f, 0x0, 0xf, 0x59 +db 0x0, 0x0, 0x4f, 0x2, 0x0, 0x57, 0x0, 0x0, 0x58, 0x0, 0x7, 0x5c +db 0x7, 0x21, 0x69, 0x24, 0x46, 0x7e, 0x40, 0x69, 0x97, 0x7e, 0x9e, 0xbb +db 0xa6, 0xc2, 0xd2, 0x91, 0xae, 0xc4, 0x60, 0x85, 0xaa, 0x3a, 0x63, 0x91 +db 0x22, 0x41, 0x7b, 0x5, 0x1d, 0x66, 0x0, 0x5, 0x54, 0x0, 0x0, 0x4b +db 0x0, 0x0, 0x49, 0x0, 0x17, 0x5c, 0x4d, 0x72, 0x98, 0xbf, 0xd4, 0xd9 +db 0xfc, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfa, 0xb8, 0xcf, 0xd1, 0x3a, 0x65, 0x8b, 0x4, 0x15, 0x59 +db 0x0, 0x0, 0x47, 0x1, 0x0, 0x47, 0x0, 0x0, 0x4a, 0x0, 0xc, 0x57 +db 0x27, 0x4d, 0x80, 0x92, 0xb2, 0xc3, 0xec, 0xf3, 0xf4, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc3, 0xd5, 0xdc, 0x66, 0x8a, 0xaa, 0x5f, 0x82, 0xa3, 0x94, 0xb1, 0xc4 +db 0xdf, 0xe7, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xfd, 0xf8, 0x7f, 0xa1, 0xb2, 0x9, 0x26, 0x62, 0x0, 0x0, 0x4c +db 0x2, 0x1, 0x51, 0x1, 0x0, 0x54, 0x0, 0xb, 0x59, 0x25, 0x4e, 0x7f +db 0x7c, 0xa1, 0xb6, 0xb8, 0xce, 0xd7, 0xd8, 0xe5, 0xea, 0xf3, 0xf8, 0xf9 +db 0xff, 0xff, 0xff, 0xfa, 0xfd, 0xfc, 0xe9, 0xf3, 0xf4, 0xd4, 0xe3, 0xe7 +db 0xb3, 0xc9, 0xd4, 0x7c, 0x9f, 0xb6, 0x37, 0x5c, 0x88, 0x0, 0x15, 0x5d +db 0x0, 0x0, 0x4b, 0x0, 0x0, 0x49, 0x0, 0x10, 0x55, 0x2f, 0x54, 0x81 +db 0xa4, 0xbf, 0xc9, 0xfe, 0xfe, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf7, 0xf9 +db 0xa1, 0xb6, 0xc9, 0x2c, 0x51, 0x88, 0x0, 0xa, 0x5c, 0x0, 0x0, 0x50 +db 0x0, 0x0, 0x51, 0x0, 0x0, 0x54, 0x4, 0x21, 0x65, 0x4d, 0x72, 0x96 +db 0xb5, 0xca, 0xd3, 0xf7, 0xfb, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xfe, 0xe9, 0xf1, 0xf3, 0xe7, 0xf0, 0xf1, 0xf9, 0xfc, 0xfb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xcc, 0xd9, 0xde, 0x29, 0x4c, 0x85, 0x0, 0x1, 0x56, 0x1, 0x0, 0x57 +db 0x2, 0x0, 0x5b, 0x0, 0x1, 0x5c, 0x1e, 0x45, 0x7f, 0xa3, 0xbd, 0xc9 +db 0xf1, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf2, 0xf9, 0xf8, 0xc3, 0xd6, 0xdb, 0x44, 0x6d, 0x94 +db 0x0, 0xb, 0x5e, 0x1, 0x0, 0x54, 0x0, 0x0, 0x52, 0x0, 0x8, 0x58 +db 0x2e, 0x4f, 0x88, 0xc0, 0xce, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xf0, 0xf5, 0x8b, 0xa8, 0xd0 +db 0x21, 0x40, 0x99, 0x0, 0x0, 0x79, 0x0, 0x0, 0x72, 0x0, 0x0, 0x73 +db 0x0, 0x11, 0x7a, 0x27, 0x46, 0x8f, 0x7d, 0x99, 0xb8, 0xd7, 0xe3, 0xe7 +db 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe6, 0xee, 0xa4, 0xb9, 0xd7 +db 0x95, 0xaa, 0xd0, 0xcb, 0xd2, 0xe4, 0xfa, 0xfa, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd +db 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd +db 0xf9, 0xfa, 0xf9, 0xf9, 0xfa, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfb, 0xfa, 0xfd, 0xfb, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfc +db 0x7d, 0x9e, 0xc5, 0x5, 0x1b, 0x86, 0x0, 0x0, 0x77, 0x2, 0x1, 0x7c +db 0x0, 0x0, 0x7c, 0x6, 0x1d, 0x82, 0x76, 0x9a, 0xbc, 0xf7, 0xfa, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbd, 0xcd, 0xda +db 0x22, 0x4a, 0x92, 0x0, 0x4, 0x79, 0x1, 0x0, 0x78, 0x0, 0x0, 0x75 +db 0x4, 0xf, 0x81, 0x67, 0x85, 0xba, 0xf1, 0xf3, 0xf6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc +db 0xf6, 0xf9, 0xf9, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xfd, 0xfb, 0xfa, 0xfa, 0xff, 0xfd, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xfd, 0xf9, 0xfa, 0xfa, 0xfe, 0xfb, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xde, 0xeb, 0xef, 0x67, 0xa3, 0xc4, 0x13, 0x56, 0xa1 +db 0x0, 0x26, 0x92, 0x0, 0x1a, 0x8e, 0x0, 0x21, 0x90, 0xe, 0x40, 0x9e +db 0x66, 0x87, 0xc0, 0xbd, 0xcb, 0xe1, 0xf2, 0xf4, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfb, 0xec, 0xf1, 0xf2 +db 0xc9, 0xe1, 0xe7, 0x9e, 0xc7, 0xd7, 0x80, 0xb5, 0xc8, 0x93, 0xc1, 0xd2 +db 0xcb, 0xdf, 0xe7, 0xff, 0xfd, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xfc, 0xfb, 0xbd, 0xd3, 0xde, 0x4c, 0x8d, 0xb7, 0x17, 0x54, 0xa0 +db 0x12, 0x4a, 0x9b, 0x68, 0x90, 0xbc, 0xe6, 0xed, 0xf1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xcb, 0xdf, 0xe6, 0x8f, 0xbd, 0xcf +db 0x8c, 0xbc, 0xcf, 0xb7, 0xd4, 0xde, 0xf1, 0xf2, 0xf3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfd, 0xf8, 0xf8, 0xc5, 0xdd, 0xe4, 0x90, 0xbd, 0xd0 +db 0x76, 0xab, 0xc5, 0x74, 0xaa, 0xc6, 0x93, 0xc0, 0xd1, 0xd4, 0xe5, 0xe9 +db 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe9, 0xed, 0xf0, 0xb9, 0xd8, 0xe1, 0x9c, 0xc8, 0xd5 +db 0x80, 0xb2, 0xc8, 0x7c, 0xb0, 0xc7, 0x98, 0xc6, 0xd3, 0xb4, 0xd7, 0xdf +db 0xd9, 0xe6, 0xeb, 0xff, 0xfb, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0xec, 0xef +db 0x3e, 0x7b, 0xb3, 0x0, 0x2b, 0x95, 0x1, 0x25, 0x94, 0x1, 0x29, 0x97 +db 0x0, 0x2b, 0x97, 0x27, 0x66, 0xaf, 0xd4, 0xde, 0xea, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfa, 0xfc +db 0x83, 0xa8, 0xcc, 0x3, 0x3e, 0x9d, 0x0, 0x21, 0x95, 0x2, 0x23, 0x94 +db 0x0, 0x25, 0x93, 0x2b, 0x66, 0xaa, 0xbf, 0xd4, 0xe2, 0xff, 0xff, 0xff +db 0xf7, 0xf9, 0xfb, 0xb9, 0xd2, 0xdd, 0x81, 0xb6, 0xc9, 0xa3, 0xcb, 0xd7 +db 0xe8, 0xef, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xdd, 0xe7, 0xec, 0x87, 0xb7, 0xcb +db 0x6e, 0xa9, 0xc2, 0x9b, 0xc5, 0xd4, 0xe9, 0xf1, 0xf3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xf0, 0xf1, 0xbb, 0xd9, 0xe1 +db 0x93, 0xbf, 0xd0, 0x79, 0xac, 0xc6, 0x85, 0xb6, 0xcb, 0xa4, 0xcd, 0xd9 +db 0xc2, 0xdd, 0xe3, 0xe4, 0xec, 0xef, 0xff, 0xfa, 0xf9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfd, 0xda, 0xe5, 0xeb +db 0xc5, 0xdc, 0xe3, 0xf3, 0xf4, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0xe7, 0xea, 0xad, 0xd2, 0xdd +db 0x8f, 0xbd, 0xcf, 0x76, 0xab, 0xc5, 0x7f, 0xb1, 0xc8, 0xa6, 0xcb, 0xd8 +db 0xe0, 0xeb, 0xee, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xdf, 0xec, 0xf0, 0x5e, 0xa6, 0xc2, 0xa, 0x64, 0x9d, 0x0, 0x4a, 0x93 +db 0x0, 0x46, 0x94, 0x0, 0x55, 0x9a, 0x3e, 0x85, 0xb3, 0x9f, 0xc1, 0xd8 +db 0xe8, 0xed, 0xf5, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9 +db 0xd6, 0xe2, 0xe9, 0xa5, 0xcc, 0xd9, 0x7e, 0xb5, 0xca, 0x5b, 0x9e, 0xbb +db 0x37, 0x87, 0xae, 0x1b, 0x71, 0xa3, 0xf, 0x64, 0x9a, 0x13, 0x6b, 0x9d +db 0x37, 0x86, 0xae, 0x8d, 0xbb, 0xcf, 0xe9, 0xec, 0xef, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe +db 0xd2, 0xe1, 0xe8, 0x3f, 0x8d, 0xb0, 0x2, 0x52, 0x93, 0x0, 0x41, 0x8e +db 0x0, 0x45, 0x90, 0x48, 0x86, 0xb1, 0xe3, 0xea, 0xec, 0xff, 0xff, 0xff +db 0xdc, 0xe6, 0xeb, 0x8b, 0xba, 0xcd, 0x3c, 0x8b, 0xb1, 0x12, 0x6d, 0xa0 +db 0x11, 0x6a, 0x9e, 0x24, 0x7b, 0xa8, 0x7c, 0xb1, 0xc8, 0xde, 0xe4, 0xe9 +db 0xce, 0xde, 0xe5, 0x76, 0xaf, 0xc7, 0x33, 0x85, 0xad, 0x13, 0x6b, 0xa0 +db 0xb, 0x60, 0x99, 0xa, 0x5e, 0x98, 0x14, 0x6b, 0x9d, 0x3c, 0x8d, 0xb2 +db 0xa4, 0xc8, 0xd7, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xf1, 0xf3 +db 0xa0, 0xc7, 0xd6, 0x54, 0x9a, 0xb9, 0x29, 0x7c, 0xa8, 0x19, 0x6f, 0xa2 +db 0xf, 0x64, 0x9b, 0xc, 0x64, 0x9a, 0x17, 0x70, 0xa0, 0x27, 0x7c, 0xa6 +db 0x42, 0x8d, 0xb1, 0x77, 0xb0, 0xc6, 0xce, 0xdf, 0xe5, 0xff, 0xfe, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xa1, 0xc9, 0xd8 +db 0x14, 0x6e, 0xa4, 0x0, 0x50, 0x98, 0x2, 0x54, 0x9a, 0x0, 0x51, 0x99 +db 0x7, 0x61, 0xa0, 0x79, 0xb0, 0xcd, 0xfc, 0xfc, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc9, 0xde, 0xe7, 0x22, 0x7a, 0xac, 0x0, 0x4d, 0x97, 0x1, 0x51, 0x9a +db 0x0, 0x50, 0x98, 0x10, 0x67, 0xa1, 0x8b, 0xbc, 0xcf, 0xff, 0xff, 0xff +db 0xda, 0xe9, 0xee, 0x49, 0x92, 0xb5, 0xd, 0x5f, 0x98, 0x17, 0x70, 0xa1 +db 0x59, 0x9f, 0xbc, 0xc8, 0xda, 0xe3, 0xfd, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf1, 0xf2, 0xf3, 0x72, 0xa7, 0xc0, 0xf, 0x62, 0x99 +db 0x9, 0x58, 0x93, 0x1c, 0x70, 0xa1, 0x70, 0xae, 0xc6, 0xea, 0xf2, 0xf3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xfc, 0xfc, 0xbe, 0xd7, 0xe0, 0x5d, 0x9f, 0xbd, 0x29, 0x7d, 0xa9 +db 0x15, 0x6b, 0x9f, 0xc, 0x61, 0x99, 0xf, 0x67, 0x9b, 0x1d, 0x74, 0xa4 +db 0x32, 0x83, 0xac, 0x55, 0x98, 0xb7, 0x75, 0xb1, 0xc7, 0xb1, 0xd0, 0xdb +db 0xec, 0xef, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0xef, 0xf2, 0x71, 0xa7, 0xc0 +db 0x2d, 0x80, 0xa8, 0x62, 0xa5, 0xc0, 0xbf, 0xd9, 0xe3, 0xff, 0xf9, 0xf8 +db 0xff, 0xfe, 0xfd, 0xbe, 0xd4, 0xe0, 0x46, 0x91, 0xb5, 0x20, 0x78, 0xa7 +db 0x13, 0x6b, 0x9e, 0xb, 0x60, 0x98, 0xd, 0x64, 0x9a, 0x1f, 0x74, 0xa3 +db 0x4c, 0x95, 0xb7, 0x9a, 0xc2, 0xd2, 0xeb, 0xf0, 0xf2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xef, 0xf2 +db 0x63, 0xa6, 0xc2, 0xb, 0x65, 0x9c, 0x0, 0x4f, 0x93, 0x0, 0x4d, 0x93 +db 0x0, 0x5c, 0x98, 0x4f, 0x98, 0xb8, 0xcd, 0xe3, 0xe8, 0xf9, 0xfc, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfc, 0xc4, 0xd6, 0xe2, 0x6e, 0xaa, 0xc4 +db 0x3a, 0x88, 0xb0, 0x1e, 0x72, 0xa3, 0xc, 0x64, 0x9c, 0x5, 0x5b, 0x98 +db 0x0, 0x53, 0x94, 0x0, 0x51, 0x94, 0x0, 0x4f, 0x92, 0x0, 0x4e, 0x92 +db 0x0, 0x54, 0x93, 0x15, 0x6c, 0xa1, 0x52, 0x9b, 0xbb, 0xcd, 0xda, 0xe3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf4, 0xf7 +db 0x7d, 0xac, 0xc6, 0x4, 0x5b, 0x97, 0x0, 0x4a, 0x90, 0x0, 0x4e, 0x92 +db 0x0, 0x56, 0x96, 0x4a, 0x8b, 0xb1, 0xb9, 0xcc, 0xd6, 0xa3, 0xc4, 0xd5 +db 0x47, 0x91, 0xb7, 0x12, 0x6d, 0xa2, 0x1, 0x5a, 0x98, 0x0, 0x55, 0x96 +db 0x0, 0x53, 0x96, 0x0, 0x55, 0x96, 0x15, 0x72, 0xa4, 0x45, 0x93, 0xb6 +db 0x3a, 0x89, 0xb0, 0xb, 0x69, 0xa0, 0x0, 0x56, 0x97, 0x0, 0x52, 0x94 +db 0x0, 0x51, 0x93, 0x0, 0x4e, 0x92, 0x0, 0x4b, 0x91, 0x0, 0x51, 0x93 +db 0x3d, 0x84, 0xad, 0xd2, 0xdf, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xe0, 0xe8, 0x65, 0xa2, 0xc0 +db 0x17, 0x70, 0xa2, 0x4, 0x59, 0x96, 0x0, 0x51, 0x93, 0x0, 0x50, 0x94 +db 0x0, 0x51, 0x93, 0x0, 0x51, 0x92, 0x0, 0x51, 0x93, 0x0, 0x51, 0x93 +db 0x1, 0x53, 0x94, 0xa, 0x60, 0x9a, 0x34, 0x86, 0xae, 0x9f, 0xc3, 0xd4 +db 0xf1, 0xf3, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xf1, 0xf2, 0x59, 0x9d, 0xbb +db 0x3, 0x5e, 0x99, 0x1, 0x58, 0x96, 0x2, 0x5b, 0x98, 0x0, 0x57, 0x98 +db 0x21, 0x81, 0xab, 0xc5, 0xdc, 0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe8, 0xf1, 0xf3, 0x55, 0x9e, 0xb9, 0x0, 0x5a, 0x97, 0x0, 0x58, 0x98 +db 0x1, 0x5a, 0x97, 0x7, 0x63, 0x9c, 0x68, 0xa6, 0xc2, 0xff, 0xfc, 0xfa +db 0xcf, 0xe5, 0xe8, 0x25, 0x7e, 0xaa, 0x0, 0x48, 0x8e, 0x0, 0x48, 0x8f +db 0x5, 0x57, 0x94, 0x4a, 0x8f, 0xb3, 0xd1, 0xde, 0xe7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd7, 0xdf, 0xe6, 0x2d, 0x7c, 0xa7, 0x0, 0x43, 0x8b +db 0x0, 0x46, 0x8d, 0x0, 0x49, 0x8f, 0x1a, 0x6c, 0xa1, 0x9a, 0xc2, 0xd3 +db 0xff, 0xfd, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xce, 0xdd, 0xe6, 0x47, 0x8e, 0xb2, 0x6, 0x5a, 0x97, 0x0, 0x50, 0x93 +db 0x0, 0x4f, 0x92, 0x0, 0x53, 0x94, 0x0, 0x52, 0x94, 0x0, 0x52, 0x94 +db 0x0, 0x54, 0x95, 0x5, 0x59, 0x98, 0xa, 0x64, 0x9c, 0x24, 0x77, 0xa6 +db 0x57, 0x9a, 0xb9, 0xad, 0xca, 0xd8, 0xf2, 0xf0, 0xf3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0xee, 0xf1, 0x50, 0x94, 0xb5 +db 0x0, 0x50, 0x8f, 0x6, 0x58, 0x97, 0x2e, 0x81, 0xab, 0x74, 0xad, 0xc7 +db 0x8f, 0xb8, 0xcf, 0x38, 0x88, 0xb2, 0x3, 0x5a, 0x99, 0x0, 0x52, 0x95 +db 0x0, 0x52, 0x94, 0x0, 0x51, 0x93, 0x0, 0x51, 0x93, 0x0, 0x50, 0x93 +db 0x3, 0x56, 0x96, 0x17, 0x6c, 0xa2, 0x5d, 0xa0, 0xbe, 0xce, 0xdf, 0xe7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf9, 0xf9, 0x86, 0xb4, 0xcb +db 0x10, 0x68, 0x9f, 0x0, 0x4f, 0x92, 0x0, 0x4e, 0x92, 0x0, 0x59, 0x97 +db 0x4f, 0x94, 0xb8, 0xd5, 0xe5, 0xea, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xec, 0xef, 0xf2, 0x89, 0xb6, 0xcb, 0x2a, 0x7c, 0xa8, 0x8, 0x5e, 0x99 +db 0x0, 0x54, 0x95, 0x0, 0x50, 0x93, 0x0, 0x50, 0x92, 0x0, 0x4f, 0x93 +db 0x0, 0x50, 0x92, 0x0, 0x54, 0x94, 0x2, 0x53, 0x95, 0x2, 0x53, 0x94 +db 0x1, 0x52, 0x93, 0x0, 0x52, 0x95, 0x4, 0x5e, 0x99, 0x7d, 0xac, 0xc4 +db 0xff, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xca, 0xd9, 0xe3 +db 0x27, 0x79, 0xa7, 0x0, 0x4d, 0x92, 0x2, 0x52, 0x95, 0x0, 0x54, 0x97 +db 0x2, 0x60, 0x9b, 0x26, 0x7d, 0xa6, 0x3e, 0x8c, 0xaf, 0x1f, 0x76, 0xa7 +db 0x3, 0x5f, 0x9c, 0x0, 0x59, 0x99, 0x1, 0x59, 0x98, 0x2, 0x59, 0x98 +db 0x2, 0x58, 0x99, 0x1, 0x58, 0x98, 0x0, 0x5c, 0x99, 0x2, 0x60, 0x9b +db 0x1, 0x5d, 0x9a, 0x0, 0x58, 0x98, 0x1, 0x57, 0x96, 0x0, 0x54, 0x95 +db 0x1, 0x54, 0x95, 0x2, 0x53, 0x96, 0x2, 0x4f, 0x93, 0x0, 0x49, 0x8f +db 0xf, 0x67, 0x9d, 0xa4, 0xc7, 0xd6, 0xff, 0xfe, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xf7, 0xf7, 0xaa, 0xc9, 0xd8, 0x43, 0x8d, 0xb1, 0x8, 0x5f, 0x99 +db 0x0, 0x52, 0x94, 0x1, 0x51, 0x93, 0x1, 0x52, 0x94, 0x0, 0x53, 0x94 +db 0x0, 0x52, 0x92, 0x0, 0x52, 0x92, 0x0, 0x52, 0x94, 0x1, 0x52, 0x93 +db 0x1, 0x50, 0x92, 0x0, 0x4c, 0x8f, 0x0, 0x4e, 0x91, 0x2c, 0x7b, 0xa7 +db 0xc0, 0xd6, 0xe1, 0xfe, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc2, 0xdb, 0xe1, 0x2c, 0x7e, 0xaa +db 0x1, 0x55, 0x94, 0x2, 0x56, 0x94, 0x1, 0x55, 0x96, 0x4, 0x5e, 0x99 +db 0x62, 0xa4, 0xbf, 0xf1, 0xf4, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xfb, 0xfc, 0x97, 0xc0, 0xd1, 0x5, 0x68, 0x9d, 0x0, 0x53, 0x96 +db 0x1, 0x58, 0x97, 0x3, 0x5b, 0x98, 0x48, 0x90, 0xb5, 0xe5, 0xed, 0xf1 +db 0xe9, 0xf2, 0xf4, 0x53, 0x96, 0xb7, 0x0, 0x52, 0x93, 0x0, 0x49, 0x90 +db 0x0, 0x48, 0x8f, 0x6, 0x5a, 0x95, 0x6d, 0xa5, 0xc0, 0xee, 0xf1, 0xf4 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xcf, 0xdd, 0xe3, 0x25, 0x76, 0xa3, 0x0, 0x46, 0x8c +db 0x2, 0x4b, 0x90, 0x1, 0x49, 0x8f, 0x1, 0x54, 0x95, 0x56, 0x99, 0xba +db 0xe8, 0xee, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xf8 +db 0x83, 0xb0, 0xc8, 0xe, 0x62, 0x9b, 0x0, 0x4c, 0x90, 0x1, 0x51, 0x94 +db 0x2, 0x55, 0x95, 0x2, 0x57, 0x97, 0x1, 0x56, 0x97, 0x0, 0x53, 0x94 +db 0x0, 0x51, 0x92, 0x0, 0x50, 0x90, 0x0, 0x52, 0x92, 0x0, 0x54, 0x93 +db 0x5, 0x5b, 0x98, 0x1f, 0x73, 0xa4, 0x67, 0xa1, 0xbf, 0xda, 0xe3, 0xe9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfc, 0xfb, 0x82, 0xb3, 0xc8 +db 0x6, 0x5b, 0x97, 0x0, 0x48, 0x90, 0x0, 0x54, 0x95, 0xb, 0x65, 0x9d +db 0x15, 0x6b, 0xa0, 0x3, 0x5e, 0x9a, 0x0, 0x55, 0x96, 0x1, 0x56, 0x96 +db 0x2, 0x56, 0x97, 0x2, 0x55, 0x97, 0x2, 0x54, 0x97, 0x1, 0x51, 0x94 +db 0x0, 0x4c, 0x92, 0x0, 0x4d, 0x91, 0x6, 0x5a, 0x97, 0x42, 0x8c, 0xb3 +db 0xc0, 0xd6, 0xe2, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0x9d, 0xd0, 0xd5, 0x20, 0x8e, 0xa6 +db 0x0, 0x6d, 0x94, 0x0, 0x6b, 0x91, 0x0, 0x70, 0x96, 0x54, 0x9d, 0xb8 +db 0xd6, 0xe3, 0xe9, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe +db 0xff, 0xfd, 0xfc, 0xfc, 0xf7, 0xf4, 0xe7, 0xee, 0xeb, 0xe0, 0xeb, 0xe9 +db 0xe0, 0xeb, 0xe8, 0xd9, 0xea, 0xe6, 0xb5, 0xdd, 0xdb, 0x88, 0xd0, 0xcc +db 0x8c, 0xd0, 0xcd, 0xc8, 0xe4, 0xe0, 0xfc, 0xfb, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xd2, 0xe7, 0xe5 +db 0x5a, 0xb2, 0xbb, 0xc, 0x7f, 0x9c, 0x0, 0x6b, 0x93, 0x0, 0x6a, 0x93 +db 0x2, 0x6a, 0x91, 0x0, 0x6b, 0x92, 0x0, 0x6d, 0x92, 0x0, 0x71, 0x97 +db 0x7, 0x77, 0x9c, 0x5, 0x76, 0x9b, 0x1, 0x73, 0x99, 0x2, 0x71, 0x96 +db 0x2, 0x70, 0x96, 0x2, 0x6e, 0x95, 0x0, 0x72, 0x95, 0x7b, 0xb3, 0xc2 +db 0xff, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xf3, 0xf7, 0xf8, 0x90, 0xc2, 0xca +db 0x2, 0x78, 0x97, 0x0, 0x6c, 0x94, 0x2, 0x73, 0x98, 0x2, 0x74, 0x98 +db 0x2, 0x7a, 0x9a, 0x5, 0x81, 0x9e, 0x4, 0x7e, 0x9c, 0x1, 0x76, 0x99 +db 0x0, 0x73, 0x98, 0x0, 0x74, 0x98, 0x2, 0x76, 0x9a, 0x2, 0x76, 0x9b +db 0x2, 0x75, 0x9a, 0x2, 0x75, 0x99, 0x2, 0x75, 0x99, 0x1, 0x74, 0x99 +db 0x1, 0x74, 0x99, 0x0, 0x74, 0x97, 0x0, 0x73, 0x96, 0x0, 0x74, 0x98 +db 0x0, 0x74, 0x97, 0x1, 0x72, 0x97, 0x2, 0x6f, 0x95, 0x0, 0x69, 0x92 +db 0x1, 0x74, 0x97, 0x81, 0xbb, 0xc7, 0xfb, 0xf9, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf5 +db 0x8b, 0xc4, 0xc7, 0x18, 0x8c, 0xa3, 0x3, 0x72, 0x96, 0x0, 0x6d, 0x93 +db 0x2, 0x6e, 0x94, 0x0, 0x6f, 0x93, 0x0, 0x71, 0x94, 0x0, 0x74, 0x98 +db 0xa, 0x79, 0x9c, 0xc, 0x79, 0x9e, 0x0, 0x76, 0x9b, 0x0, 0x72, 0x95 +db 0x1, 0x6f, 0x95, 0x2, 0x6b, 0x93, 0x0, 0x62, 0x8d, 0x2, 0x74, 0x94 +db 0x8e, 0xc3, 0xcc, 0xf5, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x97, 0xcc, 0xd0, 0x11, 0x83, 0x9f +db 0x0, 0x6c, 0x93, 0x2, 0x70, 0x95, 0x0, 0x6f, 0x94, 0xe, 0x83, 0xa0 +db 0xaa, 0xcf, 0xd7, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xbb, 0xd9, 0xdd, 0x1b, 0x88, 0xa2, 0x0, 0x6e, 0x92 +db 0x2, 0x72, 0x95, 0x0, 0x73, 0x96, 0x22, 0x91, 0xa7, 0xbf, 0xe0, 0xe1 +db 0xfd, 0xfe, 0xfe, 0x99, 0xc4, 0xd2, 0xe, 0x7c, 0x9f, 0x0, 0x69, 0x91 +db 0x1, 0x68, 0x91, 0x0, 0x66, 0x8f, 0x10, 0x83, 0x9e, 0xa1, 0xcf, 0xd3 +db 0xf9, 0xfc, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd5, 0xe3, 0xe4, 0x2a, 0x8b, 0xa5, 0x0, 0x66, 0x8e +db 0x2, 0x6a, 0x91, 0x1, 0x6b, 0x92, 0x0, 0x6d, 0x92, 0x3f, 0x98, 0xb0 +db 0xd4, 0xe6, 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0xe5, 0xe6 +db 0x3f, 0x9a, 0xae, 0x1, 0x6f, 0x93, 0x1, 0x6e, 0x94, 0x2, 0x73, 0x97 +db 0x2, 0x73, 0x98, 0x1, 0x73, 0x97, 0x0, 0x74, 0x95, 0x0, 0x77, 0x98 +db 0xc, 0x7a, 0x9d, 0xd, 0x79, 0x9d, 0x0, 0x73, 0x97, 0x0, 0x71, 0x95 +db 0x1, 0x6d, 0x94, 0x0, 0x6d, 0x94, 0x9, 0x7b, 0x9a, 0x62, 0xb4, 0xbe +db 0xec, 0xf3, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xe1, 0xe8 +db 0x46, 0x93, 0xb1, 0x0, 0x6a, 0x95, 0x0, 0x6b, 0x93, 0x0, 0x70, 0x95 +db 0x0, 0x71, 0x97, 0x1, 0x72, 0x98, 0x2, 0x73, 0x98, 0x2, 0x73, 0x98 +db 0x2, 0x73, 0x98, 0x1, 0x72, 0x97, 0x0, 0x6f, 0x95, 0x0, 0x6f, 0x94 +db 0x0, 0x6e, 0x96, 0x0, 0x6b, 0x95, 0x0, 0x65, 0x90, 0x3, 0x6e, 0x94 +db 0x35, 0x9d, 0xaf, 0xba, 0xde, 0xdf, 0xff, 0xfe, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfb, 0xa2, 0xd9, 0xd3, 0x22, 0xa8, 0xa5, 0x1, 0x93, 0x92 +db 0x0, 0x8d, 0x91, 0x0, 0x90, 0x93, 0x48, 0xb1, 0xb1, 0xd4, 0xe9, 0xe8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfb +db 0xf4, 0xf5, 0xef, 0xd8, 0xe8, 0xe2, 0xa9, 0xd8, 0xd1, 0x8a, 0xcd, 0xc6 +db 0x80, 0xcb, 0xc3, 0x5c, 0xc2, 0xba, 0x3d, 0xb5, 0xae, 0x3a, 0xb2, 0xab +db 0x3b, 0xb2, 0xab, 0x37, 0xb1, 0xaa, 0x24, 0xa6, 0xa1, 0x10, 0x9f, 0x99 +db 0xc, 0x9d, 0x97, 0x40, 0xaf, 0xab, 0xca, 0xe4, 0xdf, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0xbb, 0xe1, 0xdb, 0x38, 0xb1, 0xae +db 0x5, 0x96, 0x96, 0x0, 0x8d, 0x91, 0x2, 0x8c, 0x92, 0x0, 0x8d, 0x92 +db 0x0, 0x90, 0x94, 0x9, 0x9a, 0x9d, 0x3c, 0xaa, 0xae, 0x83, 0xc0, 0xc3 +db 0x8f, 0xc2, 0xc4, 0x38, 0xa8, 0xaa, 0x3, 0x97, 0x99, 0x1, 0x95, 0x96 +db 0x2, 0x95, 0x95, 0x0, 0x93, 0x93, 0x8, 0x9d, 0x9e, 0xb5, 0xd8, 0xd8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xe2, 0xf1, 0xeb, 0x50, 0xb5, 0xb1 +db 0x0, 0x92, 0x93, 0x1, 0x94, 0x95, 0x2, 0x97, 0x98, 0x2, 0x98, 0x98 +db 0x2, 0x9a, 0x98, 0x2, 0x9a, 0x99, 0x0, 0x98, 0x99, 0x0, 0x98, 0x98 +db 0x0, 0x9b, 0x9c, 0x3, 0x9e, 0x9f, 0x0, 0x9b, 0x9c, 0x2, 0x99, 0x99 +db 0x2, 0x99, 0x99, 0x2, 0x99, 0x99, 0x2, 0x98, 0x99, 0x1, 0x97, 0x97 +db 0x0, 0x95, 0x97, 0x0, 0x99, 0x9a, 0x29, 0xa6, 0xaa, 0x5a, 0xb5, 0xb7 +db 0x2d, 0xa8, 0xa9, 0x0, 0x96, 0x98, 0x2, 0x93, 0x95, 0x0, 0x90, 0x92 +db 0x0, 0x94, 0x96, 0x79, 0xc4, 0xc1, 0xf7, 0xf8, 0xf5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xde, 0xd7 +db 0x14, 0xa3, 0xa1, 0x0, 0x8f, 0x91, 0x2, 0x91, 0x92, 0x1, 0x93, 0x93 +db 0x0, 0x95, 0x95, 0x2, 0x99, 0x9a, 0x2d, 0xa6, 0xa7, 0x72, 0xbe, 0xbe +db 0xb5, 0xd5, 0xd4, 0xb6, 0xd4, 0xd5, 0x74, 0xbd, 0xc0, 0x1e, 0xa2, 0xa3 +db 0x0, 0x93, 0x97, 0x1, 0x8f, 0x93, 0x0, 0x8a, 0x8e, 0x0, 0x89, 0x8f +db 0x6a, 0xbc, 0xbe, 0xea, 0xf4, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf8, 0xf9, 0xf6, 0x71, 0xc2, 0xbf, 0x8, 0x96, 0x97 +db 0x0, 0x90, 0x91, 0x2, 0x93, 0x93, 0x0, 0x91, 0x91, 0x23, 0xa5, 0xa3 +db 0xc7, 0xe4, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xc5, 0xe4, 0xe0, 0x23, 0xa4, 0xa4, 0x0, 0x91, 0x91 +db 0x2, 0x95, 0x95, 0x0, 0x94, 0x94, 0x13, 0xa0, 0x9e, 0x98, 0xd6, 0xcf +db 0xff, 0xff, 0xff, 0xe2, 0xf0, 0xf1, 0x55, 0xb5, 0xb8, 0x0, 0x92, 0x95 +db 0x0, 0x8e, 0x91, 0x2, 0x8d, 0x90, 0x0, 0x8d, 0x90, 0x34, 0xab, 0xa8 +db 0xce, 0xe7, 0xe2, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xdb, 0xea, 0xe5, 0x2c, 0xa4, 0xa5, 0x0, 0x8d, 0x8e +db 0x2, 0x90, 0x91, 0x1, 0x8f, 0x92, 0x0, 0x90, 0x92, 0x3f, 0xad, 0xad +db 0xd4, 0xe9, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbc, 0xe1, 0xdd +db 0x27, 0xa5, 0xa5, 0x0, 0x90, 0x92, 0x1, 0x94, 0x94, 0x2, 0x97, 0x97 +db 0x0, 0x97, 0x96, 0x0, 0x98, 0x98, 0x24, 0xa5, 0xa6, 0x79, 0xc0, 0xc0 +db 0xb8, 0xd6, 0xd5, 0xb9, 0xd6, 0xd5, 0x72, 0xbc, 0xbd, 0x1b, 0xa0, 0xa2 +db 0x0, 0x95, 0x97, 0x1, 0x91, 0x93, 0x0, 0x91, 0x91, 0x11, 0x9f, 0x9b +db 0x90, 0xd2, 0xcc, 0xff, 0xfd, 0xfb, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd +db 0xb7, 0xd8, 0xda, 0x1e, 0xa0, 0xa4, 0x0, 0x8f, 0x92, 0x2, 0x91, 0x94 +db 0x2, 0x94, 0x97, 0x2, 0x96, 0x97, 0x2, 0x96, 0x98, 0x2, 0x97, 0x98 +db 0x1, 0x97, 0x97, 0x0, 0x97, 0x99, 0x16, 0xa1, 0xa3, 0x56, 0xb1, 0xb6 +db 0x4d, 0xaf, 0xb3, 0xa, 0x98, 0x9c, 0x0, 0x8b, 0x90, 0x1, 0x88, 0x8e +db 0x2, 0x8d, 0x90, 0x4a, 0xb4, 0xb2, 0xd9, 0xec, 0xea, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfb +db 0xaa, 0xdb, 0xd5, 0x26, 0xab, 0xa4, 0x1, 0x99, 0x91, 0x1, 0x98, 0x8e +db 0x0, 0x97, 0x90, 0x23, 0xad, 0xa5, 0xba, 0xe0, 0xd6, 0xff, 0xff, 0xf8 +db 0xfb, 0xf9, 0xf4, 0xd6, 0xea, 0xe4, 0xb1, 0xda, 0xd4, 0x82, 0xcc, 0xc4 +db 0x4e, 0xbe, 0xb4, 0x24, 0xb1, 0xa8, 0x15, 0xa8, 0xa0, 0xf, 0xa4, 0x9a +db 0xc, 0xa3, 0x98, 0x6, 0xa0, 0x97, 0x3, 0x9c, 0x96, 0x3, 0x9a, 0x93 +db 0x3, 0x9a, 0x92, 0x2, 0x99, 0x92, 0x1, 0x98, 0x90, 0x1, 0x97, 0x8f +db 0x0, 0x95, 0x8d, 0x11, 0xa1, 0x9b, 0xb6, 0xdc, 0xd6, 0xff, 0xff, 0xff +db 0xff, 0xfc, 0xfb, 0xb3, 0xdc, 0xd7, 0x30, 0xaf, 0xab, 0x2, 0x98, 0x94 +db 0x0, 0x98, 0x90, 0x1, 0x98, 0x91, 0x0, 0x99, 0x93, 0xc, 0xa4, 0x9f +db 0x5a, 0xbe, 0xb7, 0xb0, 0xdd, 0xd4, 0xe1, 0xf2, 0xed, 0xf8, 0xfc, 0xfa +db 0xd3, 0xea, 0xe1, 0x3f, 0xb8, 0xb0, 0x1, 0xa3, 0x99, 0x1, 0xa1, 0x96 +db 0x0, 0xa0, 0x95, 0x0, 0xa0, 0x99, 0x58, 0xc0, 0xb6, 0xf8, 0xf9, 0xf3 +db 0xff, 0xff, 0xff, 0xf9, 0xfd, 0xfb, 0xaa, 0xda, 0xd1, 0x13, 0xa6, 0xa0 +db 0x0, 0x9c, 0x94, 0x2, 0xa1, 0x95, 0x2, 0xa1, 0x96, 0x2, 0xa1, 0x97 +db 0x2, 0xa2, 0x98, 0x0, 0xa2, 0x98, 0x0, 0xa4, 0x9b, 0x2f, 0xb3, 0xaa +db 0x7f, 0xc7, 0xbe, 0x6a, 0xc3, 0xb9, 0x18, 0xab, 0xa3, 0x0, 0xa4, 0x98 +db 0x2, 0xa3, 0x99, 0x2, 0xa3, 0x99, 0x0, 0xa2, 0x98, 0x0, 0xa3, 0x9a +db 0x23, 0xaf, 0xa5, 0x78, 0xc9, 0xc1, 0xcf, 0xea, 0xe2, 0xeb, 0xf3, 0xeb +db 0x78, 0xc8, 0xc0, 0x0, 0xa3, 0x98, 0x0, 0x9e, 0x93, 0x0, 0x9c, 0x92 +db 0x0, 0x9e, 0x96, 0x7d, 0xca, 0xc2, 0xf9, 0xf9, 0xf6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0xf3, 0xee, 0x5d, 0xbe, 0xb7 +db 0x4, 0x9d, 0x95, 0x2, 0x9b, 0x91, 0x0, 0x9d, 0x92, 0x0, 0xa1, 0x99 +db 0x3c, 0xb7, 0xae, 0xa2, 0xd6, 0xcb, 0xda, 0xee, 0xe3, 0xf4, 0xf9, 0xf6 +db 0xfc, 0xfe, 0xfd, 0xff, 0xfd, 0xf9, 0xc5, 0xe0, 0xd9, 0x3e, 0xb1, 0xab +db 0x0, 0x9e, 0x97, 0x0, 0x9a, 0x93, 0x0, 0x96, 0x8e, 0x0, 0x94, 0x8f +db 0x68, 0xbe, 0xbb, 0xea, 0xf4, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe2, 0xf0, 0xee, 0x48, 0xb9, 0xb2, 0x3, 0x9c, 0x94 +db 0x1, 0x9b, 0x91, 0x2, 0x9d, 0x93, 0x0, 0x9b, 0x91, 0x26, 0xad, 0xa4 +db 0xcb, 0xe7, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xde, 0xef, 0xe9, 0x40, 0xb5, 0xac, 0x0, 0x9b, 0x92 +db 0x2, 0x9d, 0x94, 0x0, 0x9e, 0x93, 0x9, 0xa2, 0x99, 0x70, 0xc9, 0xc0 +db 0xf4, 0xf9, 0xf6, 0xfe, 0xfe, 0xfe, 0xb9, 0xe2, 0xda, 0x27, 0xad, 0xa6 +db 0x0, 0x99, 0x92, 0x1, 0x9a, 0x92, 0x1, 0x97, 0x90, 0x2, 0x9c, 0x95 +db 0x5c, 0xc0, 0xb6, 0xe4, 0xf1, 0xea, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xdf, 0xee, 0xe6, 0x31, 0xae, 0xa6, 0x0, 0x9a, 0x8f +db 0x2, 0x9c, 0x92, 0x1, 0x9b, 0x92, 0x0, 0x9d, 0x94, 0x41, 0xb7, 0xad +db 0xd7, 0xec, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbd, 0xe2, 0xdd +db 0x27, 0xad, 0xa6, 0x0, 0x9c, 0x92, 0x2, 0xa0, 0x95, 0x0, 0xa1, 0x97 +db 0x0, 0xa4, 0x99, 0x52, 0xbd, 0xb1, 0xc7, 0xe5, 0xdb, 0xf3, 0xf9, 0xf6 +db 0xfa, 0xfc, 0xfc, 0xfd, 0xfe, 0xfd, 0xdf, 0xed, 0xe4, 0x4e, 0xba, 0xaf +db 0x0, 0xa2, 0x96, 0x0, 0x9e, 0x93, 0x1, 0x9c, 0x92, 0x0, 0x99, 0x93 +db 0x3e, 0xb5, 0xad, 0xd6, 0xea, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf7, 0xf7, 0xf5, 0x6e, 0xc5, 0xbf, 0x7, 0x9f, 0x99, 0x0, 0x9d, 0x94 +db 0x2, 0x9f, 0x95, 0x2, 0xa1, 0x96, 0x2, 0xa1, 0x96, 0x0, 0xa2, 0x98 +db 0x4, 0xa4, 0x9d, 0x46, 0xba, 0xb4, 0xb8, 0xdf, 0xd8, 0xf2, 0xf6, 0xf3 +db 0xcc, 0xe8, 0xe3, 0x41, 0xb5, 0xaf, 0x0, 0x95, 0x90, 0x0, 0x92, 0x8e +db 0x0, 0x8e, 0x8b, 0x14, 0x9c, 0x9a, 0x9b, 0xd4, 0xd3, 0xfd, 0xfd, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0xfb, 0xa1, 0xd6, 0xdf +db 0x22, 0xa8, 0xbb, 0x1, 0x96, 0xaa, 0x1, 0x97, 0xa9, 0x0, 0x98, 0xaa +db 0x1d, 0xab, 0xb0, 0x91, 0xcd, 0xc8, 0xc4, 0xdd, 0xdf, 0x8b, 0xcd, 0xdc +db 0x4f, 0xba, 0xcb, 0x25, 0xaf, 0xbd, 0x8, 0xa6, 0xb7, 0x4, 0xa2, 0xb2 +db 0x2, 0x9f, 0xae, 0x1, 0x9e, 0xae, 0x1, 0x9e, 0xad, 0x2, 0x9d, 0xac +db 0x2, 0x9d, 0xad, 0x2, 0x9d, 0xad, 0x2, 0x9c, 0xad, 0x2, 0x9c, 0xad +db 0x2, 0x9a, 0xad, 0x2, 0x9a, 0xad, 0x2, 0x99, 0xac, 0x0, 0x98, 0xab +db 0x0, 0x9c, 0xa9, 0x5e, 0xbf, 0xbe, 0xf2, 0xf4, 0xec, 0xfa, 0xfa, 0xfa +db 0x8d, 0xd0, 0xdb, 0x15, 0xa8, 0xbb, 0x1, 0x99, 0xac, 0x2, 0x98, 0xab +db 0x0, 0x99, 0xac, 0x4, 0xa1, 0xab, 0x4c, 0xbb, 0xba, 0xbc, 0xe0, 0xd8 +db 0xf6, 0xfa, 0xf4, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd +db 0x9d, 0xd8, 0xdb, 0x19, 0xab, 0xb9, 0x0, 0xa1, 0xb0, 0x1, 0xa1, 0xb1 +db 0x0, 0xa1, 0xae, 0x3d, 0xb9, 0xb8, 0xd6, 0xed, 0xe6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xee, 0xf6, 0xf5, 0x65, 0xc1, 0xc8, 0x0, 0x9d, 0xae +db 0x2, 0xa0, 0xaf, 0x2, 0xa1, 0xb1, 0x2, 0xa1, 0xb1, 0x0, 0xa1, 0xb2 +db 0x0, 0xa2, 0xb0, 0xc, 0xac, 0xb1, 0x73, 0xc8, 0xc5, 0xde, 0xed, 0xe6 +db 0xfc, 0xfb, 0xf5, 0xa2, 0xd7, 0xd9, 0x1c, 0xac, 0xba, 0x0, 0xa2, 0xb2 +db 0x2, 0xa3, 0xb3, 0x0, 0xa2, 0xb2, 0xc, 0xa9, 0xb2, 0x72, 0xc6, 0xc2 +db 0xd3, 0xe9, 0xe0, 0xfa, 0xfc, 0xf9, 0xfe, 0xff, 0xfe, 0xf7, 0xfa, 0xf9 +db 0x8d, 0xd1, 0xd2, 0x0, 0xa2, 0xb2, 0x0, 0x9d, 0xae, 0x0, 0x9c, 0xac +db 0x0, 0x9e, 0xaf, 0x7e, 0xcc, 0xcd, 0xfa, 0xf9, 0xf7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0x9b, 0xd2, 0xd9, 0x10, 0xa6, 0xb5 +db 0x0, 0x9d, 0xac, 0x1, 0x9d, 0xad, 0x0, 0xa0, 0xad, 0x39, 0xb7, 0xb9 +db 0xd3, 0xe8, 0xe3, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xfa, 0xfc, 0xb6, 0xdf, 0xe7, 0x45, 0xb9, 0xc9, 0x2, 0xa3, 0xb4 +db 0x0, 0x9d, 0xaf, 0x2, 0x99, 0xad, 0x0, 0x93, 0xa9, 0x5, 0x9f, 0xac +db 0x9a, 0xd5, 0xd5, 0xf9, 0xfb, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd5, 0xec, 0xec, 0x38, 0xb2, 0xbc, 0x2, 0x98, 0xab +db 0x2, 0x9b, 0xab, 0x2, 0x9d, 0xad, 0x0, 0x9b, 0xab, 0x27, 0xac, 0xb6 +db 0xcb, 0xe8, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xec, 0xf5, 0xf3, 0x56, 0xbe, 0xc2, 0x0, 0x9a, 0xaa +db 0x2, 0x9c, 0xac, 0x1, 0x9c, 0xad, 0x2, 0x9e, 0xae, 0x51, 0xbc, 0xc4 +db 0xe3, 0xf2, 0xf0, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xf7, 0x8b, 0xd1, 0xcf +db 0x10, 0xa4, 0xae, 0x0, 0x99, 0xac, 0x2, 0x99, 0xac, 0x0, 0x98, 0xab +db 0x2, 0x9e, 0xaf, 0x79, 0xc8, 0xd0, 0xf1, 0xf9, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe6, 0xef, 0xea, 0x35, 0xaf, 0xb8, 0x0, 0x9c, 0xab +db 0x2, 0x9e, 0xad, 0x1, 0x9e, 0xad, 0x0, 0x9d, 0xae, 0x43, 0xb6, 0xbf +db 0xd8, 0xec, 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xe3, 0xe3 +db 0x29, 0xaf, 0xb8, 0x0, 0x9d, 0xad, 0x0, 0x9f, 0xb0, 0x0, 0x9e, 0xae +db 0x2c, 0xb1, 0xb6, 0xc5, 0xe3, 0xe0, 0xfc, 0xfe, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf9, 0xfa, 0xf9, 0x95, 0xd3, 0xdb, 0x16, 0xad, 0xbc +db 0x0, 0xa0, 0xb0, 0x2, 0x9e, 0xaf, 0x2, 0x9c, 0xad, 0x0, 0x99, 0xaa +db 0x14, 0xa3, 0xb2, 0x9f, 0xd8, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xc9, 0xe6, 0xe3, 0x29, 0xb0, 0xb7, 0x0, 0x9d, 0xad +db 0x2, 0x9d, 0xb0, 0x2, 0xa0, 0xb0, 0x2, 0xa0, 0xb1, 0x0, 0xa0, 0xb0 +db 0x20, 0xae, 0xb7, 0xbc, 0xe0, 0xde, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xf9, 0xfc, 0xfa, 0xa5, 0xd9, 0xd6, 0x13, 0xa5, 0xad, 0x0, 0x93, 0xa6 +db 0x0, 0x8e, 0xa6, 0x0, 0x8e, 0xa8, 0x43, 0xb2, 0xc5, 0xd2, 0xe9, 0xef +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0xae, 0xdb, 0xe5, 0x22, 0xa9, 0xce +db 0x0, 0x94, 0xc8, 0x2, 0x95, 0xc9, 0x0, 0x98, 0xc8, 0x18, 0xa9, 0xcd +db 0x9c, 0xd1, 0xdd, 0xbe, 0xd8, 0xe0, 0x4c, 0xb8, 0xd6, 0x4, 0xa3, 0xd1 +db 0x0, 0x9d, 0xcf, 0x0, 0x9d, 0xcc, 0x2, 0x9d, 0xcc, 0x2, 0x9d, 0xcc +db 0x2, 0x9e, 0xcc, 0x2, 0x9e, 0xcc, 0x2, 0x9d, 0xcc, 0x1, 0x9e, 0xcd +db 0x1, 0x9e, 0xcc, 0x2, 0x9f, 0xcd, 0x2, 0x9e, 0xcd, 0x2, 0x9e, 0xcc +db 0x2, 0x9d, 0xcc, 0x2, 0x9c, 0xcc, 0x0, 0x9b, 0xcc, 0xb, 0xa5, 0xcb +db 0x69, 0xc2, 0xd4, 0xea, 0xf0, 0xee, 0xfa, 0xfa, 0xf6, 0x8d, 0xce, 0xe1 +db 0xa, 0xa3, 0xce, 0x0, 0x98, 0xca, 0x2, 0x9a, 0xca, 0x0, 0x9a, 0xca +db 0x17, 0xa7, 0xcc, 0x84, 0xcd, 0xdb, 0xed, 0xf3, 0xf3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdd, 0xef, 0xf3 +db 0x4e, 0xbd, 0xd8, 0x2, 0xa1, 0xd0, 0x1, 0xa1, 0xcf, 0x0, 0x9f, 0xce +db 0x4, 0xa6, 0xcd, 0xb1, 0xdb, 0xe3, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xfe, 0xff, 0xfe, 0xd6, 0xeb, 0xef, 0x34, 0xb0, 0xd1, 0x0, 0x9d, 0xcc +db 0x2, 0xa0, 0xce, 0x2, 0xa1, 0xcf, 0x1, 0xa1, 0xcf, 0x0, 0xa2, 0xcf +db 0x28, 0xb1, 0xd3, 0x9e, 0xd5, 0xe2, 0xf5, 0xf8, 0xf8, 0xff, 0xff, 0xff +db 0xfd, 0xfb, 0xfb, 0x7c, 0xcd, 0xe1, 0xc, 0xa6, 0xd1, 0x0, 0xa1, 0xd1 +db 0x0, 0xa1, 0xd0, 0x0, 0xa2, 0xcf, 0x66, 0xc2, 0xd6, 0xef, 0xf4, 0xf2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xfa, 0xfb +db 0x8c, 0xcf, 0xe0, 0x0, 0xa1, 0xcb, 0x0, 0x9d, 0xcd, 0x0, 0x9d, 0xcc +db 0x0, 0x9f, 0xcb, 0x81, 0xcd, 0xdc, 0xfb, 0xfa, 0xf9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe5, 0xf0, 0xf3, 0x41, 0xb6, 0xd1, 0x2, 0x9d, 0xca +db 0x2, 0x9e, 0xcc, 0x0, 0x9f, 0xcb, 0x1a, 0xaa, 0xcc, 0xa6, 0xd7, 0xde +db 0xff, 0xff, 0xfb, 0xfe, 0xfe, 0xff, 0xee, 0xf3, 0xf5, 0xc0, 0xe0, 0xea +db 0x6a, 0xc4, 0xdd, 0x16, 0xab, 0xd4, 0x0, 0xa1, 0xd1, 0x1, 0x9d, 0xcf +db 0x2, 0x9a, 0xcd, 0x0, 0x97, 0xca, 0x2, 0x9d, 0xc9, 0x6f, 0xc4, 0xd9 +db 0xe6, 0xf2, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd6, 0xed, 0xee, 0x39, 0xb1, 0xd0, 0x2, 0x98, 0xc8 +db 0x2, 0x9b, 0xcb, 0x2, 0x9d, 0xcc, 0x1, 0x9b, 0xcb, 0x2a, 0xac, 0xcd +db 0xce, 0xe8, 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xee, 0xf5, 0xf7, 0x5b, 0xbe, 0xd5, 0x0, 0x9a, 0xc7 +db 0x2, 0x9b, 0xcb, 0x1, 0x9c, 0xcc, 0x2, 0x9c, 0xca, 0x4c, 0xba, 0xd4 +db 0xe1, 0xf0, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0xf2, 0xf3 +db 0x59, 0xc1, 0xd7, 0x0, 0x9e, 0xcb, 0x0, 0x9a, 0xcb, 0x2, 0x9b, 0xcc +db 0x0, 0x99, 0xca, 0xd, 0xa6, 0xce, 0xa5, 0xd7, 0xe3, 0xfa, 0xfc, 0xfb +db 0xff, 0xff, 0xff, 0xeb, 0xf1, 0xf0, 0x37, 0xb1, 0xcd, 0x0, 0x9c, 0xcb +db 0x2, 0x9f, 0xcc, 0x1, 0x9f, 0xcc, 0x0, 0x9d, 0xcc, 0x43, 0xb7, 0xd3 +db 0xd9, 0xed, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xe3, 0xea +db 0x2a, 0xaf, 0xcf, 0x0, 0x9e, 0xcc, 0x0, 0xa0, 0xcf, 0x0, 0x9e, 0xcd +db 0x44, 0xb8, 0xd2, 0xde, 0xed, 0xef, 0xff, 0xff, 0xfe, 0xff, 0xfd, 0xfd +db 0xd1, 0xe7, 0xed, 0x66, 0xc3, 0xdb, 0xd, 0xab, 0xd3, 0x0, 0xa3, 0xd0 +db 0x1, 0xa0, 0xcf, 0x2, 0xa0, 0xce, 0x2, 0x9d, 0xcd, 0x0, 0x99, 0xcb +db 0x14, 0xa3, 0xcb, 0x9f, 0xd7, 0xe3, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfc, 0x90, 0xcf, 0xe0, 0x12, 0xa5, 0xcd +db 0x0, 0x9c, 0xcd, 0x2, 0x9f, 0xce, 0x0, 0x9f, 0xcf, 0x0, 0x9e, 0xcd +db 0x4a, 0xb8, 0xd4, 0xe9, 0xf0, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf5, 0xf9, 0xf8, 0x96, 0xd3, 0xdf, 0x20, 0xa7, 0xca +db 0x0, 0x92, 0xc5, 0x0, 0x89, 0xc3, 0xc, 0x95, 0xc5, 0x88, 0xcc, 0xde +db 0xf6, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfe, 0xfd, 0xcb, 0xe4, 0xea, 0x3a, 0xb2, 0xcf, 0x0, 0x97, 0xc9 +db 0x1, 0x95, 0xcd, 0x0, 0x95, 0xcd, 0xd, 0xa2, 0xd1, 0x8f, 0xcf, 0xe2 +db 0xe5, 0xe7, 0xea, 0x6c, 0xc3, 0xdc, 0x3, 0xa1, 0xd2, 0x0, 0x9b, 0xd2 +db 0x2, 0x9c, 0xd3, 0x2, 0x9c, 0xd3, 0x2, 0x9d, 0xd3, 0x1, 0x9c, 0xd3 +db 0x1, 0x9e, 0xd3, 0x4, 0xa2, 0xd3, 0x6, 0xa5, 0xd2, 0xb, 0xa8, 0xd0 +db 0x9, 0xa4, 0xd0, 0x1, 0xa1, 0xd2, 0x2, 0xa0, 0xd3, 0x2, 0x9f, 0xd4 +db 0x2, 0x9e, 0xd3, 0x0, 0x9d, 0xd3, 0x18, 0xaa, 0xd6, 0x98, 0xd2, 0xe3 +db 0xfa, 0xf7, 0xf9, 0xff, 0xfe, 0xfb, 0xa6, 0xd6, 0xe3, 0x10, 0xa7, 0xd0 +db 0x0, 0x99, 0xcf, 0x2, 0x98, 0xd1, 0x1, 0x9b, 0xd1, 0x29, 0xae, 0xd4 +db 0xa4, 0xd8, 0xe6, 0xff, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0x99, 0xd5, 0xe3 +db 0x1a, 0xab, 0xd5, 0x0, 0xa1, 0xd4, 0x1, 0xa2, 0xd5, 0x0, 0x9f, 0xd3 +db 0x53, 0xbc, 0xda, 0xee, 0xf5, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xfd, 0xfd, 0xb5, 0xde, 0xe8, 0xe, 0xa6, 0xd2, 0x0, 0x9d, 0xd3 +db 0x2, 0xa0, 0xd4, 0x1, 0xa0, 0xd5, 0x0, 0xa2, 0xd5, 0x32, 0xb4, 0xd9 +db 0xba, 0xe1, 0xec, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe9, 0xf2, 0xf5, 0x57, 0xbe, 0xdc, 0x5, 0xa2, 0xd5, 0x1, 0xa0, 0xd6 +db 0x0, 0x9e, 0xd6, 0xb, 0xa7, 0xd3, 0xaa, 0xdc, 0xe9, 0xff, 0xfd, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xfa, 0xfb +db 0x8c, 0xcf, 0xe1, 0x0, 0xa1, 0xd1, 0x0, 0x9d, 0xd4, 0x0, 0x9d, 0xd2 +db 0x0, 0xa0, 0xd0, 0x82, 0xcd, 0xde, 0xfc, 0xfa, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xfe, 0xa7, 0xd7, 0xe1, 0x12, 0xa6, 0xd1, 0x0, 0x9e, 0xd1 +db 0x0, 0xa0, 0xd2, 0x1, 0xa3, 0xd1, 0x47, 0xb4, 0xd2, 0xbf, 0xd6, 0xde +db 0xc8, 0xe1, 0xe6, 0x8e, 0xcd, 0xdf, 0x47, 0xb7, 0xd5, 0x10, 0xaa, 0xd3 +db 0x0, 0xa1, 0xd4, 0x0, 0x9f, 0xd4, 0x2, 0x9d, 0xd5, 0x2, 0x9b, 0xd5 +db 0x1, 0x9b, 0xd1, 0xa, 0xa2, 0xd0, 0x72, 0xc7, 0xdf, 0xe5, 0xf2, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xdb, 0xed, 0xf0, 0x3d, 0xb3, 0xd3, 0x2, 0x99, 0xcf +db 0x1, 0x9c, 0xd2, 0x2, 0x9e, 0xd2, 0x1, 0x9c, 0xd1, 0x29, 0xae, 0xd1 +db 0xcd, 0xe7, 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xef, 0xf5, 0xf5, 0x5c, 0xbe, 0xd5, 0x0, 0x98, 0xce +db 0x2, 0x9a, 0xd2, 0x1, 0x9b, 0xd2, 0x2, 0x9b, 0xd0, 0x4c, 0xb9, 0xd8 +db 0xe1, 0xf0, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xcb, 0xe7, 0xf0, 0x39, 0xb5, 0xd8, 0x1, 0x9d, 0xd1, 0x1, 0x9c, 0xd2 +db 0x1, 0x9b, 0xd2, 0x0, 0x9d, 0xd0, 0x1c, 0xac, 0xd1, 0xc9, 0xe4, 0xe9 +db 0xfe, 0xff, 0xff, 0xed, 0xf1, 0xf0, 0x39, 0xb2, 0xd3, 0x0, 0x9f, 0xd1 +db 0x2, 0xa1, 0xd2, 0x1, 0x9f, 0xd2, 0x0, 0xa0, 0xd2, 0x45, 0xb9, 0xd7 +db 0xda, 0xed, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc2, 0xe3, 0xeb +db 0x2b, 0xaf, 0xd3, 0x0, 0x9e, 0xd2, 0x0, 0xa0, 0xd5, 0x0, 0xa1, 0xd4 +db 0x39, 0xb5, 0xd6, 0xc8, 0xe1, 0xe4, 0xe2, 0xec, 0xee, 0x95, 0xd2, 0xe0 +db 0x2d, 0xb3, 0xd5, 0x0, 0xa5, 0xd4, 0x0, 0xa4, 0xd5, 0x2, 0xa3, 0xd6 +db 0x2, 0xa1, 0xd5, 0x2, 0xa0, 0xd4, 0x1, 0x9d, 0xd4, 0x1, 0x9b, 0xd0 +db 0x42, 0xb6, 0xd7, 0xd6, 0xeb, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0xf0, 0xf3, 0x4e, 0xba, 0xda +db 0x3, 0x9d, 0xd2, 0x1, 0x9c, 0xd3, 0x0, 0x9c, 0xd4, 0x0, 0x9c, 0xd3 +db 0x4e, 0xba, 0xd9, 0xea, 0xf2, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfd, 0xc5, 0xe1, 0xeb +db 0x6b, 0xbe, 0xd9, 0x2c, 0xa9, 0xd0, 0x2f, 0xa9, 0xce, 0x97, 0xce, 0xdf +db 0xf4, 0xf7, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfb +db 0xc8, 0xe4, 0xe8, 0x47, 0xb3, 0xd2, 0x0, 0x95, 0xc9, 0x0, 0x94, 0xcb +db 0x0, 0x96, 0xcd, 0x6, 0x9f, 0xcd, 0x77, 0xc7, 0xdc, 0xfb, 0xf5, 0xf2 +db 0xc8, 0xe1, 0xe7, 0x2d, 0xac, 0xd2, 0x1, 0x99, 0xd0, 0x1, 0x9a, 0xd1 +db 0x5, 0x9d, 0xd0, 0xc, 0xa1, 0xd0, 0x12, 0xa4, 0xcf, 0x1b, 0xab, 0xd2 +db 0x3a, 0xb5, 0xd5, 0x6e, 0xc3, 0xd9, 0x9c, 0xce, 0xdb, 0x95, 0xc7, 0xd4 +db 0x3d, 0xaf, 0xca, 0x0, 0xa2, 0xce, 0x0, 0xa1, 0xd2, 0x2, 0xa0, 0xd2 +db 0x0, 0xa0, 0xd1, 0x1e, 0xae, 0xd4, 0xab, 0xd9, 0xe5, 0xfe, 0xfe, 0xfd +db 0xfe, 0xff, 0xff, 0xc9, 0xe5, 0xea, 0x2e, 0xb0, 0xd1, 0x0, 0x9b, 0xcd +db 0x1, 0x9a, 0xcf, 0x0, 0x9b, 0xd0, 0x15, 0xa6, 0xd0, 0x9d, 0xd5, 0xe2 +db 0xff, 0xfe, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xec, 0xef, 0x45, 0xb9, 0xd7 +db 0x0, 0xa1, 0xd1, 0x1, 0xa0, 0xd3, 0x0, 0xa0, 0xd3, 0x3, 0xa7, 0xcf +db 0xaf, 0xd9, 0xe2, 0xfa, 0xfc, 0xfc, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff +db 0xf7, 0xfa, 0xf9, 0x81, 0xca, 0xda, 0x0, 0x9f, 0xd0, 0x0, 0x9f, 0xd2 +db 0x2, 0xa0, 0xd2, 0x0, 0x9f, 0xd2, 0x14, 0xa9, 0xd3, 0x9c, 0xd7, 0xe5 +db 0xff, 0xfd, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xcf, 0xe9, 0xed, 0x38, 0xb5, 0xd5, 0x1, 0xa0, 0xd2, 0x1, 0xa1, 0xd4 +db 0x0, 0x9e, 0xd2, 0x32, 0xb1, 0xd3, 0xd3, 0xea, 0xee, 0xff, 0xff, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xfa, 0xfa +db 0x8c, 0xcf, 0xde, 0x0, 0xa1, 0xcf, 0x0, 0x9e, 0xd1, 0x0, 0x9e, 0xd1 +db 0x0, 0xa0, 0xcf, 0x84, 0xcf, 0xde, 0xfd, 0xfb, 0xf9, 0xff, 0xff, 0xff +db 0xf6, 0xf8, 0xf4, 0x62, 0xc0, 0xd5, 0x6, 0xa1, 0xce, 0x0, 0x9f, 0xd1 +db 0x0, 0xa1, 0xd0, 0x5, 0xa3, 0xce, 0x29, 0xab, 0xca, 0x3e, 0xb2, 0xce +db 0x16, 0xa9, 0xd1, 0x0, 0xa1, 0xd0, 0x0, 0xa0, 0xd1, 0x0, 0x9f, 0xd3 +db 0x0, 0x9f, 0xd3, 0x0, 0x9e, 0xd3, 0x4, 0xa0, 0xd2, 0x12, 0xa7, 0xd2 +db 0x4b, 0xba, 0xd7, 0xad, 0xd9, 0xe5, 0xf4, 0xf8, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf0, 0xf5, 0xf5, 0x62, 0xc1, 0xd8, 0x6, 0x9f, 0xce +db 0x0, 0x9d, 0xd0, 0x2, 0x9e, 0xd0, 0x0, 0x9d, 0xd0, 0x14, 0xa8, 0xcf +db 0xb1, 0xdd, 0xe5, 0xff, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xed, 0xf5, 0xf4, 0x59, 0xbd, 0xd4, 0x0, 0x99, 0xcb +db 0x2, 0x9a, 0xcf, 0x1, 0x9b, 0xd0, 0x1, 0x9b, 0xcd, 0x49, 0xb8, 0xd4 +db 0xe0, 0xf1, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfc, 0xad, 0xdd, 0xe6, 0x2b, 0xb1, 0xd4, 0x1, 0x9e, 0xd1 +db 0x2, 0x9e, 0xd1, 0x0, 0x9f, 0xd0, 0x0, 0x9e, 0xcd, 0x4d, 0xb9, 0xd6 +db 0xe6, 0xef, 0xee, 0xe9, 0xee, 0xe9, 0x3d, 0xb3, 0xd2, 0x0, 0x9d, 0xcf +db 0x2, 0xa0, 0xd0, 0x1, 0xa1, 0xd1, 0x0, 0xa0, 0xd0, 0x46, 0xb9, 0xd5 +db 0xdd, 0xed, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xd2, 0xe9, 0xee +db 0x3f, 0xb7, 0xd4, 0x0, 0xa0, 0xd0, 0x0, 0xa1, 0xd3, 0x0, 0xa2, 0xd3 +db 0x17, 0xab, 0xd1, 0x4e, 0xb7, 0xd2, 0x38, 0xb2, 0xd3, 0x3, 0xa7, 0xd2 +db 0x0, 0xa4, 0xd3, 0x1, 0xa5, 0xd4, 0x2, 0xa4, 0xd4, 0x2, 0xa2, 0xd4 +db 0x2, 0xa1, 0xd3, 0x0, 0xa0, 0xd2, 0x5, 0xa4, 0xd2, 0x3c, 0xb7, 0xd7 +db 0xc4, 0xe2, 0xeb, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbd, 0xde, 0xe8 +db 0x22, 0xac, 0xd2, 0x0, 0x9a, 0xd1, 0x2, 0x9c, 0xd1, 0x0, 0x9c, 0xd0 +db 0x1c, 0xa9, 0xd3, 0xb8, 0xde, 0xe6, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfb, 0xfa, 0xe2, 0xee, 0xf0, 0xdc, 0xeb, 0xee, 0xf2, 0xf5, 0xf7 +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfd, 0xd4, 0xe8, 0xef +db 0x4d, 0xb3, 0xd8, 0x0, 0x94, 0xd0, 0x0, 0x93, 0xd4, 0x0, 0x94, 0xd5 +db 0x1, 0x97, 0xd0, 0x55, 0xb9, 0xd7, 0xe3, 0xef, 0xf2, 0xff, 0xff, 0xff +db 0xd3, 0xe7, 0xeb, 0x54, 0xb7, 0xd3, 0x1a, 0xa5, 0xce, 0x2d, 0xad, 0xd1 +db 0x50, 0xbb, 0xd5, 0x7f, 0xc7, 0xdb, 0x9b, 0xd1, 0xde, 0xbf, 0xdd, 0xe4 +db 0xe8, 0xed, 0xed, 0xff, 0xfa, 0xf5, 0xfb, 0xf4, 0xf2, 0x90, 0xcd, 0xe4 +db 0x1a, 0xaa, 0xda, 0x0, 0xa1, 0xda, 0x2, 0xa1, 0xdb, 0x0, 0xa0, 0xda +db 0x14, 0xac, 0xd8, 0xa5, 0xd5, 0xe4, 0xfd, 0xfc, 0xfa, 0xff, 0xff, 0xff +db 0xda, 0xeb, 0xf2, 0x47, 0xb6, 0xdd, 0x0, 0x9f, 0xd8, 0x0, 0x9d, 0xd9 +db 0x2, 0x9b, 0xd9, 0x5, 0x9f, 0xd6, 0x4f, 0xbc, 0xd8, 0xe5, 0xf2, 0xf1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe +db 0xfe, 0xfc, 0xfd, 0xfb, 0xf9, 0xf9, 0x97, 0xd2, 0xe4, 0x15, 0xa7, 0xd9 +db 0x0, 0x9e, 0xda, 0x1, 0xa1, 0xdb, 0x0, 0xa1, 0xdb, 0x29, 0xa4, 0xcf +db 0x9c, 0xb2, 0xd2, 0xcf, 0xcd, 0xe4, 0xea, 0xe4, 0xf4, 0xfd, 0xfb, 0xfd +db 0xeb, 0xf3, 0xf4, 0x4c, 0xb9, 0xd9, 0x0, 0x9d, 0xd8, 0x0, 0xa0, 0xdb +db 0x1, 0xa0, 0xdb, 0x1, 0xa0, 0xd9, 0x51, 0xbb, 0xdb, 0xe4, 0xef, 0xf1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe +db 0xb0, 0xdc, 0xe9, 0x1c, 0xaa, 0xd9, 0x0, 0x9e, 0xdb, 0x2, 0xa0, 0xdc +db 0x0, 0x9f, 0xda, 0x50, 0xbc, 0xdb, 0xe9, 0xf4, 0xf4, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xfa, 0xfa +db 0x8a, 0xcf, 0xe1, 0x0, 0xa1, 0xd8, 0x0, 0x9e, 0xda, 0x0, 0x9e, 0xdb +db 0x0, 0xa1, 0xd7, 0x89, 0xcf, 0xe0, 0xfd, 0xfb, 0xf8, 0xff, 0xff, 0xff +db 0xc9, 0xe4, 0xeb, 0x2d, 0xb0, 0xd9, 0x0, 0xa0, 0xd8, 0x1, 0xa1, 0xda +db 0x2, 0xa2, 0xda, 0x1, 0xa3, 0xd9, 0x0, 0xa2, 0xd9, 0x0, 0xa1, 0xd9 +db 0x0, 0xa0, 0xdb, 0x0, 0xa0, 0xdc, 0x1, 0xa1, 0xdc, 0x3, 0xa0, 0xd9 +db 0xa, 0xa4, 0xd4, 0x20, 0xab, 0xd1, 0x54, 0xbb, 0xd7, 0xac, 0xd7, 0xe4 +db 0xf5, 0xf2, 0xf4, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x9c, 0xd6, 0xe3, 0x16, 0xa8, 0xd5 +db 0x0, 0x9e, 0xd9, 0x2, 0xa0, 0xda, 0x2, 0x9f, 0xda, 0x5, 0xa4, 0xd8 +db 0x6d, 0xc0, 0xda, 0xe2, 0xe1, 0xea, 0xf1, 0xeb, 0xf5, 0xec, 0xe9, 0xf4 +db 0xea, 0xe8, 0xf2, 0xec, 0xec, 0xf5, 0xf3, 0xf4, 0xf9, 0xf8, 0xf8, 0xfb +db 0xfc, 0xfb, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xfe, 0xd8, 0xeb, 0xef, 0x3a, 0xb0, 0xd8, 0x0, 0x98, 0xd7 +db 0x2, 0x9b, 0xd9, 0x1, 0x9b, 0xd9, 0x4, 0x9d, 0xd6, 0x56, 0xbc, 0xd9 +db 0xe6, 0xf2, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfa, 0x9e, 0xd8, 0xe5, 0x21, 0xae, 0xd8 +db 0x0, 0xa0, 0xd9, 0x2, 0xa0, 0xdb, 0x0, 0x9f, 0xda, 0x0, 0xa4, 0xda +db 0x78, 0xc6, 0xdf, 0xc5, 0xd8, 0xdf, 0x3e, 0xb3, 0xd7, 0x0, 0x9f, 0xd9 +db 0x2, 0xa1, 0xda, 0x1, 0xa0, 0xdb, 0x0, 0xa1, 0xd8, 0x47, 0xba, 0xdb +db 0xde, 0xed, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xf6, 0xf4 +db 0x65, 0xc3, 0xdd, 0x4, 0xa2, 0xd9, 0x0, 0xa1, 0xdc, 0x2, 0xa5, 0xdc +db 0x0, 0xa6, 0xdc, 0x0, 0xa6, 0xda, 0x0, 0xa4, 0xdb, 0x0, 0xa6, 0xdc +db 0x2, 0xa6, 0xdc, 0x2, 0xa4, 0xdd, 0x1, 0xa4, 0xdb, 0x0, 0xa3, 0xdb +db 0x2, 0xa2, 0xda, 0x14, 0xa9, 0xd6, 0x61, 0xc2, 0xda, 0xd8, 0xe9, 0xed +db 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf8 +db 0x80, 0xc9, 0xdd, 0xc, 0xa0, 0xd4, 0x0, 0x9a, 0xd9, 0x0, 0x9b, 0xd8 +db 0x1, 0x9d, 0xd7, 0x51, 0xba, 0xdd, 0xe4, 0xee, 0xf5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xf1, 0xf7, 0x77, 0xc2, 0xec +db 0x5, 0x96, 0xeb, 0x0, 0x91, 0xee, 0x1, 0x94, 0xf0, 0x0, 0x93, 0xf1 +db 0x1b, 0xa2, 0xe9, 0xae, 0xd9, 0xec, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xfb, 0xfb, 0xd9, 0xe7, 0xea, 0xb2, 0xd8, 0xe1, 0xd0, 0xe3, 0xe7 +db 0xf6, 0xf4, 0xf1, 0xff, 0xfc, 0xf9, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf8, 0xf9, 0xff, 0xa6, 0xd8, 0xfa, 0x20, 0xad, 0xf6 +db 0x0, 0x9f, 0xf6, 0x1, 0xa1, 0xf7, 0x0, 0xa0, 0xf6, 0x9, 0xa6, 0xf1 +db 0x81, 0xca, 0xec, 0xf6, 0xfa, 0xf8, 0xff, 0xff, 0xff, 0xf9, 0xf8, 0xfa +db 0x7a, 0xc5, 0xef, 0x1, 0x9f, 0xf2, 0x0, 0x9c, 0xf5, 0x2, 0x9d, 0xf4 +db 0x0, 0x9c, 0xf3, 0x24, 0xab, 0xec, 0xb4, 0xdb, 0xec, 0xff, 0xff, 0xfb +db 0xfd, 0xfb, 0xfd, 0xf6, 0xf3, 0xf9, 0xed, 0xea, 0xf4, 0xde, 0xd7, 0xea +db 0xd2, 0xc7, 0xe0, 0xba, 0xc3, 0xde, 0x4c, 0xb3, 0xe8, 0x1, 0xa3, 0xf2 +db 0x0, 0xa0, 0xf5, 0x2, 0xa2, 0xf7, 0x0, 0xa4, 0xf4, 0x1c, 0x89, 0xcd +db 0x29, 0x53, 0xaa, 0x33, 0x45, 0xa7, 0x82, 0x80, 0xc1, 0xf1, 0xe4, 0xef +db 0xdd, 0xeb, 0xf4, 0x2c, 0xb0, 0xee, 0x0, 0x9d, 0xf6, 0x1, 0xa0, 0xf5 +db 0x0, 0x9f, 0xf5, 0xf, 0xa7, 0xf1, 0x86, 0xcf, 0xef, 0xff, 0xfc, 0xfa +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfb +db 0x91, 0xd3, 0xef, 0x10, 0xa5, 0xf0, 0x0, 0x9e, 0xf6, 0x0, 0x9f, 0xf8 +db 0x0, 0x9f, 0xf2, 0x73, 0xc8, 0xee, 0xf4, 0xf8, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf8, 0xfb +db 0x74, 0xc8, 0xf0, 0x0, 0xa2, 0xf3, 0x0, 0x9f, 0xf6, 0x0, 0x9f, 0xf6 +db 0x5, 0xa3, 0xf1, 0x8d, 0xd0, 0xee, 0xfe, 0xfb, 0xfb, 0xff, 0xff, 0xfe +db 0x92, 0xd1, 0xef, 0x10, 0xa7, 0xf0, 0x0, 0xa0, 0xf6, 0x2, 0xa2, 0xf5 +db 0x2, 0xa3, 0xf5, 0x2, 0xa2, 0xf5, 0x2, 0xa2, 0xf6, 0x1, 0xa1, 0xf7 +db 0x0, 0xa2, 0xf6, 0x2, 0xa3, 0xf5, 0x10, 0xa7, 0xf1, 0x35, 0xb2, 0xea +db 0x75, 0xc7, 0xe4, 0xbb, 0xde, 0xe6, 0xf6, 0xf3, 0xf2, 0xff, 0xff, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xed, 0xf2, 0x43, 0xb7, 0xe8 +db 0x2, 0xa0, 0xf2, 0x1, 0xa0, 0xf6, 0x2, 0xa1, 0xf6, 0x0, 0xa4, 0xf5 +db 0x14, 0xa3, 0xea, 0x5d, 0x96, 0xcf, 0x78, 0x84, 0xbf, 0x6c, 0x76, 0xbb +db 0x66, 0x72, 0xbb, 0x73, 0x80, 0xbf, 0x95, 0x9d, 0xcc, 0xaa, 0xaf, 0xd7 +db 0xbf, 0xc3, 0xe0, 0xe1, 0xe1, 0xef, 0xf3, 0xf2, 0xf8, 0xfa, 0xf8, 0xfa +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xfa, 0xfb, 0x94, 0xcf, 0xf1, 0x5, 0xa0, 0xef, 0x0, 0x99, 0xf3 +db 0x2, 0x9c, 0xf3, 0x0, 0x9a, 0xf4, 0xa, 0xa0, 0xed, 0x77, 0xc7, 0xe9 +db 0xf7, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf9, 0x7d, 0xce, 0xed +db 0x10, 0xaa, 0xf0, 0x0, 0xa2, 0xf5, 0x2, 0xa3, 0xf6, 0x0, 0xa3, 0xf5 +db 0x1c, 0xac, 0xf1, 0x6f, 0xba, 0xe5, 0x2b, 0xae, 0xea, 0x0, 0xa3, 0xf7 +db 0x2, 0xa2, 0xf6, 0x1, 0xa1, 0xf6, 0x0, 0xa1, 0xf2, 0x4a, 0xbc, 0xed +db 0xe0, 0xef, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfa +db 0x92, 0xd4, 0xee, 0x15, 0xaa, 0xf0, 0x0, 0xa2, 0xf7, 0x2, 0xa5, 0xf7 +db 0x2, 0xa5, 0xf7, 0x2, 0xa7, 0xf7, 0x2, 0xa6, 0xf7, 0x2, 0xa6, 0xf7 +db 0x1, 0xa6, 0xf7, 0x0, 0xa5, 0xf7, 0x3, 0xa6, 0xf5, 0x12, 0xaa, 0xf2 +db 0x3f, 0xb5, 0xea, 0x9b, 0xd4, 0xe9, 0xf6, 0xf5, 0xf4, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xdd, 0xea, 0xf1, 0x3e, 0xb3, 0xe9, 0x1, 0x9b, 0xf2, 0x2, 0x99, 0xf4 +db 0x0, 0x98, 0xf2, 0xc, 0x9f, 0xef, 0x89, 0xcb, 0xf1, 0xfa, 0xfa, 0xfb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xfb, 0xfa, 0xa7, 0xd4, 0xf0, 0x1c, 0x9f, 0xf5 +db 0x0, 0x8f, 0xff, 0x1, 0x93, 0xff, 0x1, 0x95, 0xff, 0x2, 0x97, 0xff +db 0x5a, 0xb9, 0xf5, 0xec, 0xf1, 0xf9, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xeb, 0xf3, 0xfb, 0x98, 0xd3, 0xfb, 0x1c, 0xaa, 0xff, 0x0, 0x9d, 0xff +db 0x0, 0xa0, 0xff, 0x0, 0xa0, 0xff, 0xb, 0xa8, 0xff, 0x6e, 0xc8, 0xfe +db 0xed, 0xf5, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdd, 0xeb, 0xf7 +db 0x3b, 0xb1, 0xf9, 0x2, 0x9d, 0xff, 0x2, 0x9f, 0xff, 0x1, 0x9e, 0xff +db 0x3, 0x9e, 0xff, 0x56, 0xb1, 0xf1, 0xe4, 0xdc, 0xe9, 0xf5, 0xe9, 0xee +db 0xd6, 0xcc, 0xe4, 0xb1, 0xa8, 0xd3, 0x91, 0x8c, 0xc6, 0x76, 0x74, 0xbb +db 0x67, 0x63, 0xaf, 0x4d, 0x7c, 0xc4, 0x16, 0x9c, 0xf0, 0x0, 0xa3, 0xff +db 0x1, 0xa1, 0xff, 0x1, 0xa4, 0xff, 0x5, 0xa4, 0xfc, 0x35, 0x82, 0xcf +db 0x3b, 0x57, 0xad, 0x47, 0x59, 0xb1, 0x84, 0x86, 0xc3, 0xe8, 0xd7, 0xe6 +db 0xba, 0xdc, 0xf4, 0xa, 0xa8, 0xff, 0x0, 0x9f, 0xff, 0x1, 0xa1, 0xff +db 0x0, 0xa0, 0xff, 0x3a, 0xb6, 0xfe, 0xcd, 0xe8, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf7, 0xfa +db 0x74, 0xc6, 0xf8, 0xa, 0xa1, 0xff, 0x0, 0x9e, 0xff, 0x0, 0x9e, 0xff +db 0x7, 0xa3, 0xff, 0x93, 0xce, 0xf7, 0xfa, 0xf9, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xe6, 0xf2, 0xf8 +db 0x51, 0xba, 0xf9, 0x0, 0xa2, 0xff, 0x1, 0xa1, 0xff, 0x0, 0xa0, 0xff +db 0x7, 0xa5, 0xff, 0x93, 0xd2, 0xfb, 0xff, 0xfe, 0xfc, 0xff, 0xfe, 0xfb +db 0x71, 0xc6, 0xf8, 0x8, 0xa4, 0xff, 0x0, 0xa3, 0xff, 0x2, 0xa4, 0xff +db 0x2, 0xa3, 0xff, 0x2, 0xa3, 0xff, 0x0, 0xa3, 0xff, 0x3, 0xa4, 0xff +db 0x15, 0xa9, 0xff, 0x42, 0xb6, 0xff, 0x89, 0xcd, 0xfc, 0xd5, 0xe7, 0xf9 +db 0xff, 0xfd, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xdb, 0xea, 0x50, 0xa4, 0xe0 +db 0x3, 0x9c, 0xf8, 0x1, 0xa3, 0xff, 0x2, 0xa3, 0xff, 0x1, 0xa4, 0xff +db 0x0, 0xa1, 0xff, 0x0, 0x88, 0xe3, 0x0, 0x5b, 0xb8, 0x15, 0x45, 0xa6 +db 0x42, 0x55, 0xad, 0x4f, 0x62, 0xb2, 0x43, 0x5a, 0xaf, 0x2d, 0x4c, 0xa9 +db 0x37, 0x50, 0xaa, 0x56, 0x69, 0xb7, 0x7d, 0x89, 0xc7, 0xa8, 0xab, 0xd5 +db 0xcf, 0xcb, 0xe4, 0xeb, 0xe8, 0xf3, 0xfe, 0xfa, 0xfc, 0xff, 0xfe, 0xfc +db 0xc7, 0xe4, 0xf6, 0x32, 0xae, 0xf8, 0x0, 0x99, 0xff, 0x0, 0x9b, 0xff +db 0x2, 0x9c, 0xff, 0x0, 0x9a, 0xff, 0x12, 0xa5, 0xfe, 0x99, 0xd4, 0xf8 +db 0xff, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xf7, 0xfe +db 0x66, 0xcc, 0xff, 0xe, 0xad, 0xff, 0x2, 0xa6, 0xff, 0x1, 0xa6, 0xff +db 0x0, 0xa6, 0xff, 0x10, 0xa8, 0xfa, 0xc, 0xa9, 0xfd, 0x0, 0xa6, 0xff +db 0x2, 0xa4, 0xff, 0x0, 0xa2, 0xff, 0x6, 0xa4, 0xff, 0x64, 0xc3, 0xfc +db 0xee, 0xf5, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xdc, 0xf0, 0xfe, 0x55, 0xc2, 0xfe, 0x4, 0xa8, 0xff, 0x0, 0xa5, 0xff +db 0x2, 0xa7, 0xff, 0x2, 0xa7, 0xff, 0x2, 0xa7, 0xff, 0x1, 0xa7, 0xff +db 0x2, 0xa8, 0xff, 0x16, 0xad, 0xff, 0x4b, 0xbd, 0xff, 0x97, 0xd2, 0xfc +db 0xe4, 0xea, 0xf7, 0xff, 0xfe, 0xfd, 0xff, 0xfe, 0xff, 0xfe, 0xfd, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfd, 0xfe, 0xa5, 0xd5, 0xf7, 0x13, 0xa4, 0xfd, 0x0, 0x99, 0xff +db 0x1, 0x97, 0xff, 0x0, 0x95, 0xff, 0x24, 0xa5, 0xfa, 0xb3, 0xda, 0xf5 +db 0xfe, 0xfd, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xfe, 0xe2, 0xed, 0xf4, 0x59, 0xb3, 0xee, 0x0, 0x8e, 0xfb +db 0x0, 0x91, 0xff, 0x2, 0x94, 0xff, 0x0, 0x93, 0xff, 0x16, 0x9e, 0xfa +db 0xa5, 0xd1, 0xf3, 0xfb, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf6, 0xf8, 0xfc, 0xce, 0xe5, 0xf9 +db 0x6f, 0xc2, 0xf8, 0x13, 0xa4, 0xfd, 0x0, 0x9d, 0xff, 0x0, 0xa0, 0xff +db 0x0, 0xa4, 0xff, 0x15, 0xad, 0xff, 0x76, 0xcb, 0xfd, 0xee, 0xf6, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xbb, 0xdd, 0xf5 +db 0x19, 0xa9, 0xfd, 0x0, 0x9c, 0xff, 0x2, 0x9d, 0xff, 0x0, 0x9e, 0xff +db 0x10, 0x9f, 0xf7, 0x73, 0xa5, 0xda, 0xc8, 0xb1, 0xd1, 0xca, 0xb7, 0xd6 +db 0xae, 0xa5, 0xd0, 0x90, 0x8c, 0xc7, 0x94, 0x93, 0xc9, 0xb1, 0xa9, 0xd3 +db 0xbd, 0xb0, 0xd2, 0x6e, 0xa7, 0xdf, 0xf, 0xa1, 0xf8, 0x0, 0xa0, 0xff +db 0x2, 0xa0, 0xff, 0x0, 0xa0, 0xff, 0x31, 0xac, 0xf6, 0xa6, 0xc0, 0xe5 +db 0xdd, 0xd7, 0xe9, 0xf7, 0xec, 0xf4, 0xff, 0xfa, 0xfb, 0xfc, 0xfb, 0xf9 +db 0x88, 0xc9, 0xf6, 0x0, 0xa1, 0xff, 0x0, 0x9f, 0xff, 0x1, 0xa0, 0xff +db 0x6, 0xa3, 0xfd, 0x61, 0xbf, 0xf6, 0xe9, 0xeb, 0xf4, 0xfa, 0xf8, 0xfa +db 0xfa, 0xf9, 0xfb, 0xfe, 0xfd, 0xfe, 0xff, 0xff, 0xfe, 0xe4, 0xf2, 0xf9 +db 0x4f, 0xba, 0xf9, 0x2, 0x9e, 0xfe, 0x1, 0xa0, 0xff, 0x0, 0xa1, 0xff +db 0x10, 0xa5, 0xfa, 0x77, 0xaf, 0xe0, 0xce, 0xca, 0xe0, 0xf8, 0xf2, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf8, 0xf3, 0xf6, 0xc7, 0xd6, 0xeb +db 0x3a, 0xb0, 0xf7, 0x0, 0xa2, 0xff, 0x1, 0xa2, 0xff, 0x0, 0xa3, 0xff +db 0x8, 0xa6, 0xfe, 0x8d, 0xca, 0xf4, 0xfa, 0xf4, 0xf3, 0xf0, 0xeb, 0xf1 +db 0x61, 0xbb, 0xf4, 0x6, 0xa5, 0xfe, 0x0, 0xa4, 0xff, 0x2, 0xa4, 0xff +db 0x2, 0xa4, 0xff, 0x1, 0xa4, 0xff, 0xf, 0xa9, 0xfe, 0x47, 0xb6, 0xfc +db 0x94, 0xcf, 0xf9, 0xdf, 0xec, 0xf8, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xfd, 0xfe, 0xfb, 0xf7, 0xfb, 0xfa, 0xf5, 0xf9, 0xfa, 0xf4, 0xf9 +db 0xfb, 0xf5, 0xf9, 0xfc, 0xfa, 0xfa, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc +db 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf4, 0xf0, 0xf6, 0x81, 0x87, 0xc4, 0x1a, 0x59, 0xb2 +db 0x1, 0x89, 0xe5, 0x1, 0xa7, 0xff, 0x2, 0xa6, 0xff, 0x2, 0xa4, 0xff +db 0x1, 0xa4, 0xff, 0x0, 0xa2, 0xff, 0x6, 0x98, 0xf0, 0x54, 0xa3, 0xe0 +db 0xcf, 0xcf, 0xe6, 0xf3, 0xe4, 0xec, 0xd4, 0xce, 0xe4, 0xb2, 0xb1, 0xd7 +db 0x85, 0x8f, 0xc7, 0x3f, 0x58, 0xaf, 0x8, 0x2e, 0x9c, 0xb, 0x26, 0x9a +db 0x30, 0x3d, 0xa3, 0x77, 0x79, 0xbc, 0xce, 0xc3, 0xdd, 0xd3, 0xe2, 0xf1 +db 0x5d, 0xbc, 0xf9, 0x0, 0x9d, 0xff, 0x0, 0x9b, 0xff, 0x2, 0x9c, 0xff +db 0x2, 0x9d, 0xff, 0x0, 0x9c, 0xff, 0x23, 0xaf, 0xfc, 0xbe, 0xe4, 0xf9 +db 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xfb, 0xee, 0xec, 0xf5, 0xfb, 0xf7, 0xf9 +db 0xe7, 0xf0, 0xfa, 0x5f, 0xc8, 0xfc, 0xa, 0xad, 0xff, 0x2, 0xa7, 0xff +db 0x0, 0xa6, 0xff, 0x0, 0xa6, 0xff, 0x0, 0xa6, 0xff, 0x2, 0xa6, 0xff +db 0x2, 0xa4, 0xff, 0x0, 0xa2, 0xff, 0x10, 0xa6, 0xfd, 0x80, 0xc8, 0xf5 +db 0xf6, 0xf1, 0xf3, 0xf9, 0xf8, 0xfb, 0xfa, 0xfa, 0xfc, 0xfd, 0xfd, 0xfe +db 0xff, 0xff, 0xfe, 0xc2, 0xe6, 0xfd, 0x30, 0xba, 0xff, 0x1, 0xa9, 0xff +db 0x1, 0xa8, 0xff, 0x2, 0xa8, 0xff, 0x2, 0xa8, 0xff, 0x0, 0xa8, 0xfe +db 0x2b, 0xb1, 0xfb, 0x93, 0xcd, 0xf8, 0xe7, 0xee, 0xf7, 0xff, 0xf1, 0xf2 +db 0xe9, 0xd1, 0xe3, 0xc1, 0xba, 0xda, 0xba, 0xb7, 0xdb, 0xc3, 0xc1, 0xdf +db 0xe0, 0xd8, 0xec, 0xf9, 0xf0, 0xf7, 0xff, 0xfd, 0xfd, 0xff, 0xfe, 0xfe +db 0xfe, 0xfd, 0xfd, 0xff, 0xfd, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf3, 0xf5, 0xf9, 0x62, 0xbb, 0xf5, 0x1, 0x9a, 0xff +db 0x2, 0x95, 0xff, 0x0, 0x95, 0xff, 0x0, 0x96, 0xfe, 0x47, 0xb3, 0xf6 +db 0xde, 0xeb, 0xf5, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfd, 0xfb, 0xbd, 0xdf, 0xee, 0x21, 0xa7, 0xf0, 0x0, 0x95, 0xff +db 0x2, 0x9a, 0xff, 0x1, 0x9b, 0xff, 0x0, 0x9b, 0xff, 0x27, 0xae, 0xf7 +db 0xc4, 0xe1, 0xf1, 0xff, 0xfe, 0xfb, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe +db 0xff, 0xff, 0xfd, 0xff, 0xfe, 0xfc, 0xfd, 0xfd, 0xfc, 0xf7, 0xfc, 0xfb +db 0xec, 0xfa, 0xf9, 0xd0, 0xec, 0xf7, 0x90, 0xd5, 0xf6, 0x39, 0xb7, 0xf8 +db 0x0, 0xa5, 0xfe, 0x0, 0xa4, 0xff, 0x0, 0xaa, 0xff, 0x4, 0xab, 0xff +db 0x29, 0xb3, 0xfc, 0x89, 0xce, 0xf7, 0xf3, 0xf2, 0xf7, 0xfe, 0xfa, 0xfa +db 0xf2, 0xf0, 0xf7, 0xec, 0xe4, 0xef, 0xe6, 0xe0, 0xe9, 0x82, 0xc8, 0xef +db 0xb, 0xaa, 0xfd, 0x0, 0xa6, 0xff, 0x2, 0xa5, 0xff, 0x0, 0xa4, 0xff +db 0x26, 0xac, 0xf5, 0xac, 0xbf, 0xde, 0xe9, 0xcf, 0xde, 0xee, 0xde, 0xea +db 0xf6, 0xed, 0xf1, 0xfd, 0xf2, 0xf5, 0xff, 0xfc, 0xfb, 0xff, 0xff, 0xfe +db 0xf3, 0xfd, 0xf7, 0x74, 0xcc, 0xf7, 0x9, 0xab, 0xfe, 0x0, 0xa8, 0xff +db 0x0, 0xa8, 0xff, 0x0, 0xa6, 0xff, 0x5f, 0xbf, 0xf5, 0xee, 0xf8, 0xfb +db 0xff, 0xff, 0xff, 0xf8, 0xf7, 0xfa, 0xee, 0xe9, 0xf2, 0xc7, 0xde, 0xed +db 0x3b, 0xbc, 0xf9, 0x0, 0xa9, 0xff, 0x1, 0xa9, 0xff, 0x0, 0xa9, 0xff +db 0xc, 0xa4, 0xf6, 0x4d, 0x96, 0xd6, 0x93, 0x96, 0xc6, 0xa7, 0xa5, 0xcf +db 0xc3, 0xbf, 0xde, 0xf3, 0xeb, 0xf3, 0xff, 0xff, 0xfd, 0xd1, 0xed, 0xf8 +db 0x33, 0xb9, 0xfa, 0x0, 0xa6, 0xfe, 0x1, 0xa8, 0xff, 0x0, 0xad, 0xff +db 0x9, 0xab, 0xf8, 0x1f, 0x72, 0xc2, 0x44, 0x55, 0xaa, 0xa5, 0xa2, 0xd0 +db 0xdb, 0xd8, 0xe9, 0xc6, 0xc7, 0xe1, 0x99, 0x99, 0xc9, 0x63, 0x91, 0xcb +db 0x19, 0xa9, 0xf3, 0x0, 0xae, 0xff, 0x2, 0xac, 0xff, 0x0, 0xaf, 0xff +db 0xb, 0xab, 0xf8, 0x64, 0xa2, 0xd8, 0xaa, 0xa2, 0xc7, 0x8f, 0x94, 0xc3 +db 0x3f, 0x97, 0xda, 0x6, 0xac, 0xfb, 0x1, 0xae, 0xff, 0x2, 0xad, 0xff +db 0x1, 0xac, 0xff, 0x3, 0xad, 0xff, 0x4b, 0xbc, 0xf7, 0xd4, 0xe0, 0xf0 +db 0xff, 0xf7, 0xf0, 0xfe, 0xf0, 0xee, 0xe9, 0xda, 0xe9, 0xde, 0xd0, 0xe5 +db 0xcc, 0xc0, 0xde, 0xb2, 0xaa, 0xd1, 0xac, 0xa5, 0xce, 0xaf, 0xad, 0xd3 +db 0xb2, 0xbc, 0xdb, 0xb4, 0xd3, 0xe8, 0xaf, 0xe1, 0xf2, 0xb0, 0xe0, 0xf0 +db 0xc7, 0xdc, 0xec, 0xe7, 0xe8, 0xf1, 0xfa, 0xf8, 0xfb, 0xfe, 0xfe, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xfc, 0xfd, 0xa3, 0xb3, 0xda, 0x18, 0x2c, 0x9f, 0x0, 0x13, 0x90 +db 0x1, 0x64, 0xc0, 0x2, 0xa4, 0xf5, 0x2, 0xb1, 0xff, 0x2, 0xaf, 0xff +db 0x2, 0xad, 0xff, 0x1, 0xad, 0xff, 0x1, 0xaf, 0xff, 0x26, 0xbd, 0xff +db 0x8d, 0xdb, 0xfc, 0xdf, 0xf8, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xfc, 0xe9, 0xd9, 0xe7, 0x93, 0x93, 0xc6, 0x3b, 0x4a, 0xa7 +db 0x4, 0x1e, 0x92, 0x1, 0x33, 0x98, 0x42, 0x7b, 0xbd, 0x49, 0xaf, 0xeb +db 0x9, 0xac, 0xff, 0x0, 0xa5, 0xff, 0x1, 0xa5, 0xff, 0x2, 0xa5, 0xff +db 0x1, 0xa5, 0xff, 0x2, 0xa2, 0xfd, 0x49, 0xb3, 0xf1, 0xdc, 0xe7, 0xf1 +db 0xff, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd9, 0xda, 0xec, 0x85, 0x92, 0xc8, 0x8e, 0x95, 0xc9 +db 0xc3, 0xbd, 0xd8, 0x95, 0xb6, 0xde, 0x1f, 0xa7, 0xf2, 0x1, 0xae, 0xff +db 0x2, 0xb0, 0xff, 0x2, 0xaf, 0xff, 0x2, 0xaf, 0xff, 0x2, 0xad, 0xff +db 0x2, 0xad, 0xff, 0x0, 0xac, 0xff, 0xd, 0xad, 0xfa, 0x5d, 0xae, 0xe3 +db 0xb0, 0xaf, 0xd0, 0xb9, 0xb4, 0xd6, 0xc6, 0xc6, 0xe1, 0xdd, 0xda, 0xeb +db 0xea, 0xdf, 0xeb, 0xdf, 0xda, 0xe7, 0x71, 0xc0, 0xf0, 0xc, 0xb0, 0xfd +db 0x0, 0xb1, 0xff, 0x2, 0xb0, 0xff, 0x0, 0xb0, 0xff, 0x5, 0xb1, 0xff +db 0x71, 0xc6, 0xf1, 0xe5, 0xe2, 0xe9, 0xf6, 0xe5, 0xe7, 0xc3, 0xb0, 0xd2 +db 0x57, 0x56, 0xac, 0x20, 0x24, 0x98, 0x1c, 0x1f, 0x97, 0x2a, 0x30, 0x9e +db 0x5c, 0x5d, 0xb0, 0xa6, 0x9f, 0xcc, 0xda, 0xd8, 0xe7, 0xd8, 0xea, 0xf2 +db 0xc1, 0xe6, 0xf6, 0xc3, 0xe8, 0xf5, 0xe1, 0xf3, 0xf8, 0xfa, 0xfd, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbe, 0xe1, 0xf5, 0x1a, 0xa9, 0xfb +db 0x0, 0x9d, 0xff, 0x2, 0x9d, 0xff, 0x0, 0x9c, 0xff, 0xa, 0xa3, 0xfa +db 0x83, 0xcd, 0xf2, 0xf9, 0xfa, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf8, 0xfa, 0xf9, 0x93, 0xd8, 0xed, 0x0, 0xb5, 0xf6, 0x0, 0xb5, 0xff +db 0x2, 0xb9, 0xff, 0x1, 0xba, 0xff, 0x0, 0xbb, 0xff, 0x18, 0xc5, 0xf9 +db 0x90, 0xe1, 0xf2, 0xdf, 0xf4, 0xf3, 0xe2, 0xf5, 0xf5, 0xe0, 0xf5, 0xf7 +db 0xda, 0xf3, 0xf5, 0xc5, 0xef, 0xf4, 0xb1, 0xea, 0xf4, 0x95, 0xe8, 0xf4 +db 0x6c, 0xe2, 0xf5, 0x3e, 0xd2, 0xf6, 0x3, 0xc3, 0xfb, 0x0, 0xbd, 0xff +db 0x0, 0xc2, 0xff, 0x0, 0xc4, 0xff, 0x1, 0xbc, 0xfa, 0x2b, 0xb7, 0xef +db 0x83, 0xb8, 0xe3, 0xc7, 0xc3, 0xdd, 0xd4, 0xc8, 0xde, 0xbe, 0xbc, 0xdb +db 0xb3, 0xb0, 0xd6, 0xb0, 0xa4, 0xcb, 0xa6, 0xae, 0xcf, 0x43, 0xc2, 0xec +db 0x5, 0xc5, 0xfe, 0x1, 0xc2, 0xff, 0x2, 0xc1, 0xff, 0x0, 0xc1, 0xff +db 0x20, 0xc8, 0xfb, 0xa6, 0xe2, 0xf1, 0xec, 0xf2, 0xee, 0xe9, 0xe9, 0xec +db 0xe5, 0xe8, 0xeb, 0xe6, 0xf0, 0xf1, 0xe1, 0xf9, 0xf9, 0xca, 0xf8, 0xf8 +db 0x84, 0xe7, 0xf6, 0x20, 0xd0, 0xfc, 0x0, 0xc7, 0xff, 0x1, 0xc5, 0xff +db 0x0, 0xc7, 0xff, 0x0, 0xc5, 0xff, 0x59, 0xc5, 0xed, 0xb8, 0xc6, 0xde +db 0xb7, 0xb0, 0xd5, 0x97, 0x95, 0xc8, 0x87, 0x8d, 0xc1, 0x4e, 0xb1, 0xdc +db 0x1, 0xc7, 0xfd, 0x0, 0xc7, 0xff, 0x2, 0xc6, 0xff, 0x2, 0xc4, 0xfe +db 0x1, 0x9d, 0xe2, 0x6, 0x4a, 0xa7, 0x8, 0x24, 0x96, 0x38, 0x4c, 0xaa +db 0x9c, 0x97, 0xca, 0xf2, 0xe3, 0xee, 0xfe, 0xf9, 0xf5, 0xa7, 0xdf, 0xf0 +db 0x18, 0xc7, 0xfa, 0x0, 0xc5, 0xff, 0x2, 0xc7, 0xff, 0x1, 0xce, 0xff +db 0x7, 0xbb, 0xf2, 0x0, 0x5b, 0xb4, 0x0, 0x1e, 0x94, 0x36, 0x4b, 0xa9 +db 0x5a, 0x69, 0xb5, 0x34, 0x3e, 0xa5, 0xc, 0x29, 0x98, 0xa, 0x77, 0xbf +db 0x2, 0xc0, 0xf8, 0x1, 0xcd, 0xff, 0x2, 0xc9, 0xff, 0x0, 0xcf, 0xff +db 0x15, 0xc3, 0xf3, 0x33, 0x7c, 0xbd, 0x1f, 0x2b, 0x94, 0xf, 0x1d, 0x92 +db 0x1a, 0x62, 0xb6, 0xb, 0xb3, 0xef, 0x0, 0xce, 0xff, 0x2, 0xca, 0xff +db 0x0, 0xc8, 0xff, 0x4, 0xca, 0xfe, 0x4c, 0xd7, 0xf8, 0xc6, 0xef, 0xef +db 0xd9, 0xe1, 0xe4, 0xa3, 0xa6, 0xcb, 0x75, 0x78, 0xb7, 0x62, 0x6d, 0xb3 +db 0x49, 0x63, 0xae, 0x2a, 0x5b, 0xac, 0x20, 0x65, 0xb2, 0x24, 0x7e, 0xbe +db 0x26, 0x9a, 0xd0, 0x23, 0xb6, 0xe7, 0x1b, 0xc5, 0xf6, 0x1b, 0xc5, 0xf1 +db 0x36, 0xa6, 0xd6, 0x6b, 0x96, 0xc8, 0xc8, 0xcc, 0xe5, 0xfa, 0xfa, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe2, 0xe9, 0xf1, 0x48, 0x67, 0xb8, 0x0, 0x5, 0x8c, 0x0, 0x0, 0x88 +db 0x2, 0x2e, 0x9d, 0x2, 0x8a, 0xd5, 0x1, 0xc1, 0xfb, 0x0, 0xce, 0xff +db 0x1, 0xca, 0xff, 0x2, 0xc9, 0xff, 0x1, 0xc9, 0xff, 0x0, 0xc6, 0xff +db 0x7, 0xc9, 0xfe, 0x44, 0xd8, 0xf9, 0x8a, 0xea, 0xf6, 0xb5, 0xf3, 0xf6 +db 0xd1, 0xfa, 0xfa, 0xeb, 0xff, 0xfb, 0xe8, 0xf3, 0xf1, 0xa1, 0xc8, 0xdc +db 0x39, 0x94, 0xc7, 0x0, 0x8b, 0xc8, 0x0, 0xa6, 0xdf, 0x0, 0xbc, 0xf8 +db 0x0, 0xc2, 0xff, 0x1, 0xc2, 0xff, 0x2, 0xc2, 0xff, 0x2, 0xc3, 0xff +db 0x0, 0xc3, 0xff, 0x6, 0xb2, 0xf3, 0x3a, 0x95, 0xd1, 0x94, 0x9d, 0xca +db 0xbd, 0xbc, 0xdc, 0xca, 0xd0, 0xe7, 0xe3, 0xe8, 0xf3, 0xfb, 0xfb, 0xfd +db 0xff, 0xff, 0xff, 0xd9, 0xdb, 0xed, 0x45, 0x69, 0xb7, 0x0, 0x29, 0x9b +db 0x26, 0x37, 0xa0, 0x37, 0x4b, 0xa7, 0x15, 0x7a, 0xc7, 0x3, 0xb6, 0xf4 +db 0x2, 0xcc, 0xff, 0x2, 0xcb, 0xff, 0x2, 0xcb, 0xff, 0x2, 0xc9, 0xff +db 0x2, 0xc9, 0xff, 0x0, 0xca, 0xff, 0x4, 0xc4, 0xfa, 0x2b, 0x9a, 0xd7 +db 0x63, 0x74, 0xb3, 0x88, 0x85, 0xbf, 0xa7, 0xa4, 0xd0, 0xb3, 0xae, 0xd5 +db 0x98, 0x97, 0xc9, 0x7a, 0x7f, 0xba, 0x50, 0x82, 0xc2, 0x12, 0xa5, 0xe5 +db 0x1, 0xc5, 0xfc, 0x2, 0xcf, 0xff, 0x0, 0xce, 0xff, 0x7, 0xcf, 0xff +db 0x42, 0xd8, 0xf7, 0x79, 0xd6, 0xe8, 0x7f, 0xb3, 0xd5, 0x47, 0x73, 0xb7 +db 0x3, 0x30, 0x99, 0x0, 0x11, 0x91, 0x0, 0x10, 0x91, 0x0, 0x1d, 0x96 +db 0x0, 0x3c, 0x9f, 0x1f, 0x6a, 0xb4, 0x53, 0xa7, 0xd4, 0x4c, 0xca, 0xed +db 0x2d, 0xca, 0xf6, 0x2f, 0xcc, 0xf6, 0x59, 0xd9, 0xf5, 0xa9, 0xea, 0xf4 +db 0xe9, 0xf0, 0xf6, 0xf9, 0xf4, 0xf6, 0xf6, 0xf1, 0xf4, 0x69, 0xcb, 0xf3 +db 0x1, 0xba, 0xfe, 0x0, 0xbb, 0xff, 0x2, 0xbb, 0xff, 0x0, 0xb7, 0xfe +db 0x31, 0xc5, 0xf4, 0xc7, 0xea, 0xf1, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe +db 0xea, 0xf6, 0xf5, 0x69, 0xd6, 0xed, 0x0, 0xca, 0xf9, 0x0, 0xd2, 0xff +db 0x2, 0xd4, 0xff, 0x2, 0xd5, 0xff, 0x1, 0xd7, 0xff, 0x1, 0xd8, 0xfe +db 0x1e, 0xda, 0xfa, 0x48, 0xdc, 0xf4, 0x52, 0xdc, 0xf4, 0x50, 0xdc, 0xf5 +db 0x46, 0xdb, 0xf5, 0x2f, 0xd9, 0xf8, 0x1d, 0xd6, 0xf8, 0xa, 0xd6, 0xfa +db 0x0, 0xd6, 0xfd, 0x0, 0xd7, 0xff, 0x0, 0xd9, 0xff, 0x0, 0xda, 0xff +db 0x0, 0xd7, 0xfd, 0x0, 0xc5, 0xef, 0x19, 0xa4, 0xd8, 0x5d, 0x94, 0xc7 +db 0x80, 0x89, 0xbf, 0x75, 0x7c, 0xbc, 0x74, 0x80, 0xbe, 0x73, 0x7e, 0xbd +db 0x77, 0x7f, 0xbe, 0x8b, 0x89, 0xc1, 0x8d, 0xa8, 0xcd, 0x27, 0xcd, 0xee +db 0x1, 0xde, 0xfe, 0x2, 0xdd, 0xff, 0x2, 0xdc, 0xff, 0x1, 0xdd, 0xff +db 0x5, 0xdd, 0xff, 0x2c, 0xdd, 0xf9, 0x58, 0xd3, 0xed, 0x61, 0xc0, 0xe0 +db 0x5e, 0xb8, 0xdc, 0x5c, 0xc4, 0xe3, 0x4d, 0xd9, 0xf2, 0x2e, 0xde, 0xf9 +db 0x7, 0xdb, 0xfd, 0x0, 0xde, 0xff, 0x1, 0xe1, 0xff, 0x2, 0xe0, 0xff +db 0x0, 0xe2, 0xff, 0x0, 0xe4, 0xff, 0x31, 0xbd, 0xe2, 0x58, 0x79, 0xb9 +db 0x50, 0x56, 0xab, 0x63, 0x66, 0xb2, 0x64, 0x89, 0xbf, 0x12, 0xc1, 0xe9 +db 0x0, 0xe0, 0xff, 0x1, 0xe1, 0xff, 0x2, 0xe1, 0xff, 0x1, 0xd6, 0xf9 +db 0xa, 0x92, 0xcb, 0x21, 0x44, 0x9e, 0x54, 0x5e, 0xb2, 0xad, 0xb3, 0xd9 +db 0xf0, 0xeb, 0xf5, 0xff, 0xf2, 0xf5, 0xc9, 0xc4, 0xdb, 0x53, 0xbd, 0xdf +db 0x7, 0xd9, 0xfa, 0x0, 0xe2, 0xff, 0x2, 0xe3, 0xff, 0x0, 0xe8, 0xff +db 0x12, 0xc8, 0xeb, 0x34, 0x7a, 0xbb, 0x51, 0x65, 0xb4, 0x63, 0x71, 0xb9 +db 0x18, 0x3f, 0xa4, 0x0, 0x0, 0x8b, 0x0, 0x1e, 0x96, 0x1, 0x9e, 0xd1 +db 0x2, 0xe1, 0xff, 0x2, 0xe8, 0xff, 0x2, 0xe5, 0xff, 0x0, 0xea, 0xff +db 0x1b, 0xd9, 0xf4, 0x2a, 0x7e, 0xbb, 0x5, 0x10, 0x8d, 0x0, 0x0, 0x87 +db 0x9, 0x33, 0x9a, 0x13, 0xa0, 0xd3, 0x0, 0xdf, 0xfc, 0x1, 0xe6, 0xff +db 0x2, 0xe3, 0xff, 0x0, 0xe2, 0xff, 0x8, 0xe3, 0xfe, 0x2e, 0xe0, 0xfa +db 0x3e, 0xc8, 0xea, 0x27, 0x9e, 0xd2, 0xd, 0x87, 0xc6, 0x4, 0x85, 0xc6 +db 0x0, 0x90, 0xcb, 0x0, 0xa3, 0xd8, 0x0, 0xb3, 0xe5, 0x0, 0xc1, 0xee +db 0x0, 0xcc, 0xf7, 0x0, 0xd1, 0xfe, 0x0, 0xd4, 0xff, 0x0, 0xd6, 0xff +db 0x0, 0x9d, 0xd9, 0x2, 0x56, 0xac, 0x94, 0xa2, 0xd1, 0xf5, 0xf5, 0xfa +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd5, 0xe1, 0xee, 0x3d, 0x56, 0xb2, 0x1, 0x4, 0x8c, 0x1, 0x0, 0x8b +db 0x2, 0x4, 0x8e, 0x1, 0x45, 0xa5, 0x9, 0xa4, 0xd8, 0xb, 0xdd, 0xfa +db 0x0, 0xe7, 0xff, 0x0, 0xe5, 0xff, 0x1, 0xe4, 0xff, 0x1, 0xe1, 0xff +db 0x0, 0xde, 0xff, 0x0, 0xdc, 0xff, 0x5, 0xdc, 0xfc, 0x20, 0xdc, 0xf9 +db 0x37, 0xde, 0xf8, 0x4d, 0xe2, 0xf8, 0x56, 0xe6, 0xfa, 0x44, 0xe7, 0xfb +db 0x1c, 0xe1, 0xfa, 0x2, 0xe0, 0xfe, 0x0, 0xe2, 0xff, 0x0, 0xde, 0xff +db 0x1, 0xde, 0xff, 0x2, 0xde, 0xff, 0x2, 0xde, 0xff, 0x1, 0xdf, 0xff +db 0xe, 0xe1, 0xff, 0x4a, 0xcd, 0xeb, 0x5d, 0x89, 0xc0, 0x27, 0x44, 0xa3 +db 0x16, 0x2d, 0x9e, 0x2d, 0x3b, 0xa5, 0x56, 0x6a, 0xb9, 0x9d, 0xab, 0xd7 +db 0xdd, 0xe4, 0xf1, 0xff, 0xfe, 0xfc, 0xc1, 0xcc, 0xe4, 0x4b, 0x67, 0xb7 +db 0x6, 0x1a, 0x97, 0x0, 0x0, 0x8b, 0x0, 0x2e, 0x9a, 0x7, 0x99, 0xd0 +db 0x4, 0xdb, 0xfb, 0x2, 0xe7, 0xff, 0x2, 0xe6, 0xff, 0x2, 0xe4, 0xff +db 0x2, 0xe4, 0xff, 0x1, 0xe4, 0xff, 0x0, 0xd8, 0xf8, 0x22, 0xa1, 0xd3 +db 0x83, 0x91, 0xbf, 0xe6, 0xd6, 0xe6, 0xfc, 0xf3, 0xf7, 0xd4, 0xd1, 0xe6 +db 0x7a, 0x8b, 0xc4, 0x1c, 0x39, 0xa0, 0x1, 0x1e, 0x94, 0x7, 0x5e, 0xaf +db 0x6, 0xa9, 0xdc, 0x2, 0xd9, 0xf8, 0x0, 0xe7, 0xff, 0x0, 0xe7, 0xff +db 0x0, 0xe5, 0xff, 0x3, 0xdb, 0xfa, 0xa, 0xc8, 0xef, 0xa, 0xaf, 0xde +db 0xe, 0x9a, 0xd0, 0xf, 0x92, 0xcc, 0xc, 0x92, 0xcc, 0x4, 0x9a, 0xd1 +db 0x0, 0xab, 0xdc, 0x0, 0xb7, 0xe5, 0x0, 0xc4, 0xf0, 0x0, 0xd1, 0xfd +db 0x0, 0xd4, 0xff, 0x0, 0xd2, 0xff, 0x0, 0xd5, 0xfe, 0x1c, 0xd8, 0xf8 +db 0x6f, 0xc2, 0xe0, 0xa7, 0xa9, 0xcf, 0xcc, 0xb8, 0xd7, 0xa3, 0xd0, 0xe2 +db 0x1f, 0xd4, 0xf5, 0x0, 0xd6, 0xff, 0x1, 0xd6, 0xff, 0x0, 0xd3, 0xff +db 0x8, 0xd0, 0xfa, 0x77, 0xdd, 0xef, 0xf8, 0xf9, 0xf7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe +db 0xdb, 0xf2, 0xf2, 0x46, 0xd0, 0xed, 0x0, 0xce, 0xfc, 0x1, 0xd4, 0xff +db 0x2, 0xd6, 0xff, 0x2, 0xd8, 0xff, 0x2, 0xd9, 0xff, 0x1, 0xd9, 0xff +db 0x0, 0xd9, 0xff, 0x0, 0xd6, 0xff, 0x0, 0xd5, 0xfe, 0x0, 0xd5, 0xfe +db 0x0, 0xd6, 0xff, 0x0, 0xd9, 0xff, 0x0, 0xd9, 0xff, 0x0, 0xda, 0xff +db 0x0, 0xdb, 0xff, 0x0, 0xdc, 0xff, 0x0, 0xdb, 0xff, 0x4, 0xd6, 0xfa +db 0x1a, 0xc1, 0xea, 0x43, 0xa8, 0xd2, 0x76, 0x99, 0xc6, 0x8e, 0x92, 0xc4 +db 0x71, 0x7d, 0xbd, 0x55, 0x6b, 0xb6, 0x70, 0x80, 0xc0, 0x83, 0x8d, 0xc5 +db 0x77, 0x85, 0xc2, 0x84, 0x86, 0xc3, 0x87, 0xa1, 0xca, 0x2b, 0xcd, 0xeb +db 0x2, 0xe0, 0xfe, 0x2, 0xdf, 0xff, 0x2, 0xdf, 0xff, 0x2, 0xde, 0xff +db 0x0, 0xdf, 0xff, 0x0, 0xdc, 0xff, 0x0, 0xd5, 0xfc, 0x0, 0xd1, 0xf8 +db 0x0, 0xd0, 0xf7, 0x0, 0xd3, 0xf9, 0x0, 0xda, 0xfe, 0x0, 0xdd, 0xff +db 0x0, 0xdf, 0xff, 0x0, 0xe2, 0xff, 0x2, 0xe3, 0xff, 0x2, 0xe3, 0xff +db 0x1, 0xe5, 0xff, 0x0, 0xe5, 0xff, 0x45, 0xcd, 0xe8, 0x8f, 0xab, 0xd1 +db 0xae, 0xac, 0xd3, 0xdb, 0xcf, 0xe2, 0xac, 0xdc, 0xe9, 0xe, 0xe0, 0xfc +db 0x0, 0xe3, 0xff, 0x2, 0xe3, 0xff, 0x0, 0xe3, 0xff, 0x12, 0xd6, 0xf6 +db 0x69, 0xb0, 0xd3, 0xb4, 0xad, 0xd0, 0xed, 0xe7, 0xf2, 0xff, 0xff, 0xff +db 0xed, 0xed, 0xf5, 0xb0, 0xaa, 0xd2, 0x50, 0x7a, 0xb9, 0xc, 0xa9, 0xda +db 0x0, 0xe1, 0xfc, 0x2, 0xe5, 0xff, 0x0, 0xe5, 0xff, 0x0, 0xe8, 0xff +db 0x3f, 0xda, 0xef, 0xb0, 0xc8, 0xdd, 0xcd, 0xc2, 0xdc, 0x8a, 0x93, 0xc7 +db 0x1b, 0x37, 0xa2, 0x0, 0x0, 0x8c, 0x3, 0x3e, 0xa0, 0x9, 0xb8, 0xe0 +db 0x1, 0xe9, 0xff, 0x2, 0xe9, 0xff, 0x2, 0xe8, 0xff, 0x0, 0xed, 0xff +db 0x13, 0xd9, 0xf4, 0x20, 0x7a, 0xbb, 0x8, 0x14, 0x91, 0x0, 0x0, 0x8c +db 0x1, 0x13, 0x90, 0x22, 0x77, 0xb8, 0x14, 0xd4, 0xf4, 0x0, 0xeb, 0xff +db 0x1, 0xe8, 0xff, 0x2, 0xe5, 0xff, 0x0, 0xe3, 0xff, 0x0, 0xdf, 0xff +db 0x0, 0xda, 0xff, 0x0, 0xd8, 0xfb, 0x0, 0xd9, 0xfa, 0x0, 0xda, 0xfa +db 0x0, 0xdc, 0xfc, 0x0, 0xe1, 0xff, 0x1, 0xe4, 0xff, 0x1, 0xe3, 0xff +db 0x1, 0xe0, 0xff, 0x2, 0xdc, 0xff, 0x0, 0xdc, 0xff, 0x2, 0xdc, 0xfe +db 0x29, 0xb6, 0xe0, 0x60, 0x8e, 0xc6, 0xc4, 0xc8, 0xe3, 0xfa, 0xfa, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf2, 0xf5, 0xf9, 0x77, 0x91, 0xca, 0x9, 0x17, 0x98, 0x0, 0x0, 0x8a +db 0x2, 0x0, 0x8b, 0x0, 0x7, 0x8e, 0xc, 0x4e, 0xa7, 0x39, 0xb3, 0xd9 +db 0x30, 0xea, 0xfc, 0xa, 0xee, 0xff, 0x0, 0xe9, 0xff, 0x1, 0xe7, 0xff +db 0x2, 0xe5, 0xff, 0x0, 0xe2, 0xff, 0x0, 0xe0, 0xff, 0x0, 0xdd, 0xff +db 0x0, 0xdb, 0xff, 0x0, 0xda, 0xff, 0x0, 0xda, 0xff, 0x0, 0xdf, 0xff +db 0x0, 0xe3, 0xff, 0x1, 0xe3, 0xff, 0x2, 0xe3, 0xff, 0x2, 0xe2, 0xff +db 0x2, 0xe1, 0xff, 0x2, 0xe2, 0xff, 0x1, 0xe3, 0xff, 0x4, 0xe2, 0xff +db 0x47, 0xe6, 0xf9, 0xcc, 0xed, 0xf2, 0xd8, 0xd3, 0xe4, 0x7f, 0x8e, 0xc7 +db 0x27, 0x44, 0xa8, 0x4, 0x13, 0x96, 0x0, 0x0, 0x8f, 0xc, 0x1b, 0x99 +db 0x4c, 0x5f, 0xb6, 0x99, 0xaa, 0xd5, 0xc7, 0xcd, 0xe5, 0xb7, 0xc0, 0xdd +db 0x5a, 0x78, 0xbd, 0xc, 0x1d, 0x9b, 0x0, 0x2, 0x8f, 0x7, 0x55, 0xa8 +db 0x6, 0xbe, 0xe5, 0x2, 0xec, 0xff, 0x2, 0xea, 0xff, 0x2, 0xe8, 0xff +db 0x2, 0xe6, 0xff, 0x2, 0xe6, 0xff, 0x1, 0xd3, 0xf4, 0xe, 0x85, 0xc3 +db 0x4b, 0x63, 0xaf, 0xa9, 0xaa, 0xd4, 0xc2, 0xc9, 0xe3, 0x91, 0x9e, 0xcf +db 0x44, 0x5f, 0xb3, 0x7, 0x1d, 0x9a, 0x0, 0x0, 0x8d, 0x2, 0x10, 0x90 +db 0x3, 0x45, 0xa4, 0x0, 0x96, 0xcf, 0x0, 0xd1, 0xf2, 0x0, 0xe4, 0xfe +db 0x0, 0xe6, 0xff, 0x0, 0xe5, 0xff, 0x0, 0xe7, 0xff, 0x0, 0xe5, 0xff +db 0x6, 0xe5, 0xfe, 0x8, 0xe2, 0xfd, 0x6, 0xe1, 0xfc, 0x4, 0xe1, 0xfd +db 0x2, 0xe4, 0xff, 0x1, 0xe4, 0xff, 0x0, 0xdf, 0xff, 0x1, 0xdc, 0xff +db 0x1, 0xda, 0xff, 0x1, 0xda, 0xff, 0x0, 0xdc, 0xff, 0x0, 0xda, 0xff +db 0x11, 0xba, 0xe5, 0x63, 0x8d, 0xc1, 0xa2, 0x95, 0xc7, 0xc3, 0xc6, 0xda +db 0x69, 0xd9, 0xed, 0x0, 0xd7, 0xfe, 0x0, 0xd8, 0xff, 0x1, 0xd7, 0xff +db 0x0, 0xd3, 0xfe, 0x2d, 0xd4, 0xf4, 0xc5, 0xec, 0xf1, 0xff, 0xff, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd +db 0xd8, 0xf1, 0xf2, 0x41, 0xce, 0xec, 0x0, 0xcb, 0xfc, 0x1, 0xd2, 0xff +db 0x2, 0xd4, 0xff, 0x2, 0xd6, 0xff, 0x2, 0xd6, 0xff, 0x2, 0xd8, 0xff +db 0x2, 0xd8, 0xff, 0x1, 0xd9, 0xff, 0x1, 0xdb, 0xff, 0x1, 0xdb, 0xff +db 0x1, 0xde, 0xff, 0x2, 0xe0, 0xff, 0x1, 0xe0, 0xff, 0x0, 0xe0, 0xff +db 0x0, 0xdf, 0xff, 0x10, 0xe0, 0xff, 0x33, 0xe0, 0xfb, 0x67, 0xdb, 0xf0 +db 0x9e, 0xcc, 0xe2, 0xd0, 0xd0, 0xe2, 0xeb, 0xe3, 0xee, 0xe6, 0xe0, 0xed +db 0xac, 0xb1, 0xd7, 0x8a, 0x97, 0xcb, 0xaf, 0xb3, 0xd8, 0xbd, 0xbd, 0xdc +db 0xa9, 0xab, 0xd5, 0xa6, 0xa4, 0xd0, 0x9d, 0xa9, 0xcf, 0x42, 0xc0, 0xe1 +db 0x0, 0xd5, 0xfb, 0x0, 0xdb, 0xff, 0x2, 0xdb, 0xff, 0x2, 0xdb, 0xff +db 0x2, 0xdc, 0xff, 0x1, 0xdc, 0xff, 0x0, 0xdd, 0xff, 0x0, 0xe0, 0xff +db 0x0, 0xe2, 0xff, 0x0, 0xe4, 0xff, 0x0, 0xe5, 0xff, 0x0, 0xe4, 0xff +db 0x3, 0xe3, 0xff, 0x1, 0xe3, 0xff, 0x1, 0xe2, 0xff, 0x2, 0xe2, 0xff +db 0x0, 0xe3, 0xff, 0x0, 0xe2, 0xff, 0x71, 0xe9, 0xf7, 0xf4, 0xff, 0xf9 +db 0xff, 0xff, 0xf9, 0xef, 0xef, 0xef, 0x83, 0xe8, 0xf6, 0x1, 0xe3, 0xff +db 0x0, 0xe0, 0xff, 0x0, 0xe0, 0xff, 0x2, 0xdf, 0xff, 0x53, 0xe4, 0xf9 +db 0xe8, 0xf3, 0xf3, 0xff, 0xff, 0xff, 0xfc, 0xfd, 0xfc, 0xb4, 0xbe, 0xde +db 0x5d, 0x64, 0xb5, 0x1d, 0x2d, 0x9a, 0x0, 0x5b, 0xae, 0x0, 0xbb, 0xe7 +db 0x1, 0xe5, 0xff, 0x2, 0xe2, 0xff, 0x0, 0xe2, 0xff, 0x5, 0xe5, 0xff +db 0x75, 0xe6, 0xf5, 0xcf, 0xd8, 0xe4, 0x8d, 0x95, 0xca, 0x29, 0x3b, 0xa6 +db 0x0, 0x6, 0x90, 0x9, 0x13, 0x93, 0x3b, 0x70, 0xb4, 0x24, 0xcb, 0xea +db 0x0, 0xe6, 0xff, 0x1, 0xe5, 0xff, 0x2, 0xe5, 0xff, 0x0, 0xeb, 0xff +db 0x8, 0xd9, 0xf5, 0xe, 0x73, 0xb9, 0x3, 0x10, 0x8f, 0x0, 0x0, 0x8c +db 0x4, 0x15, 0x96, 0x6a, 0x81, 0xbc, 0x71, 0xd9, 0xec, 0x19, 0xe6, 0xfd +db 0x0, 0xe6, 0xff, 0x2, 0xe6, 0xff, 0x2, 0xe6, 0xff, 0x2, 0xe6, 0xff +db 0x1, 0xe5, 0xff, 0x0, 0xe6, 0xff, 0x0, 0xe8, 0xff, 0x1, 0xe8, 0xff +db 0x2, 0xe5, 0xff, 0x2, 0xe3, 0xff, 0x2, 0xe3, 0xff, 0x2, 0xe1, 0xff +db 0x2, 0xe0, 0xff, 0x0, 0xde, 0xff, 0x0, 0xdc, 0xff, 0x28, 0xde, 0xf8 +db 0xad, 0xe8, 0xf0, 0xee, 0xf0, 0xf4, 0xfe, 0xfb, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd5, 0xe0, 0xee, 0x44, 0x64, 0xb6, 0x0, 0xf, 0x91 +db 0x0, 0x0, 0x8a, 0x0, 0x0, 0x89, 0x2, 0xa, 0x8e, 0x42, 0x67, 0xb1 +db 0x7f, 0xcd, 0xe3, 0x4c, 0xe5, 0xf7, 0xf, 0xe5, 0xfd, 0x3, 0xe8, 0xff +db 0x2, 0xe8, 0xff, 0x2, 0xe6, 0xff, 0x2, 0xe3, 0xff, 0x2, 0xe2, 0xff +db 0x1, 0xe0, 0xff, 0x1, 0xdf, 0xff, 0x0, 0xdf, 0xff, 0x1, 0xdf, 0xff +db 0x2, 0xde, 0xff, 0x2, 0xe0, 0xff, 0x2, 0xe1, 0xff, 0x2, 0xe2, 0xff +db 0x2, 0xe4, 0xff, 0x2, 0xe4, 0xff, 0x0, 0xda, 0xfc, 0x8, 0xbf, 0xe8 +db 0x76, 0xc3, 0xde, 0xff, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xfa, 0xf7, 0xf9 +db 0xc9, 0xd5, 0xe8, 0x8c, 0xa1, 0xd1, 0x45, 0x5a, 0xb4, 0xd, 0x18, 0x99 +db 0x0, 0x4, 0x91, 0x2, 0x1e, 0x99, 0x28, 0x45, 0xa9, 0x5e, 0x79, 0xc0 +db 0x60, 0x80, 0xc0, 0x15, 0x3d, 0xa6, 0x1, 0x0, 0x92, 0x2, 0x18, 0x94 +db 0x6, 0x83, 0xc0, 0x2, 0xdc, 0xf9, 0x2, 0xeb, 0xff, 0x2, 0xe9, 0xff +db 0x2, 0xe6, 0xff, 0x1, 0xe4, 0xff, 0x3, 0xcc, 0xf1, 0xb, 0x73, 0xb9 +db 0x6, 0x27, 0x96, 0xc, 0x2d, 0x9e, 0x18, 0x2f, 0x9f, 0xc, 0x18, 0x95 +db 0x0, 0x9, 0x90, 0x0, 0x2, 0x90, 0x1, 0x0, 0x90, 0x0, 0x0, 0x8f +db 0x0, 0xb, 0x90, 0x13, 0x50, 0xa7, 0x35, 0xa7, 0xd3, 0x33, 0xdc, 0xf7 +db 0x17, 0xe8, 0xff, 0x7, 0xe7, 0xff, 0x1, 0xe7, 0xff, 0x0, 0xe9, 0xff +db 0x0, 0xec, 0xff, 0x0, 0xea, 0xff, 0x0, 0xe8, 0xff, 0x2, 0xe6, 0xff +db 0x2, 0xe2, 0xff, 0x2, 0xe1, 0xff, 0x2, 0xe0, 0xff, 0x2, 0xdd, 0xff +db 0x1, 0xdb, 0xff, 0x0, 0xd9, 0xff, 0x0, 0xd9, 0xff, 0x0, 0xd5, 0xfc +db 0x35, 0xcf, 0xf0, 0xbe, 0xd9, 0xe6, 0xe7, 0xe1, 0xee, 0xf7, 0xee, 0xf4 +db 0xc5, 0xee, 0xf3, 0x2c, 0xda, 0xf8, 0x0, 0xd4, 0xff, 0x0, 0xd5, 0xff +db 0x0, 0xd3, 0xff, 0x6, 0xcf, 0xfa, 0x71, 0xdd, 0xf0, 0xf3, 0xf8, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xec, 0xf7, 0xf6, 0x7b, 0xdb, 0xed, 0x4, 0xcb, 0xf7, 0x0, 0xce, 0xfe +db 0x0, 0xd2, 0xff, 0x0, 0xd6, 0xff, 0x2, 0xda, 0xff, 0x2, 0xdb, 0xff +db 0x2, 0xdc, 0xff, 0x2, 0xde, 0xff, 0x2, 0xe1, 0xff, 0x2, 0xe1, 0xff +db 0x2, 0xe1, 0xff, 0x2, 0xdd, 0xfd, 0x1, 0xd9, 0xf9, 0xc, 0xd6, 0xf5 +db 0x37, 0xdd, 0xf5, 0x7e, 0xe9, 0xf6, 0xcd, 0xf6, 0xf7, 0xfc, 0xfc, 0xf4 +db 0xff, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xf2, 0xef, 0xf5 +db 0xcc, 0xcc, 0xe3, 0xae, 0xb4, 0xda, 0xa9, 0xb1, 0xd8, 0x91, 0xa0, 0xcf +db 0x83, 0x92, 0xca, 0x8d, 0x95, 0xc9, 0x84, 0x8c, 0xc4, 0x54, 0x9c, 0xcc +db 0x1c, 0xc7, 0xef, 0x0, 0xd9, 0xfe, 0x0, 0xd9, 0xff, 0x2, 0xdc, 0xff +db 0x2, 0xde, 0xff, 0x2, 0xde, 0xff, 0x2, 0xe0, 0xff, 0x2, 0xe1, 0xff +db 0x1, 0xe1, 0xff, 0x1, 0xde, 0xfc, 0x9, 0xd8, 0xf7, 0x2f, 0xda, 0xf5 +db 0x51, 0xe2, 0xf6, 0x33, 0xe4, 0xfb, 0x7, 0xe5, 0xff, 0x1, 0xe6, 0xff +db 0x0, 0xe6, 0xff, 0x7, 0xdf, 0xfc, 0x72, 0xdc, 0xed, 0xbb, 0xd0, 0xe2 +db 0x96, 0x97, 0xcc, 0x61, 0x87, 0xbe, 0x1b, 0xb6, 0xdf, 0x0, 0xd9, 0xfc +db 0x0, 0xdd, 0xfe, 0x4, 0xde, 0xff, 0x37, 0xe4, 0xfb, 0xb4, 0xf1, 0xf5 +db 0xfb, 0xf5, 0xf5, 0xc9, 0xd3, 0xea, 0x7d, 0x8b, 0xc8, 0x21, 0x2b, 0x9f +db 0x0, 0x0, 0x8e, 0xb, 0x2b, 0x9a, 0x13, 0x8c, 0xc8, 0x4, 0xd4, 0xf6 +db 0x1, 0xe4, 0xff, 0x2, 0xe2, 0xff, 0x0, 0xe5, 0xff, 0xf, 0xe0, 0xfc +db 0x5a, 0xba, 0xdb, 0x51, 0x6d, 0xb6, 0x11, 0x20, 0x9a, 0x0, 0x0, 0x8a +db 0x0, 0xc, 0x92, 0x60, 0x6f, 0xb9, 0xbc, 0xcb, 0xde, 0x57, 0xe4, 0xf5 +db 0x0, 0xe2, 0xff, 0x0, 0xe4, 0xff, 0x2, 0xe7, 0xff, 0x2, 0xeb, 0xff +db 0x5, 0xd3, 0xf0, 0x6, 0x6a, 0xb4, 0x1, 0xa, 0x8e, 0x0, 0x0, 0x8c +db 0x2f, 0x44, 0xa8, 0xcd, 0xc9, 0xdf, 0xe4, 0xf3, 0xf1, 0x5c, 0xc3, 0xe1 +db 0x4, 0xb3, 0xe1, 0x0, 0xce, 0xf1, 0x2, 0xda, 0xf9, 0x2, 0xdd, 0xfa +db 0x2, 0xe1, 0xfe, 0x2, 0xe4, 0xff, 0x2, 0xe5, 0xff, 0x2, 0xe4, 0xff +db 0x2, 0xe4, 0xff, 0x2, 0xe3, 0xff, 0x2, 0xe3, 0xff, 0x2, 0xde, 0xff +db 0x6, 0xdb, 0xfb, 0x8, 0xd4, 0xf6, 0xc, 0xc6, 0xec, 0x4d, 0xbc, 0xdd +db 0xbc, 0xd1, 0xe3, 0xec, 0xeb, 0xf4, 0xf8, 0xf9, 0xfb, 0xfe, 0xfe, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0xd2, 0xe6, 0x52, 0x71, 0xbc +db 0x17, 0x2a, 0x9f, 0x0, 0xa, 0x90, 0x0, 0x0, 0x89, 0xf, 0x15, 0x95 +db 0x57, 0x68, 0xb4, 0x5d, 0x91, 0xc7, 0x2e, 0xae, 0xd7, 0x13, 0xc6, 0xea +db 0x1, 0xd4, 0xf4, 0x2, 0xde, 0xfb, 0x2, 0xe4, 0xff, 0x2, 0xe5, 0xff +db 0x2, 0xe5, 0xff, 0x2, 0xe5, 0xff, 0x2, 0xe4, 0xff, 0x2, 0xe2, 0xff +db 0x2, 0xe3, 0xff, 0x2, 0xe5, 0xff, 0x2, 0xe5, 0xff, 0x2, 0xe4, 0xff +db 0x2, 0xe0, 0xfc, 0x2, 0xd0, 0xf2, 0x1, 0x9e, 0xd5, 0x6, 0x5b, 0xb0 +db 0x63, 0x7a, 0xba, 0xf0, 0xe8, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xd9, 0xe7, 0xf0, 0x94, 0xab, 0xd6 +db 0x53, 0x6c, 0xbb, 0x2f, 0x47, 0xac, 0x14, 0x36, 0xa3, 0x5, 0x34, 0xa1 +db 0x7, 0x35, 0xa1, 0x0, 0x1a, 0x98, 0x0, 0x0, 0x8f, 0x0, 0x0, 0x8c +db 0x2, 0x33, 0x9d, 0x2, 0x94, 0xcd, 0x2, 0xc8, 0xec, 0x2, 0xdf, 0xfa +db 0x1, 0xe4, 0xff, 0x0, 0xe2, 0xff, 0x1a, 0xd1, 0xf3, 0x6e, 0xae, 0xd2 +db 0x83, 0x88, 0xc1, 0x47, 0x5e, 0xb3, 0x19, 0x30, 0xa0, 0x0, 0xd, 0x91 +db 0x0, 0x0, 0x8b, 0x0, 0x0, 0x8a, 0x0, 0x0, 0x8f, 0x0, 0x18, 0x9a +db 0x17, 0x36, 0xa2, 0x53, 0x63, 0xb2, 0x9c, 0xa6, 0xcc, 0xb6, 0xdf, 0xeb +db 0x93, 0xee, 0xf7, 0x62, 0xe8, 0xf7, 0x3c, 0xe2, 0xf9, 0x15, 0xe0, 0xfa +db 0x4, 0xdf, 0xfb, 0x1, 0xdd, 0xfc, 0x2, 0xe2, 0xff, 0x2, 0xe3, 0xff +db 0x2, 0xe2, 0xff, 0x2, 0xe2, 0xff, 0x2, 0xe2, 0xff, 0x1, 0xe1, 0xff +db 0x1, 0xdf, 0xff, 0x7, 0xd9, 0xfe, 0x9, 0xca, 0xf4, 0x2, 0xa9, 0xde +db 0x3b, 0x95, 0xcb, 0xc1, 0xc6, 0xde, 0xf2, 0xf0, 0xf7, 0xfe, 0xfa, 0xfc +db 0xff, 0xff, 0xfb, 0xad, 0xf1, 0xf6, 0x2f, 0xdf, 0xfb, 0x0, 0xd9, 0xff +db 0x1, 0xd4, 0xff, 0x0, 0xcf, 0xff, 0x23, 0xd1, 0xf5, 0xb1, 0xe7, 0xf1 +db 0xff, 0xfe, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xfe, 0xfd, 0xd7, 0xf1, 0xf4, 0x6a, 0xdb, 0xf0, 0x23, 0xcf, 0xf3 +db 0xb, 0xce, 0xf7, 0x0, 0xd0, 0xfb, 0x0, 0xd6, 0xfd, 0x2, 0xdb, 0xff +db 0x2, 0xdb, 0xfd, 0x2, 0xd5, 0xf9, 0x2, 0xcd, 0xf3, 0x2, 0xc1, 0xe9 +db 0x2, 0xb0, 0xe0, 0x2, 0x99, 0xd1, 0x0, 0x85, 0xc6, 0x19, 0x84, 0xc3 +db 0x57, 0x98, 0xc7, 0x95, 0xa8, 0xd0, 0xb7, 0xb3, 0xd6, 0xbc, 0xb9, 0xdb +db 0xb3, 0xbb, 0xdd, 0x98, 0xab, 0xd5, 0x70, 0x8d, 0xc8, 0x5f, 0x7e, 0xc0 +db 0x57, 0x79, 0xbe, 0x4d, 0x6f, 0xba, 0x44, 0x67, 0xb6, 0x3d, 0x62, 0xb3 +db 0x4f, 0x6d, 0xb8, 0x71, 0x83, 0xc3, 0x85, 0x8e, 0xc8, 0xa4, 0xb3, 0xd5 +db 0x9d, 0xdd, 0xed, 0x50, 0xe0, 0xf7, 0x9, 0xd5, 0xfa, 0x0, 0xd4, 0xfc +db 0x1, 0xd9, 0xfd, 0x2, 0xdf, 0xff, 0x2, 0xe0, 0xff, 0x2, 0xd6, 0xf9 +db 0x1, 0xbd, 0xe8, 0x1, 0x97, 0xd0, 0x10, 0x81, 0xc2, 0x46, 0x8a, 0xc2 +db 0x75, 0x98, 0xc8, 0x47, 0xa1, 0xd1, 0x7, 0xb8, 0xe7, 0x0, 0xca, 0xf3 +db 0x0, 0xb9, 0xe7, 0xf, 0x9e, 0xd2, 0x39, 0x7e, 0xbf, 0x2f, 0x4b, 0xa8 +db 0x12, 0x15, 0x92, 0x0, 0x15, 0x90, 0x0, 0x69, 0xb6, 0x31, 0xc7, 0xe9 +db 0x48, 0xe1, 0xf7, 0x58, 0xdf, 0xf5, 0x8a, 0xd4, 0xe9, 0x9e, 0xb0, 0xd3 +db 0x6c, 0x77, 0xbd, 0x32, 0x3c, 0xa6, 0x6, 0xd, 0x8f, 0x0, 0x0, 0x8a +db 0x32, 0x40, 0xa8, 0x95, 0xa8, 0xd0, 0x5e, 0xd2, 0xea, 0x7, 0xdc, 0xfd +db 0x0, 0xe2, 0xff, 0x2, 0xe7, 0xff, 0x1, 0xea, 0xff, 0x8, 0xc5, 0xe9 +db 0x13, 0x62, 0xb3, 0x0, 0xf, 0x91, 0x0, 0x0, 0x87, 0x0, 0x0, 0x8a +db 0x39, 0x54, 0xaf, 0xd8, 0xd7, 0xe9, 0xff, 0xff, 0xfc, 0x94, 0xf1, 0xf8 +db 0x4, 0xdf, 0xfe, 0x0, 0xe6, 0xff, 0x2, 0xe4, 0xff, 0x2, 0xcd, 0xf1 +db 0x3, 0x95, 0xcc, 0x2, 0x37, 0x9f, 0x0, 0x0, 0x8a, 0x6, 0x15, 0x96 +db 0x8b, 0x94, 0xc9, 0xfc, 0xf9, 0xf9, 0xff, 0xfe, 0xfa, 0x8b, 0x9c, 0xc8 +db 0x0, 0x4c, 0xa7, 0x0, 0x61, 0xb4, 0x0, 0x7d, 0xc3, 0x0, 0x88, 0xc8 +db 0x1, 0x9a, 0xd3, 0x0, 0xad, 0xde, 0x0, 0xaf, 0xe0, 0x0, 0xae, 0xdf +db 0x0, 0xae, 0xdf, 0x0, 0xaf, 0xdf, 0x0, 0xab, 0xde, 0x0, 0x99, 0xd5 +db 0x7, 0x8a, 0xca, 0x11, 0x7e, 0xc0, 0x13, 0x60, 0xb2, 0x1d, 0x42, 0xa5 +db 0x2c, 0x41, 0xa8, 0x5d, 0x75, 0xbe, 0xc4, 0xcb, 0xe5, 0xfa, 0xfa, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xe4, 0xf0 +db 0x9f, 0xb1, 0xd8, 0x59, 0x73, 0xbd, 0x20, 0x33, 0xa4, 0x0, 0x4, 0x90 +db 0x0, 0x2, 0x8e, 0x10, 0x16, 0x93, 0xf, 0x32, 0x9d, 0x7, 0x53, 0xac +db 0x0, 0x6d, 0xba, 0x1, 0x8d, 0xcb, 0x1, 0xa8, 0xda, 0x2, 0xbb, 0xe6 +db 0x2, 0xc8, 0xef, 0x2, 0xd2, 0xf5, 0x2, 0xda, 0xfa, 0x2, 0xe1, 0xfe +db 0x2, 0xdf, 0xfd, 0x2, 0xd5, 0xf5, 0x2, 0xc6, 0xec, 0x2, 0xb0, 0xde +db 0x2, 0x96, 0xcf, 0x2, 0x6e, 0xba, 0x0, 0x2f, 0x9c, 0x0, 0x6, 0x8b +db 0x4c, 0x5a, 0xb2, 0xeb, 0xec, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xfe +db 0xe2, 0xec, 0xf5, 0xcb, 0xd7, 0xec, 0xae, 0xc0, 0xe1, 0x89, 0x9e, 0xd0 +db 0x4c, 0x6d, 0xba, 0x28, 0x45, 0xaa, 0x14, 0x26, 0x9c, 0x0, 0xa, 0x90 +db 0x0, 0x0, 0x8b, 0x0, 0x1f, 0x95, 0x0, 0x54, 0xaf, 0x1, 0x89, 0xc7 +db 0x4, 0xad, 0xde, 0x23, 0xcd, 0xed, 0x7e, 0xe5, 0xf3, 0xe3, 0xf3, 0xf4 +db 0xfb, 0xf4, 0xf6, 0xe1, 0xe1, 0xef, 0xb3, 0xbe, 0xdf, 0x77, 0x8d, 0xc9 +db 0x3d, 0x56, 0xb2, 0x23, 0x3a, 0xa6, 0x1a, 0x37, 0xa4, 0x17, 0x46, 0xa7 +db 0x24, 0x52, 0xab, 0x3a, 0x59, 0xb0, 0x5c, 0x70, 0xb9, 0x8e, 0x96, 0xc7 +db 0x9c, 0xa8, 0xcf, 0x81, 0xa2, 0xcd, 0x58, 0x99, 0xca, 0x26, 0x8f, 0xc9 +db 0x5, 0x88, 0xc7, 0x0, 0x89, 0xcb, 0x0, 0x9d, 0xd7, 0x0, 0xad, 0xdf +db 0x0, 0xad, 0xdf, 0x0, 0xad, 0xdf, 0x0, 0xab, 0xdf, 0x0, 0xaa, 0xde +db 0x11, 0xb8, 0xe4, 0x59, 0xd4, 0xee, 0x7f, 0xd0, 0xe6, 0x64, 0x9f, 0xca +db 0x3e, 0x62, 0xb0, 0x50, 0x63, 0xb2, 0x71, 0x7d, 0xc1, 0x7d, 0x8c, 0xc7 +db 0xab, 0xaf, 0xd6, 0xcd, 0xcf, 0xe2, 0x86, 0xd3, 0xe7, 0x17, 0xd0, 0xf2 +db 0x0, 0xd4, 0xfd, 0x0, 0xd5, 0xff, 0x5, 0xcf, 0xf6, 0x86, 0xde, 0xed +db 0xfd, 0xfb, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xe6, 0xf5, 0xf6, 0xb4, 0xe9, 0xf0 +db 0x87, 0xde, 0xed, 0x3f, 0xc0, 0xe3, 0x2, 0x9e, 0xd5, 0x0, 0x95, 0xd2 +db 0x0, 0x90, 0xcf, 0x0, 0x7b, 0xc2, 0x0, 0x63, 0xb6, 0x0, 0x4c, 0xaa +db 0x0, 0x32, 0xa0, 0x0, 0x1c, 0x94, 0x0, 0xf, 0x8e, 0x2, 0x10, 0x8d +db 0x12, 0x1a, 0x94, 0x18, 0x29, 0x9d, 0x14, 0x30, 0x9f, 0x12, 0x30, 0xa0 +db 0xe, 0x36, 0xa2, 0x11, 0x43, 0xa6, 0x1d, 0x4e, 0xab, 0x29, 0x57, 0xb0 +db 0x2e, 0x5c, 0xb3, 0x4a, 0x71, 0xbb, 0x7b, 0x94, 0xca, 0xa1, 0xaf, 0xd8 +db 0xbb, 0xc4, 0xe1, 0xd4, 0xd6, 0xec, 0xe3, 0xe2, 0xf1, 0xf7, 0xf2, 0xf7 +db 0xfd, 0xfc, 0xfb, 0xd8, 0xf4, 0xf6, 0x73, 0xd5, 0xeb, 0x13, 0xaa, 0xda +db 0x0, 0x96, 0xd2, 0x0, 0x99, 0xd3, 0x0, 0x99, 0xd2, 0x0, 0x7f, 0xc5 +db 0x0, 0x4b, 0xab, 0x0, 0x1d, 0x94, 0x0, 0xe, 0x8e, 0x5, 0x1c, 0x94 +db 0x13, 0x29, 0x98, 0x5, 0x34, 0x9c, 0x0, 0x5d, 0xb2, 0x0, 0x79, 0xbf +db 0x0, 0x51, 0xac, 0x2, 0x26, 0x98, 0x4, 0x11, 0x8f, 0x0, 0x0, 0x88 +db 0x0, 0x0, 0x86, 0x1, 0x10, 0x93, 0x41, 0x63, 0xb2, 0xbb, 0xd6, 0xe6 +db 0xd3, 0xf2, 0xf5, 0xae, 0xca, 0xe1, 0x6d, 0x88, 0xc2, 0x1d, 0x3d, 0xa2 +db 0x0, 0x2, 0x8e, 0x0, 0x0, 0x89, 0x0, 0xd, 0x8f, 0x37, 0x4b, 0xab +db 0xb0, 0xb7, 0xdb, 0xfb, 0xfa, 0xf9, 0xad, 0xf2, 0xf7, 0x22, 0xdb, 0xf7 +db 0x0, 0xd9, 0xfc, 0x1, 0xde, 0xfc, 0x2, 0xcd, 0xf0, 0x1, 0x77, 0xbf +db 0x0, 0x14, 0x94, 0x0, 0x0, 0x87, 0x0, 0xa, 0x8f, 0x32, 0x4a, 0xab +db 0xb6, 0xbb, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0xf8, 0xf9 +db 0x47, 0xdc, 0xf3, 0x1, 0xc9, 0xf0, 0x0, 0xa8, 0xde, 0x0, 0x64, 0xb8 +db 0x0, 0x23, 0x98, 0x0, 0x1, 0x89, 0x0, 0x2, 0x8d, 0x4e, 0x66, 0xb6 +db 0xe0, 0xe1, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xbc, 0xdc +db 0x38, 0x4b, 0xa7, 0xd, 0x27, 0x97, 0x3, 0x2c, 0x98, 0x0, 0x24, 0x95 +db 0x0, 0x2f, 0x99, 0x0, 0x43, 0xa3, 0x0, 0x46, 0xa4, 0x0, 0x45, 0xa4 +db 0x0, 0x45, 0xa4, 0x0, 0x46, 0xa4, 0x0, 0x43, 0xa3, 0x0, 0x2f, 0x9b +db 0x0, 0x1d, 0x94, 0x0, 0x13, 0x90, 0x0, 0x3, 0x8d, 0x0, 0x3, 0x8f +db 0x2, 0x1c, 0x99, 0x3d, 0x5d, 0xb1, 0xbc, 0xc4, 0xe2, 0xfa, 0xfa, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xfe, 0xe3, 0xe8, 0xf2, 0xac, 0xb7, 0xdb, 0x51, 0x6d, 0xba +db 0x1b, 0x28, 0x9d, 0x7, 0x10, 0x93, 0x7, 0x14, 0x94, 0x8, 0x1e, 0x96 +db 0x0, 0x1e, 0x94, 0x0, 0x22, 0x95, 0x0, 0x31, 0x9c, 0x0, 0x46, 0xa7 +db 0x0, 0x5f, 0xb3, 0x0, 0x70, 0xbb, 0x0, 0x85, 0xc7, 0x0, 0x9a, 0xd2 +db 0x0, 0x8f, 0xcd, 0x0, 0x71, 0xbc, 0x0, 0x51, 0xac, 0x0, 0x36, 0x9f +db 0x0, 0x1d, 0x92, 0x0, 0x6, 0x89, 0x0, 0x0, 0x85, 0x11, 0x1d, 0x96 +db 0x89, 0x94, 0xcb, 0xfa, 0xfb, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfc +db 0xde, 0xe2, 0xf0, 0xbc, 0xc9, 0xe4, 0x99, 0xa9, 0xd3, 0x57, 0x75, 0xbb +db 0x25, 0x33, 0xa2, 0x4, 0xb, 0x91, 0x0, 0x7, 0x8d, 0x0, 0x1e, 0x92 +db 0x4, 0x4c, 0xa9, 0x67, 0xa1, 0xcc, 0xe8, 0xf4, 0xf4, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf4, 0xf8 +db 0xcd, 0xd7, 0xeb, 0xb4, 0xc4, 0xe3, 0xa3, 0xb7, 0xdb, 0x8c, 0xa1, 0xd0 +db 0x68, 0x82, 0xc2, 0x2f, 0x56, 0xaf, 0xb, 0x3b, 0xa3, 0x1e, 0x44, 0xa7 +db 0x3a, 0x53, 0xab, 0x34, 0x4c, 0xa8, 0x13, 0x37, 0x9e, 0x0, 0x24, 0x96 +db 0x0, 0x1b, 0x92, 0x0, 0x1f, 0x94, 0x0, 0x34, 0x9d, 0x0, 0x44, 0xa4 +db 0x0, 0x44, 0xa4, 0x0, 0x43, 0xa3, 0x0, 0x40, 0xa2, 0x0, 0x3c, 0xa1 +db 0x14, 0x5d, 0xaf, 0x9c, 0xb4, 0xd4, 0xf0, 0xee, 0xef, 0xe5, 0xdf, 0xea +db 0xaf, 0xb2, 0xd7, 0x81, 0x8d, 0xc8, 0x5c, 0x70, 0xba, 0x25, 0x48, 0xa7 +db 0x18, 0x40, 0xa5, 0x40, 0x5b, 0xaf, 0x45, 0x71, 0xb7, 0x11, 0x7a, 0xbe +db 0x0, 0x98, 0xd3, 0x10, 0xb8, 0xe3, 0x42, 0xca, 0xe7, 0xb4, 0xe6, 0xef +db 0xfd, 0xfd, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfc +db 0xf6, 0xf8, 0xf7, 0xb8, 0xc6, 0xdd, 0x3d, 0x6e, 0xb4, 0x0, 0x39, 0x9d +db 0x0, 0x29, 0x97, 0x0, 0x18, 0x91, 0x0, 0x6, 0x8c, 0x0, 0x0, 0x8b +db 0x6, 0xd, 0x90, 0x12, 0x1c, 0x96, 0x15, 0x1f, 0x97, 0xf, 0x1d, 0x96 +db 0x11, 0x21, 0x9b, 0x2a, 0x3f, 0xa8, 0x3e, 0x55, 0xaf, 0x3e, 0x57, 0xaf +db 0x49, 0x65, 0xb6, 0x75, 0x8e, 0xca, 0xaa, 0xb8, 0xdc, 0xc0, 0xca, 0xe4 +db 0xc2, 0xcc, 0xe7, 0xd6, 0xdd, 0xee, 0xf0, 0xf2, 0xf7, 0xfd, 0xfc, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xe6, 0xe8, 0xee, 0x83, 0xa1, 0xcb +db 0x26, 0x5f, 0xae, 0x0, 0x3d, 0x9f, 0x0, 0x2f, 0x9a, 0x0, 0x1e, 0x93 +db 0x0, 0x0, 0x8a, 0x0, 0x0, 0x8c, 0x20, 0x29, 0x9d, 0x45, 0x50, 0xae +db 0x4d, 0x5c, 0xb2, 0x4e, 0x5f, 0xb3, 0x5a, 0x72, 0xb8, 0x5a, 0x7c, 0xba +db 0x2d, 0x48, 0xa6, 0x0, 0x8, 0x8f, 0x0, 0x2, 0x8c, 0x17, 0x25, 0x9c +db 0x4b, 0x5d, 0xb4, 0x81, 0x94, 0xcc, 0xca, 0xc8, 0xe2, 0xff, 0xf8, 0xf9 +db 0xff, 0xfa, 0xf9, 0xc8, 0xc0, 0xdd, 0x6b, 0x7f, 0xc0, 0x3f, 0x5b, 0xb2 +db 0x45, 0x52, 0xb0, 0x53, 0x65, 0xb8, 0x7f, 0x92, 0xcc, 0xc5, 0xce, 0xe6 +db 0xfa, 0xf9, 0xfb, 0xff, 0xff, 0xff, 0xf1, 0xfd, 0xfc, 0x93, 0xe1, 0xee +db 0x1e, 0xad, 0xd9, 0x0, 0x8a, 0xca, 0x0, 0x63, 0xb4, 0x0, 0x14, 0x93 +db 0x0, 0x0, 0x8b, 0x1a, 0x2c, 0x9f, 0x62, 0x79, 0xc0, 0xc2, 0xca, 0xe4 +db 0xfc, 0xfa, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfd +db 0xbb, 0xe1, 0xeb, 0x33, 0x92, 0xc8, 0x0, 0x4b, 0xa8, 0x0, 0x12, 0x92 +db 0x0, 0x0, 0x88, 0x0, 0xc, 0x8f, 0x34, 0x4c, 0xac, 0xc2, 0xc7, 0xe2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf5, 0xfa +db 0xc2, 0xc2, 0xe1, 0x92, 0x99, 0xcd, 0x7d, 0x86, 0xc3, 0x5a, 0x65, 0xb4 +db 0x4d, 0x5a, 0xaf, 0x51, 0x5f, 0xb1, 0x52, 0x60, 0xb1, 0x52, 0x60, 0xb1 +db 0x52, 0x60, 0xb1, 0x51, 0x60, 0xb1, 0x4f, 0x60, 0xb1, 0x4d, 0x5b, 0xb0 +db 0x4a, 0x55, 0xb0, 0x45, 0x4f, 0xaf, 0x4a, 0x59, 0xb2, 0x68, 0x7d, 0xc3 +db 0x98, 0xa9, 0xd5, 0xc6, 0xcd, 0xe5, 0xf0, 0xf0, 0xf7, 0xfe, 0xfe, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xe1, 0xe5, 0xf1 +db 0xae, 0xb8, 0xdc, 0x90, 0x9f, 0xd1, 0x90, 0x9c, 0xcf, 0x8f, 0x98, 0xcd +db 0x73, 0x7e, 0xc0, 0x49, 0x55, 0xad, 0x28, 0x35, 0x9f, 0x18, 0x2b, 0x9a +db 0x1b, 0x35, 0x9e, 0x1c, 0x3b, 0x9e, 0xb, 0x3d, 0x9e, 0x0, 0x3b, 0x9d +db 0x0, 0x2b, 0x98, 0x0, 0x14, 0x90, 0x0, 0x0, 0x8b, 0x0, 0x0, 0x8a +db 0x0, 0x5, 0x8d, 0x10, 0x20, 0x96, 0x39, 0x4a, 0xab, 0x8c, 0x98, 0xcd +db 0xe8, 0xe7, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfc, 0xe5, 0xea, 0xf4 +db 0xb5, 0xc1, 0xe0, 0x81, 0x95, 0xcb, 0x5a, 0x6b, 0xba, 0x47, 0x57, 0xaf +db 0x55, 0x68, 0xb6, 0xa5, 0xa8, 0xd0, 0xff, 0xf6, 0xf7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfe, 0xf4, 0xf4, 0xf9 +db 0xe2, 0xe3, 0xf1, 0xb7, 0xc2, 0xe0, 0x90, 0xa1, 0xd3, 0x87, 0x98, 0xcf +db 0x8e, 0x9d, 0xcf, 0x86, 0x95, 0xcd, 0x5f, 0x75, 0xbc, 0x4d, 0x5b, 0xb2 +db 0x4f, 0x57, 0xb1, 0x51, 0x59, 0xb0, 0x51, 0x5e, 0xb0, 0x52, 0x60, 0xb1 +db 0x51, 0x5f, 0xb1, 0x4f, 0x5e, 0xb0, 0x4f, 0x5d, 0xaf, 0x4a, 0x58, 0xae +db 0x5b, 0x6a, 0xb5, 0xb8, 0xb4, 0xd7, 0xfd, 0xf9, 0xfa, 0xff, 0xff, 0xff +db 0xfe, 0xfb, 0xfd, 0xf1, 0xf0, 0xf8, 0xdb, 0xdc, 0xed, 0xa6, 0xaf, 0xd7 +db 0x65, 0x7d, 0xc1, 0x42, 0x62, 0xb4, 0x2b, 0x50, 0xab, 0x4, 0x34, 0x9d +db 0x0, 0x39, 0x9f, 0x1d, 0x65, 0xb2, 0x86, 0xa8, 0xd1, 0xea, 0xee, 0xf4 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf8, 0xec, 0xf4, 0xba, 0xb4, 0xd8, 0x76, 0x7d, 0xbe +db 0x63, 0x69, 0xb6, 0x64, 0x68, 0xb6, 0x64, 0x66, 0xb7, 0x6b, 0x6d, 0xbb +db 0x8a, 0x8f, 0xca, 0xa2, 0xad, 0xd5, 0xa3, 0xb1, 0xd7, 0x9e, 0xae, 0xd7 +db 0xa4, 0xb2, 0xd9, 0xc1, 0xc9, 0xe5, 0xd5, 0xd8, 0xeb, 0xd5, 0xda, 0xec +db 0xdd, 0xe1, 0xf0, 0xf1, 0xf2, 0xf9, 0xfe, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xeb, 0xdf, 0xeb +db 0xb0, 0xad, 0xd4, 0x74, 0x7d, 0xbe, 0x61, 0x6a, 0xb7, 0x64, 0x69, 0xb8 +db 0x64, 0x68, 0xb8, 0x78, 0x7f, 0xc3, 0xae, 0xb5, 0xda, 0xd8, 0xd9, 0xea +db 0xe0, 0xde, 0xed, 0xdf, 0xdc, 0xed, 0xe2, 0xdd, 0xed, 0xe4, 0xdd, 0xed +db 0xb9, 0xbc, 0xde, 0x75, 0x82, 0xc4, 0x6e, 0x7c, 0xc2, 0xa2, 0xae, 0xd7 +db 0xd8, 0xdd, 0xed, 0xf3, 0xf6, 0xf9, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xfe, 0xfd, 0xfe, 0xec, 0xe8, 0xf4, 0xd5, 0xd7, 0xec, 0xd2, 0xd6, 0xeb +db 0xd5, 0xdc, 0xed, 0xe0, 0xe4, 0xf1, 0xf3, 0xf4, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xf0, 0xf4 +db 0x80, 0xa1, 0xcb, 0x2e, 0x64, 0xb0, 0x21, 0x49, 0xa6, 0x1e, 0x33, 0xa1 +db 0x3e, 0x55, 0xb1, 0x9f, 0xae, 0xd7, 0xe7, 0xeb, 0xf4, 0xff, 0xff, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf6, 0xf3, 0xf6, 0xaa, 0xb2, 0xd5, 0x64, 0x7a, 0xbe, 0x5e, 0x6b, 0xb9 +db 0x60, 0x6c, 0xbb, 0x76, 0x86, 0xc6, 0xbc, 0xc6, 0xe3, 0xfb, 0xfa, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xf7, 0xf7, 0xfb, 0xf1, 0xf0, 0xf6, 0xe3, 0xe1, 0xef +db 0xda, 0xd9, 0xec, 0xdc, 0xd8, 0xeb, 0xdd, 0xd8, 0xeb, 0xdd, 0xd8, 0xeb +db 0xdd, 0xd8, 0xeb, 0xdc, 0xd8, 0xeb, 0xdb, 0xd9, 0xeb, 0xda, 0xd9, 0xec +db 0xd7, 0xd9, 0xed, 0xd4, 0xd8, 0xed, 0xda, 0xde, 0xed, 0xeb, 0xee, 0xf6 +db 0xfa, 0xfb, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xfd, 0xfd, 0xf7, 0xf9, 0xfb, 0xf7, 0xf8, 0xfb, 0xf7, 0xf7, 0xfa +db 0xee, 0xed, 0xf5, 0xd7, 0xd6, 0xea, 0xb8, 0xbc, 0xdd, 0xa7, 0xae, 0xd7 +db 0xab, 0xae, 0xd7, 0xaa, 0xab, 0xd5, 0x91, 0x94, 0xc9, 0x6f, 0x79, 0xbd +db 0x69, 0x70, 0xba, 0x69, 0x6c, 0xb9, 0x66, 0x6b, 0xba, 0x66, 0x6d, 0xbb +db 0x7b, 0x85, 0xc5, 0x9e, 0xac, 0xd6, 0xc9, 0xd2, 0xe7, 0xf4, 0xf3, 0xf8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfe, 0xfe, 0xf2, 0xf6, 0xf9, 0xe4, 0xe7, 0xf2, 0xd5, 0xd9, 0xed +db 0xd8, 0xd9, 0xec, 0xe8, 0xe5, 0xf2, 0xfe, 0xfc, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf9, 0xf8, 0xfc, 0xf6, 0xf5, 0xfa +db 0xf5, 0xf6, 0xfa, 0xf3, 0xf3, 0xf9, 0xe7, 0xe7, 0xf2, 0xdd, 0xdb, 0xed +db 0xdb, 0xdb, 0xed, 0xdc, 0xdb, 0xec, 0xdc, 0xda, 0xec, 0xdd, 0xd9, 0xeb +db 0xdc, 0xd7, 0xeb, 0xdb, 0xd7, 0xeb, 0xdb, 0xd7, 0xeb, 0xd9, 0xd5, 0xea +db 0xd9, 0xd7, 0xeb, 0xec, 0xe9, 0xf3, 0xfd, 0xfc, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfb, 0xfc +db 0xeb, 0xeb, 0xf5, 0xd4, 0xd6, 0xeb, 0xb5, 0xbe, 0xe0, 0x80, 0x8f, 0xc9 +db 0x56, 0x6b, 0xbb, 0x65, 0x79, 0xbf, 0xb0, 0xb3, 0xd9, 0xf8, 0xf4, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0xf8, 0xfb, 0xef, 0xe9, 0xf4 +db 0xe6, 0xe2, 0xf1, 0xe5, 0xe4, 0xf1, 0xe5, 0xe6, 0xf2, 0xea, 0xe9, 0xf3 +db 0xf5, 0xf4, 0xf9, 0xfb, 0xfc, 0xfc, 0xfb, 0xfc, 0xfd, 0xfa, 0xfc, 0xfd +db 0xfb, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe +db 0xfc, 0xf8, 0xfb, 0xee, 0xe8, 0xf4, 0xe5, 0xe2, 0xf0, 0xe5, 0xe3, 0xf1 +db 0xe6, 0xe6, 0xf2, 0xef, 0xee, 0xf6, 0xfc, 0xfc, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfc, 0xfd, 0xec, 0xee, 0xf5, 0xec, 0xed, 0xf5, 0xfa, 0xfb, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfd +db 0xe2, 0xde, 0xec, 0xc0, 0xc4, 0xe0, 0xb9, 0xbe, 0xde, 0xb6, 0xc1, 0xe0 +db 0xcf, 0xd7, 0xeb, 0xf6, 0xf7, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xff, 0xf7, 0xf1, 0xf7, 0xe6, 0xe4, 0xf2, 0xe4, 0xe5, 0xf2 +db 0xe4, 0xe8, 0xf3, 0xee, 0xf0, 0xf7, 0xfd, 0xfd, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfd +db 0xfc, 0xfc, 0xfd, 0xfc, 0xfa, 0xfc, 0xf6, 0xf4, 0xf9, 0xec, 0xe8, 0xf3 +db 0xe8, 0xe5, 0xf2, 0xe9, 0xe7, 0xf2, 0xe7, 0xe8, 0xf2, 0xe8, 0xe8, 0xf3 +db 0xf0, 0xf0, 0xf7, 0xfa, 0xfa, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfe, 0xf0, 0xf1, 0xf8 +db 0xdf, 0xe1, 0xf1, 0xdd, 0xde, 0xef, 0xec, 0xea, 0xf5, 0xfd, 0xfc, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xfd, 0xfe, 0xff, 0xfd, 0xfe, 0xfe, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/glass.inc b/programs/games/hunter/trunk/inc/glass.inc new file mode 100644 index 0000000000..d14ccb6100 --- /dev/null +++ b/programs/games/hunter/trunk/inc/glass.inc @@ -0,0 +1,465 @@ +dw 64, 29 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfd, 0xfd, 0xfe, 0xfd, 0xfd, 0xfe, 0xfd, 0xfd, 0xfe, 0xfd, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfd +db 0xfd, 0xff, 0xfd, 0xfd, 0xfe, 0xfd, 0xfd, 0xfe, 0xfd, 0xfe, 0xff, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xf8, 0xf9, 0xfb, 0xec, 0xef +db 0xe8, 0xc8, 0xcc, 0xe0, 0xb4, 0xb9, 0xe0, 0xa8, 0xab, 0xdd, 0x9b, 0x9d +db 0xe8, 0x93, 0x93, 0xe9, 0x95, 0x92, 0xe6, 0x98, 0x91, 0xdd, 0x9c, 0x93 +db 0xd1, 0xa8, 0x9d, 0xd0, 0xb2, 0xa6, 0xd3, 0xb9, 0xae, 0xe3, 0xd7, 0xd1 +db 0xfa, 0xf4, 0xf2, 0xfd, 0xfc, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xff, 0xff, 0xfb, 0xfb, 0xf9, 0xf6, 0xf7, 0xf1, 0xf7, 0xf7, 0xf0 +db 0xf6, 0xf7, 0xf0, 0xf9, 0xfa, 0xf6, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xf7, 0xfb, 0xf5, 0xde, 0xed, 0xda +db 0xba, 0xd8, 0xb0, 0xae, 0xd6, 0xa2, 0xa4, 0xd7, 0x9b, 0x9b, 0xdd, 0x8c +db 0x98, 0xe6, 0x87, 0x96, 0xe9, 0x87, 0x92, 0xeb, 0x87, 0x92, 0xe5, 0x8f +db 0xa0, 0xe3, 0xa0, 0xae, 0xe4, 0xb0, 0xbc, 0xe9, 0xc1, 0xe5, 0xfa, 0xe5 +db 0xf7, 0xfe, 0xf7, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfb, 0xfc, 0xf9, 0xf3, 0xf3 +db 0xf6, 0xde, 0xe2, 0xe3, 0xa0, 0xab, 0xdf, 0x77, 0x84, 0xe8, 0x60, 0x71 +db 0xe0, 0x3f, 0x4e, 0xd5, 0x2e, 0x3c, 0xd3, 0x26, 0x30, 0xcf, 0x27, 0x2b +db 0xd5, 0x29, 0x27, 0xd3, 0x2d, 0x26, 0xcd, 0x33, 0x25, 0xc3, 0x3a, 0x25 +db 0xb2, 0x43, 0x2a, 0xad, 0x49, 0x2a, 0xab, 0x53, 0x30, 0xb6, 0x72, 0x4d +db 0xbc, 0x90, 0x70, 0xba, 0xa0, 0x86, 0xd1, 0xc5, 0xb5, 0xeb, 0xe5, 0xd9 +db 0xc7, 0xc2, 0xac, 0xae, 0xa8, 0x80, 0xa7, 0xa5, 0x6b, 0xaa, 0xaa, 0x64 +db 0xa2, 0xac, 0x67, 0xa1, 0xb0, 0x79, 0xb4, 0xc3, 0x9c, 0xdf, 0xe8, 0xd1 +db 0xcd, 0xde, 0xc0, 0xa3, 0xc0, 0x8b, 0x8f, 0xbf, 0x71, 0x76, 0xbd, 0x4e +db 0x53, 0xb0, 0x29, 0x44, 0xb2, 0x1d, 0x3d, 0xb9, 0x1d, 0x38, 0xc3, 0x17 +db 0x32, 0xce, 0x12, 0x2d, 0xd3, 0x11, 0x28, 0xd7, 0x11, 0x22, 0xd5, 0x16 +db 0x22, 0xd6, 0x1b, 0x2a, 0xd9, 0x26, 0x34, 0xe1, 0x35, 0x55, 0xec, 0x58 +db 0x6e, 0xe4, 0x73, 0x8e, 0xe6, 0x95, 0xce, 0xf5, 0xd4, 0xf0, 0xf9, 0xf1 +db 0xf8, 0xfc, 0xf9, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xcf, 0xd6, 0xe2, 0x68, 0x7d +db 0xe0, 0x42, 0x5b, 0xe7, 0x1d, 0x3b, 0xea, 0xc, 0x29, 0xeb, 0xa, 0x24 +db 0xee, 0xb, 0x22, 0xe3, 0x11, 0x21, 0xd6, 0x1c, 0x25, 0xd6, 0x26, 0x2a +db 0xd6, 0x29, 0x27, 0xd3, 0x2d, 0x25, 0xcc, 0x32, 0x24, 0xc6, 0x38, 0x23 +db 0xc0, 0x3f, 0x22, 0xbb, 0x44, 0x20, 0xb4, 0x4a, 0x20, 0xad, 0x4f, 0x1d +db 0xa1, 0x54, 0x1d, 0x9a, 0x5d, 0x22, 0xa0, 0x71, 0x35, 0xa8, 0x83, 0x44 +db 0x92, 0x78, 0x2f, 0x83, 0x71, 0x1b, 0x7d, 0x74, 0x13, 0x79, 0x79, 0xe +db 0x72, 0x7e, 0x11, 0x6d, 0x84, 0x17, 0x70, 0x91, 0x24, 0x80, 0xa6, 0x3e +db 0x73, 0xa7, 0x35, 0x5b, 0x9e, 0x1c, 0x4e, 0xa2, 0x11, 0x47, 0xa9, 0xd +db 0x44, 0xae, 0x14, 0x46, 0xb7, 0x19, 0x3f, 0xc2, 0x14, 0x38, 0xc8, 0x12 +db 0x31, 0xcd, 0x12, 0x2b, 0xd3, 0x12, 0x27, 0xd8, 0x10, 0x21, 0xde, 0xf +db 0x1a, 0xe4, 0xe, 0x16, 0xe9, 0xc, 0x10, 0xed, 0xb, 0xa, 0xee, 0xa +db 0x9, 0xeb, 0xd, 0x12, 0xed, 0x1a, 0x35, 0xe6, 0x40, 0x56, 0xe4, 0x61 +db 0xb2, 0xf4, 0xb9, 0xfe, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xb3, 0xc0, 0xf8, 0x12, 0x38 +db 0xf6, 0x2, 0x24, 0xf8, 0x4, 0x27, 0xf7, 0x9, 0x28, 0xef, 0xd, 0x28 +db 0xe5, 0x2a, 0x3d, 0xe4, 0x66, 0x70, 0xd2, 0x76, 0x7b, 0xc5, 0x4c, 0x4e +db 0xd2, 0x2a, 0x29, 0xd3, 0x2f, 0x26, 0xcd, 0x35, 0x26, 0xc7, 0x3a, 0x25 +db 0xc0, 0x40, 0x24, 0xbb, 0x47, 0x23, 0xb5, 0x4c, 0x23, 0xae, 0x52, 0x22 +db 0xa8, 0x58, 0x20, 0xa2, 0x5e, 0x1e, 0x9b, 0x62, 0x1b, 0x94, 0x66, 0x18 +db 0x8e, 0x6e, 0x1c, 0x89, 0x79, 0x2d, 0x9c, 0x97, 0x52, 0xae, 0xae, 0x6b +db 0x9c, 0xa6, 0x5a, 0x7a, 0x8f, 0x33, 0x6e, 0x90, 0x1c, 0x65, 0x95, 0x13 +db 0x5f, 0x9b, 0x13, 0x5b, 0xa2, 0x15, 0x68, 0xad, 0x31, 0x8a, 0xc3, 0x68 +db 0x83, 0xc1, 0x6f, 0x58, 0xb3, 0x3c, 0x3f, 0xbf, 0x16, 0x39, 0xc8, 0x14 +db 0x34, 0xcd, 0x13, 0x2e, 0xd3, 0x13, 0x28, 0xd8, 0x12, 0x23, 0xde, 0x12 +db 0x1d, 0xe4, 0x11, 0x19, 0xe9, 0x11, 0x15, 0xec, 0xf, 0xf, 0xf1, 0xe +db 0xa, 0xf5, 0xd, 0x5, 0xf8, 0xb, 0x2, 0xf8, 0x8, 0x2, 0xf9, 0xd +db 0x87, 0xfd, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb2, 0xbf, 0xff, 0xf, 0x37 +db 0xfc, 0x2, 0x28, 0xf8, 0x7, 0x2a, 0xf4, 0xc, 0x2a, 0xf2, 0x50, 0x63 +db 0xee, 0xab, 0xb2, 0xf8, 0xe3, 0xe5, 0xe3, 0xaa, 0xad, 0xce, 0x41, 0x44 +db 0xd4, 0x27, 0x25, 0xd2, 0x2f, 0x27, 0xcc, 0x35, 0x26, 0xc7, 0x3b, 0x26 +db 0xc1, 0x41, 0x25, 0xba, 0x46, 0x24, 0xb4, 0x4c, 0x23, 0xae, 0x53, 0x23 +db 0xa8, 0x59, 0x21, 0xa2, 0x5f, 0x21, 0x9c, 0x65, 0x1f, 0x95, 0x6a, 0x1e +db 0x99, 0x84, 0x4a, 0xc0, 0xbd, 0xa0, 0xe5, 0xe6, 0xda, 0xfa, 0xfa, 0xf5 +db 0xeb, 0xef, 0xe4, 0xc3, 0xcd, 0xb0, 0x8c, 0xa7, 0x5c, 0x67, 0x97, 0x1b +db 0x63, 0x9d, 0x19, 0x8f, 0xbe, 0x60, 0xc5, 0xdb, 0xb4, 0xe9, 0xf3, 0xe4 +db 0xa9, 0xd5, 0x9c, 0x50, 0xb8, 0x2f, 0x3c, 0xc0, 0x12, 0x3a, 0xc7, 0x14 +db 0x33, 0xcd, 0x13, 0x2d, 0xd3, 0x14, 0x28, 0xd9, 0x13, 0x23, 0xde, 0x12 +db 0x1e, 0xe3, 0x11, 0x19, 0xe8, 0x10, 0x15, 0xec, 0x10, 0x10, 0xf1, 0x10 +db 0xc, 0xf5, 0xf, 0x9, 0xf8, 0xe, 0x2, 0xfb, 0xb, 0x2, 0xff, 0xb +db 0x86, 0xff, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xb2, 0xbe, 0xf8, 0xe, 0x34 +db 0xfb, 0x2, 0x26, 0xf9, 0x5, 0x28, 0xe7, 0x19, 0x34, 0xea, 0x9b, 0xa5 +db 0xff, 0xff, 0xff, 0xf0, 0xce, 0xd1, 0xd4, 0x4f, 0x57, 0xda, 0x20, 0x25 +db 0xd8, 0x28, 0x26, 0xd2, 0x2f, 0x26, 0xcc, 0x35, 0x26, 0xc6, 0x3b, 0x26 +db 0xc0, 0x41, 0x24, 0xbb, 0x47, 0x23, 0xb4, 0x4d, 0x23, 0xad, 0x53, 0x23 +db 0xa7, 0x59, 0x21, 0xa2, 0x5f, 0x21, 0x9d, 0x65, 0x20, 0x92, 0x68, 0x1c +db 0x9a, 0x89, 0x53, 0xeb, 0xea, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf6, 0xf9, 0xf3, 0x98, 0xb3, 0x72, 0x62, 0x93, 0x16 +db 0x68, 0x9b, 0x29, 0xc1, 0xd5, 0xae, 0xff, 0xff, 0xff, 0xcb, 0xe4, 0xc3 +db 0x62, 0xb8, 0x41, 0x41, 0xb9, 0x11, 0x3f, 0xc2, 0x14, 0x39, 0xc7, 0x14 +db 0x33, 0xcd, 0x14, 0x2e, 0xd3, 0x13, 0x28, 0xd9, 0x13, 0x23, 0xde, 0x11 +db 0x1e, 0xe3, 0x11, 0x19, 0xe8, 0x11, 0x14, 0xec, 0x10, 0x10, 0xf1, 0x10 +db 0xc, 0xf5, 0xf, 0x9, 0xf8, 0xf, 0x2, 0xfc, 0xa, 0x2, 0xfa, 0x9 +db 0x84, 0xfb, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xd0, 0xd6, 0xef, 0x63, 0x7a +db 0xfb, 0x23, 0x43, 0xf9, 0x3, 0x24, 0xe8, 0x3b, 0x51, 0xed, 0xcd, 0xd2 +db 0xfd, 0xfb, 0xfb, 0xe7, 0x86, 0x8d, 0xdf, 0x21, 0x2b, 0xde, 0x22, 0x26 +db 0xd7, 0x29, 0x28, 0xd2, 0x2f, 0x27, 0xcc, 0x35, 0x26, 0xc6, 0x3a, 0x25 +db 0xc0, 0x41, 0x24, 0xbb, 0x47, 0x24, 0xb4, 0x4d, 0x23, 0xad, 0x53, 0x23 +db 0xa7, 0x59, 0x21, 0xa1, 0x5f, 0x21, 0x9b, 0x65, 0x20, 0x93, 0x67, 0x1a +db 0x9f, 0x85, 0x41, 0xeb, 0xe7, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf4, 0xf7, 0xee, 0x97, 0xb2, 0x5d, 0x61, 0x91, 0xe +db 0x81, 0xac, 0x4f, 0xe0, 0xe9, 0xdb, 0xf8, 0xfa, 0xf6, 0x94, 0xc9, 0x75 +db 0x4a, 0xb4, 0x16, 0x43, 0xbc, 0x14, 0x3f, 0xc2, 0x15, 0x39, 0xc8, 0x14 +db 0x33, 0xce, 0x13, 0x2d, 0xd3, 0x14, 0x28, 0xd9, 0x12, 0x23, 0xde, 0x12 +db 0x1e, 0xe3, 0x12, 0x19, 0xe8, 0x10, 0x14, 0xed, 0x10, 0x10, 0xf1, 0x10 +db 0xc, 0xf5, 0xf, 0x6, 0xf9, 0xc, 0x15, 0xfd, 0x1d, 0x4e, 0xf5, 0x58 +db 0xb2, 0xf6, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfd, 0xfe, 0xe7, 0xea +db 0xfc, 0x5c, 0x74, 0xf8, 0x2, 0x1f, 0xf8, 0x59, 0x6f, 0xff, 0xf3, 0xf4 +db 0xf1, 0xd6, 0xd8, 0xd2, 0x43, 0x4d, 0xe0, 0x1b, 0x25, 0xdd, 0x24, 0x28 +db 0xd7, 0x2a, 0x27, 0xd2, 0x2f, 0x27, 0xcc, 0x35, 0x26, 0xc6, 0x3b, 0x25 +db 0xc0, 0x41, 0x25, 0xba, 0x47, 0x24, 0xb4, 0x4d, 0x23, 0xae, 0x53, 0x22 +db 0xa8, 0x59, 0x22, 0xa1, 0x5f, 0x21, 0x9c, 0x65, 0x20, 0x92, 0x67, 0x1b +db 0x9a, 0x84, 0x45, 0xe8, 0xe6, 0xd8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf3, 0xf6, 0xee, 0x94, 0xb0, 0x62, 0x5f, 0x91, 0xf +db 0xa1, 0xc2, 0x72, 0xfc, 0xfd, 0xfa, 0xd1, 0xe4, 0xca, 0x5f, 0xad, 0x36 +db 0x49, 0xb4, 0x13, 0x45, 0xbc, 0x16, 0x3f, 0xc3, 0x15, 0x39, 0xc8, 0x14 +db 0x33, 0xcd, 0x14, 0x2e, 0xd4, 0x13, 0x28, 0xd9, 0x13, 0x23, 0xde, 0x12 +db 0x1d, 0xe4, 0x11, 0x19, 0xe8, 0x11, 0x14, 0xed, 0x10, 0x10, 0xf1, 0xf +db 0xb, 0xf5, 0xe, 0x2, 0xf8, 0x7, 0x36, 0xfc, 0x3e, 0xd3, 0xff, 0xd5 +db 0xfa, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf5 +db 0xfc, 0x5f, 0x77, 0xf8, 0x2, 0x1f, 0xfa, 0x5c, 0x72, 0xfb, 0xed, 0xef +db 0xdd, 0x96, 0x9e, 0xda, 0x25, 0x32, 0xe2, 0x1d, 0x26, 0xdd, 0x24, 0x28 +db 0xd7, 0x2a, 0x28, 0xd2, 0x2f, 0x26, 0xcc, 0x35, 0x26, 0xc5, 0x3b, 0x26 +db 0xc0, 0x41, 0x24, 0xba, 0x48, 0x24, 0xb4, 0x4d, 0x23, 0xae, 0x53, 0x23 +db 0xa8, 0x59, 0x21, 0xa1, 0x5f, 0x20, 0x9c, 0x65, 0x20, 0x90, 0x66, 0x1b +db 0x94, 0x85, 0x4e, 0xeb, 0xeb, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf8, 0xfa, 0xf6, 0x93, 0xb0, 0x6f, 0x5c, 0x8f, 0x10 +db 0xa4, 0xc5, 0x75, 0xf2, 0xf6, 0xef, 0x9c, 0xc5, 0x89, 0x50, 0xab, 0x1d +db 0x4a, 0xb6, 0x15, 0x45, 0xbc, 0x16, 0x3f, 0xc2, 0x15, 0x39, 0xc8, 0x14 +db 0x33, 0xce, 0x14, 0x2d, 0xd3, 0x13, 0x28, 0xd9, 0x12, 0x23, 0xde, 0x12 +db 0x1d, 0xe4, 0x11, 0x19, 0xe8, 0x10, 0x14, 0xed, 0x10, 0x10, 0xf1, 0x10 +db 0xc, 0xf5, 0xf, 0x2, 0xf9, 0x8, 0x37, 0xfc, 0x3f, 0xe0, 0xff, 0xe1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xf3 +db 0xfc, 0x5e, 0x77, 0xf8, 0x2, 0x1f, 0xf9, 0x5d, 0x72, 0xf9, 0xe3, 0xe6 +db 0xd5, 0x69, 0x73, 0xe0, 0x17, 0x26, 0xe3, 0x1e, 0x27, 0xdd, 0x25, 0x28 +db 0xd6, 0x2a, 0x27, 0xd2, 0x30, 0x26, 0xcc, 0x35, 0x26, 0xc5, 0x3a, 0x26 +db 0xc0, 0x41, 0x25, 0xba, 0x48, 0x24, 0xb4, 0x4d, 0x23, 0xad, 0x53, 0x22 +db 0xa7, 0x59, 0x22, 0xa2, 0x5f, 0x20, 0x9c, 0x65, 0x1f, 0x91, 0x67, 0x1b +db 0x99, 0x88, 0x53, 0xef, 0xef, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfb, 0x99, 0xb2, 0x75, 0x5e, 0x8f, 0x11 +db 0xa5, 0xc5, 0x76, 0xe8, 0xf0, 0xe2, 0x7b, 0xb3, 0x5b, 0x4c, 0xac, 0x13 +db 0x4b, 0xb6, 0x16, 0x45, 0xbc, 0x16, 0x3e, 0xc2, 0x15, 0x39, 0xc8, 0x14 +db 0x33, 0xce, 0x14, 0x2e, 0xd4, 0x13, 0x28, 0xd9, 0x12, 0x23, 0xde, 0x11 +db 0x1d, 0xe4, 0x11, 0x19, 0xe8, 0x10, 0x14, 0xed, 0xf, 0x10, 0xf1, 0xf +db 0xb, 0xf5, 0xf, 0x2, 0xf8, 0x7, 0x37, 0xfc, 0x3f, 0xdd, 0xff, 0xdf +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xf4 +db 0xee, 0x66, 0x7b, 0xf1, 0x2, 0x22, 0xed, 0x43, 0x5a, 0xeb, 0xb9, 0xbf +db 0xe1, 0x55, 0x62, 0xe2, 0x15, 0x24, 0xe2, 0x1f, 0x28, 0xdd, 0x24, 0x28 +db 0xd7, 0x2a, 0x27, 0xd2, 0x30, 0x27, 0xcc, 0x36, 0x25, 0xc7, 0x3b, 0x25 +db 0xc0, 0x41, 0x24, 0xba, 0x48, 0x23, 0xb4, 0x4d, 0x23, 0xad, 0x54, 0x22 +db 0xa7, 0x5a, 0x21, 0xa2, 0x60, 0x21, 0x9c, 0x66, 0x20, 0x92, 0x67, 0x1c +db 0x9f, 0x8b, 0x58, 0xf0, 0xf0, 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfb, 0xa0, 0xb4, 0x7a, 0x62, 0x90, 0x15 +db 0x8a, 0xb3, 0x59, 0xc6, 0xdc, 0xbb, 0x72, 0xb6, 0x49, 0x4c, 0xad, 0x12 +db 0x4b, 0xb6, 0x16, 0x45, 0xbd, 0x16, 0x3f, 0xc3, 0x15, 0x39, 0xc8, 0x14 +db 0x33, 0xce, 0x14, 0x2d, 0xd4, 0x13, 0x27, 0xd9, 0x12, 0x22, 0xde, 0x12 +db 0x1c, 0xe3, 0x12, 0x19, 0xe8, 0x10, 0x15, 0xec, 0x10, 0x10, 0xf1, 0x10 +db 0xc, 0xf6, 0xf, 0x2, 0xf7, 0x8, 0x3b, 0xf1, 0x45, 0xde, 0xfc, 0xe0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfb, 0xfb +db 0xe0, 0x76, 0x87, 0xea, 0x5, 0x26, 0xe2, 0x1f, 0x3a, 0xcc, 0x63, 0x71 +db 0xe5, 0x37, 0x46, 0xe8, 0x17, 0x25, 0xe2, 0x1f, 0x28, 0xdd, 0x24, 0x28 +db 0xd7, 0x2a, 0x28, 0xd1, 0x2f, 0x26, 0xcc, 0x35, 0x25, 0xc6, 0x3b, 0x25 +db 0xc0, 0x42, 0x25, 0xba, 0x48, 0x24, 0xb3, 0x4d, 0x23, 0xad, 0x54, 0x23 +db 0xa7, 0x5a, 0x21, 0xa1, 0x60, 0x21, 0x9c, 0x65, 0x1f, 0x94, 0x6a, 0x1f +db 0xab, 0x9d, 0x72, 0xf4, 0xf3, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xae, 0xc1, 0x94, 0x69, 0x98, 0x20 +db 0x68, 0x9a, 0x30, 0x83, 0xae, 0x68, 0x65, 0xb1, 0x32, 0x4f, 0xb0, 0x13 +db 0x4b, 0xb6, 0x16, 0x45, 0xbd, 0x16, 0x3e, 0xc3, 0x15, 0x39, 0xc8, 0x15 +db 0x33, 0xce, 0x13, 0x2d, 0xd4, 0x13, 0x28, 0xda, 0x13, 0x22, 0xdf, 0x12 +db 0x1d, 0xe4, 0x11, 0x19, 0xe8, 0x11, 0x14, 0xed, 0x10, 0x10, 0xf1, 0x10 +db 0xb, 0xf6, 0xe, 0x2, 0xf4, 0x9, 0x45, 0xe5, 0x51, 0xe9, 0xfb, 0xeb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff +db 0xe2, 0x88, 0x97, 0xec, 0xe, 0x2d, 0xe8, 0x11, 0x2c, 0xc8, 0x2c, 0x3f +db 0xde, 0x20, 0x32, 0xe8, 0x19, 0x28, 0xe1, 0x1f, 0x28, 0xdc, 0x24, 0x28 +db 0xd7, 0x2b, 0x27, 0xd1, 0x30, 0x26, 0xcb, 0x35, 0x26, 0xc5, 0x3b, 0x25 +db 0xc0, 0x42, 0x25, 0xb9, 0x48, 0x23, 0xb3, 0x4d, 0x23, 0xad, 0x54, 0x23 +db 0xa7, 0x5a, 0x22, 0xa1, 0x60, 0x21, 0x9b, 0x65, 0x1e, 0x95, 0x70, 0x29 +db 0xd0, 0xc6, 0xac, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xe4, 0xcb, 0x78, 0xa3, 0x39 +db 0x5c, 0x96, 0x1c, 0x5c, 0x98, 0x32, 0x58, 0xa7, 0x21, 0x50, 0xb0, 0x16 +db 0x4b, 0xb6, 0x16, 0x45, 0xbd, 0x16, 0x3e, 0xc3, 0x15, 0x39, 0xc8, 0x14 +db 0x33, 0xce, 0x14, 0x2d, 0xd4, 0x13, 0x27, 0xd9, 0x13, 0x22, 0xde, 0x11 +db 0x1d, 0xe4, 0x11, 0x18, 0xe9, 0x11, 0x14, 0xed, 0x10, 0x10, 0xf1, 0xf +db 0xb, 0xf6, 0xe, 0x6, 0xf3, 0xc, 0x5b, 0xe2, 0x63, 0xf3, 0xfa, 0xf4 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff +db 0xed, 0xb9, 0xc1, 0xf0, 0x27, 0x42, 0xf3, 0x7, 0x25, 0xe1, 0x17, 0x2e +db 0xe4, 0x19, 0x2c, 0xe8, 0x1a, 0x29, 0xe2, 0x20, 0x28, 0xdc, 0x24, 0x28 +db 0xd7, 0x2b, 0x28, 0xd2, 0x30, 0x26, 0xcb, 0x36, 0x26, 0xc6, 0x3b, 0x25 +db 0xc0, 0x41, 0x24, 0xb9, 0x48, 0x24, 0xb4, 0x4d, 0x23, 0xad, 0x54, 0x22 +db 0xa7, 0x5a, 0x22, 0xa1, 0x60, 0x21, 0x99, 0x65, 0x1d, 0x94, 0x75, 0x39 +db 0xdc, 0xd6, 0xc5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0xef, 0xe3, 0x80, 0xa5, 0x4f +db 0x5e, 0x9b, 0x16, 0x59, 0x9f, 0x1e, 0x55, 0xa8, 0x1a, 0x51, 0xb0, 0x16 +db 0x4b, 0xb6, 0x16, 0x45, 0xbd, 0x16, 0x3e, 0xc3, 0x16, 0x39, 0xc8, 0x14 +db 0x33, 0xce, 0x13, 0x2d, 0xd4, 0x14, 0x28, 0xd9, 0x12, 0x23, 0xdf, 0x11 +db 0x1d, 0xe5, 0x11, 0x18, 0xe8, 0x10, 0x14, 0xed, 0x10, 0x10, 0xf1, 0x10 +db 0x8, 0xf6, 0xc, 0x10, 0xf6, 0x17, 0x90, 0xee, 0x96, 0xfb, 0xfd, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xe5, 0xe8, 0xec, 0x56, 0x6a, 0xf1, 0x9, 0x27, 0xf1, 0x10, 0x29 +db 0xec, 0x16, 0x2a, 0xe6, 0x1b, 0x2a, 0xe1, 0x20, 0x28, 0xdc, 0x24, 0x28 +db 0xd7, 0x2b, 0x27, 0xd1, 0x30, 0x27, 0xcb, 0x36, 0x26, 0xc5, 0x3c, 0x25 +db 0xbf, 0x41, 0x25, 0xb9, 0x48, 0x23, 0xb3, 0x4e, 0x23, 0xad, 0x54, 0x22 +db 0xa7, 0x5a, 0x21, 0xa1, 0x5f, 0x1f, 0x98, 0x63, 0x1d, 0xb6, 0x9d, 0x70 +db 0xf4, 0xf2, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfa, 0xb2, 0xc8, 0x90 +db 0x64, 0x9e, 0x1d, 0x5c, 0xa4, 0x15, 0x57, 0xaa, 0x18, 0x51, 0xb1, 0x18 +db 0x4b, 0xb7, 0x16, 0x44, 0xbd, 0x16, 0x3e, 0xc3, 0x15, 0x39, 0xc8, 0x14 +db 0x33, 0xce, 0x14, 0x2d, 0xd4, 0x13, 0x27, 0xda, 0x13, 0x22, 0xdf, 0x11 +db 0x1d, 0xe4, 0x11, 0x19, 0xe9, 0x11, 0x14, 0xed, 0xf, 0xf, 0xf2, 0xf +db 0x6, 0xf5, 0xb, 0x34, 0xed, 0x39, 0xc9, 0xf9, 0xcb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfd, 0xfd, 0xf3, 0xaf, 0xb8, 0xeb, 0x25, 0x3e, 0xf0, 0xc, 0x26 +db 0xec, 0x16, 0x2a, 0xe6, 0x1a, 0x29, 0xe1, 0x1f, 0x29, 0xdc, 0x25, 0x27 +db 0xd6, 0x2b, 0x27, 0xd1, 0x30, 0x27, 0xcb, 0x36, 0x26, 0xc6, 0x3c, 0x25 +db 0xc0, 0x41, 0x25, 0xb9, 0x48, 0x24, 0xb3, 0x4e, 0x23, 0xad, 0x54, 0x22 +db 0xa7, 0x5a, 0x21, 0x9d, 0x5c, 0x1b, 0x9c, 0x71, 0x38, 0xd4, 0xc7, 0xb3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xe6, 0xce +db 0x7a, 0xa8, 0x48, 0x57, 0xa1, 0x14, 0x56, 0xaa, 0x16, 0x51, 0xb0, 0x17 +db 0x4b, 0xb6, 0x17, 0x44, 0xbd, 0x15, 0x3e, 0xc3, 0x15, 0x39, 0xc9, 0x14 +db 0x33, 0xcf, 0x13, 0x2d, 0xd4, 0x13, 0x27, 0xda, 0x12, 0x22, 0xdf, 0x11 +db 0x1d, 0xe4, 0x11, 0x18, 0xe8, 0x11, 0x13, 0xed, 0xf, 0xc, 0xf2, 0xd +db 0x12, 0xf1, 0x17, 0x87, 0xf2, 0x8c, 0xf6, 0xfd, 0xf7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf9, 0xe7, 0xea, 0xe1, 0x72, 0x81, 0xe7, 0x18, 0x2f +db 0xec, 0x12, 0x26, 0xe7, 0x1a, 0x28, 0xe1, 0x20, 0x28, 0xdc, 0x25, 0x28 +db 0xd6, 0x2b, 0x27, 0xd1, 0x30, 0x26, 0xcb, 0x36, 0x26, 0xc5, 0x3c, 0x25 +db 0xbf, 0x41, 0x25, 0xb9, 0x47, 0x24, 0xb3, 0x4e, 0x23, 0xad, 0x54, 0x22 +db 0xa4, 0x56, 0x1d, 0x9c, 0x69, 0x34, 0xc6, 0xb6, 0x9d, 0xf9, 0xf7, 0xf4 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfb +db 0xc5, 0xda, 0xb7, 0x6e, 0xab, 0x41, 0x51, 0xa7, 0x14, 0x50, 0xb0, 0x15 +db 0x4a, 0xb6, 0x16, 0x44, 0xbd, 0x16, 0x3f, 0xc3, 0x15, 0x38, 0xc9, 0x14 +db 0x32, 0xcf, 0x13, 0x2d, 0xd4, 0x13, 0x27, 0xda, 0x12, 0x22, 0xdf, 0x11 +db 0x1d, 0xe4, 0x11, 0x18, 0xe9, 0x10, 0x11, 0xee, 0xc, 0xf, 0xec, 0xf +db 0x51, 0xe4, 0x56, 0xce, 0xf6, 0xd3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xd8, 0xdb, 0xe1, 0x68, 0x75 +db 0xdf, 0x1c, 0x2e, 0xe3, 0x15, 0x24, 0xe2, 0x1c, 0x25, 0xdd, 0x23, 0x26 +db 0xd6, 0x2a, 0x26, 0xd1, 0x2f, 0x25, 0xcb, 0x35, 0x25, 0xc5, 0x3b, 0x24 +db 0xc0, 0x41, 0x23, 0xb9, 0x46, 0x21, 0xb0, 0x49, 0x1d, 0xa7, 0x50, 0x1f +db 0xa6, 0x68, 0x3b, 0xc9, 0xb4, 0x9d, 0xf9, 0xf7, 0xf5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xfd, 0xfc, 0xc5, 0xdb, 0xb7, 0x6f, 0xb0, 0x45, 0x4c, 0xac, 0x15 +db 0x44, 0xb4, 0x10, 0x41, 0xbd, 0x12, 0x3d, 0xc3, 0x13, 0x37, 0xc9, 0x12 +db 0x31, 0xcf, 0x12, 0x2b, 0xd4, 0x12, 0x26, 0xda, 0x11, 0x21, 0xdf, 0x10 +db 0x1a, 0xe5, 0xe, 0x12, 0xe7, 0xb, 0x12, 0xe6, 0x10, 0x4a, 0xe2, 0x4a +db 0xc2, 0xf1, 0xc2, 0xfd, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xda, 0xdd +db 0xd9, 0x82, 0x8b, 0xd1, 0x41, 0x4c, 0xd6, 0x25, 0x2e, 0xd2, 0x22, 0x25 +db 0xd3, 0x25, 0x21, 0xcf, 0x29, 0x1f, 0xca, 0x30, 0x1f, 0xc1, 0x36, 0x1f +db 0xb6, 0x3f, 0x22, 0xb4, 0x49, 0x28, 0xb7, 0x65, 0x41, 0xb0, 0x80, 0x62 +db 0xd0, 0xbb, 0xac, 0xf9, 0xf7, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0xca, 0xdf, 0xbf, 0x7f, 0xbd, 0x68 +db 0x64, 0xbd, 0x40, 0x4b, 0xba, 0x20, 0x3a, 0xba, 0x14, 0x32, 0xc5, 0xf +db 0x2c, 0xce, 0xc, 0x26, 0xd3, 0xb, 0x20, 0xd9, 0xa, 0x1c, 0xd9, 0xd +db 0x1d, 0xdb, 0x14, 0x30, 0xdc, 0x2f, 0x65, 0xdd, 0x6b, 0xc4, 0xf1, 0xc6 +db 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xf6, 0xf7, 0xea, 0xc9, 0xcc, 0xd7, 0x91, 0x95, 0xd4, 0x79, 0x7b +db 0xe0, 0x71, 0x6e, 0xe0, 0x73, 0x6c, 0xdd, 0x77, 0x6c, 0xd2, 0x7c, 0x6e +db 0xc4, 0x8b, 0x7c, 0xcb, 0x9f, 0x91, 0xe9, 0xd4, 0xcb, 0xf3, 0xed, 0xe9 +db 0xfd, 0xfd, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xf6, 0xed +db 0xdc, 0xef, 0xd4, 0xa8, 0xd3, 0x98, 0x88, 0xc9, 0x77, 0x79, 0xd4, 0x65 +db 0x75, 0xdf, 0x5f, 0x71, 0xe2, 0x5f, 0x6c, 0xe7, 0x5f, 0x6e, 0xdd, 0x68 +db 0x85, 0xda, 0x83, 0xb6, 0xea, 0xb9, 0xed, 0xf9, 0xef, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfe, 0xfc, 0xf4, 0xf5 +db 0xfc, 0xf1, 0xf0, 0xfc, 0xf1, 0xf1, 0xfb, 0xf1, 0xf1, 0xfb, 0xf2, 0xf0 +db 0xfb, 0xf7, 0xf6, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xf9, 0xfd, 0xf8, 0xf2, 0xfb, 0xf0 +db 0xf1, 0xfc, 0xef, 0xf1, 0xfc, 0xef, 0xf0, 0xfd, 0xef, 0xf3, 0xfd, 0xf1 +db 0xfb, 0xfd, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/glaz.inc b/programs/games/hunter/trunk/inc/glaz.inc new file mode 100644 index 0000000000..cf3004c40f --- /dev/null +++ b/programs/games/hunter/trunk/inc/glaz.inc @@ -0,0 +1,593 @@ +dw 64, 37 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xff, 0xd4, 0xd4, 0xff +db 0xbe, 0xbe, 0xff, 0x90, 0x8f, 0xff, 0x72, 0x71, 0xff, 0x75, 0x75, 0xff +db 0x75, 0x74, 0xff, 0x75, 0x74, 0xff, 0x75, 0x74, 0xff, 0x75, 0x74, 0xff +db 0x75, 0x74, 0xff, 0x75, 0x74, 0xff, 0x75, 0x75, 0xff, 0x75, 0x74, 0xff +db 0x73, 0x73, 0xff, 0x7b, 0x7b, 0xff, 0xb4, 0xb4, 0xff, 0xcf, 0xcf, 0xff +db 0xf4, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xff +db 0xce, 0xcf, 0xff, 0x89, 0x8a, 0xff, 0x53, 0x55, 0xff, 0x20, 0x21, 0xff +db 0xc, 0xd, 0xff, 0x2, 0x3, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff +db 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff +db 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff +db 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0xa, 0xa, 0xff, 0x1c, 0x1d, 0xff +db 0x42, 0x43, 0xff, 0x85, 0x85, 0xff, 0xcf, 0xcf, 0xff, 0xf7, 0xf7, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe0, 0xe1, 0xff, 0x9a, 0x9b, 0xff, 0x4b, 0x4e, 0xff +db 0x17, 0x1a, 0xff, 0x2, 0x5, 0xff, 0x2, 0x2, 0xff, 0x2, 0x4, 0xff +db 0x3, 0x6, 0xff, 0x4, 0x8, 0xff, 0x6, 0x9, 0xff, 0x6, 0x9, 0xff +db 0x6, 0x9, 0xff, 0x6, 0x9, 0xff, 0x6, 0x9, 0xff, 0x6, 0x9, 0xff +db 0x6, 0xa, 0xff, 0x6, 0x9, 0xff, 0x6, 0x9, 0xff, 0x6, 0x9, 0xff +db 0x6, 0xa, 0xff, 0x5, 0x9, 0xff, 0x3, 0x6, 0xff, 0x2, 0x3, 0xff +db 0x2, 0x2, 0xff, 0x2, 0x5, 0xff, 0x17, 0x1a, 0xff, 0x4c, 0x4f, 0xff +db 0x9a, 0x9b, 0xff, 0xe0, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xe3, 0xff, 0xbd, 0xbe, 0xff +db 0x8d, 0x90, 0xff, 0x37, 0x3c, 0xff, 0x7, 0xc, 0xff, 0x2, 0x5, 0xff +db 0x4, 0xa, 0xff, 0x3, 0xa, 0xff, 0x2, 0x9, 0xff, 0x2, 0x8, 0xff +db 0x2, 0x9, 0xff, 0x2, 0x9, 0xff, 0x6, 0xc, 0xff, 0xa, 0x10, 0xff +db 0xa, 0x10, 0xff, 0xa, 0x10, 0xff, 0xa, 0x10, 0xff, 0xa, 0xf, 0xff +db 0xa, 0xf, 0xff, 0xa, 0x10, 0xff, 0xa, 0x10, 0xff, 0xa, 0xf, 0xff +db 0xa, 0x10, 0xff, 0xb, 0x10, 0xff, 0x7, 0xd, 0xff, 0x2, 0xa, 0xff +db 0x2, 0x9, 0xff, 0x4, 0xb, 0xff, 0x4, 0xa, 0xff, 0x2, 0x5, 0xff +db 0x7, 0xc, 0xff, 0x36, 0x3b, 0xff, 0x7f, 0x82, 0xff, 0xbe, 0xc0, 0xff +db 0xd6, 0xd7, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xef, 0xef, 0xff, 0x95, 0x99, 0xff, 0x3a, 0x40, 0xff, 0x10, 0x18, 0xff +db 0x7, 0x10, 0xff, 0x7, 0x10, 0xff, 0xb, 0x14, 0xff, 0x6, 0x11, 0xff +db 0xd, 0x16, 0xff, 0x2e, 0x2f, 0xf9, 0x45, 0x40, 0xf3, 0x5f, 0x51, 0xed +db 0x85, 0x6d, 0xe5, 0x86, 0x6e, 0xe4, 0x42, 0x3c, 0xf3, 0x9, 0x12, 0xff +db 0xc, 0x15, 0xff, 0x8, 0x12, 0xff, 0x5, 0x10, 0xff, 0x9, 0x13, 0xff +db 0xb, 0x14, 0xff, 0xb, 0x14, 0xff, 0xd, 0x15, 0xff, 0xe, 0x17, 0xff +db 0xc, 0x15, 0xff, 0x24, 0x27, 0xfb, 0x6b, 0x5b, 0xec, 0x6d, 0x5d, 0xeb +db 0x45, 0x40, 0xf3, 0x22, 0x24, 0xf9, 0xf, 0x16, 0xfe, 0x5, 0x10, 0xff +db 0x9, 0x12, 0xff, 0x7, 0x10, 0xff, 0x6, 0xe, 0xff, 0x11, 0x1a, 0xff +db 0x29, 0x30, 0xff, 0x73, 0x77, 0xff, 0xdc, 0xdd, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0xcb, 0xff +db 0x59, 0x60, 0xff, 0x14, 0x1f, 0xff, 0xc, 0x18, 0xff, 0x11, 0x1d, 0xff +db 0x10, 0x1d, 0xff, 0xb, 0x1a, 0xff, 0x12, 0x1f, 0xff, 0x41, 0x41, 0xf5 +db 0x9c, 0x82, 0xe1, 0xde, 0xb2, 0xd1, 0xf9, 0xc6, 0xcd, 0xfd, 0xcf, 0xd0 +db 0xff, 0xdd, 0xd4, 0xff, 0xeb, 0xdd, 0x9d, 0x94, 0xf2, 0x9, 0x16, 0xff +db 0x1a, 0x22, 0xfc, 0x37, 0x39, 0xf7, 0x4d, 0x47, 0xf1, 0x32, 0x33, 0xf6 +db 0x1e, 0x25, 0xfb, 0x21, 0x27, 0xfa, 0x16, 0x1f, 0xfc, 0xa, 0x17, 0xff +db 0xd, 0x1b, 0xff, 0x14, 0x1f, 0xfe, 0x49, 0x47, 0xf4, 0x89, 0x79, 0xea +db 0xc1, 0xa7, 0xe3, 0xd8, 0xbd, 0xe1, 0x9c, 0x86, 0xe5, 0x4b, 0x44, 0xf1 +db 0x1e, 0x25, 0xfa, 0xd, 0x1a, 0xff, 0x11, 0x1e, 0xff, 0x11, 0x1d, 0xff +db 0xe, 0x1a, 0xff, 0xb, 0x17, 0xff, 0x47, 0x50, 0xff, 0xbb, 0xbe, 0xff +db 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xef, 0xf0, 0xff, 0x96, 0x9d, 0xff, 0x31, 0x3e, 0xff +db 0x12, 0x22, 0xff, 0x16, 0x26, 0xff, 0x18, 0x28, 0xff, 0x12, 0x24, 0xff +db 0x19, 0x28, 0xff, 0x44, 0x47, 0xf5, 0x9e, 0x85, 0xe1, 0xec, 0xbd, 0xce +db 0xff, 0xd2, 0xcb, 0xff, 0xde, 0xd8, 0xff, 0xec, 0xe9, 0xff, 0xf9, 0xf6 +db 0xff, 0xfd, 0xfc, 0xff, 0xff, 0xff, 0xd8, 0xdb, 0xff, 0x76, 0x7e, 0xff +db 0xb5, 0x9d, 0xe4, 0xe9, 0xbb, 0xcf, 0xff, 0xd6, 0xd4, 0xe5, 0xc8, 0xe2 +db 0xd5, 0xbe, 0xe6, 0xd8, 0xc0, 0xe5, 0xb0, 0xa2, 0xed, 0x7c, 0x75, 0xf0 +db 0x36, 0x3d, 0xfa, 0x11, 0x22, 0xff, 0x10, 0x22, 0xff, 0xe, 0x21, 0xff +db 0x51, 0x56, 0xf9, 0xea, 0xdc, 0xf1, 0xff, 0xfe, 0xf3, 0xf7, 0xe1, 0xea +db 0xbc, 0xab, 0xeb, 0x4c, 0x4f, 0xf8, 0x15, 0x24, 0xfe, 0x15, 0x25, 0xff +db 0x19, 0x29, 0xff, 0x18, 0x28, 0xff, 0x12, 0x22, 0xff, 0x28, 0x36, 0xff +db 0x86, 0x8d, 0xff, 0xef, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xdf, 0xe1, 0xff, 0x64, 0x70, 0xff, 0x1e, 0x31, 0xff, 0x19, 0x2e, 0xff +db 0x1e, 0x32, 0xff, 0x1d, 0x31, 0xff, 0x15, 0x2c, 0xff, 0x49, 0x4e, 0xf6 +db 0xa8, 0x8f, 0xdf, 0xec, 0xbd, 0xcf, 0xff, 0xd2, 0xcb, 0xff, 0xdd, 0xd8 +db 0xff, 0xef, 0xee, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xea, 0xed, 0xf2, 0xd5, 0xe1, 0xd4, 0xd0, 0xf8, 0xd6, 0xd8, 0xfe +db 0xd7, 0xd9, 0xfe, 0xdf, 0xe0, 0xfe, 0xff, 0xfd, 0xfe, 0xff, 0xff, 0xf9 +db 0xca, 0xc9, 0xfc, 0x5b, 0x67, 0xff, 0x21, 0x35, 0xff, 0x1a, 0x2e, 0xff +db 0x18, 0x2c, 0xff, 0x64, 0x62, 0xf2, 0xec, 0xe0, 0xf2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xfe, 0xdc, 0xda, 0xfc, 0x75, 0x7c, 0xfb, 0x27, 0x39, 0xff +db 0x18, 0x2d, 0xff, 0x1e, 0x32, 0xff, 0x1e, 0x32, 0xff, 0x1a, 0x2d, 0xff +db 0x1e, 0x31, 0xff, 0x68, 0x72, 0xfe, 0xe6, 0xe4, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc8, 0xcd, 0xff +db 0x54, 0x66, 0xff, 0x1d, 0x36, 0xff, 0x22, 0x3a, 0xff, 0x25, 0x3d, 0xff +db 0x21, 0x3a, 0xff, 0x23, 0x3b, 0xff, 0x6d, 0x6a, 0xee, 0xdf, 0xb6, 0xd3 +db 0xff, 0xd2, 0xc9, 0xff, 0xdc, 0xd8, 0xff, 0xef, 0xee, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfa, 0xff +db 0x89, 0x94, 0xff, 0x4e, 0x62, 0xff, 0x32, 0x48, 0xff, 0x2e, 0x44, 0xff +db 0x2d, 0x43, 0xff, 0x3b, 0x4f, 0xff, 0x67, 0x76, 0xff, 0xc4, 0xc7, 0xfe +db 0xff, 0xff, 0xff, 0xf4, 0xf6, 0xff, 0x89, 0x93, 0xff, 0x25, 0x3d, 0xff +db 0x20, 0x39, 0xff, 0x1d, 0x35, 0xff, 0x68, 0x69, 0xf1, 0xee, 0xe0, 0xf0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfa, 0xff, 0xa6, 0xae, 0xff +db 0x3a, 0x4d, 0xff, 0x23, 0x3b, 0xff, 0x23, 0x3b, 0xff, 0x25, 0x3d, 0xff +db 0x22, 0x3a, 0xff, 0x1f, 0x37, 0xfe, 0x71, 0x75, 0xf5, 0xef, 0xe7, 0xf6 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0xd9, 0xff, 0x4c, 0x62, 0xff +db 0x22, 0x40, 0xff, 0x29, 0x45, 0xff, 0x2a, 0x46, 0xff, 0x24, 0x43, 0xff +db 0x2d, 0x47, 0xfe, 0x8a, 0x7f, 0xe8, 0xf3, 0xc2, 0xce, 0xff, 0xd1, 0xcb +db 0xff, 0xe0, 0xdf, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x9e, 0xa9, 0xff, 0x21, 0x3f, 0xff, 0x25, 0x41, 0xff, 0x27, 0x43, 0xff +db 0x27, 0x43, 0xff, 0x25, 0x42, 0xff, 0x1f, 0x3d, 0xff, 0x51, 0x5e, 0xf7 +db 0xd6, 0xc6, 0xed, 0xff, 0xff, 0xfd, 0xf6, 0xf8, 0xff, 0x78, 0x87, 0xff +db 0x29, 0x44, 0xff, 0x26, 0x43, 0xff, 0x27, 0x42, 0xfe, 0xad, 0x97, 0xe2 +db 0xff, 0xf4, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xcc, 0xd0, 0xff, 0x51, 0x65, 0xff, 0x24, 0x41, 0xff, 0x28, 0x45, 0xff +db 0x2a, 0x46, 0xff, 0x28, 0x45, 0xff, 0x25, 0x41, 0xfd, 0x8b, 0x85, 0xec +db 0xf5, 0xe8, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xdc, 0xdf, 0xff, 0x5f, 0x75, 0xff, 0x2b, 0x4b, 0xfe +db 0x2f, 0x4e, 0xfe, 0x30, 0x50, 0xff, 0x2b, 0x4d, 0xff, 0x43, 0x5a, 0xf9 +db 0xa5, 0x93, 0xe2, 0xfa, 0xc7, 0xcc, 0xff, 0xd0, 0xcd, 0xff, 0xec, 0xec +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xff, 0xee, 0xef, 0xff +db 0xf0, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe4, 0xe7, 0xff, 0x51, 0x6a, 0xff, 0x2a, 0x4b, 0xff, 0x30, 0x50, 0xff +db 0x2f, 0x4f, 0xff, 0x2f, 0x4f, 0xff, 0x2f, 0x4e, 0xff, 0x2b, 0x4c, 0xff +db 0x4c, 0x5f, 0xf6, 0xc7, 0xb9, 0xeb, 0xff, 0xfe, 0xf6, 0xe6, 0xea, 0xff +db 0x67, 0x7b, 0xff, 0x2b, 0x4b, 0xff, 0x29, 0x4b, 0xff, 0x58, 0x64, 0xf3 +db 0xe5, 0xc4, 0xdd, 0xff, 0xfe, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xdd, 0xe0, 0xff, 0x71, 0x83, 0xff, 0x2d, 0x4c, 0xff +db 0x2e, 0x4e, 0xff, 0x30, 0x50, 0xff, 0x2d, 0x4d, 0xff, 0x31, 0x4e, 0xfc +db 0x85, 0x85, 0xef, 0xef, 0xe7, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf6, 0xf6, 0xff, 0x76, 0x8c, 0xff, 0x2e, 0x53, 0xff, 0x35, 0x59, 0xff +db 0x36, 0x5a, 0xff, 0x32, 0x58, 0xff, 0x3d, 0x5d, 0xfd, 0xbe, 0xa4, 0xdc +db 0xff, 0xce, 0xc9, 0xff, 0xd6, 0xd3, 0xff, 0xef, 0xef, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcc, 0xd3, 0xff, 0x58, 0x74, 0xff +db 0x59, 0x75, 0xff, 0x97, 0xa9, 0xff, 0xf9, 0xfb, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xa2, 0xaf, 0xff, 0x33, 0x57, 0xff, 0x35, 0x59, 0xff +db 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff, 0x36, 0x59, 0xff +db 0x2e, 0x55, 0xff, 0x4d, 0x63, 0xf6, 0xc8, 0xb4, 0xe2, 0xff, 0xfc, 0xf7 +db 0xda, 0xe0, 0xff, 0x52, 0x6e, 0xff, 0x31, 0x56, 0xff, 0x30, 0x55, 0xff +db 0xa5, 0x96, 0xe2, 0xff, 0xf1, 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xed, 0xff, 0x72, 0x88, 0xff +db 0x31, 0x55, 0xff, 0x35, 0x59, 0xff, 0x37, 0x5a, 0xfe, 0x33, 0x58, 0xff +db 0x32, 0x54, 0xfd, 0x84, 0x8c, 0xf3, 0xfb, 0xf6, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xab, 0xb9, 0xff, 0x3f, 0x65, 0xff, 0x3a, 0x62, 0xff, 0x3d, 0x65, 0xff +db 0x3b, 0x64, 0xff, 0x3a, 0x63, 0xff, 0x9c, 0x94, 0xe6, 0xfc, 0xc9, 0xcb +db 0xff, 0xd6, 0xd3, 0xff, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0xa9, 0xff, 0x33, 0x5c, 0xff +db 0x31, 0x5c, 0xff, 0x84, 0x8c, 0xf1, 0xfb, 0xe6, 0xe7, 0xde, 0xdc, 0xf9 +db 0xbf, 0xc9, 0xff, 0xed, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe7, 0xea, 0xff, 0x5b, 0x7a, 0xff, 0x38, 0x61, 0xff +db 0x3d, 0x65, 0xff, 0x3d, 0x64, 0xfe, 0x3d, 0x64, 0xff, 0x3d, 0x64, 0xff +db 0x3d, 0x64, 0xff, 0x34, 0x5f, 0xff, 0x5f, 0x72, 0xf3, 0xef, 0xd2, 0xe0 +db 0xff, 0xff, 0xfa, 0x8c, 0xa1, 0xff, 0x36, 0x5f, 0xff, 0x34, 0x5f, 0xff +db 0x97, 0x90, 0xe5, 0xff, 0xe1, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0xdd, 0xff +db 0x57, 0x76, 0xff, 0x38, 0x60, 0xff, 0x3d, 0x65, 0xff, 0x3d, 0x64, 0xff +db 0x38, 0x62, 0xff, 0x43, 0x65, 0xfb, 0xb6, 0xb0, 0xed, 0xff, 0xfc, 0xfa +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xdf, 0xff +db 0x5a, 0x7d, 0xff, 0x3e, 0x6b, 0xff, 0x43, 0x6e, 0xfe, 0x42, 0x6f, 0xff +db 0x3e, 0x6c, 0xff, 0x7b, 0x87, 0xef, 0xf1, 0xc2, 0xce, 0xff, 0xd0, 0xcc +db 0xff, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf4, 0xf5, 0xff, 0x6b, 0x8b, 0xff, 0x3c, 0x6a, 0xff +db 0x40, 0x6d, 0xff, 0xc0, 0xaa, 0xdd, 0xff, 0xd2, 0xc9, 0x8d, 0x97, 0xf2 +db 0x40, 0x6c, 0xff, 0x6a, 0x8a, 0xff, 0xb1, 0xbf, 0xff, 0xf0, 0xf2, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa9, 0xb9, 0xff, 0x40, 0x6b, 0xff +db 0x41, 0x6e, 0xff, 0x42, 0x6f, 0xfe, 0x42, 0x6f, 0xff, 0x42, 0x6f, 0xff +db 0x42, 0x6f, 0xff, 0x41, 0x6d, 0xff, 0x48, 0x70, 0xfd, 0xd1, 0xb1, 0xd6 +db 0xff, 0xe9, 0xde, 0xab, 0xbe, 0xff, 0x3d, 0x6a, 0xff, 0x3c, 0x6b, 0xff +db 0x79, 0x86, 0xee, 0xfb, 0xd8, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xcd, 0xd4, 0xff, 0x59, 0x7c, 0xff, 0x3f, 0x6b, 0xff, 0x43, 0x6f, 0xff +db 0x43, 0x6f, 0xff, 0x3c, 0x6b, 0xff, 0x5a, 0x76, 0xf6, 0xda, 0xcb, 0xeb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf9, 0xff, 0x82, 0x9f, 0xff +db 0x43, 0x74, 0xff, 0x48, 0x78, 0xff, 0x48, 0x79, 0xff, 0x44, 0x77, 0xff +db 0x64, 0x82, 0xf7, 0xe0, 0xb9, 0xd4, 0xff, 0xd1, 0xcc, 0xff, 0xec, 0xec +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xcb, 0xd5, 0xff, 0x50, 0x7b, 0xff, 0x43, 0x75, 0xff +db 0x55, 0x7d, 0xfb, 0xdb, 0xb9, 0xd5, 0xff, 0xd7, 0xd0, 0x89, 0xa0, 0xfa +db 0x3f, 0x72, 0xff, 0x42, 0x74, 0xff, 0x49, 0x77, 0xff, 0x73, 0x93, 0xfe +db 0xb4, 0xc0, 0xfb, 0xd1, 0xda, 0xff, 0xdc, 0xe1, 0xff, 0x68, 0x8b, 0xff +db 0x44, 0x76, 0xfe, 0x49, 0x79, 0xff, 0x49, 0x79, 0xff, 0x48, 0x79, 0xff +db 0x48, 0x79, 0xff, 0x47, 0x78, 0xff, 0x45, 0x76, 0xff, 0xbe, 0xaa, 0xdc +db 0xff, 0xdd, 0xd3, 0xd4, 0xd8, 0xfc, 0x58, 0x82, 0xff, 0x40, 0x74, 0xff +db 0x70, 0x87, 0xf1, 0xf9, 0xd1, 0xd7, 0xff, 0xfd, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xb3, 0xc1, 0xff, 0x4f, 0x7b, 0xff, 0x47, 0x77, 0xfe +db 0x48, 0x79, 0xff, 0x48, 0x79, 0xff, 0x41, 0x75, 0xff, 0x77, 0x8b, 0xf1 +db 0xf0, 0xdd, 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf3, 0xff, 0x6c, 0x93, 0xff +db 0x47, 0x7e, 0xff, 0x4e, 0x81, 0xff, 0x4d, 0x81, 0xff, 0x49, 0x80, 0xff +db 0x6f, 0x8c, 0xf5, 0xec, 0xbf, 0xd1, 0xff, 0xe6, 0xe2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xc5, 0xd1, 0xff, 0x52, 0x82, 0xff, 0x48, 0x7f, 0xff +db 0x5e, 0x87, 0xfa, 0xe2, 0xbc, 0xd3, 0xff, 0xdf, 0xda, 0x8c, 0xa9, 0xfe +db 0x46, 0x7c, 0xff, 0x4d, 0x81, 0xff, 0x4c, 0x80, 0xff, 0x4a, 0x7e, 0xfe +db 0x4d, 0x7e, 0xfd, 0x56, 0x85, 0xff, 0x76, 0x9b, 0xff, 0x71, 0x94, 0xff +db 0x4f, 0x82, 0xfe, 0x4d, 0x81, 0xff, 0x4e, 0x81, 0xff, 0x4e, 0x81, 0xff +db 0x4e, 0x81, 0xfe, 0x4d, 0x82, 0xff, 0x4a, 0x7f, 0xff, 0xc0, 0xae, 0xdd +db 0xff, 0xd8, 0xce, 0xe4, 0xe2, 0xf8, 0x63, 0x8e, 0xff, 0x44, 0x7c, 0xff +db 0x76, 0x8f, 0xf2, 0xf9, 0xcc, 0xd2, 0xff, 0xf9, 0xf7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xda, 0xe0, 0xff, 0x61, 0x8b, 0xff, 0x4a, 0x7f, 0xfe +db 0x4e, 0x82, 0xfe, 0x4e, 0x81, 0xfe, 0x47, 0x7f, 0xff, 0x6d, 0x8a, 0xf5 +db 0xed, 0xc1, 0xd2, 0xff, 0xf1, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0x9e, 0xb7, 0xff +db 0x4e, 0x85, 0xff, 0x52, 0x88, 0xff, 0x53, 0x88, 0xff, 0x51, 0x88, 0xff +db 0x51, 0x88, 0xfe, 0xa7, 0xa5, 0xe5, 0xfb, 0xe8, 0xeb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xea, 0xee, 0xff, 0x69, 0x95, 0xff, 0x4d, 0x86, 0xff +db 0x52, 0x88, 0xfe, 0xc7, 0xb2, 0xda, 0xff, 0xe8, 0xe1, 0xa3, 0xbc, 0xff +db 0x4f, 0x86, 0xff, 0x52, 0x88, 0xff, 0x52, 0x89, 0xfe, 0x52, 0x88, 0xff +db 0x51, 0x88, 0xff, 0x50, 0x87, 0xff, 0x4d, 0x86, 0xff, 0x55, 0x8a, 0xfe +db 0x54, 0x89, 0xff, 0x52, 0x88, 0xff, 0x52, 0x88, 0xff, 0x53, 0x88, 0xfe +db 0x53, 0x88, 0xfe, 0x51, 0x88, 0xff, 0x54, 0x88, 0xfe, 0xca, 0xb3, 0xdb +db 0xff, 0xd7, 0xce, 0xc5, 0xcc, 0xf8, 0x54, 0x89, 0xff, 0x4b, 0x85, 0xff +db 0x7c, 0x96, 0xf1, 0xfa, 0xcc, 0xd2, 0xff, 0xf9, 0xf7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf8, 0xf9, 0xff, 0x8b, 0xa9, 0xff, 0x50, 0x87, 0xff, 0x52, 0x88, 0xff +db 0x53, 0x89, 0xfe, 0x52, 0x88, 0xff, 0x4d, 0x87, 0xff, 0xa8, 0xa5, 0xe5 +db 0xff, 0xc9, 0xc8, 0xff, 0xe5, 0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe6, 0xff +db 0x6b, 0x99, 0xff, 0x52, 0x90, 0xff, 0x58, 0x93, 0xff, 0x58, 0x92, 0xff +db 0x56, 0x92, 0xff, 0x5d, 0x92, 0xfb, 0xc7, 0xba, 0xe3, 0xff, 0xf7, 0xf4 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xff, 0x85, 0xab, 0xff, 0x51, 0x8f, 0xff +db 0x55, 0x91, 0xff, 0xbf, 0xb0, 0xde, 0xff, 0xdd, 0xd4, 0xc2, 0xcf, 0xfc +db 0x59, 0x91, 0xff, 0x56, 0x92, 0xfe, 0x58, 0x93, 0xfe, 0x58, 0x92, 0xff +db 0x58, 0x92, 0xff, 0x57, 0x93, 0xff, 0x58, 0x92, 0xff, 0x57, 0x92, 0xfe +db 0x58, 0x92, 0xff, 0x59, 0x93, 0xff, 0x58, 0x93, 0xfe, 0x58, 0x93, 0xff +db 0x59, 0x93, 0xff, 0x53, 0x91, 0xff, 0x68, 0x96, 0xfa, 0xe9, 0xc0, 0xd1 +db 0xff, 0xd7, 0xd2, 0xa5, 0xbb, 0xfa, 0x53, 0x90, 0xff, 0x52, 0x90, 0xff +db 0x9f, 0xa6, 0xe7, 0xfe, 0xd1, 0xd1, 0xff, 0xf9, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff +db 0xae, 0xc3, 0xff, 0x5a, 0x91, 0xff, 0x56, 0x92, 0xff, 0x59, 0x92, 0xff +db 0x58, 0x93, 0xff, 0x52, 0x91, 0xff, 0x7a, 0x9a, 0xf4, 0xe9, 0xbe, 0xd0 +db 0xff, 0xda, 0xd7, 0xff, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc1, 0xd1, 0xff, 0x68, 0x9e, 0xff, 0x5a, 0x9b, 0xff, 0x5f, 0x9d, 0xff +db 0x5f, 0x9e, 0xfe, 0x5a, 0x9c, 0xff, 0x71, 0x9d, 0xf6, 0xd0, 0xc4, 0xe6 +db 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa8, 0xc3, 0xff, 0x5a, 0x99, 0xff +db 0x58, 0x9b, 0xff, 0x9a, 0xa8, 0xea, 0xff, 0xd3, 0xd3, 0xe3, 0xe5, 0xfa +db 0x7b, 0xa8, 0xff, 0x5a, 0x9a, 0xfe, 0x5f, 0x9d, 0xff, 0x5f, 0x9d, 0xff +db 0x5f, 0x9d, 0xff, 0x5e, 0x9d, 0xff, 0x5f, 0x9d, 0xff, 0x5e, 0x9d, 0xff +db 0x5f, 0x9d, 0xff, 0x5f, 0x9d, 0xfe, 0x5f, 0x9d, 0xfe, 0x5f, 0x9e, 0xff +db 0x5d, 0x9d, 0xff, 0x5c, 0x9c, 0xff, 0xad, 0xad, 0xe6, 0xfd, 0xc9, 0xcb +db 0xf5, 0xcf, 0xd9, 0x7e, 0xaa, 0xff, 0x5a, 0x9b, 0xff, 0x57, 0x9b, 0xff +db 0xaa, 0xad, 0xe4, 0xff, 0xdb, 0xd7, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xdc, 0xff +db 0x68, 0x9f, 0xff, 0x5b, 0x9b, 0xfe, 0x5f, 0x9d, 0xfe, 0x5e, 0x9d, 0xff +db 0x59, 0x9c, 0xff, 0x7c, 0xa2, 0xf5, 0xde, 0xbb, 0xd4, 0xff, 0xd2, 0xd0 +db 0xff, 0xf4, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xc2, 0xd5, 0xff, 0x70, 0xaa, 0xff, 0x61, 0xa6, 0xff +db 0x64, 0xa8, 0xfe, 0x65, 0xa8, 0xfe, 0x5f, 0xa6, 0xff, 0x75, 0xa7, 0xf7 +db 0xd3, 0xcf, 0xed, 0xfc, 0xfa, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xe8, 0xff, 0x72, 0xab, 0xff +db 0x5f, 0xa6, 0xff, 0x6d, 0xa7, 0xfb, 0xcd, 0xba, 0xdc, 0xff, 0xf5, 0xf0 +db 0xd3, 0xe2, 0xff, 0x73, 0xab, 0xff, 0x61, 0xa7, 0xfe, 0x64, 0xa8, 0xff +db 0x65, 0xa8, 0xff, 0x65, 0xa8, 0xff, 0x65, 0xa8, 0xff, 0x65, 0xa8, 0xff +db 0x65, 0xa8, 0xff, 0x65, 0xa8, 0xfe, 0x65, 0xa8, 0xfe, 0x64, 0xa8, 0xff +db 0x60, 0xa7, 0xff, 0x94, 0xad, 0xee, 0xf5, 0xc6, 0xce, 0xfd, 0xcd, 0xcc +db 0xb6, 0xb8, 0xe8, 0x65, 0xa7, 0xff, 0x62, 0xa7, 0xff, 0x66, 0xa7, 0xfd +db 0xc5, 0xb6, 0xdc, 0xff, 0xdb, 0xd9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfd, 0xfc, 0xff, 0xc0, 0xd4, 0xff, 0x74, 0xab, 0xfe +db 0x62, 0xa6, 0xfe, 0x65, 0xa8, 0xfe, 0x64, 0xa8, 0xff, 0x5f, 0xa7, 0xff +db 0x82, 0xaa, 0xf4, 0xdf, 0xbd, 0xd4, 0xff, 0xcd, 0xca, 0xff, 0xec, 0xec +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcc, 0xdd, 0xff, 0x74, 0xb1, 0xff +db 0x68, 0xb1, 0xff, 0x6b, 0xb2, 0xfe, 0x6b, 0xb3, 0xff, 0x67, 0xb2, 0xff +db 0x76, 0xb0, 0xf9, 0xa1, 0xc2, 0xfc, 0xea, 0xf0, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa8, 0xc8, 0xff +db 0x67, 0xae, 0xff, 0x65, 0xb1, 0xff, 0x83, 0xaf, 0xf3, 0xe7, 0xd5, 0xe7 +db 0xff, 0xff, 0xfc, 0xc0, 0xd8, 0xff, 0x6c, 0xaf, 0xff, 0x68, 0xb2, 0xff +db 0x69, 0xb3, 0xff, 0x6a, 0xb3, 0xff, 0x6a, 0xb2, 0xff, 0x6a, 0xb2, 0xff +db 0x6a, 0xb3, 0xfe, 0x6a, 0xb3, 0xfe, 0x69, 0xb3, 0xff, 0x64, 0xb3, 0xff +db 0x8b, 0xb2, 0xf3, 0xf0, 0xc4, 0xd1, 0xff, 0xce, 0xc9, 0xc0, 0xbe, 0xe6 +db 0x6f, 0xb0, 0xff, 0x68, 0xb2, 0xff, 0x66, 0xb2, 0xff, 0x9b, 0xb5, 0xed +db 0xfa, 0xc6, 0xcb, 0xff, 0xe2, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xeb, 0xf0, 0xff, 0xaa, 0xc9, 0xff, 0x6c, 0xaf, 0xfe, 0x67, 0xb0, 0xff +db 0x6b, 0xb2, 0xff, 0x6a, 0xb2, 0xff, 0x66, 0xb2, 0xff, 0x92, 0xb2, 0xf0 +db 0xe6, 0xc0, 0xd4, 0xff, 0xce, 0xcb, 0xff, 0xe7, 0xe6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xd5, 0xff +db 0x76, 0xb6, 0xff, 0x6c, 0xbb, 0xfe, 0x70, 0xbb, 0xfe, 0x70, 0xbb, 0xff +db 0x6d, 0xbb, 0xff, 0x6c, 0xb8, 0xfe, 0x8c, 0xbf, 0xff, 0xdb, 0xe6, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xea, 0xff +db 0x7a, 0xba, 0xff, 0x6c, 0xbb, 0xfe, 0x6b, 0xba, 0xff, 0xa9, 0xb7, 0xe7 +db 0xf7, 0xdc, 0xe6, 0xff, 0xfe, 0xff, 0xaf, 0xce, 0xff, 0x74, 0xb7, 0xfe +db 0x72, 0xb8, 0xfc, 0x6d, 0xba, 0xfe, 0x6e, 0xbb, 0xff, 0x6e, 0xba, 0xff +db 0x6e, 0xbb, 0xff, 0x6e, 0xbb, 0xff, 0x73, 0xba, 0xfd, 0x81, 0xb8, 0xf7 +db 0xd1, 0xbd, 0xda, 0xff, 0xce, 0xca, 0xde, 0xc6, 0xde, 0x80, 0xb9, 0xfd +db 0x6c, 0xbb, 0xff, 0x6d, 0xbc, 0xff, 0x75, 0xba, 0xfc, 0xd7, 0xbe, 0xd8 +db 0xff, 0xce, 0xcb, 0xff, 0xf3, 0xf1, 0xff, 0xff, 0xff, 0xda, 0xe6, 0xff +db 0x90, 0xbe, 0xff, 0x6c, 0xb7, 0xfe, 0x6e, 0xbb, 0xfe, 0x70, 0xbc, 0xfe +db 0x70, 0xbb, 0xfe, 0x69, 0xbc, 0xff, 0x8e, 0xb8, 0xf3, 0xe9, 0xc1, 0xd2 +db 0xff, 0xca, 0xc8, 0xff, 0xe1, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xff +db 0xc7, 0xdd, 0xff, 0x84, 0xc2, 0xff, 0x72, 0xc3, 0xfe, 0x74, 0xc5, 0xff +db 0x75, 0xc5, 0xff, 0x75, 0xc5, 0xff, 0x73, 0xc2, 0xfe, 0x84, 0xc4, 0xfe +db 0xac, 0xd2, 0xff, 0xe8, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xbb, 0xd6, 0xff, 0x78, 0xc1, 0xfe, 0x73, 0xc6, 0xff, 0x79, 0xc3, 0xfc +db 0xa0, 0xc2, 0xf0, 0xd6, 0xe0, 0xf9, 0xf8, 0xf9, 0xff, 0xe2, 0xec, 0xfe +db 0xd2, 0xdc, 0xf6, 0xcf, 0xca, 0xe4, 0xce, 0xc0, 0xdb, 0xcd, 0xc0, 0xdb +db 0xce, 0xc1, 0xdb, 0xcf, 0xc1, 0xdc, 0xd9, 0xc1, 0xd7, 0xf1, 0xc5, 0xd0 +db 0xff, 0xcc, 0xcf, 0xcb, 0xc7, 0xe6, 0x8a, 0xc3, 0xfd, 0x74, 0xc4, 0xff +db 0x73, 0xc6, 0xff, 0x77, 0xc3, 0xfe, 0xb8, 0xbd, 0xe4, 0xfd, 0xc8, 0xcc +db 0xff, 0xe2, 0xe0, 0xeb, 0xf1, 0xfe, 0xb9, 0xd7, 0xff, 0x84, 0xc3, 0xff +db 0x74, 0xc3, 0xfe, 0x75, 0xc4, 0xfe, 0x76, 0xc5, 0xff, 0x74, 0xc5, 0xff +db 0x74, 0xc5, 0xff, 0x9b, 0xbe, 0xef, 0xe2, 0xc1, 0xd5, 0xff, 0xc9, 0xc9 +db 0xff, 0xd6, 0xd5, 0xff, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe5, 0xef, 0xff, 0xae, 0xd1, 0xfa, 0x82, 0xc9, 0xfb +db 0x79, 0xcf, 0xff, 0x7b, 0xd0, 0xff, 0x7c, 0xcf, 0xff, 0x79, 0xce, 0xfe +db 0x78, 0xcb, 0xfe, 0x8d, 0xcc, 0xff, 0xc0, 0xdd, 0xff, 0xf0, 0xf5, 0xff +db 0xfc, 0xfa, 0xff, 0xbe, 0xd9, 0xff, 0x80, 0xcb, 0xff, 0x78, 0xd0, 0xff +db 0x77, 0xcf, 0xff, 0x85, 0xcb, 0xfe, 0xab, 0xd7, 0xff, 0xd9, 0xea, 0xff +db 0xf6, 0xf8, 0xff, 0xf6, 0xef, 0xf6, 0xff, 0xe1, 0xe3, 0xff, 0xe3, 0xe1 +db 0xff, 0xde, 0xe1, 0xf6, 0xdb, 0xe1, 0xf7, 0xdc, 0xe2, 0xe6, 0xd2, 0xe2 +db 0xb3, 0xcb, 0xf1, 0x82, 0xcc, 0xff, 0x77, 0xcf, 0xff, 0x79, 0xd1, 0xff +db 0x7f, 0xce, 0xfd, 0xc0, 0xc1, 0xe3, 0xff, 0xc7, 0xcb, 0xed, 0xd4, 0xdf +db 0xbb, 0xda, 0xfd, 0x8d, 0xce, 0xff, 0x79, 0xcb, 0xff, 0x79, 0xce, 0xfe +db 0x7c, 0xcf, 0xfe, 0x7c, 0xcf, 0xfe, 0x79, 0xd0, 0xff, 0x81, 0xcc, 0xfc +db 0xb5, 0xc2, 0xe6, 0xf4, 0xc4, 0xce, 0xff, 0xcc, 0xca, 0xff, 0xdc, 0xdc +db 0xff, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xfe, 0xcf, 0xe0, 0xfa +db 0x99, 0xd0, 0xf9, 0x81, 0xd6, 0xfd, 0x7f, 0xd9, 0xff, 0x81, 0xd9, 0xff +db 0x81, 0xd8, 0xff, 0x7e, 0xd7, 0xfe, 0x82, 0xd3, 0xff, 0x91, 0xd5, 0xff +db 0xa7, 0xdc, 0xff, 0xb5, 0xde, 0xff, 0xa1, 0xce, 0xff, 0x88, 0xce, 0xfc +db 0x83, 0xd7, 0xfd, 0x7f, 0xd9, 0xff, 0x7c, 0xd5, 0xfe, 0x85, 0xd4, 0xfe +db 0x91, 0xd7, 0xff, 0x90, 0xd8, 0xff, 0xa1, 0xdb, 0xff, 0xad, 0xe0, 0xff +db 0xa0, 0xda, 0xff, 0x91, 0xd8, 0xff, 0x91, 0xd9, 0xff, 0x8a, 0xd7, 0xff +db 0x7e, 0xd6, 0xff, 0x7e, 0xd9, 0xff, 0x82, 0xd8, 0xfe, 0x92, 0xcc, 0xf5 +db 0xae, 0xbc, 0xe8, 0xce, 0xbc, 0xdb, 0xcc, 0xc5, 0xdf, 0x96, 0xd2, 0xfb +db 0x7d, 0xd6, 0xff, 0x7e, 0xd8, 0xfe, 0x80, 0xd9, 0xfe, 0x81, 0xd9, 0xfe +db 0x80, 0xda, 0xff, 0x7c, 0xda, 0xff, 0x96, 0xcf, 0xf5, 0xd7, 0xc3, 0xd9 +db 0xfd, 0xc6, 0xca, 0xff, 0xd1, 0xd0, 0xff, 0xea, 0xea, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf1, 0xf3, 0xfc, 0xb4, 0xdf, 0xfc, 0x81, 0xd7, 0xfc, 0x83, 0xde, 0xfd +db 0x85, 0xe2, 0xff, 0x86, 0xe2, 0xfe, 0x84, 0xe1, 0xfe, 0x83, 0xe1, 0xfe +db 0x81, 0xe0, 0xfe, 0x82, 0xde, 0xfe, 0x89, 0xdb, 0xff, 0x8d, 0xd4, 0xfb +db 0x91, 0xcc, 0xf6, 0x89, 0xdc, 0xfc, 0x86, 0xe2, 0xfe, 0x84, 0xe1, 0xfe +db 0x83, 0xe1, 0xfe, 0x83, 0xe1, 0xfe, 0x81, 0xe0, 0xfe, 0x80, 0xdf, 0xff +db 0x82, 0xe0, 0xff, 0x83, 0xe1, 0xff, 0x83, 0xe1, 0xfe, 0x84, 0xe1, 0xfe +db 0x85, 0xe1, 0xff, 0x88, 0xdd, 0xfd, 0x94, 0xca, 0xf4, 0x9b, 0xc7, 0xf1 +db 0x94, 0xd1, 0xf6, 0x88, 0xdb, 0xfc, 0x83, 0xdd, 0xfe, 0x83, 0xe2, 0xff +db 0x85, 0xe3, 0xfe, 0x86, 0xe3, 0xfe, 0x84, 0xe4, 0xff, 0x83, 0xe2, 0xff +db 0x86, 0xda, 0xfd, 0x9c, 0xc7, 0xf0, 0xe0, 0xc1, 0xd5, 0xff, 0xcc, 0xca +db 0xff, 0xe1, 0xdf, 0xff, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf5, 0xfa, 0xff, 0xd8, 0xe9, 0xfc, 0xb4, 0xd6, 0xf6 +db 0x91, 0xd8, 0xf8, 0x89, 0xe7, 0xfd, 0x8a, 0xec, 0xfe, 0x8b, 0xeb, 0xfe +db 0x8b, 0xeb, 0xfe, 0x8b, 0xeb, 0xfe, 0x8a, 0xeb, 0xfe, 0x8a, 0xeb, 0xff +db 0x8d, 0xe7, 0xfd, 0x8e, 0xe6, 0xfd, 0x8c, 0xea, 0xfe, 0x8b, 0xeb, 0xfe +db 0x8c, 0xea, 0xfe, 0x8c, 0xea, 0xfe, 0x8b, 0xeb, 0xfe, 0x8b, 0xeb, 0xfe +db 0x8b, 0xeb, 0xfe, 0x8b, 0xeb, 0xfe, 0x8b, 0xeb, 0xfe, 0x8b, 0xeb, 0xfe +db 0x8c, 0xea, 0xfe, 0x8e, 0xe6, 0xfd, 0x8e, 0xe5, 0xfc, 0x8b, 0xeb, 0xff +db 0x89, 0xed, 0xff, 0x8a, 0xec, 0xff, 0x8a, 0xeb, 0xfe, 0x8b, 0xeb, 0xfe +db 0x8a, 0xed, 0xff, 0x89, 0xe8, 0xff, 0x90, 0xdc, 0xfa, 0xae, 0xc8, 0xe9 +db 0xd6, 0xc1, 0xd8, 0xf1, 0xc6, 0xd0, 0xff, 0xd5, 0xd3, 0xff, 0xee, 0xee +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfa, 0xfe +db 0xe3, 0xeb, 0xfb, 0xb8, 0xdc, 0xf8, 0x91, 0xde, 0xf9, 0x8b, 0xef, 0xfd +db 0x8c, 0xf2, 0xff, 0x8b, 0xf3, 0xff, 0x8d, 0xf4, 0xff, 0x90, 0xf3, 0xfe +db 0x90, 0xf3, 0xfe, 0x90, 0xf2, 0xfe, 0x90, 0xf2, 0xfe, 0x90, 0xf2, 0xfe +db 0x90, 0xf2, 0xfe, 0x90, 0xf2, 0xfe, 0x90, 0xf2, 0xfe, 0x90, 0xf2, 0xfe +db 0x90, 0xf2, 0xfe, 0x90, 0xf1, 0xfe, 0x90, 0xf1, 0xfe, 0x90, 0xf2, 0xfe +db 0x90, 0xf2, 0xfe, 0x90, 0xf2, 0xfe, 0x90, 0xf3, 0xfe, 0x90, 0xf4, 0xfe +db 0x8e, 0xf4, 0xff, 0x8b, 0xf4, 0xff, 0x8b, 0xf4, 0xff, 0x8c, 0xf1, 0xff +db 0x96, 0xdb, 0xf7, 0xbe, 0xc6, 0xe3, 0xe4, 0xc3, 0xd2, 0xfa, 0xca, 0xcf +db 0xff, 0xdb, 0xd9, 0xff, 0xf0, 0xee, 0xff, 0xfc, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfe, 0xd2, 0xe9, 0xfc, 0xb4, 0xe5, 0xfa +db 0xb7, 0xdd, 0xf0, 0xb4, 0xe3, 0xec, 0xa0, 0xe8, 0xf4, 0x8c, 0xee, 0xfd +db 0x8e, 0xf4, 0xfe, 0x91, 0xf9, 0xfe, 0x91, 0xfa, 0xff, 0x91, 0xfa, 0xff +db 0x91, 0xfa, 0xff, 0x92, 0xfa, 0xff, 0x93, 0xf9, 0xfe, 0x93, 0xf9, 0xfe +db 0x93, 0xf9, 0xfe, 0x93, 0xfa, 0xfe, 0x91, 0xfa, 0xff, 0x91, 0xfa, 0xff +db 0x91, 0xfa, 0xff, 0x91, 0xfa, 0xff, 0x8f, 0xf9, 0xff, 0x8c, 0xf2, 0xff +db 0x97, 0xec, 0xfa, 0xb3, 0xe4, 0xed, 0xb6, 0xd6, 0xe8, 0xb9, 0xce, 0xe6 +db 0xdb, 0xc0, 0xd5, 0xfe, 0xca, 0xce, 0xff, 0xde, 0xdb, 0xff, 0xf2, 0xf1 +db 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff +db 0xff, 0xf5, 0xf7, 0xff, 0xe9, 0xe8, 0xe8, 0xe3, 0xee, 0xc5, 0xda, 0xf2 +db 0xb1, 0xde, 0xf7, 0x9e, 0xe8, 0xfa, 0x9b, 0xeb, 0xf7, 0x9c, 0xe9, 0xf6 +db 0x9d, 0xe9, 0xf6, 0x98, 0xea, 0xf8, 0x91, 0xf3, 0xfd, 0x91, 0xf5, 0xfd +db 0x90, 0xf5, 0xfd, 0x91, 0xee, 0xfb, 0x9b, 0xe8, 0xf7, 0x9c, 0xe9, 0xf6 +db 0x9c, 0xe9, 0xf6, 0x9c, 0xe7, 0xf6, 0xaa, 0xd8, 0xee, 0xc1, 0xca, 0xe2 +db 0xda, 0xca, 0xdb, 0xff, 0xd2, 0xd3, 0xff, 0xd7, 0xd8, 0xff, 0xdf, 0xe1 +db 0xff, 0xe8, 0xe6, 0xff, 0xf2, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe +db 0xfe, 0xfb, 0xfd, 0xf1, 0xf3, 0xfc, 0xee, 0xe7, 0xef, 0xef, 0xda, 0xe2 +db 0xf0, 0xd7, 0xdf, 0xe5, 0xd7, 0xe4, 0xcb, 0xdb, 0xee, 0xcb, 0xdc, 0xee +db 0xca, 0xdc, 0xef, 0xd0, 0xd8, 0xec, 0xec, 0xd7, 0xe1, 0xef, 0xd8, 0xe0 +db 0xef, 0xd8, 0xe0, 0xee, 0xd7, 0xe0, 0xfa, 0xd7, 0xdc, 0xff, 0xe3, 0xe2 +db 0xff, 0xf1, 0xf0, 0xff, 0xfb, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe +db 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfd, 0xff, 0xfe, 0xfd +db 0xff, 0xfe, 0xfd, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe +db 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/gun00.inc b/programs/games/hunter/trunk/inc/gun00.inc new file mode 100644 index 0000000000..89dcd72863 --- /dev/null +++ b/programs/games/hunter/trunk/inc/gun00.inc @@ -0,0 +1,337 @@ +dw 24, 56 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf8, 0xf8 +db 0xe5, 0xea, 0xea, 0xe0, 0xe7, 0xe9, 0xe4, 0xea, 0xeb, 0xe7, 0xec, 0xed +db 0xf0, 0xf3, 0xf4, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xf4, 0xf5, 0xe8, 0xec, 0xed +db 0xe9, 0xee, 0xee, 0xef, 0xf3, 0xf4, 0xfc, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xe5, 0xe5, 0xe5, 0xc0, 0xc3, 0xc4 +db 0xa3, 0xb3, 0xb6, 0x9f, 0xb4, 0xb9, 0xa2, 0xb6, 0xba, 0xa4, 0xb9, 0xbc +db 0xb4, 0xc5, 0xc8, 0xda, 0xe2, 0xe4, 0xf9, 0xfa, 0xfb, 0xff, 0xff, 0xff +db 0xfe, 0xfe, 0xfe, 0xe7, 0xe7, 0xe7, 0xb9, 0xc2, 0xc2, 0xa4, 0xb7, 0xbb +db 0xa4, 0xb9, 0xbc, 0xb0, 0xc2, 0xc5, 0xd1, 0xdb, 0xdd, 0xeb, 0xf0, 0xf0 +db 0xfc, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xee, 0xee, 0xee, 0xaf, 0xae, 0xae, 0x8a, 0x8e, 0x8f +db 0x8c, 0x9f, 0xa2, 0x8e, 0xa9, 0xad, 0x8f, 0xa7, 0xac, 0x8f, 0xa8, 0xab +db 0x91, 0xa9, 0xad, 0xa3, 0xb6, 0xb9, 0xd5, 0xd9, 0xdb, 0xfc, 0xfc, 0xfc +db 0xe7, 0xe7, 0xe7, 0xad, 0xad, 0xac, 0x8d, 0x98, 0x99, 0x8d, 0xa5, 0xa9 +db 0x8e, 0xa7, 0xab, 0x90, 0xa8, 0xad, 0x97, 0xaf, 0xb2, 0xaf, 0xc0, 0xc3 +db 0xe0, 0xe7, 0xe8, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfe, 0xfe, 0xd6, 0xd6, 0xd6, 0x91, 0x90, 0x90, 0x82, 0x86, 0x86 +db 0x8d, 0xa1, 0xa4, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x91, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x8d, 0xa1, 0xa4, 0xa5, 0xaa, 0xac, 0xe4, 0xe3, 0xe3 +db 0xbd, 0xbd, 0xbd, 0x86, 0x86, 0x86, 0x87, 0x93, 0x95, 0x90, 0xa8, 0xac +db 0x90, 0xa9, 0xad, 0x91, 0xa9, 0xad, 0x8f, 0xa8, 0xab, 0x90, 0xa8, 0xac +db 0xb9, 0xc6, 0xc8, 0xf4, 0xf5, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xfb, 0xfb, 0xbe, 0xbe, 0xbe, 0x84, 0x83, 0x83, 0x82, 0x87, 0x87 +db 0x8d, 0xa0, 0xa2, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x8d, 0xa1, 0xa4, 0x8b, 0x91, 0x93, 0xa9, 0xae, 0xae +db 0x96, 0x96, 0x96, 0x80, 0x81, 0x81, 0x87, 0x93, 0x95, 0x90, 0xa7, 0xab +db 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x8f, 0xa7, 0xaa +db 0x9d, 0xa9, 0xab, 0xdd, 0xde, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf8, 0xf8, 0xf8, 0xb6, 0xb6, 0xb6, 0x81, 0x81, 0x81, 0x82, 0x83, 0x84 +db 0x8b, 0x9a, 0x9c, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x90, 0xa6, 0xa9, 0x82, 0x8e, 0x8f, 0x6d, 0x7d, 0x7d +db 0x7c, 0x81, 0x81, 0x82, 0x81, 0x81, 0x86, 0x8d, 0x8e, 0x8f, 0xa5, 0xa8 +db 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x8f, 0xa8, 0xab +db 0x90, 0x9e, 0xa0, 0xc4, 0xc5, 0xc5, 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff +db 0xf5, 0xf5, 0xf5, 0xaf, 0xaf, 0xaf, 0x80, 0x80, 0x80, 0x82, 0x83, 0x84 +db 0x8b, 0x9a, 0x9d, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x90, 0xa7, 0xaa, 0x82, 0x8f, 0x90, 0x62, 0x76, 0x76 +db 0x76, 0x7d, 0x7d, 0x83, 0x81, 0x81, 0x86, 0x8d, 0x8e, 0x8f, 0xa5, 0xa9 +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x8d, 0x9e, 0xa0, 0xaa, 0xad, 0xad, 0xee, 0xee, 0xee, 0xff, 0xff, 0xff +db 0xf3, 0xf3, 0xf3, 0xa9, 0xa9, 0xa9, 0x7f, 0x7f, 0x7f, 0x82, 0x84, 0x85 +db 0x8b, 0x9c, 0x9f, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x90, 0xa6, 0xaa, 0x85, 0x8f, 0x8f, 0x6e, 0x7a, 0x7a +db 0x78, 0x7e, 0x7e, 0x83, 0x81, 0x81, 0x87, 0x8e, 0x90, 0x8f, 0xa6, 0xaa +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x8b, 0x9c, 0x9e, 0xa6, 0xa9, 0xa9, 0xec, 0xec, 0xec, 0xff, 0xff, 0xff +db 0xf1, 0xf1, 0xf1, 0xa5, 0xa5, 0xa5, 0x7f, 0x7e, 0x7e, 0x83, 0x85, 0x85 +db 0x8c, 0x9d, 0xa0, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x8f, 0xa6, 0xa9, 0x85, 0x8e, 0x8e, 0x6c, 0x79, 0x79 +db 0x73, 0x7c, 0x7c, 0x82, 0x81, 0x81, 0x87, 0x90, 0x91, 0x90, 0xa6, 0xaa +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x8b, 0x9b, 0x9d, 0xa8, 0xaa, 0xaa, 0xed, 0xed, 0xec, 0xff, 0xff, 0xff +db 0xed, 0xed, 0xed, 0xa1, 0xa1, 0xa1, 0x7f, 0x7e, 0x7e, 0x83, 0x86, 0x86 +db 0x8d, 0x9f, 0xa1, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x8f, 0xa5, 0xa9, 0x85, 0x8c, 0x8d, 0x62, 0x76, 0x76 +db 0x6b, 0x79, 0x79, 0x82, 0x82, 0x82, 0x87, 0x91, 0x93, 0x90, 0xa7, 0xac +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x91, 0xa9, 0xad, 0x91, 0xa9, 0xad +db 0x89, 0x98, 0x9a, 0x9a, 0x9b, 0x9b, 0xdf, 0xdf, 0xdf, 0xff, 0xff, 0xff +db 0xec, 0xec, 0xec, 0xa2, 0xa2, 0xa2, 0x7f, 0x7f, 0x7e, 0x83, 0x87, 0x87 +db 0x8d, 0xa0, 0xa4, 0x91, 0xab, 0xaf, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x90, 0xa6, 0xaa, 0x86, 0x90, 0x91, 0x60, 0x76, 0x76 +db 0x6a, 0x79, 0x79, 0x83, 0x82, 0x82, 0x88, 0x93, 0x94, 0x90, 0xa8, 0xac +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x91, 0xa9, 0xad, 0x91, 0xa9, 0xae +db 0x88, 0x97, 0x9a, 0x91, 0x92, 0x92, 0xd7, 0xd6, 0xd6, 0xff, 0xff, 0xff +db 0xf6, 0xf6, 0xf6, 0xb5, 0xb5, 0xb5, 0x82, 0x82, 0x81, 0x82, 0x87, 0x87 +db 0x8d, 0xa0, 0xa4, 0x91, 0xab, 0xaf, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x91, 0xa9, 0xad, 0x89, 0x96, 0x99, 0x62, 0x78, 0x77 +db 0x6d, 0x7a, 0x7a, 0x82, 0x82, 0x82, 0x87, 0x91, 0x92, 0x90, 0xa7, 0xab +db 0x91, 0xab, 0xaf, 0x90, 0xa9, 0xad, 0x91, 0xa9, 0xad, 0x91, 0xaa, 0xaf +db 0x8b, 0x9d, 0xa0, 0x95, 0x99, 0x9a, 0xda, 0xd9, 0xd9, 0xff, 0xff, 0xff +db 0xfa, 0xfa, 0xfa, 0xbd, 0xbd, 0xbd, 0x83, 0x83, 0x83, 0x81, 0x82, 0x83 +db 0x8b, 0x99, 0x9b, 0x91, 0xaa, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x91, 0xa9, 0xad, 0x89, 0x96, 0x99, 0x6f, 0x7b, 0x7c +db 0x73, 0x7c, 0x7c, 0x82, 0x81, 0x81, 0x84, 0x8a, 0x8b, 0x8e, 0xa3, 0xa6 +db 0x91, 0xab, 0xaf, 0x90, 0xa9, 0xad, 0x91, 0xa9, 0xad, 0x91, 0xab, 0xaf +db 0x8c, 0xa0, 0xa4, 0x9a, 0x9f, 0xa0, 0xdf, 0xdf, 0xdf, 0xff, 0xff, 0xff +db 0xf8, 0xf8, 0xf8, 0xb8, 0xb8, 0xb8, 0x82, 0x82, 0x82, 0x81, 0x81, 0x81 +db 0x8a, 0x97, 0x98, 0x91, 0xaa, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x89, 0x94, 0x96, 0x72, 0x7c, 0x7d +db 0x73, 0x7c, 0x7c, 0x81, 0x80, 0x80, 0x84, 0x8a, 0x8a, 0x8e, 0xa3, 0xa6 +db 0x91, 0xab, 0xaf, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae +db 0x8b, 0x9f, 0xa2, 0x9b, 0x9f, 0xa0, 0xe1, 0xe0, 0xe1, 0xff, 0xff, 0xff +db 0xf6, 0xf6, 0xf6, 0xb4, 0xb4, 0xb4, 0x82, 0x81, 0x81, 0x81, 0x82, 0x82 +db 0x8a, 0x98, 0x9b, 0x91, 0xaa, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x90, 0xa8, 0xac, 0x89, 0x93, 0x95, 0x6b, 0x79, 0x79 +db 0x69, 0x78, 0x78, 0x80, 0x80, 0x80, 0x85, 0x8b, 0x8c, 0x8f, 0xa3, 0xa7 +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae +db 0x8b, 0x9e, 0xa1, 0x90, 0x94, 0x95, 0xd0, 0xcf, 0xd0, 0xfe, 0xfd, 0xfd +db 0xf5, 0xf5, 0xf5, 0xaf, 0xaf, 0xaf, 0x80, 0x81, 0x81, 0x81, 0x82, 0x82 +db 0x8b, 0x99, 0x9c, 0x91, 0xaa, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x91, 0xa9, 0xad, 0x8b, 0x97, 0x99, 0x67, 0x7a, 0x7a +db 0x61, 0x76, 0x76, 0x80, 0x80, 0x80, 0x85, 0x8c, 0x8d, 0x8f, 0xa5, 0xa8 +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae +db 0x8b, 0x9e, 0xa1, 0x89, 0x8d, 0x8d, 0xc5, 0xc5, 0xc5, 0xfd, 0xfc, 0xfc +db 0xf3, 0xf3, 0xf3, 0xab, 0xab, 0xab, 0x80, 0x7f, 0x7f, 0x81, 0x84, 0x84 +db 0x8b, 0x9b, 0x9d, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x8d, 0x9d, 0xa0, 0x68, 0x7c, 0x7d +db 0x64, 0x76, 0x76, 0x81, 0x80, 0x80, 0x86, 0x8d, 0x8e, 0x8f, 0xa5, 0xa8 +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae +db 0x8e, 0xa2, 0xa6, 0x8d, 0x94, 0x95, 0xcb, 0xca, 0xca, 0xfd, 0xfd, 0xfd +db 0xf1, 0xf1, 0xf1, 0xa8, 0xa8, 0xa8, 0x80, 0x7f, 0x7f, 0x83, 0x85, 0x85 +db 0x8b, 0x9d, 0x9f, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x8d, 0x9d, 0x9f, 0x71, 0x7f, 0x7f +db 0x6b, 0x79, 0x79, 0x81, 0x80, 0x80, 0x87, 0x8f, 0x91, 0x90, 0xa7, 0xaa +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae +db 0x8e, 0xa5, 0xa8, 0x91, 0x99, 0x9a, 0xd1, 0xd0, 0xd0, 0xff, 0xff, 0xff +db 0xec, 0xec, 0xec, 0xa1, 0xa1, 0xa1, 0x7f, 0x7e, 0x7e, 0x83, 0x86, 0x86 +db 0x8d, 0x9e, 0xa1, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xa9, 0xad, 0x91, 0xa9, 0xae, 0x8c, 0x9a, 0x9c, 0x76, 0x7f, 0x80 +db 0x6f, 0x7b, 0x7a, 0x81, 0x81, 0x81, 0x86, 0x8d, 0x8e, 0x8f, 0xa4, 0xa8 +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae +db 0x8d, 0xa3, 0xa7, 0x92, 0x9a, 0x9b, 0xd4, 0xd3, 0xd3, 0xff, 0xff, 0xff +db 0xea, 0xea, 0xea, 0xa0, 0xa0, 0xa0, 0x7f, 0x7e, 0x7e, 0x82, 0x83, 0x83 +db 0x8b, 0x99, 0x9b, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad +db 0x91, 0xa9, 0xad, 0x91, 0xa9, 0xae, 0x8c, 0x99, 0x9b, 0x71, 0x7d, 0x7c +db 0x63, 0x76, 0x76, 0x7f, 0x80, 0x80, 0x84, 0x87, 0x88, 0x8d, 0x9f, 0xa3 +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae +db 0x8d, 0xa2, 0xa6, 0x8c, 0x92, 0x93, 0xc3, 0xc2, 0xc2, 0xfb, 0xfb, 0xfb +db 0xf4, 0xf4, 0xf4, 0xb2, 0xb2, 0xb2, 0x82, 0x82, 0x82, 0x80, 0x80, 0x81 +db 0x89, 0x95, 0x96, 0x91, 0xa9, 0xad, 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad +db 0x91, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x8e, 0x9c, 0x9e, 0x6d, 0x7d, 0x7e +db 0x59, 0x74, 0x73, 0x7d, 0x7f, 0x7f, 0x84, 0x88, 0x88, 0x8d, 0xa0, 0xa3 +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xab, 0xaf +db 0x8d, 0xa2, 0xa5, 0x86, 0x8b, 0x8c, 0xb7, 0xb7, 0xb6, 0xf8, 0xf8, 0xf8 +db 0xf8, 0xf8, 0xf8, 0xbb, 0xbb, 0xbb, 0x83, 0x83, 0x83, 0x80, 0x80, 0x81 +db 0x89, 0x96, 0x97, 0x91, 0xa9, 0xad, 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad +db 0x91, 0xa9, 0xad, 0x91, 0xab, 0xaf, 0x90, 0xa2, 0xa5, 0x6e, 0x80, 0x82 +db 0x5c, 0x74, 0x74, 0x7e, 0x7f, 0x7f, 0x85, 0x89, 0x8a, 0x8e, 0xa2, 0xa5 +db 0x91, 0xab, 0xaf, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xab, 0xaf +db 0x8e, 0xa3, 0xa7, 0x88, 0x8e, 0x90, 0xbc, 0xbb, 0xbb, 0xf9, 0xf9, 0xf9 +db 0xf7, 0xf7, 0xf7, 0xb7, 0xb7, 0xb7, 0x82, 0x82, 0x82, 0x80, 0x81, 0x81 +db 0x89, 0x97, 0x99, 0x91, 0xaa, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xab, 0xaf, 0x90, 0xa2, 0xa5, 0x76, 0x83, 0x84 +db 0x66, 0x77, 0x77, 0x7e, 0x80, 0x7f, 0x85, 0x8a, 0x8b, 0x8e, 0xa3, 0xa6 +db 0x91, 0xab, 0xaf, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae +db 0x8f, 0xa7, 0xab, 0x8b, 0x96, 0x98, 0xc0, 0xc0, 0xc0, 0xfb, 0xfb, 0xfb +db 0xf5, 0xf5, 0xf5, 0xb3, 0xb3, 0xb3, 0x82, 0x81, 0x81, 0x81, 0x82, 0x82 +db 0x8a, 0x98, 0x9a, 0x91, 0xaa, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xaf, 0x8e, 0xa1, 0xa4, 0x7b, 0x84, 0x85 +db 0x6c, 0x79, 0x79, 0x7e, 0x7f, 0x7f, 0x85, 0x8b, 0x8c, 0x8f, 0xa3, 0xa7 +db 0x91, 0xab, 0xaf, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae +db 0x8f, 0xa7, 0xab, 0x8c, 0x97, 0x9a, 0xc4, 0xc5, 0xc5, 0xfc, 0xfc, 0xfc +db 0xf3, 0xf3, 0xf3, 0xae, 0xae, 0xae, 0x81, 0x80, 0x81, 0x81, 0x83, 0x83 +db 0x8b, 0x9a, 0x9c, 0x91, 0xaa, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x8e, 0x9f, 0xa2, 0x78, 0x82, 0x83 +db 0x63, 0x76, 0x76, 0x7c, 0x7e, 0x7e, 0x86, 0x8c, 0x8d, 0x8f, 0xa4, 0xa8 +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae +db 0x90, 0xa6, 0xaa, 0x8a, 0x94, 0x96, 0xba, 0xb9, 0xb9, 0xf8, 0xf8, 0xf8 +db 0xf1, 0xf1, 0xf1, 0xa9, 0xa9, 0xa9, 0x80, 0x80, 0x80, 0x81, 0x83, 0x83 +db 0x8b, 0x9b, 0x9d, 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x8f, 0x9f, 0xa1, 0x74, 0x80, 0x81 +db 0x54, 0x71, 0x71, 0x77, 0x7d, 0x7d, 0x85, 0x89, 0x8a, 0x8d, 0xa0, 0xa3 +db 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae +db 0x90, 0xa7, 0xaa, 0x85, 0x8e, 0x8f, 0xa5, 0xa4, 0xa4, 0xf1, 0xf1, 0xf1 +db 0xef, 0xef, 0xef, 0xa5, 0xa5, 0xa5, 0x80, 0x80, 0x80, 0x81, 0x82, 0x81 +db 0x89, 0x95, 0x96, 0x90, 0xa8, 0xac, 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xaf, 0x91, 0xa4, 0xa7, 0x75, 0x85, 0x86 +db 0x57, 0x72, 0x72, 0x79, 0x7d, 0x7d, 0x84, 0x84, 0x85, 0x8c, 0x9c, 0x9e +db 0x90, 0xaa, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae +db 0x90, 0xa7, 0xab, 0x86, 0x90, 0x92, 0xa8, 0xa9, 0xa9, 0xf3, 0xf3, 0xf3 +db 0xec, 0xec, 0xec, 0xa1, 0xa1, 0xa1, 0x80, 0x80, 0x80, 0x81, 0x80, 0x80 +db 0x87, 0x91, 0x92, 0x90, 0xa7, 0xaa, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x91, 0xa6, 0xa9, 0x7c, 0x89, 0x8a +db 0x61, 0x75, 0x75, 0x7a, 0x7e, 0x7d, 0x84, 0x85, 0x85, 0x8c, 0x9d, 0x9f +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x89, 0x98, 0x9a, 0xae, 0xb0, 0xb0, 0xf6, 0xf6, 0xf6 +db 0xec, 0xec, 0xec, 0xa3, 0xa3, 0xa3, 0x81, 0x80, 0x80, 0x81, 0x80, 0x81 +db 0x87, 0x91, 0x93, 0x90, 0xa7, 0xab, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8f, 0xa5, 0xa9, 0x7f, 0x89, 0x8b +db 0x69, 0x78, 0x78, 0x7c, 0x7e, 0x7e, 0x84, 0x86, 0x86, 0x8d, 0x9e, 0xa1 +db 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x8a, 0x99, 0x9c, 0xb3, 0xb5, 0xb5, 0xf8, 0xf8, 0xf8 +db 0xf7, 0xf7, 0xf7, 0xb6, 0xb6, 0xb6, 0x83, 0x83, 0x83, 0x80, 0x81, 0x81 +db 0x88, 0x93, 0x95, 0x90, 0xa8, 0xac, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8f, 0xa4, 0xa7, 0x7e, 0x88, 0x88 +db 0x69, 0x78, 0x78, 0x7c, 0x7f, 0x7f, 0x84, 0x87, 0x88, 0x8d, 0x9f, 0xa2 +db 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x8a, 0x98, 0x9a, 0xae, 0xaf, 0xb0, 0xf4, 0xf4, 0xf4 +db 0xfb, 0xfb, 0xfb, 0xbe, 0xbe, 0xbe, 0x84, 0x84, 0x84, 0x81, 0x81, 0x82 +db 0x89, 0x96, 0x98, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8f, 0xa2, 0xa5, 0x7b, 0x85, 0x86 +db 0x5c, 0x74, 0x74, 0x76, 0x7d, 0x7c, 0x84, 0x89, 0x89, 0x8e, 0xa1, 0xa4 +db 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa8, 0xac, 0x88, 0x95, 0x97, 0x9b, 0x9c, 0x9d, 0xea, 0xea, 0xea +db 0xf8, 0xf8, 0xf8, 0xb7, 0xb7, 0xb7, 0x82, 0x81, 0x81, 0x81, 0x83, 0x83 +db 0x8a, 0x98, 0x9b, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x90, 0xa6, 0xa9, 0x7b, 0x89, 0x8a +db 0x54, 0x71, 0x71, 0x73, 0x7c, 0x7c, 0x86, 0x8a, 0x8c, 0x8f, 0xa3, 0xa6 +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa8, 0xac, 0x87, 0x93, 0x95, 0x9b, 0x9b, 0x9c, 0xea, 0xea, 0xea +db 0xf7, 0xf7, 0xf7, 0xb2, 0xb2, 0xb2, 0x80, 0x80, 0x80, 0x81, 0x83, 0x83 +db 0x8b, 0x9a, 0x9c, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x91, 0xa8, 0xab, 0x80, 0x8e, 0x8f +db 0x60, 0x75, 0x74, 0x76, 0x7d, 0x7d, 0x85, 0x88, 0x89, 0x8d, 0x9f, 0xa2 +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x8a, 0x99, 0x9b, 0xa0, 0xa2, 0xa3, 0xec, 0xec, 0xec +db 0xf4, 0xf4, 0xf4, 0xad, 0xad, 0xad, 0x7f, 0x7f, 0x7f, 0x81, 0x82, 0x83 +db 0x8a, 0x98, 0x9a, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x90, 0xa7, 0xab, 0x82, 0x8d, 0x8f +db 0x68, 0x78, 0x78, 0x79, 0x7e, 0x7e, 0x83, 0x85, 0x85, 0x8b, 0x9b, 0x9e +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x8b, 0x9c, 0x9f, 0xa4, 0xa7, 0xa7, 0xef, 0xee, 0xee +db 0xf2, 0xf2, 0xf2, 0xa8, 0xa8, 0xa8, 0x7f, 0x7f, 0x7f, 0x81, 0x81, 0x80 +db 0x88, 0x91, 0x93, 0x90, 0xa8, 0xab, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x90, 0xa6, 0xaa, 0x82, 0x8b, 0x8d +db 0x67, 0x77, 0x77, 0x79, 0x7e, 0x7e, 0x84, 0x85, 0x85, 0x8b, 0x9c, 0x9f +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xad, 0x8b, 0x9b, 0x9e, 0xa0, 0xa2, 0xa2, 0xea, 0xea, 0xea +db 0xf0, 0xf0, 0xf0, 0xa4, 0xa4, 0xa4, 0x7f, 0x7f, 0x7f, 0x81, 0x81, 0x80 +db 0x87, 0x90, 0x92, 0x90, 0xa8, 0xab, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x90, 0xa5, 0xa9, 0x7f, 0x8a, 0x8b +db 0x5c, 0x73, 0x73, 0x70, 0x7a, 0x7a, 0x84, 0x85, 0x86, 0x8c, 0x9d, 0x9f +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xad, 0x89, 0x99, 0x9b, 0x91, 0x93, 0x92, 0xdc, 0xdc, 0xdc +db 0xed, 0xed, 0xed, 0xa0, 0xa0, 0xa0, 0x7e, 0x7e, 0x7e, 0x81, 0x81, 0x81 +db 0x87, 0x92, 0x93, 0x90, 0xa8, 0xac, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x91, 0xa5, 0xa9, 0x80, 0x8a, 0x8c +db 0x55, 0x71, 0x71, 0x6a, 0x79, 0x79, 0x84, 0x87, 0x87, 0x8d, 0x9e, 0xa2 +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xa9, 0xad +db 0x91, 0xa9, 0xad, 0x89, 0x98, 0x9a, 0x8e, 0x8f, 0x8f, 0xdb, 0xda, 0xda +db 0xea, 0xea, 0xea, 0x9f, 0x9f, 0x9f, 0x7e, 0x7e, 0x7e, 0x81, 0x81, 0x81 +db 0x88, 0x94, 0x95, 0x91, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x91, 0xa9, 0xad, 0x86, 0x91, 0x93 +db 0x64, 0x77, 0x76, 0x70, 0x7b, 0x7a, 0x84, 0x88, 0x88, 0x8e, 0xa0, 0xa4 +db 0x91, 0xaa, 0xaf, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xa9, 0xad +db 0x91, 0xaa, 0xaf, 0x8b, 0x9d, 0x9f, 0x92, 0x96, 0x97, 0xde, 0xde, 0xde +db 0xf4, 0xf4, 0xf4, 0xb1, 0xb1, 0xb1, 0x82, 0x81, 0x81, 0x81, 0x81, 0x81 +db 0x89, 0x95, 0x97, 0x91, 0xa9, 0xad, 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x91, 0xaa, 0xae, 0x87, 0x93, 0x95 +db 0x6a, 0x78, 0x78, 0x72, 0x7b, 0x7b, 0x84, 0x88, 0x89, 0x8e, 0xa1, 0xa4 +db 0x91, 0xab, 0xaf, 0x91, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xa9, 0xad +db 0x91, 0xab, 0xaf, 0x8c, 0xa1, 0xa4, 0x97, 0x9c, 0x9d, 0xe1, 0xe1, 0xe1 +db 0xf8, 0xf8, 0xf8, 0xbb, 0xbb, 0xbb, 0x83, 0x83, 0x83, 0x80, 0x81, 0x81 +db 0x89, 0x96, 0x98, 0x91, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x91, 0xaa, 0xae, 0x86, 0x92, 0x94 +db 0x69, 0x78, 0x78, 0x74, 0x7c, 0x7c, 0x83, 0x86, 0x86, 0x8c, 0x9c, 0x9f +db 0x91, 0xaa, 0xae, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xab, 0xaf, 0x8b, 0xa0, 0xa3, 0x98, 0x9d, 0x9d, 0xe4, 0xe3, 0xe3 +db 0xf8, 0xf8, 0xf8, 0xb7, 0xb7, 0xb7, 0x82, 0x81, 0x81, 0x80, 0x81, 0x81 +db 0x89, 0x97, 0x99, 0x91, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x91, 0xa9, 0xad, 0x85, 0x91, 0x92 +db 0x64, 0x76, 0x76, 0x6f, 0x7a, 0x7a, 0x82, 0x82, 0x83, 0x8a, 0x97, 0x99 +db 0x91, 0xaa, 0xad, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x8b, 0x9f, 0xa2, 0x8f, 0x94, 0x94, 0xd8, 0xd7, 0xd7 +db 0xf6, 0xf6, 0xf6, 0xb3, 0xb3, 0xb3, 0x81, 0x81, 0x81, 0x80, 0x81, 0x80 +db 0x87, 0x91, 0x92, 0x90, 0xa7, 0xab, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x91, 0xa9, 0xad, 0x85, 0x91, 0x92 +db 0x5c, 0x73, 0x73, 0x64, 0x77, 0x77, 0x81, 0x82, 0x82, 0x8a, 0x98, 0x9a +db 0x91, 0xaa, 0xad, 0x91, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x8b, 0x9e, 0xa1, 0x86, 0x8a, 0x8a, 0xcd, 0xcd, 0xcd +db 0xf4, 0xf4, 0xf4, 0xae, 0xae, 0xae, 0x81, 0x81, 0x81, 0x81, 0x80, 0x7f +db 0x86, 0x8e, 0x8e, 0x8f, 0xa6, 0xa9, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x91, 0xaa, 0xaf, 0x88, 0x96, 0x98 +db 0x65, 0x77, 0x77, 0x67, 0x78, 0x77, 0x81, 0x83, 0x83, 0x8b, 0x9a, 0x9c +db 0x91, 0xaa, 0xad, 0x91, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x8b, 0x9e, 0xa0, 0x87, 0x8b, 0x8c, 0xcf, 0xcf, 0xcf +db 0xf1, 0xf1, 0xf1, 0xa9, 0xa9, 0xa9, 0x80, 0x80, 0x80, 0x81, 0x80, 0x80 +db 0x87, 0x8f, 0x90, 0x90, 0xa6, 0xaa, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xab, 0xaf, 0x8b, 0x9a, 0x9c +db 0x6f, 0x7b, 0x7b, 0x6d, 0x7a, 0x7a, 0x81, 0x84, 0x85, 0x8b, 0x9b, 0x9e +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xab, 0xae, 0x8c, 0xa2, 0xa5, 0x8d, 0x93, 0x94, 0xd5, 0xd5, 0xd4 +db 0xee, 0xee, 0xee, 0xa4, 0xa4, 0xa4, 0x7f, 0x7f, 0x7f, 0x81, 0x80, 0x81 +db 0x87, 0x90, 0x92, 0x90, 0xa7, 0xab, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x8a, 0x97, 0x9a +db 0x6d, 0x7a, 0x7a, 0x6f, 0x7a, 0x7a, 0x83, 0x85, 0x86, 0x8d, 0x9d, 0xa1 +db 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x8d, 0xa4, 0xa7, 0x90, 0x98, 0x99, 0xd9, 0xd9, 0xd8 +db 0xea, 0xea, 0xea, 0x9f, 0x9f, 0x9f, 0x7f, 0x7f, 0x7f, 0x81, 0x81, 0x81 +db 0x87, 0x91, 0x94, 0x90, 0xa8, 0xab, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x88, 0x95, 0x97 +db 0x69, 0x78, 0x78, 0x6a, 0x78, 0x78, 0x83, 0x86, 0x87, 0x8d, 0x9f, 0xa2 +db 0x90, 0xab, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x8e, 0xa3, 0xa7, 0x8a, 0x91, 0x92, 0xcc, 0xcb, 0xcc +db 0xe9, 0xe9, 0xe9, 0x9e, 0x9e, 0x9e, 0x7f, 0x7f, 0x7f, 0x81, 0x81, 0x81 +db 0x88, 0x93, 0x95, 0x91, 0xa8, 0xad, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xa9, 0xad, 0x92, 0xaa, 0xae, 0x88, 0x95, 0x97 +db 0x62, 0x76, 0x76, 0x5d, 0x74, 0x74, 0x7f, 0x83, 0x84, 0x8b, 0x99, 0x9d +db 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x8e, 0xa2, 0xa6, 0x84, 0x8a, 0x8b, 0xc0, 0xc0, 0xc0 +db 0xf3, 0xf3, 0xf3, 0xb0, 0xb0, 0xb0, 0x82, 0x81, 0x81, 0x81, 0x81, 0x81 +db 0x89, 0x94, 0x96, 0x91, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xa9, 0xad, 0x92, 0xab, 0xaf, 0x8c, 0x9b, 0x9d +db 0x6b, 0x79, 0x7a, 0x61, 0x76, 0x76, 0x7e, 0x80, 0x80, 0x89, 0x95, 0x96 +db 0x90, 0xa8, 0xac, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xab, 0xaf, 0x8d, 0xa2, 0xa6, 0x84, 0x8a, 0x8b, 0xc3, 0xc3, 0xc2 +db 0xf8, 0xf8, 0xf8, 0xba, 0xba, 0xba, 0x83, 0x83, 0x83, 0x80, 0x80, 0x80 +db 0x86, 0x8f, 0x8f, 0x8f, 0xa6, 0xa9, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x92, 0xab, 0xaf, 0x8d, 0x9e, 0xa1 +db 0x74, 0x7d, 0x7e, 0x69, 0x78, 0x78, 0x7f, 0x80, 0x81, 0x8a, 0x95, 0x97 +db 0x91, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xab, 0xaf, 0x8e, 0xa5, 0xa9, 0x87, 0x91, 0x92, 0xc7, 0xc8, 0xc7 +db 0xf7, 0xf7, 0xf7, 0xb6, 0xb6, 0xb6, 0x82, 0x82, 0x82, 0x80, 0x7f, 0x7f +db 0x85, 0x8a, 0x8b, 0x8f, 0xa4, 0xa7, 0x91, 0xaa, 0xaf, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x92, 0xab, 0xaf, 0x8d, 0x9d, 0x9f +db 0x73, 0x7d, 0x7d, 0x6b, 0x78, 0x79, 0x7f, 0x82, 0x81, 0x8a, 0x97, 0x99 +db 0x91, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x8f, 0xa8, 0xab, 0x8a, 0x96, 0x97, 0xcc, 0xcc, 0xcc +db 0xf4, 0xf4, 0xf4, 0xb0, 0xb0, 0xb0, 0x81, 0x81, 0x81, 0x80, 0x7f, 0x7f +db 0x85, 0x8b, 0x8c, 0x8f, 0xa5, 0xa9, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x92, 0xab, 0xaf, 0x8c, 0x9c, 0x9e +db 0x6f, 0x7b, 0x7b, 0x65, 0x77, 0x77, 0x7e, 0x82, 0x81, 0x8a, 0x99, 0x9b +db 0x91, 0xa9, 0xad, 0x91, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x90, 0xa7, 0xab, 0x87, 0x92, 0x94, 0xbf, 0xc0, 0xc0 +db 0xf2, 0xf2, 0xf2, 0xac, 0xac, 0xac, 0x81, 0x81, 0x81, 0x80, 0x80, 0x7f +db 0x85, 0x8c, 0x8d, 0x8f, 0xa6, 0xa9, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x92, 0xab, 0xaf, 0x8c, 0x9b, 0x9d +db 0x6c, 0x7a, 0x7a, 0x57, 0x72, 0x72, 0x79, 0x80, 0x81, 0x8c, 0x9a, 0x9d +db 0x91, 0xa9, 0xad, 0x91, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x90, 0xa7, 0xab, 0x83, 0x8d, 0x8e, 0xb2, 0xb2, 0xb2 +db 0xf0, 0xf0, 0xf0, 0xa8, 0xa8, 0xa8, 0x81, 0x80, 0x80, 0x81, 0x80, 0x80 +db 0x86, 0x8e, 0x8f, 0x8f, 0xa6, 0xaa, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x92, 0xab, 0xaf, 0x8d, 0x9c, 0x9f +db 0x73, 0x7d, 0x7d, 0x5e, 0x74, 0x74, 0x79, 0x80, 0x81, 0x8c, 0x9b, 0x9e +db 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x90, 0xa6, 0xaa, 0x83, 0x8c, 0x8d, 0xb4, 0xb4, 0xb4 +db 0xee, 0xee, 0xee, 0xa5, 0xa5, 0xa5, 0x80, 0x80, 0x80, 0x81, 0x80, 0x80 +db 0x87, 0x90, 0x91, 0x8f, 0xa6, 0xaa, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x92, 0xab, 0xaf, 0x8e, 0xa1, 0xa4 +db 0x7a, 0x82, 0x82, 0x67, 0x78, 0x77, 0x7b, 0x80, 0x80, 0x8a, 0x97, 0x99 +db 0x90, 0xa8, 0xac, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x90, 0xa7, 0xab, 0x84, 0x8e, 0x90, 0xb8, 0xb9, 0xb9 +db 0xec, 0xec, 0xec, 0xa1, 0xa1, 0xa1, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80 +db 0x87, 0x91, 0x92, 0x8e, 0xa6, 0xaa, 0x8f, 0xa9, 0xad, 0x8f, 0xa8, 0xac +db 0x8f, 0xa8, 0xac, 0x8f, 0xa8, 0xac, 0x90, 0xaa, 0xae, 0x8d, 0xa1, 0xa4 +db 0x79, 0x81, 0x81, 0x67, 0x77, 0x77, 0x7a, 0x7e, 0x7e, 0x87, 0x90, 0x91 +db 0x8f, 0xa6, 0xa9, 0x8f, 0xa8, 0xad, 0x8f, 0xa8, 0xac, 0x8f, 0xa8, 0xac +db 0x90, 0xa9, 0xad, 0x8f, 0xa8, 0xac, 0x88, 0x95, 0x99, 0xbc, 0xbe, 0xbe +db 0xee, 0xee, 0xee, 0xb0, 0xb0, 0xb0, 0x97, 0x97, 0x97, 0x94, 0x94, 0x94 +db 0x98, 0x9f, 0xa0, 0x9d, 0xb0, 0xb5, 0x9c, 0xb3, 0xb7, 0x9a, 0xb1, 0xb4 +db 0x99, 0xb0, 0xb4, 0x98, 0xaf, 0xb3, 0x97, 0xb0, 0xb3, 0x95, 0xa5, 0xa8 +db 0x80, 0x88, 0x88, 0x71, 0x80, 0x80, 0x84, 0x87, 0x87, 0x8f, 0x98, 0x9a +db 0x96, 0xac, 0xb0, 0x96, 0xae, 0xb2, 0x96, 0xae, 0xb2, 0x96, 0xae, 0xb2 +db 0x96, 0xae, 0xb2, 0x96, 0xae, 0xb2, 0x8f, 0x9d, 0xa0, 0xbd, 0xbe, 0xbe \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/gun01.inc b/programs/games/hunter/trunk/inc/gun01.inc new file mode 100644 index 0000000000..20da9c763d --- /dev/null +++ b/programs/games/hunter/trunk/inc/gun01.inc @@ -0,0 +1,589 @@ +dw 48, 49 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc +db 0xea, 0xee, 0xee, 0xcf, 0xdb, 0xdc, 0xc6, 0xd2, 0xd4, 0xcc, 0xd9, 0xdc +db 0xdc, 0xeb, 0xee, 0xee, 0xf7, 0xf9, 0xfa, 0xfc, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf0, 0xf4, 0xf4, 0xde, 0xe6, 0xe8, 0xdb, 0xe4, 0xe6, 0xdd, 0xe5, 0xe6 +db 0xe5, 0xea, 0xec, 0xf8, 0xfa, 0xfb, 0xf6, 0xf6, 0xf6, 0xcc, 0xcd, 0xcd +db 0xa5, 0xb3, 0xb5, 0x95, 0xad, 0xb1, 0x91, 0xaa, 0xae, 0xa1, 0xbe, 0xc2 +db 0xba, 0xdc, 0xe1, 0xc9, 0xe8, 0xed, 0xda, 0xf0, 0xf3, 0xf4, 0xfa, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf3, 0xf3 +db 0xbc, 0xc8, 0xcb, 0x9b, 0xb2, 0xb6, 0x9a, 0xb1, 0xb5, 0x9b, 0xb2, 0xb5 +db 0xa4, 0xb8, 0xbc, 0xbb, 0xca, 0xcc, 0xbe, 0xc2, 0xc2, 0x97, 0x9d, 0x9d +db 0x89, 0x9d, 0xa0, 0x8f, 0xa8, 0xad, 0x93, 0xad, 0xb2, 0xa9, 0xc9, 0xcd +db 0xbc, 0xe1, 0xe7, 0xbd, 0xe4, 0xea, 0xbf, 0xe1, 0xe6, 0xdf, 0xee, 0xf0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfa, 0xfa, 0xca, 0xd0, 0xd1 +db 0x94, 0xaa, 0xae, 0x8b, 0xa5, 0xa9, 0x8d, 0xa7, 0xab, 0x8d, 0xa7, 0xab +db 0x8d, 0xa8, 0xad, 0x8d, 0xa2, 0xa5, 0x88, 0x90, 0x91, 0x89, 0x94, 0x95 +db 0x8f, 0xa7, 0xab, 0x90, 0xaa, 0xae, 0x9c, 0xb8, 0xbc, 0xb5, 0xd6, 0xdd +db 0xbf, 0xe5, 0xeb, 0xbd, 0xe4, 0xea, 0xb2, 0xd5, 0xda, 0xc2, 0xd1, 0xd4 +db 0xf3, 0xf3, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xfa, 0xfa, 0xce, 0xcf, 0xcf, 0x9a, 0xa9, 0xab +db 0x8d, 0xa6, 0xaa, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x88, 0x97, 0x98, 0x82, 0x86, 0x87, 0x8b, 0x9b, 0x9e +db 0x90, 0xaa, 0xad, 0x92, 0xab, 0xaf, 0xa5, 0xc2, 0xc7, 0xbb, 0xdf, 0xe4 +db 0xc0, 0xe6, 0xec, 0xbe, 0xe4, 0xea, 0xa8, 0xc6, 0xcb, 0x9b, 0xa7, 0xa8 +db 0xd6, 0xd7, 0xd7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe2, 0xe1, 0xe1, 0x9d, 0xa5, 0xa5, 0x89, 0xa0, 0xa2 +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae +db 0x8f, 0xa6, 0xaa, 0x86, 0x8d, 0x8e, 0x85, 0x8c, 0x8c, 0x8f, 0xa4, 0xa7 +db 0x90, 0xa9, 0xad, 0x95, 0xb0, 0xb5, 0xad, 0xcd, 0xd2, 0xbe, 0xe4, 0xe8 +db 0xc0, 0xe6, 0xec, 0xbb, 0xe1, 0xe7, 0x9e, 0xb6, 0xba, 0x7f, 0x89, 0x8a +db 0xba, 0xc1, 0xc0, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf9, 0xf9, 0xf9, 0xbf, 0xc0, 0xc0, 0x8d, 0x9b, 0x9b, 0x8e, 0xa7, 0xab +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae +db 0x8c, 0x9f, 0xa2, 0x84, 0x89, 0x8a, 0x89, 0x96, 0x98, 0x90, 0xa9, 0xac +db 0x91, 0xaa, 0xae, 0x9e, 0xba, 0xbf, 0xb6, 0xd8, 0xde, 0xc0, 0xe5, 0xeb +db 0xbf, 0xe5, 0xeb, 0xb4, 0xd5, 0xdb, 0x91, 0xa2, 0xa5, 0x70, 0x7e, 0x7e +db 0xae, 0xbe, 0xbe, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe3, 0xe2, 0xe2, 0x9e, 0xa5, 0xa5, 0x8c, 0xa1, 0xa3, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xac +db 0x89, 0x96, 0x98, 0x84, 0x8a, 0x8b, 0x8d, 0x9f, 0xa3, 0x90, 0xa9, 0xad +db 0x93, 0xad, 0xb0, 0xa8, 0xc7, 0xcc, 0xbd, 0xe1, 0xe7, 0xc0, 0xe5, 0xec +db 0xbd, 0xe2, 0xe8, 0xa9, 0xc4, 0xc9, 0x81, 0x8c, 0x8e, 0x6e, 0x82, 0x82 +db 0xbd, 0xcc, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xf9, 0xf9 +db 0xc0, 0xc0, 0xc0, 0x8e, 0x9c, 0x9e, 0x8f, 0xa7, 0xac, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8e, 0xa3, 0xa7 +db 0x86, 0x8c, 0x8e, 0x87, 0x90, 0x91, 0x8f, 0xa5, 0xa9, 0x8f, 0xa9, 0xad +db 0x98, 0xb3, 0xb7, 0xb1, 0xd1, 0xd7, 0xbe, 0xe4, 0xea, 0xc0, 0xe5, 0xeb +db 0xb9, 0xdd, 0xe3, 0x9d, 0xb1, 0xb4, 0x6f, 0x7c, 0x7d, 0x7a, 0x92, 0x92 +db 0xdc, 0xe6, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xe2, 0xe2 +db 0x9e, 0xa5, 0xa6, 0x8c, 0xa1, 0xa4, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xae, 0x8b, 0x9b, 0x9d +db 0x84, 0x88, 0x89, 0x8b, 0x9b, 0x9d, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x9f, 0xbd, 0xc0, 0xb8, 0xdb, 0xe1, 0xc0, 0xe5, 0xeb, 0xc0, 0xe5, 0xeb +db 0xb2, 0xd3, 0xd8, 0x8e, 0x9c, 0x9f, 0x62, 0x76, 0x77, 0x95, 0xad, 0xad +db 0xf6, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfa, 0xfa, 0xc0, 0xc1, 0xc1 +db 0x8d, 0x9d, 0x9f, 0x8f, 0xa7, 0xab, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x90, 0xa6, 0xaa, 0x88, 0x90, 0x91 +db 0x85, 0x8b, 0x8c, 0x8e, 0xa2, 0xa6, 0x90, 0xa9, 0xad, 0x94, 0xae, 0xb2 +db 0xab, 0xca, 0xd0, 0xbd, 0xe2, 0xe7, 0xc0, 0xe5, 0xeb, 0xbe, 0xe4, 0xe9 +db 0xa9, 0xc3, 0xc8, 0x7e, 0x8a, 0x8c, 0x6b, 0x82, 0x82, 0xbe, 0xce, 0xce +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xe2, 0xe2, 0x9f, 0xa5, 0xa6 +db 0x8b, 0xa1, 0xa4, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8d, 0xa0, 0xa3, 0x84, 0x88, 0x89 +db 0x88, 0x92, 0x93, 0x90, 0xa6, 0xab, 0x8f, 0xa8, 0xac, 0x9b, 0xb6, 0xbb +db 0xb4, 0xd6, 0xdc, 0xbf, 0xe5, 0xeb, 0xc0, 0xe5, 0xeb, 0xb9, 0xdd, 0xe3 +db 0x9c, 0xb0, 0xb4, 0x71, 0x7e, 0x7f, 0x87, 0x9f, 0x9f, 0xe8, 0xef, 0xef +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xfa, 0xbf, 0xc0, 0xc0, 0x8d, 0x9c, 0x9e +db 0x8e, 0xa6, 0xab, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x90, 0xaa, 0xae, 0x89, 0x97, 0x9a, 0x84, 0x88, 0x8a +db 0x8c, 0x9d, 0xa0, 0x8f, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0xa3, 0xc0, 0xc5 +db 0xba, 0xde, 0xe4, 0xc0, 0xe5, 0xeb, 0xbe, 0xe4, 0xea, 0xb1, 0xd0, 0xd6 +db 0x8c, 0x9a, 0x9d, 0x6c, 0x7e, 0x7d, 0xa9, 0xbc, 0xbc, 0xfc, 0xfd, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe2, 0xe1, 0xe1, 0x9d, 0xa4, 0xa5, 0x8b, 0xa0, 0xa4 +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x8f, 0xa6, 0xa8, 0x86, 0x8e, 0x90, 0x86, 0x8e, 0x90 +db 0x8f, 0xa5, 0xa9, 0x90, 0xa9, 0xad, 0x97, 0xb1, 0xb5, 0xad, 0xcd, 0xd3 +db 0xbe, 0xe3, 0xe8, 0xc0, 0xe5, 0xeb, 0xbb, 0xe0, 0xe6, 0xa4, 0xbe, 0xc1 +db 0x7c, 0x88, 0x88, 0x74, 0x89, 0x89, 0xcd, 0xda, 0xda, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xf9, 0xf9, 0xc0, 0xc0, 0xc0, 0x8d, 0x9b, 0x9d, 0x8e, 0xa6, 0xaa +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x8c, 0x9c, 0x9f, 0x83, 0x88, 0x88, 0x89, 0x97, 0x98 +db 0x90, 0xa8, 0xac, 0x90, 0xa9, 0xad, 0x9e, 0xbb, 0xc0, 0xb7, 0xda, 0xe0 +db 0xbf, 0xe4, 0xea, 0xbf, 0xe5, 0xea, 0xb6, 0xd8, 0xdd, 0x95, 0xa7, 0xaa +db 0x6d, 0x7c, 0x7c, 0x87, 0x9f, 0x9f, 0xea, 0xf0, 0xf0, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe3, 0xe2, 0xe2, 0x9e, 0xa5, 0xa5, 0x8a, 0xa0, 0xa3, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae +db 0x90, 0xa8, 0xac, 0x88, 0x93, 0x95, 0x84, 0x89, 0x8a, 0x8d, 0x9f, 0xa1 +db 0x90, 0xa9, 0xad, 0x92, 0xac, 0xb0, 0xa7, 0xc5, 0xca, 0xbc, 0xe0, 0xe7 +db 0xbf, 0xe5, 0xeb, 0xbe, 0xe4, 0xe9, 0xae, 0xcb, 0xd0, 0x87, 0x93, 0x95 +db 0x64, 0x7a, 0x7a, 0xa7, 0xbc, 0xbc, 0xfb, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xf9, 0xf9 +db 0xbf, 0xc0, 0xc0, 0x8d, 0x9c, 0x9d, 0x8d, 0xa6, 0xaa, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae +db 0x8d, 0xa0, 0xa3, 0x84, 0x89, 0x8b, 0x87, 0x91, 0x93, 0x8f, 0xa6, 0xaa +db 0x90, 0xa9, 0xad, 0x97, 0xb3, 0xb6, 0xaf, 0xd0, 0xd6, 0xbe, 0xe4, 0xea +db 0xbf, 0xe5, 0xeb, 0xbc, 0xe1, 0xe6, 0xa3, 0xbb, 0xc0, 0x77, 0x83, 0x84 +db 0x6b, 0x85, 0x85, 0xca, 0xd7, 0xd7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2, 0xe2, 0xe2 +db 0x9e, 0xa4, 0xa5, 0x8b, 0xa0, 0xa2, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x90, 0xaa, 0xae +db 0x8a, 0x98, 0x9a, 0x84, 0x87, 0x87, 0x8b, 0x9b, 0x9d, 0x90, 0xa8, 0xad +db 0x91, 0xaa, 0xaf, 0xa1, 0xbf, 0xc3, 0xb8, 0xdb, 0xe0, 0xbf, 0xe5, 0xea +db 0xbf, 0xe6, 0xeb, 0xb6, 0xd9, 0xde, 0x96, 0xa8, 0xab, 0x6a, 0x7a, 0x7a +db 0x82, 0x9d, 0x9d, 0xe8, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfb, 0xc0, 0xc2, 0xc2 +db 0x8d, 0x9b, 0x9c, 0x8e, 0xa6, 0xaa, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x90, 0xa7, 0xab +db 0x86, 0x90, 0x91, 0x86, 0x8c, 0x8e, 0x8e, 0xa4, 0xa7, 0x90, 0xa9, 0xad +db 0x94, 0xae, 0xb2, 0xab, 0xc9, 0xd0, 0xbd, 0xe1, 0xe7, 0xc0, 0xe4, 0xea +db 0xbf, 0xe5, 0xea, 0xaf, 0xcc, 0xd2, 0x88, 0x95, 0x97, 0x6a, 0x7e, 0x7e +db 0xaf, 0xc1, 0xc1, 0xfa, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe4, 0xe3, 0xe3, 0x9f, 0xa6, 0xa6 +db 0x8a, 0x9f, 0xa2, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x8d, 0x9f, 0xa2 +db 0x84, 0x89, 0x89, 0x89, 0x95, 0x97, 0x90, 0xa8, 0xad, 0x90, 0xa9, 0xad +db 0x9a, 0xb6, 0xba, 0xb3, 0xd4, 0xda, 0xbe, 0xe3, 0xea, 0xbf, 0xe6, 0xeb +db 0xba, 0xdf, 0xe4, 0xa1, 0xb9, 0xbc, 0x79, 0x85, 0x85, 0x7a, 0x91, 0x91 +db 0xda, 0xe4, 0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xfa, 0xc0, 0xc0, 0xc1, 0x8d, 0x9b, 0x9c +db 0x8e, 0xa7, 0xaa, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x89, 0x95, 0x96 +db 0x84, 0x88, 0x87, 0x8c, 0x9d, 0xa0, 0x90, 0xaa, 0xae, 0x91, 0xab, 0xaf +db 0xa2, 0xbf, 0xc3, 0xba, 0xdd, 0xe2, 0xc0, 0xe5, 0xea, 0xc0, 0xe6, 0xeb +db 0xb3, 0xd4, 0xda, 0x93, 0xa1, 0xa3, 0x6c, 0x7b, 0x7b, 0x96, 0xab, 0xab +db 0xf2, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe3, 0xe2, 0xe3, 0x9f, 0xa5, 0xa6, 0x8b, 0xa0, 0xa2 +db 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xaf, 0x8f, 0xa4, 0xa7, 0x86, 0x8d, 0x8d +db 0x86, 0x8f, 0x90, 0x8e, 0xa5, 0xa8, 0x91, 0xa9, 0xad, 0x95, 0xaf, 0xb3 +db 0xab, 0xca, 0xcf, 0xbe, 0xe2, 0xe7, 0xbf, 0xe5, 0xeb, 0xbe, 0xe4, 0xea +db 0xaa, 0xc6, 0xca, 0x84, 0x8e, 0x8f, 0x6c, 0x7f, 0x7f, 0xba, 0xca, 0xca +db 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf9, 0xf9, 0xf9, 0xc0, 0xc1, 0xc1, 0x8d, 0x9b, 0x9d, 0x8e, 0xa7, 0xab +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x90, 0xaa, 0xad, 0x8b, 0x9a, 0x9b, 0x83, 0x87, 0x87 +db 0x8a, 0x99, 0x9b, 0x90, 0xaa, 0xae, 0x91, 0xaa, 0xae, 0x9d, 0xb9, 0xbd +db 0xb4, 0xd7, 0xdc, 0xbe, 0xe4, 0xea, 0xbf, 0xe6, 0xec, 0xb9, 0xde, 0xe4 +db 0x9e, 0xb3, 0xb7, 0x73, 0x7f, 0x80, 0x77, 0x8f, 0x8f, 0xda, 0xe4, 0xe4 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe3, 0xe2, 0xe2, 0x9f, 0xa6, 0xa6, 0x8b, 0xa1, 0xa4, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xaf, 0x8e, 0xa4, 0xa7, 0x85, 0x8c, 0x8c, 0x85, 0x89, 0x8a +db 0x8e, 0xa1, 0xa4, 0x90, 0xaa, 0xaf, 0x93, 0xac, 0xb1, 0xa6, 0xc4, 0xc9 +db 0xbb, 0xe0, 0xe6, 0xbf, 0xe5, 0xeb, 0xc0, 0xe5, 0xeb, 0xb3, 0xd3, 0xda +db 0x90, 0x9f, 0xa2, 0x65, 0x78, 0x78, 0x92, 0xaa, 0xaa, 0xf3, 0xf7, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xf9, 0xf9 +db 0xc0, 0xc1, 0xc1, 0x8e, 0x9c, 0x9e, 0x8f, 0xa7, 0xac, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x8b, 0x99, 0x9b, 0x82, 0x84, 0x85, 0x88, 0x94, 0x96 +db 0x8f, 0xa8, 0xac, 0x90, 0xa9, 0xad, 0x97, 0xb1, 0xb6, 0xaf, 0xcf, 0xd5 +db 0xbe, 0xe3, 0xe8, 0xbf, 0xe4, 0xeb, 0xbe, 0xe3, 0xea, 0xab, 0xc5, 0xca +db 0x81, 0x8d, 0x8e, 0x63, 0x7c, 0x7b, 0xb7, 0xc7, 0xc7, 0xfe, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe4, 0xe3, 0xe3 +db 0x9f, 0xa5, 0xa7, 0x8c, 0xa1, 0xa4, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae +db 0x8f, 0xa4, 0xa7, 0x86, 0x8c, 0x8d, 0x83, 0x85, 0x84, 0x8b, 0x9d, 0x9f +db 0x91, 0xaa, 0xae, 0x91, 0xa9, 0xad, 0x9e, 0xbc, 0xc0, 0xb6, 0xd9, 0xdf +db 0xbf, 0xe5, 0xeb, 0xc0, 0xe5, 0xeb, 0xb8, 0xdc, 0xe1, 0x9d, 0xb1, 0xb5 +db 0x70, 0x7e, 0x7e, 0x76, 0x90, 0x90, 0xd9, 0xe3, 0xe3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xfa, 0xc0, 0xc1, 0xc1 +db 0x8e, 0x9c, 0x9e, 0x8f, 0xa7, 0xaa, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x8b, 0x9a, 0x9c, 0x82, 0x83, 0x83, 0x85, 0x8d, 0x8d, 0x8f, 0xa4, 0xa7 +db 0x90, 0xaa, 0xae, 0x94, 0xae, 0xb2, 0xaa, 0xc8, 0xce, 0xbc, 0xe1, 0xe7 +db 0xbf, 0xe4, 0xea, 0xbf, 0xe5, 0xeb, 0xb0, 0xcf, 0xd5, 0x8b, 0x99, 0x9b +db 0x69, 0x7b, 0x7a, 0xa2, 0xb6, 0xb6, 0xf7, 0xf9, 0xf9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe4, 0xe3, 0xe3, 0xa0, 0xa5, 0xa6 +db 0x8b, 0xa1, 0xa4, 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xae, 0x8f, 0xa5, 0xa7 +db 0x86, 0x8d, 0x8d, 0x81, 0x83, 0x83, 0x8a, 0x97, 0x99, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x99, 0xb4, 0xb8, 0xb2, 0xd4, 0xd9, 0xbf, 0xe4, 0xea +db 0xbf, 0xe4, 0xea, 0xbc, 0xe2, 0xe8, 0xa5, 0xbf, 0xc2, 0x7c, 0x86, 0x86 +db 0x70, 0x85, 0x84, 0xc8, 0xd6, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xfa, 0xfa, 0xc0, 0xc1, 0xc1, 0x8e, 0x9c, 0x9d +db 0x8e, 0xa6, 0xab, 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xac, 0x8b, 0x9a, 0x9b +db 0x83, 0x83, 0x83, 0x84, 0x88, 0x89, 0x8d, 0xa1, 0xa4, 0x90, 0xaa, 0xae +db 0x91, 0xaa, 0xae, 0xa1, 0xbf, 0xc2, 0xb9, 0xdd, 0xe2, 0xc0, 0xe5, 0xea +db 0xc0, 0xe5, 0xeb, 0xb7, 0xdb, 0xe0, 0x98, 0xab, 0xae, 0x6c, 0x7a, 0x7a +db 0x83, 0x9b, 0x9b, 0xe5, 0xed, 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe2, 0xe2, 0xe2, 0x9e, 0xa5, 0xa5, 0x8b, 0xa0, 0xa3 +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8f, 0xa5, 0xa8, 0x86, 0x8c, 0x8e +db 0x82, 0x80, 0x81, 0x87, 0x91, 0x94, 0x8f, 0xa7, 0xaa, 0x8f, 0xa8, 0xac +db 0x96, 0xb0, 0xb4, 0xac, 0xcc, 0xd1, 0xbd, 0xe2, 0xe8, 0xbf, 0xe4, 0xea +db 0xbe, 0xe4, 0xea, 0xb0, 0xce, 0xd3, 0x89, 0x95, 0x98, 0x61, 0x77, 0x77 +db 0xa2, 0xb8, 0xb8, 0xfa, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xf9, 0xf9, 0xbf, 0xc0, 0xc0, 0x8d, 0x9b, 0x9d, 0x8d, 0xa6, 0xaa +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xad, 0x8c, 0x9e, 0x9f, 0x83, 0x85, 0x85 +db 0x83, 0x84, 0x85, 0x8b, 0x9c, 0x9f, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x9d, 0xba, 0xbd, 0xb7, 0xd8, 0xde, 0xbf, 0xe5, 0xeb, 0xbf, 0xe4, 0xea +db 0xbd, 0xe1, 0xe6, 0xa6, 0xbe, 0xc1, 0x77, 0x83, 0x85, 0x69, 0x83, 0x83 +db 0xc6, 0xd5, 0xd5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe4, 0xe3, 0xe3, 0x9f, 0xa6, 0xa7, 0x8a, 0x9f, 0xa3, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x90, 0xa8, 0xab, 0x88, 0x94, 0x95, 0x81, 0x81, 0x81 +db 0x85, 0x8c, 0x8c, 0x8f, 0xa3, 0xa6, 0x90, 0xa8, 0xad, 0x92, 0xaa, 0xae +db 0xa5, 0xc3, 0xc7, 0xbc, 0xdf, 0xe6, 0xbf, 0xe4, 0xea, 0xbe, 0xe5, 0xea +db 0xb6, 0xd9, 0xde, 0x97, 0xab, 0xad, 0x6a, 0x7a, 0x7a, 0x7f, 0x99, 0x99 +db 0xe5, 0xed, 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xfa +db 0xc0, 0xc2, 0xc1, 0x8d, 0x9b, 0x9e, 0x8d, 0xa6, 0xaa, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x8c, 0x9f, 0xa2, 0x7f, 0x86, 0x87, 0x7f, 0x80, 0x80 +db 0x89, 0x94, 0x96, 0x90, 0xa8, 0xac, 0x90, 0xa8, 0xac, 0x97, 0xb1, 0xb5 +db 0xae, 0xce, 0xd3, 0xbe, 0xe3, 0xea, 0xbf, 0xe5, 0xeb, 0xbd, 0xe3, 0xe9 +db 0xab, 0xca, 0xce, 0x86, 0x93, 0x94, 0x6a, 0x7e, 0x7e, 0xab, 0xc0, 0xc0 +db 0xfb, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0xe4, 0xe4 +db 0xa0, 0xa6, 0xa6, 0x8b, 0x9e, 0xa2, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xac, 0x88, 0x93, 0x95, 0x7c, 0x7f, 0x7f, 0x81, 0x85, 0x86 +db 0x8d, 0x9f, 0xa2, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xad, 0xa0, 0xbd, 0xc0 +db 0xb7, 0xdb, 0xe0, 0xbf, 0xe4, 0xea, 0xbf, 0xe4, 0xeb, 0xba, 0xdf, 0xe5 +db 0x9f, 0xb7, 0xba, 0x77, 0x81, 0x82, 0x78, 0x8d, 0x8e, 0xd5, 0xe1, 0xe1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfa, 0xfa, 0xc1, 0xc2, 0xc2 +db 0x8d, 0x9a, 0x9d, 0x8e, 0xa6, 0xaa, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xab, 0xae +db 0x8c, 0xa0, 0xa2, 0x81, 0x88, 0x88, 0x7e, 0x7f, 0x7f, 0x86, 0x8f, 0x90 +db 0x8f, 0xa6, 0xa9, 0x8f, 0xa9, 0xad, 0x94, 0xad, 0xb1, 0xa9, 0xc7, 0xcc +db 0xbd, 0xe1, 0xe8, 0xbf, 0xe4, 0xeb, 0xbf, 0xe5, 0xea, 0xb5, 0xd6, 0xdb +db 0x92, 0xa2, 0xa5, 0x6b, 0x7a, 0x7a, 0x90, 0xa7, 0xa7, 0xf0, 0xf5, 0xf5 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0xe4, 0xe4, 0xa0, 0xa6, 0xa7 +db 0x8a, 0x9f, 0xa2, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x91, 0xa9, 0xab +db 0x85, 0x93, 0x94, 0x76, 0x7e, 0x7d, 0x7d, 0x82, 0x82, 0x8b, 0x99, 0x9b +db 0x90, 0xa9, 0xad, 0x8f, 0xa8, 0xac, 0x99, 0xb3, 0xb8, 0xb2, 0xd2, 0xd7 +db 0xbf, 0xe5, 0xe9, 0xbf, 0xe4, 0xea, 0xbe, 0xe3, 0xea, 0xab, 0xc7, 0xcc +db 0x82, 0x90, 0x91, 0x65, 0x7c, 0x7c, 0xb1, 0xc3, 0xc3, 0xfe, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xfa, 0xfa, 0xc1, 0xc2, 0xc2, 0x8d, 0x9a, 0x9c +db 0x8d, 0xa7, 0xaa, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xae, 0x8d, 0xa0, 0xa3 +db 0x78, 0x84, 0x85, 0x6f, 0x7a, 0x79, 0x82, 0x8b, 0x8a, 0x8f, 0xa3, 0xa6 +db 0x90, 0xa9, 0xae, 0x91, 0xaa, 0xad, 0x9f, 0xbd, 0xc1, 0xb8, 0xdc, 0xe1 +db 0xbf, 0xe5, 0xeb, 0xbe, 0xe4, 0xea, 0xba, 0xdf, 0xe5, 0xa0, 0xb5, 0xba +db 0x73, 0x80, 0x81, 0x71, 0x8b, 0x8b, 0xd4, 0xdf, 0xdf, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe5, 0xe3, 0xe3, 0x9f, 0xa5, 0xa6, 0x8b, 0xa0, 0xa2 +db 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x91, 0xa8, 0xab, 0x85, 0x92, 0x94 +db 0x6c, 0x79, 0x7a, 0x73, 0x7c, 0x7b, 0x89, 0x93, 0x95, 0x90, 0xa8, 0xac +db 0x91, 0xa9, 0xad, 0x94, 0xad, 0xb2, 0xa9, 0xc9, 0xcd, 0xbd, 0xe2, 0xe7 +db 0xbf, 0xe5, 0xeb, 0xbf, 0xe4, 0xea, 0xb3, 0xd4, 0xda, 0x91, 0xa1, 0xa4 +db 0x68, 0x78, 0x79, 0x8c, 0xa5, 0xa5, 0xf0, 0xf4, 0xf4, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xfa, 0xfa, 0xc0, 0xc1, 0xc1, 0x8e, 0x9b, 0x9c, 0x8e, 0xa7, 0xab +db 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x91, 0xab, 0xaf, 0x8f, 0xa1, 0xa5, 0x75, 0x84, 0x84 +db 0x66, 0x76, 0x75, 0x7c, 0x83, 0x83, 0x8d, 0x9c, 0xa0, 0x90, 0xa9, 0xad +db 0x91, 0xa9, 0xad, 0x9b, 0xb7, 0xbc, 0xb5, 0xd6, 0xdb, 0xbf, 0xe4, 0xea +db 0xbf, 0xe4, 0xea, 0xbd, 0xe1, 0xe8, 0xa7, 0xc2, 0xc7, 0x81, 0x8d, 0x8e +db 0x64, 0x7b, 0x7b, 0xb2, 0xc4, 0xc4, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe4, 0xe4, 0xe4, 0x9f, 0xa5, 0xa6, 0x8b, 0xa1, 0xa2, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x92, 0xaa, 0xae, 0x87, 0x98, 0x99, 0x66, 0x7a, 0x7a +db 0x6a, 0x78, 0x77, 0x86, 0x8e, 0x8f, 0x90, 0xa5, 0xa9, 0x90, 0xa9, 0xad +db 0x92, 0xab, 0xaf, 0xa4, 0xc1, 0xc6, 0xbb, 0xdf, 0xe4, 0xbf, 0xe4, 0xea +db 0xbf, 0xe5, 0xea, 0xb8, 0xdb, 0xe0, 0x9a, 0xae, 0xb1, 0x72, 0x7e, 0x7e +db 0x74, 0x8d, 0x8d, 0xd7, 0xe1, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfa +db 0xc1, 0xc2, 0xc2, 0x8e, 0x9c, 0x9d, 0x8f, 0xa7, 0xab, 0x90, 0xa9, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xaf, 0x8f, 0xa3, 0xa7, 0x75, 0x88, 0x88, 0x5e, 0x74, 0x74 +db 0x77, 0x7e, 0x7e, 0x8c, 0x98, 0x99, 0x90, 0xa9, 0xad, 0x91, 0xa9, 0xad +db 0x95, 0xb0, 0xb4, 0xac, 0xcd, 0xd2, 0xbe, 0xe3, 0xe9, 0xbf, 0xe5, 0xeb +db 0xbf, 0xe5, 0xeb, 0xaf, 0xcf, 0xd5, 0x8c, 0x99, 0x9b, 0x6c, 0x7b, 0x7a +db 0x9e, 0xb2, 0xb2, 0xf5, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xe1, 0xe0 +db 0x9f, 0xa5, 0xa6, 0x8c, 0xa0, 0xa4, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x92, 0xaa, 0xad, 0x86, 0x98, 0x9a, 0x60, 0x79, 0x78, 0x5e, 0x73, 0x73 +db 0x81, 0x86, 0x87, 0x8e, 0x9f, 0xa2, 0x90, 0xaa, 0xae, 0x91, 0xaa, 0xae +db 0x9e, 0xba, 0xbe, 0xb5, 0xd8, 0xdd, 0xbf, 0xe4, 0xe9, 0xbf, 0xe4, 0xea +db 0xbd, 0xe3, 0xe9, 0xa6, 0xc0, 0xc4, 0x80, 0x8a, 0x8a, 0x6e, 0x84, 0x83 +db 0xc2, 0xd2, 0xd2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf4, 0xf4, 0xb3, 0xb5, 0xb5 +db 0x8c, 0x9a, 0x9c, 0x8f, 0xa7, 0xac, 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae +db 0x91, 0xa5, 0xa8, 0x77, 0x88, 0x89, 0x53, 0x70, 0x70, 0x6a, 0x78, 0x79 +db 0x89, 0x90, 0x92, 0x90, 0xa6, 0xa9, 0x90, 0xaa, 0xae, 0x93, 0xae, 0xb1 +db 0xa8, 0xc6, 0xcb, 0xbd, 0xe0, 0xe6, 0xbf, 0xe3, 0xe9, 0xbf, 0xe5, 0xeb +db 0xb8, 0xdd, 0xe2, 0x9a, 0xad, 0xb1, 0x70, 0x7d, 0x7d, 0x7f, 0x97, 0x97 +db 0xe2, 0xea, 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd6, 0xd5, 0xd5, 0x93, 0x9a, 0x9b +db 0x8b, 0x9f, 0xa3, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xaa, 0xad +db 0x8b, 0x9a, 0x9c, 0x67, 0x7c, 0x7c, 0x58, 0x72, 0x72, 0x7a, 0x81, 0x81 +db 0x8d, 0x9b, 0x9e, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x97, 0xb2, 0xb6 +db 0xb0, 0xd1, 0xd7, 0xbe, 0xe4, 0xea, 0xbe, 0xe4, 0xea, 0xbf, 0xe6, 0xec +db 0xb1, 0xd0, 0xd6, 0x8d, 0x9a, 0x9d, 0x63, 0x78, 0x78, 0x9c, 0xb3, 0xb3 +db 0xf7, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf4, 0xf4, 0xf4, 0xb0, 0xb2, 0xb2, 0x89, 0x97, 0x99 +db 0x8f, 0xa7, 0xab, 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x90, 0xa5, 0xa7 +db 0x7c, 0x8a, 0x8b, 0x56, 0x71, 0x71, 0x62, 0x76, 0x76, 0x86, 0x8b, 0x8c +db 0x90, 0xa3, 0xa6, 0x91, 0xaa, 0xaf, 0x91, 0xaa, 0xae, 0xa0, 0xbb, 0xc0 +db 0xb7, 0xda, 0xe0, 0xbe, 0xe4, 0xea, 0xbf, 0xe4, 0xeb, 0xbc, 0xe1, 0xe7 +db 0xa5, 0xbe, 0xc1, 0x7c, 0x87, 0x88, 0x67, 0x80, 0x80, 0xc0, 0xd1, 0xd1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd5, 0xd5, 0xd5, 0x92, 0x9a, 0x9a, 0x8a, 0x9f, 0xa2 +db 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x91, 0xa9, 0xad, 0x8a, 0x99, 0x9b +db 0x67, 0x7b, 0x7c, 0x51, 0x6f, 0x6f, 0x73, 0x7e, 0x7d, 0x8b, 0x96, 0x98 +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xae, 0x95, 0xaf, 0xb4, 0xab, 0xca, 0xcf +db 0xbd, 0xe1, 0xe7, 0xbf, 0xe4, 0xea, 0xc0, 0xe6, 0xec, 0xb5, 0xd8, 0xdd +db 0x97, 0xa7, 0xaa, 0x6c, 0x79, 0x79, 0x7c, 0x96, 0x96, 0xe2, 0xe9, 0xe9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf4, 0xf3, 0xf3, 0xb0, 0xb1, 0xb1, 0x88, 0x97, 0x98, 0x8e, 0xa8, 0xab +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x90, 0xa4, 0xa7, 0x7d, 0x8a, 0x8a +db 0x51, 0x70, 0x71, 0x5a, 0x73, 0x73, 0x81, 0x86, 0x87, 0x8e, 0x9f, 0xa1 +db 0x90, 0xaa, 0xae, 0x91, 0xa9, 0xad, 0x9b, 0xb6, 0xbb, 0xb4, 0xd7, 0xdc +db 0xbf, 0xe4, 0xea, 0xbf, 0xe4, 0xea, 0xbe, 0xe5, 0xeb, 0xad, 0xca, 0xcf +db 0x89, 0x92, 0x94, 0x63, 0x76, 0x76, 0x9d, 0xb4, 0xb4, 0xf7, 0xfa, 0xfa +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd5, 0xd4, 0xd4, 0x92, 0x98, 0x99, 0x89, 0x9e, 0xa1, 0x8f, 0xa9, 0xad +db 0x8f, 0xa8, 0xac, 0x8f, 0xa8, 0xac, 0x8f, 0xa8, 0xac, 0x8f, 0xa8, 0xac +db 0x8f, 0xa8, 0xac, 0x90, 0xa8, 0xac, 0x8a, 0x9a, 0x9d, 0x66, 0x7b, 0x7b +db 0x45, 0x6b, 0x6b, 0x68, 0x77, 0x77, 0x87, 0x8d, 0x8e, 0x8e, 0xa4, 0xa7 +db 0x90, 0xaa, 0xae, 0x92, 0xaa, 0xae, 0xa3, 0xc0, 0xc5, 0xb9, 0xde, 0xe4 +db 0xbe, 0xe5, 0xeb, 0xbe, 0xe5, 0xeb, 0xb9, 0xdf, 0xe6, 0xa0, 0xb7, 0xbc +db 0x78, 0x82, 0x82, 0x6e, 0x86, 0x85, 0xc7, 0xd6, 0xd6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf5, 0xf5 +db 0xb8, 0xb9, 0xb9, 0x93, 0x9e, 0xa0, 0x99, 0xb0, 0xb3, 0x9a, 0xb2, 0xb5 +db 0x9a, 0xb1, 0xb4, 0x9a, 0xb1, 0xb4, 0x9a, 0xb1, 0xb4, 0x9a, 0xb1, 0xb4 +db 0x9a, 0xb2, 0xb5, 0x9b, 0xb0, 0xb4, 0x90, 0x9c, 0x9e, 0x63, 0x7f, 0x7f +db 0x5b, 0x7b, 0x7b, 0x83, 0x8b, 0x8b, 0x96, 0xa0, 0xa1, 0x9a, 0xb1, 0xb4 +db 0x9a, 0xb1, 0xb4, 0x9f, 0xb6, 0xba, 0xb4, 0xd0, 0xd5, 0xc4, 0xe6, 0xea +db 0xc5, 0xe7, 0xec, 0xc6, 0xe9, 0xee, 0xbc, 0xdc, 0xe2, 0xa1, 0xae, 0xb2 +db 0x7a, 0x86, 0x86, 0x97, 0xab, 0xab, 0xee, 0xf3, 0xf3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/gun02.inc b/programs/games/hunter/trunk/inc/gun02.inc new file mode 100644 index 0000000000..1569b37f61 --- /dev/null +++ b/programs/games/hunter/trunk/inc/gun02.inc @@ -0,0 +1,589 @@ +dw 48, 49 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf6, 0xf6 +db 0xe9, 0xee, 0xef, 0xe9, 0xee, 0xef, 0xf4, 0xf6, 0xf6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xe4, 0xe9, 0xea, 0xbe, 0xcc, 0xce +db 0xa6, 0xbb, 0xbe, 0xa6, 0xbb, 0xbe, 0xbf, 0xcb, 0xce, 0xeb, 0xee, 0xef +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd6, 0xd6, 0xd6, 0xa3, 0xac, 0xae, 0x94, 0xaa, 0xae +db 0x8e, 0xa8, 0xac, 0x8e, 0xa8, 0xac, 0x94, 0xab, 0xae, 0xb6, 0xbf, 0xc0 +db 0xe9, 0xe9, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfb, 0xfb +db 0xde, 0xe6, 0xe6, 0xd2, 0xdd, 0xdf, 0xe9, 0xef, 0xf0, 0xf5, 0xf7, 0xf7 +db 0xd5, 0xd5, 0xd5, 0x94, 0x94, 0x94, 0x81, 0x85, 0x86, 0x8b, 0x9c, 0x9f +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x8f, 0xa9, 0xad, 0x8f, 0xa1, 0xa4 +db 0xa2, 0xa7, 0xa8, 0xdb, 0xdb, 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xed, 0xf0, 0xf1, 0xc7, 0xd4, 0xd7 +db 0xa0, 0xb6, 0xb9, 0x95, 0xad, 0xb0, 0xaa, 0xbe, 0xc1, 0xb9, 0xc4, 0xc6 +db 0x98, 0x9b, 0x9b, 0x80, 0x7f, 0x7f, 0x81, 0x81, 0x81, 0x86, 0x8f, 0x90 +db 0x8f, 0xa5, 0xa8, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xae, 0x8f, 0xa7, 0xaa +db 0x85, 0x92, 0x93, 0xaa, 0xab, 0xab, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf5, 0xf4, 0xf4, 0xcb, 0xcb, 0xcb, 0xae, 0xb8, 0xb9, 0x97, 0xad, 0xb1 +db 0x90, 0xa9, 0xad, 0x8f, 0xa8, 0xac, 0x90, 0xaa, 0xae, 0x91, 0xa8, 0xac +db 0x89, 0x95, 0x96, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x83, 0x86, 0x86 +db 0x8c, 0x9c, 0x9e, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae +db 0x8b, 0x9e, 0xa1, 0x94, 0x99, 0x99, 0xe2, 0xe1, 0xe1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc +db 0xcd, 0xcd, 0xcd, 0x90, 0x90, 0x90, 0x85, 0x8b, 0x8b, 0x8d, 0xa2, 0xa5 +db 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x8f, 0xa9, 0xad +db 0x8d, 0xa0, 0xa3, 0x83, 0x86, 0x87, 0x82, 0x81, 0x81, 0x82, 0x81, 0x82 +db 0x86, 0x90, 0x90, 0x90, 0xa7, 0xab, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xae +db 0x8f, 0xa7, 0xab, 0x8a, 0x96, 0x97, 0xc0, 0xc0, 0xbf, 0xfa, 0xfa, 0xfa +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xeb, 0xeb +db 0x9b, 0x9b, 0x9b, 0x7f, 0x7f, 0x7f, 0x82, 0x84, 0x84, 0x8a, 0x99, 0x9b +db 0x90, 0xa9, 0xac, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae +db 0x90, 0xa8, 0xab, 0x86, 0x8e, 0x8e, 0x82, 0x81, 0x81, 0x82, 0x81, 0x81 +db 0x83, 0x86, 0x86, 0x8d, 0xa0, 0xa2, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x8b, 0x9d, 0x9f, 0x9b, 0x9c, 0x9d, 0xde, 0xde, 0xde +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd +db 0x8b, 0x8b, 0x8b, 0x7f, 0x7f, 0x7f, 0x82, 0x81, 0x81, 0x85, 0x8b, 0x8c +db 0x8f, 0xa3, 0xa7, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x89, 0x96, 0x98, 0x82, 0x82, 0x82, 0x82, 0x82, 0x81 +db 0x82, 0x81, 0x81, 0x88, 0x94, 0x94, 0x90, 0xa8, 0xac, 0x90, 0xa9, 0xae +db 0x90, 0xaa, 0xae, 0x8f, 0xa6, 0xaa, 0x87, 0x90, 0x91, 0xae, 0xae, 0xae +db 0xf1, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xc6, 0xc6, 0xc6 +db 0x84, 0x84, 0x84, 0x81, 0x81, 0x81, 0x82, 0x81, 0x81, 0x83, 0x85, 0x85 +db 0x8c, 0x9d, 0xa0, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x8c, 0x9d, 0xa1, 0x83, 0x86, 0x86, 0x82, 0x81, 0x81 +db 0x82, 0x81, 0x81, 0x84, 0x89, 0x8a, 0x8e, 0xa1, 0xa4, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8a, 0x9a, 0x9c, 0x91, 0x94, 0x94 +db 0xd2, 0xd2, 0xd2, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xc6, 0xc6, 0xc6 +db 0x84, 0x84, 0x84, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82 +db 0x89, 0x96, 0x98, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x8f, 0xa5, 0xa9, 0x86, 0x8f, 0x90, 0x82, 0x81, 0x81 +db 0x82, 0x81, 0x81, 0x82, 0x83, 0x83, 0x89, 0x96, 0x97, 0x90, 0xa8, 0xab +db 0x90, 0xa9, 0xae, 0x90, 0xaa, 0xae, 0x8f, 0xa4, 0xa7, 0x88, 0x90, 0x91 +db 0xad, 0xad, 0xad, 0xf1, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0xdf +db 0x8e, 0x8e, 0x8e, 0x80, 0x80, 0x80, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81 +db 0x87, 0x8f, 0x90, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x8a, 0x98, 0x99, 0x82, 0x83, 0x84 +db 0x82, 0x81, 0x81, 0x82, 0x81, 0x81, 0x84, 0x8a, 0x8a, 0x8e, 0xa1, 0xa4 +db 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x8a, 0x9a, 0x9c +db 0x91, 0x94, 0x94, 0xd3, 0xd2, 0xd2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf5 +db 0xa1, 0xa1, 0xa1, 0x7e, 0x7e, 0x7e, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81 +db 0x84, 0x87, 0x88, 0x8e, 0xa2, 0xa4, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8e, 0xa3, 0xa7, 0x86, 0x8e, 0x8f +db 0x82, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, 0x83, 0x87, 0x91, 0x92 +db 0x8f, 0xa6, 0xa9, 0x90, 0xa9, 0xae, 0x90, 0xaa, 0xae, 0x90, 0xa6, 0xaa +db 0x88, 0x93, 0x95, 0xa4, 0xa5, 0xa5, 0xf1, 0xf1, 0xf1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xba, 0xba, 0xba, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x83, 0x8a, 0x97, 0x99, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x8a, 0x98, 0x9a +db 0x82, 0x83, 0x84, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x83, 0x85, 0x86 +db 0x8c, 0x9c, 0x9e, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae +db 0x8c, 0xa0, 0xa2, 0x8b, 0x90, 0x90, 0xd7, 0xd6, 0xd6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd7, 0xd7, 0xd7, 0x8d, 0x8d, 0x8d, 0x80, 0x80, 0x80, 0x82, 0x82, 0x82 +db 0x82, 0x81, 0x81, 0x87, 0x8f, 0x90, 0x8f, 0xa6, 0xa9, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8d, 0x9f, 0xa2 +db 0x84, 0x88, 0x88, 0x82, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x81, 0x82 +db 0x86, 0x8f, 0x90, 0x8f, 0xa6, 0xa9, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xae +db 0x90, 0xa7, 0xab, 0x87, 0x94, 0x95, 0xb9, 0xba, 0xba, 0xfa, 0xfa, 0xfa +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xeb, 0xeb, 0xeb, 0xa0, 0xa0, 0xa0, 0x80, 0x80, 0x80, 0x82, 0x82, 0x82 +db 0x82, 0x81, 0x81, 0x84, 0x88, 0x88, 0x8d, 0xa0, 0xa2, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8f, 0xa5, 0xa9 +db 0x87, 0x8f, 0x91, 0x82, 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, 0x81, 0x82 +db 0x83, 0x86, 0x86, 0x8c, 0x9d, 0xa0, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x8b, 0x9d, 0xa1, 0x9c, 0x9f, 0xa0, 0xe4, 0xe4, 0xe4 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xfa, 0xfa, 0xbe, 0xbe, 0xbe, 0x85, 0x85, 0x85, 0x81, 0x81, 0x81 +db 0x82, 0x82, 0x82, 0x82, 0x83, 0x84, 0x89, 0x96, 0x98, 0x90, 0xa8, 0xac +db 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xad +db 0x8c, 0x9c, 0x9e, 0x83, 0x84, 0x84, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82 +db 0x81, 0x81, 0x81, 0x87, 0x92, 0x93, 0x90, 0xa9, 0xac, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xae, 0x8f, 0xa6, 0xaa, 0x8b, 0x94, 0x95, 0xbb, 0xba, 0xba +db 0xf7, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0x96, 0x96, 0x96, 0x80, 0x80, 0x80 +db 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x84, 0x8a, 0x8a, 0x8e, 0xa1, 0xa4 +db 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae +db 0x8f, 0xa5, 0xa9, 0x85, 0x8a, 0x8b, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82 +db 0x82, 0x81, 0x81, 0x83, 0x86, 0x87, 0x8e, 0xa1, 0xa3, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8b, 0x9b, 0x9e, 0x91, 0x94, 0x94 +db 0xd2, 0xd2, 0xd2, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf2, 0xf2, 0xf2, 0xad, 0xad, 0xad, 0x81, 0x81, 0x81 +db 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x82, 0x83, 0x84, 0x8a, 0x98, 0x99 +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x88, 0x92, 0x93, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x89, 0x95, 0x97, 0x90, 0xa8, 0xab +db 0x90, 0xa9, 0xae, 0x90, 0xaa, 0xae, 0x8f, 0xa5, 0xa8, 0x87, 0x90, 0x91 +db 0xad, 0xad, 0xad, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xc6, 0xc6, 0xc6, 0x88, 0x88, 0x88 +db 0x80, 0x80, 0x80, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x87, 0x90, 0x90 +db 0x8f, 0xa6, 0xa9, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x8b, 0x9a, 0x9c, 0x82, 0x83, 0x83, 0x82, 0x81, 0x81 +db 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x84, 0x8a, 0x8a, 0x8e, 0xa1, 0xa4 +db 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x8a, 0x9a, 0x9c +db 0x91, 0x94, 0x94, 0xd2, 0xd2, 0xd2, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0x96, 0x96, 0x96 +db 0x7f, 0x7f, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x84, 0x88, 0x88 +db 0x8d, 0xa0, 0xa2, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x8e, 0xa2, 0xa5, 0x84, 0x8a, 0x8a, 0x82, 0x81, 0x81 +db 0x82, 0x82, 0x82, 0x82, 0x81, 0x82, 0x82, 0x83, 0x83, 0x89, 0x96, 0x97 +db 0x90, 0xa8, 0xab, 0x90, 0xa9, 0xae, 0x90, 0xaa, 0xae, 0x8f, 0xa4, 0xa7 +db 0x88, 0x90, 0x91, 0xad, 0xad, 0xad, 0xf2, 0xf2, 0xf2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xf7, 0xbc, 0xbc, 0xbc +db 0x86, 0x86, 0x86, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x83, 0x83 +db 0x89, 0x95, 0x97, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x90, 0xa8, 0xac, 0x89, 0x96, 0x98, 0x82, 0x83, 0x84 +db 0x82, 0x82, 0x81, 0x82, 0x82, 0x82, 0x82, 0x81, 0x82, 0x83, 0x87, 0x88 +db 0x8c, 0x9d, 0x9f, 0x90, 0xaa, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae +db 0x8c, 0x9e, 0xa1, 0x8c, 0x91, 0x91, 0xcc, 0xcc, 0xcb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0 +db 0x95, 0x95, 0x95, 0x7f, 0x7f, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81 +db 0x85, 0x8a, 0x8b, 0x8f, 0xa4, 0xa8, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8d, 0xa0, 0xa2, 0x84, 0x88, 0x88 +db 0x82, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81 +db 0x86, 0x8f, 0x90, 0x8f, 0xa5, 0xa8, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xae +db 0x90, 0xa7, 0xab, 0x86, 0x93, 0x94, 0xa9, 0xaa, 0xaa, 0xf8, 0xf8, 0xf8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xf2, 0xf2 +db 0xa8, 0xa8, 0xa8, 0x7f, 0x7f, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81 +db 0x82, 0x84, 0x84, 0x8d, 0x9e, 0xa2, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8f, 0xa5, 0xa9, 0x87, 0x90, 0x91 +db 0x82, 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x81, 0x82 +db 0x83, 0x86, 0x86, 0x8b, 0x9c, 0x9e, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x8b, 0x9f, 0xa1, 0x94, 0x99, 0x9a, 0xe2, 0xe1, 0xe1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd +db 0xbe, 0xbe, 0xbe, 0x7f, 0x7f, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x81, 0x8a, 0x98, 0x9a, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x8b, 0x9b, 0x9d +db 0x82, 0x85, 0x85, 0x82, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82 +db 0x82, 0x81, 0x82, 0x87, 0x90, 0x91, 0x90, 0xa7, 0xab, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xae, 0x8f, 0xa7, 0xab, 0x8a, 0x96, 0x97, 0xc0, 0xc0, 0xbf +db 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd5, 0xd5, 0xd5, 0x86, 0x86, 0x86, 0x80, 0x80, 0x80, 0x82, 0x82, 0x82 +db 0x82, 0x81, 0x81, 0x87, 0x91, 0x91, 0x90, 0xa7, 0xab, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8f, 0xa3, 0xa7 +db 0x86, 0x8d, 0x8e, 0x82, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82 +db 0x82, 0x81, 0x81, 0x84, 0x88, 0x88, 0x8e, 0xa3, 0xa6, 0x91, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8b, 0x9d, 0x9f, 0x9b, 0x9c, 0x9d +db 0xde, 0xde, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xed, 0xed, 0xed, 0x97, 0x97, 0x97, 0x7f, 0x7f, 0x7f, 0x82, 0x82, 0x82 +db 0x82, 0x81, 0x81, 0x84, 0x88, 0x88, 0x8d, 0xa0, 0xa3, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x8b, 0x9b, 0x9d, 0x83, 0x85, 0x85, 0x82, 0x81, 0x81, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x8a, 0x99, 0x9a, 0x91, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8f, 0xa6, 0xaa, 0x87, 0x90, 0x91 +db 0xae, 0xae, 0xae, 0xf1, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf8, 0xf8, 0xf8, 0xb0, 0xb0, 0xb0, 0x82, 0x82, 0x82, 0x81, 0x81, 0x81 +db 0x82, 0x82, 0x82, 0x82, 0x83, 0x83, 0x89, 0x96, 0x97, 0x90, 0xa8, 0xab +db 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae +db 0x8e, 0xa3, 0xa6, 0x85, 0x8b, 0x8c, 0x82, 0x81, 0x81, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x86, 0x8e, 0x8f, 0x8f, 0xa5, 0xa8 +db 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8a, 0x9a, 0x9c +db 0x91, 0x94, 0x94, 0xd2, 0xd2, 0xd2, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd2, 0xd2, 0xd2, 0x8e, 0x8e, 0x8e, 0x80, 0x80, 0x80 +db 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x85, 0x8b, 0x8c, 0x8e, 0xa3, 0xa6 +db 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xae +db 0x90, 0xa8, 0xab, 0x87, 0x92, 0x92, 0x82, 0x81, 0x81, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x83, 0x85, 0x86, 0x8c, 0x9c, 0x9e +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8f, 0xa4, 0xa7 +db 0x88, 0x90, 0x91, 0xad, 0xad, 0xad, 0xf2, 0xf2, 0xf2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xea, 0xea, 0xea, 0xa1, 0xa1, 0xa1, 0x80, 0x80, 0x80 +db 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x83, 0x85, 0x86, 0x8b, 0x9c, 0x9e +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x8a, 0x99, 0x9b, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x81, 0x82, 0x86, 0x8f, 0x90 +db 0x8f, 0xa5, 0xa8, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x8a, 0x9a, 0x9c, 0x91, 0x94, 0x94, 0xd7, 0xd7, 0xd7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfb, 0xc2, 0xc2, 0xc2, 0x87, 0x87, 0x87 +db 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x88, 0x90, 0x92 +db 0x8f, 0xa6, 0xa9, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x91, 0xaa, 0xae, 0x8e, 0xa3, 0xa6, 0x84, 0x88, 0x88, 0x82, 0x81, 0x81 +db 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x81, 0x82, 0x82, 0x84, 0x84 +db 0x8a, 0x98, 0x99, 0x90, 0xa8, 0xac, 0x90, 0xa9, 0xae, 0x90, 0xaa, 0xae +db 0x90, 0xa6, 0xaa, 0x86, 0x92, 0x93, 0xae, 0xaf, 0xaf, 0xf9, 0xf9, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0x96, 0x96, 0x96 +db 0x80, 0x80, 0x80, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x84, 0x88, 0x88 +db 0x8d, 0xa0, 0xa2, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x90, 0xa7, 0xab, 0x87, 0x90, 0x91, 0x82, 0x81, 0x82 +db 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81 +db 0x84, 0x8a, 0x8a, 0x8e, 0xa1, 0xa4, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x8b, 0x9f, 0xa1, 0x93, 0x99, 0x99, 0xe1, 0xe1, 0xe1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xf2, 0xf2, 0xad, 0xad, 0xad +db 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x83, 0x83 +db 0x89, 0x96, 0x97, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8b, 0x9c, 0x9d, 0x83, 0x85, 0x85 +db 0x82, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x81, 0x82 +db 0x82, 0x83, 0x83, 0x89, 0x95, 0x97, 0x90, 0xa8, 0xab, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xae, 0x8f, 0xa7, 0xab, 0x8a, 0x96, 0x97, 0xc0, 0xbf, 0xbf +db 0xf9, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xc6, 0xc6, 0xc6 +db 0x87, 0x87, 0x87, 0x80, 0x80, 0x80, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81 +db 0x85, 0x8c, 0x8c, 0x8f, 0xa6, 0xa9, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8e, 0xa3, 0xa6, 0x85, 0x8b, 0x8c +db 0x82, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82 +db 0x82, 0x81, 0x81, 0x84, 0x8a, 0x8a, 0x8e, 0xa2, 0xa5, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8a, 0x9c, 0x9e, 0x9d, 0x9e, 0x9f +db 0xe4, 0xe4, 0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2, 0xe2, 0xe2 +db 0x9a, 0x9a, 0x9a, 0x80, 0x80, 0x80, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81 +db 0x83, 0x86, 0x86, 0x8e, 0xa1, 0xa4, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xae, 0x90, 0xa8, 0xac, 0x89, 0x95, 0x96 +db 0x82, 0x83, 0x83, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82 +db 0x82, 0x81, 0x82, 0x82, 0x83, 0x83, 0x89, 0x97, 0x98, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8e, 0xa4, 0xa8, 0x8a, 0x91, 0x92 +db 0xbb, 0xbb, 0xbb, 0xf7, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xfa +db 0xc0, 0xc0, 0xc0, 0x84, 0x84, 0x84, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x81, 0x8a, 0x98, 0x9a, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8d, 0xa1, 0xa4 +db 0x84, 0x8a, 0x8a, 0x82, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x84, 0x8a, 0x8a, 0x8f, 0xa5, 0xa8 +db 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8a, 0x9a, 0x9c +db 0x91, 0x94, 0x94, 0xd2, 0xd2, 0xd2, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xdf, 0xdf, 0xdf, 0x8e, 0x8e, 0x8e, 0x80, 0x80, 0x80, 0x82, 0x82, 0x82 +db 0x82, 0x81, 0x81, 0x87, 0x91, 0x92, 0x90, 0xa7, 0xab, 0x90, 0xa9, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xae, 0x90, 0xa7, 0xab +db 0x88, 0x94, 0x95, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x82, 0x84, 0x84, 0x8c, 0x9b, 0x9e +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8f, 0xa4, 0xa7 +db 0x87, 0x90, 0x91, 0xad, 0xad, 0xad, 0xf1, 0xf0, 0xf0, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf1, 0xf1, 0xf1, 0x9b, 0x9b, 0x9b, 0x7e, 0x7e, 0x7e, 0x82, 0x82, 0x82 +db 0x82, 0x81, 0x81, 0x84, 0x89, 0x8a, 0x8d, 0xa1, 0xa4, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x8c, 0x9c, 0x9e, 0x83, 0x86, 0x86, 0x82, 0x81, 0x81, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x81, 0x82, 0x86, 0x8f, 0x90 +db 0x8f, 0xa5, 0xa8, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x8a, 0x9a, 0x9c, 0x91, 0x94, 0x94, 0xd3, 0xd2, 0xd2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xfc, 0xfc, 0xad, 0xad, 0xad, 0x7e, 0x7e, 0x7e, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x82, 0x82, 0x83, 0x84, 0x8a, 0x98, 0x99, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xae +db 0x8f, 0xa5, 0xa8, 0x86, 0x8e, 0x90, 0x82, 0x81, 0x81, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x81, 0x82, 0x83, 0x86, 0x86 +db 0x8b, 0x9c, 0x9e, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae +db 0x8f, 0xa4, 0xa7, 0x88, 0x90, 0x91, 0xae, 0xae, 0xae, 0xf7, 0xf8, 0xf8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xca, 0xca, 0xca, 0x86, 0x86, 0x86, 0x81, 0x81, 0x81 +db 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x86, 0x8d, 0x8d, 0x8f, 0xa4, 0xa7 +db 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x8b, 0x9b, 0x9d, 0x83, 0x84, 0x84, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81 +db 0x85, 0x8c, 0x8c, 0x8e, 0xa2, 0xa5, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x8b, 0x9e, 0xa0, 0x8e, 0x93, 0x93, 0xdb, 0xda, 0xda +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe3, 0xe3, 0xe3, 0x96, 0x96, 0x96, 0x80, 0x80, 0x80 +db 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x82, 0x85, 0x86, 0x8b, 0x9c, 0x9e +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x8e, 0xa2, 0xa6, 0x84, 0x87, 0x87, 0x82, 0x81, 0x81 +db 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x81, 0x82 +db 0x82, 0x82, 0x83, 0x89, 0x95, 0x97, 0x90, 0xa8, 0xab, 0x90, 0xaa, 0xad +db 0x90, 0xa9, 0xae, 0x90, 0xa7, 0xab, 0x87, 0x93, 0x95, 0xb9, 0xb9, 0xb9 +db 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf2, 0xf2, 0xf2, 0xad, 0xad, 0xad, 0x81, 0x81, 0x81 +db 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x88, 0x94, 0x95 +db 0x90, 0xa7, 0xab, 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xaa, 0xae, 0x90, 0xa7, 0xab, 0x86, 0x8e, 0x8f, 0x81, 0x81, 0x81 +db 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82 +db 0x82, 0x81, 0x81, 0x84, 0x8a, 0x8a, 0x8e, 0xa2, 0xa5, 0x90, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8b, 0x9d, 0xa1, 0x9c, 0x9f, 0xa0 +db 0xe3, 0xe3, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xc6, 0xc6, 0xc6, 0x87, 0x87, 0x87 +db 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x84, 0x8a, 0x8a +db 0x8d, 0xa1, 0xa4, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x89, 0x96, 0x98, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82 +db 0x82, 0x81, 0x82, 0x82, 0x83, 0x83, 0x8a, 0x98, 0x9a, 0x91, 0xaa, 0xae +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xae, 0x8f, 0xa6, 0xaa, 0x8b, 0x93, 0x94 +db 0xc0, 0xc0, 0xc0, 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0xe6, 0xe6, 0xa1, 0xa1, 0xa1 +db 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x82, 0x83, 0x84 +db 0x8a, 0x96, 0x98, 0x90, 0xa8, 0xac, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8d, 0x9f, 0xa2, 0x83, 0x87, 0x88 +db 0x82, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x86, 0x8d, 0x8e, 0x90, 0xa7, 0xaa +db 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8a, 0x99, 0x9a +db 0x9a, 0x9c, 0x9c, 0xde, 0xde, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xc6, 0xc6, 0xc6 +db 0x88, 0x88, 0x88, 0x81, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81 +db 0x86, 0x8b, 0x8c, 0x8f, 0xa3, 0xa7, 0x90, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x90, 0xa7, 0xab, 0x88, 0x93, 0x95 +db 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x82, 0x82, 0x81, 0x81, 0x82, 0x84, 0x84, 0x8c, 0x9b, 0x9e +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xaa, 0xae, 0x8f, 0xa5, 0xa8 +db 0x87, 0x90, 0x91, 0xae, 0xae, 0xae, 0xf1, 0xf1, 0xf1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0 +db 0x96, 0x96, 0x96, 0x80, 0x80, 0x80, 0x82, 0x82, 0x82, 0x82, 0x81, 0x81 +db 0x83, 0x85, 0x85, 0x8c, 0x9d, 0xa0, 0x91, 0xaa, 0xae, 0x90, 0xa9, 0xad +db 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad, 0x8c, 0x9c, 0x9e +db 0x83, 0x86, 0x86, 0x82, 0x81, 0x81, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82 +db 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x81, 0x82, 0x86, 0x8f, 0x90 +db 0x8f, 0xa5, 0xa8, 0x90, 0xa9, 0xae, 0x90, 0xa9, 0xad, 0x90, 0xa9, 0xad +db 0x8a, 0x9a, 0x9c, 0x91, 0x94, 0x94, 0xd2, 0xd2, 0xd2, 0xfe, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xf2, 0xf2 +db 0xab, 0xab, 0xab, 0x7f, 0x7f, 0x7f, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81 +db 0x81, 0x81, 0x81, 0x88, 0x95, 0x97, 0x8f, 0xa9, 0xad, 0x8f, 0xa8, 0xac +db 0x8f, 0xa8, 0xac, 0x8f, 0xa8, 0xac, 0x8f, 0xa8, 0xad, 0x8e, 0xa4, 0xa7 +db 0x85, 0x8e, 0x8f, 0x81, 0x80, 0x80, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81 +db 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x80, 0x80, 0x82, 0x85, 0x85 +db 0x8b, 0x9b, 0x9d, 0x8f, 0xa8, 0xac, 0x8f, 0xa8, 0xac, 0x8f, 0xa9, 0xad +db 0x8e, 0xa3, 0xa6, 0x87, 0x8f, 0x90, 0xac, 0xac, 0xac, 0xf2, 0xf2, 0xf2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc +db 0xcd, 0xcd, 0xcd, 0x8d, 0x8d, 0x8d, 0x88, 0x88, 0x88, 0x89, 0x89, 0x89 +db 0x89, 0x88, 0x88, 0x8d, 0x94, 0x95, 0x96, 0xac, 0xb0, 0x96, 0xaf, 0xb2 +db 0x96, 0xae, 0xb2, 0x96, 0xae, 0xb2, 0x96, 0xae, 0xb2, 0x96, 0xae, 0xb2 +db 0x91, 0x9f, 0xa1, 0x8a, 0x8c, 0x8c, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89 +db 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89, 0x89 +db 0x8f, 0x99, 0x9a, 0x96, 0xac, 0xb0, 0x96, 0xaf, 0xb2, 0x96, 0xae, 0xb2 +db 0x96, 0xae, 0xb2, 0x91, 0xa1, 0xa3, 0x96, 0x99, 0x99, 0xd9, 0xd9, 0xd9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/heart.inc b/programs/games/hunter/trunk/inc/heart.inc new file mode 100644 index 0000000000..5d5f34783e --- /dev/null +++ b/programs/games/hunter/trunk/inc/heart.inc @@ -0,0 +1,61 @@ +dw 16, 15 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfb, 0xf9 +db 0xf2, 0xf1, 0xf3, 0xfe, 0xfd, 0xf8, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff +db 0xfe, 0xfe, 0xfc, 0xf4, 0xf3, 0xf6, 0xf6, 0xf4, 0xf5, 0xff, 0xff, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xb9, 0xbc, 0xe2, 0x51, 0x66, 0xe1 +db 0x29, 0x44, 0xe6, 0x4d, 0x5e, 0xe1, 0x82, 0x98, 0xe4, 0xa2, 0xb2, 0xea +db 0x5d, 0x6f, 0xdf, 0x2e, 0x47, 0xe4, 0x30, 0x41, 0xe4, 0x79, 0x87, 0xe0 +db 0xc2, 0xde, 0xf7, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xbd, 0xc4, 0xe7, 0xc, 0x2d, 0xe9, 0x11, 0x27, 0xff +db 0x24, 0x37, 0xff, 0x19, 0x32, 0xff, 0x8, 0x23, 0xf3, 0x10, 0x29, 0xea +db 0x1d, 0x33, 0xfd, 0x26, 0x36, 0xff, 0x18, 0x2b, 0xff, 0x2, 0xd, 0xf5 +db 0x17, 0x47, 0xe1, 0x81, 0xc3, 0xfd, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xf8, 0x5b, 0x70, 0xdd, 0x1a, 0x29, 0xfe, 0x3c, 0x4d, 0xff +db 0x53, 0x6d, 0xff, 0x65, 0x75, 0xff, 0x46, 0x50, 0xff, 0x48, 0x53, 0xff +db 0x68, 0x77, 0xff, 0x53, 0x6b, 0xff, 0x39, 0x48, 0xff, 0x1a, 0x2c, 0xff +db 0x4, 0x1e, 0xe5, 0x2a, 0x8a, 0xf1, 0xc2, 0xe3, 0xff, 0xff, 0xff, 0xff +db 0xf6, 0xf8, 0xf3, 0x41, 0x52, 0xdb, 0x2c, 0x39, 0xff, 0x63, 0x76, 0xff +db 0xa6, 0x9b, 0xff, 0xdf, 0xba, 0xff, 0xc4, 0xa9, 0xff, 0xc4, 0xab, 0xff +db 0xdd, 0xba, 0xff, 0xa3, 0x98, 0xff, 0x57, 0x6b, 0xff, 0x27, 0x38, 0xff +db 0x6, 0x1f, 0xe8, 0x27, 0x82, 0xed, 0xad, 0xd9, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xf8, 0x5f, 0x6c, 0xdc, 0x24, 0x39, 0xff, 0x83, 0x89, 0xff +db 0xe5, 0xc1, 0xff, 0xe8, 0xe8, 0xfe, 0xd9, 0xee, 0xfd, 0xd8, 0xee, 0xfd +db 0xf6, 0xe0, 0xfe, 0xe2, 0xbb, 0xff, 0x6c, 0x76, 0xff, 0x22, 0x35, 0xff +db 0x9, 0x25, 0xe3, 0x2d, 0x8e, 0xf3, 0xbf, 0xe1, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xc5, 0xca, 0xe9, 0x24, 0x39, 0xeb, 0x5f, 0x6c, 0xff +db 0xda, 0xc2, 0xff, 0xc9, 0xfa, 0xfc, 0xb8, 0xfd, 0xfc, 0xb8, 0xfe, 0xfc +db 0xd9, 0xf1, 0xfd, 0xd3, 0xb3, 0xff, 0x50, 0x59, 0xff, 0xd, 0x1b, 0xf3 +db 0x15, 0x55, 0xe1, 0x64, 0xb6, 0xff, 0xf4, 0xfa, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x98, 0xa0, 0xdf, 0x22, 0x3a, 0xf4 +db 0x8b, 0x8a, 0xff, 0xe1, 0xe0, 0xfe, 0xbd, 0xfe, 0xfc, 0xc4, 0xfb, 0xfc +db 0xdc, 0xd2, 0xfe, 0x79, 0x76, 0xff, 0x16, 0x24, 0xfd, 0xc, 0x39, 0xdf +db 0x45, 0xa2, 0xf7, 0xdc, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xf7, 0x58, 0x68, 0xe1 +db 0x2f, 0x44, 0xfd, 0xb9, 0xa9, 0xff, 0xd4, 0xf3, 0xfc, 0xd8, 0xe7, 0xfd +db 0x9a, 0x8e, 0xff, 0x2b, 0x3a, 0xff, 0x5, 0x1a, 0xe7, 0x26, 0x7f, 0xeb +db 0xa6, 0xd7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xdf, 0xeb +db 0x39, 0x4c, 0xe5, 0x50, 0x5e, 0xff, 0xd6, 0xc1, 0xff, 0xbc, 0xac, 0xff +db 0x3d, 0x4b, 0xff, 0x9, 0x19, 0xf2, 0x18, 0x5f, 0xe1, 0x7a, 0xc1, 0xff +db 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xb6, 0xbd, 0xe4, 0x21, 0x37, 0xf0, 0x75, 0x7a, 0xff, 0x62, 0x6a, 0xff +db 0xd, 0x1c, 0xfb, 0xe, 0x3c, 0xdf, 0x4b, 0xa9, 0xfa, 0xe4, 0xf3, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xfb, 0x7e, 0x8c, 0xdd, 0x29, 0x3d, 0xf8, 0x22, 0x32, 0xff +db 0x7, 0x23, 0xe1, 0x2f, 0x8a, 0xee, 0xba, 0xe0, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf3, 0xf5, 0xf4, 0x44, 0x56, 0xe5, 0x2, 0xd, 0xec +db 0x1c, 0x6f, 0xe6, 0x86, 0xc8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xe8, 0x5e, 0x75, 0xd8 +db 0x6b, 0xb8, 0xfd, 0xe9, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfd, 0xfb +db 0xf3, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/heart02.inc b/programs/games/hunter/trunk/inc/heart02.inc new file mode 100644 index 0000000000..ad1d9b19f6 --- /dev/null +++ b/programs/games/hunter/trunk/inc/heart02.inc @@ -0,0 +1,929 @@ +dw 64, 58 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff +db 0xe3, 0xe3, 0xff, 0xcb, 0xcb, 0xff, 0xc7, 0xc7, 0xff, 0x9d, 0x9d, 0xff +db 0x8b, 0x8b, 0xff, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0xff +db 0x8d, 0x8d, 0xff, 0x8b, 0x8c, 0xff, 0x96, 0x96, 0xff, 0xc2, 0xc2, 0xff +db 0xda, 0xda, 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff +db 0xe4, 0xe4, 0xff, 0xa3, 0xa3, 0xff, 0x8a, 0x8a, 0xff, 0x8d, 0x8d, 0xff +db 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0xff, 0x8c, 0x8c, 0xff +db 0x90, 0x90, 0xff, 0xbe, 0xbe, 0xff, 0xcb, 0xcb, 0xff, 0xd3, 0xd3, 0xff +db 0xf5, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xe9, 0xff, 0x8c, 0x8d, 0xff +db 0x38, 0x39, 0xff, 0x12, 0x13, 0xff, 0xf, 0x11, 0xff, 0x5, 0x6, 0xff +db 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff +db 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x4, 0x4, 0xff, 0xc, 0xf, 0xff +db 0x28, 0x2b, 0xff, 0x82, 0x83, 0xff, 0xdf, 0xdf, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xe9, 0xff, 0x8c, 0x8d, 0xff +db 0x38, 0x3a, 0xff, 0x8, 0x9, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff +db 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff +db 0x2, 0x2, 0xff, 0xd, 0xf, 0xff, 0xf, 0x12, 0xff, 0x1f, 0x21, 0xff +db 0x65, 0x66, 0xff, 0xd1, 0xd1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd9, 0xda, 0xff, 0x8a, 0x8b, 0xff, 0x38, 0x3b, 0xff, 0xc, 0x10, 0xff +db 0x2, 0x5, 0xff, 0x3, 0x6, 0xff, 0x3, 0x7, 0xff, 0x5, 0x8, 0xff +db 0x6, 0x9, 0xff, 0x6, 0x9, 0xff, 0x6, 0x9, 0xff, 0x6, 0x9, 0xff +db 0x6, 0x9, 0xff, 0x6, 0x9, 0xff, 0x5, 0x8, 0xff, 0x3, 0x7, 0xff +db 0x3, 0x6, 0xff, 0x7, 0xb, 0xff, 0x33, 0x36, 0xff, 0xb5, 0xb3, 0xfb +db 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xdd, 0xde, 0xff, 0x89, 0x8b, 0xff, 0x38, 0x3a, 0xff, 0xc, 0xf, 0xff +db 0x2, 0x5, 0xff, 0x4, 0x8, 0xff, 0x6, 0x9, 0xff, 0x5, 0x9, 0xff +db 0x6, 0x9, 0xff, 0x6, 0x9, 0xff, 0x6, 0x9, 0xff, 0x6, 0x9, 0xff +db 0x6, 0x9, 0xff, 0x4, 0x6, 0xff, 0x3, 0x6, 0xff, 0x2, 0x6, 0xff +db 0x4, 0x8, 0xff, 0x2e, 0x32, 0xff, 0x8a, 0x8c, 0xff, 0xd9, 0xda, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc8, 0xc9, 0xff +db 0x43, 0x47, 0xff, 0x9, 0xe, 0xff, 0x2, 0x5, 0xff, 0x6, 0xb, 0xff +db 0x8, 0xd, 0xff, 0x9, 0xd, 0xff, 0x9, 0xe, 0xff, 0x9, 0xd, 0xff +db 0x9, 0xd, 0xff, 0x9, 0xe, 0xff, 0x9, 0xe, 0xff, 0x9, 0xe, 0xff +db 0x9, 0xd, 0xff, 0x9, 0xd, 0xff, 0x9, 0xd, 0xff, 0x9, 0xd, 0xff +db 0x9, 0xd, 0xff, 0x6, 0xb, 0xff, 0x2, 0x2, 0xff, 0x61, 0x55, 0xf0 +db 0xff, 0xe8, 0xe5, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xff, 0xcd, 0xce, 0xff +db 0x59, 0x5b, 0xff, 0x8, 0xc, 0xff, 0x2, 0x5, 0xff, 0x6, 0xb, 0xff +db 0x9, 0xd, 0xff, 0x9, 0xe, 0xff, 0x9, 0xe, 0xff, 0x9, 0xd, 0xff +db 0x9, 0xd, 0xff, 0x9, 0xd, 0xff, 0x9, 0xe, 0xff, 0x9, 0xe, 0xff +db 0x9, 0xe, 0xff, 0x9, 0xd, 0xff, 0x9, 0xd, 0xff, 0x9, 0xd, 0xff +db 0x7, 0xc, 0xff, 0x2, 0x6, 0xff, 0x9, 0xe, 0xff, 0x44, 0x47, 0xff +db 0xc8, 0xc9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xd9, 0xff, 0x39, 0x3d, 0xff +db 0x6, 0xc, 0xff, 0x9, 0xf, 0xff, 0xb, 0x11, 0xff, 0xb, 0x11, 0xff +db 0xb, 0x11, 0xff, 0xb, 0x11, 0xff, 0xb, 0x11, 0xff, 0xb, 0x11, 0xff +db 0xb, 0x11, 0xff, 0xb, 0x11, 0xff, 0xb, 0x12, 0xff, 0xb, 0x12, 0xff +db 0xb, 0x11, 0xff, 0xb, 0x11, 0xff, 0xb, 0x12, 0xff, 0xb, 0x12, 0xff +db 0xb, 0x11, 0xff, 0xb, 0x11, 0xff, 0x9, 0xf, 0xff, 0x11, 0x15, 0xfd +db 0x4c, 0x41, 0xef, 0xc0, 0xac, 0xe7, 0xff, 0xff, 0xf5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xfb, 0xff, 0x7b, 0x7e, 0xff, 0x21, 0x27, 0xff +db 0xb, 0x11, 0xff, 0x9, 0xf, 0xff, 0xb, 0x11, 0xff, 0xb, 0x11, 0xff +db 0xb, 0x11, 0xff, 0xb, 0x11, 0xff, 0xb, 0x11, 0xff, 0xb, 0x11, 0xff +db 0xb, 0x11, 0xff, 0xb, 0x12, 0xff, 0xb, 0x11, 0xff, 0xb, 0x11, 0xff +db 0xb, 0x12, 0xff, 0xb, 0x11, 0xff, 0xb, 0x12, 0xff, 0xb, 0x11, 0xff +db 0xb, 0x11, 0xff, 0xb, 0x12, 0xff, 0x9, 0xe, 0xff, 0x5, 0xb, 0xff +db 0x3d, 0x3f, 0xfc, 0xd3, 0xce, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xff, 0x74, 0x78, 0xff, 0x9, 0x10, 0xff +db 0xc, 0x13, 0xff, 0xe, 0x16, 0xff, 0xe, 0x16, 0xff, 0xe, 0x16, 0xff +db 0xe, 0x16, 0xff, 0xe, 0x16, 0xff, 0xe, 0x15, 0xff, 0xe, 0x15, 0xff +db 0xe, 0x16, 0xff, 0xe, 0x15, 0xff, 0xe, 0x15, 0xff, 0xe, 0x16, 0xff +db 0xe, 0x16, 0xff, 0xe, 0x15, 0xff, 0xe, 0x16, 0xff, 0xd, 0x16, 0xff +db 0xd, 0x16, 0xff, 0xe, 0x15, 0xff, 0xe, 0x16, 0xff, 0xb, 0x14, 0xff +db 0x2, 0x9, 0xff, 0x34, 0x31, 0xf6, 0xcd, 0xae, 0xde, 0xff, 0xf3, 0xf1 +db 0xff, 0xff, 0xff, 0xbe, 0xc0, 0xff, 0x1f, 0x26, 0xff, 0x3, 0xc, 0xff +db 0xc, 0x14, 0xff, 0xe, 0x16, 0xff, 0xe, 0x16, 0xff, 0xe, 0x15, 0xff +db 0xe, 0x15, 0xff, 0xd, 0x15, 0xff, 0xd, 0x15, 0xff, 0xe, 0x15, 0xff +db 0xe, 0x15, 0xff, 0xe, 0x16, 0xff, 0xe, 0x16, 0xff, 0xe, 0x15, 0xff +db 0xe, 0x16, 0xff, 0xd, 0x16, 0xff, 0xd, 0x16, 0xff, 0xe, 0x15, 0xff +db 0xe, 0x15, 0xff, 0xd, 0x16, 0xff, 0xe, 0x15, 0xff, 0xc, 0x13, 0xff +db 0xa, 0x10, 0xfe, 0x66, 0x5e, 0xf3, 0xe0, 0xd5, 0xf3, 0xff, 0xff, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xfe, 0xff, 0x8b, 0x90, 0xff, 0x15, 0x1e, 0xff, 0xe, 0x17, 0xff +db 0x11, 0x1a, 0xff, 0x11, 0x1a, 0xff, 0x10, 0x1a, 0xff, 0x10, 0x1a, 0xff +db 0x11, 0x1a, 0xff, 0x11, 0x1a, 0xff, 0x10, 0x1a, 0xff, 0x10, 0x1a, 0xff +db 0x10, 0x1a, 0xff, 0x11, 0x1a, 0xff, 0x10, 0x1a, 0xff, 0x11, 0x1a, 0xff +db 0x11, 0x1a, 0xff, 0x10, 0x1a, 0xff, 0x11, 0x1a, 0xff, 0x11, 0x1a, 0xff +db 0x10, 0x1a, 0xff, 0x11, 0x1a, 0xff, 0x11, 0x1a, 0xff, 0x10, 0x1a, 0xff +db 0x11, 0x1a, 0xff, 0xa, 0x16, 0xff, 0x19, 0x1e, 0xfb, 0xae, 0x95, 0xe2 +db 0xfe, 0xee, 0xed, 0x5d, 0x65, 0xff, 0xa, 0x13, 0xff, 0xf, 0x19, 0xff +db 0x10, 0x1a, 0xff, 0x11, 0x1a, 0xff, 0x11, 0x1a, 0xff, 0x11, 0x1a, 0xff +db 0x11, 0x1a, 0xff, 0x11, 0x1a, 0xff, 0x11, 0x1a, 0xff, 0x10, 0x1a, 0xff +db 0x11, 0x1a, 0xff, 0x10, 0x1a, 0xff, 0x10, 0x1a, 0xff, 0x11, 0x1a, 0xff +db 0x11, 0x1a, 0xff, 0x11, 0x1a, 0xff, 0x11, 0x1a, 0xff, 0x11, 0x1a, 0xff +db 0x11, 0x1a, 0xff, 0x10, 0x1a, 0xff, 0x10, 0x1a, 0xff, 0x11, 0x1a, 0xff +db 0xf, 0x18, 0xff, 0xb, 0x15, 0xff, 0x67, 0x5a, 0xec, 0xf9, 0xdf, 0xe3 +db 0xff, 0xfd, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc1, 0xc4, 0xff, 0x2a, 0x34, 0xff, 0xe, 0x1a, 0xff, 0x13, 0x1e, 0xff +db 0x13, 0x1f, 0xff, 0x13, 0x1f, 0xff, 0x13, 0x1e, 0xff, 0x13, 0x1e, 0xff +db 0x13, 0x1e, 0xff, 0x13, 0x1e, 0xff, 0x13, 0x1e, 0xff, 0x13, 0x1f, 0xff +db 0x13, 0x1f, 0xff, 0x13, 0x1e, 0xff, 0x13, 0x1e, 0xff, 0x13, 0x1f, 0xff +db 0x13, 0x1f, 0xff, 0x13, 0x1f, 0xff, 0x13, 0x1e, 0xff, 0x13, 0x1f, 0xff +db 0x13, 0x1f, 0xff, 0x13, 0x1e, 0xff, 0x13, 0x1f, 0xff, 0x13, 0x1f, 0xff +db 0x13, 0x1f, 0xff, 0x13, 0x1e, 0xff, 0x6, 0x16, 0xff, 0x61, 0x57, 0xec +db 0xa4, 0x8c, 0xe2, 0x1a, 0x25, 0xff, 0x10, 0x1d, 0xff, 0x13, 0x1f, 0xff +db 0x13, 0x1f, 0xff, 0x13, 0x1e, 0xff, 0x13, 0x1e, 0xff, 0x13, 0x1e, 0xff +db 0x13, 0x1f, 0xff, 0x13, 0x1f, 0xff, 0x13, 0x1e, 0xff, 0x13, 0x1f, 0xff +db 0x13, 0x1f, 0xff, 0x13, 0x1e, 0xff, 0x13, 0x1e, 0xff, 0x13, 0x1e, 0xff +db 0x13, 0x1e, 0xff, 0x13, 0x1e, 0xff, 0x13, 0x1e, 0xff, 0x13, 0x1f, 0xff +db 0x13, 0x1f, 0xff, 0x13, 0x1f, 0xff, 0x13, 0x1f, 0xff, 0x13, 0x1e, 0xff +db 0x13, 0x1f, 0xff, 0xf, 0x1b, 0xff, 0x15, 0x1f, 0xfe, 0xc4, 0x9f, 0xd6 +db 0xff, 0xe6, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff +db 0x79, 0x80, 0xff, 0xc, 0x1a, 0xff, 0x15, 0x23, 0xff, 0x16, 0x24, 0xff +db 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff +db 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff +db 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff +db 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff +db 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff +db 0x16, 0x23, 0xff, 0x16, 0x23, 0xff, 0x14, 0x23, 0xff, 0x24, 0x2e, 0xfc +db 0x33, 0x39, 0xf8, 0x12, 0x20, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff +db 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff +db 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff +db 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff +db 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff +db 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0x16, 0x24, 0xff +db 0x16, 0x24, 0xff, 0x16, 0x24, 0xff, 0xc, 0x1c, 0xff, 0x71, 0x65, 0xea +db 0xff, 0xcf, 0xcf, 0xff, 0xf5, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xea, 0xff +db 0x56, 0x61, 0xff, 0x11, 0x22, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff +db 0x19, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff +db 0x19, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff +db 0x19, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff +db 0x19, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff +db 0x19, 0x29, 0xff, 0x1a, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff +db 0x19, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff, 0x17, 0x28, 0xff +db 0x15, 0x26, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff +db 0x19, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff +db 0x1a, 0x29, 0xff, 0x1a, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff +db 0x19, 0x29, 0xff, 0x19, 0x29, 0xff, 0x1a, 0x29, 0xff, 0x1a, 0x29, 0xff +db 0x1a, 0x29, 0xff, 0x1a, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff +db 0x19, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff, 0x19, 0x29, 0xff +db 0x19, 0x29, 0xff, 0x1a, 0x29, 0xff, 0x15, 0x25, 0xff, 0x30, 0x38, 0xfa +db 0xd7, 0xae, 0xd3, 0xff, 0xea, 0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xca, 0xce, 0xff +db 0x30, 0x40, 0xff, 0x18, 0x2a, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff +db 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff +db 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff +db 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff +db 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff +db 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff +db 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff +db 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff +db 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff +db 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff +db 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff +db 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff +db 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff +db 0x1c, 0x2e, 0xff, 0x1c, 0x2e, 0xff, 0x1b, 0x2d, 0xff, 0x16, 0x2a, 0xff +db 0xa0, 0x88, 0xe0, 0xff, 0xdf, 0xd6, 0xff, 0xfd, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb8, 0xbe, 0xff +db 0x29, 0x3d, 0xff, 0x1c, 0x30, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff +db 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff +db 0x1f, 0x33, 0xff, 0x20, 0x33, 0xff, 0x20, 0x33, 0xfe, 0x1f, 0x33, 0xff +db 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff +db 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff +db 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x20, 0x33, 0xff +db 0x20, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff +db 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff +db 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x20, 0x33, 0xff, 0x1f, 0x33, 0xff +db 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff +db 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff +db 0x1f, 0x33, 0xff, 0x20, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff +db 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff +db 0x1f, 0x33, 0xff, 0x1f, 0x33, 0xff, 0x1e, 0x33, 0xff, 0x16, 0x2d, 0xff +db 0x90, 0x7f, 0xe4, 0xff, 0xd9, 0xd0, 0xff, 0xfc, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x82, 0x8d, 0xff +db 0x1c, 0x33, 0xff, 0x22, 0x37, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff +db 0x23, 0x38, 0xff, 0x23, 0x38, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff +db 0x22, 0x38, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff +db 0x22, 0x38, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff +db 0x22, 0x38, 0xff, 0x22, 0x39, 0xff, 0x23, 0x38, 0xff, 0x22, 0x38, 0xff +db 0x23, 0x38, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff +db 0x22, 0x38, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff, 0x23, 0x38, 0xff +db 0x22, 0x38, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff +db 0x23, 0x38, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff, 0x23, 0x38, 0xff +db 0x23, 0x39, 0xff, 0x22, 0x39, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff +db 0x22, 0x38, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff, 0x23, 0x38, 0xff +db 0x22, 0x38, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff, 0x23, 0x38, 0xff +db 0x23, 0x39, 0xff, 0x23, 0x38, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff +db 0x22, 0x38, 0xff, 0x22, 0x38, 0xff, 0x22, 0x38, 0xff, 0x18, 0x31, 0xff +db 0x65, 0x64, 0xee, 0xff, 0xd4, 0xd2, 0xff, 0xfb, 0xf9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xf2, 0xff, 0x55, 0x67, 0xff +db 0x1f, 0x38, 0xff, 0x25, 0x3f, 0xff, 0x25, 0x3f, 0xff, 0x26, 0x3e, 0xff +db 0x26, 0x3e, 0xff, 0x26, 0x3e, 0xff, 0x26, 0x3e, 0xff, 0x26, 0x3e, 0xff +db 0x26, 0x3e, 0xff, 0x25, 0x3f, 0xff, 0x26, 0x3f, 0xff, 0x26, 0x3e, 0xfe +db 0x26, 0x3e, 0xff, 0x25, 0x3e, 0xff, 0x26, 0x3f, 0xff, 0x26, 0x3e, 0xff +db 0x26, 0x3e, 0xff, 0x26, 0x3e, 0xff, 0x26, 0x3e, 0xff, 0x25, 0x3e, 0xfe +db 0x26, 0x3e, 0xff, 0x26, 0x3e, 0xff, 0x26, 0x3e, 0xff, 0x26, 0x3f, 0xff +db 0x25, 0x3e, 0xff, 0x25, 0x3e, 0xff, 0x26, 0x3e, 0xff, 0x26, 0x3e, 0xff +db 0x26, 0x3f, 0xff, 0x26, 0x3f, 0xff, 0x26, 0x3e, 0xff, 0x26, 0x3e, 0xff +db 0x26, 0x3e, 0xff, 0x26, 0x3e, 0xff, 0x25, 0x3e, 0xff, 0x26, 0x3e, 0xff +db 0x26, 0x3f, 0xff, 0x26, 0x3f, 0xff, 0x26, 0x3f, 0xff, 0x26, 0x3e, 0xff +db 0x26, 0x3e, 0xff, 0x25, 0x3e, 0xff, 0x26, 0x3e, 0xff, 0x26, 0x3e, 0xff +db 0x25, 0x3f, 0xff, 0x26, 0x3f, 0xff, 0x25, 0x3e, 0xff, 0x26, 0x3e, 0xff +db 0x26, 0x3e, 0xff, 0x26, 0x3f, 0xff, 0x25, 0x3f, 0xff, 0x25, 0x3f, 0xff +db 0x26, 0x3f, 0xff, 0x26, 0x3e, 0xff, 0x26, 0x3e, 0xff, 0x1c, 0x38, 0xff +db 0x61, 0x64, 0xf0, 0xff, 0xce, 0xcd, 0xff, 0xf3, 0xf2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xf3, 0xff, 0x59, 0x6d, 0xff +db 0x22, 0x3f, 0xff, 0x29, 0x44, 0xff, 0x29, 0x44, 0xff, 0x29, 0x44, 0xff +db 0x29, 0x44, 0xff, 0x29, 0x44, 0xff, 0x2a, 0x44, 0xff, 0x29, 0x44, 0xff +db 0x29, 0x44, 0xff, 0x29, 0x44, 0xff, 0x29, 0x44, 0xff, 0x2a, 0x44, 0xff +db 0x2a, 0x44, 0xff, 0x29, 0x44, 0xff, 0x2a, 0x44, 0xff, 0x29, 0x44, 0xff +db 0x2a, 0x44, 0xff, 0x2a, 0x44, 0xff, 0x29, 0x44, 0xff, 0x29, 0x44, 0xff +db 0x29, 0x44, 0xff, 0x2a, 0x44, 0xff, 0x29, 0x44, 0xff, 0x29, 0x44, 0xff +db 0x29, 0x44, 0xff, 0x2a, 0x44, 0xff, 0x2a, 0x44, 0xff, 0x29, 0x44, 0xff +db 0x2a, 0x44, 0xff, 0x2a, 0x44, 0xff, 0x2a, 0x44, 0xff, 0x2a, 0x44, 0xff +db 0x29, 0x44, 0xff, 0x29, 0x44, 0xff, 0x29, 0x44, 0xff, 0x29, 0x44, 0xff +db 0x29, 0x44, 0xff, 0x29, 0x44, 0xff, 0x29, 0x44, 0xff, 0x2a, 0x44, 0xff +db 0x2a, 0x44, 0xff, 0x29, 0x44, 0xff, 0x29, 0x44, 0xff, 0x29, 0x44, 0xff +db 0x29, 0x44, 0xff, 0x2a, 0x44, 0xff, 0x29, 0x44, 0xff, 0x29, 0x44, 0xff +db 0x29, 0x44, 0xff, 0x29, 0x44, 0xff, 0x29, 0x44, 0xff, 0x29, 0x44, 0xff +db 0x2a, 0x44, 0xff, 0x29, 0x44, 0xff, 0x29, 0x44, 0xff, 0x20, 0x3f, 0xff +db 0x64, 0x69, 0xf0, 0xff, 0xcc, 0xcc, 0xff, 0xf2, 0xf0, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x81, 0x91, 0xff +db 0x26, 0x43, 0xff, 0x2c, 0x49, 0xff, 0x2c, 0x4a, 0xff, 0x2d, 0x4a, 0xff +db 0x2d, 0x4a, 0xff, 0x2d, 0x4a, 0xff, 0x2d, 0x49, 0xff, 0x2d, 0x49, 0xff +db 0x2c, 0x4a, 0xff, 0x2d, 0x49, 0xff, 0x2d, 0x49, 0xff, 0x2d, 0x49, 0xff +db 0x2d, 0x4a, 0xff, 0x2d, 0x4a, 0xff, 0x2d, 0x49, 0xff, 0x2c, 0x49, 0xff +db 0x2d, 0x4a, 0xff, 0x2d, 0x49, 0xff, 0x2d, 0x49, 0xff, 0x2d, 0x4a, 0xff +db 0x2d, 0x4a, 0xff, 0x2d, 0x49, 0xff, 0x2d, 0x49, 0xff, 0x2c, 0x4a, 0xff +db 0x2c, 0x49, 0xff, 0x2c, 0x49, 0xff, 0x2c, 0x49, 0xff, 0x2c, 0x49, 0xff +db 0x2c, 0x49, 0xff, 0x2d, 0x49, 0xff, 0x2d, 0x4a, 0xff, 0x2c, 0x4a, 0xff +db 0x2c, 0x4a, 0xff, 0x2d, 0x4a, 0xff, 0x2d, 0x4a, 0xff, 0x2d, 0x4a, 0xff +db 0x2d, 0x49, 0xff, 0x2c, 0x4a, 0xff, 0x2c, 0x4a, 0xff, 0x2c, 0x49, 0xff +db 0x2c, 0x4a, 0xff, 0x2c, 0x4a, 0xff, 0x2d, 0x49, 0xff, 0x2d, 0x4a, 0xff +db 0x2c, 0x4a, 0xff, 0x2c, 0x49, 0xff, 0x2c, 0x4a, 0xff, 0x2d, 0x49, 0xff +db 0x2d, 0x49, 0xff, 0x2d, 0x4a, 0xff, 0x2d, 0x49, 0xff, 0x2d, 0x49, 0xff +db 0x2d, 0x4a, 0xff, 0x2d, 0x4a, 0xff, 0x2d, 0x49, 0xff, 0x24, 0x44, 0xff +db 0x65, 0x6d, 0xf0, 0xff, 0xcc, 0xcc, 0xff, 0xf2, 0xf0, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xad, 0xb7, 0xff +db 0x35, 0x52, 0xff, 0x2e, 0x4d, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x50, 0xff +db 0x30, 0x50, 0xff, 0x30, 0x50, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x4f, 0xff +db 0x30, 0x50, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x4f, 0xff +db 0x30, 0x50, 0xff, 0x30, 0x50, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x4f, 0xff +db 0x30, 0x50, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x50, 0xff +db 0x30, 0x50, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x50, 0xff +db 0x30, 0x50, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x4f, 0xff +db 0x30, 0x4f, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x50, 0xff, 0x30, 0x50, 0xff +db 0x30, 0x50, 0xff, 0x30, 0x50, 0xff, 0x30, 0x50, 0xff, 0x30, 0x50, 0xff +db 0x30, 0x4f, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x4f, 0xfe +db 0x30, 0x50, 0xff, 0x30, 0x50, 0xfe, 0x30, 0x4f, 0xff, 0x30, 0x50, 0xff +db 0x30, 0x50, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x4f, 0xfe +db 0x30, 0x4f, 0xfe, 0x30, 0x50, 0xff, 0x30, 0x4f, 0xff, 0x30, 0x4f, 0xff +db 0x30, 0x50, 0xff, 0x30, 0x50, 0xff, 0x30, 0x4f, 0xff, 0x26, 0x4a, 0xff +db 0x86, 0x83, 0xea, 0xff, 0xcf, 0xca, 0xff, 0xf1, 0xf0, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xc7, 0xff +db 0x39, 0x58, 0xff, 0x30, 0x53, 0xff, 0x33, 0x55, 0xff, 0x33, 0x55, 0xff +db 0x33, 0x55, 0xff, 0x34, 0x55, 0xff, 0x34, 0x55, 0xff, 0x33, 0x55, 0xff +db 0x33, 0x55, 0xff, 0x33, 0x55, 0xff, 0x33, 0x55, 0xff, 0x33, 0x55, 0xff +db 0x33, 0x55, 0xff, 0x33, 0x55, 0xff, 0x33, 0x55, 0xff, 0x33, 0x55, 0xff +db 0x33, 0x55, 0xff, 0x33, 0x55, 0xff, 0x34, 0x55, 0xff, 0x34, 0x55, 0xff +db 0x33, 0x55, 0xff, 0x33, 0x55, 0xff, 0x33, 0x55, 0xfe, 0x33, 0x55, 0xff +db 0x33, 0x55, 0xff, 0x33, 0x55, 0xff, 0x33, 0x55, 0xff, 0x33, 0x55, 0xff +db 0x33, 0x55, 0xff, 0x33, 0x55, 0xff, 0x33, 0x55, 0xff, 0x33, 0x55, 0xff +db 0x34, 0x55, 0xff, 0x33, 0x55, 0xff, 0x33, 0x55, 0xff, 0x33, 0x55, 0xff +db 0x33, 0x55, 0xff, 0x34, 0x55, 0xff, 0x34, 0x55, 0xff, 0x33, 0x55, 0xff +db 0x33, 0x55, 0xfe, 0x34, 0x55, 0xff, 0x34, 0x55, 0xff, 0x33, 0x55, 0xff +db 0x33, 0x55, 0xff, 0x33, 0x55, 0xff, 0x33, 0x55, 0xfe, 0x33, 0x55, 0xfe +db 0x33, 0x55, 0xff, 0x33, 0x55, 0xff, 0x33, 0x55, 0xff, 0x34, 0x55, 0xff +db 0x34, 0x55, 0xff, 0x33, 0x55, 0xff, 0x31, 0x53, 0xff, 0x3a, 0x59, 0xfd +db 0xc5, 0xaa, 0xda, 0xff, 0xd2, 0xcb, 0xff, 0xf2, 0xf2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0xd7, 0xff +db 0x51, 0x6e, 0xff, 0x32, 0x57, 0xff, 0x36, 0x5a, 0xff, 0x37, 0x5a, 0xff +db 0x37, 0x5a, 0xff, 0x37, 0x5a, 0xff, 0x37, 0x5a, 0xff, 0x36, 0x5a, 0xff +db 0x37, 0x5a, 0xff, 0x37, 0x5a, 0xff, 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff +db 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff +db 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff +db 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff +db 0x37, 0x5a, 0xff, 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff +db 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff, 0x37, 0x5a, 0xff, 0x36, 0x5a, 0xff +db 0x37, 0x5b, 0xff, 0x36, 0x5b, 0xff, 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff +db 0x36, 0x5a, 0xfe, 0x37, 0x5b, 0xfe, 0x37, 0x5a, 0xff, 0x37, 0x5a, 0xff +db 0x36, 0x5a, 0xff, 0x37, 0x5a, 0xff, 0x37, 0x5a, 0xff, 0x36, 0x5a, 0xff +db 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xff, 0x36, 0x5b, 0xfe, 0x37, 0x5b, 0xff +db 0x36, 0x5a, 0xff, 0x36, 0x5a, 0xfe, 0x37, 0x5a, 0xff, 0x36, 0x5a, 0xff +db 0x36, 0x5a, 0xfe, 0x36, 0x5a, 0xfe, 0x2f, 0x56, 0xff, 0x72, 0x7c, 0xf0 +db 0xf9, 0xc8, 0xcd, 0xff, 0xd4, 0xd1, 0xff, 0xfa, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf4, 0xff +db 0x6d, 0x86, 0xff, 0x33, 0x5b, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff +db 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xfe +db 0x3b, 0x60, 0xff, 0x3b, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff +db 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xfe, 0x3a, 0x60, 0xfe, 0x3a, 0x60, 0xff +db 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff +db 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff +db 0x3b, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff +db 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xfe +db 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff +db 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff +db 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xfe, 0x3a, 0x60, 0xff +db 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff +db 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff, 0x3a, 0x60, 0xff +db 0x3a, 0x60, 0xff, 0x39, 0x5f, 0xff, 0x33, 0x5d, 0xff, 0xb0, 0xa1, 0xe0 +db 0xff, 0xd0, 0xc8, 0xff, 0xdc, 0xdc, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff +db 0x90, 0xa4, 0xff, 0x37, 0x62, 0xff, 0x3c, 0x65, 0xff, 0x3d, 0x65, 0xff +db 0x3d, 0x66, 0xff, 0x3e, 0x66, 0xff, 0x3d, 0x66, 0xfe, 0x3e, 0x66, 0xfe +db 0x3e, 0x66, 0xff, 0x3d, 0x66, 0xff, 0x3e, 0x66, 0xff, 0x3d, 0x66, 0xff +db 0x3e, 0x66, 0xff, 0x3d, 0x66, 0xff, 0x3e, 0x65, 0xff, 0x3d, 0x66, 0xff +db 0x3d, 0x66, 0xff, 0x3d, 0x66, 0xff, 0x3d, 0x65, 0xff, 0x3d, 0x66, 0xff +db 0x3e, 0x66, 0xff, 0x3d, 0x66, 0xff, 0x3d, 0x66, 0xff, 0x3d, 0x66, 0xff +db 0x3d, 0x66, 0xff, 0x3e, 0x66, 0xff, 0x3e, 0x66, 0xff, 0x3d, 0x65, 0xff +db 0x3e, 0x66, 0xff, 0x3d, 0x65, 0xff, 0x3e, 0x65, 0xff, 0x3e, 0x66, 0xff +db 0x3d, 0x66, 0xff, 0x3d, 0x66, 0xff, 0x3e, 0x66, 0xff, 0x3e, 0x66, 0xff +db 0x3e, 0x66, 0xff, 0x3e, 0x65, 0xff, 0x3d, 0x66, 0xff, 0x3d, 0x66, 0xff +db 0x3e, 0x65, 0xfe, 0x3e, 0x66, 0xfe, 0x3d, 0x66, 0xff, 0x3d, 0x66, 0xff +db 0x3d, 0x65, 0xff, 0x3e, 0x66, 0xff, 0x3d, 0x66, 0xff, 0x3d, 0x66, 0xff +db 0x3d, 0x66, 0xff, 0x3d, 0x66, 0xfe, 0x3d, 0x66, 0xff, 0x3e, 0x66, 0xff +db 0x3e, 0x66, 0xff, 0x38, 0x63, 0xff, 0x56, 0x73, 0xf8, 0xe8, 0xc0, 0xd2 +db 0xff, 0xcf, 0xcb, 0xff, 0xee, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd0, 0xd8, 0xff, 0x4d, 0x73, 0xff, 0x3d, 0x69, 0xff, 0x41, 0x6c, 0xff +db 0x41, 0x6c, 0xfe, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff +db 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xfe, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff +db 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xfe, 0x41, 0x6c, 0xff +db 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff +db 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff +db 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff +db 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff +db 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff +db 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xfe, 0x41, 0x6c, 0xff +db 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xfe, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff +db 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff, 0x41, 0x6c, 0xff +db 0x41, 0x6c, 0xfe, 0x41, 0x6c, 0xfe, 0x41, 0x6c, 0xfe, 0x41, 0x6c, 0xff +db 0x3f, 0x6b, 0xff, 0x41, 0x6b, 0xff, 0xab, 0xa2, 0xe2, 0xff, 0xcd, 0xc9 +db 0xff, 0xd8, 0xd7, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf8, 0xf9, 0xff, 0x8d, 0xa3, 0xff, 0x46, 0x71, 0xff, 0x42, 0x70, 0xff +db 0x44, 0x71, 0xfe, 0x45, 0x71, 0xfe, 0x45, 0x71, 0xff, 0x44, 0x71, 0xff +db 0x44, 0x71, 0xff, 0x44, 0x71, 0xff, 0x44, 0x71, 0xff, 0x44, 0x71, 0xfe +db 0x44, 0x71, 0xff, 0x44, 0x71, 0xff, 0x44, 0x71, 0xfe, 0x45, 0x71, 0xfe +db 0x45, 0x71, 0xff, 0x44, 0x71, 0xff, 0x44, 0x71, 0xff, 0x44, 0x71, 0xff +db 0x44, 0x71, 0xff, 0x44, 0x71, 0xff, 0x44, 0x71, 0xff, 0x44, 0x71, 0xff +db 0x44, 0x71, 0xff, 0x44, 0x71, 0xff, 0x44, 0x71, 0xff, 0x45, 0x71, 0xff +db 0x45, 0x71, 0xff, 0x44, 0x71, 0xff, 0x44, 0x71, 0xff, 0x45, 0x71, 0xfe +db 0x44, 0x71, 0xff, 0x44, 0x71, 0xff, 0x44, 0x71, 0xff, 0x44, 0x71, 0xfe +db 0x44, 0x71, 0xff, 0x44, 0x71, 0xfe, 0x44, 0x71, 0xff, 0x44, 0x71, 0xff +db 0x44, 0x71, 0xff, 0x44, 0x71, 0xff, 0x45, 0x71, 0xff, 0x45, 0x71, 0xff +db 0x44, 0x71, 0xff, 0x44, 0x71, 0xfe, 0x44, 0x71, 0xfe, 0x44, 0x71, 0xff +db 0x44, 0x71, 0xff, 0x44, 0x71, 0xff, 0x44, 0x71, 0xff, 0x44, 0x71, 0xff +db 0x3d, 0x6d, 0xff, 0x7a, 0x8b, 0xf1, 0xf8, 0xc9, 0xce, 0xff, 0xcc, 0xc9 +db 0xff, 0xe6, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe8, 0xec, 0xff, 0x7d, 0x9a, 0xff, 0x42, 0x73, 0xff +db 0x47, 0x76, 0xff, 0x47, 0x76, 0xfe, 0x47, 0x76, 0xff, 0x47, 0x77, 0xff +db 0x47, 0x77, 0xff, 0x47, 0x77, 0xff, 0x47, 0x76, 0xff, 0x47, 0x76, 0xff +db 0x47, 0x76, 0xff, 0x47, 0x76, 0xff, 0x47, 0x76, 0xff, 0x47, 0x76, 0xff +db 0x47, 0x76, 0xff, 0x47, 0x76, 0xfe, 0x47, 0x77, 0xff, 0x47, 0x76, 0xfe +db 0x47, 0x76, 0xff, 0x47, 0x76, 0xfe, 0x48, 0x76, 0xff, 0x48, 0x76, 0xff +db 0x47, 0x76, 0xff, 0x47, 0x76, 0xff, 0x47, 0x76, 0xff, 0x47, 0x76, 0xff +db 0x47, 0x76, 0xff, 0x47, 0x76, 0xff, 0x47, 0x76, 0xfe, 0x47, 0x76, 0xfe +db 0x47, 0x76, 0xff, 0x47, 0x76, 0xff, 0x47, 0x76, 0xff, 0x47, 0x76, 0xff +db 0x47, 0x76, 0xff, 0x47, 0x76, 0xfe, 0x47, 0x77, 0xff, 0x47, 0x76, 0xff +db 0x47, 0x76, 0xff, 0x47, 0x76, 0xff, 0x47, 0x77, 0xff, 0x47, 0x77, 0xff +db 0x47, 0x77, 0xff, 0x47, 0x76, 0xff, 0x47, 0x76, 0xff, 0x47, 0x76, 0xff +db 0x47, 0x76, 0xff, 0x48, 0x76, 0xff, 0x48, 0x76, 0xff, 0x44, 0x75, 0xff +db 0x42, 0x74, 0xff, 0xc3, 0xb1, 0xdd, 0xff, 0xcf, 0xc8, 0xff, 0xd2, 0xd2 +db 0xff, 0xf5, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0xdc, 0xff, 0x62, 0x8a, 0xfe +db 0x46, 0x79, 0xfe, 0x4a, 0x7c, 0xff, 0x4b, 0x7c, 0xfe, 0x4a, 0x7c, 0xfe +db 0x4a, 0x7c, 0xff, 0x4a, 0x7c, 0xff, 0x4a, 0x7c, 0xfe, 0x4b, 0x7c, 0xff +db 0x4a, 0x7c, 0xff, 0x4a, 0x7c, 0xff, 0x4b, 0x7c, 0xff, 0x4b, 0x7c, 0xff +db 0x4a, 0x7c, 0xff, 0x4b, 0x7c, 0xff, 0x4b, 0x7c, 0xff, 0x4a, 0x7c, 0xff +db 0x4b, 0x7c, 0xff, 0x4b, 0x7c, 0xff, 0x4b, 0x7c, 0xff, 0x4b, 0x7c, 0xff +db 0x4a, 0x7c, 0xff, 0x4a, 0x7c, 0xfe, 0x4a, 0x7c, 0xfe, 0x4b, 0x7c, 0xff +db 0x4b, 0x7c, 0xff, 0x4a, 0x7c, 0xff, 0x4a, 0x7c, 0xfe, 0x4b, 0x7c, 0xfe +db 0x4b, 0x7c, 0xff, 0x4a, 0x7c, 0xff, 0x4b, 0x7c, 0xff, 0x4b, 0x7c, 0xff +db 0x4b, 0x7c, 0xff, 0x4a, 0x7c, 0xff, 0x4b, 0x7c, 0xff, 0x4b, 0x7c, 0xff +db 0x4b, 0x7c, 0xff, 0x4a, 0x7c, 0xff, 0x4a, 0x7c, 0xfe, 0x4a, 0x7c, 0xfe +db 0x4a, 0x7c, 0xff, 0x4b, 0x7c, 0xff, 0x4b, 0x7c, 0xff, 0x4a, 0x7c, 0xff +db 0x4b, 0x7c, 0xff, 0x4b, 0x7c, 0xff, 0x48, 0x7b, 0xfe, 0x4d, 0x7d, 0xfe +db 0x98, 0x9f, 0xe9, 0xf8, 0xc9, 0xce, 0xff, 0xcb, 0xc9, 0xff, 0xe5, 0xe5 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xb4, 0xc2, 0xff +db 0x56, 0x85, 0xff, 0x4a, 0x7f, 0xff, 0x4e, 0x80, 0xff, 0x4d, 0x80, 0xff +db 0x4d, 0x81, 0xfe, 0x4d, 0x81, 0xff, 0x4d, 0x81, 0xff, 0x4e, 0x81, 0xff +db 0x4d, 0x81, 0xff, 0x4d, 0x81, 0xfe, 0x4e, 0x81, 0xff, 0x4e, 0x81, 0xfe +db 0x4d, 0x80, 0xfe, 0x4e, 0x80, 0xff, 0x4e, 0x81, 0xff, 0x4d, 0x81, 0xfe +db 0x4d, 0x81, 0xfe, 0x4e, 0x81, 0xff, 0x4d, 0x81, 0xff, 0x4d, 0x81, 0xfe +db 0x4d, 0x81, 0xff, 0x4d, 0x81, 0xff, 0x4d, 0x80, 0xff, 0x4e, 0x80, 0xff +db 0x4e, 0x81, 0xff, 0x4d, 0x81, 0xff, 0x4d, 0x81, 0xfe, 0x4e, 0x81, 0xff +db 0x4e, 0x81, 0xfe, 0x4d, 0x81, 0xff, 0x4e, 0x81, 0xfe, 0x4e, 0x81, 0xfe +db 0x4d, 0x81, 0xff, 0x4d, 0x81, 0xff, 0x4e, 0x80, 0xff, 0x4e, 0x81, 0xff +db 0x4e, 0x81, 0xff, 0x4d, 0x81, 0xfe, 0x4d, 0x81, 0xfe, 0x4d, 0x81, 0xff +db 0x4d, 0x81, 0xff, 0x4e, 0x81, 0xff, 0x4e, 0x81, 0xfe, 0x4d, 0x81, 0xff +db 0x4e, 0x81, 0xff, 0x4e, 0x81, 0xfe, 0x43, 0x7d, 0xff, 0x7e, 0x96, 0xf1 +db 0xfe, 0xcd, 0xcb, 0xff, 0xcc, 0xc9, 0xff, 0xd1, 0xd1, 0xff, 0xf7, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xff +db 0x96, 0xb0, 0xff, 0x49, 0x7d, 0xfe, 0x4e, 0x83, 0xff, 0x50, 0x84, 0xfe +db 0x50, 0x84, 0xfe, 0x50, 0x85, 0xfe, 0x50, 0x85, 0xff, 0x50, 0x85, 0xff +db 0x50, 0x85, 0xff, 0x50, 0x85, 0xff, 0x50, 0x85, 0xff, 0x50, 0x85, 0xff +db 0x50, 0x84, 0xff, 0x50, 0x84, 0xff, 0x50, 0x85, 0xff, 0x50, 0x85, 0xff +db 0x50, 0x85, 0xfe, 0x50, 0x85, 0xff, 0x50, 0x85, 0xff, 0x50, 0x85, 0xff +db 0x50, 0x85, 0xfe, 0x50, 0x85, 0xff, 0x50, 0x84, 0xff, 0x50, 0x84, 0xfe +db 0x50, 0x85, 0xfe, 0x50, 0x85, 0xff, 0x50, 0x85, 0xfe, 0x50, 0x85, 0xff +db 0x50, 0x85, 0xff, 0x50, 0x85, 0xfe, 0x50, 0x85, 0xff, 0x50, 0x85, 0xff +db 0x50, 0x85, 0xff, 0x50, 0x84, 0xff, 0x50, 0x84, 0xfe, 0x50, 0x85, 0xff +db 0x50, 0x85, 0xff, 0x50, 0x85, 0xff, 0x50, 0x85, 0xff, 0x50, 0x85, 0xff +db 0x50, 0x85, 0xfe, 0x50, 0x85, 0xfe, 0x50, 0x85, 0xfe, 0x50, 0x85, 0xff +db 0x50, 0x85, 0xff, 0x4c, 0x83, 0xff, 0x5c, 0x86, 0xfa, 0xc2, 0xb1, 0xdd +db 0xff, 0xce, 0xc9, 0xff, 0xd3, 0xd3, 0xff, 0xf1, 0xf1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf1, 0xf4, 0xff, 0x9f, 0xb7, 0xfe, 0x52, 0x85, 0xfe, 0x50, 0x88, 0xff +db 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff +db 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xfe, 0x53, 0x8a, 0xfe +db 0x53, 0x8a, 0xfe, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff +db 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff +db 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff +db 0x53, 0x8a, 0xfe, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff +db 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff +db 0x53, 0x8a, 0xfe, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xfe +db 0x53, 0x8a, 0xfe, 0x53, 0x8a, 0xfe, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xfe +db 0x53, 0x8a, 0xfe, 0x53, 0x8a, 0xfe, 0x53, 0x8a, 0xff, 0x53, 0x8a, 0xff +db 0x4f, 0x8a, 0xff, 0x58, 0x8a, 0xfc, 0xb9, 0xa8, 0xdf, 0xfe, 0xc8, 0xcb +db 0xff, 0xcc, 0xca, 0xff, 0xec, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xb8, 0xca, 0xff, 0x5b, 0x8e, 0xfe +db 0x51, 0x8c, 0xff, 0x56, 0x90, 0xfe, 0x56, 0x8f, 0xfe, 0x56, 0x8f, 0xff +db 0x56, 0x8f, 0xff, 0x56, 0x8f, 0xff, 0x56, 0x8f, 0xfe, 0x56, 0x8f, 0xfe +db 0x56, 0x8f, 0xff, 0x56, 0x8f, 0xff, 0x56, 0x8f, 0xfe, 0x56, 0x8f, 0xfe +db 0x56, 0x8f, 0xff, 0x56, 0x8f, 0xff, 0x56, 0x8f, 0xfe, 0x56, 0x8f, 0xfe +db 0x56, 0x8f, 0xff, 0x56, 0x8f, 0xfe, 0x56, 0x8f, 0xff, 0x56, 0x8f, 0xfe +db 0x56, 0x8f, 0xfe, 0x56, 0x8f, 0xff, 0x56, 0x8f, 0xff, 0x56, 0x8f, 0xff +db 0x56, 0x8f, 0xff, 0x56, 0x8f, 0xff, 0x56, 0x8f, 0xff, 0x56, 0x8f, 0xff +db 0x56, 0x8f, 0xfe, 0x56, 0x8f, 0xfe, 0x56, 0x8f, 0xfe, 0x56, 0x8f, 0xfe +db 0x56, 0x8f, 0xfe, 0x56, 0x8f, 0xff, 0x56, 0x8f, 0xfe, 0x56, 0x8f, 0xfe +db 0x56, 0x8f, 0xff, 0x56, 0x8f, 0xfe, 0x56, 0x8f, 0xff, 0x54, 0x8f, 0xff +db 0x54, 0x8e, 0xff, 0x9e, 0x9f, 0xe7, 0xf8, 0xc5, 0xcc, 0xff, 0xcf, 0xcd +db 0xff, 0xe9, 0xea, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, 0xc5, 0xfe +db 0x5e, 0x93, 0xfe, 0x56, 0x93, 0xff, 0x5a, 0x95, 0xff, 0x5a, 0x95, 0xff +db 0x59, 0x95, 0xff, 0x59, 0x95, 0xfe, 0x5a, 0x95, 0xfe, 0x5a, 0x95, 0xff +db 0x5a, 0x95, 0xff, 0x5a, 0x95, 0xfe, 0x5a, 0x95, 0xff, 0x59, 0x95, 0xff +db 0x59, 0x95, 0xfe, 0x59, 0x95, 0xff, 0x59, 0x95, 0xff, 0x5a, 0x95, 0xff +db 0x5a, 0x95, 0xff, 0x59, 0x95, 0xff, 0x59, 0x95, 0xff, 0x5a, 0x95, 0xfe +db 0x59, 0x95, 0xfe, 0x5a, 0x95, 0xff, 0x5a, 0x95, 0xff, 0x59, 0x95, 0xff +db 0x59, 0x95, 0xff, 0x59, 0x95, 0xfe, 0x5a, 0x95, 0xfe, 0x59, 0x95, 0xff +db 0x59, 0x95, 0xff, 0x59, 0x95, 0xff, 0x59, 0x95, 0xff, 0x5a, 0x95, 0xfe +db 0x5a, 0x95, 0xfe, 0x59, 0x95, 0xff, 0x59, 0x95, 0xff, 0x5a, 0x95, 0xfe +db 0x5a, 0x95, 0xfe, 0x59, 0x95, 0xff, 0x58, 0x95, 0xff, 0x58, 0x94, 0xff +db 0x8f, 0x9f, 0xed, 0xec, 0xbf, 0xd0, 0xff, 0xce, 0xcd, 0xff, 0xe7, 0xe7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc7, 0xd6, 0xff, 0x63, 0x99, 0xff, 0x59, 0x98, 0xff, 0x5d, 0x9a, 0xff +db 0x5d, 0x9b, 0xff, 0x5c, 0x9b, 0xfe, 0x5d, 0x9b, 0xfe, 0x5d, 0x9a, 0xff +db 0x5d, 0x9a, 0xff, 0x5d, 0x9b, 0xfe, 0x5d, 0x9a, 0xfe, 0x5d, 0x9a, 0xff +db 0x5d, 0x9b, 0xff, 0x5d, 0x9b, 0xff, 0x5d, 0x9b, 0xfe, 0x5d, 0x9a, 0xfe +db 0x5d, 0x9a, 0xff, 0x5d, 0x9a, 0xff, 0x5d, 0x9a, 0xff, 0x5d, 0x9a, 0xfe +db 0x5d, 0x9b, 0xfe, 0x5d, 0x9a, 0xfe, 0x5d, 0x9b, 0xff, 0x5d, 0x9b, 0xff +db 0x5d, 0x9b, 0xff, 0x5d, 0x9b, 0xfe, 0x5d, 0x9b, 0xfe, 0x5c, 0x9b, 0xff +db 0x5d, 0x9b, 0xff, 0x5d, 0x9b, 0xff, 0x5d, 0x9b, 0xff, 0x5d, 0x9b, 0xff +db 0x5d, 0x9a, 0xfe, 0x5d, 0x9a, 0xfe, 0x5d, 0x9b, 0xff, 0x5d, 0x9b, 0xff +db 0x5d, 0x9a, 0xfe, 0x5b, 0x9a, 0xfe, 0x5e, 0x9a, 0xfe, 0x9e, 0xa2, 0xe8 +db 0xec, 0xbf, 0xcf, 0xff, 0xcd, 0xca, 0xff, 0xea, 0xea, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xc2, 0xd4, 0xff, 0x68, 0xa1, 0xff, 0x5e, 0x9f, 0xff +db 0x60, 0xa0, 0xfe, 0x60, 0xa0, 0xff, 0x60, 0xa0, 0xfe, 0x61, 0xa0, 0xfe +db 0x60, 0xa0, 0xfe, 0x60, 0xa0, 0xff, 0x60, 0xa0, 0xfe, 0x60, 0xa0, 0xff +db 0x60, 0xa0, 0xfe, 0x60, 0xa0, 0xff, 0x60, 0xa0, 0xfe, 0x60, 0xa0, 0xfe +db 0x60, 0xa0, 0xff, 0x60, 0xa0, 0xff, 0x60, 0xa0, 0xff, 0x60, 0xa0, 0xff +db 0x60, 0xa0, 0xff, 0x60, 0xa0, 0xff, 0x60, 0xa0, 0xff, 0x60, 0xa0, 0xff +db 0x60, 0xa0, 0xff, 0x60, 0xa0, 0xff, 0x60, 0xa0, 0xfe, 0x60, 0xa0, 0xfe +db 0x60, 0xa0, 0xfe, 0x60, 0xa0, 0xff, 0x60, 0xa0, 0xff, 0x60, 0xa0, 0xfe +db 0x60, 0xa0, 0xff, 0x60, 0xa0, 0xfe, 0x60, 0xa0, 0xfe, 0x60, 0xa0, 0xff +db 0x60, 0xa0, 0xff, 0x5b, 0x9f, 0xff, 0x88, 0xa4, 0xf0, 0xf1, 0xc1, 0xce +db 0xff, 0xd0, 0xcd, 0xff, 0xea, 0xe9, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0x9e, 0xc5, 0xfe, 0x59, 0xa0, 0xfe +db 0x63, 0xa5, 0xfe, 0x64, 0xa5, 0xfe, 0x63, 0xa5, 0xfe, 0x64, 0xa5, 0xff +db 0x64, 0xa6, 0xff, 0x63, 0xa6, 0xff, 0x63, 0xa6, 0xff, 0x63, 0xa6, 0xfe +db 0x63, 0xa6, 0xff, 0x63, 0xa5, 0xfe, 0x63, 0xa5, 0xff, 0x63, 0xa5, 0xfe +db 0x63, 0xa5, 0xfe, 0x63, 0xa6, 0xfe, 0x63, 0xa5, 0xfe, 0x63, 0xa6, 0xff +db 0x63, 0xa5, 0xfe, 0x63, 0xa5, 0xfe, 0x63, 0xa5, 0xfe, 0x63, 0xa5, 0xff +db 0x63, 0xa5, 0xff, 0x63, 0xa6, 0xfe, 0x64, 0xa5, 0xfe, 0x64, 0xa5, 0xff +db 0x63, 0xa6, 0xfe, 0x63, 0xa5, 0xfe, 0x64, 0xa5, 0xfe, 0x64, 0xa5, 0xfe +db 0x63, 0xa5, 0xfe, 0x63, 0xa5, 0xff, 0x63, 0xa5, 0xff, 0x63, 0xa6, 0xff +db 0x5f, 0xa6, 0xff, 0x61, 0x9b, 0xfd, 0xc0, 0xb1, 0xde, 0xff, 0xcb, 0xc7 +db 0xff, 0xdb, 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xf3, 0xff, 0x8e, 0xc0, 0xff +db 0x64, 0xaa, 0xfe, 0x66, 0xab, 0xfe, 0x66, 0xab, 0xfe, 0x67, 0xab, 0xff +db 0x67, 0xab, 0xfe, 0x67, 0xab, 0xff, 0x67, 0xab, 0xff, 0x67, 0xab, 0xfe +db 0x67, 0xab, 0xfe, 0x67, 0xab, 0xfe, 0x66, 0xab, 0xff, 0x66, 0xab, 0xff +db 0x67, 0xab, 0xfe, 0x66, 0xab, 0xfe, 0x66, 0xab, 0xfe, 0x67, 0xab, 0xfe +db 0x66, 0xab, 0xff, 0x66, 0xab, 0xff, 0x67, 0xab, 0xfe, 0x67, 0xab, 0xfe +db 0x66, 0xab, 0xff, 0x66, 0xab, 0xfe, 0x67, 0xab, 0xff, 0x67, 0xab, 0xff +db 0x67, 0xab, 0xfe, 0x66, 0xab, 0xfe, 0x67, 0xab, 0xfe, 0x67, 0xab, 0xfe +db 0x67, 0xab, 0xfe, 0x67, 0xab, 0xff, 0x66, 0xac, 0xff, 0x62, 0xa9, 0xff +db 0x6d, 0x9f, 0xfa, 0xb7, 0xaf, 0xe0, 0xfb, 0xc7, 0xcb, 0xff, 0xdc, 0xdb +db 0xff, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xf4, 0xff +db 0x82, 0xbe, 0xff, 0x64, 0xae, 0xff, 0x6a, 0xb1, 0xfe, 0x6a, 0xb1, 0xfe +db 0x6a, 0xb1, 0xff, 0x6a, 0xb1, 0xff, 0x6a, 0xb1, 0xff, 0x6a, 0xb1, 0xfe +db 0x6a, 0xb1, 0xfe, 0x6a, 0xb1, 0xfe, 0x6a, 0xb1, 0xfe, 0x6a, 0xb1, 0xff +db 0x6a, 0xb1, 0xfe, 0x6a, 0xb1, 0xff, 0x6a, 0xb1, 0xff, 0x6a, 0xb1, 0xfe +db 0x6a, 0xb1, 0xff, 0x6a, 0xb1, 0xff, 0x6a, 0xb1, 0xfe, 0x6a, 0xb1, 0xfe +db 0x6a, 0xb1, 0xff, 0x6a, 0xb1, 0xff, 0x6a, 0xb1, 0xff, 0x6a, 0xb1, 0xff +db 0x6a, 0xb1, 0xfe, 0x6a, 0xb1, 0xff, 0x6a, 0xb1, 0xff, 0x6a, 0xb1, 0xfe +db 0x69, 0xb1, 0xfe, 0x67, 0xb0, 0xff, 0x66, 0xaa, 0xfe, 0x7f, 0xa6, 0xf4 +db 0xd1, 0xb6, 0xd8, 0xfe, 0xce, 0xcd, 0xff, 0xe4, 0xe2, 0xff, 0xfb, 0xfb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xbb, 0xdc, 0xff, 0x6d, 0xb6, 0xfe, 0x6d, 0xb7, 0xfe, 0x6e, 0xb7, 0xfe +db 0x6e, 0xb7, 0xfe, 0x6e, 0xb7, 0xff, 0x6e, 0xb7, 0xff, 0x6e, 0xb7, 0xfe +db 0x6e, 0xb7, 0xfe, 0x6e, 0xb7, 0xfe, 0x6e, 0xb7, 0xfe, 0x6e, 0xb7, 0xfe +db 0x6e, 0xb7, 0xfe, 0x6e, 0xb7, 0xff, 0x6e, 0xb7, 0xff, 0x6e, 0xb7, 0xfe +db 0x6e, 0xb7, 0xfe, 0x6e, 0xb6, 0xff, 0x6e, 0xb6, 0xff, 0x6e, 0xb7, 0xfe +db 0x6e, 0xb7, 0xff, 0x6e, 0xb7, 0xff, 0x6e, 0xb7, 0xff, 0x6e, 0xb7, 0xfe +db 0x6e, 0xb7, 0xfe, 0x6e, 0xb7, 0xfe, 0x6e, 0xb7, 0xff, 0x6c, 0xb7, 0xff +db 0x6e, 0xb9, 0xfe, 0x7d, 0xb4, 0xf8, 0xa5, 0xaa, 0xe7, 0xed, 0xc1, 0xd0 +db 0xff, 0xd4, 0xd0, 0xff, 0xef, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xfd, 0xff, 0xb1, 0xd2, 0xff, 0x6e, 0xb8, 0xfe, 0x70, 0xbc, 0xfe +db 0x71, 0xbc, 0xfe, 0x71, 0xbc, 0xff, 0x71, 0xbc, 0xff, 0x71, 0xbc, 0xfe +db 0x71, 0xbc, 0xff, 0x71, 0xbc, 0xfe, 0x71, 0xbc, 0xfe, 0x71, 0xbc, 0xfe +db 0x71, 0xbc, 0xfe, 0x71, 0xbc, 0xff, 0x71, 0xbd, 0xff, 0x71, 0xbc, 0xfe +db 0x71, 0xbc, 0xff, 0x71, 0xbc, 0xff, 0x71, 0xbc, 0xff, 0x71, 0xbc, 0xfe +db 0x71, 0xbc, 0xff, 0x71, 0xbc, 0xff, 0x71, 0xbd, 0xfe, 0x71, 0xbc, 0xfe +db 0x71, 0xbc, 0xfe, 0x70, 0xbd, 0xfe, 0x6e, 0xbe, 0xff, 0x70, 0xbb, 0xff +db 0xa5, 0xb9, 0xea, 0xee, 0xc5, 0xd0, 0xfd, 0xc8, 0xca, 0xff, 0xe0, 0xdd +db 0xff, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xed, 0xf2, 0xff, 0x84, 0xc0, 0xfe, 0x71, 0xc1, 0xfe +db 0x75, 0xc2, 0xfe, 0x74, 0xc2, 0xfe, 0x74, 0xc3, 0xff, 0x74, 0xc3, 0xff +db 0x74, 0xc2, 0xfe, 0x74, 0xc2, 0xfe, 0x74, 0xc2, 0xff, 0x74, 0xc2, 0xff +db 0x74, 0xc2, 0xff, 0x74, 0xc3, 0xfe, 0x75, 0xc3, 0xff, 0x75, 0xc3, 0xfe +db 0x74, 0xc2, 0xff, 0x75, 0xc3, 0xff, 0x74, 0xc3, 0xfe, 0x75, 0xc2, 0xff +db 0x74, 0xc2, 0xfe, 0x74, 0xc2, 0xfe, 0x75, 0xc3, 0xfe, 0x75, 0xc2, 0xff +db 0x74, 0xc2, 0xff, 0x72, 0xc3, 0xff, 0x7d, 0xc0, 0xfa, 0xb8, 0xba, 0xe3 +db 0xf0, 0xc2, 0xce, 0xff, 0xd2, 0xd1, 0xff, 0xe9, 0xe8, 0xff, 0xfb, 0xfb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0xd3, 0xff, 0x71, 0xc0, 0xfe +db 0x78, 0xc9, 0xfe, 0x78, 0xc8, 0xfe, 0x78, 0xc8, 0xfe, 0x78, 0xc8, 0xfe +db 0x78, 0xc8, 0xfe, 0x78, 0xc8, 0xfe, 0x78, 0xc8, 0xff, 0x78, 0xc8, 0xff +db 0x78, 0xc8, 0xfe, 0x78, 0xc8, 0xfe, 0x78, 0xc8, 0xff, 0x78, 0xc8, 0xff +db 0x78, 0xc8, 0xfe, 0x78, 0xc8, 0xfe, 0x78, 0xc8, 0xfe, 0x78, 0xc8, 0xfe +db 0x78, 0xc8, 0xfe, 0x78, 0xc8, 0xfe, 0x78, 0xc8, 0xfe, 0x76, 0xc9, 0xff +db 0x72, 0xc9, 0xff, 0x8e, 0xc0, 0xf3, 0xd2, 0xbc, 0xd9, 0xfd, 0xc7, 0xca +db 0xff, 0xd4, 0xd2, 0xff, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0xef, 0xff, 0x8b, 0xc7, 0xfe +db 0x78, 0xcc, 0xfe, 0x7b, 0xcd, 0xfe, 0x7b, 0xcd, 0xfe, 0x7b, 0xce, 0xfe +db 0x7b, 0xcd, 0xfe, 0x7b, 0xcd, 0xfe, 0x7b, 0xcd, 0xff, 0x7b, 0xcd, 0xff +db 0x7b, 0xcd, 0xfe, 0x7b, 0xcd, 0xfe, 0x7b, 0xcd, 0xfe, 0x7b, 0xcd, 0xfe +db 0x7b, 0xcd, 0xfe, 0x7b, 0xcd, 0xfe, 0x7b, 0xcd, 0xff, 0x7b, 0xcd, 0xff +db 0x7b, 0xcd, 0xfe, 0x7b, 0xce, 0xfe, 0x78, 0xce, 0xff, 0x82, 0xc9, 0xfb +db 0xaa, 0xbf, 0xe9, 0xe3, 0xc1, 0xd4, 0xff, 0xcb, 0xcb, 0xff, 0xde, 0xdc +db 0xff, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0xdb, 0xff +db 0x78, 0xcf, 0xfe, 0x7e, 0xd2, 0xfe, 0x7e, 0xd2, 0xfe, 0x7f, 0xd2, 0xfe +db 0x7f, 0xd2, 0xfe, 0x7f, 0xd2, 0xfe, 0x7f, 0xd2, 0xfe, 0x7e, 0xd2, 0xfe +db 0x7e, 0xd2, 0xfe, 0x7e, 0xd2, 0xfe, 0x7e, 0xd3, 0xfe, 0x7e, 0xd3, 0xfe +db 0x7e, 0xd2, 0xfe, 0x7e, 0xd2, 0xfe, 0x7e, 0xd2, 0xfe, 0x7e, 0xd2, 0xfe +db 0x7b, 0xd4, 0xff, 0x7b, 0xd2, 0xff, 0x93, 0xc7, 0xf3, 0xca, 0xbe, 0xdd +db 0xf4, 0xc1, 0xcd, 0xff, 0xcc, 0xca, 0xff, 0xe3, 0xe2, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0xe6, 0xff +db 0x7d, 0xd2, 0xff, 0x80, 0xd8, 0xfe, 0x81, 0xd7, 0xfe, 0x81, 0xd8, 0xfe +db 0x81, 0xd8, 0xfe, 0x81, 0xd8, 0xfe, 0x81, 0xd7, 0xfe, 0x81, 0xd7, 0xfe +db 0x81, 0xd8, 0xfe, 0x81, 0xd8, 0xfe, 0x81, 0xd7, 0xfe, 0x81, 0xd8, 0xfe +db 0x81, 0xd8, 0xfe, 0x81, 0xd8, 0xfe, 0x7f, 0xd9, 0xff, 0x7b, 0xda, 0xff +db 0x8f, 0xce, 0xf7, 0xb9, 0xc3, 0xe4, 0xe8, 0xc2, 0xd2, 0xff, 0xc9, 0xcb +db 0xff, 0xd5, 0xd3, 0xff, 0xed, 0xed, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xee, 0xff +db 0x82, 0xd8, 0xff, 0x82, 0xdd, 0xfe, 0x83, 0xdd, 0xfe, 0x83, 0xdd, 0xfe +db 0x83, 0xdd, 0xfe, 0x83, 0xdd, 0xfe, 0x83, 0xdd, 0xff, 0x83, 0xdd, 0xff +db 0x83, 0xdd, 0xfe, 0x83, 0xdd, 0xfe, 0x83, 0xdd, 0xfe, 0x83, 0xdd, 0xff +db 0x82, 0xde, 0xff, 0x80, 0xde, 0xff, 0x8c, 0xd7, 0xfa, 0xa5, 0xcc, 0xee +db 0xd8, 0xc2, 0xd8, 0xfd, 0xc5, 0xca, 0xff, 0xcf, 0xcd, 0xff, 0xe3, 0xe2 +db 0xff, 0xf9, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xef, 0xff +db 0x87, 0xd7, 0xfe, 0x86, 0xe2, 0xff, 0x87, 0xe2, 0xfe, 0x87, 0xe2, 0xfe +db 0x87, 0xe2, 0xfe, 0x87, 0xe2, 0xfe, 0x87, 0xe2, 0xfe, 0x87, 0xe2, 0xfe +db 0x86, 0xe2, 0xfe, 0x87, 0xe2, 0xfe, 0x86, 0xe2, 0xff, 0x83, 0xe4, 0xff +db 0x85, 0xe1, 0xfe, 0x9b, 0xd2, 0xf3, 0xd1, 0xc2, 0xdb, 0xfb, 0xc6, 0xcc +db 0xff, 0xc9, 0xc9, 0xff, 0xd5, 0xd4, 0xff, 0xf1, 0xf1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf8, 0xff +db 0x97, 0xdc, 0xfe, 0x86, 0xe7, 0xfe, 0x89, 0xe7, 0xfe, 0x89, 0xe7, 0xfe +db 0x89, 0xe7, 0xfe, 0x89, 0xe7, 0xfe, 0x89, 0xe7, 0xfe, 0x89, 0xe6, 0xfe +db 0x89, 0xe8, 0xff, 0x87, 0xe9, 0xff, 0x86, 0xe7, 0xff, 0xa3, 0xd4, 0xf0 +db 0xcb, 0xc7, 0xde, 0xf0, 0xc4, 0xcf, 0xfe, 0xc8, 0xca, 0xff, 0xcf, 0xcd +db 0xff, 0xe5, 0xe4, 0xff, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf9, 0xff +db 0x99, 0xdf, 0xfe, 0x89, 0xeb, 0xfe, 0x8c, 0xeb, 0xfe, 0x8c, 0xeb, 0xfe +db 0x8c, 0xeb, 0xfe, 0x8c, 0xeb, 0xfe, 0x8c, 0xeb, 0xfe, 0x8b, 0xec, 0xff +db 0x8b, 0xea, 0xfe, 0x99, 0xdf, 0xf7, 0xb9, 0xcf, 0xe7, 0xeb, 0xc3, 0xd1 +db 0xff, 0xc8, 0xc9, 0xff, 0xd1, 0xcf, 0xff, 0xe0, 0xdf, 0xff, 0xf1, 0xf1 +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xf2, 0xff +db 0x8f, 0xe3, 0xfe, 0x8d, 0xf0, 0xfe, 0x8e, 0xef, 0xfe, 0x8e, 0xef, 0xfe +db 0x8e, 0xf0, 0xff, 0x8d, 0xf1, 0xff, 0x89, 0xf2, 0xff, 0x95, 0xe6, 0xfa +db 0xc0, 0xc9, 0xe3, 0xe6, 0xc3, 0xd3, 0xfe, 0xc6, 0xc9, 0xff, 0xcd, 0xcc +db 0xff, 0xdf, 0xdf, 0xff, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xde, 0xf3, 0xff +db 0x8f, 0xed, 0xfe, 0x90, 0xf4, 0xfe, 0x8f, 0xf4, 0xff, 0x8e, 0xf4, 0xff +db 0x8f, 0xf3, 0xff, 0x9a, 0xe7, 0xf8, 0xb3, 0xd9, 0xeb, 0xd3, 0xca, 0xdc +db 0xfa, 0xc4, 0xcb, 0xff, 0xce, 0xcd, 0xff, 0xdb, 0xda, 0xff, 0xef, 0xef +db 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xf2, 0xff +db 0x91, 0xf1, 0xfe, 0x90, 0xf9, 0xfe, 0x93, 0xf4, 0xfe, 0x9b, 0xea, 0xf8 +db 0xb8, 0xd4, 0xe9, 0xe3, 0xc3, 0xd4, 0xfc, 0xc5, 0xca, 0xff, 0xcc, 0xcc +db 0xff, 0xdc, 0xdc, 0xff, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc2, 0xee, 0xff +db 0x88, 0xf3, 0xff, 0x99, 0xe8, 0xfc, 0xcc, 0xd0, 0xe1, 0xed, 0xc7, 0xd1 +db 0xf9, 0xc5, 0xcc, 0xff, 0xce, 0xcd, 0xff, 0xe1, 0xe0, 0xff, 0xf3, 0xf3 +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, 0xf2, 0xff +db 0xae, 0xeb, 0xff, 0xdb, 0xe3, 0xf3, 0xff, 0xcc, 0xce, 0xff, 0xcf, 0xce +db 0xff, 0xdd, 0xdc, 0xff, 0xf1, 0xf0, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xeb, 0xea, 0xff, 0xde, 0xdd, 0xff, 0xf7, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/hole.inc b/programs/games/hunter/trunk/inc/hole.inc new file mode 100644 index 0000000000..005416b0fe --- /dev/null +++ b/programs/games/hunter/trunk/inc/hole.inc @@ -0,0 +1,257 @@ +dw 32, 32 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf9, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf2, 0xf0 +db 0xa9, 0xaa, 0xa9, 0xcb, 0xcf, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf3, 0xf3, 0xf3, 0xea, 0xea, 0xea, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xf4, 0xf1 +db 0x86, 0x8c, 0x8b, 0xa3, 0xa6, 0xa6, 0xc8, 0xc8, 0xc8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xf6, 0xea, 0xeb, 0xeb, 0xfb, 0xfc, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf8, 0xf4, 0xd9, 0xe0, 0xdf +db 0xaf, 0xb7, 0xb6, 0x84, 0x88, 0x84, 0x3d, 0x3e, 0x3c, 0x61, 0x60, 0x62 +db 0x87, 0x8a, 0x88, 0xe0, 0xe2, 0xe0, 0xfa, 0xf8, 0xf9, 0x96, 0x7d, 0x84 +db 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xed, 0xed, 0xed +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0xfd, 0x9c, 0x9c, 0x9c +db 0x76, 0x7c, 0x77, 0x64, 0x66, 0x64, 0x6a, 0x6e, 0x68, 0x3f, 0x45, 0x4c +db 0x1b, 0x21, 0x27, 0x24, 0x24, 0x23, 0x8b, 0x90, 0x8f, 0xd4, 0xd2, 0xd2 +db 0xf0, 0xf2, 0xf1, 0xdc, 0xde, 0xde, 0xa5, 0xab, 0xab, 0xd5, 0xd7, 0xd7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4c, 0x4c, 0x4c +db 0xd, 0xd, 0xd, 0x17, 0x18, 0x19, 0x1a, 0x1d, 0x20, 0x17, 0x17, 0x17 +db 0x15, 0x15, 0x16, 0x13, 0x13, 0x13, 0x16, 0x18, 0x1b, 0x2b, 0x2b, 0x2c +db 0x83, 0x7e, 0x7f, 0x9d, 0x9e, 0x9d, 0x66, 0x68, 0x67, 0xb8, 0xb9, 0xb9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xf7, 0xce, 0xd1, 0xd1 +db 0xca, 0xca, 0xca, 0xcd, 0xcc, 0xcd, 0xa1, 0xa0, 0xa1, 0x2f, 0x30, 0x2f +db 0x10, 0x10, 0x10, 0x16, 0x19, 0x1b, 0x19, 0x1f, 0x25, 0x16, 0x15, 0x14 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x19, 0x1f, 0x27, 0x1b, 0x16, 0x18 +db 0x37, 0x22, 0x25, 0x53, 0x5b, 0x5e, 0x3a, 0x3f, 0x45, 0x9c, 0x99, 0x9b +db 0xf8, 0xf8, 0xf8, 0xf9, 0xf8, 0xf9, 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf5, 0xf5, 0x98, 0x9c, 0x9c +db 0x75, 0x7a, 0x79, 0x4a, 0x47, 0x49, 0x8, 0x6, 0x8, 0x11, 0x12, 0x11 +db 0x17, 0x17, 0x17, 0x16, 0x16, 0x15, 0x16, 0x16, 0x15, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x15, 0x15, 0x16, 0x16 +db 0x11, 0x13, 0x12, 0xf, 0x14, 0x18, 0x29, 0x2c, 0x33, 0xa2, 0xa3, 0xa0 +db 0xee, 0xef, 0xed, 0xe5, 0xe8, 0xe4, 0xf3, 0xf2, 0xf3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfc, 0xfc, 0xf9, 0xfa, 0xfa +db 0xfb, 0xfa, 0xfa, 0xf5, 0xf5, 0xf5, 0xd4, 0xd5, 0xd5, 0x9e, 0xa3, 0xa3 +db 0x3d, 0x3e, 0x3e, 0x20, 0x20, 0x20, 0x12, 0x12, 0x12, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x13, 0x13, 0x12, 0x15, 0x14, 0x13, 0x99, 0x9c, 0x99 +db 0xeb, 0xf2, 0xec, 0xe0, 0xe9, 0xe3, 0xd0, 0xd4, 0xd0, 0x79, 0x75, 0x7a +db 0xc6, 0xc6, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb, 0xfb +db 0xef, 0xf2, 0xee, 0xd7, 0xde, 0xdc, 0xaa, 0xaf, 0xaf, 0x66, 0x67, 0x67 +db 0xa, 0xa, 0xa, 0x13, 0x13, 0x13, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x15, 0x15, 0x15, 0x8, 0x8, 0x8, 0x8a, 0x8a, 0x8a +db 0xef, 0xf2, 0xf0, 0xdb, 0xe2, 0xe0, 0xd1, 0xd8, 0xd1, 0x80, 0x81, 0x83 +db 0xb6, 0xba, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xea, 0xe4, 0xdb, 0xe0, 0xd3 +db 0xc7, 0xc7, 0xca, 0x99, 0x9c, 0xa0, 0x56, 0x42, 0x47, 0x1e, 0x1c, 0x1c +db 0x15, 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x15, 0x15, 0x15, 0xb, 0xb, 0xb, 0x84, 0x84, 0x84 +db 0xf3, 0xf2, 0xf2, 0xc7, 0xc9, 0xc9, 0x8e, 0x93, 0x92, 0xac, 0xac, 0xaa +db 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc0, 0xc3, 0xc4, 0x90, 0x97, 0x93, 0x3a, 0x43, 0x4e, 0x13, 0x14, 0x14 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x11, 0x11, 0x11, 0x42, 0x42, 0x42 +db 0xd2, 0xd3, 0xd3, 0xc1, 0xc3, 0xc3, 0x95, 0x96, 0x91, 0xda, 0xda, 0xd0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf3, 0xf6, 0xf3, 0xb4, 0xb2, 0xa4, 0x44, 0x31, 0x35, 0x15, 0x15, 0x15 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x15, 0x15, 0x15, 0x10, 0x10, 0x10 +db 0xa8, 0xac, 0xad, 0x7c, 0x80, 0x81, 0xa2, 0xa1, 0xa3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf5, 0xf9, 0xf4, 0xd7, 0xd8, 0xd8, 0x5e, 0x5e, 0x62, 0x15, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x15, 0x15, 0x15, 0x12, 0x12, 0x12 +db 0x8c, 0x8f, 0x8b, 0x49, 0x48, 0x49, 0xa0, 0x9b, 0xa0, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0x68, 0x7c, 0x7b, 0x15, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x14, 0x14, 0x14 +db 0x4b, 0x4c, 0x4b, 0xc4, 0xc4, 0xc4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9 +db 0xf0, 0xf0, 0xf0, 0xcf, 0xd0, 0xd0, 0x3d, 0x44, 0x4d, 0x15, 0x15, 0x15 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x14, 0x14, 0x14 +db 0x1e, 0x1c, 0x1e, 0xf2, 0xf1, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xea, 0xec, 0xea +db 0xe1, 0xe6, 0xe4, 0x9f, 0xa5, 0xa6, 0x36, 0x34, 0x3d, 0x14, 0x14, 0x14 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x13, 0x13, 0x13, 0x36, 0x36, 0x36 +db 0x64, 0x69, 0x65, 0x89, 0x8a, 0x89, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf1, 0xf1, 0xf7, 0xf9, 0xf9 +db 0xc2, 0xc0, 0xc6, 0x66, 0x66, 0x69, 0x4e, 0x48, 0x4e, 0xf, 0x12, 0x14 +db 0x9, 0xb, 0xb, 0x13, 0x13, 0x12, 0x17, 0x17, 0x17, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x15, 0x15, 0x15, 0x6, 0x6, 0x6, 0x90, 0x94, 0x95 +db 0xd2, 0xd8, 0xd8, 0x4e, 0x4f, 0x4f, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0xe9, 0xe8 +db 0x62, 0x6c, 0x76, 0x4e, 0x51, 0x54, 0xdd, 0xde, 0xdf, 0x65, 0x71, 0x7b +db 0x43, 0x47, 0x4a, 0x26, 0x26, 0x25, 0x13, 0x13, 0x13, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x15, 0x15, 0x15, 0x14, 0x14, 0x14, 0x29, 0x2b, 0x29, 0xc3, 0xc8, 0xc5 +db 0xc8, 0xca, 0xc9, 0x54, 0x48, 0x49, 0xf9, 0xf8, 0xf9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7b, 0x7c, 0x7b +db 0x82, 0x85, 0x85, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xff, 0xff, 0x6f, 0x6e, 0x6e, 0x6, 0x6, 0x6, 0x16, 0x16, 0x15 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x15, 0xd, 0xd, 0xd +db 0x6, 0x6, 0x6, 0x29, 0x28, 0x29, 0xc4, 0xc8, 0xc5, 0xf0, 0xf9, 0xf3 +db 0xab, 0xa8, 0xaa, 0x5f, 0x4f, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfb, 0xb4, 0xb4, 0xb4 +db 0xe0, 0xdf, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xad, 0xaf, 0xaf, 0x30, 0x31, 0x31, 0xe, 0x13, 0x1a +db 0x12, 0x14, 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16 +db 0x16, 0x16, 0x16, 0x14, 0x14, 0x14, 0x8, 0xd, 0xf, 0x4e, 0x4f, 0x50 +db 0x7d, 0x81, 0x7c, 0xa9, 0xab, 0xa9, 0xf4, 0xf9, 0xf6, 0xdf, 0xe8, 0xe5 +db 0xc2, 0xc4, 0xc8, 0x3b, 0x41, 0x48, 0xa4, 0x93, 0x97, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe +db 0xf6, 0xf5, 0xf5, 0xd3, 0xd4, 0xd4, 0x8c, 0x92, 0x92, 0x42, 0x30, 0x39 +db 0x14, 0x10, 0x12, 0x12, 0x13, 0x12, 0x12, 0x13, 0x13, 0x11, 0x11, 0x11 +db 0x12, 0x13, 0x12, 0x28, 0x23, 0x27, 0x74, 0x72, 0x79, 0xcf, 0xd6, 0xd0 +db 0xf1, 0xfb, 0xf2, 0xeb, 0xf0, 0xef, 0xe2, 0xe6, 0xe5, 0xc9, 0xcf, 0xce +db 0xca, 0xd3, 0xd2, 0x57, 0x55, 0x54, 0xc3, 0xb7, 0xba, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf2, 0xf3 +db 0xd5, 0xd8, 0xd5, 0xd6, 0xd9, 0xd6, 0x9f, 0xa4, 0xa2, 0x89, 0x83, 0x6b +db 0x67, 0x6f, 0x60, 0x7a, 0x7c, 0x7c, 0x77, 0x7e, 0x7e, 0x91, 0x9a, 0x99 +db 0x5f, 0x4b, 0x50, 0x2a, 0x39, 0x3c, 0xaa, 0xaf, 0xb3, 0xe3, 0xe9, 0xe2 +db 0xa9, 0xad, 0xaa, 0xac, 0xb0, 0xae, 0xda, 0xdf, 0xdc, 0xce, 0xd3, 0xcf +db 0xbc, 0xb9, 0xbd, 0x59, 0x58, 0x59, 0x80, 0x82, 0x81, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xfc, 0xfb, 0xeb, 0xef, 0xef, 0xb8, 0xc0, 0xbf, 0x9a, 0xa1, 0x9c +db 0x8f, 0x97, 0x94, 0x52, 0x53, 0x54, 0x79, 0x7a, 0x7a, 0xff, 0xff, 0xff +db 0x8a, 0x86, 0x87, 0x88, 0x8c, 0x8c, 0x91, 0x94, 0x94, 0xb9, 0xbd, 0xbd +db 0xc0, 0xc0, 0xc0, 0xf1, 0xf1, 0xf1, 0xeb, 0xea, 0xeb, 0xd4, 0xd4, 0xd4 +db 0xe7, 0xe6, 0xe7, 0x7a, 0x7a, 0x7a, 0xe1, 0xe1, 0xe1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xfb, 0xfb, 0xf4, 0xf6, 0xf5, 0xe8, 0xed, 0xed, 0xb9, 0xbb, 0xbc +db 0x80, 0x85, 0x85, 0x76, 0x78, 0x76, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xb4, 0xb9, 0xb9, 0x8c, 0x8e, 0x8e +db 0xa8, 0xa8, 0xa8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf9, 0xfb, 0xf9, 0xe5, 0xe7, 0xe5, 0xdd, 0xdd, 0xdd +db 0x8e, 0x8d, 0x8d, 0xc5, 0xca, 0xc5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xed, 0xee, 0xbf, 0xbf, 0xbf +db 0x82, 0x82, 0x82, 0xb1, 0xb1, 0xb1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0xd2, 0xd2 +db 0xb9, 0xb9, 0xb9, 0xbb, 0xbb, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/kust01.inc b/programs/games/hunter/trunk/inc/kust01.inc new file mode 100644 index 0000000000..1e4ddae07b --- /dev/null +++ b/programs/games/hunter/trunk/inc/kust01.inc @@ -0,0 +1,1169 @@ +dw 64, 73 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xfe, 0xfe, 0xfa, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xeb, 0xed, 0xed +db 0xdc, 0xdd, 0xdd, 0xf4, 0xf4, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xe2, 0xe1, 0xe2, 0xbd, 0xbf, 0xc0 +db 0xb7, 0xc3, 0xc7, 0x9a, 0xa1, 0xac, 0x88, 0x82, 0x88, 0x50, 0x51, 0x51 +db 0x92, 0x95, 0x95, 0xf6, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf8, 0xf8 +db 0xba, 0xb9, 0xba, 0x84, 0x82, 0x85, 0x4a, 0x42, 0x4c, 0x26, 0x1e, 0x2a +db 0x2b, 0x42, 0x34, 0x27, 0x62, 0x27, 0x15, 0x37, 0xd, 0x15, 0x13, 0x19 +db 0xb0, 0xb3, 0xb3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0x94, 0x99 +db 0x26, 0x20, 0x28, 0xd, 0x11, 0xd, 0x9, 0x3d, 0x2, 0x13, 0x7c, 0x2 +db 0x1b, 0xb6, 0x2, 0x2d, 0xd4, 0x13, 0x20, 0x74, 0x1d, 0x3a, 0x3e, 0x44 +db 0xd2, 0xdc, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xdf, 0xea, 0xea, 0xca, 0xdf, 0xe1, 0x8d, 0x90, 0x93 +db 0x76, 0x73, 0x76, 0x78, 0x75, 0x78, 0x78, 0x75, 0x78, 0x78, 0x76, 0x79 +db 0xc6, 0xd8, 0xd9, 0xcd, 0xde, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xfc, 0xfd, 0xe1, 0xe4, 0xe5, 0x6d, 0x68, 0x6d, 0x19, 0x20, 0x1e +db 0x20, 0x5a, 0x19, 0x21, 0xaf, 0x8, 0x28, 0xda, 0x2, 0x2c, 0xf4, 0x2 +db 0x2d, 0xff, 0x2, 0x34, 0xf0, 0x17, 0x1a, 0x61, 0x1a, 0x4f, 0x4c, 0x54 +db 0xe9, 0xed, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfe +db 0xf9, 0xfb, 0xfb, 0xeb, 0xf3, 0xf3, 0x99, 0xa8, 0xa7, 0x66, 0x63, 0x65 +db 0x4a, 0x42, 0x4b, 0x22, 0x1a, 0x28, 0x22, 0x2d, 0x27, 0x13, 0x1f, 0x13 +db 0xc, 0x15, 0xa, 0xd, 0x16, 0xb, 0xd, 0x16, 0xb, 0xb, 0x18, 0x8 +db 0x1e, 0x1a, 0x26, 0x20, 0x1d, 0x27, 0x3c, 0x35, 0x3a, 0x7e, 0x82, 0x84 +db 0xd9, 0xe8, 0xe8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x9f, 0x9f, 0x9e, 0x41, 0x3c, 0x42, 0x16, 0x28, 0x26, 0x3a, 0xa2, 0x2f +db 0x44, 0xe8, 0x27, 0x2f, 0xfd, 0x5, 0x2d, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2d, 0xff, 0x5, 0x36, 0xe4, 0x20, 0x2e, 0x66, 0x34, 0x8f, 0x86, 0x8f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc7, 0xc9, 0xc9, 0x32, 0x33, 0x33, 0xb, 0x8, 0xc, 0x1a, 0x3f, 0x26 +db 0x3b, 0x9f, 0x3b, 0x41, 0xb7, 0x2d, 0x42, 0xbf, 0x34, 0x2d, 0xd3, 0xe +db 0x25, 0xda, 0x2, 0x26, 0xda, 0x2, 0x24, 0xda, 0x2, 0x40, 0xc4, 0x2e +db 0x41, 0xbb, 0x30, 0x3e, 0xa6, 0x2c, 0x21, 0x66, 0x35, 0xa, 0x13, 0x7 +db 0x29, 0x25, 0x2e, 0x7e, 0x84, 0x86, 0xdc, 0xe9, 0xe8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xbb, 0xb9, 0xbc +db 0x41, 0x42, 0x40, 0x1a, 0x45, 0x15, 0x21, 0xb4, 0x13, 0x30, 0xf7, 0xb +db 0x2d, 0xff, 0x7, 0x2d, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2d, 0xff, 0x2, 0x30, 0xdc, 0x18, 0x1c, 0x4a, 0x25, 0x7c, 0x73, 0x7b +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xfe, 0xfe, 0xab, 0xac, 0xad, 0x11, 0x9, 0x12, 0x21, 0x63, 0x1b +db 0x40, 0xfc, 0x21, 0x2d, 0xfe, 0x4, 0x2f, 0xfd, 0x7, 0x2d, 0xfe, 0x3 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2f, 0xfd, 0x6 +db 0x2f, 0xfd, 0x7, 0x2f, 0xfb, 0x6, 0x30, 0xf1, 0xf, 0x49, 0xd0, 0x36 +db 0x34, 0x90, 0x21, 0x19, 0x22, 0x1a, 0x43, 0x43, 0x45, 0x9d, 0x9e, 0x9e +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xd5, 0xd5, 0x37, 0x30, 0x35 +db 0x28, 0x6e, 0x3a, 0x43, 0xe4, 0x2e, 0x2f, 0xfb, 0x7, 0x2c, 0xff, 0x2 +db 0x29, 0xff, 0x2, 0x28, 0xff, 0x2, 0x2c, 0xff, 0x3, 0x2a, 0xff, 0x2 +db 0x31, 0xff, 0xb, 0x32, 0xb1, 0x19, 0x32, 0x3a, 0x2f, 0xba, 0xb6, 0xba +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf4, 0xf7, 0xf8, 0x81, 0x86, 0x88, 0x2, 0x9, 0x2 +db 0x2c, 0x89, 0x21, 0x3c, 0xfe, 0x1a, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xfe, 0x3 +db 0x36, 0xf7, 0x10, 0x43, 0xc8, 0x3f, 0x17, 0x5c, 0x23, 0x47, 0x5d, 0x4f +db 0xe2, 0xea, 0xec, 0xe7, 0xf1, 0xf2, 0x5d, 0x5e, 0x65, 0x21, 0x49, 0x1c +db 0x32, 0xd7, 0x1a, 0x2c, 0xff, 0x7, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x3 +db 0x37, 0xf7, 0x13, 0x43, 0xe1, 0x27, 0x3a, 0xf4, 0x1e, 0x2a, 0xff, 0x2 +db 0x2b, 0xf9, 0x2, 0x18, 0x8c, 0x3, 0x17, 0xd, 0x18, 0xa3, 0xa1, 0xa2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd +db 0xf3, 0xf5, 0xf5, 0xa6, 0xae, 0xb0, 0x29, 0x38, 0x37, 0x9, 0x10, 0x6 +db 0x1b, 0x50, 0x28, 0x31, 0xd7, 0x21, 0x2d, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2f, 0xfd, 0x6 +db 0x2c, 0xf6, 0x7, 0x2c, 0xf6, 0x7, 0x2e, 0xfc, 0x5, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xdd, 0x1a, 0x2d, 0x6f, 0x39 +db 0x9f, 0xa7, 0x9f, 0xd5, 0xd3, 0xd7, 0x39, 0x35, 0x3a, 0x35, 0xa2, 0x25 +db 0x31, 0xfd, 0xe, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x3, 0x2f, 0xf0, 0xb +db 0x47, 0xc3, 0x41, 0x3a, 0xec, 0x17, 0x2c, 0xff, 0x4, 0x2b, 0xff, 0x2 +db 0x2d, 0xed, 0x15, 0x20, 0x75, 0x2b, 0x3b, 0x44, 0x3d, 0xd2, 0xd3, 0xd7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9, 0xc6, 0xc8, 0xc8 +db 0x76, 0x78, 0x7b, 0xe, 0x17, 0xe, 0x1e, 0x59, 0x14, 0x3e, 0xcc, 0x24 +db 0x22, 0x9c, 0xd, 0x31, 0x88, 0x1f, 0x3a, 0xe5, 0x17, 0x2d, 0xff, 0x3 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x47, 0xe7, 0x30 +db 0x32, 0xa2, 0x40, 0x37, 0x9e, 0x45, 0x3f, 0xbe, 0x25, 0x25, 0xe6, 0x2 +db 0x2f, 0xf6, 0xc, 0x2f, 0xfe, 0x6, 0x2b, 0xff, 0x2, 0x2a, 0xd7, 0x1a +db 0x6b, 0xa8, 0x83, 0x61, 0x5d, 0x6a, 0x27, 0x4e, 0x20, 0x36, 0xdb, 0x18 +db 0x2f, 0xff, 0x7, 0x2a, 0xff, 0x2, 0x3e, 0xf5, 0x18, 0x14, 0x4f, 0x6 +db 0x2e, 0xa1, 0x37, 0x28, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2e, 0xff, 0x5 +db 0x34, 0xdc, 0x18, 0x25, 0x51, 0x21, 0x7f, 0x77, 0x80, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfb, 0xcd, 0xcd, 0xcd, 0x30, 0x33, 0x2e +db 0x9, 0x23, 0xb, 0x27, 0x90, 0x28, 0x49, 0xfc, 0x2d, 0x38, 0xff, 0xe +db 0x31, 0xf0, 0x1a, 0x11, 0x51, 0x10, 0x2c, 0x6c, 0x1c, 0x39, 0xea, 0x18 +db 0x2d, 0xff, 0x4, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x2d, 0xfe, 0x3, 0x42, 0xc9, 0x24, 0xb, 0x2c, 0x7, 0xa, 0x24, 0xe +db 0x33, 0x92, 0x3f, 0x3f, 0xd7, 0x23, 0x2e, 0xff, 0x2, 0x3b, 0xff, 0x15 +db 0x40, 0x99, 0x34, 0x1c, 0x1d, 0x22, 0x3b, 0x9e, 0x2e, 0x33, 0xfd, 0x10 +db 0x2b, 0xff, 0x2, 0x2b, 0xf1, 0x9, 0x28, 0x75, 0x19, 0x28, 0x65, 0x1b +db 0x3a, 0xff, 0x11, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x32, 0xfe, 0xd +db 0x36, 0xac, 0x25, 0x25, 0x28, 0x29, 0xb7, 0xbb, 0xbd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfe, 0xfe, 0xcd, 0xcb, 0xcb, 0x44, 0x47, 0x46, 0x21, 0x57, 0x23 +db 0x2b, 0xb6, 0x16, 0x29, 0xfd, 0x5, 0x28, 0xff, 0x2, 0x27, 0xff, 0x2 +db 0x31, 0xff, 0x7, 0x25, 0xb0, 0xa, 0x3, 0x22, 0x2, 0x2b, 0x79, 0x22 +db 0x3a, 0xef, 0x1a, 0x2c, 0xff, 0x4, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x5, 0x41, 0xe1, 0x27, 0xf, 0x50, 0x2 +db 0x10, 0x31, 0x8, 0x13, 0x37, 0xe, 0x35, 0xb7, 0x1b, 0x1e, 0xcf, 0x2 +db 0x2a, 0x82, 0x1a, 0x2e, 0x46, 0x2c, 0x38, 0xcd, 0x1b, 0x2e, 0xff, 0x5 +db 0x35, 0xff, 0x10, 0x30, 0x84, 0x20, 0x6, 0xe, 0x5, 0x44, 0xd8, 0x2f +db 0x28, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x31, 0xf7, 0x10 +db 0x2b, 0x8d, 0x2d, 0x29, 0x2e, 0x34, 0xc4, 0xd3, 0xd4, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe2, 0xe8, 0xe8, 0x6b, 0x6b, 0x69, 0x6, 0x30, 0x5, 0x3e, 0xdd, 0x3a +db 0x3c, 0xff, 0x13, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2f, 0xf9, 0xa +db 0x32, 0xf6, 0x10, 0x36, 0xff, 0x10, 0x25, 0xb1, 0xc, 0x2, 0x22, 0x2 +db 0x2b, 0x79, 0x21, 0x3b, 0xf0, 0x1b, 0x2c, 0xff, 0x3, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x36, 0xff, 0xa +db 0x3e, 0xc8, 0x24, 0x12, 0x39, 0xe, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2 +db 0x3d, 0x47, 0x3f, 0x4a, 0x64, 0x4a, 0x2a, 0x97, 0x12, 0x2b, 0xec, 0x3 +db 0x34, 0xc4, 0x31, 0x8, 0x25, 0x9, 0x24, 0x6c, 0x1a, 0x38, 0xfb, 0x17 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2b, 0xe4, 0x12 +db 0x1a, 0x58, 0x29, 0x4b, 0x45, 0x4b, 0xf5, 0xf5, 0xf6, 0xff, 0xff, 0xff +db 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xea, 0xeb, 0xeb, 0xe6, 0xe6, 0xe6 +db 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xaa, 0xb9, 0xb9, 0x13, 0x1e, 0x11, 0x35, 0xb3, 0x23, 0x2f, 0xff, 0x8 +db 0x27, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x37, 0xf7, 0x14, 0x45, 0xe0, 0x2b +db 0x41, 0xe8, 0x24, 0x2f, 0xfd, 0xa, 0x33, 0xff, 0x6, 0x24, 0x8f, 0x22 +db 0x2, 0xc, 0x6, 0x28, 0x76, 0x1d, 0x3c, 0xeb, 0x19, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x32, 0xff, 0xb, 0x3d, 0xd3, 0x25, 0x12, 0x37, 0xe, 0x2, 0x2, 0x2 +db 0x42, 0x45, 0x49, 0x60, 0x6f, 0x69, 0x5d, 0x5f, 0x64, 0x33, 0x78, 0x27 +db 0x10, 0x40, 0x13, 0x2, 0x10, 0x4, 0x43, 0xd2, 0x2e, 0x2a, 0xfd, 0x5 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x3, 0x32, 0xfc, 0x12, 0x2c, 0xb6, 0x2a +db 0x1c, 0x2a, 0x24, 0x7f, 0x7d, 0x81, 0xd7, 0xda, 0xdb, 0xba, 0xc6, 0xca +db 0xab, 0xae, 0xb6, 0x94, 0x90, 0x93, 0x5b, 0x5e, 0x5e, 0xae, 0xaf, 0xb0 +db 0xf7, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x76, 0x75, 0x73, 0x12, 0x41, 0xa, 0x45, 0xff, 0x26, 0x28, 0xff, 0x2 +db 0x2f, 0xff, 0x5, 0x2e, 0xe5, 0x9, 0x2c, 0x9c, 0x24, 0x3c, 0xc5, 0x34 +db 0x2e, 0xff, 0x4, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x37, 0xc4, 0x39 +db 0x1d, 0x31, 0x21, 0xd, 0xc, 0xc, 0x28, 0x6c, 0x19, 0x30, 0xd1, 0x25 +db 0x2d, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2e, 0xff, 0x2, 0x2e, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x3d, 0xff, 0x18, 0x37, 0x98, 0x2a, 0x2, 0x2, 0x2 +db 0x2, 0x7, 0x8, 0x4b, 0x5c, 0x5c, 0xce, 0xd6, 0xd6, 0x58, 0x51, 0x5a +db 0x2, 0x2, 0x2, 0x23, 0x5a, 0x1b, 0x3a, 0xf4, 0x16, 0x29, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x2d, 0xfe, 0x7, 0x41, 0xd6, 0x2c, 0x20, 0x51, 0x2e +db 0x20, 0x1f, 0x21, 0x4f, 0x49, 0x54, 0x34, 0x32, 0x3a, 0x34, 0x51, 0x41 +db 0x2c, 0x5f, 0x2d, 0xa, 0x1b, 0x6, 0x19, 0x1a, 0x1d, 0xc8, 0xc9, 0xc9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x21, 0x26, 0x21, 0x38, 0xaf, 0x26, 0x31, 0xff, 0x9, 0x29, 0xff, 0x2 +db 0x2f, 0xf6, 0xa, 0x30, 0x8e, 0x1a, 0x1f, 0x62, 0x18, 0x32, 0xec, 0x1a +db 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x3b, 0xff, 0x14, 0x24, 0x85, 0x14 +db 0x44, 0x4d, 0x43, 0x9b, 0x9a, 0x9d, 0x2f, 0x33, 0x2e, 0x21, 0x56, 0x2b +db 0x24, 0x96, 0xf, 0x38, 0xd1, 0x2b, 0x1d, 0x94, 0x7, 0x1a, 0x9a, 0x2 +db 0x1c, 0x9a, 0x3, 0x24, 0x92, 0x14, 0x20, 0x53, 0x24, 0x12, 0x19, 0x24 +db 0x26, 0x30, 0x33, 0x74, 0x88, 0x88, 0xcd, 0xd6, 0xd6, 0x4a, 0x45, 0x47 +db 0x2, 0x2, 0x2, 0x32, 0x9c, 0x1c, 0x2d, 0xfb, 0x4, 0x32, 0xff, 0xa +db 0x34, 0xff, 0xa, 0x45, 0xe9, 0x2a, 0x23, 0x5c, 0x15, 0x5, 0x2, 0x9 +db 0x11, 0x1b, 0x1a, 0xc, 0x3c, 0x5, 0xd, 0x6a, 0x2, 0x14, 0xa2, 0x2 +db 0x2e, 0xcb, 0x1c, 0x10, 0x49, 0xc, 0x53, 0x5d, 0x62, 0xe4, 0xe9, 0xe9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x21, 0x4c, 0x1d, 0x44, 0xf6, 0x27, 0x28, 0xff, 0x2, 0x32, 0xf6, 0x7 +db 0x2b, 0x8c, 0x1a, 0x1d, 0x3e, 0x17, 0x3a, 0xcb, 0x20, 0x2f, 0xff, 0x3 +db 0x2b, 0xff, 0x2, 0x29, 0xff, 0x2, 0x43, 0xfb, 0x28, 0x10, 0x41, 0x9 +db 0x61, 0x72, 0x72, 0xfa, 0xff, 0xff, 0x58, 0x54, 0x59, 0x22, 0x29, 0x26 +db 0x6, 0x2, 0x7, 0x14, 0x26, 0x1b, 0x4, 0x10, 0x2, 0x4, 0x12, 0x2 +db 0x5, 0x11, 0x3, 0x6, 0xb, 0x7, 0x6, 0xd, 0xc, 0x10, 0x21, 0x1b +db 0x14, 0x1c, 0x17, 0x2b, 0x2d, 0x2d, 0x40, 0x42, 0x42, 0x3b, 0x44, 0x47 +db 0x9, 0x7, 0xe, 0x10, 0x63, 0x2, 0x37, 0xd1, 0x33, 0x3a, 0xd7, 0x1c +db 0x23, 0xa3, 0xb, 0x21, 0x53, 0x19, 0xb, 0x10, 0x12, 0x2c, 0x5f, 0x2a +db 0x23, 0xaf, 0xd, 0x26, 0xd4, 0x2, 0x2c, 0xf6, 0x2, 0x2d, 0xff, 0x2 +db 0x38, 0xeb, 0x22, 0xc, 0x40, 0xc, 0x6f, 0x73, 0x78, 0xef, 0xf2, 0xf3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2a, 0x6a, 0x1d, 0x35, 0xff, 0x6, 0x2f, 0xfe, 0x9, 0x36, 0xc6, 0x28 +db 0x10, 0x29, 0xc, 0x21, 0x69, 0x14, 0x40, 0xff, 0x1d, 0x29, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x35, 0xe0, 0x2a, 0x19, 0x41, 0x1b +db 0x3a, 0x3f, 0x43, 0x71, 0x6c, 0x72, 0x1c, 0x23, 0x1b, 0xf, 0x16, 0x10 +db 0x23, 0x61, 0x34, 0x36, 0x8b, 0x25, 0x35, 0xaa, 0x24, 0x1e, 0xbb, 0x2 +db 0x20, 0xba, 0x2, 0x20, 0xba, 0x2, 0x1f, 0xbb, 0x2, 0x2e, 0xc0, 0x13 +db 0x1a, 0x4e, 0x11, 0x2, 0x2, 0x2, 0x76, 0x77, 0x77, 0xc5, 0xca, 0xca +db 0x57, 0x5b, 0x5e, 0x12, 0x2b, 0x14, 0xb, 0x2f, 0x13, 0x13, 0x3c, 0x10 +db 0x5, 0x15, 0x4, 0x5, 0x9, 0xa, 0x33, 0x85, 0x3c, 0x47, 0xeb, 0x2b +db 0x2d, 0xff, 0x2, 0x2e, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2f, 0xff, 0x6 +db 0x34, 0xd5, 0x26, 0x28, 0x4d, 0x2c, 0xae, 0xa8, 0xae, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x35, 0x54, 0x31, 0x29, 0x7e, 0x1a, 0x2a, 0xd3, 0xd, 0x1b, 0x5a, 0x26 +db 0xf, 0x2b, 0xb, 0x3b, 0xd3, 0x25, 0x2e, 0xff, 0x6, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x3, 0x2e, 0xa7, 0x38, 0x16, 0x25, 0x21 +db 0x6, 0xa, 0x3, 0x29, 0x63, 0x3c, 0x3c, 0xab, 0x2f, 0x22, 0xc6, 0x4 +db 0x2e, 0xe9, 0x14, 0x36, 0xf9, 0xf, 0x34, 0xfe, 0xe, 0x2c, 0xff, 0x2 +db 0x2d, 0xff, 0x2, 0x2d, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x36, 0xeb, 0x26 +db 0x16, 0x47, 0x1d, 0x34, 0x3c, 0x41, 0xd2, 0xda, 0xdb, 0xff, 0xff, 0xff +db 0xcd, 0xd3, 0xd4, 0x98, 0x9e, 0x9f, 0x63, 0x66, 0x6a, 0x18, 0x1e, 0x23 +db 0xe, 0x2d, 0xc, 0x1f, 0xa7, 0xe, 0x31, 0xf4, 0x11, 0x30, 0xff, 0x8 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x2 +db 0x30, 0xcb, 0x23, 0x15, 0x35, 0x1c, 0xa6, 0xa0, 0xa5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xb0, 0xb6, 0xb0, 0x8f, 0x97, 0x8e, 0xd, 0x2b, 0x8, 0x5, 0x13, 0x6 +db 0x1e, 0x68, 0x13, 0x42, 0xff, 0x20, 0x28, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x32, 0xff, 0x9, 0x43, 0xea, 0x3c, 0x1d, 0x4d, 0x27, 0x2, 0x2, 0x2 +db 0x34, 0x95, 0x27, 0x30, 0xe5, 0x15, 0x33, 0xfb, 0xe, 0x2d, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x3a, 0xff, 0x15, 0x2e, 0x9a, 0x21 +db 0x2, 0x6, 0x2, 0x87, 0x89, 0x8c, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xc7, 0xc5, 0xc6, 0x2d, 0x2a, 0x30, 0x31, 0x80, 0x43 +db 0x41, 0xde, 0x25, 0x2b, 0xfa, 0x3, 0x2b, 0xff, 0x2, 0x27, 0xff, 0x2 +db 0x28, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x29, 0xff, 0x2, 0x38, 0xff, 0x10 +db 0x29, 0x93, 0x13, 0x3e, 0x44, 0x3b, 0xcc, 0xc9, 0xcb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf8, 0xf8, 0xf8, 0xd4, 0xd5, 0xd4, 0x19, 0x17, 0x19, 0xc, 0x21, 0x9 +db 0x3d, 0xc2, 0x25, 0x2d, 0xff, 0x2, 0x28, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x41, 0xf1, 0x23, 0x29, 0x61, 0x24, 0x2, 0x3, 0x2, 0x34, 0x94, 0x27 +db 0x36, 0xf5, 0x14, 0x2c, 0xff, 0x3, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x31, 0xe3, 0x1f, 0x24, 0x59, 0x31 +db 0x2c, 0x25, 0x2a, 0xbd, 0xbc, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd9, 0xe7, 0xe7, 0x54, 0x54, 0x58, 0x20, 0x4f, 0x1a, 0x36, 0xe4, 0x1e +db 0x2d, 0xff, 0x7, 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x3, 0x37, 0xf7, 0x12 +db 0x42, 0xe4, 0x26, 0x36, 0xf7, 0x17, 0x2a, 0xff, 0x2, 0x2c, 0xfa, 0x2 +db 0x12, 0x68, 0x2, 0x20, 0x18, 0x20, 0xc3, 0xc2, 0xc2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf9, 0xf9, 0xf9, 0x8f, 0x8c, 0x8d, 0x4, 0x4, 0x4, 0xa, 0x2d, 0x4 +db 0x30, 0xd3, 0xe, 0x33, 0xff, 0x9, 0x36, 0xff, 0xe, 0x43, 0xf7, 0x22 +db 0x3d, 0x96, 0x3d, 0xb, 0x20, 0x14, 0x31, 0x91, 0x25, 0x37, 0xf7, 0x15 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x3 +db 0x4a, 0xe5, 0x32, 0x49, 0xd4, 0x2f, 0x45, 0xeb, 0x2c, 0x2a, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x39, 0xf8, 0x13, 0x33, 0x8e, 0x21, 0x2, 0x9, 0x2 +db 0x41, 0x44, 0x48, 0xcb, 0xd0, 0xd1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xcb, 0xcd, 0xcf, 0x24, 0x23, 0x24, 0x40, 0xbe, 0x2e, 0x2c, 0xfd, 0x8 +db 0x2c, 0xff, 0x2, 0x29, 0xff, 0x2, 0x36, 0xf7, 0x14, 0x49, 0xcb, 0x3d +db 0x39, 0xee, 0x16, 0x2c, 0xff, 0x4, 0x2a, 0xff, 0x2, 0x2f, 0xe6, 0x20 +db 0x13, 0x5a, 0x19, 0x4a, 0x52, 0x4d, 0xdc, 0xdd, 0xdf, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xfc, 0xfc, 0xb3, 0xc0, 0xc0, 0x4d, 0x5d, 0x60, 0x8, 0x15, 0x4 +db 0x1b, 0x71, 0x19, 0x3b, 0xb2, 0x3f, 0x25, 0x8e, 0x10, 0xd, 0x3e, 0x4 +db 0x7, 0x12, 0x9, 0x35, 0x88, 0x26, 0x39, 0xf6, 0x14, 0x2b, 0xff, 0x2 +db 0x2e, 0xfe, 0x4, 0x29, 0xf6, 0x2, 0x45, 0xce, 0x2a, 0x10, 0x39, 0x8 +db 0x31, 0xa4, 0x3e, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x3, 0x2c, 0xff, 0x2 +db 0x2d, 0xff, 0x3, 0x1e, 0xb0, 0x3, 0x11, 0x15, 0x12, 0x24, 0x24, 0x27 +db 0x5d, 0x61, 0x62, 0xda, 0xdd, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x6a, 0x63, 0x69, 0x23, 0x58, 0x1c, 0x3a, 0xee, 0x1a, 0x2c, 0xff, 0x4 +db 0x2c, 0xff, 0x4, 0x3b, 0xe5, 0x18, 0x15, 0x50, 0xc, 0x2f, 0xb2, 0x35 +db 0x29, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x30, 0xff, 0x6, 0x32, 0xcd, 0x1b +db 0x1d, 0x40, 0x1b, 0x9d, 0x99, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf6, 0xf7, 0xf7, 0xf4, 0xf7, 0xf7, 0xd3, 0xd3, 0xd4, 0x56, 0x5e, 0x5e +db 0x25, 0x2b, 0x28, 0x17, 0x18, 0x19, 0x1d, 0x21, 0x22, 0x33, 0x2f, 0x32 +db 0x38, 0x3a, 0x3b, 0x26, 0xa4, 0x10, 0x2b, 0xff, 0x2, 0x2b, 0xfe, 0x5 +db 0x43, 0xd2, 0x28, 0x10, 0x34, 0x9, 0xa, 0x2c, 0x6, 0x45, 0xce, 0x2a +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x2 +db 0x30, 0xde, 0x1a, 0x20, 0x5d, 0x30, 0x12, 0x1b, 0xe, 0x25, 0x26, 0x29 +db 0x8b, 0x93, 0x93, 0xf8, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xf0, 0xf7, 0xfa +db 0x3e, 0x41, 0x43, 0x41, 0xbb, 0x30, 0x2c, 0xfb, 0x8, 0x2c, 0xff, 0x2 +db 0x2a, 0xe8, 0xa, 0x2b, 0x71, 0x1e, 0x27, 0x72, 0x17, 0x3b, 0xff, 0x11 +db 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x39, 0xff, 0x16, 0x28, 0x85, 0x19 +db 0x36, 0x3a, 0x3b, 0xcb, 0xcd, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x81, 0x95, 0x96, 0x8a, 0x9c, 0x9d, 0xca, 0xc9, 0xca, 0xc1, 0xcb, 0xcc +db 0xc7, 0xce, 0xd1, 0xc2, 0xcb, 0xcd, 0xaa, 0xb0, 0xb2, 0xeb, 0xe8, 0xea +db 0xa3, 0xb0, 0xa4, 0x18, 0x1e, 0x1a, 0x1a, 0x9e, 0x2, 0x2d, 0xa7, 0x32 +db 0xa, 0x2a, 0xd, 0xc, 0x30, 0x7, 0x45, 0xde, 0x2e, 0x2d, 0xff, 0x3 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x3, 0x37, 0xf3, 0x15 +db 0x33, 0x91, 0x27, 0x21, 0x25, 0x1f, 0x5f, 0x5e, 0x61, 0x61, 0x63, 0x63 +db 0xad, 0xb0, 0xb0, 0xed, 0xee, 0xee, 0xeb, 0xed, 0xed, 0xad, 0xbb, 0xc1 +db 0x3c, 0x63, 0x3e, 0x3b, 0xe2, 0x1b, 0x2b, 0xff, 0x4, 0x36, 0xf8, 0xe +db 0x2f, 0x73, 0x22, 0x9, 0x1b, 0x7, 0x47, 0xeb, 0x2d, 0x28, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x37, 0xf5, 0x1c, 0x1e, 0x67, 0x1d +db 0x3f, 0x49, 0x4e, 0xd5, 0xdf, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x6, 0x25, 0x0, 0x7, 0x20, 0x2, 0x5, 0x14, 0x7, 0x3b, 0x40, 0x3e +db 0x98, 0xa5, 0xa8, 0xe1, 0xe2, 0xe3, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe0, 0xe4, 0xe8, 0x4c, 0x5a, 0x50, 0x2, 0xb, 0x2, 0x2, 0xe, 0x2 +db 0xe, 0x35, 0xa, 0x42, 0xdb, 0x2c, 0x2d, 0xff, 0x5, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x31, 0xfb, 0xb, 0x3a, 0xa5, 0x33 +db 0xe, 0xf, 0xf, 0x90, 0x94, 0x97, 0xa2, 0xa4, 0xa3, 0x46, 0x43, 0x42 +db 0x8a, 0x89, 0x8a, 0x6b, 0x67, 0x69, 0x57, 0x61, 0x61, 0x41, 0x5d, 0x52 +db 0x1c, 0x41, 0x19, 0x23, 0xb8, 0x3, 0x2a, 0xf1, 0x2, 0x33, 0xba, 0x36 +db 0x6, 0x20, 0x3, 0x27, 0x7e, 0x19, 0x3b, 0xff, 0x16, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2c, 0xd8, 0x1d, 0xf, 0x41, 0x1b +db 0x68, 0x64, 0x6a, 0xf3, 0xf4, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x47, 0xfb, 0x2a, 0x45, 0xe7, 0x29, 0x2d, 0xac, 0x32, 0x12, 0x44, 0x7 +db 0xd, 0x22, 0x6, 0x3e, 0x43, 0x45, 0xa3, 0xad, 0xaf, 0xf2, 0xf0, 0xf0 +db 0xb5, 0xb5, 0xb5, 0x29, 0x28, 0x29, 0x2, 0x2, 0x2, 0x10, 0x2f, 0xa +db 0x41, 0xd6, 0x2a, 0x2f, 0xff, 0x8, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x2c, 0xfe, 0x3, 0x2d, 0xd3, 0x1d, 0x1a, 0x4f, 0x2a +db 0x40, 0x3e, 0x45, 0xbe, 0xd4, 0xd6, 0x4d, 0x5a, 0x5d, 0x6, 0x2, 0x6 +db 0xc, 0x15, 0xc, 0x4, 0x21, 0x2, 0x5, 0x41, 0x2, 0x10, 0x83, 0x2 +db 0x1d, 0x6f, 0x14, 0x9, 0x16, 0xc, 0x19, 0x7e, 0x8, 0x11, 0x3c, 0x18 +db 0x8, 0x1f, 0x7, 0x45, 0xea, 0x2f, 0x27, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x3, 0x32, 0xfd, 0x14, 0x24, 0x9b, 0x23, 0x14, 0x1e, 0x1d +db 0x84, 0x82, 0x86, 0xd1, 0xd0, 0xd1, 0xdf, 0xe3, 0xe4, 0xe9, 0xf0, 0xf2 +db 0xfb, 0xfc, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x28, 0xff, 0x0, 0x2a, 0xff, 0x2, 0x30, 0xff, 0x7, 0x47, 0xfd, 0x29 +db 0x3a, 0xca, 0x1d, 0x21, 0x54, 0x20, 0x1f, 0x31, 0x24, 0x78, 0x7e, 0x7b +db 0x87, 0x90, 0x91, 0x7, 0x6, 0xb, 0x2, 0x5, 0x2, 0x36, 0xbc, 0x1a +db 0x2f, 0xff, 0x8, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x3a, 0xfd, 0x18, 0x2b, 0xce, 0x1e, 0x1b, 0x50, 0x2a, 0x27, 0x2d, 0x24 +db 0x8c, 0x8b, 0x8f, 0x71, 0x75, 0x7a, 0x9, 0x1b, 0x14, 0x10, 0x41, 0x7 +db 0x16, 0x81, 0x2, 0x23, 0xc4, 0x2, 0x2b, 0xf7, 0x2, 0x2f, 0xff, 0x2 +db 0x41, 0xd2, 0x34, 0x23, 0x3a, 0x22, 0x14, 0xd, 0x18, 0x2, 0x2, 0x2 +db 0x26, 0x72, 0x1a, 0x3c, 0xff, 0x15, 0x28, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x32, 0xff, 0xc, 0x3e, 0xc9, 0x31, 0x14, 0x3e, 0x20, 0x15, 0x13, 0x17 +db 0x26, 0x28, 0x29, 0x11, 0x11, 0x10, 0x46, 0x52, 0x51, 0x5c, 0x72, 0x6d +db 0x88, 0x8e, 0x8c, 0x90, 0x90, 0x90, 0xa3, 0xa6, 0xa6, 0xf3, 0xf3, 0xf3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x29, 0xff, 0x0, 0x2b, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x32, 0xff, 0xa, 0x3f, 0xf2, 0x28, 0x1d, 0x91, 0x20, 0x3c, 0x5b, 0x47 +db 0x66, 0x76, 0x75, 0x27, 0x29, 0x2c, 0x2, 0x5, 0x2, 0x21, 0xa8, 0x17 +db 0x3d, 0xfc, 0x1f, 0x30, 0xff, 0x5, 0x3d, 0xff, 0x1a, 0x3d, 0xf6, 0x19 +db 0x2d, 0x8b, 0x22, 0x2e, 0x59, 0x3c, 0x20, 0x25, 0x1b, 0x5e, 0x5b, 0x60 +db 0x5c, 0x5a, 0x63, 0xd, 0x26, 0x11, 0x32, 0x8f, 0x23, 0x3c, 0xe8, 0x1d +db 0x30, 0xff, 0x3, 0x30, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x30, 0xff, 0x7 +db 0x36, 0xc1, 0x2d, 0x2c, 0x3a, 0x2b, 0x18, 0x16, 0x16, 0x4, 0xa, 0x4 +db 0x3c, 0xbd, 0x22, 0x2c, 0xff, 0x2, 0x31, 0xff, 0x9, 0x36, 0xff, 0xe +db 0x41, 0xda, 0x26, 0x1e, 0x4b, 0x14, 0xa, 0x25, 0xb, 0x19, 0x78, 0xd +db 0x15, 0x83, 0x2, 0x12, 0x80, 0x2, 0xc, 0x7a, 0x2, 0x18, 0x79, 0x8 +db 0x6, 0x16, 0x3, 0x2, 0x2, 0x2, 0x6b, 0x6b, 0x6b, 0xec, 0xec, 0xec +db 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2d, 0xc4, 0x27, 0x2f, 0xcb, 0x25, 0x3f, 0xf7, 0x19, 0x2d, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x28, 0xff, 0x2, 0x2e, 0xf5, 0xf, 0x2e, 0xa0, 0x31 +db 0x32, 0x4d, 0x41, 0x40, 0x4b, 0x51, 0x25, 0x30, 0x28, 0xd, 0x2d, 0x19 +db 0x23, 0x6e, 0x1d, 0x17, 0x8d, 0x3, 0x26, 0x82, 0x19, 0x1d, 0x59, 0x11 +db 0x17, 0x1c, 0x16, 0x6c, 0x71, 0x78, 0x64, 0x61, 0x64, 0x35, 0x3a, 0x32 +db 0xb, 0x40, 0xa, 0x28, 0xb8, 0x1e, 0x40, 0xff, 0x1d, 0x34, 0xff, 0xb +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x30, 0xff, 0x5 +db 0x34, 0xb4, 0x33, 0x25, 0x36, 0x2a, 0x23, 0x30, 0x33, 0x4, 0x9, 0x4 +db 0x1d, 0x8c, 0x8, 0x3a, 0xe3, 0x2e, 0x37, 0xda, 0x16, 0x28, 0xa8, 0xf +db 0x24, 0x53, 0x1f, 0x12, 0x35, 0x12, 0x2e, 0xba, 0x1b, 0x2f, 0xff, 0x8 +db 0x2e, 0xff, 0x2, 0x2f, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x43, 0xf0, 0x38 +db 0x5, 0x23, 0x6, 0x54, 0x5e, 0x5f, 0xf2, 0xf4, 0xf4, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2d, 0xc9, 0x25, 0x41, 0xa4, 0x3e, 0x1d, 0x5c, 0x10, 0x1a, 0x93, 0xa +db 0x39, 0xe1, 0x2f, 0x3c, 0xff, 0x17, 0x27, 0xff, 0x2, 0x39, 0xef, 0x21 +db 0x23, 0x68, 0x2b, 0x6b, 0x7c, 0x7e, 0xb1, 0xb6, 0xb8, 0x6d, 0x73, 0x79 +db 0x1f, 0x25, 0x22, 0x14, 0x16, 0x14, 0x11, 0x15, 0x11, 0x4e, 0x54, 0x5e +db 0xac, 0xab, 0xad, 0xa4, 0xad, 0xaf, 0x34, 0x38, 0x37, 0x2c, 0x7a, 0x34 +db 0x36, 0xd8, 0x19, 0x29, 0xff, 0x2, 0x28, 0xff, 0x2, 0x26, 0xff, 0x2 +db 0x29, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x29, 0xff, 0x2, 0x3a, 0xff, 0x12 +db 0x24, 0x79, 0x19, 0x49, 0x54, 0x4d, 0x4f, 0x59, 0x5d, 0xa, 0xa, 0xf +db 0x9, 0x2a, 0xa, 0x17, 0x3f, 0x23, 0x14, 0x45, 0xd, 0x5, 0x16, 0x2 +db 0x7, 0x27, 0x9, 0x27, 0xae, 0x1f, 0x36, 0xff, 0xf, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x3d, 0xff, 0x15, 0x1f, 0x81, 0x1d +db 0x8, 0x13, 0xa, 0xb5, 0xc0, 0xc0, 0xfc, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2a, 0xff, 0x0, 0x39, 0xe6, 0x14, 0x29, 0x76, 0x20, 0x2, 0x6, 0x5 +db 0x16, 0x46, 0x1c, 0x30, 0x9a, 0x1e, 0x3e, 0xff, 0x16, 0x35, 0xff, 0x8 +db 0x1a, 0x86, 0x6, 0x8c, 0x90, 0x91, 0xff, 0xff, 0xff, 0xf0, 0xf8, 0xf7 +db 0xc1, 0xc3, 0xc4, 0xb9, 0xb8, 0xb9, 0xb9, 0xb7, 0xb9, 0xe1, 0xea, 0xeb +db 0xd2, 0xe0, 0xe0, 0x52, 0x54, 0x51, 0x11, 0x4c, 0xd, 0x3b, 0xef, 0x2a +db 0x34, 0xff, 0xa, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x3, 0x36, 0xf5, 0x11 +db 0x3c, 0xed, 0x1e, 0x30, 0xfb, 0xc, 0x2a, 0xff, 0x2, 0x31, 0xfa, 0x8 +db 0x11, 0x40, 0x5, 0x35, 0x30, 0x33, 0x20, 0x22, 0x1d, 0x39, 0x86, 0x39 +db 0x22, 0x82, 0x16, 0x24, 0x71, 0x1c, 0x11, 0x59, 0x11, 0x14, 0x75, 0x2 +db 0x1f, 0xc3, 0x4, 0x2a, 0xfd, 0x7, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x29, 0xff, 0x2, 0x39, 0xde, 0x32, 0x24, 0x48, 0x26 +db 0x8a, 0x89, 0x8a, 0xf3, 0xf4, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2a, 0xff, 0x0, 0x2c, 0xff, 0x3, 0x34, 0xf4, 0x10, 0x26, 0xb7, 0xa +db 0x2a, 0x6c, 0x1d, 0x4, 0x18, 0x4, 0x19, 0x5c, 0xc, 0xf, 0x68, 0x2 +db 0x9, 0x3f, 0x2, 0x9f, 0xa6, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xaf, 0xb6, 0xb7, 0x10, 0x1d, 0xd, 0x3e, 0xd0, 0x29, 0x2b, 0xff, 0x4 +db 0x29, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x3d, 0xf0, 0x1d, 0x48, 0xd8, 0x32 +db 0x3a, 0xee, 0x19, 0x2e, 0xff, 0x6, 0x2a, 0xff, 0x2, 0x30, 0xdc, 0x26 +db 0xf, 0x40, 0xf, 0x12, 0x12, 0x17, 0x37, 0x9b, 0x29, 0x38, 0xf3, 0x18 +db 0x2e, 0xf4, 0x9, 0x32, 0xf2, 0x11, 0x26, 0xed, 0x4, 0x31, 0xfc, 0x9 +db 0x47, 0xeb, 0x2a, 0x47, 0xdd, 0x2b, 0x3c, 0xf3, 0x1c, 0x2a, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x41, 0xff, 0x1a, 0x1f, 0x77, 0x17, 0x18, 0x21, 0x1a +db 0xd3, 0xd2, 0xd3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2a, 0xff, 0x0, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2e, 0xff, 0x3 +db 0x3a, 0xeb, 0x19, 0x2b, 0x7b, 0x22, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2 +db 0x3a, 0x41, 0x3d, 0xd0, 0xd5, 0xd2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfd +db 0x5a, 0x59, 0x57, 0x1a, 0x5b, 0x10, 0x40, 0xff, 0x1e, 0x2a, 0xff, 0x2 +db 0x31, 0xff, 0x7, 0x30, 0xd1, 0xc, 0x20, 0x6f, 0x20, 0x32, 0xc4, 0x2e +db 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2e, 0xff, 0x3, 0x36, 0xc3, 0x2a +db 0x10, 0x23, 0xf, 0x41, 0x87, 0x36, 0x37, 0xf4, 0x14, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x31, 0xfe, 0x7, 0x41, 0xcc, 0x23, 0x10, 0x4f, 0xe +db 0x3b, 0xbf, 0x3e, 0x34, 0xfc, 0xa, 0x31, 0xfc, 0x9, 0x2b, 0xff, 0x2 +db 0x2d, 0xff, 0x2, 0x1c, 0x95, 0x5, 0x1a, 0x27, 0x18, 0x98, 0x98, 0x99 +db 0xf5, 0xf5, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2a, 0xff, 0x0, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2d, 0xff, 0x3, 0x3a, 0xf2, 0x1a, 0x29, 0x71, 0x1f, 0x2, 0x2, 0x2 +db 0x12, 0x12, 0x12, 0xc4, 0xc2, 0xc4, 0xa4, 0xb1, 0xa3, 0x5e, 0x68, 0x5c +db 0x60, 0x6b, 0x5d, 0x59, 0x54, 0x59, 0xad, 0xbe, 0xc1, 0xda, 0xdf, 0xe3 +db 0x22, 0x2e, 0x24, 0x41, 0xcb, 0x2c, 0x2b, 0xff, 0x3, 0x29, 0xff, 0x2 +db 0x2c, 0xe9, 0xb, 0x2c, 0x73, 0x1d, 0x27, 0x7f, 0x17, 0x37, 0xff, 0x13 +db 0x2a, 0xff, 0x2, 0x29, 0xff, 0x2, 0x40, 0xff, 0x1d, 0x21, 0x6b, 0x16 +db 0x1e, 0x1c, 0x21, 0x32, 0xdb, 0x10, 0x2d, 0xff, 0x3, 0x2c, 0xff, 0x2 +db 0x45, 0xd7, 0x29, 0xb, 0x40, 0x2, 0x17, 0x45, 0xe, 0x41, 0xc4, 0x27 +db 0x2b, 0xf8, 0x8, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x32, 0xdf, 0x25, 0x11, 0x50, 0x17, 0x13, 0x18, 0x11, 0xc7, 0xc6, 0xc8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf7, 0xf9, 0xf9, 0xad, 0xbf, 0xc0, 0x5b, 0x58, 0x5a, 0x60, 0x5e, 0x60 +db 0x60, 0x5e, 0x60, 0x5c, 0x59, 0x5b, 0x83, 0x8a, 0x8c, 0xba, 0xd0, 0xd2 +db 0xdc, 0xe5, 0xe6, 0xfe, 0xfd, 0xfd, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2b, 0xff, 0x0, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x39, 0xff, 0x15, 0x39, 0x91, 0x2e, 0x2, 0x2, 0x2 +db 0x51, 0x5c, 0x5c, 0x78, 0x7d, 0x81, 0x4b, 0x49, 0x4a, 0x31, 0xc5, 0x14 +db 0x44, 0xdd, 0x2e, 0x4d, 0xc8, 0x36, 0x1c, 0x3c, 0x18, 0x3e, 0x51, 0x40 +db 0x10, 0x25, 0xf, 0x48, 0xf7, 0x2a, 0x28, 0xff, 0x2, 0x36, 0xed, 0xc +db 0x28, 0x67, 0x1c, 0x18, 0x3d, 0x13, 0x3f, 0xe6, 0x23, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x41, 0xf5, 0x2b, 0x16, 0x43, 0x12 +db 0x25, 0x3e, 0x3a, 0x43, 0x63, 0x42, 0x30, 0xf7, 0x8, 0x31, 0xaa, 0x3c +db 0xe, 0x35, 0x7, 0xb, 0x2f, 0x6, 0x45, 0xdd, 0x2e, 0x2d, 0xff, 0x3 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x3e, 0xff, 0x1b +db 0x26, 0x84, 0x1c, 0x12, 0x1b, 0x12, 0xa6, 0xa7, 0xa8, 0xfd, 0xfd, 0xfe +db 0xff, 0xff, 0xff, 0xfd, 0xfc, 0xfc, 0x65, 0x64, 0x65, 0x50, 0x52, 0x51 +db 0x1b, 0x19, 0x1b, 0x10, 0x13, 0x13, 0xa, 0x21, 0x6, 0xb, 0x20, 0x8 +db 0xb, 0x20, 0x8, 0xb, 0x1f, 0x7, 0x10, 0x25, 0xd, 0x18, 0x30, 0x16 +db 0x19, 0x25, 0x18, 0x15, 0x15, 0x15, 0x30, 0x30, 0x30, 0xc2, 0xc2, 0xc2 +db 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xb, 0x36, 0x4, 0x4a, 0xd5, 0x30, 0x44, 0xe8, 0x2c, 0x28, 0xfe, 0x2 +db 0x34, 0xf8, 0xf, 0x46, 0xc7, 0x46, 0x1f, 0x49, 0x36, 0x2, 0x2, 0x2 +db 0x3, 0x2, 0x2, 0x23, 0x38, 0x44, 0x47, 0xb3, 0x4d, 0x35, 0xf8, 0x10 +db 0x2d, 0xfe, 0x4, 0x2e, 0xfd, 0x5, 0x2a, 0xf4, 0x2, 0x47, 0xc8, 0x2d +db 0xa, 0x28, 0x4, 0x14, 0x5a, 0x6, 0x3a, 0xf1, 0x1c, 0x2f, 0xaf, 0x2f +db 0xa, 0x23, 0x5, 0x28, 0x88, 0x18, 0x3c, 0xff, 0x16, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x31, 0xd3, 0x2c, 0x6, 0x2a, 0xa +db 0x8b, 0x8d, 0x92, 0x59, 0x6d, 0x59, 0xf, 0x33, 0x8, 0x9, 0x29, 0x5 +db 0xb, 0x2f, 0x6, 0x46, 0xe1, 0x2f, 0x2d, 0xff, 0x3, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x3c, 0xfe, 0x19, 0x2b, 0x8b, 0x1f +db 0x15, 0x1e, 0x14, 0xa1, 0x9f, 0xa1, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe +db 0x6c, 0x6c, 0x6c, 0x48, 0x49, 0x4a, 0x11, 0x2a, 0xe, 0xa, 0x28, 0x6 +db 0x2f, 0x92, 0x40, 0x48, 0xc8, 0x2f, 0x42, 0xde, 0x2c, 0x27, 0xf4, 0x2 +db 0x2a, 0xf2, 0x2, 0x2a, 0xf2, 0x2, 0x28, 0xf4, 0x2, 0x3c, 0xf3, 0x1d +db 0x20, 0x5f, 0x19, 0x14, 0xc, 0x15, 0xab, 0xab, 0xab, 0xfb, 0xfb, 0xfb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x48, 0x49, 0x48, 0x14, 0x16, 0x14, 0x13, 0x2d, 0xf, 0xa, 0x22, 0x5 +db 0x11, 0x2a, 0x12, 0x14, 0x28, 0x20, 0x3, 0xf, 0x2, 0xb, 0x33, 0x5 +db 0xc, 0x35, 0x4, 0x8, 0x1a, 0x7, 0x2, 0xb, 0x2, 0x37, 0x90, 0x25 +db 0x35, 0xf1, 0x10, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x45, 0xdd, 0x30, 0xb, 0x2c, 0x5, 0xd, 0x33, 0xb, 0x20, 0x45, 0x27 +db 0x15, 0x3e, 0xf, 0x40, 0xee, 0x27, 0x29, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x2f, 0xfe, 0xf, 0x1f, 0x81, 0x21, 0x1b, 0x25, 0x21 +db 0xbe, 0xbe, 0xc0, 0x54, 0x54, 0x55, 0x7, 0x7, 0x7, 0xc, 0x30, 0x6 +db 0x47, 0xe7, 0x30, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2e, 0xd2, 0x22, 0x10, 0x3b, 0x1e +db 0x54, 0x5a, 0x61, 0xed, 0xf4, 0xf5, 0xc6, 0xd6, 0xd6, 0x53, 0x59, 0x5a +db 0x11, 0x29, 0xb, 0x29, 0x8b, 0x37, 0x47, 0xdf, 0x35, 0x2d, 0xfe, 0x5 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x2, 0x30, 0xd0, 0x25 +db 0xc, 0x32, 0x18, 0x5f, 0x68, 0x6d, 0xe9, 0xf1, 0xf1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xff, 0xff, 0xf1, 0xf3, 0xf3, 0xa1, 0xb4, 0xb5, 0x54, 0x52, 0x53 +db 0x45, 0x43, 0x45, 0x7, 0xb, 0x5, 0x17, 0x55, 0x1d, 0x31, 0xe1, 0x24 +db 0x3f, 0xf9, 0x15, 0x41, 0xc5, 0x3f, 0x1b, 0x5e, 0x1c, 0x2, 0x13, 0x2 +db 0x37, 0x8f, 0x25, 0x32, 0xe9, 0x12, 0x2c, 0xfe, 0x3, 0x2c, 0xff, 0x2 +db 0x2d, 0xff, 0x4, 0x44, 0xdb, 0x2f, 0xa, 0x26, 0x5, 0x6, 0xa, 0x5 +db 0x2a, 0x80, 0x1f, 0x3e, 0xff, 0x17, 0x28, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x37, 0xff, 0x10, 0x3e, 0xcd, 0x3d, 0x10, 0x3e, 0x18, 0x7e, 0x85, 0x84 +db 0x4b, 0x51, 0x52, 0x6, 0x5, 0x7, 0x5, 0x1c, 0x2, 0x45, 0xd3, 0x29 +db 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x3 +db 0x2f, 0xfd, 0x9, 0x2c, 0xcf, 0x1e, 0x19, 0x4f, 0x28, 0x23, 0x29, 0x1f +db 0xb5, 0xb6, 0xb7, 0xf9, 0xf9, 0xfb, 0x6b, 0x69, 0x6b, 0xe, 0x26, 0xb +db 0x3f, 0xc6, 0x2b, 0x32, 0xff, 0x9, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x3b, 0xfa, 0x1c, 0x2a, 0x7d, 0x22 +db 0x25, 0x26, 0x23, 0xbb, 0xbb, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xcd, 0xcb, 0xcc, 0x10, 0xf, 0xe, 0x12, 0x7d, 0x2, 0x2e, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x29, 0xff, 0x2, 0x44, 0xf9, 0x20, 0x1f, 0x75, 0xe +db 0x8, 0x2b, 0x8, 0x23, 0x65, 0x37, 0x32, 0xe9, 0x10, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2d, 0xfd, 0x5, 0x41, 0xc5, 0x28, 0xb, 0x26, 0xd +db 0x17, 0x61, 0x8, 0x30, 0xff, 0x4, 0x2c, 0xff, 0x3, 0x32, 0xff, 0xb +db 0x3a, 0xd3, 0x1f, 0x27, 0x4f, 0x20, 0x3f, 0x3e, 0x44, 0x85, 0x8f, 0x90 +db 0x41, 0x5c, 0x5c, 0xb, 0xf, 0x10, 0x5, 0x1a, 0x2, 0x2a, 0xe4, 0xd +db 0x32, 0xfc, 0xc, 0x2d, 0xff, 0x3, 0x33, 0xfd, 0xd, 0x36, 0xed, 0x13 +db 0x3e, 0xab, 0x3a, 0x20, 0x55, 0x2f, 0x24, 0x28, 0x20, 0xb6, 0xb4, 0xb7 +db 0xff, 0xff, 0xff, 0x76, 0x76, 0x78, 0xd, 0x26, 0x8, 0x3c, 0xc3, 0x29 +db 0x32, 0xff, 0xc, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x2 +db 0x32, 0xfb, 0xc, 0x32, 0xf5, 0xc, 0x31, 0xfa, 0xc, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2f, 0xff, 0x3, 0x2c, 0xc8, 0x1d, 0x26, 0x49, 0x33 +db 0xa5, 0x9e, 0xa3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc3, 0xc5, 0xc7, 0xa, 0x11, 0xf, 0x16, 0x78, 0x3, 0x34, 0xff, 0xa +db 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2d, 0xff, 0x2 +db 0x33, 0xd0, 0x30, 0x18, 0x55, 0x13, 0x39, 0x90, 0x26, 0x34, 0xf3, 0x12 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xf6, 0xc, 0x31, 0x8c, 0x3e +db 0x10, 0x42, 0x3, 0x38, 0xd7, 0x1a, 0x35, 0xee, 0x10, 0x39, 0xc8, 0x1f +db 0x27, 0x5d, 0x1d, 0x2b, 0x30, 0x2b, 0x62, 0x67, 0x68, 0x3c, 0x4c, 0x4c +db 0x4d, 0x64, 0x65, 0x49, 0x54, 0x55, 0x17, 0x28, 0x13, 0x21, 0x64, 0x33 +db 0x3b, 0xb1, 0x2a, 0x25, 0xc6, 0x6, 0x3f, 0xae, 0x2f, 0x2f, 0x7a, 0x20 +db 0x20, 0x21, 0x22, 0x61, 0x5f, 0x66, 0xb1, 0xaf, 0xb1, 0xff, 0xff, 0xff +db 0xc6, 0xd0, 0xd1, 0x37, 0x57, 0x39, 0x34, 0xba, 0x1f, 0x34, 0xff, 0xe +db 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x35, 0xf9, 0xe, 0x23, 0xc7, 0x3 +db 0x48, 0xcc, 0x3f, 0x46, 0xda, 0x29, 0x43, 0xed, 0x28, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x34, 0xe6, 0xf, 0x27, 0x60, 0x1b, 0x2d, 0x2f, 0x2c +db 0xc0, 0xbf, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc5, 0xc4, 0xc5, 0xc9, 0xc8, 0xc9, 0xea, 0xf2, 0xf2, 0xeb, 0xf3, 0xf3 +db 0xc0, 0xca, 0xcb, 0x29, 0x3b, 0x3a, 0x21, 0x5e, 0x1d, 0x3f, 0xf3, 0x27 +db 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x45, 0xff, 0x25, 0x12, 0x68, 0x2, 0x4b, 0xd3, 0x37 +db 0x2c, 0xfe, 0x3, 0x2c, 0xff, 0x2, 0x31, 0xff, 0x8, 0x3b, 0xcc, 0x26 +db 0xb, 0x24, 0x14, 0x15, 0x32, 0x14, 0x22, 0x6c, 0x14, 0x6, 0x20, 0x2 +db 0x10, 0x15, 0x1c, 0x42, 0x4a, 0x50, 0x39, 0x37, 0x35, 0x6c, 0x72, 0x73 +db 0xdc, 0xe5, 0xe6, 0xd5, 0xe7, 0xe7, 0x86, 0x87, 0x8a, 0x37, 0x36, 0x3d +db 0x13, 0x22, 0x19, 0x6, 0xa, 0x6, 0x5, 0x9, 0x3, 0x14, 0xb, 0x18 +db 0x57, 0x5a, 0x5d, 0xb7, 0xc6, 0xc7, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x9c, 0x9a, 0x9a, 0x3f, 0xa8, 0x2a, 0x34, 0xff, 0xe, 0x29, 0xff, 0x2 +db 0x37, 0xfd, 0x10, 0x23, 0xc5, 0x4, 0x35, 0x95, 0x21, 0x1c, 0x49, 0x14 +db 0x2d, 0xb5, 0x30, 0x29, 0xff, 0x2, 0x29, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2d, 0xff, 0x8, 0x1c, 0x98, 0xf, 0x9, 0x7, 0xb, 0x9b, 0x99, 0x9c +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x17, 0x18, 0x16, 0x1e, 0x23, 0x1f, 0x5e, 0x68, 0x71, 0x60, 0x69, 0x70 +db 0x5f, 0x62, 0x65, 0x2b, 0x27, 0x2d, 0x1c, 0x33, 0x25, 0x27, 0xa2, 0x29 +db 0x30, 0xf9, 0xe, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2e, 0xff, 0x2, 0x3f, 0xe2, 0x1d +db 0x2d, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2f, 0xf6, 0x11 +db 0x2e, 0x83, 0x37, 0x10, 0xc, 0x14, 0x3f, 0x3f, 0x4a, 0x28, 0x26, 0x2b +db 0x20, 0x2e, 0x2e, 0x4c, 0x51, 0x51, 0xa3, 0xa1, 0xa1, 0xf3, 0xf3, 0xf3 +db 0xff, 0xff, 0xff, 0xcd, 0xca, 0xcb, 0xba, 0xb8, 0xbb, 0x70, 0x78, 0x7d +db 0x25, 0x2c, 0x36, 0x9, 0xa, 0x8, 0xe, 0xd, 0x10, 0x1f, 0x23, 0x23 +db 0x23, 0x23, 0x22, 0x36, 0x3c, 0x3a, 0x61, 0x77, 0x73, 0x7e, 0x88, 0x86 +db 0x62, 0x5d, 0x61, 0x21, 0x6c, 0x14, 0x2c, 0xea, 0x8, 0x31, 0xf2, 0x19 +db 0x36, 0xa5, 0x25, 0x7, 0x17, 0x5, 0x18, 0x4d, 0x13, 0x43, 0xe6, 0x21 +db 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2f, 0xff, 0x6 +db 0x35, 0xd4, 0x22, 0x13, 0x3c, 0x21, 0x38, 0x3e, 0x36, 0xc6, 0xc5, 0xc7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x11, 0x85, 0x1, 0x24, 0x75, 0x19, 0x1a, 0x59, 0x10, 0x17, 0x4b, 0x10 +db 0x7, 0x23, 0x11, 0x9, 0x6, 0x8, 0xf, 0xb, 0x12, 0x11, 0x2d, 0x17 +db 0x1a, 0x79, 0x15, 0x32, 0xda, 0x13, 0x34, 0xff, 0xc, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x31, 0xff, 0x8 +db 0x35, 0xc9, 0x20, 0x24, 0x4a, 0x37, 0x42, 0x48, 0x4e, 0x31, 0x37, 0x37 +db 0x60, 0x6f, 0x70, 0xd7, 0xd9, 0xd9, 0xff, 0xff, 0xff, 0xc5, 0xc3, 0xc4 +db 0xa5, 0x9f, 0xa5, 0x28, 0x2b, 0x27, 0x15, 0x15, 0x15, 0xf, 0x33, 0x1a +db 0x24, 0x5b, 0x16, 0x28, 0x7e, 0x1a, 0x16, 0x8b, 0x2, 0x16, 0x88, 0x2 +db 0x15, 0x88, 0x2, 0x11, 0x84, 0x2, 0x14, 0x81, 0x6, 0x10, 0x3c, 0x6 +db 0x6, 0x2, 0x7, 0x24, 0x19, 0x26, 0x27, 0x72, 0x18, 0x21, 0x70, 0x26 +db 0x3, 0x11, 0x8, 0x21, 0x61, 0x18, 0x41, 0xf1, 0x23, 0x2c, 0xff, 0x3 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2f, 0xff, 0x6, 0x3b, 0xe1, 0x1e +db 0x23, 0x5f, 0x1b, 0x3b, 0x38, 0x38, 0xca, 0xc7, 0xca, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2c, 0xff, 0x2, 0x40, 0xff, 0x1f, 0x40, 0xfe, 0x1e, 0x3c, 0xf0, 0x1d +db 0x2f, 0xc0, 0x25, 0x31, 0x7e, 0x24, 0x25, 0x4a, 0x1e, 0x8, 0x5, 0x7 +db 0x2, 0x2, 0x2, 0x15, 0x41, 0xf, 0x2e, 0xb7, 0x27, 0x40, 0xf5, 0x27 +db 0x31, 0xff, 0x8, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x32, 0xf3, 0x13, 0x2f, 0x76, 0x31, 0x20, 0x16, 0x23, 0x7e, 0x86, 0x88 +db 0xde, 0xe4, 0xe5, 0xee, 0xf9, 0xf9, 0xb4, 0xb8, 0xba, 0x2f, 0x2f, 0x2e +db 0x23, 0x46, 0x32, 0x2b, 0x7e, 0x24, 0x17, 0x92, 0x2, 0x30, 0xd4, 0x23 +db 0x3f, 0xf6, 0x1c, 0x3e, 0xff, 0x1c, 0x2e, 0xff, 0x2, 0x2f, 0xff, 0x2 +db 0x2e, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x39, 0xf9, 0x20, 0x1f, 0x63, 0x22 +db 0x3c, 0x3a, 0x42, 0x69, 0x75, 0x6f, 0x19, 0x1c, 0x19, 0x2, 0x2, 0x2 +db 0x23, 0x64, 0x1b, 0x3f, 0xed, 0x21, 0x2d, 0xff, 0x4, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x30, 0xf9, 0xc, 0x33, 0x92, 0x39 +db 0x12, 0xe, 0x16, 0xab, 0xb3, 0xb6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2a, 0xff, 0x0, 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x30, 0xff, 0x8, 0x3e, 0xff, 0x1b, 0x3c, 0xd4, 0x1f, 0x34, 0x78, 0x39 +db 0x1b, 0x37, 0x2f, 0x10, 0x17, 0x17, 0x11, 0x27, 0x1b, 0x1a, 0x55, 0x15 +db 0x2d, 0xb6, 0x2b, 0x42, 0xec, 0x27, 0x31, 0xfe, 0x5, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x38, 0xfb, 0x13, 0x32, 0x8e, 0x22, 0x57, 0x59, 0x59, 0xfe, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xac, 0xb2, 0xb4, 0x22, 0x22, 0x27, 0x23, 0x66, 0x1a +db 0x2d, 0xc9, 0x20, 0x3b, 0xfa, 0x1b, 0x2f, 0xff, 0x5, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x35, 0xff, 0xd, 0x31, 0xb6, 0x23, 0xb, 0x1e, 0x10 +db 0x48, 0x50, 0x55, 0x51, 0x5c, 0x60, 0xd, 0x11, 0xe, 0x23, 0x5b, 0x18 +db 0x3d, 0xe7, 0x1e, 0x2d, 0xff, 0x5, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x2c, 0xfc, 0x5, 0x2d, 0xb4, 0x2e, 0xc, 0x32, 0x14 +db 0x4c, 0x48, 0x4f, 0xf5, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2a, 0xff, 0x0, 0x2a, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x31, 0xff, 0x9, 0x38, 0xf9, 0x19 +db 0x2c, 0xab, 0x36, 0x3c, 0x58, 0x48, 0x2b, 0x24, 0x27, 0x1b, 0x1a, 0x19 +db 0x11, 0x27, 0x19, 0x1e, 0x53, 0x15, 0x13, 0x6b, 0x2, 0x32, 0xc1, 0x31 +db 0x46, 0xf0, 0x26, 0x43, 0xfe, 0x25, 0x2a, 0xff, 0x2, 0x29, 0xff, 0x2 +db 0x2e, 0xff, 0x7, 0x1d, 0xa6, 0x5, 0x64, 0x67, 0x62, 0xff, 0xff, 0xff +db 0xc3, 0xc1, 0xc3, 0x32, 0x2d, 0x32, 0x23, 0x64, 0x1b, 0x3a, 0xe7, 0x1e +db 0x2f, 0xff, 0x6, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x29, 0xff, 0x2 +db 0x29, 0xff, 0x2, 0x29, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x32, 0xf1, 0x1b, 0x29, 0x6d, 0x31, 0x16, 0x13, 0x17 +db 0x42, 0x5a, 0x5b, 0x26, 0x38, 0x3d, 0x3, 0xb, 0x5, 0x2d, 0xc2, 0xc +db 0x2d, 0xff, 0x5, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x44, 0xfa, 0x29, 0x2a, 0xb3, 0x2d, 0xe, 0x35, 0x15, 0x3d, 0x3e, 0x3b +db 0xd8, 0xd8, 0xd9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2c, 0xfe, 0x3, 0x44, 0xe2, 0x2e, 0x2f, 0xaa, 0x39, 0x34, 0xbd, 0x34 +db 0x43, 0xf5, 0x1c, 0x2c, 0xff, 0x2, 0x29, 0xff, 0x2, 0x29, 0xff, 0x2 +db 0x2b, 0xfb, 0x5, 0x30, 0xb2, 0x2f, 0x70, 0x96, 0x86, 0xca, 0xcc, 0xcf +db 0x4f, 0x4b, 0x4f, 0x9, 0xd, 0x8, 0x2, 0x2, 0x2, 0xe, 0x24, 0x14 +db 0x17, 0x3b, 0x10, 0x1e, 0x64, 0x17, 0x38, 0xca, 0x37, 0x4a, 0xf2, 0x28 +db 0x42, 0xff, 0x20, 0x18, 0xb4, 0x2, 0x4a, 0x53, 0x51, 0xd2, 0xe3, 0xe8 +db 0x5d, 0x63, 0x67, 0x1e, 0x5e, 0x15, 0x3b, 0xe7, 0x1d, 0x2e, 0xff, 0x5 +db 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2d, 0xff, 0x2, 0x43, 0xf2, 0x25 +db 0x45, 0xda, 0x28, 0x43, 0xec, 0x28, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x36, 0xfe, 0xd, 0x38, 0xb1, 0x23, 0x2, 0xd, 0x2, 0x55, 0x57, 0x5c +db 0xd7, 0xe4, 0xe6, 0x70, 0x74, 0x79, 0xa, 0x14, 0x7, 0x22, 0x8d, 0x25 +db 0x44, 0xef, 0x31, 0x31, 0xff, 0x7, 0x45, 0xfc, 0x28, 0x46, 0xeb, 0x27 +db 0x19, 0x55, 0x10, 0x31, 0x45, 0x36, 0x38, 0x3c, 0x37, 0xdb, 0xdb, 0xdc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2a, 0xff, 0x0, 0x32, 0xf8, 0xe, 0x31, 0xe4, 0x17, 0x3e, 0xa2, 0x30 +db 0xb, 0x32, 0x2, 0x1c, 0x6f, 0x19, 0x48, 0xd3, 0x46, 0x43, 0xe1, 0x32 +db 0x30, 0xd8, 0x2a, 0x21, 0x82, 0x1e, 0x23, 0x34, 0x26, 0x5b, 0x59, 0x5b +db 0x34, 0x38, 0x3a, 0x13, 0x13, 0x15, 0x67, 0x78, 0x79, 0x1b, 0x20, 0x22 +db 0x8, 0x4, 0x7, 0x2, 0x3, 0x2, 0x6, 0x18, 0x9, 0xf, 0x2d, 0x9 +db 0x11, 0x49, 0x7, 0x5, 0x39, 0x2, 0x48, 0x60, 0x51, 0x89, 0x99, 0x9b +db 0x45, 0x82, 0x3b, 0x38, 0xdf, 0x17, 0x2e, 0xff, 0x4, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x48, 0xef, 0x26, 0x10, 0x50, 0x2, 0x35, 0x9c, 0x43 +db 0x32, 0xf4, 0xd, 0x32, 0xfa, 0xc, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x25, 0xd0, 0x4, 0xe, 0x21, 0xb, 0x63, 0x63, 0x66, 0xa0, 0xab, 0xa3 +db 0x62, 0x6d, 0x60, 0x46, 0x50, 0x46, 0x13, 0x13, 0x13, 0x18, 0x30, 0x2d +db 0x24, 0x4f, 0x24, 0x11, 0x4d, 0x5, 0x11, 0x45, 0x8, 0x7, 0x20, 0x2 +db 0x2d, 0x32, 0x2f, 0x95, 0xa5, 0xa6, 0xe6, 0xe4, 0xe5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2a, 0xff, 0x0, 0x2d, 0xff, 0x4, 0x36, 0xf7, 0x11, 0x3e, 0xe0, 0x25 +db 0x2b, 0x6e, 0x37, 0x2, 0x5, 0x2, 0xa, 0x19, 0xa, 0x8, 0x13, 0x8 +db 0x8, 0x22, 0x6, 0x8, 0x26, 0x5, 0x6, 0x18, 0x3, 0xb, 0x1c, 0x8 +db 0xa, 0x1c, 0x7, 0x6, 0x1b, 0x3, 0x10, 0x11, 0x14, 0x4, 0x2, 0x6 +db 0x10, 0xf, 0x12, 0x3d, 0x40, 0x41, 0x5c, 0x78, 0x79, 0x31, 0x30, 0x30 +db 0x24, 0x26, 0x23, 0x2, 0x2, 0x2, 0x47, 0x53, 0x52, 0x83, 0x8e, 0x92 +db 0x33, 0xa9, 0x18, 0x2c, 0xff, 0x2, 0x29, 0xff, 0x2, 0x46, 0xf2, 0x24 +db 0x19, 0x60, 0xc, 0xa, 0x2c, 0x4, 0x3f, 0xa6, 0x29, 0x2e, 0xed, 0xd +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xf0, 0xf +db 0x25, 0x7d, 0x31, 0x12, 0x1d, 0xe, 0x4a, 0x44, 0x49, 0x55, 0x50, 0x54 +db 0x35, 0xa6, 0x1f, 0x3e, 0xe2, 0x24, 0x4c, 0xc8, 0x37, 0x19, 0x44, 0x12 +db 0xe, 0x1f, 0xc, 0xc, 0x10, 0xc, 0x37, 0x3b, 0x38, 0x85, 0x99, 0x9a +db 0xdc, 0xde, 0xdf, 0xf5, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2a, 0xff, 0x0, 0x2d, 0xff, 0x4, 0x30, 0xdc, 0x11, 0xb, 0x34, 0x3 +db 0x3, 0x2, 0x5, 0x10, 0x2e, 0x18, 0x3b, 0xab, 0x3e, 0x48, 0xcb, 0x2f +db 0x48, 0xd2, 0x38, 0x34, 0xe2, 0x16, 0x27, 0xed, 0x2, 0x29, 0xec, 0x2 +db 0x26, 0xed, 0x2, 0x41, 0xd8, 0x2c, 0x46, 0xd1, 0x34, 0x46, 0xc0, 0x2f +db 0x2e, 0x87, 0x3f, 0xa, 0x1f, 0x6, 0x11, 0x12, 0x14, 0x54, 0x59, 0x59 +db 0xa1, 0xb9, 0xba, 0x75, 0x83, 0x83, 0x37, 0x34, 0x36, 0x46, 0x4f, 0x46 +db 0x46, 0x58, 0x43, 0x36, 0xcc, 0x15, 0x32, 0xd1, 0x2e, 0x17, 0x4d, 0x18 +db 0x2, 0x15, 0x2, 0x3e, 0xb5, 0x2d, 0x31, 0xf7, 0xb, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x31, 0xfd, 0xb, 0x3e, 0xbf, 0x2d +db 0x3, 0x12, 0x3, 0x6, 0x3, 0x5, 0x22, 0x31, 0x39, 0x44, 0x9f, 0x59 +db 0x3c, 0xf6, 0x18, 0x2b, 0xff, 0x2, 0x2f, 0xfd, 0x6, 0x28, 0xf5, 0x2 +db 0x44, 0xd5, 0x27, 0xf, 0x37, 0x7, 0x34, 0x37, 0x35, 0xde, 0xe0, 0xe1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2b, 0xfd, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x5, 0x2c, 0xca, 0x10 +db 0x5, 0x1e, 0x2, 0x1b, 0x46, 0x16, 0x43, 0xf9, 0x27, 0x2c, 0xff, 0x2 +db 0x2d, 0xfe, 0x4, 0x2c, 0xff, 0x3, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2d, 0xfe, 0x4, 0x2d, 0xfe, 0x4, 0x2d, 0xfd, 0x4 +db 0x2e, 0xf9, 0x7, 0x49, 0xdb, 0x34, 0x3e, 0xaf, 0x27, 0x13, 0x25, 0x11 +db 0x3f, 0x41, 0x41, 0x7d, 0x7e, 0x7e, 0xd6, 0xe2, 0xe2, 0xd1, 0xdd, 0xde +db 0xa3, 0xad, 0xa0, 0x17, 0x34, 0x12, 0x5, 0x23, 0x2, 0x4, 0x1a, 0x2 +db 0x3d, 0xb5, 0x2c, 0x32, 0xfb, 0xd, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2f, 0xfc, 0x8, 0x41, 0xc3, 0x31, 0x4, 0x15, 0x2 +db 0xa, 0x18, 0xa, 0x15, 0x35, 0xf, 0x6, 0x19, 0x5, 0x2, 0xc, 0x4 +db 0x2d, 0x7d, 0x1d, 0x3c, 0xf1, 0x17, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x46, 0xec, 0x2e, 0x10, 0x3c, 0xa, 0x41, 0x44, 0x41 +db 0xe6, 0xe6, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x43, 0xc4, 0x2a, 0x2b, 0xf9, 0x6, 0x2c, 0xff, 0x2, 0x2e, 0xff, 0x5 +db 0x2b, 0xc9, 0x10, 0x7, 0x2a, 0x2, 0x23, 0x68, 0x1b, 0x41, 0xfc, 0x24 +db 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x31, 0xfc, 0x9, 0x46, 0xd9, 0x39 +db 0x1f, 0x76, 0x2c, 0x33, 0x4b, 0x39, 0xcf, 0xdc, 0xde, 0xff, 0xff, 0xff +db 0x89, 0x88, 0x89, 0xe, 0xc, 0xf, 0x2, 0xf, 0x2, 0x3b, 0xb4, 0x2a +db 0x34, 0xfe, 0xe, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xeb, 0xe, 0x26, 0x71, 0x39, 0xa, 0x15, 0x11 +db 0x34, 0xb8, 0x40, 0x37, 0xfe, 0xa, 0x43, 0xc2, 0x3d, 0x1e, 0x69, 0x26 +db 0x2, 0x15, 0x2, 0x2e, 0x7b, 0x1f, 0x38, 0xea, 0x17, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x47, 0xee, 0x2f, 0xf, 0x3a, 0x9 +db 0x42, 0x44, 0x41, 0xec, 0xee, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xa, 0x20, 0x9, 0x29, 0x8a, 0x38, 0x27, 0xe4, 0x2, 0x32, 0xfc, 0xb +db 0x33, 0xff, 0xd, 0x2a, 0xc8, 0xb, 0x1b, 0x5b, 0x1e, 0x30, 0xbf, 0x2b +db 0x2f, 0xff, 0x3, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x31, 0xfc, 0xa, 0x2d, 0xee, 0xd, 0x2d, 0xee, 0xd +db 0x31, 0xf9, 0xa, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x2d, 0xed, 0x11, 0x2e, 0x86, 0x3a, 0x87, 0x94, 0x88, 0xaa, 0xac, 0xaf +db 0x16, 0x14, 0x18, 0x2, 0x2, 0x2, 0x36, 0xa0, 0x21, 0x34, 0xfd, 0xd +db 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x31, 0xfc, 0xb +db 0x2c, 0xe9, 0xf, 0x26, 0x72, 0x38, 0x3, 0xe, 0x2, 0x11, 0x43, 0x8 +db 0x35, 0xff, 0xb, 0x2b, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x3e, 0xfb, 0x17 +db 0x2b, 0x8d, 0x18, 0x5, 0x27, 0x2, 0x1f, 0x56, 0x31, 0x31, 0xd8, 0x1a +db 0x2d, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x47, 0xde, 0x29 +db 0xe, 0x35, 0xd, 0x4c, 0x4b, 0x4c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x63, 0x64, 0x64, 0x21, 0x34, 0x21, 0x12, 0x2a, 0xf, 0x3e, 0xa9, 0x29 +db 0x36, 0xbf, 0x20, 0x25, 0xd5, 0x2, 0x23, 0x91, 0x11, 0x28, 0x65, 0x1f +db 0x3c, 0xd6, 0x1d, 0x2e, 0xff, 0x5, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x43, 0xee, 0x27, 0x33, 0xae, 0x3b, 0x38, 0x9d, 0x46 +db 0x3c, 0xa6, 0x27, 0x23, 0xd1, 0x3, 0x30, 0xef, 0x12, 0x33, 0xff, 0xb +db 0x2b, 0xff, 0x2, 0x2c, 0xe5, 0x13, 0x55, 0x9f, 0x6b, 0xb0, 0xc0, 0xc5 +db 0x62, 0x67, 0x6b, 0x2, 0x2, 0x2, 0x1e, 0xa9, 0xa, 0x34, 0xff, 0x10 +db 0x2e, 0xff, 0x4, 0x33, 0xfe, 0xc, 0x34, 0xfa, 0xc, 0x3d, 0xbb, 0x2c +db 0x30, 0x76, 0x41, 0xf, 0x1c, 0xb, 0x2b, 0x31, 0x31, 0x17, 0x5a, 0xc +db 0x33, 0xff, 0x9, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x33, 0xdd, 0x28, 0x1b, 0x5f, 0x1c, 0x33, 0x7d, 0x22 +db 0x37, 0xe7, 0x16, 0x2d, 0xff, 0x3, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x3a, 0xaa, 0x45, 0x41, 0x41, 0x40, 0xd6, 0xd5, 0xd6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfe, 0xfe, 0xc3, 0xd3, 0xd5, 0x6d, 0x69, 0x6e, 0x3d, 0x38, 0x40 +db 0x26, 0x36, 0x29, 0xd, 0x11, 0xa, 0x1a, 0x2a, 0x22, 0x12, 0x22, 0x1e +db 0x1d, 0x4f, 0x13, 0x3d, 0xdd, 0x1e, 0x2f, 0xff, 0x7, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x42, 0xe0, 0x20 +db 0x16, 0x47, 0xe, 0x5, 0x13, 0x7, 0x2a, 0x78, 0x38, 0x3c, 0xc1, 0x26 +db 0x33, 0xff, 0x9, 0x35, 0xff, 0xd, 0x3b, 0xac, 0x27, 0x9f, 0x9d, 0x9d +db 0xae, 0xae, 0xb2, 0x17, 0x23, 0x17, 0x14, 0x42, 0x23, 0x38, 0x98, 0x33 +db 0x26, 0xc0, 0x8, 0x36, 0xb0, 0x24, 0x37, 0x94, 0x24, 0xf, 0x1d, 0xd +db 0x57, 0x57, 0x5c, 0x81, 0x80, 0x83, 0xa7, 0xbb, 0xb7, 0x16, 0x41, 0x10 +db 0x43, 0xea, 0x32, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x43, 0xff, 0x21, 0x19, 0x77, 0x8 +db 0x41, 0xb9, 0x31, 0x32, 0xfb, 0xc, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x41, 0xe8, 0x26, 0xf, 0x39, 0x14, 0x55, 0x51, 0x55, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc1, 0xbf, 0xc1, 0xc8, 0xc5, 0xc7, 0xc7, 0xc7, 0xc9, 0xbc, 0xbd, 0xc0 +db 0x80, 0x8d, 0x92, 0x67, 0x6d, 0x71, 0x54, 0x58, 0x5a, 0x2a, 0x2a, 0x2d +db 0xf, 0xd, 0x11, 0x24, 0x5f, 0x1c, 0x3b, 0xe3, 0x20, 0x2f, 0xff, 0x7 +db 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x42, 0xf5, 0x26, 0x13, 0x66, 0x3, 0x17, 0x42, 0xd, 0xa, 0x21, 0x8 +db 0x34, 0xa5, 0x1d, 0x1b, 0xbe, 0x2, 0x26, 0x8e, 0x13, 0x81, 0x84, 0x82 +db 0x86, 0x8e, 0x90, 0x21, 0x30, 0x2b, 0xa, 0x8, 0xd, 0x5, 0xa, 0x4 +db 0x3, 0x2, 0x3, 0x10, 0x1d, 0x17, 0x30, 0x2d, 0x3a, 0x84, 0x82, 0x86 +db 0xcd, 0xdc, 0xdd, 0xff, 0xff, 0xff, 0xdb, 0xd9, 0xd9, 0x28, 0x35, 0x2d +db 0x1f, 0x8b, 0x27, 0x31, 0xf6, 0x11, 0x2d, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x3f, 0xe4, 0x1b, 0x30, 0xfa, 0x7, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2a, 0xfc, 0x4, 0x3d, 0xa9, 0x45, 0x43, 0x43, 0x42, 0xea, 0xf0, 0xf2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x15, 0x16, 0x15, 0x17, 0x18, 0x17, 0x18, 0x19, 0x18, 0x18, 0x1a, 0x18 +db 0x32, 0x36, 0x35, 0x69, 0x73, 0x7e, 0x3d, 0x41, 0x49, 0x23, 0x1d, 0x20 +db 0x5b, 0x60, 0x63, 0x3c, 0x3e, 0x43, 0x26, 0x60, 0x1e, 0x3c, 0xe3, 0x1f +db 0x2f, 0xff, 0x6, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x32, 0xfe, 0x5, 0x40, 0xdc, 0x22, 0x1a, 0x4f, 0x15 +db 0x2, 0x2, 0x2, 0x4, 0x3, 0x4, 0x15, 0x1d, 0x14, 0x2e, 0x3a, 0x31 +db 0x25, 0x21, 0x23, 0x27, 0x28, 0x24, 0x30, 0x7e, 0x25, 0x2d, 0x80, 0x22 +db 0x2b, 0x5f, 0x1f, 0x23, 0x36, 0x2f, 0x79, 0x87, 0x86, 0xba, 0xbc, 0xbd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0x65, 0x67, 0x65 +db 0x9, 0x22, 0xc, 0x1c, 0x78, 0x1e, 0x2b, 0xd0, 0xa, 0x37, 0xff, 0x10 +db 0x29, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2d, 0xff, 0x4, 0x3c, 0xe3, 0x21, 0x1e, 0x4b, 0x2a, 0x99, 0xa2, 0xa6 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x13, 0x8d, 0x0, 0x15, 0x8e, 0x2, 0x15, 0x8e, 0x2, 0x19, 0x8b, 0x7 +db 0x27, 0x76, 0x1b, 0x1f, 0x60, 0x12, 0x1c, 0x52, 0x1b, 0x13, 0x2c, 0x1c +db 0x37, 0x38, 0x3e, 0x4a, 0x4a, 0x53, 0x25, 0x2b, 0x30, 0x24, 0x61, 0x22 +db 0x3c, 0xdb, 0x1d, 0x2f, 0xff, 0x5, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2e, 0xff, 0x6, 0x3f, 0xe7, 0x21 +db 0x21, 0x5f, 0x1c, 0xb, 0xa, 0x17, 0x6, 0x2, 0x5, 0xa, 0x8, 0xa +db 0x28, 0x33, 0x3d, 0x48, 0x86, 0x4f, 0x36, 0xe9, 0x12, 0x3a, 0xff, 0x15 +db 0x43, 0xfe, 0x1f, 0x1b, 0x9f, 0x2, 0x3f, 0x8c, 0x2e, 0x16, 0x1f, 0x15 +db 0xa1, 0xa0, 0xa3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xf0 +db 0x6e, 0x71, 0x6f, 0x2, 0x2, 0x2, 0xd, 0x2a, 0x9, 0x2e, 0xae, 0x24 +db 0x3d, 0xf2, 0x27, 0x35, 0xff, 0xd, 0x29, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2d, 0xf9, 0x7, 0x40, 0xa1, 0x41, 0x64, 0x5a, 0x63 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2c, 0xff, 0x0, 0x2e, 0xff, 0x2, 0x2e, 0xff, 0x2, 0x31, 0xff, 0x8 +db 0x40, 0xff, 0x1f, 0x3f, 0xfe, 0x1b, 0x39, 0xef, 0x1d, 0x2f, 0xb7, 0x24 +db 0x2b, 0x7a, 0x1c, 0x13, 0x33, 0xe, 0x30, 0x31, 0x39, 0x15, 0x11, 0x1a +db 0x23, 0x51, 0x17, 0x32, 0xbe, 0x2d, 0x30, 0xfc, 0x6, 0x2a, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x32, 0xfd, 0x11 +db 0x41, 0xa5, 0x44, 0x4, 0x2, 0xd, 0x2, 0x5, 0x2, 0x2, 0x2, 0x2 +db 0xa, 0xf, 0x19, 0x1d, 0x53, 0x23, 0x3d, 0xcd, 0x20, 0x31, 0xff, 0xa +db 0x29, 0xff, 0x2, 0x2d, 0xff, 0x2, 0x39, 0xf6, 0x13, 0x2d, 0x90, 0x20 +db 0x16, 0x1c, 0x16, 0x9d, 0x9a, 0x9d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xec, 0xeb, 0xec, 0x87, 0x8b, 0x8e, 0x35, 0x3d, 0x3e, 0xd, 0x1d, 0x13 +db 0x19, 0x51, 0x19, 0x2b, 0xab, 0x26, 0x40, 0xe9, 0x29, 0x35, 0xfd, 0xa +db 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x30, 0xfc, 0x8, 0x48, 0xbe, 0x35, 0x4a, 0x4e, 0x4a +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2a, 0xff, 0x0, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x33, 0xff, 0xc +db 0x3d, 0xff, 0x17, 0x37, 0xc2, 0x1c, 0x38, 0x7e, 0x41, 0x12, 0x25, 0x13 +db 0x23, 0x30, 0x30, 0x10, 0x3b, 0x18, 0xe, 0x68, 0x2, 0x41, 0xea, 0x21 +db 0x44, 0xfd, 0x25, 0x2e, 0xff, 0x2, 0x32, 0xff, 0x8, 0x3f, 0xdc, 0x2c +db 0x16, 0x37, 0x1d, 0xd, 0x26, 0x10, 0x21, 0x8b, 0x21, 0x2b, 0xa9, 0xe +db 0x2c, 0x71, 0x2f, 0x8, 0x1d, 0x11, 0x12, 0x34, 0xb, 0x3f, 0xc7, 0x22 +db 0x32, 0xff, 0x8, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x3a, 0xfd, 0x18 +db 0x30, 0x92, 0x24, 0x19, 0x1e, 0x19, 0x9d, 0x9a, 0x9d, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf9, 0xfd, 0xfd, 0xd4, 0xda, 0xdb, 0x62, 0x5d, 0x61 +db 0xe, 0xb, 0xc, 0x10, 0x24, 0x18, 0x19, 0x4b, 0x15, 0x15, 0x69, 0x2 +db 0x2a, 0xb5, 0x28, 0x42, 0xec, 0x26, 0x46, 0xfc, 0x28, 0x2d, 0xff, 0x3 +db 0x2a, 0xff, 0x2, 0x2b, 0xff, 0x4, 0x2e, 0xd1, 0x11, 0x36, 0x41, 0x33 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2a, 0xff, 0x0, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x33, 0xff, 0xc, 0x32, 0xf5, 0x15, 0x25, 0x8e, 0x2c +db 0x37, 0x4f, 0x3d, 0x6a, 0x7c, 0x74, 0x26, 0x29, 0x28, 0x9, 0x2e, 0x3 +db 0x14, 0x54, 0x9, 0x11, 0x67, 0x2, 0x12, 0x65, 0x4, 0x14, 0x46, 0xe +db 0x2, 0x2, 0x2, 0x15, 0x65, 0xb, 0x31, 0xff, 0x11, 0x33, 0xff, 0x8 +db 0x34, 0xf2, 0x17, 0x38, 0xbf, 0x24, 0x12, 0x31, 0xc, 0x10, 0x2d, 0x5 +db 0x2e, 0xa4, 0x31, 0x2b, 0xf8, 0x9, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x38, 0xf7, 0x16, 0x33, 0x85, 0x21, 0x1c, 0x22, 0x18, 0x9c, 0x9b, 0x9d +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0xe6, 0xe6 +db 0xc5, 0xc4, 0xc5, 0x59, 0x55, 0x59, 0x16, 0x18, 0x15, 0x7, 0x5, 0x6 +db 0x8, 0x1c, 0x10, 0x13, 0x36, 0xe, 0x1b, 0x58, 0x13, 0x32, 0xbe, 0x34 +db 0x46, 0xee, 0x27, 0x44, 0xfe, 0x26, 0x25, 0xe1, 0x2, 0x2b, 0x38, 0x2d +db 0xda, 0xe3, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2a, 0xff, 0x0, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x33, 0xfb, 0xc +db 0x42, 0xd5, 0x35, 0x2d, 0xa3, 0x3b, 0x3a, 0xc3, 0x35, 0x3e, 0xf7, 0x16 +db 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2d, 0xf7, 0xb +db 0x2b, 0x93, 0x32, 0x96, 0xb6, 0xb0, 0xc6, 0xc9, 0xcb, 0xae, 0xac, 0xb0 +db 0x63, 0x78, 0x74, 0x8, 0xb, 0x8, 0x3, 0x4, 0x3, 0x13, 0x18, 0x14 +db 0xf, 0x13, 0x11, 0x11, 0x6f, 0x2, 0x2e, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x33, 0xff, 0xa, 0x29, 0xdf, 0x2, 0x25, 0x8b, 0x2c +db 0xe, 0x2f, 0x19, 0x41, 0xc7, 0x26, 0x2d, 0xfe, 0x5, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x34, 0xe9, 0x12, 0x25, 0x63, 0x37, 0x6a, 0x62, 0x69 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe3, 0xe3, 0xe3, 0xca, 0xcc, 0xcc, 0xc1, 0xc1, 0xc3 +db 0x41, 0x3e, 0x40, 0x1f, 0x1c, 0x20, 0x4, 0x3, 0x4, 0x2, 0x16, 0x7 +db 0x10, 0x30, 0xa, 0x14, 0x51, 0xa, 0xd, 0x50, 0x2, 0x26, 0x40, 0x29 +db 0xc5, 0xd6, 0xd9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x29, 0xff, 0x0, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xfe, 0x4 +db 0x30, 0xf8, 0xb, 0x39, 0xe4, 0x1e, 0x34, 0x85, 0x27, 0x6, 0x2b, 0x2 +db 0x1e, 0x78, 0x23, 0x45, 0xda, 0x3e, 0x37, 0xfe, 0x10, 0x28, 0xff, 0x2 +db 0x41, 0xe7, 0x2e, 0x48, 0x71, 0x47, 0xeb, 0xec, 0xea, 0xcc, 0xcc, 0xcc +db 0x26, 0x28, 0x2a, 0x32, 0x36, 0x38, 0xaa, 0xb3, 0xb4, 0xcf, 0xd3, 0xd3 +db 0x5e, 0x72, 0x6d, 0x12, 0x5a, 0x4, 0x41, 0xff, 0x20, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xf8, 0x8 +db 0x41, 0xd4, 0x2c, 0x16, 0x41, 0xf, 0x41, 0xd5, 0x2d, 0x2e, 0xfd, 0x5 +db 0x2c, 0xff, 0x2, 0x2f, 0xfc, 0x8, 0x41, 0xb9, 0x36, 0x17, 0x1e, 0x14 +db 0x8f, 0x8c, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe7, 0xe7, 0xe7, 0xd8, 0xdb, 0xdb, 0xca, 0xc9, 0xca, 0x84, 0x98, 0x98 +db 0x2c, 0x2b, 0x2d, 0x26, 0x29, 0x26, 0x2, 0x2, 0x2, 0x22, 0x2b, 0x28 +db 0xcb, 0xde, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x46, 0xec, 0x2e, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x3c, 0xf1, 0x1b, 0x29, 0x77, 0x1e +db 0x3, 0x17, 0x3, 0x8, 0x25, 0x7, 0x38, 0x9f, 0x24, 0x36, 0xfb, 0xf +db 0x2d, 0xff, 0x2, 0x3b, 0x6f, 0x31, 0xe2, 0xe3, 0xe1, 0x7a, 0x74, 0x74 +db 0x25, 0x3c, 0x3a, 0xac, 0xbb, 0xbb, 0xf6, 0xf8, 0xf9, 0xfe, 0xfe, 0xfe +db 0xb3, 0xb3, 0xb5, 0x2a, 0x4c, 0x32, 0x30, 0xd0, 0x2a, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2f, 0xff, 0x7, 0x27, 0xea, 0x2, 0x49, 0xd2, 0x2e, 0x2e, 0xfc, 0x5 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2f, 0xea, 0x10, 0x2d, 0x6e, 0x3f +db 0x72, 0x69, 0x70, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfd, 0xf5, 0xf7, 0xf7 +db 0xea, 0xea, 0xea, 0xd8, 0xdc, 0xdc, 0x7b, 0x8e, 0x8e, 0x2e, 0x2d, 0x2d +db 0x7b, 0x7d, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xb, 0x35, 0x6, 0x46, 0xec, 0x2e, 0x29, 0xff, 0x0, 0x2a, 0xff, 0x0 +db 0x2a, 0xff, 0x0, 0x2a, 0xff, 0x0, 0x2b, 0xff, 0x1, 0x29, 0xfb, 0x0 +db 0x3d, 0xe6, 0x1b, 0x21, 0x5f, 0x14, 0x4, 0x1f, 0x1, 0x7, 0x2c, 0x0 +db 0x4, 0x2d, 0x0, 0x33, 0x4c, 0x2f, 0xe6, 0xe8, 0xe5, 0x7c, 0x7b, 0x7a +db 0xb2, 0xbb, 0xbd, 0xf1, 0xf5, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xca, 0xc8, 0xca, 0x1a, 0x21, 0x18, 0x12, 0x4f, 0x1b, 0x30, 0xd3, 0x27 +db 0x2a, 0xff, 0x0, 0x2a, 0xff, 0x0, 0x2a, 0xff, 0x0, 0x2a, 0xff, 0x0 +db 0x2a, 0xff, 0x0, 0x2a, 0xff, 0x0, 0x2c, 0xfc, 0x3, 0x2a, 0xff, 0x0 +db 0x2a, 0xff, 0x0, 0x2a, 0xff, 0x0, 0x2f, 0xfc, 0x9, 0x39, 0xb1, 0x2a +db 0x2d, 0x3c, 0x30, 0xd0, 0xde, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xf9, 0xf9, 0xde, 0xe4, 0xe4 +db 0xb1, 0xc2, 0xc2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/kust02.inc b/programs/games/hunter/trunk/inc/kust02.inc new file mode 100644 index 0000000000..89c8fc6e8d --- /dev/null +++ b/programs/games/hunter/trunk/inc/kust02.inc @@ -0,0 +1,1169 @@ +dw 64, 73 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf4, 0xf4, 0xdc, 0xdd, 0xdd +db 0xeb, 0xed, 0xed, 0xff, 0xff, 0xff, 0xfa, 0xfc, 0xfc, 0xfd, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xf6, 0x92, 0x95, 0x95 +db 0x50, 0x51, 0x51, 0x88, 0x82, 0x88, 0x9a, 0xa1, 0xac, 0xb7, 0xc3, 0xc7 +db 0xbd, 0xbf, 0xc0, 0xe2, 0xe1, 0xe2, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0xb3, 0xb3 +db 0x15, 0x13, 0x19, 0x15, 0x37, 0xd, 0x27, 0x62, 0x27, 0x2b, 0x42, 0x34 +db 0x26, 0x1e, 0x2a, 0x4a, 0x42, 0x4c, 0x84, 0x82, 0x85, 0xba, 0xb9, 0xba +db 0xf6, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0xdc, 0xdd +db 0x3a, 0x3e, 0x44, 0x20, 0x74, 0x1d, 0x2d, 0xd4, 0x13, 0x1b, 0xb6, 0x2 +db 0x13, 0x7c, 0x2, 0x9, 0x3d, 0x2, 0xd, 0x11, 0xd, 0x26, 0x20, 0x28 +db 0x87, 0x94, 0x99, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xed, 0xee +db 0x4f, 0x4c, 0x54, 0x1a, 0x61, 0x1a, 0x34, 0xf0, 0x17, 0x2d, 0xff, 0x2 +db 0x2c, 0xf4, 0x2, 0x28, 0xda, 0x2, 0x21, 0xaf, 0x8, 0x20, 0x5a, 0x19 +db 0x19, 0x20, 0x1e, 0x6d, 0x68, 0x6d, 0xe1, 0xe4, 0xe5, 0xfc, 0xfc, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcd, 0xde, 0xde, 0xc6, 0xd8, 0xd9 +db 0x78, 0x76, 0x79, 0x78, 0x75, 0x78, 0x78, 0x75, 0x78, 0x76, 0x73, 0x76 +db 0x8d, 0x90, 0x93, 0xca, 0xdf, 0xe1, 0xdf, 0xea, 0xea, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x8f, 0x86, 0x8f, 0x2e, 0x66, 0x34, 0x36, 0xe4, 0x20, 0x2d, 0xff, 0x5 +db 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x2, 0x2f, 0xfd, 0x5, 0x44, 0xe8, 0x27 +db 0x3a, 0xa2, 0x2f, 0x16, 0x28, 0x26, 0x41, 0x3c, 0x42, 0x9f, 0x9f, 0x9e +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xe8, 0xe8 +db 0x7e, 0x82, 0x84, 0x3c, 0x35, 0x3a, 0x20, 0x1d, 0x27, 0x1e, 0x1a, 0x26 +db 0xb, 0x18, 0x8, 0xd, 0x16, 0xb, 0xd, 0x16, 0xb, 0xc, 0x15, 0xa +db 0x13, 0x1f, 0x13, 0x22, 0x2d, 0x27, 0x22, 0x1a, 0x28, 0x4a, 0x42, 0x4b +db 0x66, 0x63, 0x65, 0x99, 0xa8, 0xa7, 0xeb, 0xf3, 0xf3, 0xf9, 0xfb, 0xfb +db 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x7c, 0x73, 0x7b, 0x1c, 0x4a, 0x25, 0x30, 0xdc, 0x18, 0x2d, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x2, 0x2d, 0xff, 0x7 +db 0x30, 0xf7, 0xb, 0x21, 0xb4, 0x13, 0x1a, 0x45, 0x15, 0x41, 0x42, 0x40 +db 0xbb, 0xb9, 0xbc, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xdc, 0xe9, 0xe8, 0x7e, 0x84, 0x86, 0x29, 0x25, 0x2e +db 0xa, 0x13, 0x7, 0x21, 0x66, 0x35, 0x3e, 0xa6, 0x2c, 0x41, 0xbb, 0x30 +db 0x40, 0xc4, 0x2e, 0x24, 0xda, 0x2, 0x26, 0xda, 0x2, 0x25, 0xda, 0x2 +db 0x2d, 0xd3, 0xe, 0x42, 0xbf, 0x34, 0x41, 0xb7, 0x2d, 0x3b, 0x9f, 0x3b +db 0x1a, 0x3f, 0x26, 0xb, 0x8, 0xc, 0x32, 0x33, 0x33, 0xc7, 0xc9, 0xc9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xba, 0xb6, 0xba, 0x32, 0x3a, 0x2f, 0x32, 0xb1, 0x19, 0x31, 0xff, 0xb +db 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x3, 0x28, 0xff, 0x2, 0x29, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2f, 0xfb, 0x7, 0x43, 0xe4, 0x2e, 0x28, 0x6e, 0x3a +db 0x37, 0x30, 0x35, 0xd7, 0xd5, 0xd5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x9d, 0x9e, 0x9e, 0x43, 0x43, 0x45, 0x19, 0x22, 0x1a, 0x34, 0x90, 0x21 +db 0x49, 0xd0, 0x36, 0x30, 0xf1, 0xf, 0x2f, 0xfb, 0x6, 0x2f, 0xfd, 0x7 +db 0x2f, 0xfd, 0x6, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2d, 0xfe, 0x3, 0x2f, 0xfd, 0x7, 0x2d, 0xfe, 0x4, 0x40, 0xfc, 0x21 +db 0x21, 0x63, 0x1b, 0x11, 0x9, 0x12, 0xab, 0xac, 0xad, 0xfc, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xa3, 0xa1, 0xa2, 0x17, 0xd, 0x18, 0x18, 0x8c, 0x3, 0x2b, 0xf9, 0x2 +db 0x2a, 0xff, 0x2, 0x3a, 0xf4, 0x1e, 0x43, 0xe1, 0x27, 0x37, 0xf7, 0x13 +db 0x2c, 0xff, 0x3, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x7, 0x32, 0xd7, 0x1a +db 0x21, 0x49, 0x1c, 0x5d, 0x5e, 0x65, 0xe7, 0xf1, 0xf2, 0xe2, 0xea, 0xec +db 0x47, 0x5d, 0x4f, 0x17, 0x5c, 0x23, 0x43, 0xc8, 0x3f, 0x36, 0xf7, 0x10 +db 0x2d, 0xfe, 0x3, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x3c, 0xfe, 0x1a, 0x2c, 0x89, 0x21 +db 0x2, 0x9, 0x2, 0x81, 0x86, 0x88, 0xf4, 0xf7, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd2, 0xd3, 0xd7, 0x3b, 0x44, 0x3d, 0x20, 0x75, 0x2b, 0x2d, 0xed, 0x15 +db 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x4, 0x3a, 0xec, 0x17, 0x47, 0xc3, 0x41 +db 0x2f, 0xf0, 0xb, 0x2b, 0xff, 0x3, 0x2c, 0xff, 0x2, 0x31, 0xfd, 0xe +db 0x35, 0xa2, 0x25, 0x39, 0x35, 0x3a, 0xd5, 0xd3, 0xd7, 0x9f, 0xa7, 0x9f +db 0x2d, 0x6f, 0x39, 0x2d, 0xdd, 0x1a, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2e, 0xfc, 0x5, 0x2c, 0xf6, 0x7, 0x2c, 0xf6, 0x7 +db 0x2f, 0xfd, 0x6, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x2, 0x31, 0xd7, 0x21, 0x1b, 0x50, 0x28 +db 0x9, 0x10, 0x6, 0x29, 0x38, 0x37, 0xa6, 0xae, 0xb0, 0xf3, 0xf5, 0xf5 +db 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0x7f, 0x77, 0x80, 0x25, 0x51, 0x21, 0x34, 0xdc, 0x18 +db 0x2e, 0xff, 0x5, 0x2c, 0xff, 0x2, 0x28, 0xff, 0x2, 0x2e, 0xa1, 0x37 +db 0x14, 0x4f, 0x6, 0x3e, 0xf5, 0x18, 0x2a, 0xff, 0x2, 0x2f, 0xff, 0x7 +db 0x36, 0xdb, 0x18, 0x27, 0x4e, 0x20, 0x61, 0x5d, 0x6a, 0x6b, 0xa8, 0x83 +db 0x2a, 0xd7, 0x1a, 0x2b, 0xff, 0x2, 0x2f, 0xfe, 0x6, 0x2f, 0xf6, 0xc +db 0x25, 0xe6, 0x2, 0x3f, 0xbe, 0x25, 0x37, 0x9e, 0x45, 0x32, 0xa2, 0x40 +db 0x47, 0xe7, 0x30, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2d, 0xff, 0x3, 0x3a, 0xe5, 0x17, 0x31, 0x88, 0x1f, 0x22, 0x9c, 0xd +db 0x3e, 0xcc, 0x24, 0x1e, 0x59, 0x14, 0xe, 0x17, 0xe, 0x76, 0x78, 0x7b +db 0xc6, 0xc8, 0xc8, 0xf9, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xb7, 0xbb, 0xbd, 0x25, 0x28, 0x29, 0x36, 0xac, 0x25 +db 0x32, 0xfe, 0xd, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x3a, 0xff, 0x11 +db 0x28, 0x65, 0x1b, 0x28, 0x75, 0x19, 0x2b, 0xf1, 0x9, 0x2b, 0xff, 0x2 +db 0x33, 0xfd, 0x10, 0x3b, 0x9e, 0x2e, 0x1c, 0x1d, 0x22, 0x40, 0x99, 0x34 +db 0x3b, 0xff, 0x15, 0x2e, 0xff, 0x2, 0x3f, 0xd7, 0x23, 0x33, 0x92, 0x3f +db 0xa, 0x24, 0xe, 0xb, 0x2c, 0x7, 0x42, 0xc9, 0x24, 0x2d, 0xfe, 0x3 +db 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x4 +db 0x39, 0xea, 0x18, 0x2c, 0x6c, 0x1c, 0x11, 0x51, 0x10, 0x31, 0xf0, 0x1a +db 0x38, 0xff, 0xe, 0x49, 0xfc, 0x2d, 0x27, 0x90, 0x28, 0x9, 0x23, 0xb +db 0x30, 0x33, 0x2e, 0xcd, 0xcd, 0xcd, 0xfb, 0xfb, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xc4, 0xd3, 0xd4, 0x29, 0x2e, 0x34, 0x2b, 0x8d, 0x2d +db 0x31, 0xf7, 0x10, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x28, 0xff, 0x2 +db 0x44, 0xd8, 0x2f, 0x6, 0xe, 0x5, 0x30, 0x84, 0x20, 0x35, 0xff, 0x10 +db 0x2e, 0xff, 0x5, 0x38, 0xcd, 0x1b, 0x2e, 0x46, 0x2c, 0x2a, 0x82, 0x1a +db 0x1e, 0xcf, 0x2, 0x35, 0xb7, 0x1b, 0x13, 0x37, 0xe, 0x10, 0x31, 0x8 +db 0xf, 0x50, 0x2, 0x41, 0xe1, 0x27, 0x2d, 0xff, 0x5, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x4, 0x3a, 0xef, 0x1a +db 0x2b, 0x79, 0x22, 0x3, 0x22, 0x2, 0x25, 0xb0, 0xa, 0x31, 0xff, 0x7 +db 0x27, 0xff, 0x2, 0x28, 0xff, 0x2, 0x29, 0xfd, 0x5, 0x2b, 0xb6, 0x16 +db 0x21, 0x57, 0x23, 0x44, 0x47, 0x46, 0xcd, 0xcb, 0xcb, 0xfe, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xfa +db 0xe6, 0xe6, 0xe6, 0xea, 0xeb, 0xeb, 0xff, 0xff, 0xff, 0xfc, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf6, 0x4b, 0x45, 0x4b, 0x1a, 0x58, 0x29 +db 0x2b, 0xe4, 0x12, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x38, 0xfb, 0x17, 0x24, 0x6c, 0x1a, 0x8, 0x25, 0x9, 0x34, 0xc4, 0x31 +db 0x2b, 0xec, 0x3, 0x2a, 0x97, 0x12, 0x4a, 0x64, 0x4a, 0x3d, 0x47, 0x3f +db 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x12, 0x39, 0xe, 0x3e, 0xc8, 0x24 +db 0x36, 0xff, 0xa, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x3, 0x3b, 0xf0, 0x1b, 0x2b, 0x79, 0x21 +db 0x2, 0x22, 0x2, 0x25, 0xb1, 0xc, 0x36, 0xff, 0x10, 0x32, 0xf6, 0x10 +db 0x2f, 0xf9, 0xa, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x3c, 0xff, 0x13 +db 0x3e, 0xdd, 0x3a, 0x6, 0x30, 0x5, 0x6b, 0x6b, 0x69, 0xe2, 0xe8, 0xe8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xf7 +db 0xae, 0xaf, 0xb0, 0x5b, 0x5e, 0x5e, 0x94, 0x90, 0x93, 0xab, 0xae, 0xb6 +db 0xba, 0xc6, 0xca, 0xd7, 0xda, 0xdb, 0x7f, 0x7d, 0x81, 0x1c, 0x2a, 0x24 +db 0x2c, 0xb6, 0x2a, 0x32, 0xfc, 0x12, 0x2b, 0xff, 0x3, 0x2c, 0xff, 0x2 +db 0x2a, 0xfd, 0x5, 0x43, 0xd2, 0x2e, 0x2, 0x10, 0x4, 0x10, 0x40, 0x13 +db 0x33, 0x78, 0x27, 0x5d, 0x5f, 0x64, 0x60, 0x6f, 0x69, 0x42, 0x45, 0x49 +db 0x2, 0x2, 0x2, 0x12, 0x37, 0xe, 0x3d, 0xd3, 0x25, 0x32, 0xff, 0xb +db 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x3c, 0xeb, 0x19, 0x28, 0x76, 0x1d, 0x2, 0xc, 0x6 +db 0x24, 0x8f, 0x22, 0x33, 0xff, 0x6, 0x2f, 0xfd, 0xa, 0x41, 0xe8, 0x24 +db 0x45, 0xe0, 0x2b, 0x37, 0xf7, 0x14, 0x2b, 0xff, 0x2, 0x27, 0xff, 0x2 +db 0x2f, 0xff, 0x8, 0x35, 0xb3, 0x23, 0x13, 0x1e, 0x11, 0xaa, 0xb9, 0xb9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc8, 0xc9, 0xc9, 0x19, 0x1a, 0x1d, 0xa, 0x1b, 0x6, 0x2c, 0x5f, 0x2d +db 0x34, 0x51, 0x41, 0x34, 0x32, 0x3a, 0x4f, 0x49, 0x54, 0x20, 0x1f, 0x21 +db 0x20, 0x51, 0x2e, 0x41, 0xd6, 0x2c, 0x2d, 0xfe, 0x7, 0x2b, 0xff, 0x2 +db 0x29, 0xff, 0x2, 0x3a, 0xf4, 0x16, 0x23, 0x5a, 0x1b, 0x2, 0x2, 0x2 +db 0x58, 0x51, 0x5a, 0xce, 0xd6, 0xd6, 0x4b, 0x5c, 0x5c, 0x2, 0x7, 0x8 +db 0x2, 0x2, 0x2, 0x37, 0x98, 0x2a, 0x3d, 0xff, 0x18, 0x2c, 0xff, 0x2 +db 0x2e, 0xff, 0x2, 0x2e, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2d, 0xff, 0x2 +db 0x30, 0xd1, 0x25, 0x28, 0x6c, 0x19, 0xd, 0xc, 0xc, 0x1d, 0x31, 0x21 +db 0x37, 0xc4, 0x39, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2e, 0xff, 0x4 +db 0x3c, 0xc5, 0x34, 0x2c, 0x9c, 0x24, 0x2e, 0xe5, 0x9, 0x2f, 0xff, 0x5 +db 0x28, 0xff, 0x2, 0x45, 0xff, 0x26, 0x12, 0x41, 0xa, 0x76, 0x75, 0x73 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe4, 0xe9, 0xe9, 0x53, 0x5d, 0x62, 0x10, 0x49, 0xc, 0x2e, 0xcb, 0x1c +db 0x14, 0xa2, 0x2, 0xd, 0x6a, 0x2, 0xc, 0x3c, 0x5, 0x11, 0x1b, 0x1a +db 0x5, 0x2, 0x9, 0x23, 0x5c, 0x15, 0x45, 0xe9, 0x2a, 0x34, 0xff, 0xa +db 0x32, 0xff, 0xa, 0x2d, 0xfb, 0x4, 0x32, 0x9c, 0x1c, 0x2, 0x2, 0x2 +db 0x4a, 0x45, 0x47, 0xcd, 0xd6, 0xd6, 0x74, 0x88, 0x88, 0x26, 0x30, 0x33 +db 0x12, 0x19, 0x24, 0x20, 0x53, 0x24, 0x24, 0x92, 0x14, 0x1c, 0x9a, 0x3 +db 0x1a, 0x9a, 0x2, 0x1d, 0x94, 0x7, 0x38, 0xd1, 0x2b, 0x24, 0x96, 0xf +db 0x21, 0x56, 0x2b, 0x2f, 0x33, 0x2e, 0x9b, 0x9a, 0x9d, 0x44, 0x4d, 0x43 +db 0x24, 0x85, 0x14, 0x3b, 0xff, 0x14, 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x32, 0xec, 0x1a, 0x1f, 0x62, 0x18, 0x30, 0x8e, 0x1a, 0x2f, 0xf6, 0xa +db 0x29, 0xff, 0x2, 0x31, 0xff, 0x9, 0x38, 0xaf, 0x26, 0x21, 0x26, 0x21 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xef, 0xf2, 0xf3, 0x6f, 0x73, 0x78, 0xc, 0x40, 0xc, 0x38, 0xeb, 0x22 +db 0x2d, 0xff, 0x2, 0x2c, 0xf6, 0x2, 0x26, 0xd4, 0x2, 0x23, 0xaf, 0xd +db 0x2c, 0x5f, 0x2a, 0xb, 0x10, 0x12, 0x21, 0x53, 0x19, 0x23, 0xa3, 0xb +db 0x3a, 0xd7, 0x1c, 0x37, 0xd1, 0x33, 0x10, 0x63, 0x2, 0x9, 0x7, 0xe +db 0x3b, 0x44, 0x47, 0x40, 0x42, 0x42, 0x2b, 0x2d, 0x2d, 0x14, 0x1c, 0x17 +db 0x10, 0x21, 0x1b, 0x6, 0xd, 0xc, 0x6, 0xb, 0x7, 0x5, 0x11, 0x3 +db 0x4, 0x12, 0x2, 0x4, 0x10, 0x2, 0x14, 0x26, 0x1b, 0x6, 0x2, 0x7 +db 0x22, 0x29, 0x26, 0x58, 0x54, 0x59, 0xfa, 0xff, 0xff, 0x61, 0x72, 0x72 +db 0x10, 0x41, 0x9, 0x43, 0xfb, 0x28, 0x29, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x2f, 0xff, 0x3, 0x3a, 0xcb, 0x20, 0x1d, 0x3e, 0x17, 0x2b, 0x8c, 0x1a +db 0x32, 0xf6, 0x7, 0x28, 0xff, 0x2, 0x44, 0xf6, 0x27, 0x21, 0x4c, 0x1d +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xae, 0xa8, 0xae, 0x28, 0x4d, 0x2c, 0x34, 0xd5, 0x26 +db 0x2f, 0xff, 0x6, 0x2b, 0xff, 0x2, 0x2e, 0xff, 0x2, 0x2d, 0xff, 0x2 +db 0x47, 0xeb, 0x2b, 0x33, 0x85, 0x3c, 0x5, 0x9, 0xa, 0x5, 0x15, 0x4 +db 0x13, 0x3c, 0x10, 0xb, 0x2f, 0x13, 0x12, 0x2b, 0x14, 0x57, 0x5b, 0x5e +db 0xc5, 0xca, 0xca, 0x76, 0x77, 0x77, 0x2, 0x2, 0x2, 0x1a, 0x4e, 0x11 +db 0x2e, 0xc0, 0x13, 0x1f, 0xbb, 0x2, 0x20, 0xba, 0x2, 0x20, 0xba, 0x2 +db 0x1e, 0xbb, 0x2, 0x35, 0xaa, 0x24, 0x36, 0x8b, 0x25, 0x23, 0x61, 0x34 +db 0xf, 0x16, 0x10, 0x1c, 0x23, 0x1b, 0x71, 0x6c, 0x72, 0x3a, 0x3f, 0x43 +db 0x19, 0x41, 0x1b, 0x35, 0xe0, 0x2a, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x29, 0xff, 0x2, 0x40, 0xff, 0x1d, 0x21, 0x69, 0x14, 0x10, 0x29, 0xc +db 0x36, 0xc6, 0x28, 0x2f, 0xfe, 0x9, 0x35, 0xff, 0x6, 0x2a, 0x6a, 0x1d +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xa6, 0xa0, 0xa5, 0x15, 0x35, 0x1c, 0x30, 0xcb, 0x23 +db 0x2d, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x30, 0xff, 0x8, 0x31, 0xf4, 0x11, 0x1f, 0xa7, 0xe, 0xe, 0x2d, 0xc +db 0x18, 0x1e, 0x23, 0x63, 0x66, 0x6a, 0x98, 0x9e, 0x9f, 0xcd, 0xd3, 0xd4 +db 0xff, 0xff, 0xff, 0xd2, 0xda, 0xdb, 0x34, 0x3c, 0x41, 0x16, 0x47, 0x1d +db 0x36, 0xeb, 0x26, 0x2b, 0xff, 0x2, 0x2d, 0xff, 0x2, 0x2d, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x34, 0xfe, 0xe, 0x36, 0xf9, 0xf, 0x2e, 0xe9, 0x14 +db 0x22, 0xc6, 0x4, 0x3c, 0xab, 0x2f, 0x29, 0x63, 0x3c, 0x6, 0xa, 0x3 +db 0x16, 0x25, 0x21, 0x2e, 0xa7, 0x38, 0x2a, 0xff, 0x3, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2e, 0xff, 0x6, 0x3b, 0xd3, 0x25, 0xf, 0x2b, 0xb +db 0x1b, 0x5a, 0x26, 0x2a, 0xd3, 0xd, 0x29, 0x7e, 0x1a, 0x35, 0x54, 0x31 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xcc, 0xc9, 0xcb, 0x3e, 0x44, 0x3b, 0x29, 0x93, 0x13 +db 0x38, 0xff, 0x10, 0x29, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x28, 0xff, 0x2 +db 0x27, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2b, 0xfa, 0x3, 0x41, 0xde, 0x25 +db 0x31, 0x80, 0x43, 0x2d, 0x2a, 0x30, 0xc7, 0xc5, 0xc6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xfe, 0xff, 0x87, 0x89, 0x8c, 0x2, 0x6, 0x2 +db 0x2e, 0x9a, 0x21, 0x3a, 0xff, 0x15, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2d, 0xff, 0x2, 0x33, 0xfb, 0xe, 0x30, 0xe5, 0x15, 0x34, 0x95, 0x27 +db 0x2, 0x2, 0x2, 0x1d, 0x4d, 0x27, 0x43, 0xea, 0x3c, 0x32, 0xff, 0x9 +db 0x2b, 0xff, 0x2, 0x28, 0xff, 0x2, 0x42, 0xff, 0x20, 0x1e, 0x68, 0x13 +db 0x5, 0x13, 0x6, 0xd, 0x2b, 0x8, 0x8f, 0x97, 0x8e, 0xb0, 0xb6, 0xb0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xc3, 0xc2, 0xc2, 0x20, 0x18, 0x20, 0x12, 0x68, 0x2 +db 0x2c, 0xfa, 0x2, 0x2a, 0xff, 0x2, 0x36, 0xf7, 0x17, 0x42, 0xe4, 0x26 +db 0x37, 0xf7, 0x12, 0x2d, 0xff, 0x3, 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x7 +db 0x36, 0xe4, 0x1e, 0x20, 0x4f, 0x1a, 0x54, 0x54, 0x58, 0xd9, 0xe7, 0xe7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbd, 0xbc, 0xbd, 0x2c, 0x25, 0x2a +db 0x24, 0x59, 0x31, 0x31, 0xe3, 0x1f, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x3, 0x36, 0xf5, 0x14 +db 0x34, 0x94, 0x27, 0x2, 0x3, 0x2, 0x29, 0x61, 0x24, 0x41, 0xf1, 0x23 +db 0x2a, 0xff, 0x2, 0x28, 0xff, 0x2, 0x2d, 0xff, 0x2, 0x3d, 0xc2, 0x25 +db 0xc, 0x21, 0x9, 0x19, 0x17, 0x19, 0xd4, 0xd5, 0xd4, 0xf8, 0xf8, 0xf8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xdc, 0xdd, 0xdf, 0x4a, 0x52, 0x4d, 0x13, 0x5a, 0x19 +db 0x2f, 0xe6, 0x20, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x4, 0x39, 0xee, 0x16 +db 0x49, 0xcb, 0x3d, 0x36, 0xf7, 0x14, 0x29, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xfd, 0x8, 0x40, 0xbe, 0x2e, 0x24, 0x23, 0x24, 0xcb, 0xcd, 0xcf +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xd0, 0xd1, 0x41, 0x44, 0x48 +db 0x2, 0x9, 0x2, 0x33, 0x8e, 0x21, 0x39, 0xf8, 0x13, 0x2b, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x45, 0xeb, 0x2c, 0x49, 0xd4, 0x2f, 0x4a, 0xe5, 0x32 +db 0x2c, 0xff, 0x3, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x37, 0xf7, 0x15, 0x31, 0x91, 0x25, 0xb, 0x20, 0x14, 0x3d, 0x96, 0x3d +db 0x43, 0xf7, 0x22, 0x36, 0xff, 0xe, 0x33, 0xff, 0x9, 0x30, 0xd3, 0xe +db 0xa, 0x2d, 0x4, 0x4, 0x4, 0x4, 0x8f, 0x8c, 0x8d, 0xf9, 0xf9, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9d, 0x99, 0x9f, 0x1d, 0x40, 0x1b +db 0x32, 0xcd, 0x1b, 0x30, 0xff, 0x6, 0x2c, 0xff, 0x2, 0x29, 0xff, 0x2 +db 0x2f, 0xb2, 0x35, 0x15, 0x50, 0xc, 0x3b, 0xe5, 0x18, 0x2c, 0xff, 0x4 +db 0x2c, 0xff, 0x4, 0x3a, 0xee, 0x1a, 0x23, 0x58, 0x1c, 0x6a, 0x63, 0x69 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0xdd, 0xde, 0x5d, 0x61, 0x62 +db 0x24, 0x24, 0x27, 0x11, 0x15, 0x12, 0x1e, 0xb0, 0x3, 0x2d, 0xff, 0x3 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x3, 0x2c, 0xff, 0x2, 0x31, 0xa4, 0x3e +db 0x10, 0x39, 0x8, 0x45, 0xce, 0x2a, 0x29, 0xf6, 0x2, 0x2e, 0xfe, 0x4 +db 0x2b, 0xff, 0x2, 0x39, 0xf6, 0x14, 0x35, 0x88, 0x26, 0x7, 0x12, 0x9 +db 0xd, 0x3e, 0x4, 0x25, 0x8e, 0x10, 0x3b, 0xb2, 0x3f, 0x1b, 0x71, 0x19 +db 0x8, 0x15, 0x4, 0x4d, 0x5d, 0x60, 0xb3, 0xc0, 0xc0, 0xfc, 0xfc, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xcd, 0xcf, 0x36, 0x3a, 0x3b +db 0x28, 0x85, 0x19, 0x39, 0xff, 0x16, 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x3b, 0xff, 0x11, 0x27, 0x72, 0x17, 0x2b, 0x71, 0x1e, 0x2a, 0xe8, 0xa +db 0x2c, 0xff, 0x2, 0x2c, 0xfb, 0x8, 0x41, 0xbb, 0x30, 0x3e, 0x41, 0x43 +db 0xf0, 0xf7, 0xfa, 0xff, 0xff, 0xff, 0xf8, 0xfc, 0xfc, 0x8b, 0x93, 0x93 +db 0x25, 0x26, 0x29, 0x12, 0x1b, 0xe, 0x20, 0x5d, 0x30, 0x30, 0xde, 0x1a +db 0x2d, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x45, 0xce, 0x2a, 0xa, 0x2c, 0x6, 0x10, 0x34, 0x9, 0x43, 0xd2, 0x28 +db 0x2b, 0xfe, 0x5, 0x2b, 0xff, 0x2, 0x26, 0xa4, 0x10, 0x38, 0x3a, 0x3b +db 0x33, 0x2f, 0x32, 0x1d, 0x21, 0x22, 0x17, 0x18, 0x19, 0x25, 0x2b, 0x28 +db 0x56, 0x5e, 0x5e, 0xd3, 0xd3, 0xd4, 0xf4, 0xf7, 0xf7, 0xf6, 0xf7, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0xdf, 0xe0, 0x3f, 0x49, 0x4e +db 0x1e, 0x67, 0x1d, 0x37, 0xf5, 0x1c, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x28, 0xff, 0x2, 0x47, 0xeb, 0x2d, 0x9, 0x1b, 0x7, 0x2f, 0x73, 0x22 +db 0x36, 0xf8, 0xe, 0x2b, 0xff, 0x4, 0x3b, 0xe2, 0x1b, 0x3c, 0x63, 0x3e +db 0xad, 0xbb, 0xc1, 0xeb, 0xed, 0xed, 0xed, 0xee, 0xee, 0xad, 0xb0, 0xb0 +db 0x61, 0x63, 0x63, 0x5f, 0x5e, 0x61, 0x21, 0x25, 0x1f, 0x33, 0x91, 0x27 +db 0x37, 0xf3, 0x15, 0x2d, 0xff, 0x3, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2d, 0xff, 0x3, 0x45, 0xde, 0x2e, 0xc, 0x30, 0x7, 0xa, 0x2a, 0xd +db 0x2d, 0xa7, 0x32, 0x1a, 0x9e, 0x2, 0x18, 0x1e, 0x1a, 0xa3, 0xb0, 0xa4 +db 0xeb, 0xe8, 0xea, 0xaa, 0xb0, 0xb2, 0xc2, 0xcb, 0xcd, 0xc7, 0xce, 0xd1 +db 0xc1, 0xcb, 0xcc, 0xca, 0xc9, 0xca, 0x8a, 0x9c, 0x9d, 0x81, 0x95, 0x96 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf4, 0xf5, 0x68, 0x64, 0x6a +db 0xf, 0x41, 0x1b, 0x2c, 0xd8, 0x1d, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x3b, 0xff, 0x16, 0x27, 0x7e, 0x19, 0x6, 0x20, 0x3 +db 0x33, 0xba, 0x36, 0x2a, 0xf1, 0x2, 0x23, 0xb8, 0x3, 0x1c, 0x41, 0x19 +db 0x41, 0x5d, 0x52, 0x57, 0x61, 0x61, 0x6b, 0x67, 0x69, 0x8a, 0x89, 0x8a +db 0x46, 0x43, 0x42, 0xa2, 0xa4, 0xa3, 0x90, 0x94, 0x97, 0xe, 0xf, 0xf +db 0x3a, 0xa5, 0x33, 0x31, 0xfb, 0xb, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x5, 0x42, 0xdb, 0x2c, 0xe, 0x35, 0xa +db 0x2, 0xe, 0x2, 0x2, 0xb, 0x2, 0x4c, 0x5a, 0x50, 0xe0, 0xe4, 0xe8 +db 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xe1, 0xe2, 0xe3, 0x98, 0xa5, 0xa8 +db 0x3b, 0x40, 0x3e, 0x5, 0x14, 0x7, 0x7, 0x20, 0x2, 0x6, 0x25, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfc, 0xfd +db 0xe9, 0xf0, 0xf2, 0xdf, 0xe3, 0xe4, 0xd1, 0xd0, 0xd1, 0x84, 0x82, 0x86 +db 0x14, 0x1e, 0x1d, 0x24, 0x9b, 0x23, 0x32, 0xfd, 0x14, 0x2c, 0xff, 0x3 +db 0x2c, 0xff, 0x2, 0x27, 0xff, 0x2, 0x45, 0xea, 0x2f, 0x8, 0x1f, 0x7 +db 0x11, 0x3c, 0x18, 0x19, 0x7e, 0x8, 0x9, 0x16, 0xc, 0x1d, 0x6f, 0x14 +db 0x10, 0x83, 0x2, 0x5, 0x41, 0x2, 0x4, 0x21, 0x2, 0xc, 0x15, 0xc +db 0x6, 0x2, 0x6, 0x4d, 0x5a, 0x5d, 0xbe, 0xd4, 0xd6, 0x40, 0x3e, 0x45 +db 0x1a, 0x4f, 0x2a, 0x2d, 0xd3, 0x1d, 0x2c, 0xfe, 0x3, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2f, 0xff, 0x8, 0x41, 0xd6, 0x2a +db 0x10, 0x2f, 0xa, 0x2, 0x2, 0x2, 0x29, 0x28, 0x29, 0xb5, 0xb5, 0xb5 +db 0xf2, 0xf0, 0xf0, 0xa3, 0xad, 0xaf, 0x3e, 0x43, 0x45, 0xd, 0x22, 0x6 +db 0x12, 0x44, 0x7, 0x2d, 0xac, 0x32, 0x45, 0xe7, 0x29, 0x47, 0xfb, 0x2a +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf3, 0xf3, 0xf3, 0xa3, 0xa6, 0xa6, 0x90, 0x90, 0x90, 0x88, 0x8e, 0x8c +db 0x5c, 0x72, 0x6d, 0x46, 0x52, 0x51, 0x11, 0x11, 0x10, 0x26, 0x28, 0x29 +db 0x15, 0x13, 0x17, 0x14, 0x3e, 0x20, 0x3e, 0xc9, 0x31, 0x32, 0xff, 0xc +db 0x2b, 0xff, 0x2, 0x28, 0xff, 0x2, 0x3c, 0xff, 0x15, 0x26, 0x72, 0x1a +db 0x2, 0x2, 0x2, 0x14, 0xd, 0x18, 0x23, 0x3a, 0x22, 0x41, 0xd2, 0x34 +db 0x2f, 0xff, 0x2, 0x2b, 0xf7, 0x2, 0x23, 0xc4, 0x2, 0x16, 0x81, 0x2 +db 0x10, 0x41, 0x7, 0x9, 0x1b, 0x14, 0x71, 0x75, 0x7a, 0x8c, 0x8b, 0x8f +db 0x27, 0x2d, 0x24, 0x1b, 0x50, 0x2a, 0x2b, 0xce, 0x1e, 0x3a, 0xfd, 0x18 +db 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2f, 0xff, 0x8 +db 0x36, 0xbc, 0x1a, 0x2, 0x5, 0x2, 0x7, 0x6, 0xb, 0x87, 0x90, 0x91 +db 0x78, 0x7e, 0x7b, 0x1f, 0x31, 0x24, 0x21, 0x54, 0x20, 0x3a, 0xca, 0x1d +db 0x47, 0xfd, 0x29, 0x30, 0xff, 0x7, 0x2a, 0xff, 0x2, 0x28, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe +db 0xec, 0xec, 0xec, 0x6b, 0x6b, 0x6b, 0x2, 0x2, 0x2, 0x6, 0x16, 0x3 +db 0x18, 0x79, 0x8, 0xc, 0x7a, 0x2, 0x12, 0x80, 0x2, 0x15, 0x83, 0x2 +db 0x19, 0x78, 0xd, 0xa, 0x25, 0xb, 0x1e, 0x4b, 0x14, 0x41, 0xda, 0x26 +db 0x36, 0xff, 0xe, 0x31, 0xff, 0x9, 0x2c, 0xff, 0x2, 0x3c, 0xbd, 0x22 +db 0x4, 0xa, 0x4, 0x18, 0x16, 0x16, 0x2c, 0x3a, 0x2b, 0x36, 0xc1, 0x2d +db 0x30, 0xff, 0x7, 0x2c, 0xff, 0x2, 0x30, 0xff, 0x2, 0x30, 0xff, 0x3 +db 0x3c, 0xe8, 0x1d, 0x32, 0x8f, 0x23, 0xd, 0x26, 0x11, 0x5c, 0x5a, 0x63 +db 0x5e, 0x5b, 0x60, 0x20, 0x25, 0x1b, 0x2e, 0x59, 0x3c, 0x2d, 0x8b, 0x22 +db 0x3d, 0xf6, 0x19, 0x3d, 0xff, 0x1a, 0x30, 0xff, 0x5, 0x3d, 0xfc, 0x1f +db 0x21, 0xa8, 0x17, 0x2, 0x5, 0x2, 0x27, 0x29, 0x2c, 0x66, 0x76, 0x75 +db 0x3c, 0x5b, 0x47, 0x1d, 0x91, 0x20, 0x3f, 0xf2, 0x28, 0x32, 0xff, 0xa +db 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x29, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf2, 0xf4, 0xf4, 0x54, 0x5e, 0x5f, 0x5, 0x23, 0x6 +db 0x43, 0xf0, 0x38, 0x2a, 0xff, 0x2, 0x2f, 0xff, 0x2, 0x2e, 0xff, 0x2 +db 0x2f, 0xff, 0x8, 0x2e, 0xba, 0x1b, 0x12, 0x35, 0x12, 0x24, 0x53, 0x1f +db 0x28, 0xa8, 0xf, 0x37, 0xda, 0x16, 0x3a, 0xe3, 0x2e, 0x1d, 0x8c, 0x8 +db 0x4, 0x9, 0x4, 0x23, 0x30, 0x33, 0x25, 0x36, 0x2a, 0x34, 0xb4, 0x33 +db 0x30, 0xff, 0x5, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x34, 0xff, 0xb, 0x40, 0xff, 0x1d, 0x28, 0xb8, 0x1e, 0xb, 0x40, 0xa +db 0x35, 0x3a, 0x32, 0x64, 0x61, 0x64, 0x6c, 0x71, 0x78, 0x17, 0x1c, 0x16 +db 0x1d, 0x59, 0x11, 0x26, 0x82, 0x19, 0x17, 0x8d, 0x3, 0x23, 0x6e, 0x1d +db 0xd, 0x2d, 0x19, 0x25, 0x30, 0x28, 0x40, 0x4b, 0x51, 0x32, 0x4d, 0x41 +db 0x2e, 0xa0, 0x31, 0x2e, 0xf5, 0xf, 0x28, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x2d, 0xff, 0x2, 0x3f, 0xf7, 0x19, 0x2f, 0xcb, 0x25, 0x2d, 0xc4, 0x27 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xfd, 0xfd, 0xb5, 0xc0, 0xc0, 0x8, 0x13, 0xa +db 0x1f, 0x81, 0x1d, 0x3d, 0xff, 0x15, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x36, 0xff, 0xf, 0x27, 0xae, 0x1f, 0x7, 0x27, 0x9 +db 0x5, 0x16, 0x2, 0x14, 0x45, 0xd, 0x17, 0x3f, 0x23, 0x9, 0x2a, 0xa +db 0xa, 0xa, 0xf, 0x4f, 0x59, 0x5d, 0x49, 0x54, 0x4d, 0x24, 0x79, 0x19 +db 0x3a, 0xff, 0x12, 0x29, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x29, 0xff, 0x2 +db 0x26, 0xff, 0x2, 0x28, 0xff, 0x2, 0x29, 0xff, 0x2, 0x36, 0xd8, 0x19 +db 0x2c, 0x7a, 0x34, 0x34, 0x38, 0x37, 0xa4, 0xad, 0xaf, 0xac, 0xab, 0xad +db 0x4e, 0x54, 0x5e, 0x11, 0x15, 0x11, 0x14, 0x16, 0x14, 0x1f, 0x25, 0x22 +db 0x6d, 0x73, 0x79, 0xb1, 0xb6, 0xb8, 0x6b, 0x7c, 0x7e, 0x23, 0x68, 0x2b +db 0x39, 0xef, 0x21, 0x27, 0xff, 0x2, 0x3c, 0xff, 0x17, 0x39, 0xe1, 0x2f +db 0x1a, 0x93, 0xa, 0x1d, 0x5c, 0x10, 0x41, 0xa4, 0x3e, 0x2d, 0xc9, 0x25 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf4, 0xf4, 0x8a, 0x89, 0x8a +db 0x24, 0x48, 0x26, 0x39, 0xde, 0x32, 0x29, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2a, 0xfd, 0x7, 0x1f, 0xc3, 0x4 +db 0x14, 0x75, 0x2, 0x11, 0x59, 0x11, 0x24, 0x71, 0x1c, 0x22, 0x82, 0x16 +db 0x39, 0x86, 0x39, 0x20, 0x22, 0x1d, 0x35, 0x30, 0x33, 0x11, 0x40, 0x5 +db 0x31, 0xfa, 0x8, 0x2a, 0xff, 0x2, 0x30, 0xfb, 0xc, 0x3c, 0xed, 0x1e +db 0x36, 0xf5, 0x11, 0x2c, 0xff, 0x3, 0x2b, 0xff, 0x2, 0x34, 0xff, 0xa +db 0x3b, 0xef, 0x2a, 0x11, 0x4c, 0xd, 0x52, 0x54, 0x51, 0xd2, 0xe0, 0xe0 +db 0xe1, 0xea, 0xeb, 0xb9, 0xb7, 0xb9, 0xb9, 0xb8, 0xb9, 0xc1, 0xc3, 0xc4 +db 0xf0, 0xf8, 0xf7, 0xff, 0xff, 0xff, 0x8c, 0x90, 0x91, 0x1a, 0x86, 0x6 +db 0x35, 0xff, 0x8, 0x3e, 0xff, 0x16, 0x30, 0x9a, 0x1e, 0x16, 0x46, 0x1c +db 0x2, 0x6, 0x5, 0x29, 0x76, 0x20, 0x39, 0xe6, 0x14, 0x2a, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0xd2, 0xd3 +db 0x18, 0x21, 0x1a, 0x1f, 0x77, 0x17, 0x41, 0xff, 0x1a, 0x2a, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x3c, 0xf3, 0x1c, 0x47, 0xdd, 0x2b, 0x47, 0xeb, 0x2a +db 0x31, 0xfc, 0x9, 0x26, 0xed, 0x4, 0x32, 0xf2, 0x11, 0x2e, 0xf4, 0x9 +db 0x38, 0xf3, 0x18, 0x37, 0x9b, 0x29, 0x12, 0x12, 0x17, 0xf, 0x40, 0xf +db 0x30, 0xdc, 0x26, 0x2a, 0xff, 0x2, 0x2e, 0xff, 0x6, 0x3a, 0xee, 0x19 +db 0x48, 0xd8, 0x32, 0x3d, 0xf0, 0x1d, 0x2a, 0xff, 0x2, 0x29, 0xff, 0x2 +db 0x2b, 0xff, 0x4, 0x3e, 0xd0, 0x29, 0x10, 0x1d, 0xd, 0xaf, 0xb6, 0xb7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xa6, 0x9e, 0x9, 0x3f, 0x2 +db 0xf, 0x68, 0x2, 0x19, 0x5c, 0xc, 0x4, 0x18, 0x4, 0x2a, 0x6c, 0x1d +db 0x26, 0xb7, 0xa, 0x34, 0xf4, 0x10, 0x2c, 0xff, 0x3, 0x2a, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf5 +db 0x98, 0x98, 0x99, 0x1a, 0x27, 0x18, 0x1c, 0x95, 0x5, 0x2d, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x31, 0xfc, 0x9, 0x34, 0xfc, 0xa, 0x3b, 0xbf, 0x3e +db 0x10, 0x4f, 0xe, 0x41, 0xcc, 0x23, 0x31, 0xfe, 0x7, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x37, 0xf4, 0x14, 0x41, 0x87, 0x36, 0x10, 0x23, 0xf +db 0x36, 0xc3, 0x2a, 0x2e, 0xff, 0x3, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x32, 0xc4, 0x2e, 0x20, 0x6f, 0x20, 0x30, 0xd1, 0xc, 0x31, 0xff, 0x7 +db 0x2a, 0xff, 0x2, 0x40, 0xff, 0x1e, 0x1a, 0x5b, 0x10, 0x5a, 0x59, 0x57 +db 0xfc, 0xfc, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0xd5, 0xd2, 0x3a, 0x41, 0x3d +db 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2b, 0x7b, 0x22, 0x3a, 0xeb, 0x19 +db 0x2e, 0xff, 0x3, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xfe, 0xfd, 0xfd, 0xdc, 0xe5, 0xe6 +db 0xba, 0xd0, 0xd2, 0x83, 0x8a, 0x8c, 0x5c, 0x59, 0x5b, 0x60, 0x5e, 0x60 +db 0x60, 0x5e, 0x60, 0x5b, 0x58, 0x5a, 0xad, 0xbf, 0xc0, 0xf7, 0xf9, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc7, 0xc6, 0xc8, 0x13, 0x18, 0x11, 0x11, 0x50, 0x17, 0x32, 0xdf, 0x25 +db 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xf8, 0x8 +db 0x41, 0xc4, 0x27, 0x17, 0x45, 0xe, 0xb, 0x40, 0x2, 0x45, 0xd7, 0x29 +db 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x3, 0x32, 0xdb, 0x10, 0x1e, 0x1c, 0x21 +db 0x21, 0x6b, 0x16, 0x40, 0xff, 0x1d, 0x29, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x37, 0xff, 0x13, 0x27, 0x7f, 0x17, 0x2c, 0x73, 0x1d, 0x2c, 0xe9, 0xb +db 0x29, 0xff, 0x2, 0x2b, 0xff, 0x3, 0x41, 0xcb, 0x2c, 0x22, 0x2e, 0x24 +db 0xda, 0xdf, 0xe3, 0xad, 0xbe, 0xc1, 0x59, 0x54, 0x59, 0x60, 0x6b, 0x5d +db 0x5e, 0x68, 0x5c, 0xa4, 0xb1, 0xa3, 0xc4, 0xc2, 0xc4, 0x12, 0x12, 0x12 +db 0x2, 0x2, 0x2, 0x29, 0x71, 0x1f, 0x3a, 0xf2, 0x1a, 0x2d, 0xff, 0x3 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe +db 0xc2, 0xc2, 0xc2, 0x30, 0x30, 0x30, 0x15, 0x15, 0x15, 0x19, 0x25, 0x18 +db 0x18, 0x30, 0x16, 0x10, 0x25, 0xd, 0xb, 0x1f, 0x7, 0xb, 0x20, 0x8 +db 0xb, 0x20, 0x8, 0xa, 0x21, 0x6, 0x10, 0x13, 0x13, 0x1b, 0x19, 0x1b +db 0x50, 0x52, 0x51, 0x65, 0x64, 0x65, 0xfd, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xfd, 0xfd, 0xfe, 0xa6, 0xa7, 0xa8, 0x12, 0x1b, 0x12, 0x26, 0x84, 0x1c +db 0x3e, 0xff, 0x1b, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2d, 0xff, 0x3, 0x45, 0xdd, 0x2e, 0xb, 0x2f, 0x6, 0xe, 0x35, 0x7 +db 0x31, 0xaa, 0x3c, 0x30, 0xf7, 0x8, 0x43, 0x63, 0x42, 0x25, 0x3e, 0x3a +db 0x16, 0x43, 0x12, 0x41, 0xf5, 0x2b, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x3f, 0xe6, 0x23, 0x18, 0x3d, 0x13, 0x28, 0x67, 0x1c +db 0x36, 0xed, 0xc, 0x28, 0xff, 0x2, 0x48, 0xf7, 0x2a, 0x10, 0x25, 0xf +db 0x3e, 0x51, 0x40, 0x1c, 0x3c, 0x18, 0x4d, 0xc8, 0x36, 0x44, 0xdd, 0x2e +db 0x31, 0xc5, 0x14, 0x4b, 0x49, 0x4a, 0x78, 0x7d, 0x81, 0x51, 0x5c, 0x5c +db 0x2, 0x2, 0x2, 0x39, 0x91, 0x2e, 0x39, 0xff, 0x15, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xfb, 0xfb, 0xab, 0xab, 0xab, 0x14, 0xc, 0x15, 0x20, 0x5f, 0x19 +db 0x3c, 0xf3, 0x1d, 0x28, 0xf4, 0x2, 0x2a, 0xf2, 0x2, 0x2a, 0xf2, 0x2 +db 0x27, 0xf4, 0x2, 0x42, 0xde, 0x2c, 0x48, 0xc8, 0x2f, 0x2f, 0x92, 0x40 +db 0xa, 0x28, 0x6, 0x11, 0x2a, 0xe, 0x48, 0x49, 0x4a, 0x6c, 0x6c, 0x6c +db 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xa1, 0x9f, 0xa1, 0x15, 0x1e, 0x14 +db 0x2b, 0x8b, 0x1f, 0x3c, 0xfe, 0x19, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x3, 0x46, 0xe1, 0x2f, 0xb, 0x2f, 0x6 +db 0x9, 0x29, 0x5, 0xf, 0x33, 0x8, 0x59, 0x6d, 0x59, 0x8b, 0x8d, 0x92 +db 0x6, 0x2a, 0xa, 0x31, 0xd3, 0x2c, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x3c, 0xff, 0x16, 0x28, 0x88, 0x18, 0xa, 0x23, 0x5 +db 0x2f, 0xaf, 0x2f, 0x3a, 0xf1, 0x1c, 0x14, 0x5a, 0x6, 0xa, 0x28, 0x4 +db 0x47, 0xc8, 0x2d, 0x2a, 0xf4, 0x2, 0x2e, 0xfd, 0x5, 0x2d, 0xfe, 0x4 +db 0x35, 0xf8, 0x10, 0x47, 0xb3, 0x4d, 0x23, 0x38, 0x44, 0x3, 0x2, 0x2 +db 0x2, 0x2, 0x2, 0x1f, 0x49, 0x36, 0x46, 0xc7, 0x46, 0x34, 0xf8, 0xf +db 0x28, 0xfe, 0x2, 0x44, 0xe8, 0x2c, 0x4a, 0xd5, 0x30, 0xb, 0x36, 0x4 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe9, 0xf1, 0xf1, 0x5f, 0x68, 0x6d, 0xc, 0x32, 0x18 +db 0x30, 0xd0, 0x25, 0x2d, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2d, 0xfe, 0x5, 0x47, 0xdf, 0x35, 0x29, 0x8b, 0x37, 0x11, 0x29, 0xb +db 0x53, 0x59, 0x5a, 0xc6, 0xd6, 0xd6, 0xed, 0xf4, 0xf5, 0x54, 0x5a, 0x61 +db 0x10, 0x3b, 0x1e, 0x2e, 0xd2, 0x22, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x47, 0xe7, 0x30 +db 0xc, 0x30, 0x6, 0x7, 0x7, 0x7, 0x54, 0x54, 0x55, 0xbe, 0xbe, 0xc0 +db 0x1b, 0x25, 0x21, 0x1f, 0x81, 0x21, 0x2f, 0xfe, 0xf, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x29, 0xff, 0x2, 0x40, 0xee, 0x27, 0x15, 0x3e, 0xf +db 0x20, 0x45, 0x27, 0xd, 0x33, 0xb, 0xb, 0x2c, 0x5, 0x45, 0xdd, 0x30 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x35, 0xf1, 0x10 +db 0x37, 0x90, 0x25, 0x2, 0xb, 0x2, 0x8, 0x1a, 0x7, 0xc, 0x35, 0x4 +db 0xb, 0x33, 0x5, 0x3, 0xf, 0x2, 0x14, 0x28, 0x20, 0x11, 0x2a, 0x12 +db 0xa, 0x22, 0x5, 0x13, 0x2d, 0xf, 0x14, 0x16, 0x14, 0x48, 0x49, 0x48 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbb, 0xbb, 0xbd, 0x25, 0x26, 0x23 +db 0x2a, 0x7d, 0x22, 0x3b, 0xfa, 0x1c, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x32, 0xff, 0x9, 0x3f, 0xc6, 0x2b +db 0xe, 0x26, 0xb, 0x6b, 0x69, 0x6b, 0xf9, 0xf9, 0xfb, 0xb5, 0xb6, 0xb7 +db 0x23, 0x29, 0x1f, 0x19, 0x4f, 0x28, 0x2c, 0xcf, 0x1e, 0x2f, 0xfd, 0x9 +db 0x2d, 0xff, 0x3, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x45, 0xd3, 0x29, 0x5, 0x1c, 0x2, 0x6, 0x5, 0x7, 0x4b, 0x51, 0x52 +db 0x7e, 0x85, 0x84, 0x10, 0x3e, 0x18, 0x3e, 0xcd, 0x3d, 0x37, 0xff, 0x10 +db 0x2a, 0xff, 0x2, 0x28, 0xff, 0x2, 0x3e, 0xff, 0x17, 0x2a, 0x80, 0x1f +db 0x6, 0xa, 0x5, 0xa, 0x26, 0x5, 0x44, 0xdb, 0x2f, 0x2d, 0xff, 0x4 +db 0x2c, 0xff, 0x2, 0x2c, 0xfe, 0x3, 0x32, 0xe9, 0x12, 0x37, 0x8f, 0x25 +db 0x2, 0x13, 0x2, 0x1b, 0x5e, 0x1c, 0x41, 0xc5, 0x3f, 0x3f, 0xf9, 0x15 +db 0x31, 0xe1, 0x24, 0x17, 0x55, 0x1d, 0x7, 0xb, 0x5, 0x45, 0x43, 0x45 +db 0x54, 0x52, 0x53, 0xa1, 0xb4, 0xb5, 0xf1, 0xf3, 0xf3, 0xfc, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x9e, 0xa3 +db 0x26, 0x49, 0x33, 0x2c, 0xc8, 0x1d, 0x2f, 0xff, 0x3, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x31, 0xfa, 0xc, 0x32, 0xf5, 0xc, 0x32, 0xfb, 0xc +db 0x2d, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x32, 0xff, 0xc +db 0x3c, 0xc3, 0x29, 0xd, 0x26, 0x8, 0x76, 0x76, 0x78, 0xff, 0xff, 0xff +db 0xb6, 0xb4, 0xb7, 0x24, 0x28, 0x20, 0x20, 0x55, 0x2f, 0x3e, 0xab, 0x3a +db 0x36, 0xed, 0x13, 0x33, 0xfd, 0xd, 0x2d, 0xff, 0x3, 0x32, 0xfc, 0xc +db 0x2a, 0xe4, 0xd, 0x5, 0x1a, 0x2, 0xb, 0xf, 0x10, 0x41, 0x5c, 0x5c +db 0x85, 0x8f, 0x90, 0x3f, 0x3e, 0x44, 0x27, 0x4f, 0x20, 0x3a, 0xd3, 0x1f +db 0x32, 0xff, 0xb, 0x2c, 0xff, 0x3, 0x30, 0xff, 0x4, 0x17, 0x61, 0x8 +db 0xb, 0x26, 0xd, 0x41, 0xc5, 0x28, 0x2d, 0xfd, 0x5, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x32, 0xe9, 0x10, 0x23, 0x65, 0x37, 0x8, 0x2b, 0x8 +db 0x1f, 0x75, 0xe, 0x44, 0xf9, 0x20, 0x29, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x2e, 0xff, 0x2, 0x12, 0x7d, 0x2, 0x10, 0xf, 0xe, 0xcd, 0xcb, 0xcc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xbf, 0xc0 +db 0x2d, 0x2f, 0x2c, 0x27, 0x60, 0x1b, 0x34, 0xe6, 0xf, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x43, 0xed, 0x28, 0x46, 0xda, 0x29, 0x48, 0xcc, 0x3f +db 0x23, 0xc7, 0x3, 0x35, 0xf9, 0xe, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x34, 0xff, 0xe, 0x34, 0xba, 0x1f, 0x37, 0x57, 0x39, 0xc6, 0xd0, 0xd1 +db 0xff, 0xff, 0xff, 0xb1, 0xaf, 0xb1, 0x61, 0x5f, 0x66, 0x20, 0x21, 0x22 +db 0x2f, 0x7a, 0x20, 0x3f, 0xae, 0x2f, 0x25, 0xc6, 0x6, 0x3b, 0xb1, 0x2a +db 0x21, 0x64, 0x33, 0x17, 0x28, 0x13, 0x49, 0x54, 0x55, 0x4d, 0x64, 0x65 +db 0x3c, 0x4c, 0x4c, 0x62, 0x67, 0x68, 0x2b, 0x30, 0x2b, 0x27, 0x5d, 0x1d +db 0x39, 0xc8, 0x1f, 0x35, 0xee, 0x10, 0x38, 0xd7, 0x1a, 0x10, 0x42, 0x3 +db 0x31, 0x8c, 0x3e, 0x2d, 0xf6, 0xc, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x34, 0xf3, 0x12, 0x39, 0x90, 0x26, 0x18, 0x55, 0x13, 0x33, 0xd0, 0x30 +db 0x2d, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x34, 0xff, 0xa, 0x16, 0x78, 0x3, 0xa, 0x11, 0xf, 0xc3, 0xc5, 0xc7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x9b, 0x99, 0x9c, 0x9, 0x7, 0xb, 0x1c, 0x98, 0xf, 0x2d, 0xff, 0x8 +db 0x2c, 0xff, 0x2, 0x29, 0xff, 0x2, 0x29, 0xff, 0x2, 0x2d, 0xb5, 0x30 +db 0x1c, 0x49, 0x14, 0x35, 0x95, 0x21, 0x23, 0xc5, 0x4, 0x37, 0xfd, 0x10 +db 0x29, 0xff, 0x2, 0x34, 0xff, 0xe, 0x3f, 0xa8, 0x2a, 0x9c, 0x9a, 0x9a +db 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xb7, 0xc6, 0xc7, 0x57, 0x5a, 0x5d +db 0x14, 0xb, 0x18, 0x5, 0x9, 0x3, 0x6, 0xa, 0x6, 0x13, 0x22, 0x19 +db 0x37, 0x36, 0x3d, 0x86, 0x87, 0x8a, 0xd5, 0xe7, 0xe7, 0xdc, 0xe5, 0xe6 +db 0x6c, 0x72, 0x73, 0x39, 0x37, 0x35, 0x42, 0x4a, 0x50, 0x10, 0x15, 0x1c +db 0x6, 0x20, 0x2, 0x22, 0x6c, 0x14, 0x15, 0x32, 0x14, 0xb, 0x24, 0x14 +db 0x3b, 0xcc, 0x26, 0x31, 0xff, 0x8, 0x2c, 0xff, 0x2, 0x2c, 0xfe, 0x3 +db 0x4b, 0xd3, 0x37, 0x12, 0x68, 0x2, 0x45, 0xff, 0x25, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x3f, 0xf3, 0x27, 0x21, 0x5e, 0x1d, 0x29, 0x3b, 0x3a, 0xc0, 0xca, 0xcb +db 0xeb, 0xf3, 0xf3, 0xea, 0xf2, 0xf2, 0xc9, 0xc8, 0xc9, 0xc5, 0xc4, 0xc5 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc6, 0xc5, 0xc7, 0x38, 0x3e, 0x36, 0x13, 0x3c, 0x21, 0x35, 0xd4, 0x22 +db 0x2f, 0xff, 0x6, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x43, 0xe6, 0x21, 0x18, 0x4d, 0x13, 0x7, 0x17, 0x5, 0x36, 0xa5, 0x25 +db 0x31, 0xf2, 0x19, 0x2c, 0xea, 0x8, 0x21, 0x6c, 0x14, 0x62, 0x5d, 0x61 +db 0x7e, 0x88, 0x86, 0x61, 0x77, 0x73, 0x36, 0x3c, 0x3a, 0x23, 0x23, 0x22 +db 0x1f, 0x23, 0x23, 0xe, 0xd, 0x10, 0x9, 0xa, 0x8, 0x25, 0x2c, 0x36 +db 0x70, 0x78, 0x7d, 0xba, 0xb8, 0xbb, 0xcd, 0xca, 0xcb, 0xff, 0xff, 0xff +db 0xf3, 0xf3, 0xf3, 0xa3, 0xa1, 0xa1, 0x4c, 0x51, 0x51, 0x20, 0x2e, 0x2e +db 0x28, 0x26, 0x2b, 0x3f, 0x3f, 0x4a, 0x10, 0xc, 0x14, 0x2e, 0x83, 0x37 +db 0x2f, 0xf6, 0x11, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x2 +db 0x3f, 0xe2, 0x1d, 0x2e, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x30, 0xf9, 0xe +db 0x27, 0xa2, 0x29, 0x1c, 0x33, 0x25, 0x2b, 0x27, 0x2d, 0x5f, 0x62, 0x65 +db 0x60, 0x69, 0x70, 0x5e, 0x68, 0x71, 0x1e, 0x23, 0x1f, 0x17, 0x18, 0x16 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xca, 0xc7, 0xca, 0x3b, 0x38, 0x38, 0x23, 0x5f, 0x1b +db 0x3b, 0xe1, 0x1e, 0x2f, 0xff, 0x6, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x3, 0x41, 0xf1, 0x23, 0x21, 0x61, 0x18, 0x3, 0x11, 0x8 +db 0x21, 0x70, 0x26, 0x27, 0x72, 0x18, 0x24, 0x19, 0x26, 0x6, 0x2, 0x7 +db 0x10, 0x3c, 0x6, 0x14, 0x81, 0x6, 0x11, 0x84, 0x2, 0x15, 0x88, 0x2 +db 0x16, 0x88, 0x2, 0x16, 0x8b, 0x2, 0x28, 0x7e, 0x1a, 0x24, 0x5b, 0x16 +db 0xf, 0x33, 0x1a, 0x15, 0x15, 0x15, 0x28, 0x2b, 0x27, 0xa5, 0x9f, 0xa5 +db 0xc5, 0xc3, 0xc4, 0xff, 0xff, 0xff, 0xd7, 0xd9, 0xd9, 0x60, 0x6f, 0x70 +db 0x31, 0x37, 0x37, 0x42, 0x48, 0x4e, 0x24, 0x4a, 0x37, 0x35, 0xc9, 0x20 +db 0x31, 0xff, 0x8, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x34, 0xff, 0xc, 0x32, 0xda, 0x13, 0x1a, 0x79, 0x15 +db 0x11, 0x2d, 0x17, 0xf, 0xb, 0x12, 0x9, 0x6, 0x8, 0x7, 0x23, 0x11 +db 0x17, 0x4b, 0x10, 0x1a, 0x59, 0x10, 0x24, 0x75, 0x19, 0x11, 0x85, 0x1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xab, 0xb3, 0xb6, 0x12, 0xe, 0x16 +db 0x33, 0x92, 0x39, 0x30, 0xf9, 0xc, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x4, 0x3f, 0xed, 0x21, 0x23, 0x64, 0x1b +db 0x2, 0x2, 0x2, 0x19, 0x1c, 0x19, 0x69, 0x75, 0x6f, 0x3c, 0x3a, 0x42 +db 0x1f, 0x63, 0x22, 0x39, 0xf9, 0x20, 0x2c, 0xff, 0x2, 0x2e, 0xff, 0x2 +db 0x2f, 0xff, 0x2, 0x2e, 0xff, 0x2, 0x3e, 0xff, 0x1c, 0x3f, 0xf6, 0x1c +db 0x30, 0xd4, 0x23, 0x17, 0x92, 0x2, 0x2b, 0x7e, 0x24, 0x23, 0x46, 0x32 +db 0x2f, 0x2f, 0x2e, 0xb4, 0xb8, 0xba, 0xee, 0xf9, 0xf9, 0xde, 0xe4, 0xe5 +db 0x7e, 0x86, 0x88, 0x20, 0x16, 0x23, 0x2f, 0x76, 0x31, 0x32, 0xf3, 0x13 +db 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x31, 0xff, 0x8 +db 0x40, 0xf5, 0x27, 0x2e, 0xb7, 0x27, 0x15, 0x41, 0xf, 0x2, 0x2, 0x2 +db 0x8, 0x5, 0x7, 0x25, 0x4a, 0x1e, 0x31, 0x7e, 0x24, 0x2f, 0xc0, 0x25 +db 0x3c, 0xf0, 0x1d, 0x40, 0xfe, 0x1e, 0x40, 0xff, 0x1f, 0x2c, 0xff, 0x2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xfe, 0xfd, 0x4c, 0x48, 0x4f +db 0xc, 0x32, 0x14, 0x2d, 0xb4, 0x2e, 0x2c, 0xfc, 0x5, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x5, 0x3d, 0xe7, 0x1e +db 0x23, 0x5b, 0x18, 0xd, 0x11, 0xe, 0x51, 0x5c, 0x60, 0x48, 0x50, 0x55 +db 0xb, 0x1e, 0x10, 0x31, 0xb6, 0x23, 0x35, 0xff, 0xd, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2f, 0xff, 0x5, 0x3b, 0xfa, 0x1b, 0x2d, 0xc9, 0x20 +db 0x23, 0x66, 0x1a, 0x22, 0x22, 0x27, 0xac, 0xb2, 0xb4, 0xff, 0xff, 0xff +db 0xfe, 0xff, 0xff, 0x57, 0x59, 0x59, 0x32, 0x8e, 0x22, 0x38, 0xfb, 0x13 +db 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x31, 0xfe, 0x5, 0x42, 0xec, 0x27, 0x2d, 0xb6, 0x2b +db 0x1a, 0x55, 0x15, 0x11, 0x27, 0x1b, 0x10, 0x17, 0x17, 0x1b, 0x37, 0x2f +db 0x34, 0x78, 0x39, 0x3c, 0xd4, 0x1f, 0x3e, 0xff, 0x1b, 0x30, 0xff, 0x8 +db 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0xd8, 0xd9 +db 0x3d, 0x3e, 0x3b, 0xe, 0x35, 0x15, 0x2a, 0xb3, 0x2d, 0x44, 0xfa, 0x29 +db 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x5 +db 0x2d, 0xc2, 0xc, 0x3, 0xb, 0x5, 0x26, 0x38, 0x3d, 0x42, 0x5a, 0x5b +db 0x16, 0x13, 0x17, 0x29, 0x6d, 0x31, 0x32, 0xf1, 0x1b, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x29, 0xff, 0x2, 0x29, 0xff, 0x2 +db 0x29, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2f, 0xff, 0x6 +db 0x3a, 0xe7, 0x1e, 0x23, 0x64, 0x1b, 0x32, 0x2d, 0x32, 0xc3, 0xc1, 0xc3 +db 0xff, 0xff, 0xff, 0x64, 0x67, 0x62, 0x1d, 0xa6, 0x5, 0x2e, 0xff, 0x7 +db 0x29, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x43, 0xfe, 0x25, 0x46, 0xf0, 0x26 +db 0x32, 0xc1, 0x31, 0x13, 0x6b, 0x2, 0x1e, 0x53, 0x15, 0x11, 0x27, 0x19 +db 0x1b, 0x1a, 0x19, 0x2b, 0x24, 0x27, 0x3c, 0x58, 0x48, 0x2c, 0xab, 0x36 +db 0x38, 0xf9, 0x19, 0x31, 0xff, 0x9, 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xdb, 0xdb, 0xdc, 0x38, 0x3c, 0x37, 0x31, 0x45, 0x36, 0x19, 0x55, 0x10 +db 0x46, 0xeb, 0x27, 0x45, 0xfc, 0x28, 0x31, 0xff, 0x7, 0x44, 0xef, 0x31 +db 0x22, 0x8d, 0x25, 0xa, 0x14, 0x7, 0x70, 0x74, 0x79, 0xd7, 0xe4, 0xe6 +db 0x55, 0x57, 0x5c, 0x2, 0xd, 0x2, 0x38, 0xb1, 0x23, 0x36, 0xfe, 0xd +db 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x43, 0xec, 0x28, 0x45, 0xda, 0x28 +db 0x43, 0xf2, 0x25, 0x2d, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2e, 0xff, 0x5, 0x3b, 0xe7, 0x1d, 0x1e, 0x5e, 0x15, 0x5d, 0x63, 0x67 +db 0xd2, 0xe3, 0xe8, 0x4a, 0x53, 0x51, 0x18, 0xb4, 0x2, 0x42, 0xff, 0x20 +db 0x4a, 0xf2, 0x28, 0x38, 0xca, 0x37, 0x1e, 0x64, 0x17, 0x17, 0x3b, 0x10 +db 0xe, 0x24, 0x14, 0x2, 0x2, 0x2, 0x9, 0xd, 0x8, 0x4f, 0x4b, 0x4f +db 0xca, 0xcc, 0xcf, 0x70, 0x96, 0x86, 0x30, 0xb2, 0x2f, 0x2b, 0xfb, 0x5 +db 0x29, 0xff, 0x2, 0x29, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x43, 0xf5, 0x1c +db 0x34, 0xbd, 0x34, 0x2f, 0xaa, 0x39, 0x44, 0xe2, 0x2e, 0x2c, 0xfe, 0x3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe6, 0xe4, 0xe5, 0x95, 0xa5, 0xa6, 0x2d, 0x32, 0x2f +db 0x7, 0x20, 0x2, 0x11, 0x45, 0x8, 0x11, 0x4d, 0x5, 0x24, 0x4f, 0x24 +db 0x18, 0x30, 0x2d, 0x13, 0x13, 0x13, 0x46, 0x50, 0x46, 0x62, 0x6d, 0x60 +db 0xa0, 0xab, 0xa3, 0x63, 0x63, 0x66, 0xe, 0x21, 0xb, 0x25, 0xd0, 0x4 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x32, 0xfa, 0xc, 0x32, 0xf4, 0xd +db 0x35, 0x9c, 0x43, 0x10, 0x50, 0x2, 0x48, 0xef, 0x26, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x2e, 0xff, 0x4, 0x38, 0xdf, 0x17, 0x45, 0x82, 0x3b +db 0x89, 0x99, 0x9b, 0x48, 0x60, 0x51, 0x5, 0x39, 0x2, 0x11, 0x49, 0x7 +db 0xf, 0x2d, 0x9, 0x6, 0x18, 0x9, 0x2, 0x3, 0x2, 0x8, 0x4, 0x7 +db 0x1b, 0x20, 0x22, 0x67, 0x78, 0x79, 0x13, 0x13, 0x15, 0x34, 0x38, 0x3a +db 0x5b, 0x59, 0x5b, 0x23, 0x34, 0x26, 0x21, 0x82, 0x1e, 0x30, 0xd8, 0x2a +db 0x43, 0xe1, 0x32, 0x48, 0xd3, 0x46, 0x1c, 0x6f, 0x19, 0xb, 0x32, 0x2 +db 0x3e, 0xa2, 0x30, 0x31, 0xe4, 0x17, 0x32, 0xf8, 0xe, 0x2a, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf7, 0xf7, 0xdc, 0xde, 0xdf +db 0x85, 0x99, 0x9a, 0x37, 0x3b, 0x38, 0xc, 0x10, 0xc, 0xe, 0x1f, 0xc +db 0x19, 0x44, 0x12, 0x4c, 0xc8, 0x37, 0x3e, 0xe2, 0x24, 0x35, 0xa6, 0x1f +db 0x55, 0x50, 0x54, 0x4a, 0x44, 0x49, 0x12, 0x1d, 0xe, 0x25, 0x7d, 0x31 +db 0x2d, 0xf0, 0xf, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2e, 0xed, 0xd, 0x3f, 0xa6, 0x29, 0xa, 0x2c, 0x4, 0x19, 0x60, 0xc +db 0x46, 0xf2, 0x24, 0x29, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x33, 0xa9, 0x18 +db 0x83, 0x8e, 0x92, 0x47, 0x53, 0x52, 0x2, 0x2, 0x2, 0x24, 0x26, 0x23 +db 0x31, 0x30, 0x30, 0x5c, 0x78, 0x79, 0x3d, 0x40, 0x41, 0x10, 0xf, 0x12 +db 0x4, 0x2, 0x6, 0x10, 0x11, 0x14, 0x6, 0x1b, 0x3, 0xa, 0x1c, 0x7 +db 0xb, 0x1c, 0x8, 0x6, 0x18, 0x3, 0x8, 0x26, 0x5, 0x8, 0x22, 0x6 +db 0x8, 0x13, 0x8, 0xa, 0x19, 0xa, 0x2, 0x5, 0x2, 0x2b, 0x6e, 0x37 +db 0x3e, 0xe0, 0x25, 0x36, 0xf7, 0x11, 0x2d, 0xff, 0x4, 0x2a, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xde, 0xe0, 0xe1, 0x34, 0x37, 0x35, 0xf, 0x37, 0x7, 0x44, 0xd5, 0x27 +db 0x28, 0xf5, 0x2, 0x2f, 0xfd, 0x6, 0x2b, 0xff, 0x2, 0x3c, 0xf6, 0x18 +db 0x44, 0x9f, 0x59, 0x22, 0x31, 0x39, 0x6, 0x3, 0x5, 0x3, 0x12, 0x3 +db 0x3e, 0xbf, 0x2d, 0x31, 0xfd, 0xb, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x31, 0xf7, 0xb, 0x3e, 0xb5, 0x2d, 0x2, 0x15, 0x2 +db 0x17, 0x4d, 0x18, 0x32, 0xd1, 0x2e, 0x36, 0xcc, 0x15, 0x46, 0x58, 0x43 +db 0x46, 0x4f, 0x46, 0x37, 0x34, 0x36, 0x75, 0x83, 0x83, 0xa1, 0xb9, 0xba +db 0x54, 0x59, 0x59, 0x11, 0x12, 0x14, 0xa, 0x1f, 0x6, 0x2e, 0x87, 0x3f +db 0x46, 0xc0, 0x2f, 0x46, 0xd1, 0x34, 0x41, 0xd8, 0x2c, 0x26, 0xed, 0x2 +db 0x29, 0xec, 0x2, 0x27, 0xed, 0x2, 0x34, 0xe2, 0x16, 0x48, 0xd2, 0x38 +db 0x48, 0xcb, 0x2f, 0x3b, 0xab, 0x3e, 0x10, 0x2e, 0x18, 0x3, 0x2, 0x5 +db 0xb, 0x34, 0x3, 0x30, 0xdc, 0x11, 0x2d, 0xff, 0x4, 0x2a, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0xe6, 0xe6 +db 0x41, 0x44, 0x41, 0x10, 0x3c, 0xa, 0x46, 0xec, 0x2e, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x3c, 0xf1, 0x17, 0x2d, 0x7d, 0x1d +db 0x2, 0xc, 0x4, 0x6, 0x19, 0x5, 0x15, 0x35, 0xf, 0xa, 0x18, 0xa +db 0x4, 0x15, 0x2, 0x41, 0xc3, 0x31, 0x2f, 0xfc, 0x8, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x32, 0xfb, 0xd, 0x3d, 0xb5, 0x2c +db 0x4, 0x1a, 0x2, 0x5, 0x23, 0x2, 0x17, 0x34, 0x12, 0xa3, 0xad, 0xa0 +db 0xd1, 0xdd, 0xde, 0xd6, 0xe2, 0xe2, 0x7d, 0x7e, 0x7e, 0x3f, 0x41, 0x41 +db 0x13, 0x25, 0x11, 0x3e, 0xaf, 0x27, 0x49, 0xdb, 0x34, 0x2e, 0xf9, 0x7 +db 0x2d, 0xfd, 0x4, 0x2d, 0xfe, 0x4, 0x2d, 0xfe, 0x4, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x3, 0x2d, 0xfe, 0x4 +db 0x2c, 0xff, 0x2, 0x43, 0xf9, 0x27, 0x1b, 0x46, 0x16, 0x5, 0x1e, 0x2 +db 0x2c, 0xca, 0x10, 0x2d, 0xff, 0x5, 0x2c, 0xff, 0x2, 0x2b, 0xfd, 0x2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xee, 0xee, 0x42, 0x44, 0x41 +db 0xf, 0x3a, 0x9, 0x47, 0xee, 0x2f, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x38, 0xea, 0x17, 0x2e, 0x7b, 0x1f, 0x2, 0x15, 0x2 +db 0x1e, 0x69, 0x26, 0x43, 0xc2, 0x3d, 0x37, 0xfe, 0xa, 0x34, 0xb8, 0x40 +db 0xa, 0x15, 0x11, 0x26, 0x71, 0x39, 0x2c, 0xeb, 0xe, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x34, 0xfe, 0xe +db 0x3b, 0xb4, 0x2a, 0x2, 0xf, 0x2, 0xe, 0xc, 0xf, 0x89, 0x88, 0x89 +db 0xff, 0xff, 0xff, 0xcf, 0xdc, 0xde, 0x33, 0x4b, 0x39, 0x1f, 0x76, 0x2c +db 0x46, 0xd9, 0x39, 0x31, 0xfc, 0x9, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x41, 0xfc, 0x24, 0x23, 0x68, 0x1b, 0x7, 0x2a, 0x2, 0x2b, 0xc9, 0x10 +db 0x2e, 0xff, 0x5, 0x2c, 0xff, 0x2, 0x2b, 0xf9, 0x6, 0x43, 0xc4, 0x2a +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4c, 0x4b, 0x4c, 0xe, 0x35, 0xd +db 0x47, 0xde, 0x29, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x2 +db 0x31, 0xd8, 0x1a, 0x1f, 0x56, 0x31, 0x5, 0x27, 0x2, 0x2b, 0x8d, 0x18 +db 0x3e, 0xfb, 0x17, 0x2a, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x35, 0xff, 0xb +db 0x11, 0x43, 0x8, 0x3, 0xe, 0x2, 0x26, 0x72, 0x38, 0x2c, 0xe9, 0xf +db 0x31, 0xfc, 0xb, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x34, 0xfd, 0xd, 0x36, 0xa0, 0x21, 0x2, 0x2, 0x2, 0x16, 0x14, 0x18 +db 0xaa, 0xac, 0xaf, 0x87, 0x94, 0x88, 0x2e, 0x86, 0x3a, 0x2d, 0xed, 0x11 +db 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x31, 0xf9, 0xa +db 0x2d, 0xee, 0xd, 0x2d, 0xee, 0xd, 0x31, 0xfc, 0xa, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2f, 0xff, 0x3 +db 0x30, 0xbf, 0x2b, 0x1b, 0x5b, 0x1e, 0x2a, 0xc8, 0xb, 0x33, 0xff, 0xd +db 0x32, 0xfc, 0xb, 0x27, 0xe4, 0x2, 0x29, 0x8a, 0x38, 0xa, 0x20, 0x9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd6, 0xd5, 0xd6, 0x41, 0x41, 0x40, 0x3a, 0xaa, 0x45 +db 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2d, 0xff, 0x3, 0x37, 0xe7, 0x16 +db 0x33, 0x7d, 0x22, 0x1b, 0x5f, 0x1c, 0x33, 0xdd, 0x28, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x33, 0xff, 0x9 +db 0x17, 0x5a, 0xc, 0x2b, 0x31, 0x31, 0xf, 0x1c, 0xb, 0x30, 0x76, 0x41 +db 0x3d, 0xbb, 0x2c, 0x34, 0xfa, 0xc, 0x33, 0xfe, 0xc, 0x2e, 0xff, 0x4 +db 0x34, 0xff, 0x10, 0x1e, 0xa9, 0xa, 0x2, 0x2, 0x2, 0x62, 0x67, 0x6b +db 0xb0, 0xc0, 0xc5, 0x55, 0x9f, 0x6b, 0x2c, 0xe5, 0x13, 0x2b, 0xff, 0x2 +db 0x33, 0xff, 0xb, 0x30, 0xef, 0x12, 0x23, 0xd1, 0x3, 0x3c, 0xa6, 0x27 +db 0x38, 0x9d, 0x46, 0x33, 0xae, 0x3b, 0x43, 0xee, 0x27, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2e, 0xff, 0x5, 0x3c, 0xd6, 0x1d +db 0x28, 0x65, 0x1f, 0x23, 0x91, 0x11, 0x25, 0xd5, 0x2, 0x36, 0xbf, 0x20 +db 0x3e, 0xa9, 0x29, 0x12, 0x2a, 0xf, 0x21, 0x34, 0x21, 0x63, 0x64, 0x64 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0x55, 0x51, 0x55, 0xf, 0x39, 0x14, 0x41, 0xe8, 0x26 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x32, 0xfb, 0xc, 0x41, 0xb9, 0x31 +db 0x19, 0x77, 0x8, 0x43, 0xff, 0x21, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x43, 0xea, 0x32 +db 0x16, 0x41, 0x10, 0xa7, 0xbb, 0xb7, 0x81, 0x80, 0x83, 0x57, 0x57, 0x5c +db 0xf, 0x1d, 0xd, 0x37, 0x94, 0x24, 0x36, 0xb0, 0x24, 0x26, 0xc0, 0x8 +db 0x38, 0x98, 0x33, 0x14, 0x42, 0x23, 0x17, 0x23, 0x17, 0xae, 0xae, 0xb2 +db 0x9f, 0x9d, 0x9d, 0x3b, 0xac, 0x27, 0x35, 0xff, 0xd, 0x33, 0xff, 0x9 +db 0x3c, 0xc1, 0x26, 0x2a, 0x78, 0x38, 0x5, 0x13, 0x7, 0x16, 0x47, 0xe +db 0x42, 0xe0, 0x20, 0x2b, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x2f, 0xff, 0x7, 0x3d, 0xdd, 0x1e, 0x1d, 0x4f, 0x13 +db 0x12, 0x22, 0x1e, 0x1a, 0x2a, 0x22, 0xd, 0x11, 0xa, 0x26, 0x36, 0x29 +db 0x3d, 0x38, 0x40, 0x6d, 0x69, 0x6e, 0xc3, 0xd3, 0xd5, 0xfe, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xea, 0xf0, 0xf2, 0x43, 0x43, 0x42, 0x3d, 0xa9, 0x45, 0x2a, 0xfc, 0x4 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x30, 0xfa, 0x7, 0x3f, 0xe4, 0x1b +db 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x2d, 0xff, 0x2, 0x31, 0xf6, 0x11, 0x1f, 0x8b, 0x27 +db 0x28, 0x35, 0x2d, 0xdb, 0xd9, 0xd9, 0xff, 0xff, 0xff, 0xcd, 0xdc, 0xdd +db 0x84, 0x82, 0x86, 0x30, 0x2d, 0x3a, 0x10, 0x1d, 0x17, 0x3, 0x2, 0x3 +db 0x5, 0xa, 0x4, 0xa, 0x8, 0xd, 0x21, 0x30, 0x2b, 0x86, 0x8e, 0x90 +db 0x81, 0x84, 0x82, 0x26, 0x8e, 0x13, 0x1b, 0xbe, 0x2, 0x34, 0xa5, 0x1d +db 0xa, 0x21, 0x8, 0x17, 0x42, 0xd, 0x13, 0x66, 0x3, 0x42, 0xf5, 0x26 +db 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2 +db 0x2f, 0xff, 0x7, 0x3b, 0xe3, 0x20, 0x24, 0x5f, 0x1c, 0xf, 0xd, 0x11 +db 0x2a, 0x2a, 0x2d, 0x54, 0x58, 0x5a, 0x67, 0x6d, 0x71, 0x80, 0x8d, 0x92 +db 0xbc, 0xbd, 0xc0, 0xc7, 0xc7, 0xc9, 0xc8, 0xc5, 0xc7, 0xc1, 0xbf, 0xc1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x99, 0xa2, 0xa6, 0x1e, 0x4b, 0x2a, 0x3c, 0xe3, 0x21, 0x2d, 0xff, 0x4 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x29, 0xff, 0x2 +db 0x37, 0xff, 0x10, 0x2b, 0xd0, 0xa, 0x1c, 0x78, 0x1e, 0x9, 0x22, 0xc +db 0x65, 0x67, 0x65, 0xef, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xba, 0xbc, 0xbd, 0x79, 0x87, 0x86, 0x23, 0x36, 0x2f, 0x2b, 0x5f, 0x1f +db 0x2d, 0x80, 0x22, 0x30, 0x7e, 0x25, 0x27, 0x28, 0x24, 0x25, 0x21, 0x23 +db 0x2e, 0x3a, 0x31, 0x15, 0x1d, 0x14, 0x4, 0x3, 0x4, 0x2, 0x2, 0x2 +db 0x1a, 0x4f, 0x15, 0x40, 0xdc, 0x22, 0x32, 0xfe, 0x5, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2f, 0xff, 0x6 +db 0x3c, 0xe3, 0x1f, 0x26, 0x60, 0x1e, 0x3c, 0x3e, 0x43, 0x5b, 0x60, 0x63 +db 0x23, 0x1d, 0x20, 0x3d, 0x41, 0x49, 0x69, 0x73, 0x7e, 0x32, 0x36, 0x35 +db 0x18, 0x1a, 0x18, 0x18, 0x19, 0x18, 0x17, 0x18, 0x17, 0x15, 0x16, 0x15 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x64, 0x5a, 0x63, 0x40, 0xa1, 0x41, 0x2d, 0xf9, 0x7, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x29, 0xff, 0x2, 0x35, 0xff, 0xd, 0x3d, 0xf2, 0x27 +db 0x2e, 0xae, 0x24, 0xd, 0x2a, 0x9, 0x2, 0x2, 0x2, 0x6e, 0x71, 0x6f +db 0xef, 0xef, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa1, 0xa0, 0xa3 +db 0x16, 0x1f, 0x15, 0x3f, 0x8c, 0x2e, 0x1b, 0x9f, 0x2, 0x43, 0xfe, 0x1f +db 0x3a, 0xff, 0x15, 0x36, 0xe9, 0x12, 0x48, 0x86, 0x4f, 0x28, 0x33, 0x3d +db 0xa, 0x8, 0xa, 0x6, 0x2, 0x5, 0xb, 0xa, 0x17, 0x21, 0x5f, 0x1c +db 0x3f, 0xe7, 0x21, 0x2e, 0xff, 0x6, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2f, 0xff, 0x5, 0x3c, 0xdb, 0x1d +db 0x24, 0x61, 0x22, 0x25, 0x2b, 0x30, 0x4a, 0x4a, 0x53, 0x37, 0x38, 0x3e +db 0x13, 0x2c, 0x1c, 0x1c, 0x52, 0x1b, 0x1f, 0x60, 0x12, 0x27, 0x76, 0x1b +db 0x19, 0x8b, 0x7, 0x15, 0x8e, 0x2, 0x15, 0x8e, 0x2, 0x13, 0x8d, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x4a, 0x4e, 0x4a, 0x48, 0xbe, 0x35, 0x30, 0xfc, 0x8, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x35, 0xfd, 0xa, 0x40, 0xe9, 0x29, 0x2b, 0xab, 0x26, 0x19, 0x51, 0x19 +db 0xd, 0x1d, 0x13, 0x35, 0x3d, 0x3e, 0x87, 0x8b, 0x8e, 0xec, 0xeb, 0xec +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9d, 0x9a, 0x9d, 0x16, 0x1c, 0x16 +db 0x2d, 0x90, 0x20, 0x39, 0xf6, 0x13, 0x2d, 0xff, 0x2, 0x29, 0xff, 0x2 +db 0x31, 0xff, 0xa, 0x3d, 0xcd, 0x20, 0x1d, 0x53, 0x23, 0xa, 0xf, 0x19 +db 0x2, 0x2, 0x2, 0x2, 0x5, 0x2, 0x4, 0x2, 0xd, 0x41, 0xa5, 0x44 +db 0x32, 0xfd, 0x11, 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x30, 0xfc, 0x6, 0x32, 0xbe, 0x2d, 0x23, 0x51, 0x17 +db 0x15, 0x11, 0x1a, 0x30, 0x31, 0x39, 0x13, 0x33, 0xe, 0x2b, 0x7a, 0x1c +db 0x2f, 0xb7, 0x24, 0x39, 0xef, 0x1d, 0x3f, 0xfe, 0x1b, 0x40, 0xff, 0x1f +db 0x31, 0xff, 0x8, 0x2e, 0xff, 0x2, 0x2e, 0xff, 0x2, 0x2c, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x36, 0x41, 0x33, 0x2e, 0xd1, 0x11, 0x2b, 0xff, 0x4, 0x2a, 0xff, 0x2 +db 0x2d, 0xff, 0x3, 0x46, 0xfc, 0x28, 0x42, 0xec, 0x26, 0x2a, 0xb5, 0x28 +db 0x15, 0x69, 0x2, 0x19, 0x4b, 0x15, 0x10, 0x24, 0x18, 0xe, 0xb, 0xc +db 0x62, 0x5d, 0x61, 0xd4, 0xda, 0xdb, 0xf9, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0x9d, 0x9a, 0x9d, 0x19, 0x1e, 0x19, 0x30, 0x92, 0x24 +db 0x3a, 0xfd, 0x18, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x32, 0xff, 0x8 +db 0x3f, 0xc7, 0x22, 0x12, 0x34, 0xb, 0x8, 0x1d, 0x11, 0x2c, 0x71, 0x2f +db 0x2b, 0xa9, 0xe, 0x21, 0x8b, 0x21, 0xd, 0x26, 0x10, 0x16, 0x37, 0x1d +db 0x3f, 0xdc, 0x2c, 0x32, 0xff, 0x8, 0x2e, 0xff, 0x2, 0x44, 0xfd, 0x25 +db 0x41, 0xea, 0x21, 0xe, 0x68, 0x2, 0x10, 0x3b, 0x18, 0x23, 0x30, 0x30 +db 0x12, 0x25, 0x13, 0x38, 0x7e, 0x41, 0x37, 0xc2, 0x1c, 0x3d, 0xff, 0x17 +db 0x33, 0xff, 0xc, 0x2a, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0xe3, 0xe6 +db 0x2b, 0x38, 0x2d, 0x25, 0xe1, 0x2, 0x44, 0xfe, 0x26, 0x46, 0xee, 0x27 +db 0x32, 0xbe, 0x34, 0x1b, 0x58, 0x13, 0x13, 0x36, 0xe, 0x8, 0x1c, 0x10 +db 0x7, 0x5, 0x6, 0x16, 0x18, 0x15, 0x59, 0x55, 0x59, 0xc5, 0xc4, 0xc5 +db 0xe6, 0xe6, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x9c, 0x9b, 0x9d, 0x1c, 0x22, 0x18, 0x33, 0x85, 0x21, 0x38, 0xf7, 0x16 +db 0x2b, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2b, 0xf8, 0x9, 0x2e, 0xa4, 0x31 +db 0x10, 0x2d, 0x5, 0x12, 0x31, 0xc, 0x38, 0xbf, 0x24, 0x34, 0xf2, 0x17 +db 0x33, 0xff, 0x8, 0x31, 0xff, 0x11, 0x15, 0x65, 0xb, 0x2, 0x2, 0x2 +db 0x14, 0x46, 0xe, 0x12, 0x65, 0x4, 0x11, 0x67, 0x2, 0x14, 0x54, 0x9 +db 0x9, 0x2e, 0x3, 0x26, 0x29, 0x28, 0x6a, 0x7c, 0x74, 0x37, 0x4f, 0x3d +db 0x25, 0x8e, 0x2c, 0x32, 0xf5, 0x15, 0x33, 0xff, 0xc, 0x2a, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2b, 0xff, 0x2, 0x2a, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0xd6, 0xd9 +db 0x26, 0x40, 0x29, 0xd, 0x50, 0x2, 0x14, 0x51, 0xa, 0x10, 0x30, 0xa +db 0x2, 0x16, 0x7, 0x4, 0x3, 0x4, 0x1f, 0x1c, 0x20, 0x41, 0x3e, 0x40 +db 0xc1, 0xc1, 0xc3, 0xca, 0xcc, 0xcc, 0xe3, 0xe3, 0xe3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x6a, 0x62, 0x69, 0x25, 0x63, 0x37, 0x34, 0xe9, 0x12, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2d, 0xfe, 0x5, 0x41, 0xc7, 0x26, 0xe, 0x2f, 0x19 +db 0x25, 0x8b, 0x2c, 0x29, 0xdf, 0x2, 0x33, 0xff, 0xa, 0x2b, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2e, 0xff, 0x2, 0x11, 0x6f, 0x2, 0xf, 0x13, 0x11 +db 0x13, 0x18, 0x14, 0x3, 0x4, 0x3, 0x8, 0xb, 0x8, 0x63, 0x78, 0x74 +db 0xae, 0xac, 0xb0, 0xc6, 0xc9, 0xcb, 0x96, 0xb6, 0xb0, 0x2b, 0x93, 0x32 +db 0x2d, 0xf7, 0xb, 0x2b, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x3e, 0xf7, 0x16, 0x3a, 0xc3, 0x35, 0x2d, 0xa3, 0x3b, 0x42, 0xd5, 0x35 +db 0x33, 0xfb, 0xc, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xde, 0xde +db 0x22, 0x2b, 0x28, 0x2, 0x2, 0x2, 0x26, 0x29, 0x26, 0x2c, 0x2b, 0x2d +db 0x84, 0x98, 0x98, 0xca, 0xc9, 0xca, 0xd8, 0xdb, 0xdb, 0xe7, 0xe7, 0xe7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x8c, 0x8f +db 0x17, 0x1e, 0x14, 0x41, 0xb9, 0x36, 0x2f, 0xfc, 0x8, 0x2c, 0xff, 0x2 +db 0x2e, 0xfd, 0x5, 0x41, 0xd5, 0x2d, 0x16, 0x41, 0xf, 0x41, 0xd4, 0x2c +db 0x2c, 0xf8, 0x8, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2a, 0xff, 0x2, 0x41, 0xff, 0x20, 0x12, 0x5a, 0x4, 0x5e, 0x72, 0x6d +db 0xcf, 0xd3, 0xd3, 0xaa, 0xb3, 0xb4, 0x32, 0x36, 0x38, 0x26, 0x28, 0x2a +db 0xcc, 0xcc, 0xcc, 0xeb, 0xec, 0xea, 0x48, 0x71, 0x47, 0x41, 0xe7, 0x2e +db 0x28, 0xff, 0x2, 0x37, 0xfe, 0x10, 0x45, 0xda, 0x3e, 0x1e, 0x78, 0x23 +db 0x6, 0x2b, 0x2, 0x34, 0x85, 0x27, 0x39, 0xe4, 0x1e, 0x30, 0xf8, 0xb +db 0x2d, 0xfe, 0x4, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x29, 0xff, 0x0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7b, 0x7d, 0x7d +db 0x2e, 0x2d, 0x2d, 0x7b, 0x8e, 0x8e, 0xd8, 0xdc, 0xdc, 0xea, 0xea, 0xea +db 0xf5, 0xf7, 0xf7, 0xfe, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x72, 0x69, 0x70 +db 0x2d, 0x6e, 0x3f, 0x2f, 0xea, 0x10, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2e, 0xfc, 0x5, 0x49, 0xd2, 0x2e, 0x27, 0xea, 0x2, 0x2f, 0xff, 0x7 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2b, 0xff, 0x2, 0x30, 0xd0, 0x2a, 0x2a, 0x4c, 0x32, 0xb3, 0xb3, 0xb5 +db 0xfe, 0xfe, 0xfe, 0xf6, 0xf8, 0xf9, 0xac, 0xbb, 0xbb, 0x25, 0x3c, 0x3a +db 0x7a, 0x74, 0x74, 0xe2, 0xe3, 0xe1, 0x3b, 0x6f, 0x31, 0x2d, 0xff, 0x2 +db 0x36, 0xfb, 0xf, 0x38, 0x9f, 0x24, 0x8, 0x25, 0x7, 0x3, 0x17, 0x3 +db 0x29, 0x77, 0x1e, 0x3c, 0xf1, 0x1b, 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2 +db 0x2c, 0xff, 0x2, 0x2c, 0xff, 0x2, 0x2a, 0xff, 0x2, 0x46, 0xec, 0x2e +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb1, 0xc2, 0xc2 +db 0xde, 0xe4, 0xe4, 0xfa, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0xde, 0xe1, 0x2d, 0x3c, 0x30 +db 0x39, 0xb1, 0x2a, 0x2f, 0xfc, 0x9, 0x2a, 0xff, 0x0, 0x2a, 0xff, 0x0 +db 0x2a, 0xff, 0x0, 0x2c, 0xfc, 0x3, 0x2a, 0xff, 0x0, 0x2a, 0xff, 0x0 +db 0x2a, 0xff, 0x0, 0x2a, 0xff, 0x0, 0x2a, 0xff, 0x0, 0x2a, 0xff, 0x0 +db 0x30, 0xd3, 0x27, 0x12, 0x4f, 0x1b, 0x1a, 0x21, 0x18, 0xca, 0xc8, 0xca +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf5, 0xf5, 0xb2, 0xbb, 0xbd +db 0x7c, 0x7b, 0x7a, 0xe6, 0xe8, 0xe5, 0x33, 0x4c, 0x2f, 0x4, 0x2d, 0x0 +db 0x7, 0x2c, 0x0, 0x4, 0x1f, 0x1, 0x21, 0x5f, 0x14, 0x3d, 0xe6, 0x1b +db 0x29, 0xfb, 0x0, 0x2b, 0xff, 0x1, 0x2a, 0xff, 0x0, 0x2a, 0xff, 0x0 +db 0x2a, 0xff, 0x0, 0x29, 0xff, 0x0, 0x46, 0xec, 0x2e, 0xb, 0x35, 0x6 \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/lives.inc b/programs/games/hunter/trunk/inc/lives.inc new file mode 100644 index 0000000000..b167730f5c --- /dev/null +++ b/programs/games/hunter/trunk/inc/lives.inc @@ -0,0 +1,169 @@ +dw 48, 14 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xf8 +db 0xf6, 0xff, 0xf5, 0xf6, 0xff, 0xf5, 0xfc, 0xff, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0xff, 0xd4, 0xc3, 0xff, 0xc3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xc6, 0x3e, 0xff, 0x43 +db 0x36, 0xff, 0x3a, 0x34, 0xff, 0x38, 0x5c, 0xff, 0x63, 0xf3, 0xff, 0xf3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x77, 0xfe, 0x77, 0x22, 0xea, 0x22 +db 0xd4, 0xdd, 0xd4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xfe, 0xcd, 0x1c, 0xd4, 0x4a +db 0x2, 0xed, 0x40, 0x2, 0xe7, 0x43, 0xe, 0xab, 0x37, 0x89, 0x98, 0x8d +db 0xfd, 0xfc, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0xe2, 0xc6, 0x3b, 0x63, 0x39 +db 0x8a, 0x8b, 0x89, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xaf, 0xb4, 0xb5 +db 0x35, 0xde, 0x74, 0x2d, 0xa4, 0x5b, 0x6f, 0x68, 0x70, 0xa4, 0xa3, 0xa4 +db 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf4, 0xff, 0xf8, 0xa0, 0xff, 0xbf, 0x86, 0xf9, 0xab, 0x6b, 0xc4, 0x88 +db 0xd1, 0xdf, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf7, 0xff, 0xfa, 0xa4, 0xff, 0xc0, 0x90, 0xff, 0xb3, 0x90, 0xff, 0xb3 +db 0xd3, 0xff, 0xe4, 0xce, 0xff, 0xde, 0x8f, 0xff, 0xb1, 0x91, 0xff, 0xb3 +db 0xa3, 0xff, 0xc2, 0xf7, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd5, 0xff, 0xe4, 0x91, 0xff, 0xb6, 0x6b, 0xff, 0x9f, 0xa2, 0xff, 0xc0 +db 0xf7, 0xff, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xff, 0xf9, 0xae, 0xff, 0xc8 +db 0xc0, 0xff, 0xd5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x70, 0xff, 0xb4, 0x38, 0x9e, 0x66, 0xcc, 0xc2, 0xc8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf4, 0xff, 0xf9, 0x69, 0xde, 0x9d, 0x24, 0xc5, 0x6a, 0x3a, 0xf7, 0x8f +db 0xa8, 0xc4, 0xb6, 0xfd, 0xfa, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf6, 0xff, 0xfa, 0x72, 0xe7, 0xa5, 0x21, 0xed, 0x7d, 0x28, 0xdd, 0x78 +db 0x7a, 0xb1, 0x91, 0xac, 0xef, 0xc8, 0x34, 0xfc, 0x8d, 0x28, 0xf1, 0x83 +db 0x35, 0xb0, 0x6a, 0xc5, 0xd2, 0xcb, 0xff, 0xff, 0xff, 0xc8, 0xff, 0xe3 +db 0x42, 0xfc, 0x9b, 0x2e, 0xcb, 0x72, 0x31, 0xb9, 0x6a, 0x31, 0xf0, 0x87 +db 0x6e, 0xff, 0xb5, 0xe6, 0xff, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xff, 0xed, 0x36, 0xfd, 0x93 +db 0x43, 0xe5, 0x8e, 0xdc, 0xe1, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff +db 0x6b, 0xff, 0xc1, 0x35, 0x9f, 0x70, 0xca, 0xc2, 0xc5, 0xff, 0xff, 0xff +db 0xf6, 0xff, 0xfd, 0xf5, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd3, 0xc9, 0xcf, 0x71, 0x9f, 0x8d, 0x2d, 0xe1, 0x93 +db 0x63, 0x81, 0x74, 0xf9, 0xf4, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd9, 0xd2, 0xd6, 0x64, 0xd4, 0xa2, 0x30, 0xc9, 0x8a +db 0x7d, 0x7d, 0x7f, 0xd7, 0xed, 0xe5, 0x47, 0xff, 0xb4, 0x34, 0xaa, 0x75 +db 0x66, 0x5d, 0x62, 0xcd, 0xca, 0xcc, 0xfd, 0xff, 0xff, 0x72, 0xff, 0xc3 +db 0x28, 0xec, 0x97, 0x3b, 0x96, 0x76, 0x3d, 0x85, 0x6f, 0x35, 0xc8, 0x8c +db 0x25, 0xff, 0xa1, 0x83, 0xf7, 0xc7, 0xfd, 0xfd, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xff, 0xfd, 0x9c, 0xd2, 0xb9 +db 0x3b, 0x66, 0x51, 0xae, 0xae, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff +db 0x84, 0xff, 0xdf, 0x45, 0x9e, 0x83, 0xca, 0xc0, 0xc2, 0xff, 0xff, 0xff +db 0xb1, 0xff, 0xe8, 0xb1, 0xfb, 0xe5, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xde, 0xff, 0xfa, 0x50, 0xe7, 0xbc +db 0x6b, 0x83, 0x7b, 0xf9, 0xf4, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xf9, 0x59, 0xf4, 0xc7 +db 0xaf, 0xd4, 0xc8, 0xcc, 0xff, 0xf2, 0x4d, 0xf4, 0xc4, 0x46, 0x70, 0x64 +db 0xcf, 0xc7, 0xca, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xfc, 0x6c, 0xff, 0xd4 +db 0x4a, 0xf7, 0xc3, 0x4d, 0xf7, 0xc3, 0x4d, 0xf9, 0xc5, 0x4e, 0xf5, 0xc3 +db 0x4a, 0xf8, 0xc5, 0x58, 0xde, 0xb6, 0xe0, 0xe5, 0xe3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf3, 0xf7 +db 0xcd, 0xc6, 0xc9, 0xec, 0xec, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff +db 0xb6, 0xff, 0xfa, 0x6c, 0xa2, 0x9d, 0xc5, 0xc3, 0xc4, 0xfe, 0xff, 0xff +db 0xb2, 0xff, 0xf7, 0x82, 0xca, 0xc2, 0xd6, 0xd5, 0xd5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xff, 0xff, 0x8f, 0xe8, 0xdf +db 0x77, 0x89, 0x87, 0xf6, 0xf5, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xff, 0xf7 +db 0x9c, 0xe5, 0xe0, 0xae, 0xff, 0xfb, 0x79, 0xc4, 0xbc, 0x67, 0x66, 0x66 +db 0xf4, 0xf3, 0xf3, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xfe, 0xb4, 0xff, 0xf7 +db 0x77, 0xbc, 0xb1, 0x5d, 0x70, 0x64, 0x60, 0x73, 0x68, 0x5e, 0x73, 0x68 +db 0x58, 0x72, 0x67, 0x59, 0x6d, 0x65, 0xcc, 0xcc, 0xcc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xff, 0xff, 0xbc, 0xff, 0xff +db 0xa3, 0xff, 0xff, 0x93, 0xf2, 0xf3, 0xa7, 0xf9, 0xf9, 0xb4, 0xff, 0xff +db 0xa6, 0xff, 0xff, 0x7c, 0xc0, 0xc1, 0xc5, 0xc3, 0xc3, 0xff, 0xff, 0xff +db 0xe2, 0xff, 0xff, 0xba, 0xff, 0xff, 0xae, 0xff, 0xff, 0x9b, 0xff, 0xff +db 0x94, 0xec, 0xec, 0xb9, 0xff, 0xff, 0xea, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2, 0xff, 0xff +db 0x99, 0xff, 0xff, 0x97, 0xff, 0xff, 0x59, 0x78, 0x7a, 0xa1, 0x9d, 0x9d +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xfe, 0xff +db 0x93, 0xf2, 0xf4, 0xa1, 0xd5, 0xd7, 0xa9, 0xd5, 0xd6, 0xa1, 0xd5, 0xd6 +db 0x89, 0xd6, 0xd8, 0x9d, 0xd1, 0xd3, 0xf2, 0xf1, 0xf1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xbf, 0xff, 0xff +db 0xd0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0xff, 0xff, 0x89, 0xd3, 0xd3 +db 0x74, 0xbf, 0xbf, 0x7a, 0xc4, 0xc4, 0x77, 0xc3, 0xc3, 0x75, 0xc1, 0xc1 +db 0x78, 0xc3, 0xc3, 0x64, 0x92, 0x92, 0xc6, 0xc4, 0xc4, 0xff, 0xff, 0xff +db 0xd5, 0xfa, 0xfa, 0x7b, 0xc9, 0xc9, 0x74, 0xc0, 0xc0, 0x79, 0xc1, 0xc1 +db 0x7a, 0xc5, 0xc5, 0x71, 0xc0, 0xc0, 0x74, 0x96, 0x96, 0xdf, 0xdd, 0xdd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff +db 0xa8, 0xe7, 0xe7, 0x62, 0x9d, 0x9d, 0x63, 0x65, 0x65, 0xec, 0xeb, 0xeb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xf7, 0xf7 +db 0x97, 0xd2, 0xd2, 0x87, 0xe4, 0xe4, 0x8d, 0xeb, 0xeb, 0x8f, 0xed, 0xed +db 0x78, 0xc2, 0xc2, 0x62, 0x7f, 0x7f, 0xd8, 0xd8, 0xd8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0x9f, 0xf7, 0xf7 +db 0x7c, 0xc3, 0xc3, 0xc6, 0xc8, 0xc8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb2, 0xb3, 0xb3 +db 0x85, 0x86, 0x86, 0x89, 0x8a, 0x8a, 0x89, 0x8a, 0x8a, 0x89, 0x8a, 0x8a +db 0x88, 0x8a, 0x8a, 0x8a, 0x8b, 0x8b, 0xdc, 0xdc, 0xdc, 0xff, 0xff, 0xff +db 0xf8, 0xf7, 0xf7, 0x9e, 0x9f, 0x9f, 0x86, 0x87, 0x87, 0x89, 0x8a, 0x8a +db 0x89, 0x8b, 0x8b, 0x88, 0x89, 0x89, 0x87, 0x86, 0x86, 0xdf, 0xdf, 0xdf +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd6, 0xd7, 0xd7, 0x81, 0x81, 0x81, 0xbe, 0xbd, 0xbd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xda, 0xdb, 0xdb, 0x91, 0x9d, 0x9d, 0x68, 0x75, 0x75, 0x5e, 0x6b, 0x6b +db 0x6c, 0x6f, 0x6f, 0x8d, 0x8a, 0x8a, 0xe8, 0xe8, 0xe8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0xd4, 0xd4 +db 0x58, 0x60, 0x60, 0xb4, 0xb4, 0xb4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xed, 0xea, 0xea, 0xe4, 0xe1, 0xe1 +db 0xf5, 0xf4, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfa, 0xfa +db 0xe8, 0xe7, 0xe7, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/minus.inc b/programs/games/hunter/trunk/inc/minus.inc new file mode 100644 index 0000000000..fdcd9d1b18 --- /dev/null +++ b/programs/games/hunter/trunk/inc/minus.inc @@ -0,0 +1,73 @@ +dw 16, 18 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff +db 0xfc, 0xff, 0xfd, 0xfb, 0xff, 0xfd, 0xfb, 0xff, 0xfd, 0xfb, 0xff, 0xfd +db 0xfb, 0xff, 0xfd, 0xfb, 0xff, 0xfd, 0xfb, 0xff, 0xfd, 0xfd, 0xff, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xff, 0xeb +db 0x78, 0xff, 0xbb, 0x72, 0xff, 0xb8, 0x74, 0xff, 0xb8, 0x74, 0xff, 0xb8 +db 0x74, 0xff, 0xb8, 0x74, 0xff, 0xb8, 0x6f, 0xff, 0xb6, 0x9f, 0xff, 0xcf +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0xff, 0xe2 +db 0x32, 0xff, 0xa0, 0x2b, 0xff, 0x9f, 0x2e, 0xff, 0xa0, 0x2e, 0xff, 0xa0 +db 0x2e, 0xff, 0xa0, 0x2e, 0xff, 0xa0, 0x29, 0xff, 0x9f, 0x5a, 0xf2, 0xac +db 0xca, 0xd1, 0xcd, 0xf6, 0xf4, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0xff, 0xf4 +db 0x64, 0xec, 0xc1, 0x35, 0xc3, 0x96, 0x34, 0xc1, 0x94, 0x35, 0xc1, 0x95 +db 0x35, 0xc1, 0x95, 0x35, 0xc1, 0x95, 0x34, 0xc6, 0x97, 0x36, 0x9a, 0x7a +db 0x59, 0x5f, 0x5d, 0xdc, 0xdb, 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc8, 0xce, 0xcf, 0x60, 0x67, 0x67, 0x58, 0x60, 0x5f, 0x5a, 0x62, 0x61 +db 0x5a, 0x62, 0x61, 0x5a, 0x62, 0x61, 0x5b, 0x63, 0x62, 0x56, 0x5c, 0x5b +db 0x6b, 0x6c, 0x6c, 0xe0, 0xe0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xf7, 0xf8, 0xe9, 0xe6, 0xe7, 0xe8, 0xe5, 0xe6, 0xe8, 0xe6, 0xe6 +db 0xe8, 0xe6, 0xe6, 0xe8, 0xe6, 0xe6, 0xe8, 0xe6, 0xe6, 0xe8, 0xe6, 0xe6 +db 0xeb, 0xea, 0xea, 0xfb, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/mushka.inc b/programs/games/hunter/trunk/inc/mushka.inc new file mode 100644 index 0000000000..b5b35da976 --- /dev/null +++ b/programs/games/hunter/trunk/inc/mushka.inc @@ -0,0 +1,257 @@ +dw 32, 32 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xcf, 0xcf, 0x61, 0x61, 0x61 +db 0xba, 0xba, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaa, 0xaa, 0xaa, 0x62, 0x62, 0x62 +db 0x90, 0x90, 0x90, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, 0xaf, 0xaf, 0x77, 0x77, 0x77 +db 0x98, 0x98, 0x98, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa8, 0xa8, 0xa8, 0x76, 0x76, 0x76 +db 0x91, 0x91, 0x91, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xd9, 0xd9 +db 0xa1, 0xa1, 0xa1, 0x8a, 0x8a, 0x8a, 0x85, 0x85, 0x85, 0x98, 0x98, 0x98 +db 0x86, 0x86, 0x86, 0x8a, 0x8a, 0x8a, 0x97, 0x97, 0x97, 0xca, 0xca, 0xca +db 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xde, 0xde, 0xde, 0x8d, 0x8d, 0x8d, 0x73, 0x73, 0x73 +db 0x8e, 0x8e, 0x8e, 0x9f, 0x9f, 0x9f, 0xa3, 0xa3, 0xa3, 0x9b, 0x9b, 0x9b +db 0xa3, 0xa3, 0xa3, 0xa0, 0xa0, 0xa0, 0x96, 0x96, 0x96, 0x76, 0x76, 0x76 +db 0x7f, 0x7f, 0x7f, 0xcb, 0xcb, 0xcb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xbe, 0xbe, 0xbe, 0x66, 0x66, 0x66, 0x92, 0x92, 0x92, 0x95, 0x95, 0x95 +db 0x84, 0x84, 0x84, 0x8a, 0x8a, 0x8a, 0x79, 0x79, 0x79, 0x8e, 0x8e, 0x8e +db 0x76, 0x76, 0x76, 0x8e, 0x8e, 0x8e, 0x84, 0x84, 0x84, 0x8e, 0x8e, 0x8e +db 0x9d, 0x9d, 0x9d, 0x6a, 0x6a, 0x6a, 0x99, 0x99, 0x99, 0xfc, 0xfc, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xbe, 0xbe +db 0x61, 0x61, 0x61, 0xad, 0xad, 0xad, 0x6e, 0x6e, 0x6e, 0x85, 0x85, 0x85 +db 0xdf, 0xdf, 0xdf, 0xff, 0xff, 0xff, 0xb0, 0xb0, 0xb0, 0x74, 0x74, 0x74 +db 0x95, 0x95, 0x95, 0xff, 0xff, 0xff, 0xee, 0xee, 0xee, 0x9f, 0x9f, 0x9f +db 0x63, 0x63, 0x63, 0xa9, 0xa9, 0xa9, 0x77, 0x77, 0x77, 0x8f, 0x8f, 0x8f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xe1, 0xe1, 0x69, 0x69, 0x69 +db 0xa5, 0xa5, 0xa5, 0x65, 0x65, 0x65, 0xb5, 0xb5, 0xb5, 0xff, 0xff, 0xff +db 0xe7, 0xe7, 0xe7, 0x94, 0x94, 0x94, 0x79, 0x79, 0x79, 0x99, 0x99, 0x99 +db 0x7e, 0x7e, 0x7e, 0x88, 0x88, 0x88, 0xce, 0xce, 0xce, 0xff, 0xff, 0xff +db 0xd6, 0xd6, 0xd6, 0x67, 0x67, 0x67, 0x98, 0x98, 0x98, 0x74, 0x74, 0x74 +db 0xb5, 0xb5, 0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0x7f, 0x7f, 0x7f, 0x98, 0x98, 0x98 +db 0x72, 0x72, 0x72, 0xba, 0xba, 0xba, 0xff, 0xff, 0xff, 0xbd, 0xbd, 0xbd +db 0x66, 0x66, 0x66, 0x8e, 0x8e, 0x8e, 0xa3, 0xa3, 0xa3, 0x97, 0x97, 0x97 +db 0xa3, 0xa3, 0xa3, 0x98, 0x98, 0x98, 0x6c, 0x6c, 0x6c, 0x9a, 0x9a, 0x9a +db 0xff, 0xff, 0xff, 0xdb, 0xdb, 0xdb, 0x69, 0x69, 0x69, 0xa4, 0xa4, 0xa4 +db 0x70, 0x70, 0x70, 0xf2, 0xf2, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd3, 0xd3, 0xd3, 0x71, 0x71, 0x71, 0x97, 0x97, 0x97 +db 0x94, 0x94, 0x94, 0xff, 0xff, 0xff, 0xc5, 0xc5, 0xc5, 0x69, 0x69, 0x69 +db 0xab, 0xab, 0xab, 0x80, 0x80, 0x80, 0x6d, 0x6d, 0x6d, 0x92, 0x92, 0x92 +db 0x6e, 0x6e, 0x6e, 0x7c, 0x7c, 0x7c, 0xa2, 0xa2, 0xa2, 0x79, 0x79, 0x79 +db 0x9a, 0x9a, 0x9a, 0xff, 0xff, 0xff, 0xbf, 0xbf, 0xbf, 0x7d, 0x7d, 0x7d +db 0x8d, 0x8d, 0x8d, 0xb1, 0xb1, 0xb1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xa5, 0xa5, 0xa5, 0x9d, 0x9d, 0x9d, 0x78, 0x78, 0x78 +db 0xe2, 0xe2, 0xe2, 0xfa, 0xfa, 0xfa, 0x76, 0x76, 0x76, 0xa5, 0xa5, 0xa5 +db 0x62, 0x62, 0x62, 0xc8, 0xc8, 0xc8, 0xb3, 0xb3, 0xb3, 0x74, 0x74, 0x74 +db 0x9d, 0x9d, 0x9d, 0xe5, 0xe5, 0xe5, 0x6e, 0x6e, 0x6e, 0xa9, 0xa9, 0xa9 +db 0x6c, 0x6c, 0x6c, 0xda, 0xda, 0xda, 0xff, 0xff, 0xff, 0x85, 0x85, 0x85 +db 0x9e, 0x9e, 0x9e, 0x7a, 0x7a, 0x7a, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0x96, 0x96, 0x96, 0xa7, 0xa7, 0xa7, 0x90, 0x90, 0x90 +db 0xff, 0xff, 0xff, 0xc7, 0xc7, 0xc7, 0x80, 0x80, 0x80, 0x8e, 0x8e, 0x8e +db 0xb0, 0xb0, 0xb0, 0xff, 0xff, 0xff, 0xaf, 0xaf, 0xaf, 0x71, 0x71, 0x71 +db 0x95, 0x95, 0x95, 0xff, 0xff, 0xff, 0xd5, 0xd5, 0xd5, 0x71, 0x71, 0x71 +db 0x9c, 0x9c, 0x9c, 0xa8, 0xa8, 0xa8, 0xff, 0xff, 0xff, 0xad, 0xad, 0xad +db 0x9d, 0x9d, 0x9d, 0x7e, 0x7e, 0x7e, 0xe9, 0xe9, 0xe9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xfc, 0xfc, 0x9e, 0x9e, 0x9e, 0x84, 0x84, 0x84, 0x8e, 0x8e, 0x8e +db 0x8a, 0x8a, 0x8a, 0x86, 0x86, 0x86, 0xa3, 0xa3, 0xa3, 0x7f, 0x7f, 0x7f +db 0x8e, 0x8e, 0x8e, 0x7a, 0x7a, 0x7a, 0x9c, 0x9c, 0x9c, 0x8c, 0x8c, 0x8c +db 0x87, 0x87, 0x87, 0x8e, 0x8e, 0x8e, 0x7e, 0x7e, 0x7e, 0xa6, 0xa6, 0xa6 +db 0x7e, 0x7e, 0x7e, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x8d, 0x79, 0x79, 0x79 +db 0xa2, 0xa2, 0xa2, 0x7e, 0x7e, 0x7e, 0x8d, 0x8d, 0x8d, 0x82, 0x82, 0x82 +db 0x9c, 0x9c, 0x9c, 0x88, 0x88, 0x88, 0x83, 0x83, 0x83, 0x8e, 0x8e, 0x8e +db 0x8c, 0x8c, 0x8c, 0x81, 0x81, 0x81, 0xca, 0xca, 0xca, 0xff, 0xff, 0xff +db 0xf5, 0xf5, 0xf5, 0x60, 0x60, 0x60, 0x6f, 0x6f, 0x6f, 0x7f, 0x7f, 0x7f +db 0x7e, 0x7e, 0x7e, 0x96, 0x96, 0x96, 0x94, 0x94, 0x94, 0x95, 0x95, 0x95 +db 0x7c, 0x7c, 0x7c, 0x89, 0x89, 0x89, 0x98, 0x98, 0x98, 0x96, 0x96, 0x96 +db 0x88, 0x88, 0x88, 0x7b, 0x7b, 0x7b, 0x91, 0x91, 0x91, 0xc9, 0xc9, 0xc9 +db 0x9c, 0x9c, 0x9c, 0x7b, 0x7b, 0x7b, 0x81, 0x81, 0x81, 0x9f, 0x9f, 0x9f +db 0x91, 0x91, 0x91, 0x90, 0x90, 0x90, 0x7b, 0x7b, 0x7b, 0x8e, 0x8e, 0x8e +db 0x9f, 0x9f, 0x9f, 0x92, 0x92, 0x92, 0x85, 0x85, 0x85, 0x7d, 0x7d, 0x7d +db 0x7f, 0x7f, 0x7f, 0x55, 0x55, 0x55, 0x9a, 0x9a, 0x9a, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xdd, 0xc1, 0xc1, 0xc1, 0xc4, 0xc4, 0xc4 +db 0xc3, 0xc3, 0xc3, 0x86, 0x86, 0x86, 0xa8, 0xa8, 0xa8, 0x7f, 0x7f, 0x7f +db 0xc8, 0xc8, 0xc8, 0x9b, 0x9b, 0x9b, 0x86, 0x86, 0x86, 0x8b, 0x8b, 0x8b +db 0x91, 0x91, 0x91, 0xcd, 0xcd, 0xcd, 0x8f, 0x8f, 0x8f, 0x84, 0x84, 0x84 +db 0x81, 0x81, 0x81, 0xca, 0xca, 0xca, 0xa9, 0xa9, 0xa9, 0x6e, 0x6e, 0x6e +db 0xa1, 0xa1, 0xa1, 0x8a, 0x8a, 0x8a, 0xc8, 0xc8, 0xc8, 0x8f, 0x8f, 0x8f +db 0x9f, 0x9f, 0x9f, 0x7c, 0x7c, 0x7c, 0xb2, 0xb2, 0xb2, 0xc5, 0xc5, 0xc5 +db 0xc3, 0xc3, 0xc3, 0xc7, 0xc7, 0xc7, 0xf2, 0xf2, 0xf2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xa2, 0xa2, 0xa2, 0xa0, 0xa0, 0xa0, 0x7b, 0x7b, 0x7b +db 0xf1, 0xf1, 0xf1, 0xf8, 0xf8, 0xf8, 0x74, 0x74, 0x74, 0xa5, 0xa5, 0xa5 +db 0x66, 0x66, 0x66, 0xdf, 0xdf, 0xdf, 0xb8, 0xb8, 0xb8, 0x71, 0x71, 0x71 +db 0x9e, 0x9e, 0x9e, 0xf6, 0xf6, 0xf6, 0x7c, 0x7c, 0x7c, 0xa2, 0xa2, 0xa2 +db 0x72, 0x72, 0x72, 0xd3, 0xd3, 0xd3, 0xff, 0xff, 0xff, 0x8e, 0x8e, 0x8e +db 0x9e, 0x9e, 0x9e, 0x78, 0x78, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xcb, 0xcb, 0xcb, 0x77, 0x77, 0x77, 0x92, 0x92, 0x92 +db 0xa1, 0xa1, 0xa1, 0xff, 0xff, 0xff, 0xb5, 0xb5, 0xb5, 0x6f, 0x6f, 0x6f +db 0xa8, 0xa8, 0xa8, 0x7d, 0x7d, 0x7d, 0x71, 0x71, 0x71, 0x91, 0x91, 0x91 +db 0x70, 0x70, 0x70, 0x7c, 0x7c, 0x7c, 0x9c, 0x9c, 0x9c, 0x85, 0x85, 0x85 +db 0x8a, 0x8a, 0x8a, 0xff, 0xff, 0xff, 0xcd, 0xcd, 0xcd, 0x79, 0x79, 0x79 +db 0x91, 0x91, 0x91, 0xa6, 0xa6, 0xa6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfb, 0x75, 0x75, 0x75, 0x9f, 0x9f, 0x9f +db 0x6c, 0x6c, 0x6c, 0xcc, 0xcc, 0xcc, 0xff, 0xff, 0xff, 0xab, 0xab, 0xab +db 0x67, 0x67, 0x67, 0x93, 0x93, 0x93, 0xa3, 0xa3, 0xa3, 0x9a, 0x9a, 0x9a +db 0xa3, 0xa3, 0xa3, 0x9c, 0x9c, 0x9c, 0x72, 0x72, 0x72, 0x89, 0x89, 0x89 +db 0xf9, 0xf9, 0xf9, 0xeb, 0xeb, 0xeb, 0x6d, 0x6d, 0x6d, 0xa2, 0xa2, 0xa2 +db 0x70, 0x70, 0x70, 0xec, 0xec, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0xd4, 0xd4, 0x6a, 0x6a, 0x6a +db 0xa4, 0xa4, 0xa4, 0x68, 0x68, 0x68, 0xc6, 0xc6, 0xc6, 0xff, 0xff, 0xff +db 0xd9, 0xd9, 0xd9, 0x8d, 0x8d, 0x8d, 0x7d, 0x7d, 0x7d, 0x99, 0x99, 0x99 +db 0x82, 0x82, 0x82, 0x85, 0x85, 0x85, 0xc1, 0xc1, 0xc1, 0xff, 0xff, 0xff +db 0xe4, 0xe4, 0xe4, 0x6f, 0x6f, 0x6f, 0x8f, 0x8f, 0x8f, 0x7d, 0x7d, 0x7d +db 0xa5, 0xa5, 0xa5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xab, 0xab, 0xab +db 0x6a, 0x6a, 0x6a, 0xac, 0xac, 0xac, 0x65, 0x65, 0x65, 0x94, 0x94, 0x94 +db 0xe9, 0xe9, 0xe9, 0xff, 0xff, 0xff, 0xae, 0xae, 0xae, 0x74, 0x74, 0x74 +db 0x95, 0x95, 0x95, 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf5, 0xae, 0xae, 0xae +db 0x63, 0x63, 0x63, 0xa0, 0xa0, 0xa0, 0x88, 0x88, 0x88, 0x7e, 0x7e, 0x7e +db 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xac, 0xac, 0xac, 0x67, 0x67, 0x67, 0x99, 0x99, 0x99, 0x91, 0x91, 0x91 +db 0x83, 0x83, 0x83, 0x8c, 0x8c, 0x8c, 0x7c, 0x7c, 0x7c, 0x8d, 0x8d, 0x8d +db 0x76, 0x76, 0x76, 0x90, 0x90, 0x90, 0x83, 0x83, 0x83, 0x8b, 0x8b, 0x8b +db 0x9e, 0x9e, 0x9e, 0x70, 0x70, 0x70, 0x89, 0x89, 0x89, 0xf5, 0xf5, 0xf5 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd2, 0xd2, 0xd2, 0x85, 0x85, 0x85, 0x75, 0x75, 0x75 +db 0x92, 0x92, 0x92, 0x9f, 0x9f, 0x9f, 0xa2, 0xa2, 0xa2, 0x9b, 0x9b, 0x9b +db 0xa2, 0xa2, 0xa2, 0x9f, 0x9f, 0x9f, 0x98, 0x98, 0x98, 0x7a, 0x7a, 0x7a +db 0x78, 0x78, 0x78, 0xbd, 0xbd, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0xd0, 0xd0 +db 0x9a, 0x9a, 0x9a, 0x8a, 0x8a, 0x8a, 0x87, 0x87, 0x87, 0x98, 0x98, 0x98 +db 0x87, 0x87, 0x87, 0x8b, 0x8b, 0x8b, 0x92, 0x92, 0x92, 0xc1, 0xc1, 0xc1 +db 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0xa7, 0xa7, 0x77, 0x77, 0x77 +db 0x90, 0x90, 0x90, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xae, 0xae, 0xae, 0x76, 0x76, 0x76 +db 0x96, 0x96, 0x96, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0xb0, 0xb0, 0x49, 0x49, 0x49 +db 0x95, 0x95, 0x95, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xeb, 0xeb, 0xa8, 0xa8, 0xa8 +db 0xe1, 0xe1, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/net.inc b/programs/games/hunter/trunk/inc/net.inc new file mode 100644 index 0000000000..032ea15c3b --- /dev/null +++ b/programs/games/hunter/trunk/inc/net.inc @@ -0,0 +1,881 @@ +dw 64, 55 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcc, 0xcc, 0xff, 0x71, 0x71, 0xff +db 0xb3, 0xb4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa2, 0xa3, 0xff, 0x7, 0x7, 0xff +db 0x7a, 0x73, 0xfc, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xac, 0xad, 0xff, 0x7, 0x7, 0xff +db 0x94, 0x77, 0xe6, 0xff, 0xe3, 0xd5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xff, 0x73, 0x75, 0xff, 0x7, 0x7, 0xff +db 0x7c, 0x65, 0xeb, 0xff, 0xe1, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xeb, 0xeb, 0xff, 0x4c, 0x4f, 0xff, 0x7, 0xb, 0xff, 0xa, 0xf, 0xff +db 0x10, 0x13, 0xff, 0x6d, 0x5e, 0xf2, 0xe3, 0xdc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xca, 0xcb, 0xff +db 0x52, 0x56, 0xff, 0xa, 0xf, 0xff, 0x26, 0x26, 0xff, 0x13, 0x18, 0xff +db 0x23, 0x23, 0xff, 0x8, 0xb, 0xff, 0x53, 0x50, 0xfd, 0xc5, 0xc4, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc2, 0xc3, 0xff, 0x25, 0x2c, 0xff +db 0x7, 0x7, 0xff, 0x6e, 0x5e, 0xf1, 0xb6, 0x96, 0xe2, 0xf, 0x17, 0xff +db 0x8e, 0x78, 0xea, 0x91, 0x7a, 0xea, 0xc, 0x12, 0xff, 0x17, 0x1e, 0xff +db 0xa4, 0xa4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0x96, 0x9a, 0xff, 0x23, 0x2b, 0xff, 0xe, 0x18, 0xff +db 0x5a, 0x53, 0xf7, 0xf8, 0xc8, 0xd3, 0xc4, 0xa2, 0xdf, 0xa, 0x16, 0xff +db 0x99, 0x82, 0xe7, 0xff, 0xdf, 0xd5, 0x6f, 0x6f, 0xff, 0x7, 0x11, 0xff +db 0x23, 0x28, 0xff, 0x8b, 0x8e, 0xff, 0xf8, 0xf9, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xee, 0xff +db 0x76, 0x7c, 0xff, 0x15, 0x22, 0xff, 0x7, 0x15, 0xff, 0x97, 0x80, 0xe9 +db 0xff, 0xd3, 0xcf, 0xff, 0xe6, 0xd8, 0x9b, 0x97, 0xfb, 0x8, 0x17, 0xff +db 0x97, 0x7f, 0xe7, 0xff, 0xe6, 0xd6, 0xf6, 0xf3, 0xff, 0x65, 0x6d, 0xff +db 0xe, 0x1a, 0xff, 0xe, 0x19, 0xff, 0x5f, 0x67, 0xff, 0xec, 0xed, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0xd5, 0xff, 0x62, 0x6b, 0xff +db 0xe, 0x1d, 0xff, 0x18, 0x25, 0xff, 0x85, 0x75, 0xed, 0xff, 0xd0, 0xcf +db 0xff, 0xdb, 0xd5, 0xff, 0xff, 0xf9, 0x98, 0xa0, 0xff, 0xa, 0x1b, 0xff +db 0x99, 0x83, 0xe7, 0xff, 0xe0, 0xd6, 0xff, 0xff, 0xff, 0xf5, 0xf6, 0xff +db 0x90, 0x95, 0xff, 0x19, 0x26, 0xff, 0xd, 0x1b, 0xff, 0x4f, 0x58, 0xff +db 0xc1, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xad, 0xb2, 0xff, 0x2d, 0x3a, 0xff, 0xa, 0x1c, 0xff +db 0x26, 0x33, 0xff, 0xba, 0x9c, 0xe2, 0xff, 0xd4, 0xcc, 0xff, 0xdc, 0xd8 +db 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0x9d, 0xa3, 0xff, 0xe, 0x1f, 0xff +db 0x9e, 0x89, 0xe5, 0xff, 0xe4, 0xd5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0x9e, 0xa3, 0xff, 0x3f, 0x46, 0xff, 0xa, 0x1b, 0xff +db 0x23, 0x31, 0xff, 0x83, 0x8a, 0xff, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xff +db 0x96, 0x9d, 0xff, 0x2c, 0x3d, 0xff, 0x11, 0x26, 0xff, 0x58, 0x59, 0xf8 +db 0xcf, 0xab, 0xdc, 0xff, 0xd6, 0xcf, 0xff, 0xe0, 0xdd, 0xff, 0xfc, 0xfb +db 0xff, 0xff, 0xff, 0xcd, 0xd0, 0xff, 0x56, 0x63, 0xff, 0x16, 0x29, 0xff +db 0x6c, 0x65, 0xf2, 0xf2, 0xcb, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0xd1, 0xff, 0x5f, 0x63, 0xfd +db 0x1a, 0x2a, 0xff, 0x1b, 0x2c, 0xff, 0x72, 0x7c, 0xff, 0xe0, 0xe2, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdd, 0xe0, 0xff, 0x64, 0x70, 0xff +db 0x12, 0x2a, 0xff, 0x20, 0x35, 0xff, 0x9a, 0x89, 0xea, 0xfd, 0xcb, 0xd0 +db 0xff, 0xdb, 0xd1, 0xff, 0xf1, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc5, 0xc9, 0xff, 0x35, 0x46, 0xff, 0x16, 0x2c, 0xff, 0x24, 0x37, 0xff +db 0x19, 0x30, 0xff, 0x44, 0x4d, 0xfd, 0xbf, 0xbc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf3, 0xff +db 0x88, 0x8e, 0xff, 0x1f, 0x32, 0xff, 0x16, 0x2b, 0xff, 0x37, 0x47, 0xff +db 0xae, 0xb4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xbb, 0xc1, 0xff, 0x46, 0x58, 0xff, 0x1a, 0x31, 0xff +db 0x47, 0x52, 0xfd, 0xb3, 0x99, 0xe4, 0xff, 0xd6, 0xcf, 0xff, 0xe4, 0xe0 +db 0xff, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa1, 0xa9, 0xff +db 0x34, 0x48, 0xff, 0x22, 0x39, 0xff, 0x3f, 0x4d, 0xff, 0x29, 0x3e, 0xff +db 0x3d, 0x4b, 0xff, 0x23, 0x38, 0xff, 0x39, 0x4c, 0xff, 0xb5, 0xbb, 0xff +db 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf9, 0xfa, 0xff, 0xa6, 0xad, 0xff, 0x3d, 0x4f, 0xff, 0x17, 0x2e, 0xff +db 0x2e, 0x42, 0xff, 0x86, 0x91, 0xff, 0xeb, 0xed, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xf3, 0xff +db 0x80, 0x8c, 0xff, 0x26, 0x40, 0xff, 0x20, 0x3b, 0xff, 0x8a, 0x80, 0xed +db 0xfa, 0xc8, 0xd1, 0xff, 0xdb, 0xd3, 0xff, 0xf4, 0xf2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xef, 0xf1, 0xff, 0x7f, 0x8c, 0xff, 0x27, 0x40, 0xff +db 0x1c, 0x38, 0xff, 0xa2, 0x91, 0xe9, 0xbc, 0xa2, 0xe2, 0x24, 0x3e, 0xff +db 0x9b, 0x8c, 0xea, 0xb3, 0x9c, 0xe5, 0x25, 0x3d, 0xff, 0x24, 0x3d, 0xff +db 0x6d, 0x7c, 0xff, 0xe3, 0xe5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xde, 0xff, 0x79, 0x86, 0xff +db 0x26, 0x3d, 0xff, 0x18, 0x32, 0xff, 0x5f, 0x6d, 0xff, 0xd2, 0xd4, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, 0xbd, 0xff, 0x54, 0x69, 0xff +db 0x24, 0x41, 0xff, 0x44, 0x54, 0xfe, 0xb6, 0x9d, 0xe2, 0xff, 0xd3, 0xd1 +db 0xff, 0xe6, 0xe0, 0xff, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xdf, 0xe3, 0xff, 0x6b, 0x7c, 0xff, 0x21, 0x3d, 0xff, 0x2f, 0x47, 0xff +db 0x93, 0x88, 0xed, 0xff, 0xd8, 0xcf, 0xad, 0x9a, 0xe7, 0x1e, 0x3d, 0xff +db 0x8f, 0x84, 0xec, 0xff, 0xdb, 0xd5, 0x88, 0x91, 0xff, 0x22, 0x3e, 0xff +db 0x24, 0x3f, 0xff, 0x41, 0x57, 0xff, 0xb3, 0xbb, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfb, 0xff +db 0xb7, 0xbb, 0xff, 0x57, 0x66, 0xff, 0x25, 0x3e, 0xff, 0x3f, 0x54, 0xff +db 0x9b, 0xa2, 0xff, 0xf4, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe3, 0xe7, 0xff, 0x7e, 0x8e, 0xff, 0x29, 0x48, 0xff, 0x29, 0x45, 0xff +db 0x83, 0x7d, 0xef, 0xe5, 0xba, 0xd6, 0xff, 0xdc, 0xd6, 0xff, 0xf3, 0xf1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xad, 0xb7, 0xff +db 0x3d, 0x56, 0xff, 0x20, 0x41, 0xff, 0x39, 0x51, 0xff, 0xb7, 0x9d, 0xe3 +db 0xff, 0xd2, 0xcc, 0xff, 0xec, 0xe2, 0x94, 0xa0, 0xff, 0x1f, 0x40, 0xff +db 0x8f, 0x84, 0xec, 0xff, 0xdf, 0xd7, 0xff, 0xfe, 0xff, 0xa0, 0xac, 0xff +db 0x38, 0x52, 0xff, 0x21, 0x40, 0xff, 0x33, 0x4e, 0xff, 0x92, 0x9f, 0xff +db 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xee, 0xef, 0xff, 0x8e, 0x95, 0xfe, 0x3e, 0x51, 0xfe +db 0x26, 0x41, 0xff, 0x69, 0x75, 0xfc, 0xd8, 0xd6, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xe4, 0xff, 0x99, 0xa7, 0xff +db 0x46, 0x63, 0xff, 0x28, 0x49, 0xff, 0x5b, 0x67, 0xfa, 0xb5, 0x9d, 0xe3 +db 0xff, 0xce, 0xd3, 0xff, 0xe8, 0xe2, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf1, 0xf3, 0xff, 0x8c, 0x9c, 0xff, 0x32, 0x52, 0xff +db 0x2a, 0x4b, 0xff, 0x6e, 0x73, 0xf6, 0xcf, 0xac, 0xdc, 0xff, 0xd7, 0xd4 +db 0xff, 0xec, 0xe9, 0xff, 0xff, 0xff, 0x96, 0xa6, 0xff, 0x23, 0x46, 0xff +db 0x91, 0x88, 0xeb, 0xff, 0xde, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc1, 0xc9, 0xff, 0x4d, 0x66, 0xff, 0x29, 0x49, 0xff, 0x2e, 0x4c, 0xff +db 0x83, 0x93, 0xff, 0xda, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0xc9, 0xff +db 0x61, 0x73, 0xff, 0x33, 0x4e, 0xff, 0x46, 0x5b, 0xff, 0x81, 0x8f, 0xff +db 0xdc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe3, 0xe8, 0xff, 0x8a, 0x9c, 0xff, 0x3e, 0x5e, 0xff, 0x24, 0x4a, 0xff +db 0x5f, 0x6d, 0xf8, 0xba, 0xa1, 0xe1, 0xf4, 0xc5, 0xd4, 0xff, 0xe1, 0xda +db 0xff, 0xf9, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xa7, 0xb3, 0xff, 0x4e, 0x6a, 0xff, 0x27, 0x4d, 0xff, 0x39, 0x57, 0xff +db 0x96, 0x8c, 0xeb, 0xfa, 0xc8, 0xd1, 0xff, 0xdf, 0xd7, 0xff, 0xfa, 0xf9 +db 0xff, 0xff, 0xff, 0xe5, 0xe9, 0xff, 0x5a, 0x73, 0xff, 0x2d, 0x50, 0xff +db 0x69, 0x72, 0xf6, 0xf9, 0xd1, 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xed, 0xef, 0xff, 0x86, 0x97, 0xff, 0x2c, 0x4e, 0xff +db 0x28, 0x4b, 0xff, 0x40, 0x5e, 0xff, 0x94, 0xa4, 0xff, 0xed, 0xef, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf9, 0xfa, 0xff, 0xbc, 0xc2, 0xff, 0x57, 0x6c, 0xff, 0x2f, 0x4e, 0xff +db 0x40, 0x5c, 0xff, 0x74, 0x84, 0xff, 0xcd, 0xd2, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xe6, 0xff, 0x76, 0x8e, 0xff +db 0x81, 0x97, 0xff, 0xc5, 0xcf, 0xff, 0xd7, 0xde, 0xff, 0x95, 0xa7, 0xff +db 0x4e, 0x6d, 0xff, 0x2f, 0x55, 0xff, 0x4f, 0x67, 0xfd, 0x8f, 0x89, 0xed +db 0xeb, 0xc1, 0xd7, 0xff, 0xe2, 0xda, 0xff, 0xf3, 0xf0, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xe0, 0xff, 0x84, 0x99, 0xff +db 0x33, 0x58, 0xff, 0x36, 0x59, 0xff, 0x70, 0x79, 0xf6, 0xc5, 0xa8, 0xdf +db 0xfe, 0xce, 0xd4, 0xff, 0xea, 0xe6, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xf2, 0xf4, 0xff, 0x6c, 0x84, 0xff, 0x30, 0x55, 0xff, 0x3a, 0x5d, 0xff +db 0x39, 0x5b, 0xff, 0x89, 0x8a, 0xf3, 0xf3, 0xea, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf9, 0xff, 0xab, 0xb8, 0xff +db 0x64, 0x7c, 0xff, 0x34, 0x56, 0xff, 0x2f, 0x53, 0xff, 0x56, 0x73, 0xff +db 0xb8, 0xc4, 0xff, 0xfc, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xf0, 0xff, 0x9b, 0xa9, 0xff +db 0x45, 0x65, 0xff, 0x34, 0x57, 0xff, 0x47, 0x63, 0xff, 0x83, 0x94, 0xff +db 0xca, 0xd0, 0xff, 0xd6, 0xdd, 0xff, 0x9b, 0xac, 0xff, 0x6b, 0x85, 0xff +db 0x9c, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0xb6, 0xff, 0x2a, 0x52, 0xff +db 0x2c, 0x56, 0xff, 0x35, 0x5e, 0xff, 0x41, 0x66, 0xff, 0x34, 0x5c, 0xff +db 0x4a, 0x67, 0xff, 0x8d, 0x8a, 0xee, 0xe4, 0xbb, 0xd9, 0xff, 0xe3, 0xda +db 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xee, 0xf1, 0xff, 0x94, 0xa7, 0xff, 0x3f, 0x64, 0xff, 0x2e, 0x58, 0xff +db 0x59, 0x6f, 0xfc, 0xb5, 0xa1, 0xe4, 0xff, 0xcb, 0xcf, 0xff, 0xe0, 0xd9 +db 0xff, 0xfa, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xe6, 0xff +db 0x64, 0x81, 0xff, 0x34, 0x5c, 0xff, 0x4f, 0x6b, 0xff, 0x41, 0x65, 0xff +db 0x4c, 0x6a, 0xff, 0x35, 0x5d, 0xff, 0x78, 0x83, 0xf6, 0xed, 0xe1, 0xf6 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf7, 0xf9, 0xff, 0xb5, 0xbf, 0xff, 0x64, 0x79, 0xff, 0x37, 0x5a, 0xff +db 0x32, 0x5b, 0xff, 0x67, 0x82, 0xff, 0xcc, 0xd5, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd5, 0xdc, 0xff, 0x7c, 0x91, 0xff, 0x3b, 0x5f, 0xff, 0x37, 0x5d, 0xff +db 0x42, 0x64, 0xff, 0x3e, 0x63, 0xff, 0x32, 0x59, 0xff, 0x3a, 0x5b, 0xff +db 0x87, 0x8c, 0xf5, 0xff, 0xf3, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xef, 0xff, 0xbb, 0xc6, 0xff +db 0x9d, 0xa1, 0xf5, 0x83, 0x87, 0xf0, 0x4a, 0x6c, 0xff, 0x3e, 0x68, 0xff +db 0x4f, 0x70, 0xff, 0x67, 0x7b, 0xfa, 0x79, 0x86, 0xf6, 0x92, 0xa4, 0xff +db 0xc0, 0xce, 0xff, 0xf4, 0xf7, 0xff, 0xf1, 0xf4, 0xff, 0xb5, 0xc4, 0xff +db 0x5c, 0x7d, 0xff, 0x37, 0x61, 0xff, 0x4f, 0x6e, 0xff, 0x8d, 0x8e, 0xf0 +db 0xe7, 0xbc, 0xd6, 0xff, 0xd5, 0xd3, 0xff, 0xeb, 0xe8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, 0xda, 0xff, 0x58, 0x7a, 0xff +db 0x30, 0x5f, 0xff, 0x66, 0x7a, 0xfa, 0x96, 0x90, 0xed, 0x3f, 0x68, 0xff +db 0x88, 0x8b, 0xf1, 0x81, 0x86, 0xf3, 0x36, 0x5f, 0xff, 0x69, 0x7c, 0xfa +db 0xca, 0xc8, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xed, 0xff, 0xa8, 0xaf, 0xfd +db 0x5e, 0x77, 0xfe, 0x3a, 0x60, 0xff, 0x45, 0x6b, 0xff, 0x91, 0xa6, 0xff +db 0xe1, 0xe7, 0xff, 0xf9, 0xfa, 0xff, 0xc3, 0xce, 0xff, 0x90, 0xa5, 0xff +db 0x62, 0x82, 0xff, 0x4f, 0x74, 0xff, 0x3f, 0x67, 0xff, 0x40, 0x68, 0xff +db 0x3e, 0x66, 0xff, 0x82, 0x87, 0xf2, 0xbe, 0xa7, 0xe2, 0xdd, 0xb9, 0xdb +db 0xf2, 0xcb, 0xdb, 0xff, 0xe9, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xef, 0xf1, 0x78, 0x8b, 0xfc, 0x3b, 0x6a, 0xff +db 0x60, 0x7b, 0xfc, 0x66, 0x7c, 0xfa, 0x40, 0x6a, 0xff, 0x32, 0x62, 0xff +db 0x3b, 0x68, 0xff, 0x58, 0x7d, 0xff, 0x5c, 0x7f, 0xff, 0x3f, 0x69, 0xff +db 0x4c, 0x6f, 0xff, 0x96, 0x93, 0xed, 0xee, 0xc2, 0xd6, 0xff, 0xd5, 0xcf +db 0xff, 0xe5, 0xdd, 0xff, 0xfb, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc8, 0xd3, 0xff, 0x6e, 0x8d, 0xff, 0x42, 0x6e, 0xff, 0x44, 0x6c, 0xff +db 0x82, 0x8a, 0xf2, 0xe7, 0xbd, 0xd7, 0xba, 0xa8, 0xe4, 0x39, 0x68, 0xff +db 0x9d, 0x99, 0xeb, 0xf9, 0xce, 0xd8, 0x84, 0x99, 0xff, 0x3e, 0x68, 0xff +db 0x48, 0x6c, 0xff, 0x80, 0x92, 0xfc, 0xbe, 0xc8, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf8, 0xf5, 0xff, 0xbd, 0xbb, 0xf7, 0x61, 0x79, 0xfb, 0x3b, 0x66, 0xff +db 0x4e, 0x75, 0xff, 0x5e, 0x80, 0xff, 0x3b, 0x68, 0xff, 0x32, 0x62, 0xff +db 0x3a, 0x67, 0xff, 0x5f, 0x78, 0xfc, 0x71, 0x81, 0xf7, 0x40, 0x6c, 0xff +db 0x62, 0x7a, 0xfc, 0xf5, 0xc6, 0xd3, 0xff, 0xe0, 0xd6, 0xff, 0xf7, 0xf2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa9, 0xbc, 0xff, 0x3d, 0x6d, 0xff +db 0x6a, 0x81, 0xf9, 0xd8, 0xbc, 0xe3, 0xcb, 0xc8, 0xf7, 0x95, 0xa4, 0xfc +db 0x75, 0x8a, 0xfa, 0x56, 0x76, 0xfe, 0x44, 0x71, 0xff, 0x47, 0x73, 0xff +db 0x57, 0x7a, 0xff, 0x88, 0x90, 0xf2, 0xc1, 0xae, 0xe4, 0xe4, 0xd6, 0xf0 +db 0xf9, 0xfa, 0xff, 0xfa, 0xfe, 0xff, 0xc4, 0xd2, 0xff, 0x80, 0x9c, 0xff +db 0x47, 0x73, 0xff, 0x3c, 0x6c, 0xff, 0x65, 0x7e, 0xfb, 0xc7, 0xad, 0xe0 +db 0xfe, 0xcc, 0xd2, 0xff, 0xeb, 0xe2, 0xa1, 0xaf, 0xfc, 0x39, 0x6c, 0xff +db 0x9a, 0x99, 0xeb, 0xff, 0xde, 0xd6, 0xff, 0xfd, 0xff, 0xc6, 0xd0, 0xff +db 0x69, 0x87, 0xff, 0x3e, 0x6b, 0xff, 0x46, 0x71, 0xff, 0x78, 0x96, 0xff +db 0xbe, 0xcc, 0xff, 0xf6, 0xf9, 0xff, 0xfa, 0xfc, 0xff, 0xf3, 0xf7, 0xff +db 0xc3, 0xd1, 0xff, 0x84, 0x9e, 0xff, 0x5f, 0x7d, 0xfe, 0x4a, 0x74, 0xff +db 0x42, 0x70, 0xff, 0x4e, 0x74, 0xff, 0x6f, 0x83, 0xf7, 0x8d, 0x90, 0xef +db 0xb4, 0xa4, 0xe6, 0xdc, 0xb9, 0xdc, 0x7b, 0x8a, 0xf5, 0x44, 0x71, 0xff +db 0xad, 0xa0, 0xe6, 0xff, 0xd4, 0xd1, 0xff, 0xf6, 0xf5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xf2, 0xff, 0x5a, 0x83, 0xff +db 0x42, 0x74, 0xff, 0xa1, 0xa3, 0xf0, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xfa, 0xfd, 0xdc, 0xd8, 0xfa, 0x5b, 0x81, 0xff, 0x48, 0x79, 0xff +db 0x53, 0x7d, 0xff, 0x49, 0x78, 0xff, 0x3f, 0x73, 0xff, 0x51, 0x7f, 0xff +db 0x65, 0x8c, 0xff, 0x6c, 0x8f, 0xff, 0x48, 0x76, 0xff, 0x43, 0x73, 0xff +db 0x57, 0x7d, 0xff, 0xa7, 0x9f, 0xea, 0xf7, 0xc9, 0xd4, 0xff, 0xe8, 0xdf +db 0xff, 0xfa, 0xf5, 0xff, 0xff, 0xff, 0xa0, 0xb8, 0xff, 0x3c, 0x70, 0xff +db 0x9c, 0x9b, 0xec, 0xff, 0xda, 0xd7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf5, 0xf6, 0xff, 0x8a, 0xa2, 0xff, 0x5b, 0x7f, 0xff, 0x44, 0x73, 0xff +db 0x47, 0x75, 0xff, 0x67, 0x8b, 0xff, 0x68, 0x8d, 0xff, 0x59, 0x83, 0xff +db 0x44, 0x74, 0xff, 0x3d, 0x71, 0xff, 0x52, 0x7b, 0xff, 0x4c, 0x7a, 0xff +db 0x4c, 0x78, 0xff, 0xbd, 0xaa, 0xe3, 0xff, 0xd2, 0xd4, 0xff, 0xe6, 0xe3 +db 0xff, 0xfe, 0xf1, 0xbb, 0xc3, 0xfa, 0x3c, 0x70, 0xff, 0x76, 0x89, 0xf7 +db 0xf9, 0xc7, 0xd1, 0xff, 0xe7, 0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xb5, 0xff +db 0x44, 0x77, 0xff, 0x62, 0x83, 0xfc, 0xea, 0xd9, 0xee, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0xa3, 0xff, 0x44, 0x78, 0xff +db 0x6a, 0x88, 0xfc, 0xaf, 0xa4, 0xe8, 0x85, 0x98, 0xf8, 0x55, 0x7f, 0xff +db 0x4c, 0x79, 0xff, 0x48, 0x7a, 0xff, 0x4d, 0x7f, 0xff, 0x52, 0x80, 0xff +db 0x7a, 0x8d, 0xf6, 0xc6, 0xb1, 0xe2, 0xe2, 0xd3, 0xef, 0xfa, 0xfa, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0xbb, 0xff, 0x3f, 0x75, 0xff +db 0x9e, 0x9e, 0xec, 0xff, 0xdd, 0xd6, 0xff, 0xff, 0xff, 0xfc, 0xfe, 0xff +db 0xe7, 0xee, 0xff, 0xad, 0xc1, 0xff, 0x6a, 0x8d, 0xff, 0x53, 0x7e, 0xff +db 0x4e, 0x7e, 0xff, 0x48, 0x7b, 0xff, 0x48, 0x7a, 0xff, 0x52, 0x7c, 0xff +db 0x63, 0x83, 0xfc, 0x9d, 0x9b, 0xeb, 0x98, 0x99, 0xee, 0x4a, 0x7c, 0xff +db 0x81, 0x91, 0xf4, 0xfa, 0xc9, 0xd2, 0xff, 0xf2, 0xec, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0x80, 0xa2, 0xff, 0x44, 0x76, 0xff, 0xc0, 0xad, 0xe3 +db 0xff, 0xd7, 0xd1, 0xff, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf8, 0xff +db 0x6d, 0x96, 0xff, 0x45, 0x7d, 0xff, 0xab, 0xa8, 0xeb, 0xff, 0xf7, 0xf3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xce, 0xda, 0xff, 0x4f, 0x80, 0xff +db 0x4b, 0x81, 0xff, 0xb3, 0xad, 0xea, 0xff, 0xf5, 0xf6, 0xe4, 0xe8, 0xff +db 0xd0, 0xd0, 0xfa, 0x73, 0x95, 0xff, 0x4c, 0x82, 0xff, 0x58, 0x86, 0xff +db 0x56, 0x86, 0xff, 0x4a, 0x80, 0xff, 0x53, 0x86, 0xff, 0x6b, 0x94, 0xff +db 0x91, 0xae, 0xff, 0xd7, 0xe1, 0xff, 0x9c, 0xb6, 0xff, 0x44, 0x7c, 0xff +db 0xa0, 0xa0, 0xeb, 0xf1, 0xc9, 0xda, 0xa1, 0xb6, 0xff, 0x6b, 0x94, 0xff +db 0x56, 0x87, 0xff, 0x44, 0x7d, 0xff, 0x50, 0x82, 0xff, 0x5a, 0x87, 0xff +db 0x4c, 0x83, 0xff, 0x5c, 0x87, 0xff, 0xbb, 0xaa, 0xe4, 0xe4, 0xc3, 0xdd +db 0xf3, 0xdb, 0xe9, 0xfb, 0xe0, 0xe9, 0x71, 0x91, 0xfc, 0x4e, 0x81, 0xff +db 0xd1, 0xb5, 0xde, 0xff, 0xdd, 0xd7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xbf, 0xcf, 0xff, 0x48, 0x7d, 0xff, 0x83, 0x94, 0xf5, 0xfe, 0xcb, 0xd1 +db 0xff, 0xe9, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xad, 0xc4, 0xff, 0x47, 0x81, 0xff, 0x72, 0x90, 0xf8, 0xef, 0xce, 0xe0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8b, 0xaa, 0xff +db 0x48, 0x82, 0xff, 0x75, 0x92, 0xf8, 0xf9, 0xe1, 0xeb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xae, 0xc4, 0xff, 0x4a, 0x82, 0xff, 0x63, 0x8c, 0xff +db 0xa9, 0xa2, 0xea, 0x90, 0x9f, 0xf5, 0x5b, 0x87, 0xff, 0x48, 0x80, 0xff +db 0x45, 0x7e, 0xff, 0x56, 0x88, 0xff, 0x5d, 0x8b, 0xff, 0x52, 0x87, 0xff +db 0x70, 0x91, 0xfb, 0x6f, 0x90, 0xfb, 0x48, 0x81, 0xff, 0x46, 0x81, 0xff +db 0x59, 0x87, 0xff, 0x8d, 0x99, 0xf1, 0xb2, 0xa7, 0xe7, 0x6f, 0x90, 0xfb +db 0x54, 0x87, 0xff, 0xad, 0xa5, 0xe8, 0xff, 0xd7, 0xd5, 0xff, 0xfc, 0xf7 +db 0xff, 0xff, 0xff, 0xc1, 0xd4, 0xff, 0x48, 0x81, 0xff, 0x81, 0x96, 0xf5 +db 0xff, 0xcb, 0xd0, 0xff, 0xec, 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x76, 0x9c, 0xff, 0x50, 0x82, 0xff, 0xd3, 0xb7, 0xde, 0xff, 0xde, 0xd9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xdf, 0xe9, 0xff, 0x5a, 0x8e, 0xff, 0x51, 0x89, 0xff, 0xb8, 0xab, 0xe5 +db 0xff, 0xf7, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xe4, 0xff +db 0x56, 0x8b, 0xff, 0x55, 0x8a, 0xff, 0xd3, 0xb8, 0xde, 0xff, 0xf8, 0xf2 +db 0xff, 0xff, 0xff, 0xde, 0xe8, 0xff, 0x59, 0x8d, 0xff, 0x4f, 0x89, 0xff +db 0x96, 0xa0, 0xf0, 0xff, 0xe8, 0xef, 0xc5, 0xd0, 0xff, 0x97, 0xaf, 0xfe +db 0x90, 0xa9, 0xfb, 0x6e, 0x96, 0xfe, 0x58, 0x8c, 0xff, 0x56, 0x8d, 0xff +db 0x56, 0x8c, 0xff, 0x69, 0x92, 0xfe, 0x8d, 0x9f, 0xf2, 0x9f, 0xa2, 0xec +db 0xc8, 0xb5, 0xe3, 0xff, 0xdd, 0xda, 0xcb, 0xc2, 0xec, 0x50, 0x88, 0xff +db 0x80, 0x98, 0xf7, 0xff, 0xc9, 0xcf, 0xff, 0xe8, 0xe6, 0xff, 0xff, 0xff +db 0xfe, 0xff, 0xff, 0x81, 0xa6, 0xff, 0x51, 0x86, 0xff, 0xc6, 0xb2, 0xe2 +db 0xff, 0xd8, 0xd4, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xdf, 0xe9, 0xff +db 0x53, 0x8b, 0xff, 0x7d, 0x98, 0xf7, 0xff, 0xcc, 0xd0, 0xff, 0xee, 0xed +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xa5, 0xc0, 0xff, 0x4f, 0x8d, 0xff, 0x7a, 0x98, 0xf7 +db 0xf6, 0xd7, 0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x8c, 0xb0, 0xff, 0x4f, 0x8b, 0xff, 0x9d, 0xa2, 0xec, 0xff, 0xe0, 0xe3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8d, 0xaf, 0xff, 0x50, 0x8c, 0xff +db 0x64, 0x92, 0xfe, 0xe6, 0xd3, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xb1, 0xc2, 0xff, 0x5c, 0x90, 0xff, 0x54, 0x91, 0xff +db 0x5f, 0x93, 0xff, 0xc2, 0xb0, 0xe3, 0xff, 0xde, 0xdd, 0xff, 0xf3, 0xef +db 0xff, 0xfe, 0xfa, 0xff, 0xff, 0xff, 0x83, 0xac, 0xff, 0x4e, 0x8b, 0xff +db 0xbd, 0xb1, 0xe5, 0xff, 0xd8, 0xd3, 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xc7, 0xd8, 0xff, 0x4f, 0x8b, 0xff, 0x82, 0x9d, 0xf7, 0xff, 0xcd, 0xd1 +db 0xff, 0xf0, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9d, 0xbb, 0xff +db 0x4f, 0x8a, 0xff, 0xc1, 0xb2, 0xe3, 0xff, 0xda, 0xd5, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xea, 0xf1, 0xff, 0x65, 0x9b, 0xff, 0x59, 0x94, 0xff +db 0xce, 0xbb, 0xe2, 0xff, 0xfc, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc8, 0xd9, 0xff, 0x57, 0x93, 0xff, 0x68, 0x97, 0xfd, 0xe5, 0xcb, 0xe2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xe4, 0xff, 0x63, 0x98, 0xff +db 0x57, 0x94, 0xff, 0xc2, 0xb6, 0xe4, 0xff, 0xf7, 0xf1, 0xff, 0xff, 0xff +db 0xf4, 0xf8, 0xff, 0x76, 0xa5, 0xff, 0x56, 0x94, 0xff, 0x7a, 0x9b, 0xfa +db 0x5c, 0x96, 0xff, 0x7b, 0x9b, 0xf8, 0xeb, 0xd8, 0xed, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe1, 0xeb, 0xff, 0x61, 0x99, 0xff, 0x69, 0x97, 0xff +db 0xea, 0xc3, 0xd7, 0xff, 0xeb, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x98, 0xba, 0xff, 0x4e, 0x8f, 0xff, 0xbf, 0xb4, 0xe4, 0xff, 0xdc, 0xd5 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xeb, 0xff, 0x64, 0x99, 0xff +db 0x6e, 0x98, 0xfd, 0xec, 0xc2, 0xd6, 0xff, 0xec, 0xe9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0xc1, 0xff, 0x51, 0x96, 0xff +db 0xa4, 0xab, 0xec, 0xff, 0xe2, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xfc, 0xff, 0x7c, 0xab, 0xff, 0x57, 0x98, 0xff, 0xbd, 0xb6, 0xe7 +db 0xff, 0xfb, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0xbc, 0xff +db 0x53, 0x97, 0xff, 0x98, 0xa7, 0xef, 0xff, 0xe0, 0xdf, 0xf9, 0xfb, 0xff +db 0x8e, 0xb5, 0xff, 0x56, 0x98, 0xff, 0x89, 0xa5, 0xf6, 0xe9, 0xc1, 0xd8 +db 0x97, 0xaa, 0xf3, 0x54, 0x98, 0xff, 0x9b, 0xaa, 0xf1, 0xff, 0xef, 0xf1 +db 0xff, 0xff, 0xff, 0xa6, 0xc3, 0xff, 0x54, 0x95, 0xff, 0xa3, 0xab, 0xed +db 0xff, 0xd9, 0xd9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xf1, 0xff +db 0x67, 0x9f, 0xff, 0x6b, 0x9c, 0xff, 0xed, 0xc5, 0xd6, 0xff, 0xeb, 0xe8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x92, 0xb7, 0xff, 0x56, 0x96, 0xff +db 0xb0, 0xae, 0xe9, 0xff, 0xd2, 0xd2, 0xff, 0xfc, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xea, 0xff, 0x65, 0xa2, 0xff +db 0x7b, 0xa4, 0xfa, 0xf4, 0xcf, 0xdb, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xa7, 0xc8, 0xff, 0x56, 0x9c, 0xff, 0x96, 0xab, 0xf2 +db 0xff, 0xed, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xd2, 0xff +db 0x58, 0x9d, 0xff, 0x7c, 0xa5, 0xfb, 0xf3, 0xcf, 0xdc, 0xa3, 0xbf, 0xfe +db 0x57, 0x9c, 0xff, 0x6f, 0xa3, 0xff, 0xdb, 0xbb, 0xda, 0xff, 0xe1, 0xd9 +db 0xea, 0xeb, 0xfe, 0x70, 0xa8, 0xff, 0x5f, 0x9d, 0xff, 0xbb, 0xba, 0xeb +db 0xf6, 0xee, 0xf9, 0x7f, 0xb1, 0xff, 0x5d, 0x9e, 0xff, 0xcf, 0xba, 0xdf +db 0xff, 0xe8, 0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbd, 0xd6, 0xff +db 0x59, 0x9d, 0xff, 0x98, 0xab, 0xf1, 0xff, 0xd2, 0xd2, 0xff, 0xf7, 0xf6 +db 0xff, 0xff, 0xff, 0xe4, 0xef, 0xff, 0x66, 0xa2, 0xff, 0x65, 0xa0, 0xff +db 0xe0, 0xbf, 0xda, 0xff, 0xdd, 0xd9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xc6, 0xff +db 0x5c, 0xa2, 0xff, 0xb5, 0xb6, 0xe8, 0xff, 0xf6, 0xf2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd3, 0xe7, 0xff, 0x64, 0xa8, 0xff, 0x6c, 0xa4, 0xff +db 0xe7, 0xd2, 0xe5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xdf, 0xff +db 0x62, 0xa5, 0xff, 0x67, 0xa6, 0xff, 0x85, 0xa9, 0xf8, 0x6b, 0xa8, 0xff +db 0x5f, 0xa6, 0xff, 0xaf, 0xb5, 0xeb, 0xff, 0xd9, 0xd5, 0xff, 0xfb, 0xf9 +db 0xff, 0xff, 0xff, 0xc6, 0xdb, 0xff, 0x6b, 0xaa, 0xff, 0x65, 0xa4, 0xff +db 0x8c, 0xad, 0xf9, 0x6b, 0xaa, 0xff, 0x68, 0xa6, 0xff, 0xe0, 0xc2, 0xda +db 0xff, 0xf1, 0xed, 0xff, 0xff, 0xff, 0xec, 0xf6, 0xff, 0x76, 0xb2, 0xff +db 0x5e, 0xa2, 0xff, 0xc1, 0xb7, 0xe4, 0xff, 0xe0, 0xdb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xaa, 0xcf, 0xff, 0x5b, 0xa3, 0xff, 0x7b, 0xa7, 0xfc +db 0xfa, 0xca, 0xd2, 0xff, 0xec, 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcc, 0xe2, 0xff +db 0x63, 0xac, 0xff, 0x8a, 0xac, 0xf4, 0xff, 0xe7, 0xe9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xef, 0xf9, 0xff, 0x75, 0xb6, 0xff, 0x63, 0xa9, 0xff +db 0xcc, 0xc1, 0xe5, 0xff, 0xfd, 0xf8, 0xff, 0xff, 0xff, 0xdc, 0xeb, 0xff +db 0x73, 0xb2, 0xff, 0x68, 0xac, 0xff, 0x64, 0xaa, 0xff, 0x66, 0xac, 0xff +db 0x87, 0xae, 0xf9, 0xf9, 0xcf, 0xd6, 0xff, 0xf2, 0xf4, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xaa, 0xcc, 0xff, 0x67, 0xac, 0xff +db 0x65, 0xa9, 0xff, 0x65, 0xac, 0xff, 0x80, 0xad, 0xfb, 0xfa, 0xcd, 0xd5 +db 0xff, 0xf8, 0xf6, 0xff, 0xff, 0xff, 0xc2, 0xdf, 0xff, 0x61, 0xaa, 0xff +db 0x75, 0xaa, 0xfe, 0xea, 0xc3, 0xd6, 0xff, 0xec, 0xe9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0x8e, 0xc2, 0xff, 0x5c, 0xa8, 0xff, 0x9c, 0xb0, 0xf1 +db 0xff, 0xd2, 0xd1, 0xff, 0xfa, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf8, 0xff +db 0x7d, 0xbb, 0xff, 0x71, 0xaf, 0xff, 0xe9, 0xd3, 0xe4, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x98, 0xca, 0xff, 0x62, 0xb0, 0xff +db 0xa4, 0xb8, 0xee, 0xff, 0xed, 0xec, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff +db 0x97, 0xc6, 0xff, 0x69, 0xb2, 0xff, 0x6e, 0xb5, 0xff, 0x6f, 0xb2, 0xff +db 0x9d, 0xb9, 0xf3, 0xa1, 0xc0, 0xf5, 0x8c, 0xc4, 0xff, 0x8d, 0xc3, 0xff +db 0x8c, 0xc3, 0xff, 0x90, 0xc4, 0xff, 0x95, 0xc6, 0xff, 0x76, 0xb7, 0xff +db 0x6d, 0xb3, 0xff, 0x68, 0xb2, 0xff, 0x95, 0xb6, 0xf4, 0xff, 0xd7, 0xd7 +db 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0x93, 0xc6, 0xff, 0x62, 0xaf, 0xff +db 0x9d, 0xb7, 0xf2, 0xff, 0xd3, 0xd2, 0xff, 0xfa, 0xf9, 0xff, 0xff, 0xff +db 0xd3, 0xe7, 0xff, 0x73, 0xb7, 0xff, 0x66, 0xaf, 0xff, 0xc8, 0xbe, 0xe3 +db 0xff, 0xe2, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x9d, 0xcd, 0xff, 0x67, 0xb5, 0xff, 0xc8, 0xc7, 0xe8, 0xff, 0xfa, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb9, 0xda, 0xff, 0x6a, 0xb8, 0xff +db 0x7e, 0xb7, 0xfc, 0xf1, 0xdd, 0xe7, 0xff, 0xff, 0xff, 0xdd, 0xed, 0xff +db 0x7d, 0xbe, 0xff, 0x6e, 0xb9, 0xff, 0x6c, 0xb9, 0xff, 0x6b, 0xb9, 0xff +db 0x67, 0xb7, 0xff, 0x63, 0xb6, 0xff, 0x64, 0xb4, 0xff, 0x64, 0xb3, 0xff +db 0x64, 0xb3, 0xff, 0x64, 0xb3, 0xff, 0x67, 0xb5, 0xff, 0x6b, 0xb7, 0xff +db 0x6b, 0xb8, 0xff, 0x6d, 0xb9, 0xff, 0x7a, 0xb7, 0xff, 0xe6, 0xdb, 0xec +db 0xff, 0xff, 0xff, 0xe9, 0xf4, 0xff, 0x76, 0xba, 0xff, 0x68, 0xb7, 0xff +db 0xc2, 0xc3, 0xe6, 0xff, 0xdc, 0xd8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xab, 0xd3, 0xff, 0x68, 0xb5, 0xff, 0x78, 0xb7, 0xff, 0xeb, 0xcb, 0xd8 +db 0xff, 0xf2, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc3, 0xe2, 0xff, 0x69, 0xbc, 0xff, 0xa1, 0xc1, 0xf1, 0xff, 0xe7, 0xe6 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xf2, 0xff, 0x82, 0xc4, 0xff +db 0x6d, 0xbc, 0xff, 0xd0, 0xd0, 0xeb, 0xf4, 0xf2, 0xfd, 0x8f, 0xca, 0xff +db 0x6f, 0xbe, 0xff, 0x77, 0xbe, 0xff, 0x98, 0xc1, 0xf6, 0x9c, 0xc4, 0xf8 +db 0x9e, 0xc5, 0xf8, 0xb8, 0xcc, 0xf2, 0xbc, 0xd4, 0xf9, 0xbb, 0xd4, 0xf9 +db 0xbb, 0xd3, 0xf8, 0xbb, 0xd4, 0xf9, 0xa4, 0xd1, 0xff, 0x9a, 0xcf, 0xff +db 0x9d, 0xc7, 0xfa, 0x7f, 0xbf, 0xff, 0x6e, 0xbd, 0xff, 0x89, 0xc7, 0xff +db 0xea, 0xf7, 0xff, 0xd8, 0xec, 0xff, 0x72, 0xbe, 0xff, 0x79, 0xbd, 0xff +db 0xe9, 0xcc, 0xdb, 0xff, 0xef, 0xed, 0xff, 0xff, 0xff, 0xf9, 0xfd, 0xff +db 0x8d, 0xc8, 0xff, 0x6b, 0xbc, 0xff, 0x9d, 0xc0, 0xf4, 0xff, 0xd3, 0xd5 +db 0xff, 0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xde, 0xf0, 0xff, 0x78, 0xc5, 0xff, 0x81, 0xc1, 0xfe, 0xef, 0xd6, 0xe1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9a, 0xd1, 0xff +db 0x6d, 0xc2, 0xff, 0xa9, 0xc7, 0xf2, 0xa8, 0xcc, 0xf8, 0x73, 0xc4, 0xff +db 0x6f, 0xc3, 0xff, 0xb2, 0xc5, 0xec, 0xff, 0xd7, 0xd6, 0xff, 0xf8, 0xf7 +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xfe, 0xbb, 0xdc, 0xff, 0x75, 0xc2, 0xff, 0x6f, 0xc0, 0xff +db 0x94, 0xcf, 0xff, 0xb9, 0xde, 0xff, 0x74, 0xc3, 0xff, 0x86, 0xc2, 0xfd +db 0xf9, 0xd5, 0xda, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xe6, 0xf4, 0xff +db 0x7c, 0xc5, 0xff, 0x71, 0xc2, 0xff, 0xcd, 0xc8, 0xe3, 0xff, 0xdc, 0xd9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xfd, 0xff, 0x9d, 0xd5, 0xff, 0x73, 0xc7, 0xff, 0xc5, 0xcd, 0xe9 +db 0xff, 0xfb, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb8, 0xe1, 0xff +db 0x76, 0xc9, 0xff, 0x80, 0xc8, 0xff, 0x7c, 0xc8, 0xff, 0x78, 0xca, 0xff +db 0x9f, 0xc9, 0xf5, 0xfb, 0xd6, 0xd9, 0xff, 0xf9, 0xf5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, 0xdc, 0xff, 0x78, 0xc9, 0xff +db 0x79, 0xc8, 0xff, 0x7d, 0xc8, 0xff, 0x76, 0xca, 0xff, 0x9d, 0xc8, 0xf4 +db 0xff, 0xde, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0xe6, 0xff +db 0x76, 0xc8, 0xff, 0x85, 0xc9, 0xff, 0xf2, 0xcd, 0xd5, 0xff, 0xe9, 0xe7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xc6, 0xe6, 0xff, 0x75, 0xce, 0xff, 0xa7, 0xcb, 0xf2 +db 0xff, 0xef, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0xed, 0xff +db 0x7c, 0xce, 0xff, 0x7d, 0xd0, 0xff, 0x7a, 0xcf, 0xff, 0x96, 0xcd, 0xfa +db 0xec, 0xce, 0xd9, 0xf4, 0xe7, 0xef, 0xd8, 0xf2, 0xff, 0xcf, 0xec, 0xff +db 0xd0, 0xec, 0xff, 0xd0, 0xec, 0xff, 0xd0, 0xec, 0xff, 0xd0, 0xec, 0xff +db 0xd0, 0xec, 0xff, 0xd0, 0xec, 0xff, 0xd0, 0xec, 0xff, 0xcf, 0xec, 0xff +db 0xd5, 0xee, 0xff, 0xf1, 0xfa, 0xff, 0xd8, 0xec, 0xff, 0x8d, 0xd2, 0xff +db 0x7c, 0xcf, 0xff, 0x7d, 0xcf, 0xff, 0x78, 0xcf, 0xff, 0xa8, 0xcb, 0xf0 +db 0xff, 0xe3, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xab, 0xdc, 0xff +db 0x74, 0xce, 0xff, 0xa0, 0xce, 0xf6, 0xff, 0xd1, 0xd1, 0xff, 0xf6, 0xf6 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe3, 0xf4, 0xff, 0x81, 0xd5, 0xff, 0x97, 0xd0, 0xf8 +db 0xff, 0xdf, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0xee, 0xff +db 0x80, 0xd4, 0xff, 0x81, 0xd6, 0xff, 0x80, 0xd5, 0xff, 0x88, 0xd4, 0xff +db 0x8e, 0xd4, 0xff, 0x88, 0xd8, 0xff, 0x80, 0xd6, 0xff, 0x7c, 0xd4, 0xff +db 0x7c, 0xd4, 0xff, 0x7a, 0xd4, 0xff, 0x79, 0xd4, 0xff, 0x7c, 0xd4, 0xff +db 0x7c, 0xd4, 0xff, 0x7d, 0xd4, 0xff, 0x7d, 0xd4, 0xff, 0x7b, 0xd4, 0xff +db 0x7f, 0xd5, 0xff, 0x86, 0xd7, 0xff, 0x89, 0xd8, 0xff, 0x85, 0xd7, 0xff +db 0x81, 0xd6, 0xff, 0x81, 0xd6, 0xff, 0x7d, 0xd4, 0xff, 0xb1, 0xcd, 0xee +db 0xff, 0xec, 0xeb, 0xff, 0xff, 0xff, 0xf2, 0xfa, 0xff, 0x92, 0xd8, 0xff +db 0x78, 0xd4, 0xff, 0xb9, 0xd0, 0xec, 0xff, 0xd9, 0xd7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf6, 0xfd, 0xff, 0x92, 0xde, 0xff, 0x88, 0xd6, 0xff +db 0xf1, 0xd6, 0xdd, 0xff, 0xff, 0xfc, 0xfa, 0xfe, 0xff, 0xa5, 0xe1, 0xff +db 0x81, 0xda, 0xff, 0x82, 0xdb, 0xff, 0x83, 0xda, 0xff, 0x86, 0xd8, 0xff +db 0x8d, 0xd5, 0xfe, 0x8e, 0xd5, 0xfd, 0x8f, 0xd5, 0xfc, 0x8f, 0xd5, 0xfc +db 0x91, 0xd4, 0xfb, 0xa3, 0xd2, 0xf4, 0xa6, 0xd4, 0xf5, 0x95, 0xd6, 0xfc +db 0x8e, 0xd7, 0xff, 0x8f, 0xd5, 0xfd, 0x8f, 0xd5, 0xfc, 0x8f, 0xd5, 0xfc +db 0x8e, 0xd5, 0xfc, 0x8d, 0xd4, 0xfc, 0x8e, 0xd4, 0xfc, 0x89, 0xd5, 0xff +db 0x84, 0xd7, 0xff, 0x83, 0xd7, 0xff, 0x81, 0xda, 0xff, 0x8e, 0xd6, 0xfe +db 0xf4, 0xf4, 0xfa, 0xff, 0xff, 0xff, 0xdd, 0xf3, 0xff, 0x85, 0xd9, 0xff +db 0x7e, 0xd9, 0xff, 0xd2, 0xd0, 0xe2, 0xff, 0xe6, 0xe4, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0xe6, 0xff, 0x82, 0xde, 0xff +db 0xdf, 0xd3, 0xe0, 0xff, 0xef, 0xf1, 0xb9, 0xea, 0xff, 0x85, 0xe0, 0xff +db 0x83, 0xe1, 0xff, 0xb6, 0xd7, 0xf0, 0xe2, 0xd1, 0xdd, 0xe7, 0xdb, 0xe5 +db 0xf8, 0xe2, 0xe7, 0xf8, 0xea, 0xef, 0xf8, 0xeb, 0xf0, 0xf8, 0xeb, 0xf0 +db 0xf9, 0xeb, 0xef, 0xff, 0xee, 0xef, 0xff, 0xf6, 0xf6, 0xfb, 0xf6, 0xfa +db 0xf7, 0xf5, 0xf9, 0xf8, 0xec, 0xf1, 0xf8, 0xeb, 0xf0, 0xf8, 0xeb, 0xf0 +db 0xf8, 0xeb, 0xf0, 0xf8, 0xeb, 0xf0, 0xf9, 0xeb, 0xf0, 0xed, 0xeb, 0xf4 +db 0xe2, 0xec, 0xf9, 0xd4, 0xe6, 0xf7, 0x8d, 0xde, 0xff, 0x80, 0xde, 0xff +db 0xc3, 0xe5, 0xfb, 0xff, 0xff, 0xff, 0xc6, 0xee, 0xff, 0x81, 0xde, 0xff +db 0x89, 0xdc, 0xff, 0xe8, 0xd1, 0xdb, 0xff, 0xf2, 0xf1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbb, 0xed, 0xff, 0x7f, 0xe4, 0xff +db 0xcc, 0xd6, 0xe7, 0xe0, 0xdb, 0xe8, 0x8a, 0xe5, 0xff, 0x83, 0xe6, 0xff +db 0xa4, 0xdd, 0xf8, 0xfc, 0xcf, 0xd2, 0xff, 0xe4, 0xe2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0xe9, 0xff, 0x82, 0xe3, 0xff +db 0x8d, 0xdf, 0xff, 0xdd, 0xe8, 0xf7, 0xb6, 0xea, 0xff, 0x81, 0xe4, 0xff +db 0x9c, 0xdc, 0xfa, 0xfb, 0xd3, 0xd7, 0xff, 0xfb, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0xf4, 0xff, 0x87, 0xe9, 0xff +db 0xa7, 0xdf, 0xf7, 0xa5, 0xe1, 0xf8, 0x85, 0xec, 0xff, 0xa5, 0xe2, 0xf9 +db 0xf9, 0xd1, 0xd5, 0xff, 0xe7, 0xe5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xfd, 0xff, 0xa9, 0xe9, 0xff +db 0x88, 0xe9, 0xff, 0x96, 0xe2, 0xff, 0x97, 0xe5, 0xff, 0x86, 0xeb, 0xff +db 0xbd, 0xda, 0xed, 0xff, 0xd9, 0xd8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe4, 0xf9, 0xff, 0x93, 0xed, 0xff +db 0x8a, 0xed, 0xff, 0x8b, 0xef, 0xff, 0x91, 0xe9, 0xff, 0xdf, 0xd5, 0xdf +db 0xff, 0xe0, 0xe1, 0xf2, 0xfc, 0xff, 0xee, 0xfe, 0xff, 0xf0, 0xfd, 0xff +db 0xe5, 0xf9, 0xff, 0xd5, 0xf7, 0xff, 0xd6, 0xf7, 0xff, 0xd6, 0xf7, 0xff +db 0xd6, 0xf7, 0xff, 0xd6, 0xf7, 0xff, 0xd6, 0xf7, 0xff, 0xd6, 0xf7, 0xff +db 0xd6, 0xf7, 0xff, 0xd5, 0xf7, 0xff, 0xd5, 0xf7, 0xff, 0xd6, 0xf7, 0xff +db 0xd6, 0xf6, 0xff, 0xd5, 0xf7, 0xff, 0xda, 0xf7, 0xff, 0xee, 0xfc, 0xff +db 0xef, 0xfd, 0xff, 0xef, 0xfd, 0xff, 0xfe, 0xff, 0xff, 0xe7, 0xf6, 0xff +db 0x99, 0xec, 0xff, 0x8b, 0xed, 0xff, 0x8d, 0xec, 0xff, 0x8d, 0xee, 0xff +db 0xd5, 0xd7, 0xe3, 0xff, 0xe0, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xfc, 0xff, 0x9e, 0xf0, 0xff +db 0x90, 0xf4, 0xff, 0x90, 0xf4, 0xff, 0x9c, 0xe9, 0xfe, 0xb3, 0xe6, 0xf5 +db 0xaa, 0xf2, 0xff, 0x99, 0xf4, 0xff, 0x95, 0xf3, 0xff, 0x96, 0xf3, 0xff +db 0x92, 0xf3, 0xff, 0x8b, 0xf3, 0xff, 0x8b, 0xf3, 0xff, 0x8b, 0xf3, 0xff +db 0x8b, 0xf3, 0xff, 0x8b, 0xf2, 0xff, 0x8b, 0xf2, 0xff, 0x8b, 0xf3, 0xff +db 0x8b, 0xf3, 0xff, 0x8b, 0xf2, 0xff, 0x8b, 0xf2, 0xff, 0x8b, 0xf2, 0xff +db 0x8b, 0xf2, 0xff, 0x8b, 0xf2, 0xff, 0x8d, 0xf2, 0xff, 0x94, 0xf2, 0xff +db 0x96, 0xf2, 0xff, 0x96, 0xf2, 0xff, 0xa2, 0xf3, 0xff, 0xa9, 0xf2, 0xff +db 0x9c, 0xf1, 0xff, 0x91, 0xf3, 0xff, 0x91, 0xf3, 0xff, 0x93, 0xef, 0xff +db 0xeb, 0xd3, 0xd9, 0xff, 0xea, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xce, 0xf6, 0xff, 0x94, 0xf5, 0xff +db 0x91, 0xf8, 0xff, 0x90, 0xf8, 0xff, 0x92, 0xf5, 0xff, 0x8f, 0xf6, 0xff +db 0x94, 0xf2, 0xff, 0x9c, 0xed, 0xfc, 0x9c, 0xee, 0xfc, 0x9b, 0xee, 0xfc +db 0xa7, 0xe8, 0xf7, 0xb2, 0xe7, 0xf4, 0xb1, 0xe8, 0xf5, 0xb1, 0xe8, 0xf5 +db 0xb1, 0xe8, 0xf5, 0xb1, 0xe8, 0xf5, 0xb1, 0xe8, 0xf5, 0xb1, 0xe8, 0xf5 +db 0xb1, 0xe8, 0xf5, 0xb1, 0xe8, 0xf5, 0xb1, 0xe8, 0xf5, 0xb1, 0xe8, 0xf6 +db 0xb1, 0xe8, 0xf5, 0xb1, 0xe8, 0xf5, 0xb1, 0xe8, 0xf5, 0xa1, 0xed, 0xfc +db 0x9b, 0xf0, 0xfe, 0x9d, 0xed, 0xfc, 0x97, 0xef, 0xfe, 0x8f, 0xf2, 0xff +db 0x92, 0xf3, 0xff, 0x91, 0xf5, 0xff, 0x8f, 0xf7, 0xff, 0x92, 0xf5, 0xff +db 0xc9, 0xdf, 0xea, 0xff, 0xf3, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd4, 0xf8, 0xff, 0x9b, 0xf9, 0xff, 0x92, 0xfc, 0xff +db 0xaf, 0xee, 0xf8, 0xd1, 0xdf, 0xe7, 0xe2, 0xda, 0xe0, 0xe4, 0xde, 0xe3 +db 0xed, 0xdc, 0xe0, 0xfa, 0xe1, 0xe3, 0xf9, 0xe8, 0xea, 0xf9, 0xee, 0xf0 +db 0xff, 0xeb, 0xed, 0xff, 0xf0, 0xf0, 0xff, 0xf6, 0xf7, 0xff, 0xf5, 0xf6 +db 0xff, 0xf5, 0xf6, 0xff, 0xf5, 0xf6, 0xff, 0xf5, 0xf6, 0xff, 0xf5, 0xf6 +db 0xff, 0xf5, 0xf6, 0xff, 0xf5, 0xf6, 0xff, 0xf5, 0xf6, 0xff, 0xf5, 0xf6 +db 0xff, 0xf5, 0xf6, 0xff, 0xf5, 0xf6, 0xff, 0xf5, 0xf6, 0xfc, 0xf8, 0xfa +db 0xf8, 0xf5, 0xf7, 0xfa, 0xed, 0xf0, 0xf3, 0xef, 0xf3, 0xe4, 0xf0, 0xf6 +db 0xe5, 0xe8, 0xee, 0xd8, 0xe6, 0xed, 0xc1, 0xe9, 0xf2, 0x97, 0xf7, 0xff +db 0x91, 0xf7, 0xff, 0xd4, 0xf4, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe1, 0xfb, 0xff, 0x97, 0xfa, 0xff, 0x91, 0xff, 0xff, 0x99, 0xf9, 0xff +db 0xea, 0xd6, 0xda, 0xff, 0xd8, 0xd7, 0xff, 0xef, 0xee, 0xff, 0xfa, 0xf9 +db 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfa, 0xfb, 0xb0, 0xf7, 0xff +db 0x8d, 0xff, 0xff, 0xa5, 0xf5, 0xfd, 0xfe, 0xf8, 0xf9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf3, 0xff, 0xff, 0xcb, 0xfb, 0xff, 0xb1, 0xf8, 0xff, 0xdd, 0xdc, 0xe1 +db 0xff, 0xd9, 0xd9, 0xff, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0xfc, 0xff +db 0xaf, 0xfd, 0xff, 0xc4, 0xeb, 0xf2, 0xff, 0xdd, 0xdd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xee, 0xed +db 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfb, 0xff, 0xf8, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/num0.inc b/programs/games/hunter/trunk/inc/num0.inc new file mode 100644 index 0000000000..b604ee327f --- /dev/null +++ b/programs/games/hunter/trunk/inc/num0.inc @@ -0,0 +1,33 @@ +dw 8, 16 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff, 0xf5, 0xdb, 0xff, 0xdb +db 0xde, 0xff, 0xde, 0xfc, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd8, 0xff, 0xd4, 0x40, 0xff, 0x3d, 0x14, 0xff, 0x14 +db 0x18, 0xff, 0x15, 0x81, 0xff, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xff, 0xfe, 0x6f, 0xff, 0x8d, 0x2, 0xe8, 0x15, 0xf, 0xbb, 0x11 +db 0x2, 0xe1, 0x14, 0x12, 0xfe, 0x38, 0xc6, 0xf0, 0xd1, 0xff, 0xff, 0xff +db 0xd2, 0xff, 0xe3, 0x1e, 0xfb, 0x72, 0x28, 0x7d, 0x4b, 0x5f, 0x4d, 0x5a +db 0x60, 0xb0, 0x82, 0xa, 0xfe, 0x67, 0x51, 0xc1, 0x7b, 0xf6, 0xee, 0xf3 +db 0xb1, 0xff, 0xcc, 0x2b, 0xe5, 0x67, 0x54, 0x6a, 0x5b, 0xd6, 0xcc, 0xd3 +db 0xf7, 0xfc, 0xf9, 0x64, 0xff, 0x98, 0x34, 0xb6, 0x60, 0xcc, 0xc8, 0xcb +db 0x99, 0xff, 0xcd, 0x2b, 0xd0, 0x7b, 0x7a, 0x82, 0x7e, 0xff, 0xfd, 0xff +db 0xff, 0xff, 0xff, 0x95, 0xff, 0xcb, 0x29, 0xc1, 0x72, 0x9d, 0xa1, 0xa0 +db 0x99, 0xff, 0xd2, 0x29, 0xcf, 0x81, 0x7a, 0x81, 0x7e, 0xfd, 0xf9, 0xfb +db 0xff, 0xff, 0xff, 0x94, 0xff, 0xd0, 0x27, 0xc0, 0x78, 0x87, 0x8b, 0x89 +db 0x9a, 0xff, 0xe6, 0x2b, 0xd3, 0xa2, 0x7a, 0x83, 0x80, 0xfd, 0xf9, 0xfb +db 0xff, 0xff, 0xff, 0x95, 0xff, 0xe4, 0x29, 0xc0, 0x94, 0x86, 0x8a, 0x89 +db 0xc3, 0xff, 0xef, 0x6d, 0xe5, 0xc1, 0x83, 0x92, 0x8d, 0xfd, 0xf7, 0xf8 +db 0xff, 0xff, 0xff, 0xac, 0xff, 0xec, 0x52, 0xa6, 0x8d, 0x86, 0x84, 0x85 +db 0xf3, 0xff, 0xff, 0xa4, 0xf9, 0xf7, 0x9a, 0xc7, 0xc6, 0xf9, 0xf7, 0xf7 +db 0xdf, 0xff, 0xff, 0xa0, 0xff, 0xff, 0x5a, 0x7a, 0x79, 0x99, 0x95, 0x95 +db 0xff, 0xff, 0xff, 0xcb, 0xff, 0xff, 0x9b, 0xff, 0xff, 0xb5, 0xff, 0xff +db 0xa8, 0xff, 0xff, 0x86, 0xda, 0xda, 0x4b, 0x52, 0x53, 0xc0, 0xbe, 0xbe +db 0xff, 0xff, 0xff, 0xf3, 0xfc, 0xfc, 0x9e, 0xe7, 0xe7, 0x81, 0xdf, 0xdf +db 0x78, 0xc1, 0xc1, 0x4e, 0x66, 0x66, 0x7e, 0x7c, 0x7c, 0xf8, 0xf8, 0xf8 +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xd8, 0xde, 0xde, 0x86, 0x92, 0x92 +db 0x69, 0x6b, 0x6b, 0x7e, 0x7c, 0x7c, 0xe6, 0xe6, 0xe6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfa, 0xfa +db 0xf7, 0xf6, 0xf6, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/num1.inc b/programs/games/hunter/trunk/inc/num1.inc new file mode 100644 index 0000000000..9372709a27 --- /dev/null +++ b/programs/games/hunter/trunk/inc/num1.inc @@ -0,0 +1,33 @@ +dw 8, 16 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf0, 0xe9, 0xff, 0xe9 +db 0xfd, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc6, 0xff, 0xc2, 0x5b, 0xff, 0x57, 0x31, 0xff, 0x2d, 0x3d, 0xff, 0x39 +db 0xe3, 0xfe, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x3e, 0xff, 0x5c, 0x2, 0xfd, 0x17, 0x2, 0xf9, 0x1c, 0x4, 0xe9, 0x26 +db 0x9b, 0xbb, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x7d, 0xd9, 0xa2, 0x23, 0x6f, 0x43, 0x20, 0x9f, 0x52, 0x5, 0xe0, 0x5a +db 0x7c, 0x9c, 0x88, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe1, 0xda, 0xdf, 0x9a, 0x87, 0x93, 0x7a, 0xc5, 0x93, 0x26, 0xe2, 0x64 +db 0x84, 0x9f, 0x8d, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbc, 0xff, 0xe0, 0x2c, 0xe0, 0x83 +db 0x84, 0x9f, 0x92, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, 0xff, 0xdf, 0x2a, 0xe0, 0x8a +db 0x84, 0x9f, 0x93, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xff, 0xed, 0x2c, 0xe0, 0xac +db 0x84, 0x9f, 0x97, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0xff, 0xf4, 0x6b, 0xdf, 0xbd +db 0x8e, 0x9d, 0x97, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xff, 0xff, 0xf5, 0xff, 0xff, 0xd6, 0xff, 0xff, 0x8c, 0xe4, 0xe3 +db 0x93, 0xac, 0xab, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc2, 0xff, 0xff, 0xa7, 0xff, 0xff, 0xa4, 0xff, 0xff, 0x9a, 0xff, 0xff +db 0x9a, 0xfa, 0xfa, 0xaf, 0xff, 0xff, 0xe4, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xb2, 0xdb, 0xdb, 0x60, 0x97, 0x97, 0x64, 0x99, 0x99, 0x66, 0x9a, 0x9a +db 0x66, 0x9d, 0x9d, 0x5c, 0x91, 0x91, 0x72, 0x85, 0x85, 0xf1, 0xef, 0xef +db 0xd9, 0xd6, 0xd6, 0x84, 0x81, 0x81, 0x84, 0x81, 0x81, 0x85, 0x81, 0x81 +db 0x85, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x92, 0x91, 0x91, 0xf2, 0xf2, 0xf2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/num2.inc b/programs/games/hunter/trunk/inc/num2.inc new file mode 100644 index 0000000000..c5fe71d4c8 --- /dev/null +++ b/programs/games/hunter/trunk/inc/num2.inc @@ -0,0 +1,33 @@ +dw 8, 16 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xde, 0xff, 0xdd, 0xd6, 0xff, 0xd6 +db 0xf0, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf5, 0xff, 0xf3, 0x71, 0xff, 0x6c, 0x1a, 0xff, 0x18, 0x10, 0xff, 0x10 +db 0x2f, 0xff, 0x2d, 0x8b, 0xff, 0x86, 0xfa, 0xff, 0xf8, 0xff, 0xff, 0xff +db 0xae, 0xff, 0xc0, 0x2, 0xff, 0x24, 0x6, 0xdd, 0x18, 0x17, 0xa4, 0x15 +db 0x3, 0xc9, 0x13, 0x3, 0xff, 0x28, 0xa5, 0xf2, 0xb7, 0xff, 0xfd, 0xff +db 0x7e, 0xff, 0xb3, 0x4, 0xe6, 0x5b, 0x3b, 0x62, 0x4c, 0x73, 0x5d, 0x6d +db 0x81, 0xb3, 0x97, 0x12, 0xff, 0x6d, 0x42, 0xd2, 0x78, 0xf8, 0xf0, 0xf6 +db 0xc9, 0xf1, 0xd6, 0x3d, 0x85, 0x53, 0x6c, 0x6b, 0x6b, 0xf5, 0xed, 0xf2 +db 0xea, 0xff, 0xf3, 0x42, 0xff, 0x85, 0x3d, 0xc9, 0x6b, 0xdc, 0xd8, 0xdb +db 0xfc, 0xf8, 0xfa, 0xce, 0xc6, 0xcb, 0xde, 0xda, 0xdc, 0xff, 0xff, 0xff +db 0x93, 0xff, 0xc9, 0x2e, 0xfe, 0x95, 0x3d, 0x90, 0x65, 0xc5, 0xc0, 0xc2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0x8b, 0xff, 0xca +db 0x3a, 0xff, 0xa6, 0x32, 0xbf, 0x7b, 0x57, 0x5e, 0x5b, 0xe0, 0xdd, 0xde +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x96, 0xff, 0xe2, 0x2e, 0xff, 0xc9 +db 0x33, 0xdb, 0xaa, 0x38, 0x51, 0x48, 0xa6, 0xa0, 0xa2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd0, 0xff, 0xf3, 0x85, 0xfe, 0xda, 0x64, 0xd3, 0xb0 +db 0x4a, 0x6d, 0x63, 0x8d, 0x84, 0x86, 0xf0, 0xed, 0xed, 0xff, 0xff, 0xff +db 0xdf, 0xff, 0xff, 0x9e, 0xff, 0xfe, 0x87, 0xd6, 0xd4, 0x56, 0x66, 0x66 +db 0x91, 0x96, 0x98, 0xef, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xb9, 0xff, 0xff, 0x98, 0xff, 0xff, 0x96, 0xf8, 0xf8, 0x90, 0xea, 0xeb +db 0xa5, 0xff, 0xff, 0xa5, 0xff, 0xff, 0xbc, 0xfb, 0xfb, 0xfc, 0xfb, 0xfb +db 0xb7, 0xda, 0xda, 0x62, 0x97, 0x97, 0x66, 0x9b, 0x9b, 0x68, 0x9e, 0x9e +db 0x65, 0x9b, 0x9b, 0x63, 0x9b, 0x9b, 0x61, 0x82, 0x82, 0xd0, 0xcf, 0xcf +db 0xd4, 0xd2, 0xd2, 0x83, 0x7f, 0x7f, 0x84, 0x81, 0x81, 0x85, 0x81, 0x81 +db 0x85, 0x81, 0x81, 0x84, 0x80, 0x80, 0x86, 0x83, 0x83, 0xda, 0xda, 0xda +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/num3.inc b/programs/games/hunter/trunk/inc/num3.inc new file mode 100644 index 0000000000..55b9e7f3cb --- /dev/null +++ b/programs/games/hunter/trunk/inc/num3.inc @@ -0,0 +1,33 @@ +dw 8, 16 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xea, 0xff, 0xea, 0xe7, 0xff, 0xe7 +db 0xf8, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd6, 0xff, 0xd3, 0x57, 0xff, 0x54, 0x23, 0xff, 0x23, 0x1e, 0xff, 0x1e +db 0x42, 0xff, 0x40, 0xbe, 0xff, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x5b, 0xff, 0x7c, 0x2, 0xe8, 0x14, 0xf, 0xb8, 0x10, 0x11, 0xa9, 0x10 +db 0x2, 0xe5, 0x11, 0x3e, 0xf7, 0x5c, 0xf0, 0xf4, 0xf1, 0xff, 0xff, 0xff +db 0x99, 0xf3, 0xbe, 0x38, 0x72, 0x50, 0x5d, 0x50, 0x59, 0x93, 0x7f, 0x8c +db 0x68, 0xd2, 0x93, 0x9, 0xe6, 0x5c, 0x9c, 0xb8, 0xa7, 0xff, 0xfe, 0xff +db 0xf5, 0xed, 0xf2, 0xa5, 0x9f, 0xa3, 0xd2, 0xdd, 0xd8, 0xea, 0xfd, 0xf5 +db 0x95, 0xff, 0xbe, 0x29, 0xe3, 0x66, 0x63, 0x7d, 0x6b, 0xf2, 0xed, 0xf1 +db 0xff, 0xff, 0xff, 0xf4, 0xff, 0xfc, 0x6c, 0xff, 0xb9, 0x47, 0xff, 0xa5 +db 0x36, 0xff, 0x9b, 0x35, 0xb4, 0x71, 0x61, 0x5f, 0x5f, 0xee, 0xec, 0xed +db 0xff, 0xff, 0xff, 0xf4, 0xff, 0xfb, 0x6c, 0xf1, 0xaf, 0x29, 0xed, 0x8c +db 0x2f, 0xff, 0xa0, 0x3e, 0xc2, 0x85, 0xb8, 0xb7, 0xb8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe3, 0xe2, 0x69, 0x8a, 0x7b +db 0x33, 0xb7, 0x8d, 0x3f, 0xfd, 0xc6, 0xd6, 0xff, 0xf4, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xe1, 0xe4 +db 0xb2, 0xc8, 0xc3, 0x7b, 0xf5, 0xd1, 0x82, 0xae, 0xa0, 0xe6, 0xe2, 0xe4 +db 0xe9, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xdc, 0xff, 0xff, 0x9d, 0xfc, 0xfb, 0x59, 0x76, 0x76, 0xc3, 0xc0, 0xc0 +db 0xa1, 0xff, 0xff, 0xb1, 0xff, 0xff, 0xbb, 0xff, 0xff, 0xb4, 0xff, 0xff +db 0xa4, 0xff, 0xff, 0x89, 0xe2, 0xe2, 0x5b, 0x66, 0x67, 0xd9, 0xd7, 0xd7 +db 0xa2, 0xd3, 0xd3, 0x6f, 0xb7, 0xb7, 0x82, 0xde, 0xde, 0x86, 0xe3, 0xe3 +db 0x78, 0xc0, 0xc0, 0x4f, 0x69, 0x69, 0x8e, 0x8d, 0x8d, 0xfd, 0xfd, 0xfd +db 0xde, 0xda, 0xda, 0x8a, 0x8b, 0x8b, 0x78, 0x83, 0x83, 0x76, 0x84, 0x84 +db 0x6c, 0x6f, 0x6f, 0x7d, 0x7a, 0x7a, 0xe7, 0xe7, 0xe7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf6, 0xf6, 0xf7, 0xf4, 0xf4 +db 0xf7, 0xf6, 0xf6, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/num4.inc b/programs/games/hunter/trunk/inc/num4.inc new file mode 100644 index 0000000000..db80c32a2c --- /dev/null +++ b/programs/games/hunter/trunk/inc/num4.inc @@ -0,0 +1,33 @@ +dw 8, 16 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xf9 +db 0xe5, 0xff, 0xe5, 0xed, 0xff, 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x98, 0xff, 0x93 +db 0x1d, 0xff, 0x18, 0x51, 0xff, 0x4d, 0xf8, 0xff, 0xf7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xff, 0xf2, 0x34, 0xff, 0x56 +db 0x2, 0xff, 0x1c, 0x17, 0xe4, 0x35, 0xd4, 0xdc, 0xd5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xff, 0xc1, 0x7, 0xff, 0x66 +db 0x6, 0xfe, 0x65, 0x15, 0xd7, 0x61, 0xc4, 0xcb, 0xc7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf5, 0xff, 0xf9, 0x5c, 0xff, 0x94, 0x29, 0xe1, 0x65 +db 0x2e, 0xdd, 0x68, 0x36, 0xdc, 0x6c, 0xc7, 0xce, 0xc9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xc6, 0xff, 0xe2, 0x37, 0xff, 0x99, 0x3b, 0x99, 0x68 +db 0x38, 0xc5, 0x7c, 0x3b, 0xdf, 0x8a, 0xc7, 0xce, 0xca, 0xff, 0xff, 0xff +db 0xfa, 0xff, 0xfd, 0x7b, 0xff, 0xc3, 0x2d, 0xc5, 0x7b, 0x5a, 0x64, 0x5f +db 0x55, 0xe7, 0xa3, 0x36, 0xdc, 0x8d, 0xc8, 0xcc, 0xc9, 0xff, 0xff, 0xff +db 0xc3, 0xff, 0xf0, 0x3d, 0xff, 0xca, 0x38, 0xc1, 0x9a, 0x5f, 0xc0, 0xa7 +db 0x55, 0xff, 0xd2, 0x37, 0xea, 0xb6, 0xc5, 0xe5, 0xdc, 0xff, 0xff, 0xff +db 0xc0, 0xfd, 0xe9, 0x70, 0xee, 0xc6, 0x71, 0xee, 0xc6, 0x71, 0xf0, 0xc6 +db 0x78, 0xf9, 0xd2, 0x79, 0xfd, 0xd5, 0x9c, 0xe0, 0xc8, 0xed, 0xed, 0xec +db 0xe7, 0xec, 0xeb, 0x69, 0x73, 0x71, 0x51, 0x5a, 0x58, 0x5a, 0x6c, 0x6b +db 0x8e, 0xdd, 0xdb, 0x92, 0xe6, 0xe4, 0x50, 0x5c, 0x5a, 0xae, 0xad, 0xad +db 0xf9, 0xf8, 0xf8, 0xcf, 0xcb, 0xcc, 0xbd, 0xc2, 0xc2, 0x8f, 0xd9, 0xda +db 0x98, 0xff, 0xff, 0x97, 0xfd, 0xfe, 0x9e, 0xc6, 0xc7, 0xe3, 0xe2, 0xe2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0xcf, 0xcf +db 0x61, 0x97, 0x97, 0x65, 0x99, 0x99, 0x5f, 0x7d, 0x7d, 0xc3, 0xc3, 0xc3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0xc2, 0xc2 +db 0x80, 0x7d, 0x7d, 0x84, 0x80, 0x80, 0x81, 0x7e, 0x7e, 0xc9, 0xc9, 0xc9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/num5.inc b/programs/games/hunter/trunk/inc/num5.inc new file mode 100644 index 0000000000..16f57a42ac --- /dev/null +++ b/programs/games/hunter/trunk/inc/num5.inc @@ -0,0 +1,33 @@ +dw 8, 16 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf2, 0xff, 0xf2, 0xe6, 0xff, 0xe6, 0xe7, 0xff, 0xe7, 0xe7, 0xff, 0xe7 +db 0xe6, 0xff, 0xe6, 0xee, 0xff, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x8b, 0xff, 0x89, 0x1f, 0xff, 0x1a, 0x20, 0xff, 0x20, 0x20, 0xff, 0x20 +db 0x1d, 0xff, 0x1d, 0x42, 0xff, 0x42, 0xe8, 0xff, 0xe8, 0xff, 0xff, 0xff +db 0x74, 0xff, 0x8a, 0x2, 0xf7, 0x1a, 0xd, 0xc1, 0x13, 0xd, 0xb4, 0xc +db 0xb, 0xb7, 0xb, 0x16, 0xa3, 0x16, 0xb2, 0xc1, 0xb2, 0xff, 0xff, 0xff +db 0x7b, 0xff, 0xb1, 0x4, 0xe5, 0x5a, 0x54, 0x67, 0x5d, 0x89, 0x75, 0x82 +db 0x85, 0x78, 0x81, 0x79, 0x71, 0x78, 0xbf, 0xbe, 0xbf, 0xff, 0xff, 0xff +db 0x91, 0xff, 0xb6, 0x22, 0xec, 0x65, 0x66, 0xc0, 0x89, 0xb5, 0xfc, 0xd2 +db 0xc0, 0xfc, 0xda, 0xf1, 0xfb, 0xf7, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff +db 0x91, 0xff, 0xc6, 0x2b, 0xff, 0x96, 0x34, 0xff, 0x99, 0x30, 0xfe, 0x94 +db 0x31, 0xff, 0x98, 0x81, 0xff, 0xc0, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xb5, 0xf9, 0xd7, 0x39, 0xbe, 0x7c, 0x35, 0x85, 0x5d, 0x3f, 0x77, 0x5b +db 0x36, 0xc1, 0x7d, 0x3a, 0xfd, 0xa0, 0xc6, 0xf0, 0xdc, 0xff, 0xff, 0xff +db 0xfb, 0xf9, 0xfa, 0x99, 0x93, 0x96, 0x86, 0x7e, 0x82, 0xc2, 0xb4, 0xba +db 0xb3, 0xd6, 0xcb, 0x3a, 0xfa, 0xc1, 0x69, 0xbb, 0xa2, 0xf8, 0xf1, 0xf3 +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf8, 0xff, 0xff, 0x8b, 0xff, 0xe0, 0x62, 0xa3, 0x8f, 0xd4, 0xce, 0xcf +db 0xda, 0xff, 0xff, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff +db 0xdd, 0xff, 0xff, 0x9f, 0xff, 0xff, 0x61, 0x80, 0x7f, 0xc3, 0xc0, 0xc0 +db 0xa1, 0xff, 0xff, 0xad, 0xff, 0xff, 0xbb, 0xff, 0xff, 0xb7, 0xff, 0xff +db 0xa4, 0xff, 0xff, 0x82, 0xd3, 0xd3, 0x5c, 0x68, 0x68, 0xde, 0xdc, 0xdc +db 0xa7, 0xc2, 0xc2, 0x6c, 0xb2, 0xb2, 0x7f, 0xd7, 0xd7, 0x7a, 0xc8, 0xc8 +db 0x63, 0x95, 0x95, 0x41, 0x4b, 0x4b, 0x8a, 0x89, 0x89, 0xfd, 0xfd, 0xfd +db 0xe0, 0xdd, 0xdd, 0xa0, 0xa1, 0xa1, 0x7b, 0x84, 0x84, 0x6d, 0x70, 0x70 +db 0x6c, 0x69, 0x69, 0xa2, 0xa0, 0xa0, 0xed, 0xed, 0xed, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xf8, 0xf8, 0xf7, 0xf6, 0xf6 +db 0xfa, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/num6.inc b/programs/games/hunter/trunk/inc/num6.inc new file mode 100644 index 0000000000..90e2c157bb --- /dev/null +++ b/programs/games/hunter/trunk/inc/num6.inc @@ -0,0 +1,33 @@ +dw 8, 16 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xf9 +db 0xd1, 0xff, 0xd1, 0xc6, 0xff, 0xc6, 0xe8, 0xff, 0xe8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xff, 0xe6, 0x57, 0xff, 0x53 +db 0xd, 0xff, 0xd, 0x4, 0xff, 0x4, 0x3f, 0xff, 0x3f, 0xee, 0xff, 0xee +db 0xff, 0xff, 0xff, 0xf2, 0xff, 0xf7, 0x5e, 0xff, 0x81, 0x2, 0xf9, 0x1a +db 0x13, 0xb8, 0x17, 0x18, 0x9a, 0x17, 0x13, 0xa6, 0x13, 0x96, 0xad, 0x96 +db 0xff, 0xff, 0xff, 0x8c, 0xff, 0xb7, 0x2, 0xff, 0x63, 0x1d, 0xa4, 0x53 +db 0x55, 0x4c, 0x53, 0x8d, 0x7f, 0x8b, 0x90, 0x8a, 0x90, 0xa6, 0xa5, 0xa6 +db 0xf8, 0xff, 0xfb, 0x5e, 0xff, 0x96, 0x29, 0xc7, 0x5b, 0x41, 0x5e, 0x4f +db 0xa4, 0xb8, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff +db 0xe4, 0xff, 0xf2, 0x49, 0xfd, 0xa0, 0x38, 0xb1, 0x72, 0x3a, 0xdb, 0x8b +db 0x48, 0xff, 0xaa, 0x8f, 0xff, 0xc7, 0xfa, 0xff, 0xfe, 0xff, 0xff, 0xff +db 0xd3, 0xff, 0xeb, 0x3b, 0xfd, 0xa1, 0x32, 0xf8, 0x9b, 0x37, 0xe1, 0x8d +db 0x2f, 0xc4, 0x7a, 0x2e, 0xfa, 0x99, 0xa3, 0xf0, 0xcc, 0xff, 0xfb, 0xfd +db 0xd3, 0xff, 0xf2, 0x3d, 0xff, 0xc9, 0x35, 0xee, 0xb8, 0x40, 0x61, 0x55 +db 0x60, 0x65, 0x63, 0x49, 0xef, 0xbf, 0x42, 0xd0, 0xa7, 0xda, 0xd8, 0xda +db 0xe6, 0xff, 0xf7, 0x86, 0xff, 0xe0, 0x5d, 0xb5, 0x9c, 0x5d, 0x59, 0x5b +db 0xe2, 0xda, 0xdd, 0xc9, 0xfe, 0xf4, 0x6e, 0xde, 0xbc, 0xad, 0xb6, 0xb3 +db 0xf7, 0xff, 0xff, 0xae, 0xff, 0xff, 0x78, 0xbb, 0xbb, 0xa3, 0xa3, 0xa3 +db 0xff, 0xff, 0xff, 0xd2, 0xff, 0xff, 0x82, 0xcf, 0xcd, 0x7f, 0x84, 0x83 +db 0xfe, 0xff, 0xff, 0xc7, 0xff, 0xff, 0x93, 0xf6, 0xf7, 0xac, 0xf8, 0xf8 +db 0xb8, 0xff, 0xff, 0xa2, 0xff, 0xff, 0x68, 0x9c, 0x9c, 0x83, 0x81, 0x81 +db 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xac, 0xd7, 0xd7, 0x73, 0xc0, 0xc0 +db 0x7e, 0xd2, 0xd2, 0x65, 0x98, 0x98, 0x44, 0x4c, 0x4c, 0xb8, 0xb7, 0xb7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xde, 0xda, 0xda, 0x84, 0x88, 0x88 +db 0x70, 0x77, 0x77, 0x6b, 0x68, 0x68, 0x9a, 0x99, 0x99, 0xf3, 0xf3, 0xf3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xf7, 0xf6, 0xf6, 0xfa, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/num7.inc b/programs/games/hunter/trunk/inc/num7.inc new file mode 100644 index 0000000000..c607a736f6 --- /dev/null +++ b/programs/games/hunter/trunk/inc/num7.inc @@ -0,0 +1,33 @@ +dw 8, 16 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xff, 0xfa, 0xe8, 0xff, 0xe8, 0xe7, 0xff, 0xe7, 0xe7, 0xff, 0xe7 +db 0xe7, 0xff, 0xe7, 0xe6, 0xff, 0xe6, 0xe9, 0xff, 0xe9, 0xfd, 0xff, 0xfd +db 0xcf, 0xff, 0xce, 0x2a, 0xff, 0x26, 0x1f, 0xff, 0x1e, 0x20, 0xff, 0x20 +db 0x20, 0xff, 0x20, 0x1f, 0xff, 0x1d, 0x38, 0xff, 0x34, 0xe1, 0xfe, 0xe1 +db 0xc9, 0xff, 0xd1, 0x3, 0xff, 0x28, 0x7, 0xcf, 0x14, 0xe, 0xb3, 0xc +db 0xd, 0xb2, 0xc, 0x7, 0xd2, 0x15, 0x3, 0xec, 0x24, 0x91, 0xb2, 0x95 +db 0xf1, 0xff, 0xf8, 0x59, 0xc8, 0x88, 0x3b, 0x5e, 0x4a, 0x7c, 0x71, 0x7a +db 0x81, 0x73, 0x7d, 0x3f, 0xbd, 0x6f, 0x8, 0xd3, 0x58, 0x73, 0x7f, 0x79 +db 0xff, 0xff, 0xff, 0xc4, 0xbd, 0xc1, 0x9e, 0x9a, 0x9d, 0xfa, 0xf7, 0xfa +db 0xf7, 0xfc, 0xfa, 0x63, 0xff, 0x99, 0x29, 0xb4, 0x55, 0x99, 0x95, 0x98 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xdd, 0xff, 0xef, 0x3f, 0xff, 0x9d, 0x41, 0x92, 0x67, 0xcd, 0xc5, 0xc9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xb8, 0xff, 0xdf, 0x2d, 0xeb, 0x91, 0x5c, 0x83, 0x71, 0xf2, 0xec, 0xef +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x8b, 0xff, 0xe2, 0x2a, 0xc0, 0x93, 0x82, 0x86, 0x85, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xfe +db 0x99, 0xff, 0xe5, 0x54, 0x9a, 0x85, 0xae, 0xaa, 0xab, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff +db 0x99, 0xf7, 0xf6, 0x68, 0x80, 0x80, 0xd7, 0xd3, 0xd3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0xff, 0xff +db 0x85, 0xe2, 0xe2, 0x82, 0x8b, 0x8c, 0xf8, 0xf6, 0xf6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0xf5, 0xf5 +db 0x61, 0x88, 0x88, 0xa9, 0xa9, 0xa9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf2, 0xf2 +db 0x9b, 0x98, 0x98, 0xd8, 0xd8, 0xd8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/num8.inc b/programs/games/hunter/trunk/inc/num8.inc new file mode 100644 index 0000000000..94511baf9e --- /dev/null +++ b/programs/games/hunter/trunk/inc/num8.inc @@ -0,0 +1,33 @@ +dw 8, 16 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xff, 0xf2, 0xe5, 0xff, 0xe5 +db 0xf2, 0xff, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xa6, 0xff, 0xa2, 0x36, 0xff, 0x33, 0x1c, 0xff, 0x1d +db 0x34, 0xff, 0x32, 0x97, 0xff, 0x92, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd8, 0xff, 0xe3, 0x1d, 0xff, 0x44, 0x2, 0xdf, 0x17, 0x18, 0x9c, 0x17 +db 0x2, 0xd6, 0x11, 0x10, 0xfe, 0x36, 0xc6, 0xf0, 0xd1, 0xff, 0xff, 0xff +db 0x8f, 0xff, 0xba, 0x3, 0xf5, 0x5f, 0x30, 0x76, 0x4d, 0x7a, 0x61, 0x74 +db 0x94, 0xc2, 0xa9, 0x1c, 0xfd, 0x72, 0x4f, 0xc3, 0x7b, 0xf6, 0xef, 0xf3 +db 0x9d, 0xff, 0xbd, 0x24, 0xf2, 0x67, 0x62, 0x9f, 0x79, 0xee, 0xe6, 0xed +db 0xdc, 0xff, 0xed, 0x45, 0xff, 0x85, 0x36, 0xa4, 0x5a, 0xc4, 0xbe, 0xc2 +db 0xe5, 0xff, 0xf1, 0x57, 0xfe, 0xa7, 0x43, 0xff, 0x9f, 0x74, 0xff, 0xbb +db 0x4d, 0xff, 0xa7, 0x33, 0xf0, 0x8e, 0x39, 0x62, 0x4b, 0xaa, 0xa4, 0xa7 +db 0xf8, 0xff, 0xfe, 0x79, 0xfa, 0xc0, 0x2b, 0xff, 0x9d, 0x2d, 0xfe, 0x9a +db 0x30, 0xff, 0xa0, 0x31, 0xe4, 0x91, 0x67, 0x86, 0x79, 0xe5, 0xe1, 0xe3 +db 0xaf, 0xff, 0xea, 0x38, 0xff, 0xc8, 0x38, 0xc0, 0x96, 0x39, 0x74, 0x5e +db 0x36, 0x98, 0x78, 0x2e, 0xf0, 0xb7, 0x8d, 0xfb, 0xdb, 0xff, 0xff, 0xff +db 0xb6, 0xff, 0xed, 0x69, 0xe3, 0xc0, 0x4c, 0x5c, 0x59, 0x8d, 0x7e, 0x84 +db 0xa8, 0xa4, 0xa5, 0x85, 0xe8, 0xcb, 0x74, 0xd5, 0xb8, 0xbe, 0xc0, 0xbf +db 0xcc, 0xff, 0xff, 0x86, 0xdc, 0xdb, 0x80, 0x8d, 0x8e, 0xfa, 0xf9, 0xf9 +db 0xfd, 0xff, 0xff, 0xb9, 0xff, 0xff, 0x76, 0xc0, 0xbf, 0x85, 0x86, 0x86 +db 0xed, 0xff, 0xff, 0xa6, 0xfe, 0xfe, 0x9f, 0xfb, 0xfb, 0xba, 0xff, 0xff +db 0xae, 0xff, 0xff, 0x9d, 0xff, 0xff, 0x64, 0x94, 0x94, 0x94, 0x92, 0x92 +db 0xff, 0xff, 0xff, 0xc4, 0xe2, 0xe2, 0x80, 0xd8, 0xd8, 0x85, 0xe4, 0xe4 +db 0x82, 0xda, 0xda, 0x61, 0x92, 0x92, 0x5d, 0x60, 0x60, 0xe0, 0xdf, 0xdf +db 0xff, 0xff, 0xff, 0xea, 0xe9, 0xe9, 0x8d, 0x96, 0x96, 0x74, 0x81, 0x81 +db 0x73, 0x7d, 0x7d, 0x6a, 0x68, 0x68, 0xbb, 0xba, 0xba, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xf6, 0xf4, 0xf4 +db 0xf7, 0xf5, 0xf5, 0xfa, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/num9.inc b/programs/games/hunter/trunk/inc/num9.inc new file mode 100644 index 0000000000..9f4a596af3 --- /dev/null +++ b/programs/games/hunter/trunk/inc/num9.inc @@ -0,0 +1,33 @@ +dw 8, 16 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xe7, 0xcb, 0xff, 0xcb +db 0xe7, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xfd, 0x99, 0xff, 0x94, 0x22, 0xff, 0x21, 0x8, 0xff, 0x8 +db 0x2f, 0xff, 0x2c, 0xd3, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc3, 0xff, 0xd3, 0xf, 0xfb, 0x34, 0x9, 0xcc, 0x15, 0x13, 0xac, 0x14 +db 0x2, 0xea, 0x13, 0x54, 0xff, 0x78, 0xf3, 0xff, 0xf8, 0xff, 0xff, 0xff +db 0x79, 0xff, 0xae, 0x8, 0xd2, 0x55, 0x42, 0x4f, 0x4a, 0x7e, 0x6c, 0x7a +db 0x5b, 0xce, 0x8a, 0x4, 0xff, 0x64, 0xa4, 0xfc, 0xc4, 0xff, 0xff, 0xff +db 0x6e, 0xff, 0xa0, 0x27, 0xbf, 0x58, 0x7f, 0x7e, 0x7f, 0xfc, 0xf4, 0xfa +db 0xdc, 0xff, 0xe9, 0x31, 0xff, 0x75, 0x6c, 0xe7, 0x95, 0xfd, 0xf9, 0xfd +db 0x86, 0xff, 0xc3, 0x2c, 0xcf, 0x7c, 0xb9, 0xc0, 0xbc, 0xff, 0xff, 0xff +db 0xad, 0xff, 0xd5, 0x2f, 0xff, 0x95, 0x55, 0xd8, 0x94, 0xf1, 0xed, 0xef +db 0xc4, 0xff, 0xe2, 0x37, 0xf7, 0x9c, 0x63, 0xf2, 0xb1, 0x85, 0xff, 0xc8 +db 0x45, 0xff, 0xaa, 0x2d, 0xff, 0x9e, 0x47, 0xca, 0x8c, 0xe0, 0xdc, 0xde +db 0xfe, 0xfe, 0xfe, 0x87, 0xdb, 0xc0, 0x25, 0xe5, 0xac, 0x27, 0xf9, 0xbd +db 0x31, 0xe5, 0xb0, 0x35, 0xfa, 0xc0, 0x3f, 0xb8, 0x94, 0xc9, 0xc4, 0xc5 +db 0xff, 0xff, 0xff, 0xe6, 0xe2, 0xe4, 0x81, 0xa2, 0x9a, 0x4e, 0x87, 0x7a +db 0x61, 0xa9, 0x97, 0x7f, 0xfe, 0xdb, 0x5f, 0x9e, 0x8c, 0xc4, 0xbe, 0xc0 +db 0xfa, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xfd, 0xf7, 0xf9, 0xd1, 0xdf, 0xe1 +db 0xa6, 0xf6, 0xf5, 0x8f, 0xe9, 0xe8, 0x68, 0x79, 0x79, 0xe1, 0xde, 0xde +db 0xcf, 0xff, 0xff, 0xad, 0xff, 0xff, 0xbb, 0xff, 0xff, 0xab, 0xff, 0xff +db 0x96, 0xf5, 0xf5, 0x5e, 0x87, 0x87, 0x90, 0x8e, 0x8e, 0xff, 0xff, 0xff +db 0xcf, 0xf6, 0xf6, 0x84, 0xe2, 0xe2, 0x7e, 0xd3, 0xd3, 0x6d, 0xaa, 0xaa +db 0x4b, 0x61, 0x61, 0x69, 0x68, 0x68, 0xea, 0xe9, 0xe9, 0xff, 0xff, 0xff +db 0xf1, 0xf2, 0xf2, 0x8e, 0x99, 0x99, 0x6e, 0x75, 0x75, 0x69, 0x68, 0x68 +db 0x89, 0x86, 0x86, 0xde, 0xdd, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xf9, 0xf9, 0xf7, 0xf5, 0xf5, 0xf8, 0xf8, 0xf8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/numbers.inc b/programs/games/hunter/trunk/inc/numbers.inc new file mode 100644 index 0000000000..7dab181999 --- /dev/null +++ b/programs/games/hunter/trunk/inc/numbers.inc @@ -0,0 +1,425 @@ +dw 106, 16 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xe7, 0xcb, 0xff +db 0xcb, 0xe7, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x99, 0xff, 0x94, 0x22 +db 0xff, 0x21, 0x8, 0xff, 0x8, 0x2f, 0xff, 0x2c, 0xd3, 0xff, 0xcf, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff +db 0xf5, 0xdb, 0xff, 0xdb, 0xde, 0xff, 0xde, 0xfc, 0xff, 0xfc, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf0, 0xe9, 0xff +db 0xe9, 0xfd, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xde, 0xff, 0xdd, 0xd6, 0xff, 0xd6, 0xf0, 0xff, 0xef, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xea, 0xff +db 0xea, 0xe7, 0xff, 0xe7, 0xf8, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xf9, 0xe5, 0xff +db 0xe5, 0xed, 0xff, 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xff, 0xf2, 0xe6, 0xff +db 0xe6, 0xe7, 0xff, 0xe7, 0xe7, 0xff, 0xe7, 0xe6, 0xff, 0xe6, 0xee, 0xff +db 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff +db 0xf9, 0xd1, 0xff, 0xd1, 0xc6, 0xff, 0xc6, 0xe8, 0xff, 0xe8, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xff, 0xfa, 0xe8, 0xff +db 0xe8, 0xe7, 0xff, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xff, 0xe7, 0xe6, 0xff +db 0xe6, 0xe9, 0xff, 0xe9, 0xfd, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xff +db 0xf2, 0xe5, 0xff, 0xe5, 0xf2, 0xff, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf, 0xfb, 0x34, 0x9, 0xcc, 0x15, 0x13, 0xac, 0x14, 0x2, 0xea, 0x13 +db 0x54, 0xff, 0x78, 0xf3, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8 +db 0xff, 0xd4, 0x40, 0xff, 0x3d, 0x14, 0xff, 0x14, 0x18, 0xff, 0x15, 0x81 +db 0xff, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0xff, 0xc2, 0x5b, 0xff, 0x57, 0x31 +db 0xff, 0x2d, 0x3d, 0xff, 0x39, 0xe3, 0xfe, 0xe2, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5 +db 0xff, 0xf3, 0x71, 0xff, 0x6c, 0x1a, 0xff, 0x18, 0x10, 0xff, 0x10, 0x2f +db 0xff, 0x2d, 0x8b, 0xff, 0x86, 0xfa, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd6, 0xff, 0xd3, 0x57 +db 0xff, 0x54, 0x23, 0xff, 0x23, 0x1e, 0xff, 0x1e, 0x42, 0xff, 0x40, 0xbe +db 0xff, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x98 +db 0xff, 0x93, 0x1d, 0xff, 0x18, 0x51, 0xff, 0x4d, 0xf8, 0xff, 0xf7, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8b +db 0xff, 0x89, 0x1f, 0xff, 0x1a, 0x20, 0xff, 0x20, 0x20, 0xff, 0x20, 0x1d +db 0xff, 0x1d, 0x42, 0xff, 0x42, 0xe8, 0xff, 0xe8, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb +db 0xff, 0xe6, 0x57, 0xff, 0x53, 0xd, 0xff, 0xd, 0x4, 0xff, 0x4, 0x3f +db 0xff, 0x3f, 0xee, 0xff, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf +db 0xff, 0xce, 0x2a, 0xff, 0x26, 0x1f, 0xff, 0x1e, 0x20, 0xff, 0x20, 0x20 +db 0xff, 0x20, 0x1f, 0xff, 0x1d, 0x38, 0xff, 0x34, 0xe1, 0xfe, 0xe1, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa6 +db 0xff, 0xa2, 0x36, 0xff, 0x33, 0x1c, 0xff, 0x1d, 0x34, 0xff, 0x32, 0x97 +db 0xff, 0x92, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x55, 0x42, 0x4f, 0x4a, 0x7e, 0x6c +db 0x7a, 0x5b, 0xce, 0x8a, 0x4, 0xff, 0x64, 0xa4, 0xfc, 0xc4, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xff, 0xfe, 0x6f, 0xff, 0x8d, 0x2, 0xe8, 0x15, 0xf, 0xbb, 0x11 +db 0x2, 0xe1, 0x14, 0x12, 0xfe, 0x38, 0xc6, 0xf0, 0xd1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xff, 0xef, 0x3e, 0xff, 0x5c +db 0x2, 0xfd, 0x17, 0x2, 0xf9, 0x1c, 0x4, 0xe9, 0x26, 0x9b, 0xbb, 0x9f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xae, 0xff, 0xc0, 0x2, 0xff, 0x24, 0x6, 0xdd, 0x18 +db 0x17, 0xa4, 0x15, 0x3, 0xc9, 0x13, 0x3, 0xff, 0x28, 0xa5, 0xf2, 0xb7 +db 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xfc +db 0x5b, 0xff, 0x7c, 0x2, 0xe8, 0x14, 0xf, 0xb8, 0x10, 0x11, 0xa9, 0x10 +db 0x2, 0xe5, 0x11, 0x3e, 0xf7, 0x5c, 0xf0, 0xf4, 0xf1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xed, 0xff, 0xf2, 0x34, 0xff, 0x56, 0x2, 0xff, 0x1c, 0x17, 0xe4, 0x35 +db 0xd4, 0xdc, 0xd5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0x74, 0xff, 0x8a, 0x2, 0xf7, 0x1a, 0xd, 0xc1, 0x13 +db 0xd, 0xb4, 0xc, 0xb, 0xb7, 0xb, 0x16, 0xa3, 0x16, 0xb2, 0xc1, 0xb2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf2, 0xff, 0xf7, 0x5e, 0xff, 0x81, 0x2, 0xf9, 0x1a, 0x13, 0xb8, 0x17 +db 0x18, 0x9a, 0x17, 0x13, 0xa6, 0x13, 0x96, 0xad, 0x96, 0xfe, 0xfd, 0xfe +db 0xff, 0xff, 0xff, 0xc9, 0xff, 0xd1, 0x3, 0xff, 0x28, 0x7, 0xcf, 0x14 +db 0xe, 0xb3, 0xc, 0xd, 0xb2, 0xc, 0x7, 0xd2, 0x15, 0x3, 0xec, 0x24 +db 0x91, 0xb2, 0x95, 0xfe, 0xfa, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd8, 0xff, 0xe3, 0x1d, 0xff, 0x44, 0x2, 0xdf, 0x17, 0x18, 0x9c, 0x17 +db 0x2, 0xd6, 0x11, 0x10, 0xfe, 0x36, 0xc6, 0xf0, 0xd1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xd3 +db 0x7e, 0x7f, 0xfc, 0xf4, 0xfa, 0xdc, 0xff, 0xe9, 0x31, 0xff, 0x75, 0x6c +db 0xe7, 0x95, 0xfd, 0xf9, 0xfd, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xd2, 0xff, 0xe3, 0x1e, 0xfb, 0x72, 0x28, 0x7d +db 0x4b, 0x5f, 0x4d, 0x5a, 0x60, 0xb0, 0x82, 0xa, 0xfe, 0x67, 0x51, 0xc1 +db 0x7b, 0xf6, 0xee, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff +db 0xfc, 0x7d, 0xd9, 0xa2, 0x23, 0x6f, 0x43, 0x20, 0x9f, 0x52, 0x5, 0xe0 +db 0x5a, 0x7c, 0x9c, 0x88, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0xff, 0xb3, 0x4, 0xe6 +db 0x5b, 0x3b, 0x62, 0x4c, 0x73, 0x5d, 0x6d, 0x81, 0xb3, 0x97, 0x12, 0xff +db 0x6d, 0x42, 0xd2, 0x78, 0xf8, 0xf0, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfc, 0xff, 0xfe, 0x99, 0xf3, 0xbe, 0x38, 0x72, 0x50, 0x5d, 0x50 +db 0x59, 0x93, 0x7f, 0x8c, 0x68, 0xd2, 0x93, 0x9, 0xe6, 0x5c, 0x9c, 0xb8 +db 0xa7, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0x9f, 0xff, 0xc1, 0x7, 0xff, 0x66, 0x6, 0xfe +db 0x65, 0x15, 0xd7, 0x61, 0xc4, 0xcb, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7b, 0xff, 0xb1, 0x4, 0xe5 +db 0x5a, 0x54, 0x67, 0x5d, 0x89, 0x75, 0x82, 0x85, 0x78, 0x81, 0x79, 0x71 +db 0x78, 0xbf, 0xbe, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0x8c, 0xff, 0xb7, 0x2, 0xff, 0x63, 0x1d, 0xa4 +db 0x53, 0x55, 0x4c, 0x53, 0x8d, 0x7f, 0x8b, 0x90, 0x8a, 0x90, 0xa6, 0xa5 +db 0xa6, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xf8, 0x59, 0xc8 +db 0x88, 0x3b, 0x5e, 0x4a, 0x7c, 0x71, 0x7a, 0x81, 0x73, 0x7d, 0x3f, 0xbd +db 0x6f, 0x8, 0xd3, 0x58, 0x73, 0x7f, 0x79, 0xfe, 0xfa, 0xfc, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xba, 0x3, 0xf5, 0x5f, 0x30, 0x76 +db 0x4d, 0x7a, 0x61, 0x74, 0x94, 0xc2, 0xa9, 0x1c, 0xfd, 0x72, 0x4f, 0xc3 +db 0x7b, 0xf6, 0xef, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0x79, 0xff, 0xae, 0x8, 0xd2, 0xff, 0xff, 0xff, 0xad, 0xff, 0xd5 +db 0x2f, 0xff, 0x95, 0x55, 0xd8, 0x94, 0xf1, 0xed, 0xef, 0xff, 0xff, 0xff +db 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb1, 0xff, 0xcc, 0x2b +db 0xe5, 0x67, 0x54, 0x6a, 0x5b, 0xd6, 0xcc, 0xd3, 0xf7, 0xfc, 0xf9, 0x64 +db 0xff, 0x98, 0x34, 0xb6, 0x60, 0xcc, 0xc8, 0xcb, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xda, 0xdf, 0x9a, 0x87, 0x93, 0x7a +db 0xc5, 0x93, 0x26, 0xe2, 0x64, 0x84, 0x9f, 0x8d, 0xff, 0xfe, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9 +db 0xf1, 0xd6, 0x3d, 0x85, 0x53, 0x6c, 0x6b, 0x6b, 0xf5, 0xed, 0xf2, 0xea +db 0xff, 0xf3, 0x42, 0xff, 0x85, 0x3d, 0xc9, 0x6b, 0xdc, 0xd8, 0xdb, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xed, 0xf2, 0xa5 +db 0x9f, 0xa3, 0xd2, 0xdd, 0xd8, 0xea, 0xfd, 0xf5, 0x95, 0xff, 0xbe, 0x29 +db 0xe3, 0x66, 0x63, 0x7d, 0x6b, 0xf2, 0xed, 0xf1, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff, 0xf9, 0x5c, 0xff, 0x94, 0x29 +db 0xe1, 0x65, 0x2e, 0xdd, 0x68, 0x36, 0xdc, 0x6c, 0xc7, 0xce, 0xc9, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x91 +db 0xff, 0xb6, 0x22, 0xec, 0x65, 0x66, 0xc0, 0x89, 0xb5, 0xfc, 0xd2, 0xc0 +db 0xfc, 0xda, 0xf1, 0xfb, 0xf7, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xfb, 0x5e, 0xff, 0x96, 0x29 +db 0xc7, 0x5b, 0x41, 0x5e, 0x4f, 0xa4, 0xb8, 0xaf, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xc4, 0xbd, 0xc1, 0x9e, 0x9a, 0x9d, 0xfa, 0xf7, 0xfa, 0xf7 +db 0xfc, 0xfa, 0x63, 0xff, 0x99, 0x29, 0xb4, 0x55, 0x99, 0x95, 0x98, 0xff +db 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9d, 0xff, 0xbd, 0x24 +db 0xf2, 0x67, 0x62, 0x9f, 0x79, 0xee, 0xe6, 0xed, 0xdc, 0xff, 0xed, 0x45 +db 0xff, 0x85, 0x36, 0xa4, 0x5a, 0xc4, 0xbe, 0xc2, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xfd, 0xff, 0xfe, 0x6e, 0xff, 0xa0, 0x27, 0xbf, 0x58, 0x7f +db 0xc8, 0x45, 0xff, 0xaa, 0x2d, 0xff, 0x9e, 0x47, 0xca, 0x8c, 0xe0, 0xdc +db 0xde, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x99, 0xff, 0xcd, 0x2b, 0xd0, 0x7b, 0x7a, 0x82, 0x7e, 0xff, 0xfd, 0xff +db 0xff, 0xff, 0xff, 0x95, 0xff, 0xcb, 0x29, 0xc1, 0x72, 0x9d, 0xa1, 0xa0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xbc, 0xff, 0xe0, 0x2c, 0xe0, 0x83, 0x84, 0x9f, 0x92 +db 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xf8, 0xfa, 0xce, 0xc6, 0xcb, 0xde, 0xda, 0xdc +db 0xff, 0xff, 0xff, 0x93, 0xff, 0xc9, 0x2e, 0xfe, 0x95, 0x3d, 0x90, 0x65 +db 0xc5, 0xc0, 0xc2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf4, 0xff, 0xfc, 0x6c, 0xff, 0xb9, 0x47, 0xff, 0xa5 +db 0x36, 0xff, 0x9b, 0x35, 0xb4, 0x71, 0x61, 0x5f, 0x5f, 0xee, 0xec, 0xed +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0xff, 0xe2 +db 0x37, 0xff, 0x99, 0x3b, 0x99, 0x68, 0x38, 0xc5, 0x7c, 0x3b, 0xdf, 0x8a +db 0xc7, 0xce, 0xca, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0x91, 0xff, 0xc6, 0x2b, 0xff, 0x96, 0x34, 0xff, 0x99 +db 0x30, 0xfe, 0x94, 0x31, 0xff, 0x98, 0x81, 0xff, 0xc0, 0xfc, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe4, 0xff, 0xf2 +db 0x49, 0xfd, 0xa0, 0x38, 0xb1, 0x72, 0x3a, 0xdb, 0x8b, 0x48, 0xff, 0xaa +db 0x8f, 0xff, 0xc7, 0xfa, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xdd, 0xff, 0xef, 0x3f, 0xff, 0x9d, 0x41, 0x92, 0x67 +db 0xcd, 0xc5, 0xc9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe5, 0xff, 0xf1, 0x57, 0xfe, 0xa7, 0x43, 0xff, 0x9f, 0x74, 0xff, 0xbb +db 0x4d, 0xff, 0xa7, 0x33, 0xf0, 0x8e, 0x39, 0x62, 0x4b, 0xaa, 0xa4, 0xa7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x86, 0xff, 0xc3 +db 0x2c, 0xcf, 0x7c, 0xb9, 0xc0, 0xbc, 0xe5, 0xb0, 0x35, 0xfa, 0xc0, 0x3f +db 0xb8, 0x94, 0xc9, 0xc4, 0xc5, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0x99, 0xff, 0xd2, 0x29, 0xcf, 0x81, 0x7a, 0x81 +db 0x7e, 0xfd, 0xf9, 0xfb, 0xff, 0xff, 0xff, 0x94, 0xff, 0xd0, 0x27, 0xc0 +db 0x78, 0x87, 0x8b, 0x89, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, 0xff, 0xdf, 0x2a, 0xe0 +db 0x8a, 0x84, 0x9f, 0x93, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xf7, 0xff, 0xff, 0x8b, 0xff, 0xca, 0x3a, 0xff, 0xa6, 0x32, 0xbf +db 0x7b, 0x57, 0x5e, 0x5b, 0xe0, 0xdd, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xfb, 0x6c, 0xf1 +db 0xaf, 0x29, 0xed, 0x8c, 0x2f, 0xff, 0xa0, 0x3e, 0xc2, 0x85, 0xb8, 0xb7 +db 0xb8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xff +db 0xfd, 0x7b, 0xff, 0xc3, 0x2d, 0xc5, 0x7b, 0x5a, 0x64, 0x5f, 0x55, 0xe7 +db 0xa3, 0x36, 0xdc, 0x8d, 0xc8, 0xcc, 0xc9, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0xf9, 0xd7, 0x39, 0xbe +db 0x7c, 0x35, 0x85, 0x5d, 0x3f, 0x77, 0x5b, 0x36, 0xc1, 0x7d, 0x3a, 0xfd +db 0xa0, 0xc6, 0xf0, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xd3, 0xff, 0xeb, 0x3b, 0xfd, 0xa1, 0x32, 0xf8, 0x9b, 0x37, 0xe1 +db 0x8d, 0x2f, 0xc4, 0x7a, 0x2e, 0xfa, 0x99, 0xa3, 0xf0, 0xcc, 0xff, 0xfb +db 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb8, 0xff, 0xdf, 0x2d, 0xeb +db 0x91, 0x5c, 0x83, 0x71, 0xf2, 0xec, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xfe, 0x79, 0xfa, 0xc0, 0x2b, 0xff +db 0x9d, 0x2d, 0xfe, 0x9a, 0x30, 0xff, 0xa0, 0x31, 0xe4, 0x91, 0x67, 0x86 +db 0x79, 0xe5, 0xe1, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xc4, 0xff, 0xe2, 0x37, 0xf7, 0x9c, 0x63, 0xf2, 0xb1, 0x85, 0xff +db 0x7f, 0xfe, 0xdb, 0x5f, 0x9e, 0x8c, 0xc4, 0xbe, 0xc0, 0xff, 0xff, 0xff +db 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9a, 0xff, 0xe6, 0x2b +db 0xd3, 0xa2, 0x7a, 0x83, 0x80, 0xfd, 0xf9, 0xfb, 0xff, 0xff, 0xff, 0x95 +db 0xff, 0xe4, 0x29, 0xc0, 0x94, 0x86, 0x8a, 0x89, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7 +db 0xff, 0xed, 0x2c, 0xe0, 0xac, 0x84, 0x9f, 0x97, 0xff, 0xfe, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0x96, 0xff, 0xe2, 0x2e, 0xff, 0xc9, 0x33 +db 0xdb, 0xaa, 0x38, 0x51, 0x48, 0xa6, 0xa0, 0xa2, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xe0, 0xe3, 0xe2, 0x69, 0x8a, 0x7b, 0x33, 0xb7, 0x8d, 0x3f +db 0xfd, 0xc6, 0xd6, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xc3, 0xff, 0xf0, 0x3d, 0xff, 0xca, 0x38, 0xc1, 0x9a, 0x5f +db 0xc0, 0xa7, 0x55, 0xff, 0xd2, 0x37, 0xea, 0xb6, 0xc5, 0xe5, 0xdc, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb +db 0xf9, 0xfa, 0x99, 0x93, 0x96, 0x86, 0x7e, 0x82, 0xc2, 0xb4, 0xba, 0xb3 +db 0xd6, 0xcb, 0x3a, 0xfa, 0xc1, 0x69, 0xbb, 0xa2, 0xf8, 0xf1, 0xf3, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0xff, 0xf2, 0x3d, 0xff, 0xc9, 0x35 +db 0xee, 0xb8, 0x40, 0x61, 0x55, 0x60, 0x65, 0x63, 0x49, 0xef, 0xbf, 0x42 +db 0xd0, 0xa7, 0xda, 0xd8, 0xda, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8b +db 0xff, 0xe2, 0x2a, 0xc0, 0x93, 0x82, 0x86, 0x85, 0xff, 0xfe, 0xfe, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaf, 0xff, 0xea, 0x38 +db 0xff, 0xc8, 0x38, 0xc0, 0x96, 0x39, 0x74, 0x5e, 0x36, 0x98, 0x78, 0x2e +db 0xf0, 0xb7, 0x8d, 0xfb, 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0x87, 0xdb, 0xc0, 0x25 +db 0xe5, 0xac, 0x27, 0xf9, 0xbd, 0x31, 0xe8, 0x68, 0x79, 0x79, 0xe1, 0xde +db 0xde, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc3, 0xff, 0xef, 0x6d, 0xe5, 0xc1, 0x83, 0x92, 0x8d, 0xfd, 0xf7, 0xf8 +db 0xff, 0xff, 0xff, 0xac, 0xff, 0xec, 0x52, 0xa6, 0x8d, 0x86, 0x84, 0x85 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd3, 0xff, 0xf4, 0x6b, 0xdf, 0xbd, 0x8e, 0x9d, 0x97 +db 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0xff, 0xf3, 0x85, 0xfe, 0xda +db 0x64, 0xd3, 0xb0, 0x4a, 0x6d, 0x63, 0x8d, 0x84, 0x86, 0xf0, 0xed, 0xed +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xe1, 0xe4 +db 0xb2, 0xc8, 0xc3, 0x7b, 0xf5, 0xd1, 0x82, 0xae, 0xa0, 0xe6, 0xe2, 0xe4 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xfd, 0xe9, 0x70, 0xee, 0xc6 +db 0x71, 0xee, 0xc6, 0x71, 0xf0, 0xc6, 0x78, 0xf9, 0xd2, 0x79, 0xfd, 0xd5 +db 0x9c, 0xe0, 0xc8, 0xed, 0xed, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0x8b, 0xff, 0xe0, 0x62, 0xa3, 0x8f +db 0xd4, 0xce, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0xff, 0xf7 +db 0x86, 0xff, 0xe0, 0x5d, 0xb5, 0x9c, 0x5d, 0x59, 0x5b, 0xe2, 0xda, 0xdd +db 0xc9, 0xfe, 0xf4, 0x6e, 0xde, 0xbc, 0xad, 0xb6, 0xb3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf7, 0xff, 0xfe, 0x99, 0xff, 0xe5, 0x54, 0x9a, 0x85, 0xae, 0xaa, 0xab +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xb6, 0xff, 0xed, 0x69, 0xe3, 0xc0, 0x4c, 0x5c, 0x59, 0x8d, 0x7e, 0x84 +db 0xa8, 0xa4, 0xa5, 0x85, 0xe8, 0xcb, 0x74, 0xd5, 0xb8, 0xbe, 0xc0, 0xbf +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe6, 0xe2, 0xe4, 0x81, 0xa2, 0x9a, 0x4e, 0x87, 0x7a, 0x61, 0xa9, 0x97 +db 0x8e, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xa4, 0xf9, 0xf7, 0x9a, 0xc7 +db 0xc6, 0xf9, 0xf7, 0xf7, 0xdf, 0xff, 0xff, 0xa0, 0xff, 0xff, 0x5a, 0x7a +db 0x79, 0x99, 0x95, 0x95, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfb, 0xff, 0xff, 0xf5, 0xff, 0xff, 0xd6, 0xff, 0xff, 0x8c, 0xe4 +db 0xe3, 0x93, 0xac, 0xab, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0x9e, 0xff +db 0xfe, 0x87, 0xd6, 0xd4, 0x56, 0x66, 0x66, 0x91, 0x96, 0x98, 0xef, 0xff +db 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfa, 0xff, 0xff, 0xe9, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xdc, 0xff, 0xff, 0x9d, 0xfc, 0xfb, 0x59, 0x76 +db 0x76, 0xc3, 0xc0, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xec +db 0xeb, 0x69, 0x73, 0x71, 0x51, 0x5a, 0x58, 0x5a, 0x6c, 0x6b, 0x8e, 0xdd +db 0xdb, 0x92, 0xe6, 0xe4, 0x50, 0x5c, 0x5a, 0xae, 0xad, 0xad, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xda, 0xff, 0xff, 0xf6, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xdd, 0xff, 0xff, 0x9f, 0xff +db 0xff, 0x61, 0x80, 0x7f, 0xc3, 0xc0, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xf7, 0xff, 0xff, 0xae, 0xff, 0xff, 0x78, 0xbb, 0xbb, 0xa3, 0xa3 +db 0xa3, 0xff, 0xff, 0xff, 0xd2, 0xff, 0xff, 0x82, 0xcf, 0xcd, 0x7f, 0x84 +db 0x83, 0xfc, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0x99, 0xf7, 0xf6, 0x68, 0x80 +db 0x80, 0xd7, 0xd3, 0xd3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xcc, 0xff, 0xff, 0x86, 0xdc, 0xdb, 0x80, 0x8d +db 0x8e, 0xfa, 0xf9, 0xf9, 0xfd, 0xff, 0xff, 0xb9, 0xff, 0xff, 0x76, 0xc0 +db 0xbf, 0x85, 0x86, 0x86, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfa, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xfd, 0xf7, 0xf9, 0xd1, 0xdf +db 0xe1, 0xa6, 0xf6, 0xf5, 0x8f, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb +db 0xff, 0xff, 0x9b, 0xff, 0xff, 0xb5, 0xff, 0xff, 0xa8, 0xff, 0xff, 0x86 +db 0xda, 0xda, 0x4b, 0x52, 0x53, 0xc0, 0xbe, 0xbe, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xfc, 0xff, 0xff, 0xc2, 0xff, 0xff, 0xa7, 0xff, 0xff, 0xa4 +db 0xff, 0xff, 0x9a, 0xff, 0xff, 0x9a, 0xfa, 0xfa, 0xaf, 0xff, 0xff, 0xe4 +db 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb9 +db 0xff, 0xff, 0x98, 0xff, 0xff, 0x96, 0xf8, 0xf8, 0x90, 0xea, 0xeb, 0xa5 +db 0xff, 0xff, 0xa5, 0xff, 0xff, 0xbc, 0xfb, 0xfb, 0xfc, 0xfb, 0xfb, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0xff, 0xff, 0xa1, 0xff, 0xff, 0xb1 +db 0xff, 0xff, 0xbb, 0xff, 0xff, 0xb4, 0xff, 0xff, 0xa4, 0xff, 0xff, 0x89 +db 0xe2, 0xe2, 0x5b, 0x66, 0x67, 0xd9, 0xd7, 0xd7, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xf9, 0xf8, 0xf8, 0xcf, 0xcb, 0xcc, 0xbd, 0xc2, 0xc2, 0x8f +db 0xd9, 0xda, 0x98, 0xff, 0xff, 0x97, 0xfd, 0xfe, 0x9e, 0xc6, 0xc7, 0xe3 +db 0xe2, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xff, 0xff, 0xa1 +db 0xff, 0xff, 0xad, 0xff, 0xff, 0xbb, 0xff, 0xff, 0xb7, 0xff, 0xff, 0xa4 +db 0xff, 0xff, 0x82, 0xd3, 0xd3, 0x5c, 0x68, 0x68, 0xde, 0xdc, 0xdc, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xc7, 0xff, 0xff, 0x93 +db 0xf6, 0xf7, 0xac, 0xf8, 0xf8, 0xb8, 0xff, 0xff, 0xa2, 0xff, 0xff, 0x68 +db 0x9c, 0x9c, 0x83, 0x81, 0x81, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0xff, 0xff, 0x85 +db 0xe2, 0xe2, 0x82, 0x8b, 0x8c, 0xf8, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xff, 0xff, 0xa6 +db 0xfe, 0xfe, 0x9f, 0xfb, 0xfb, 0xba, 0xff, 0xff, 0xae, 0xff, 0xff, 0x9d +db 0xff, 0xff, 0x64, 0x94, 0x94, 0x94, 0x92, 0x92, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xad, 0xff, 0xff, 0xbb +db 0xff, 0xff, 0xab, 0xff, 0xff, 0x96, 0xf5, 0xf5, 0x5e, 0x87, 0x87, 0x90 +db 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf3, 0xfc, 0xfc, 0x9e, 0xe7, 0xe7, 0x81, 0xdf, 0xdf +db 0x78, 0xc1, 0xc1, 0x4e, 0x66, 0x66, 0x7e, 0x7c, 0x7c, 0xf8, 0xf8, 0xf8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xb2, 0xdb, 0xdb +db 0x60, 0x97, 0x97, 0x64, 0x99, 0x99, 0x66, 0x9a, 0x9a, 0x66, 0x9d, 0x9d +db 0x5c, 0x91, 0x91, 0x72, 0x85, 0x85, 0xf1, 0xef, 0xef, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xb7, 0xda, 0xda, 0x62, 0x97, 0x97, 0x66, 0x9b, 0x9b +db 0x68, 0x9e, 0x9e, 0x65, 0x9b, 0x9b, 0x63, 0x9b, 0x9b, 0x61, 0x82, 0x82 +db 0xd0, 0xcf, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff +db 0xa2, 0xd3, 0xd3, 0x6f, 0xb7, 0xb7, 0x82, 0xde, 0xde, 0x86, 0xe3, 0xe3 +db 0x78, 0xc0, 0xc0, 0x4f, 0x69, 0x69, 0x8e, 0x8d, 0x8d, 0xfd, 0xfd, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xa0, 0xcf, 0xcf, 0x61, 0x97, 0x97, 0x65, 0x99, 0x99 +db 0x5f, 0x7d, 0x7d, 0xc3, 0xc3, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xff, 0xff, 0xa7, 0xc2, 0xc2, 0x6c, 0xb2, 0xb2, 0x7f, 0xd7, 0xd7 +db 0x7a, 0xc8, 0xc8, 0x63, 0x95, 0x95, 0x41, 0x4b, 0x4b, 0x8a, 0x89, 0x89 +db 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xff, 0xff, 0xac, 0xd7, 0xd7, 0x73, 0xc0, 0xc0, 0x7e, 0xd2, 0xd2 +db 0x65, 0x98, 0x98, 0x44, 0x4c, 0x4c, 0xb8, 0xb7, 0xb7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd3, 0xf5, 0xf5, 0x61, 0x88, 0x88, 0xa9, 0xa9, 0xa9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xc4, 0xe2, 0xe2, 0x80, 0xd8, 0xd8, 0x85, 0xe4, 0xe4 +db 0x82, 0xda, 0xda, 0x61, 0x92, 0x92, 0x5d, 0x60, 0x60, 0xe0, 0xdf, 0xdf +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xf6, 0xf6 +db 0x84, 0xe2, 0xe2, 0x7e, 0xd3, 0xd3, 0x6d, 0xaa, 0xaa, 0x4b, 0x61, 0x61 +db 0x69, 0x68, 0x68, 0xea, 0xe9, 0xe9, 0xff, 0xff, 0x0, 0x0, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xd8, 0xde +db 0xde, 0x86, 0x92, 0x92, 0x69, 0x6b, 0x6b, 0x7e, 0x7c, 0x7c, 0xe6, 0xe6 +db 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xd9, 0xd6, 0xd6, 0x84, 0x81, 0x81, 0x84, 0x81, 0x81, 0x85, 0x81 +db 0x81, 0x85, 0x82, 0x82, 0x82, 0x7f, 0x7f, 0x92, 0x91, 0x91, 0xf2, 0xf2 +db 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0xd2, 0xd2, 0x83, 0x7f +db 0x7f, 0x84, 0x81, 0x81, 0x85, 0x81, 0x81, 0x85, 0x81, 0x81, 0x84, 0x80 +db 0x80, 0x86, 0x83, 0x83, 0xda, 0xda, 0xda, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xde, 0xda, 0xda, 0x8a, 0x8b, 0x8b, 0x78, 0x83 +db 0x83, 0x76, 0x84, 0x84, 0x6c, 0x6f, 0x6f, 0x7d, 0x7a, 0x7a, 0xe7, 0xe7 +db 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0xc2, 0xc2, 0x80, 0x7d +db 0x7d, 0x84, 0x80, 0x80, 0x81, 0x7e, 0x7e, 0xc9, 0xc9, 0xc9, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xdd, 0xdd, 0xa0, 0xa1 +db 0xa1, 0x7b, 0x84, 0x84, 0x6d, 0x70, 0x70, 0x6c, 0x69, 0x69, 0xa2, 0xa0 +db 0xa0, 0xed, 0xed, 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xde, 0xda, 0xda, 0x84, 0x88 +db 0x88, 0x70, 0x77, 0x77, 0x6b, 0x68, 0x68, 0x9a, 0x99, 0x99, 0xf3, 0xf3 +db 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf2, 0xf2, 0x9b, 0x98, 0x98, 0xd8, 0xd8 +db 0xd8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0xe9, 0xe9, 0x8d, 0x96 +db 0x96, 0x74, 0x81, 0x81, 0x73, 0x7d, 0x7d, 0x6a, 0x68, 0x68, 0xbb, 0xba +db 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xf1, 0xf2, 0xf2, 0x8e, 0x99, 0x99, 0x6e, 0x75, 0x75, 0x69, 0x68 +db 0x68, 0x89, 0x86, 0x86, 0xde, 0xdd, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfa, 0xfa, 0xf7, 0xf6, 0xf6, 0xfe +db 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xf8, 0xf6, 0xf6, 0xf7, 0xf4, 0xf4, 0xf7, 0xf6, 0xf6, 0xfe +db 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xf8, 0xf8, 0xf7, 0xf6, 0xf6, 0xfa +db 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf7, 0xf6, 0xf6, 0xfa, 0xf9, 0xf9, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xfe, 0xfc, 0xfc, 0xf6, 0xf4, 0xf4, 0xf7, 0xf5, 0xf5, 0xfa +db 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf9, 0xf9, 0xf7 +db 0xf5, 0xf5, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/oblako.inc b/programs/games/hunter/trunk/inc/oblako.inc new file mode 100644 index 0000000000..8f35c70c92 --- /dev/null +++ b/programs/games/hunter/trunk/inc/oblako.inc @@ -0,0 +1,781 @@ +dw 80, 39 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xfa, 0xfa, 0xfa +db 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9 +db 0xfa, 0xfa, 0xfa, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xf9, 0xf9, 0xf9 +db 0xfa, 0xfa, 0xfa, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfa, 0xfa, 0xfa +db 0xfa, 0xfa, 0xfa, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xde, 0xde, 0xde, 0xc4, 0xc4, 0xc4 +db 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe +db 0xc1, 0xc1, 0xc1, 0xd1, 0xd1, 0xd1, 0xea, 0xea, 0xea, 0xfa, 0xfa, 0xfa +db 0xfb, 0xfb, 0xfb, 0xea, 0xea, 0xea, 0xce, 0xce, 0xcf, 0xbf, 0xbf, 0xc0 +db 0xc0, 0xc0, 0xc0, 0xcd, 0xcd, 0xcd, 0xdf, 0xdf, 0xdf, 0xe5, 0xe5, 0xe6 +db 0xe9, 0xe9, 0xe9, 0xf2, 0xf2, 0xf2, 0xf9, 0xf9, 0xf9, 0xfd, 0xfd, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xfa, 0xf0, 0xf0, 0xf0, 0xe8, 0xe8, 0xe8 +db 0xe7, 0xe7, 0xe7, 0xe2, 0xe2, 0xe2, 0xd2, 0xd2, 0xd2, 0xc2, 0xc2, 0xc2 +db 0xc0, 0xc0, 0xc0, 0xca, 0xca, 0xca, 0xdd, 0xdd, 0xdd, 0xea, 0xea, 0xea +db 0xeb, 0xeb, 0xeb, 0xd4, 0xd4, 0xd3, 0x99, 0x99, 0x98, 0x65, 0x65, 0x63 +db 0x59, 0x59, 0x56, 0x59, 0x59, 0x56, 0x59, 0x59, 0x56, 0x59, 0x59, 0x56 +db 0x5c, 0x5c, 0x59, 0x72, 0x72, 0x70, 0x9d, 0x9d, 0x9d, 0xc6, 0xc6, 0xc6 +db 0xcb, 0xcb, 0xcb, 0xa5, 0xa5, 0xa4, 0x71, 0x71, 0x70, 0x5b, 0x5b, 0x58 +db 0x5c, 0x5c, 0x59, 0x6e, 0x6e, 0x6c, 0x82, 0x82, 0x81, 0x89, 0x89, 0x89 +db 0x92, 0x92, 0x92, 0xac, 0xac, 0xac, 0xc3, 0xc3, 0xc3, 0xd8, 0xd8, 0xd8 +db 0xeb, 0xeb, 0xeb, 0xf8, 0xf8, 0xf8, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa, 0xfa +db 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa +db 0xfb, 0xfb, 0xfb, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfa, 0xfa, 0xfa +db 0xeb, 0xeb, 0xeb, 0xcc, 0xcc, 0xcc, 0xa6, 0xa6, 0xa5, 0x8f, 0x8f, 0x8e +db 0x8a, 0x8a, 0x8a, 0x86, 0x86, 0x85, 0x72, 0x72, 0x71, 0x5f, 0x5f, 0x5c +db 0x5b, 0x5b, 0x58, 0x66, 0x66, 0x64, 0x7e, 0x7e, 0x7d, 0x91, 0x91, 0x91 +db 0x97, 0x97, 0x96, 0x87, 0x87, 0x83, 0x6e, 0x6e, 0x66, 0x63, 0x63, 0x55 +db 0x63, 0x63, 0x54, 0x64, 0x64, 0x54, 0x64, 0x64, 0x54, 0x63, 0x63, 0x54 +db 0x5e, 0x5e, 0x50, 0x54, 0x54, 0x49, 0x52, 0x52, 0x4d, 0x65, 0x65, 0x63 +db 0x6b, 0x6b, 0x6a, 0x5b, 0x5b, 0x55, 0x57, 0x57, 0x4c, 0x61, 0x61, 0x52 +db 0x64, 0x64, 0x54, 0x60, 0x60, 0x52, 0x54, 0x54, 0x4b, 0x4c, 0x4c, 0x45 +db 0x51, 0x51, 0x4a, 0x5f, 0x5f, 0x59, 0x68, 0x68, 0x64, 0x7a, 0x7a, 0x78 +db 0x9b, 0x9b, 0x9b, 0xc7, 0xc7, 0xc7, 0xee, 0xee, 0xee, 0xfe, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xf3, 0xf3, 0xf3 +db 0xe4, 0xe4, 0xe4, 0xd0, 0xd0, 0xd0, 0xc4, 0xc4, 0xc4, 0xc1, 0xc1, 0xc2 +db 0xc1, 0xc1, 0xc2, 0xc1, 0xc1, 0xc2, 0xc1, 0xc1, 0xc2, 0xc1, 0xc1, 0xc2 +db 0xc8, 0xc8, 0xc8, 0xd8, 0xd8, 0xd9, 0xe0, 0xe0, 0xe0, 0xcb, 0xcb, 0xcb +db 0xa0, 0xa0, 0xa0, 0x71, 0x71, 0x6f, 0x53, 0x53, 0x4e, 0x4a, 0x4a, 0x43 +db 0x4b, 0x4b, 0x43, 0x52, 0x52, 0x49, 0x5e, 0x5e, 0x51, 0x63, 0x63, 0x54 +db 0x60, 0x60, 0x51, 0x56, 0x56, 0x4a, 0x43, 0x43, 0x3d, 0x36, 0x36, 0x33 +db 0x3b, 0x3b, 0x39, 0x5b, 0x5b, 0x50, 0x90, 0x90, 0x7a, 0xbb, 0xbb, 0x9b +db 0xc7, 0xc7, 0xa6, 0xc7, 0xc7, 0xa6, 0xc7, 0xc7, 0xa6, 0xc7, 0xc7, 0xa6 +db 0xc0, 0xc0, 0x9f, 0xa1, 0xa1, 0x86, 0x6f, 0x6f, 0x5d, 0x4d, 0x4d, 0x43 +db 0x50, 0x50, 0x46, 0x70, 0x70, 0x5f, 0xa1, 0xa1, 0x85, 0xc1, 0xc1, 0xa0 +db 0xc6, 0xc6, 0xa4, 0xb9, 0xb9, 0x99, 0xa3, 0xa3, 0x87, 0x97, 0x97, 0x7d +db 0x95, 0x95, 0x7b, 0x8a, 0x8a, 0x73, 0x6b, 0x6b, 0x5a, 0x4d, 0x4d, 0x44 +db 0x45, 0x45, 0x41, 0x6d, 0x6d, 0x6b, 0xbc, 0xbc, 0xbc, 0xf2, 0xf2, 0xf2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xfd, 0xfd, 0xf2, 0xf2, 0xf2, 0xd8, 0xd8, 0xd8, 0xb2, 0xb2, 0xb2 +db 0x8b, 0x8b, 0x8a, 0x6c, 0x6c, 0x6b, 0x5d, 0x5d, 0x5b, 0x5b, 0x5b, 0x59 +db 0x5b, 0x5b, 0x59, 0x5b, 0x5b, 0x59, 0x5b, 0x5b, 0x59, 0x5a, 0x5a, 0x59 +db 0x60, 0x60, 0x5e, 0x75, 0x75, 0x75, 0x7e, 0x7e, 0x7e, 0x66, 0x66, 0x65 +db 0x4e, 0x4e, 0x4a, 0x55, 0x55, 0x4b, 0x73, 0x73, 0x60, 0x8c, 0x8c, 0x75 +db 0x95, 0x95, 0x7c, 0x9f, 0x9f, 0x84, 0xb6, 0xb6, 0x96, 0xc5, 0xc5, 0xa4 +db 0xc4, 0xc4, 0xa3, 0xaf, 0xaf, 0x91, 0x7f, 0x7f, 0x69, 0x4c, 0x4c, 0x40 +db 0x48, 0x48, 0x3d, 0x86, 0x86, 0x6f, 0xcf, 0xcf, 0xac, 0xf4, 0xf4, 0xca +db 0xfb, 0xfb, 0xd0, 0xfa, 0xfa, 0xd0, 0xfa, 0xfa, 0xd0, 0xfb, 0xfb, 0xd0 +db 0xf7, 0xf7, 0xce, 0xe8, 0xe8, 0xc1, 0xc5, 0xc5, 0xa4, 0xa4, 0xa4, 0x89 +db 0xa6, 0xa6, 0x8a, 0xc6, 0xc6, 0xa4, 0xe8, 0xe8, 0xc0, 0xf8, 0xf8, 0xce +db 0xfa, 0xfa, 0xd0, 0xf5, 0xf5, 0xcc, 0xee, 0xee, 0xc5, 0xeb, 0xeb, 0xc3 +db 0xe9, 0xe9, 0xc1, 0xdf, 0xdf, 0xb9, 0xc1, 0xc1, 0xa0, 0x8f, 0x8f, 0x76 +db 0x4e, 0x4e, 0x41, 0x35, 0x35, 0x32, 0x72, 0x72, 0x72, 0xc5, 0xc5, 0xc4 +db 0xeb, 0xeb, 0xeb, 0xf9, 0xf9, 0xf9, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd +db 0xea, 0xea, 0xea, 0xba, 0xba, 0xba, 0x81, 0x81, 0x80, 0x5a, 0x5a, 0x56 +db 0x4d, 0x4e, 0x46, 0x54, 0x54, 0x49, 0x5e, 0x5e, 0x50, 0x61, 0x61, 0x52 +db 0x61, 0x61, 0x52, 0x61, 0x61, 0x52, 0x61, 0x61, 0x52, 0x5e, 0x5e, 0x4f +db 0x50, 0x50, 0x45, 0x44, 0x45, 0x3e, 0x3a, 0x3a, 0x34, 0x30, 0x30, 0x2b +db 0x52, 0x52, 0x44, 0x96, 0x96, 0x7c, 0xcb, 0xcb, 0xa9, 0xe4, 0xe4, 0xbe +db 0xea, 0xea, 0xc2, 0xed, 0xed, 0xc4, 0xf3, 0xf3, 0xcb, 0xf9, 0xf9, 0xcf +db 0xf9, 0xf9, 0xcf, 0xf0, 0xf0, 0xc7, 0xd2, 0xd2, 0xaf, 0xad, 0xad, 0x8f +db 0xa6, 0xa6, 0x8a, 0xcb, 0xcb, 0xa9, 0xf2, 0xf2, 0xc9, 0xfe, 0xff, 0xd4 +db 0xff, 0xff, 0xd4, 0xff, 0xff, 0xd4, 0xff, 0xff, 0xd4, 0xff, 0xff, 0xd4 +db 0xff, 0xff, 0xd4, 0xfd, 0xfd, 0xd2, 0xf5, 0xf6, 0xcc, 0xee, 0xee, 0xc5 +db 0xef, 0xef, 0xc6, 0xf7, 0xf7, 0xcd, 0xfd, 0xfd, 0xd2, 0xfe, 0xff, 0xd4 +db 0xff, 0xff, 0xd4, 0xff, 0xff, 0xd4, 0xff, 0xff, 0xd4, 0xff, 0xff, 0xd4 +db 0xfe, 0xfe, 0xd4, 0xfc, 0xfd, 0xd2, 0xf5, 0xf6, 0xcc, 0xd8, 0xd7, 0xb3 +db 0x8c, 0x8c, 0x74, 0x3b, 0x3b, 0x32, 0x36, 0x36, 0x34, 0x6a, 0x6a, 0x6a +db 0x9c, 0x9b, 0x9c, 0xc7, 0xc7, 0xc7, 0xec, 0xec, 0xec, 0xfd, 0xfd, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xe8, 0xe8, 0xe8 +db 0xb1, 0xb1, 0xb0, 0x6e, 0x6e, 0x6b, 0x54, 0x54, 0x4b, 0x67, 0x66, 0x57 +db 0x8a, 0x89, 0x72, 0xaa, 0xaa, 0x8d, 0xc0, 0xc0, 0x9f, 0xc5, 0xc4, 0xa4 +db 0xc4, 0xc4, 0xa4, 0xc4, 0xc4, 0xa4, 0xc4, 0xc4, 0xa4, 0xc0, 0xc0, 0x9f +db 0xad, 0xad, 0x8f, 0x92, 0x92, 0x79, 0x74, 0x74, 0x60, 0x63, 0x62, 0x52 +db 0x8c, 0x8c, 0x74, 0xd1, 0xd0, 0xae, 0xf5, 0xf6, 0xcc, 0xfe, 0xfd, 0xd3 +db 0xff, 0xfe, 0xd4, 0xff, 0xff, 0xd4, 0xff, 0xfe, 0xd4, 0xff, 0xff, 0xd4 +db 0xff, 0xff, 0xd4, 0xfe, 0xfe, 0xd3, 0xf9, 0xf8, 0xce, 0xf0, 0xf0, 0xc6 +db 0xed, 0xed, 0xc5, 0xf5, 0xf4, 0xcc, 0xfd, 0xfc, 0xd2, 0xfe, 0xfe, 0xd3 +db 0xfe, 0xfe, 0xd3, 0xfe, 0xfe, 0xd3, 0xfe, 0xfe, 0xd3, 0xfe, 0xfe, 0xd3 +db 0xfe, 0xfe, 0xd3, 0xfe, 0xfe, 0xd3, 0xfe, 0xfe, 0xd4, 0xff, 0xfe, 0xd4 +db 0xff, 0xfe, 0xd4, 0xfe, 0xfe, 0xd4, 0xfe, 0xfe, 0xd3, 0xfe, 0xfe, 0xd3 +db 0xfe, 0xfe, 0xd3, 0xfe, 0xfe, 0xd3, 0xfe, 0xfe, 0xd3, 0xfe, 0xfe, 0xd3 +db 0xfe, 0xfe, 0xd3, 0xfe, 0xfe, 0xd3, 0xff, 0xff, 0xd4, 0xf5, 0xf4, 0xcb +db 0xc3, 0xc3, 0xa3, 0x74, 0x74, 0x60, 0x43, 0x42, 0x39, 0x40, 0x3f, 0x39 +db 0x4d, 0x4c, 0x48, 0x6d, 0x6d, 0x6c, 0xad, 0xad, 0xad, 0xe2, 0xe2, 0xe2 +db 0xf9, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfb, 0xe2, 0xe2, 0xe2, 0xaa, 0xaa, 0xa9 +db 0x6f, 0x6f, 0x6b, 0x67, 0x66, 0x5a, 0x8f, 0x8e, 0x77, 0xbf, 0xbe, 0x9e +db 0xde, 0xdc, 0xb9, 0xf0, 0xed, 0xc6, 0xf7, 0xf6, 0xcd, 0xfa, 0xf8, 0xcf +db 0xfa, 0xf8, 0xcf, 0xfa, 0xf8, 0xcf, 0xfa, 0xf8, 0xcf, 0xf7, 0xf6, 0xcd +db 0xf1, 0xef, 0xc8, 0xe6, 0xe4, 0xbf, 0xd2, 0xd0, 0xae, 0xc0, 0xbf, 0x9f +db 0xcf, 0xcd, 0xac, 0xef, 0xee, 0xc6, 0xfe, 0xfc, 0xd2, 0xff, 0xfd, 0xd3 +db 0xfe, 0xfd, 0xd3, 0xfe, 0xfd, 0xd3, 0xfe, 0xfd, 0xd3, 0xfe, 0xfc, 0xd3 +db 0xfe, 0xfc, 0xd3, 0xfe, 0xfc, 0xd3, 0xfe, 0xfd, 0xd3, 0xff, 0xfc, 0xd3 +db 0xff, 0xfd, 0xd3, 0xfe, 0xfd, 0xd3, 0xfe, 0xfc, 0xd3, 0xfe, 0xfc, 0xd3 +db 0xfe, 0xfc, 0xd3, 0xfe, 0xfc, 0xd3, 0xfe, 0xfc, 0xd3, 0xfe, 0xfc, 0xd3 +db 0xfe, 0xfd, 0xd3, 0xfe, 0xfd, 0xd3, 0xfe, 0xfc, 0xd3, 0xfe, 0xfc, 0xd3 +db 0xfe, 0xfc, 0xd3, 0xfe, 0xfc, 0xd3, 0xfe, 0xfd, 0xd3, 0xfe, 0xfd, 0xd3 +db 0xfe, 0xfc, 0xd3, 0xfe, 0xfc, 0xd2, 0xfe, 0xfc, 0xd2, 0xfe, 0xfc, 0xd2 +db 0xfe, 0xfc, 0xd2, 0xfe, 0xfd, 0xd2, 0xfe, 0xfd, 0xd3, 0xfc, 0xfa, 0xd2 +db 0xeb, 0xea, 0xc3, 0xc5, 0xc4, 0xa4, 0xa2, 0xa0, 0x85, 0x8c, 0x8a, 0x74 +db 0x6f, 0x6c, 0x5c, 0x4c, 0x4b, 0x43, 0x5a, 0x5b, 0x58, 0x98, 0x98, 0x98 +db 0xd8, 0xd8, 0xd8, 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf1, 0xf1, 0xf1, 0xb0, 0xb0, 0xb0, 0x62, 0x62, 0x5f +db 0x62, 0x61, 0x55, 0xa3, 0x9f, 0x86, 0xda, 0xd7, 0xb5, 0xf4, 0xf0, 0xc9 +db 0xfd, 0xf8, 0xd1, 0xff, 0xfa, 0xd2, 0xff, 0xfb, 0xd3, 0xff, 0xfb, 0xd3 +db 0xff, 0xfb, 0xd3, 0xff, 0xfb, 0xd3, 0xff, 0xfa, 0xd3, 0xff, 0xfb, 0xd3 +db 0xff, 0xfa, 0xd2, 0xfe, 0xf9, 0xd2, 0xf9, 0xf6, 0xce, 0xf5, 0xf1, 0xc9 +db 0xf6, 0xf2, 0xcb, 0xfc, 0xf8, 0xd0, 0xfe, 0xfa, 0xd2, 0xfe, 0xfa, 0xd2 +db 0xfe, 0xfa, 0xd2, 0xfe, 0xfa, 0xd2, 0xfe, 0xfa, 0xd2, 0xfe, 0xf9, 0xd2 +db 0xfe, 0xf9, 0xd2, 0xfe, 0xf9, 0xd2, 0xfe, 0xfa, 0xd2, 0xfe, 0xfa, 0xd2 +db 0xfe, 0xfa, 0xd2, 0xfe, 0xfa, 0xd2, 0xfe, 0xfa, 0xd2, 0xfe, 0xf9, 0xd2 +db 0xfe, 0xf9, 0xd2, 0xfe, 0xf9, 0xd2, 0xfe, 0xf9, 0xd2, 0xfe, 0xf9, 0xd2 +db 0xfe, 0xfa, 0xd2, 0xfe, 0xfa, 0xd2, 0xfe, 0xf9, 0xd2, 0xfe, 0xf9, 0xd2 +db 0xfe, 0xf9, 0xd2, 0xfe, 0xf9, 0xd2, 0xfe, 0xfa, 0xd2, 0xfe, 0xfa, 0xd2 +db 0xfe, 0xf9, 0xd2, 0xfe, 0xf9, 0xd2, 0xfe, 0xf9, 0xd2, 0xfe, 0xf9, 0xd2 +db 0xfe, 0xf9, 0xd2, 0xfe, 0xfa, 0xd2, 0xfe, 0xfa, 0xd2, 0xfe, 0xfa, 0xd2 +db 0xfc, 0xf8, 0xd1, 0xf5, 0xf1, 0xcb, 0xed, 0xe9, 0xc3, 0xe3, 0xdf, 0xbc +db 0xc3, 0xc0, 0xa1, 0x80, 0x7e, 0x6b, 0x43, 0x42, 0x3b, 0x4c, 0x4b, 0x4a +db 0xa1, 0xa1, 0xa2, 0xec, 0xec, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe4, 0xe5, 0xe5, 0x89, 0x89, 0x89, 0x4a, 0x49, 0x43 +db 0x83, 0x80, 0x6c, 0xd8, 0xd1, 0xb2, 0xfa, 0xf2, 0xcd, 0xff, 0xf7, 0xd1 +db 0xff, 0xf7, 0xd1, 0xfe, 0xf7, 0xd1, 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1 +db 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1, 0xfe, 0xf7, 0xd1 +db 0xfe, 0xf7, 0xd1, 0xff, 0xf7, 0xd1, 0xff, 0xf7, 0xd1, 0xfe, 0xf7, 0xd1 +db 0xff, 0xf7, 0xd1, 0xfe, 0xf7, 0xd1, 0xfe, 0xf7, 0xd1, 0xfe, 0xf7, 0xd1 +db 0xfe, 0xf7, 0xd1, 0xfe, 0xf7, 0xd1, 0xfe, 0xf7, 0xd1, 0xfe, 0xf6, 0xd1 +db 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1 +db 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1 +db 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1 +db 0xfe, 0xf7, 0xd1, 0xfe, 0xf7, 0xd1, 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1 +db 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1, 0xfe, 0xf7, 0xd1, 0xfe, 0xf7, 0xd1 +db 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1, 0xfe, 0xf6, 0xd1 +db 0xfe, 0xf6, 0xd1, 0xfe, 0xf7, 0xd1, 0xfd, 0xf7, 0xd1, 0xfe, 0xf7, 0xd1 +db 0xfe, 0xf7, 0xd1, 0xfe, 0xf7, 0xd1, 0xff, 0xf7, 0xd1, 0xfe, 0xf6, 0xd0 +db 0xf2, 0xec, 0xc7, 0xc6, 0xc0, 0xa3, 0x71, 0x6e, 0x5d, 0x3d, 0x3c, 0x36 +db 0x78, 0x78, 0x77, 0xd9, 0xd9, 0xd9, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe +db 0xf7, 0xf7, 0xf7, 0xc9, 0xc8, 0xc8, 0x68, 0x68, 0x67, 0x50, 0x4e, 0x45 +db 0xa7, 0xa0, 0x88, 0xee, 0xe4, 0xc2, 0xfe, 0xf3, 0xd0, 0xfe, 0xf3, 0xd0 +db 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xd0, 0xfe, 0xf3, 0xcf +db 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf +db 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf +db 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf +db 0xfe, 0xf3, 0xd0, 0xfe, 0xf3, 0xd0, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf +db 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf +db 0xfe, 0xf3, 0xcf, 0xfd, 0xf3, 0xcf, 0xfd, 0xf3, 0xcf, 0xfe, 0xf3, 0xd0 +db 0xfe, 0xf3, 0xd0, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf +db 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf +db 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xd0, 0xfe, 0xf3, 0xd0, 0xfe, 0xf3, 0xcf +db 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf +db 0xfd, 0xf3, 0xcf, 0xfd, 0xf3, 0xcf, 0xfd, 0xf3, 0xcf, 0xfd, 0xf3, 0xcf +db 0xfe, 0xf3, 0xd0, 0xfe, 0xf3, 0xcf, 0xfe, 0xf3, 0xcf, 0xff, 0xf3, 0xd0 +db 0xfe, 0xf3, 0xd0, 0xe9, 0xde, 0xbf, 0x9d, 0x97, 0x81, 0x4d, 0x4a, 0x42 +db 0x6c, 0x6c, 0x6a, 0xcf, 0xd0, 0xd0, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xf3, 0xf3, 0xf3, 0xdf, 0xdf, 0xdf +db 0xc1, 0xc2, 0xc1, 0x8a, 0x89, 0x89, 0x47, 0x46, 0x43, 0x5c, 0x58, 0x4c +db 0xbe, 0xb3, 0x9a, 0xf7, 0xe8, 0xc8, 0xfe, 0xef, 0xcf, 0xfe, 0xee, 0xce +db 0xfe, 0xef, 0xce, 0xfe, 0xef, 0xce, 0xfe, 0xee, 0xce, 0xfe, 0xee, 0xce +db 0xfd, 0xee, 0xce, 0xfd, 0xef, 0xce, 0xfe, 0xef, 0xce, 0xfe, 0xef, 0xce +db 0xfe, 0xee, 0xce, 0xfd, 0xee, 0xce, 0xfe, 0xee, 0xce, 0xfe, 0xef, 0xce +db 0xfe, 0xef, 0xce, 0xfe, 0xef, 0xce, 0xfd, 0xef, 0xce, 0xfd, 0xef, 0xce +db 0xfd, 0xee, 0xce, 0xfd, 0xef, 0xce, 0xfd, 0xef, 0xce, 0xfe, 0xee, 0xce +db 0xfe, 0xee, 0xce, 0xfd, 0xef, 0xce, 0xfd, 0xef, 0xce, 0xfe, 0xee, 0xce +db 0xfe, 0xee, 0xce, 0xfd, 0xef, 0xce, 0xfd, 0xef, 0xce, 0xfd, 0xef, 0xce +db 0xfd, 0xef, 0xce, 0xfe, 0xee, 0xce, 0xfd, 0xee, 0xce, 0xfd, 0xef, 0xce +db 0xfd, 0xef, 0xce, 0xfd, 0xee, 0xce, 0xfe, 0xef, 0xce, 0xfe, 0xef, 0xce +db 0xfe, 0xef, 0xce, 0xfe, 0xef, 0xce, 0xfe, 0xee, 0xce, 0xfd, 0xef, 0xce +db 0xfd, 0xef, 0xce, 0xfd, 0xef, 0xce, 0xfd, 0xef, 0xce, 0xfd, 0xee, 0xce +db 0xfd, 0xee, 0xce, 0xfd, 0xee, 0xce, 0xfd, 0xee, 0xce, 0xfd, 0xee, 0xce +db 0xfd, 0xee, 0xce, 0xfd, 0xee, 0xce, 0xfd, 0xee, 0xce, 0xfe, 0xef, 0xce +db 0xfd, 0xee, 0xce, 0xe8, 0xdb, 0xbd, 0x9a, 0x93, 0x7e, 0x50, 0x4d, 0x46 +db 0x7a, 0x7a, 0x78, 0xd9, 0xd9, 0xd9, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe +db 0xf4, 0xf4, 0xf4, 0xdc, 0xdc, 0xdc, 0xb5, 0xb4, 0xb4, 0x88, 0x87, 0x86 +db 0x68, 0x67, 0x64, 0x53, 0x51, 0x4c, 0x52, 0x4d, 0x45, 0x83, 0x7a, 0x6a +db 0xd1, 0xc2, 0xaa, 0xf9, 0xe6, 0xc9, 0xfe, 0xea, 0xcd, 0xfd, 0xea, 0xcc +db 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc +db 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfe, 0xea, 0xcc +db 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc +db 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc +db 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc +db 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc +db 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc +db 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcd, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc +db 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfe, 0xea, 0xcc +db 0xfe, 0xea, 0xcd, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc +db 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcd, 0xfd, 0xea, 0xcc +db 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc +db 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfd, 0xea, 0xcc, 0xfe, 0xea, 0xcc +db 0xf6, 0xe4, 0xc7, 0xcb, 0xbe, 0xa5, 0x70, 0x6a, 0x5b, 0x36, 0x35, 0x31 +db 0x70, 0x70, 0x70, 0xd4, 0xd4, 0xd3, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xee, 0xee, 0xee +db 0xbf, 0xbf, 0xbf, 0x86, 0x85, 0x85, 0x61, 0x5f, 0x5c, 0x54, 0x50, 0x4b +db 0x66, 0x5e, 0x55, 0x84, 0x7a, 0x6c, 0xa7, 0x97, 0x86, 0xca, 0xb8, 0xa3 +db 0xec, 0xd6, 0xbe, 0xfb, 0xe4, 0xc9, 0xfd, 0xe5, 0xcb, 0xfd, 0xe5, 0xcb +db 0xfd, 0xe6, 0xcb, 0xfd, 0xe6, 0xcb, 0xfd, 0xe6, 0xcb, 0xfd, 0xe6, 0xca +db 0xfd, 0xe6, 0xcb, 0xfd, 0xe5, 0xcb, 0xfd, 0xe5, 0xcb, 0xfd, 0xe6, 0xcb +db 0xfd, 0xe6, 0xcb, 0xfd, 0xe6, 0xcb, 0xfd, 0xe6, 0xcb, 0xfd, 0xe6, 0xcb +db 0xfd, 0xe6, 0xcb, 0xfd, 0xe5, 0xcb, 0xfd, 0xe6, 0xcb, 0xfd, 0xe6, 0xcb +db 0xfd, 0xe6, 0xcb, 0xfd, 0xe6, 0xcb, 0xfd, 0xe5, 0xca, 0xfd, 0xe6, 0xca +db 0xfd, 0xe6, 0xca, 0xfd, 0xe5, 0xcb, 0xfd, 0xe5, 0xcb, 0xfd, 0xe5, 0xcb +db 0xfd, 0xe5, 0xcb, 0xfd, 0xe5, 0xcb, 0xfd, 0xe5, 0xcb, 0xfd, 0xe5, 0xcb +db 0xfd, 0xe5, 0xcb, 0xfd, 0xe5, 0xcb, 0xfd, 0xe5, 0xcb, 0xfd, 0xe5, 0xcb +db 0xfd, 0xe5, 0xcb, 0xfd, 0xe5, 0xcb, 0xfd, 0xe6, 0xcb, 0xfd, 0xe5, 0xcb +db 0xfd, 0xe6, 0xcb, 0xfd, 0xe6, 0xcb, 0xfd, 0xe6, 0xcb, 0xfd, 0xe5, 0xcb +db 0xfd, 0xe5, 0xcb, 0xfd, 0xe5, 0xcb, 0xfd, 0xe5, 0xcb, 0xfd, 0xe6, 0xcb +db 0xfd, 0xe6, 0xcb, 0xfd, 0xe6, 0xcb, 0xfd, 0xe6, 0xcb, 0xfd, 0xe6, 0xcb +db 0xfd, 0xe6, 0xcb, 0xfd, 0xe6, 0xcb, 0xfd, 0xe6, 0xcb, 0xfa, 0xe3, 0xc9 +db 0xdf, 0xcc, 0xb4, 0x9d, 0x92, 0x80, 0x50, 0x4a, 0x41, 0x2e, 0x2b, 0x27 +db 0x54, 0x52, 0x51, 0xaf, 0xaf, 0xaf, 0xee, 0xee, 0xee, 0xfe, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xd1, 0xd1, 0xd1 +db 0x73, 0x73, 0x73, 0x40, 0x3e, 0x3b, 0x5e, 0x56, 0x4d, 0x91, 0x82, 0x75 +db 0xbc, 0xa6, 0x95, 0xda, 0xc1, 0xad, 0xec, 0xd2, 0xbc, 0xf6, 0xda, 0xc3 +db 0xfb, 0xdf, 0xc8, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9 +db 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9 +db 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9 +db 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9 +db 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9 +db 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe0, 0xc9, 0xfd, 0xe1, 0xc9 +db 0xfd, 0xe0, 0xc9, 0xfd, 0xe0, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9 +db 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9 +db 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9 +db 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9 +db 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9 +db 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9 +db 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9 +db 0xfd, 0xe1, 0xc9, 0xfd, 0xe1, 0xc9, 0xfe, 0xe2, 0xc9, 0xf6, 0xdb, 0xc3 +db 0xcc, 0xb7, 0xa3, 0x88, 0x7c, 0x6e, 0x6d, 0x63, 0x59, 0x6c, 0x61, 0x57 +db 0x5e, 0x58, 0x52, 0x7b, 0x7a, 0x78, 0xc5, 0xc5, 0xc5, 0xf5, 0xf5, 0xf5 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfb, 0xc3, 0xc3, 0xc3 +db 0x54, 0x54, 0x54, 0x33, 0x2f, 0x2b, 0x86, 0x76, 0x6a, 0xd7, 0xbc, 0xaa +db 0xf4, 0xd3, 0xc0, 0xfb, 0xda, 0xc6, 0xfd, 0xdc, 0xc8, 0xfe, 0xdc, 0xc7 +db 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7 +db 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7 +db 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7 +db 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7 +db 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7 +db 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7 +db 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7 +db 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7 +db 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7 +db 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7 +db 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7 +db 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7 +db 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7 +db 0xfd, 0xdc, 0xc7, 0xfd, 0xdc, 0xc7, 0xfe, 0xdd, 0xc7, 0xf8, 0xd8, 0xc3 +db 0xda, 0xc0, 0xac, 0xb2, 0x9d, 0x8e, 0xba, 0xa3, 0x95, 0xc2, 0xaa, 0x9a +db 0x87, 0x79, 0x6e, 0x57, 0x53, 0x4f, 0x90, 0x90, 0x8f, 0xe4, 0xe4, 0xe4 +db 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xcf, 0xcf, 0xcf +db 0x67, 0x67, 0x67, 0x3c, 0x38, 0x34, 0x8e, 0x7b, 0x70, 0xe4, 0xc4, 0xb3 +db 0xfd, 0xd8, 0xc6, 0xfe, 0xd8, 0xc6, 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc5 +db 0xfd, 0xd7, 0xc5, 0xfd, 0xd7, 0xc5, 0xfd, 0xd7, 0xc5, 0xfd, 0xd7, 0xc5 +db 0xfd, 0xd7, 0xc5, 0xfd, 0xd7, 0xc5, 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc6 +db 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc5, 0xfd, 0xd7, 0xc5 +db 0xfd, 0xd7, 0xc5, 0xfd, 0xd7, 0xc5, 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc6 +db 0xfd, 0xd7, 0xc6, 0xfd, 0xd8, 0xc6, 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc6 +db 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc5, 0xfd, 0xd7, 0xc6 +db 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc6 +db 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc5, 0xfd, 0xd7, 0xc5 +db 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc5, 0xfd, 0xd7, 0xc5 +db 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc6 +db 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc5, 0xfd, 0xd7, 0xc5, 0xfd, 0xd7, 0xc5 +db 0xfd, 0xd7, 0xc5, 0xfd, 0xd7, 0xc6, 0xfd, 0xd7, 0xc5, 0xfc, 0xd7, 0xc5 +db 0xfd, 0xd7, 0xc5, 0xfe, 0xd8, 0xc6, 0xfd, 0xd8, 0xc6, 0xfd, 0xd7, 0xc6 +db 0xfd, 0xd7, 0xc5, 0xfd, 0xd7, 0xc6, 0xfd, 0xd8, 0xc6, 0xfc, 0xd6, 0xc5 +db 0xf2, 0xcf, 0xbe, 0xe7, 0xc5, 0xb6, 0xee, 0xcb, 0xbc, 0xeb, 0xc8, 0xb8 +db 0xa9, 0x92, 0x86, 0x54, 0x4d, 0x48, 0x6e, 0x6e, 0x6c, 0xd1, 0xd1, 0xd1 +db 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0xe8, 0xe8 +db 0x97, 0x97, 0x96, 0x4c, 0x48, 0x47, 0x74, 0x66, 0x5d, 0xc8, 0xab, 0x9d +db 0xf3, 0xcb, 0xbe, 0xfd, 0xd3, 0xc4, 0xfe, 0xd3, 0xc5, 0xfd, 0xd3, 0xc4 +db 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4 +db 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4 +db 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4 +db 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4 +db 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4 +db 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4 +db 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4 +db 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4 +db 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd2, 0xc4 +db 0xfd, 0xd2, 0xc4, 0xfd, 0xd2, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4 +db 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4 +db 0xfd, 0xd3, 0xc4, 0xfd, 0xd2, 0xc4, 0xf9, 0xd0, 0xc1, 0xef, 0xc8, 0xba +db 0xec, 0xc6, 0xb8, 0xf4, 0xcc, 0xbe, 0xfa, 0xd1, 0xc1, 0xfd, 0xd3, 0xc4 +db 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4, 0xfd, 0xd3, 0xc4 +db 0xfc, 0xd1, 0xc3, 0xfc, 0xd1, 0xc3, 0xfd, 0xd3, 0xc4, 0xf0, 0xc9, 0xbb +db 0xb0, 0x96, 0x8b, 0x5d, 0x54, 0x50, 0x73, 0x72, 0x72, 0xd2, 0xd2, 0xd2 +db 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8 +db 0xc6, 0xc6, 0xc6, 0x6b, 0x6a, 0x69, 0x51, 0x4a, 0x46, 0x89, 0x75, 0x6d +db 0xcb, 0xa9, 0x9e, 0xee, 0xc4, 0xb8, 0xf5, 0xc9, 0xbe, 0xf7, 0xcb, 0xbf +db 0xfa, 0xcd, 0xc0, 0xfc, 0xce, 0xc2, 0xfd, 0xce, 0xc2, 0xfd, 0xce, 0xc3 +db 0xfd, 0xce, 0xc3, 0xfc, 0xce, 0xc2, 0xfd, 0xce, 0xc2, 0xfd, 0xce, 0xc2 +db 0xfd, 0xce, 0xc2, 0xfc, 0xce, 0xc2, 0xfc, 0xce, 0xc3, 0xfc, 0xcf, 0xc3 +db 0xfd, 0xcf, 0xc3, 0xfd, 0xce, 0xc2, 0xfd, 0xce, 0xc2, 0xfd, 0xce, 0xc2 +db 0xfd, 0xce, 0xc3, 0xfd, 0xce, 0xc2, 0xfd, 0xce, 0xc2, 0xfd, 0xce, 0xc2 +db 0xfd, 0xce, 0xc2, 0xfc, 0xce, 0xc2, 0xfc, 0xce, 0xc2, 0xfd, 0xce, 0xc2 +db 0xfc, 0xce, 0xc2, 0xfd, 0xce, 0xc2, 0xfc, 0xce, 0xc2, 0xfc, 0xce, 0xc3 +db 0xfd, 0xce, 0xc2, 0xfd, 0xce, 0xc2, 0xfd, 0xce, 0xc3, 0xfd, 0xce, 0xc3 +db 0xfd, 0xce, 0xc2, 0xfd, 0xce, 0xc2, 0xfd, 0xce, 0xc2, 0xfd, 0xce, 0xc2 +db 0xfd, 0xce, 0xc2, 0xfc, 0xce, 0xc2, 0xfd, 0xce, 0xc2, 0xfd, 0xce, 0xc3 +db 0xfd, 0xce, 0xc3, 0xfd, 0xce, 0xc3, 0xfd, 0xce, 0xc2, 0xfd, 0xce, 0xc2 +db 0xfd, 0xce, 0xc3, 0xfc, 0xce, 0xc2, 0xed, 0xc2, 0xb7, 0xc5, 0xa5, 0x9a +db 0xb0, 0x95, 0x8b, 0xc0, 0xa1, 0x96, 0xd9, 0xb5, 0xa9, 0xef, 0xc4, 0xb9 +db 0xfa, 0xcc, 0xc0, 0xfc, 0xce, 0xc2, 0xfd, 0xce, 0xc3, 0xfd, 0xce, 0xc3 +db 0xfe, 0xce, 0xc3, 0xfe, 0xcf, 0xc3, 0xfb, 0xce, 0xc1, 0xe0, 0xba, 0xad +db 0x97, 0x81, 0x79, 0x68, 0x62, 0x5f, 0x9e, 0x9e, 0x9e, 0xe8, 0xe8, 0xe8 +db 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe +db 0xe9, 0xe9, 0xe9, 0x9f, 0xa0, 0x9f, 0x50, 0x4e, 0x4d, 0x49, 0x41, 0x3d +db 0x87, 0x71, 0x6a, 0xb6, 0x96, 0x8e, 0xc0, 0x9e, 0x95, 0xce, 0xa9, 0x9f +db 0xea, 0xbe, 0xb4, 0xfb, 0xc9, 0xc0, 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1 +db 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1 +db 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1 +db 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1 +db 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1 +db 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1 +db 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1 +db 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1, 0xfd, 0xca, 0xc1, 0xfd, 0xca, 0xc1 +db 0xfd, 0xca, 0xc1, 0xfd, 0xca, 0xc1, 0xfd, 0xca, 0xc1, 0xfc, 0xca, 0xc1 +db 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1, 0xfc, 0xca, 0xc1 +db 0xfc, 0xca, 0xc1, 0xfd, 0xca, 0xc1, 0xfd, 0xca, 0xc1, 0xfc, 0xca, 0xc1 +db 0xfc, 0xca, 0xc1, 0xfb, 0xca, 0xc0, 0xe8, 0xbc, 0xb3, 0xb0, 0x91, 0x8a +db 0x81, 0x6d, 0x67, 0x7a, 0x68, 0x62, 0x8e, 0x79, 0x72, 0xb8, 0x98, 0x90 +db 0xe3, 0xb8, 0xaf, 0xf9, 0xc8, 0xbf, 0xfd, 0xcb, 0xc2, 0xfd, 0xcb, 0xc2 +db 0xfd, 0xca, 0xc1, 0xfd, 0xcb, 0xc1, 0xf3, 0xc3, 0xba, 0xc0, 0x9d, 0x95 +db 0x77, 0x69, 0x64, 0x82, 0x80, 0x7f, 0xd0, 0xd0, 0xcf, 0xfa, 0xfa, 0xfa +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf6, 0xf6, 0xf6, 0xbf, 0xbf, 0xbf, 0x5e, 0x5d, 0x5d, 0x36, 0x30, 0x2f +db 0x60, 0x4f, 0x4c, 0x7b, 0x65, 0x60, 0x73, 0x5f, 0x5a, 0x8d, 0x74, 0x6e +db 0xd1, 0xa7, 0xa1, 0xf7, 0xc2, 0xbc, 0xfd, 0xc7, 0xc0, 0xfc, 0xc6, 0xbf +db 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf +db 0xfc, 0xc6, 0xc0, 0xfc, 0xc6, 0xc0, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf +db 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf +db 0xfc, 0xc6, 0xc0, 0xfc, 0xc6, 0xc0, 0xfc, 0xc6, 0xc0, 0xfc, 0xc6, 0xc0 +db 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf +db 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf +db 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf +db 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf +db 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf +db 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf, 0xfc, 0xc6, 0xbf +db 0xfc, 0xc6, 0xbf, 0xfc, 0xc5, 0xbf, 0xf2, 0xbf, 0xb9, 0xd5, 0xaa, 0xa3 +db 0xb0, 0x8d, 0x88, 0x86, 0x6e, 0x6a, 0x60, 0x52, 0x4e, 0x6d, 0x5b, 0x57 +db 0xb2, 0x90, 0x8a, 0xea, 0xb9, 0xb3, 0xf5, 0xc0, 0xba, 0xee, 0xbc, 0xb5 +db 0xe6, 0xb6, 0xaf, 0xe1, 0xb3, 0xac, 0xcd, 0xa4, 0x9d, 0x90, 0x78, 0x73 +db 0x6d, 0x64, 0x63, 0xa7, 0xa7, 0xa6, 0xed, 0xed, 0xed, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf0, 0xf0, 0xf0, 0xa5, 0xa6, 0xa6, 0x48, 0x46, 0x46, 0x4a, 0x3c, 0x3c +db 0x8f, 0x6f, 0x6d, 0xa5, 0x80, 0x7e, 0x88, 0x6b, 0x69, 0x8f, 0x71, 0x6f +db 0xce, 0xa0, 0x9d, 0xf7, 0xbe, 0xba, 0xfd, 0xc2, 0xbe, 0xfc, 0xc1, 0xbe +db 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe, 0xfc, 0xc0, 0xbe, 0xfc, 0xc0, 0xbe +db 0xfc, 0xc0, 0xbe, 0xfc, 0xc0, 0xbe, 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbd +db 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe +db 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe +db 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe +db 0xfc, 0xc1, 0xbd, 0xfc, 0xc1, 0xbd, 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe +db 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe +db 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbd, 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe +db 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbd +db 0xfc, 0xc1, 0xbe, 0xfc, 0xc1, 0xbd, 0xfc, 0xc1, 0xbd, 0xfc, 0xc1, 0xbd +db 0xfc, 0xc1, 0xbd, 0xfc, 0xc1, 0xbd, 0xfb, 0xc0, 0xbd, 0xf6, 0xbd, 0xb9 +db 0xea, 0xb5, 0xb2, 0xc7, 0x9b, 0x98, 0x7f, 0x64, 0x63, 0x4d, 0x40, 0x3f +db 0x74, 0x5e, 0x5b, 0xb4, 0x8d, 0x8a, 0xbf, 0x94, 0x91, 0xa7, 0x83, 0x81 +db 0x92, 0x74, 0x71, 0x87, 0x6d, 0x69, 0x77, 0x62, 0x5f, 0x65, 0x5a, 0x57 +db 0x89, 0x86, 0x85, 0xd4, 0xd3, 0xd3, 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe9, 0xe9, 0xe9, 0x8c, 0x8c, 0x8c, 0x3d, 0x37, 0x37, 0x6c, 0x53, 0x53 +db 0xc9, 0x98, 0x98, 0xe8, 0xae, 0xad, 0xd6, 0xa1, 0xa1, 0xcd, 0x9a, 0x9a +db 0xe5, 0xac, 0xac, 0xf9, 0xba, 0xba, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc +db 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc +db 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc +db 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc +db 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc +db 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc +db 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc +db 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc +db 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc +db 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc +db 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc +db 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbc, 0xbc, 0xfc, 0xbd, 0xbc +db 0xfd, 0xbd, 0xbd, 0xef, 0xb3, 0xb3, 0xb3, 0x87, 0x87, 0x58, 0x44, 0x44 +db 0x3b, 0x30, 0x2f, 0x56, 0x44, 0x43, 0x5a, 0x48, 0x47, 0x4c, 0x40, 0x3f +db 0x47, 0x40, 0x3f, 0x48, 0x42, 0x41, 0x4e, 0x49, 0x48, 0x72, 0x70, 0x6f +db 0xbd, 0xbd, 0xbc, 0xf2, 0xf2, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe8, 0xe8, 0xe8, 0x88, 0x88, 0x88, 0x3c, 0x35, 0x36, 0x76, 0x58, 0x5a +db 0xd7, 0x9e, 0xa0, 0xfa, 0xb7, 0xb9, 0xfa, 0xb6, 0xb9, 0xf6, 0xb3, 0xb6 +db 0xf9, 0xb5, 0xb8, 0xfc, 0xb7, 0xba, 0xfc, 0xb8, 0xba, 0xfc, 0xb8, 0xba +db 0xfc, 0xb7, 0xba, 0xfc, 0xb7, 0xba, 0xfc, 0xb7, 0xba, 0xfc, 0xb7, 0xba +db 0xfc, 0xb7, 0xba, 0xfc, 0xb7, 0xba, 0xfc, 0xb8, 0xba, 0xfc, 0xb8, 0xba +db 0xfc, 0xb7, 0xba, 0xfc, 0xb8, 0xba, 0xfc, 0xb8, 0xba, 0xfc, 0xb8, 0xba +db 0xfc, 0xb8, 0xba, 0xfc, 0xb8, 0xba, 0xfc, 0xb7, 0xba, 0xfc, 0xb7, 0xba +db 0xfc, 0xb7, 0xba, 0xfc, 0xb8, 0xba, 0xfc, 0xb8, 0xba, 0xfc, 0xb8, 0xba +db 0xfc, 0xb8, 0xba, 0xfc, 0xb8, 0xba, 0xfc, 0xb8, 0xba, 0xfc, 0xb8, 0xba +db 0xfc, 0xb8, 0xba, 0xfc, 0xb8, 0xba, 0xfc, 0xb8, 0xba, 0xfc, 0xb8, 0xba +db 0xfc, 0xb8, 0xba, 0xfc, 0xb7, 0xba, 0xfc, 0xb7, 0xba, 0xfc, 0xb7, 0xba +db 0xfc, 0xb7, 0xba, 0xfc, 0xb8, 0xba, 0xfc, 0xb8, 0xba, 0xfc, 0xb8, 0xba +db 0xfc, 0xb8, 0xba, 0xfc, 0xb7, 0xba, 0xfc, 0xb7, 0xba, 0xfc, 0xb8, 0xba +db 0xfc, 0xb7, 0xba, 0xfc, 0xb7, 0xba, 0xfc, 0xb7, 0xba, 0xfc, 0xb8, 0xba +db 0xfd, 0xb8, 0xbb, 0xf7, 0xb5, 0xb7, 0xc9, 0x94, 0x96, 0x66, 0x4e, 0x4e +db 0x27, 0x21, 0x22, 0x2e, 0x2c, 0x2c, 0x45, 0x42, 0x42, 0x5f, 0x5d, 0x5d +db 0x7d, 0x7d, 0x7d, 0x92, 0x92, 0x92, 0x9f, 0x9f, 0x9f, 0xc0, 0xc1, 0xc0 +db 0xeb, 0xeb, 0xeb, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xeb, 0xeb, 0xeb, 0x92, 0x92, 0x92, 0x3c, 0x38, 0x38, 0x58, 0x42, 0x44 +db 0xac, 0x7d, 0x81, 0xdd, 0x9f, 0xa3, 0xef, 0xaa, 0xb0, 0xf8, 0xb0, 0xb6 +db 0xfb, 0xb2, 0xb8, 0xfc, 0xb3, 0xb9, 0xfc, 0xb3, 0xb9, 0xfc, 0xb3, 0xb8 +db 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8 +db 0xfc, 0xb3, 0xb9, 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8 +db 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8 +db 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8 +db 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8 +db 0xfc, 0xb3, 0xb8, 0xfb, 0xb3, 0xb9, 0xfb, 0xb3, 0xb9, 0xfb, 0xb3, 0xb8 +db 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8 +db 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8 +db 0xfc, 0xb3, 0xb8, 0xfc, 0xb4, 0xb8, 0xfc, 0xb4, 0xb9, 0xfc, 0xb3, 0xb8 +db 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8, 0xfc, 0xb3, 0xb8 +db 0xfc, 0xb3, 0xb9, 0xfc, 0xb3, 0xb9, 0xfc, 0xb2, 0xb9, 0xfc, 0xb3, 0xb9 +db 0xfc, 0xb3, 0xb9, 0xec, 0xa9, 0xae, 0xae, 0x7f, 0x82, 0x5c, 0x48, 0x49 +db 0x4b, 0x48, 0x48, 0x77, 0x77, 0x77, 0xa2, 0xa2, 0xa2, 0xc4, 0xc4, 0xc4 +db 0xdc, 0xdd, 0xdd, 0xea, 0xea, 0xea, 0xef, 0xef, 0xef, 0xf6, 0xf6, 0xf6 +db 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf5, 0xf5, 0xf5, 0xb8, 0xb8, 0xb8, 0x5c, 0x5a, 0x5a, 0x36, 0x2e, 0x2e +db 0x55, 0x3f, 0x41, 0x83, 0x5e, 0x62, 0xa8, 0x78, 0x7d, 0xc6, 0x8c, 0x92 +db 0xd9, 0x98, 0x9f, 0xdd, 0x9c, 0xa3, 0xe1, 0x9d, 0xa5, 0xeb, 0xa4, 0xac +db 0xf7, 0xac, 0xb4, 0xfc, 0xaf, 0xb7, 0xfc, 0xae, 0xb7, 0xfb, 0xae, 0xb7 +db 0xfb, 0xae, 0xb7, 0xfb, 0xae, 0xb7, 0xfb, 0xae, 0xb7, 0xfc, 0xae, 0xb7 +db 0xfc, 0xae, 0xb7, 0xfc, 0xae, 0xb7, 0xfc, 0xae, 0xb7, 0xfc, 0xae, 0xb7 +db 0xfb, 0xae, 0xb7, 0xfc, 0xaf, 0xb7, 0xfc, 0xaf, 0xb7, 0xfb, 0xaf, 0xb7 +db 0xfb, 0xae, 0xb7, 0xfc, 0xae, 0xb7, 0xfc, 0xae, 0xb7, 0xfc, 0xae, 0xb7 +db 0xfc, 0xae, 0xb7, 0xfb, 0xae, 0xb7, 0xfb, 0xae, 0xb7, 0xfb, 0xae, 0xb7 +db 0xfb, 0xae, 0xb7, 0xfb, 0xae, 0xb7, 0xfc, 0xae, 0xb7, 0xfc, 0xae, 0xb7 +db 0xfc, 0xae, 0xb7, 0xfb, 0xae, 0xb7, 0xfc, 0xae, 0xb7, 0xfc, 0xae, 0xb7 +db 0xfb, 0xae, 0xb7, 0xfa, 0xae, 0xb6, 0xfb, 0xad, 0xb6, 0xfb, 0xaf, 0xb7 +db 0xfc, 0xaf, 0xb7, 0xfc, 0xaf, 0xb7, 0xfc, 0xaf, 0xb8, 0xfc, 0xaf, 0xb8 +db 0xfd, 0xaf, 0xb8, 0xfc, 0xaf, 0xb8, 0xfc, 0xaf, 0xb8, 0xfb, 0xae, 0xb7 +db 0xf1, 0xa8, 0xb0, 0xc7, 0x8d, 0x94, 0x79, 0x5a, 0x5d, 0x54, 0x4c, 0x4d +db 0x8d, 0x8d, 0x8d, 0xd3, 0xd3, 0xd3, 0xef, 0xef, 0xef, 0xf9, 0xf9, 0xf9 +db 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfe, 0xfe, 0xe6, 0xe6, 0xe6, 0xa0, 0xa1, 0xa1, 0x48, 0x47, 0x47 +db 0x24, 0x20, 0x20, 0x2f, 0x26, 0x27, 0x47, 0x38, 0x39, 0x62, 0x47, 0x4a +db 0x76, 0x54, 0x58, 0x7b, 0x57, 0x5c, 0x84, 0x5d, 0x63, 0xad, 0x78, 0x7f +db 0xe2, 0x9b, 0xa5, 0xf9, 0xa9, 0xb4, 0xfc, 0xab, 0xb6, 0xfb, 0xab, 0xb6 +db 0xfb, 0xaa, 0xb6, 0xfb, 0xaa, 0xb6, 0xfb, 0xaa, 0xb6, 0xfb, 0xaa, 0xb6 +db 0xfb, 0xaa, 0xb6, 0xfb, 0xaa, 0xb5, 0xfb, 0xaa, 0xb5, 0xfb, 0xaa, 0xb5 +db 0xfb, 0xaa, 0xb5, 0xfc, 0xaa, 0xb6, 0xfb, 0xaa, 0xb6, 0xfc, 0xaa, 0xb6 +db 0xfb, 0xab, 0xb6, 0xfb, 0xaa, 0xb6, 0xfb, 0xaa, 0xb5, 0xfb, 0xaa, 0xb6 +db 0xfb, 0xaa, 0xb6, 0xfb, 0xaa, 0xb5, 0xfb, 0xaa, 0xb6, 0xfb, 0xaa, 0xb5 +db 0xfb, 0xaa, 0xb5, 0xfb, 0xaa, 0xb5, 0xfb, 0xaa, 0xb5, 0xfc, 0xaa, 0xb5 +db 0xfc, 0xaa, 0xb5, 0xfb, 0xaa, 0xb5, 0xfb, 0xaa, 0xb5, 0xfb, 0xaa, 0xb5 +db 0xf3, 0xa5, 0xb0, 0xe1, 0x99, 0xa4, 0xd9, 0x95, 0x9e, 0xe3, 0x9c, 0xa5 +db 0xf1, 0xa4, 0xae, 0xfa, 0xaa, 0xb5, 0xfb, 0xab, 0xb6, 0xfb, 0xaa, 0xb6 +db 0xfc, 0xaa, 0xb6, 0xfa, 0xa9, 0xb5, 0xf3, 0xa5, 0xb0, 0xe1, 0x9a, 0xa4 +db 0xbc, 0x82, 0x89, 0x80, 0x5b, 0x60, 0x54, 0x47, 0x48, 0x7a, 0x78, 0x78 +db 0xc9, 0xc9, 0xc9, 0xf7, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfb, 0xda, 0xda, 0xda, 0x92, 0x92, 0x92 +db 0x5e, 0x5e, 0x5e, 0x54, 0x54, 0x53, 0x50, 0x4e, 0x4f, 0x45, 0x41, 0x41 +db 0x40, 0x39, 0x39, 0x3a, 0x32, 0x34, 0x37, 0x2c, 0x2d, 0x5e, 0x43, 0x47 +db 0xac, 0x75, 0x7e, 0xe1, 0x97, 0xa3, 0xf6, 0xa3, 0xb1, 0xfc, 0xa7, 0xb5 +db 0xfc, 0xa7, 0xb5, 0xfc, 0xa7, 0xb5, 0xfb, 0xa7, 0xb5, 0xfb, 0xa7, 0xb5 +db 0xfb, 0xa7, 0xb5, 0xfb, 0xa7, 0xb5, 0xfc, 0xa7, 0xb5, 0xfc, 0xa7, 0xb5 +db 0xfa, 0xa6, 0xb3, 0xf2, 0xa1, 0xae, 0xed, 0x9e, 0xab, 0xf4, 0xa2, 0xb0 +db 0xfa, 0xa6, 0xb4, 0xfb, 0xa7, 0xb4, 0xfb, 0xa6, 0xb4, 0xfb, 0xa6, 0xb4 +db 0xfb, 0xa6, 0xb4, 0xfb, 0xa6, 0xb4, 0xfb, 0xa6, 0xb4, 0xfb, 0xa6, 0xb4 +db 0xfb, 0xa6, 0xb4, 0xfb, 0xa6, 0xb4, 0xfb, 0xa6, 0xb4, 0xfb, 0xa6, 0xb4 +db 0xfb, 0xa6, 0xb4, 0xfb, 0xa6, 0xb4, 0xfc, 0xa7, 0xb4, 0xf9, 0xa5, 0xb3 +db 0xde, 0x94, 0xa0, 0xa0, 0x6d, 0x75, 0x7c, 0x57, 0x5c, 0x8d, 0x61, 0x67 +db 0xb8, 0x7d, 0x86, 0xd8, 0x91, 0x9c, 0xdf, 0x96, 0xa1, 0xdf, 0x96, 0xa1 +db 0xde, 0x95, 0xa1, 0xd7, 0x90, 0x9c, 0xbe, 0x80, 0x8a, 0x8f, 0x63, 0x6a +db 0x5d, 0x42, 0x46, 0x3f, 0x33, 0x34, 0x5d, 0x5a, 0x5a, 0xb6, 0xb5, 0xb5 +db 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xe0, 0xe0, 0xe0 +db 0xcb, 0xcb, 0xcb, 0xc4, 0xc4, 0xc4, 0xb9, 0xb9, 0xb9, 0xa1, 0xa1, 0xa1 +db 0x90, 0x90, 0x90, 0x7e, 0x7e, 0x7e, 0x56, 0x55, 0x55, 0x41, 0x38, 0x39 +db 0x5e, 0x43, 0x48, 0x9a, 0x68, 0x70, 0xd2, 0x8b, 0x98, 0xef, 0x9c, 0xab +db 0xf6, 0xa1, 0xb0, 0xf9, 0xa2, 0xb2, 0xfb, 0xa3, 0xb4, 0xfc, 0xa3, 0xb4 +db 0xfc, 0xa3, 0xb4, 0xfc, 0xa3, 0xb4, 0xfb, 0xa3, 0xb3, 0xf7, 0xa1, 0xb1 +db 0xe8, 0x98, 0xa6, 0xc3, 0x82, 0x8d, 0xaf, 0x76, 0x7f, 0xcd, 0x88, 0x94 +db 0xf0, 0x9d, 0xac, 0xfb, 0xa3, 0xb3, 0xfb, 0xa3, 0xb4, 0xfb, 0xa3, 0xb3 +db 0xfb, 0xa3, 0xb3, 0xfb, 0xa3, 0xb3, 0xfb, 0xa3, 0xb3, 0xfb, 0xa3, 0xb3 +db 0xfb, 0xa3, 0xb3, 0xfb, 0xa3, 0xb3, 0xfb, 0xa3, 0xb3, 0xfb, 0xa3, 0xb4 +db 0xfb, 0xa3, 0xb4, 0xfc, 0xa4, 0xb4, 0xfc, 0xa3, 0xb3, 0xef, 0x9c, 0xac +db 0xb9, 0x7c, 0x86, 0x5d, 0x41, 0x45, 0x2a, 0x20, 0x22, 0x35, 0x27, 0x2a +db 0x5a, 0x40, 0x44, 0x77, 0x51, 0x58, 0x7f, 0x55, 0x5c, 0x7f, 0x56, 0x5c +db 0x7f, 0x56, 0x5d, 0x78, 0x52, 0x59, 0x5f, 0x44, 0x48, 0x40, 0x31, 0x34 +db 0x36, 0x31, 0x32, 0x53, 0x52, 0x52, 0x99, 0x99, 0x9a, 0xe2, 0xe2, 0xe2 +db 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe +db 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfb, 0xf7, 0xf7, 0xf7, 0xef, 0xef, 0xef +db 0xea, 0xea, 0xea, 0xde, 0xde, 0xde, 0xb6, 0xb6, 0xb6, 0x77, 0x76, 0x77 +db 0x46, 0x41, 0x41, 0x4a, 0x38, 0x3b, 0x81, 0x56, 0x5f, 0xae, 0x72, 0x7d +db 0xc0, 0x7d, 0x8a, 0xd2, 0x88, 0x97, 0xe2, 0x92, 0xa2, 0xed, 0x99, 0xa9 +db 0xf1, 0x9b, 0xab, 0xe9, 0x97, 0xa7, 0xde, 0x8f, 0x9e, 0xca, 0x83, 0x91 +db 0xa4, 0x6d, 0x77, 0x6b, 0x49, 0x4e, 0x50, 0x38, 0x3d, 0x7e, 0x55, 0x5c +db 0xc2, 0x7f, 0x8c, 0xea, 0x97, 0xa7, 0xf9, 0x9f, 0xb1, 0xfc, 0xa1, 0xb3 +db 0xfc, 0xa1, 0xb3, 0xfc, 0xa1, 0xb3, 0xfc, 0xa1, 0xb2, 0xfc, 0xa1, 0xb2 +db 0xfc, 0xa1, 0xb3, 0xfc, 0xa1, 0xb3, 0xfc, 0xa1, 0xb3, 0xfc, 0xa1, 0xb3 +db 0xfc, 0xa1, 0xb3, 0xf9, 0xa0, 0xb1, 0xeb, 0x97, 0xa7, 0xc2, 0x7f, 0x8d +db 0x7a, 0x51, 0x59, 0x39, 0x2c, 0x2e, 0x32, 0x32, 0x32, 0x43, 0x42, 0x42 +db 0x41, 0x3c, 0x3e, 0x36, 0x2d, 0x2f, 0x2d, 0x24, 0x25, 0x32, 0x29, 0x2a +db 0x3c, 0x33, 0x34, 0x45, 0x3d, 0x3f, 0x50, 0x4b, 0x4c, 0x5e, 0x5c, 0x5c +db 0x80, 0x80, 0x80, 0xb3, 0xb3, 0xb3, 0xdf, 0xdf, 0xdf, 0xf9, 0xf9, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xf2, 0xf2, 0xf2, 0xcc, 0xcc, 0xcc +db 0x83, 0x83, 0x83, 0x43, 0x40, 0x41, 0x3a, 0x2e, 0x30, 0x4b, 0x36, 0x3b +db 0x5b, 0x3f, 0x44, 0x72, 0x4c, 0x54, 0x8b, 0x5b, 0x65, 0xa6, 0x6b, 0x77 +db 0xb0, 0x71, 0x7e, 0x9b, 0x65, 0x70, 0x80, 0x54, 0x5d, 0x64, 0x42, 0x49 +db 0x43, 0x2f, 0x33, 0x25, 0x1d, 0x1e, 0x1c, 0x17, 0x17, 0x39, 0x2a, 0x2d +db 0x71, 0x4d, 0x54, 0xaf, 0x72, 0x7f, 0xdf, 0x8e, 0x9f, 0xf3, 0x9a, 0xad +db 0xf6, 0x9c, 0xae, 0xf7, 0x9c, 0xaf, 0xfa, 0x9e, 0xb1, 0xfb, 0x9f, 0xb2 +db 0xfa, 0x9e, 0xb1, 0xf7, 0x9c, 0xaf, 0xf1, 0x99, 0xab, 0xe8, 0x93, 0xa5 +db 0xe2, 0x90, 0xa1, 0xd4, 0x89, 0x97, 0xac, 0x6f, 0x7b, 0x6e, 0x4a, 0x51 +db 0x3f, 0x30, 0x33, 0x49, 0x46, 0x46, 0x89, 0x88, 0x88, 0xad, 0xad, 0xad +db 0x99, 0x99, 0x99, 0x74, 0x74, 0x74, 0x5a, 0x5a, 0x5b, 0x66, 0x67, 0x67 +db 0x81, 0x81, 0x81, 0x94, 0x95, 0x95, 0xaf, 0xaf, 0xaf, 0xc6, 0xc6, 0xc6 +db 0xde, 0xde, 0xde, 0xf2, 0xf2, 0xf2, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xf7 +db 0xd2, 0xd2, 0xd2, 0x8f, 0x8f, 0x8f, 0x5f, 0x5e, 0x5f, 0x53, 0x51, 0x51 +db 0x4a, 0x46, 0x47, 0x41, 0x39, 0x3b, 0x41, 0x34, 0x36, 0x48, 0x36, 0x39 +db 0x4b, 0x36, 0x3b, 0x3d, 0x2c, 0x2f, 0x2e, 0x24, 0x26, 0x2b, 0x25, 0x26 +db 0x2f, 0x2c, 0x2d, 0x3e, 0x3d, 0x3d, 0x4b, 0x4b, 0x4b, 0x50, 0x4e, 0x4e +db 0x52, 0x49, 0x4b, 0x6a, 0x4e, 0x53, 0x97, 0x65, 0x6f, 0xb5, 0x74, 0x82 +db 0xbc, 0x78, 0x86, 0xc6, 0x7f, 0x8d, 0xd8, 0x89, 0x9a, 0xe0, 0x8e, 0x9f +db 0xd8, 0x89, 0x9a, 0xc4, 0x7e, 0x8c, 0xaf, 0x71, 0x7d, 0x95, 0x61, 0x6b +db 0x84, 0x57, 0x60, 0x74, 0x4d, 0x54, 0x50, 0x38, 0x3d, 0x36, 0x2d, 0x2f +db 0x4c, 0x4b, 0x4b, 0x95, 0x94, 0x94, 0xda, 0xda, 0xda, 0xf4, 0xf4, 0xf4 +db 0xec, 0xec, 0xec, 0xd9, 0xd9, 0xd9, 0xca, 0xcb, 0xcb, 0xd2, 0xd2, 0xd2 +db 0xe2, 0xe3, 0xe3, 0xec, 0xec, 0xec, 0xf4, 0xf4, 0xf4, 0xfb, 0xfb, 0xfb +db 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf8, 0xf8, 0xf8, 0xe0, 0xe0, 0xe0, 0xc8, 0xc9, 0xc9, 0xbe, 0xbf, 0xbf +db 0xac, 0xac, 0xac, 0x90, 0x90, 0x90, 0x75, 0x75, 0x75, 0x5d, 0x5c, 0x5c +db 0x54, 0x52, 0x52, 0x50, 0x4f, 0x4f, 0x56, 0x56, 0x56, 0x6f, 0x6f, 0x6f +db 0x8b, 0x8b, 0x8b, 0xa8, 0xa8, 0xa8, 0xbd, 0xbe, 0xbe, 0xbb, 0xbb, 0xbb +db 0x9e, 0x9d, 0x9d, 0x73, 0x6d, 0x6e, 0x58, 0x48, 0x4b, 0x53, 0x3b, 0x40 +db 0x56, 0x3c, 0x41, 0x64, 0x44, 0x4b, 0x7a, 0x51, 0x59, 0x84, 0x56, 0x5f +db 0x7c, 0x52, 0x5b, 0x65, 0x46, 0x4c, 0x53, 0x3e, 0x41, 0x48, 0x39, 0x3d +db 0x41, 0x37, 0x38, 0x3c, 0x33, 0x35, 0x3f, 0x3a, 0x3b, 0x62, 0x62, 0x62 +db 0xa3, 0xa3, 0xa3, 0xde, 0xdd, 0xdd, 0xfb, 0xfb, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfb, 0xfb, 0xfb, 0xf9, 0xf9, 0xf9 +db 0xf3, 0xf3, 0xf3, 0xe8, 0xe9, 0xe8, 0xd9, 0xd9, 0xd9, 0xc7, 0xc7, 0xc7 +db 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc5, 0xc5, 0xc5, 0xd6, 0xd6, 0xd6 +db 0xe6, 0xe6, 0xe6, 0xf2, 0xf2, 0xf2, 0xf9, 0xf9, 0xf9, 0xf8, 0xf8, 0xf8 +db 0xe9, 0xe9, 0xe9, 0xbd, 0xbd, 0xbd, 0x7e, 0x7d, 0x7d, 0x5a, 0x57, 0x57 +db 0x53, 0x50, 0x50, 0x4f, 0x4a, 0x4b, 0x46, 0x3e, 0x40, 0x44, 0x3b, 0x3d +db 0x50, 0x47, 0x49, 0x59, 0x53, 0x55, 0x63, 0x61, 0x61, 0x79, 0x78, 0x78 +db 0x86, 0x86, 0x85, 0x88, 0x88, 0x88, 0x97, 0x97, 0x97, 0xc1, 0xc1, 0xc1 +db 0xe9, 0xe9, 0xe9, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfb, 0xfb, 0xfb +db 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfd, 0xfd, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfe, 0xfe, 0xf1, 0xf2, 0xf2, 0xd5, 0xd6, 0xd6, 0xc1, 0xc2, 0xc2 +db 0xbc, 0xbd, 0xbc, 0xae, 0xaf, 0xaf, 0x94, 0x94, 0x94, 0x8d, 0x8c, 0x8c +db 0xa2, 0xa2, 0xa2, 0xb9, 0xb9, 0xba, 0xc8, 0xc8, 0xc8, 0xda, 0xdb, 0xda +db 0xe5, 0xe5, 0xe5, 0xe6, 0xe6, 0xe6, 0xeb, 0xeb, 0xeb, 0xf7, 0xf7, 0xf7 +db 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc, 0xfa, 0xfa, 0xfa +db 0xf9, 0xf9, 0xf9, 0xf4, 0xf4, 0xf4, 0xea, 0xea, 0xea, 0xe8, 0xe8, 0xe8 +db 0xef, 0xef, 0xef, 0xf7, 0xf7, 0xf7, 0xfb, 0xfb, 0xfb, 0xfe, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/pause.inc b/programs/games/hunter/trunk/inc/pause.inc new file mode 100644 index 0000000000..3372c67db4 --- /dev/null +++ b/programs/games/hunter/trunk/inc/pause.inc @@ -0,0 +1,1089 @@ +dw 128, 34 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf6, 0xff, 0xf4, 0xdc, 0xff, 0xda, 0xd2, 0xff, 0xcf +db 0xd2, 0xff, 0xcf, 0xd4, 0xff, 0xd1, 0xd6, 0xff, 0xd3, 0xd7, 0xff, 0xd4 +db 0xd8, 0xff, 0xd5, 0xdc, 0xff, 0xd9, 0xea, 0xff, 0xe7, 0xff, 0xff, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xda, 0xff, 0xd8, 0x8c, 0xff, 0x8a, 0x4d, 0xff, 0x4a, 0x34, 0xff, 0x31 +db 0x33, 0xff, 0x30, 0x36, 0xff, 0x32, 0x39, 0xff, 0x35, 0x3b, 0xff, 0x37 +db 0x3b, 0xff, 0x37, 0x43, 0xff, 0x3e, 0x5e, 0xff, 0x5a, 0x84, 0xff, 0x80 +db 0x96, 0xff, 0x91, 0xa8, 0xff, 0xa4, 0xcb, 0xff, 0xc6, 0xee, 0xff, 0xea +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xff, 0xea +db 0x8a, 0xff, 0x88, 0x11, 0xff, 0xe, 0x0, 0xff, 0x0, 0x1, 0xff, 0x1 +db 0x1, 0xff, 0x1, 0x1, 0xff, 0x1, 0x1, 0xff, 0x1, 0x1, 0xff, 0x1 +db 0x1, 0xff, 0x1, 0x1, 0xff, 0x1, 0x1, 0xff, 0x1, 0x1, 0xff, 0x1 +db 0x1, 0xff, 0x1, 0xe, 0xff, 0x7, 0x35, 0xff, 0x2e, 0x6f, 0xff, 0x68 +db 0xb9, 0xff, 0xb4, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xdf +db 0x6a, 0xff, 0x67, 0x0, 0xff, 0x0, 0x1, 0xff, 0x1, 0x1, 0xff, 0x1 +db 0x1, 0xff, 0x1, 0x1, 0xff, 0x1, 0x1, 0xff, 0x1, 0x1, 0xff, 0x1 +db 0x1, 0xff, 0x1, 0x1, 0xff, 0x1, 0x1, 0xff, 0x1, 0x1, 0xff, 0x1 +db 0x1, 0xff, 0x1, 0x1, 0xff, 0x1, 0x1, 0xff, 0x1, 0x1, 0xff, 0x1 +db 0x47, 0xff, 0x46, 0xc8, 0xff, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xf9 +db 0xa7, 0xff, 0xa4, 0x2d, 0xf0, 0x28, 0x1, 0xd6, 0x1, 0x1, 0xdf, 0x1 +db 0x1, 0xfc, 0x1, 0x1, 0xff, 0x1, 0x1, 0xf4, 0x1, 0x1, 0xd2, 0x1 +db 0x1, 0xc2, 0x1, 0x1, 0xc2, 0x1, 0x2, 0xd1, 0x2, 0x2, 0xe6, 0x2 +db 0x2, 0xf3, 0x2, 0x2, 0xfe, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2 +db 0x2, 0xff, 0x19, 0x82, 0xff, 0x97, 0xf8, 0xff, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf0, 0xfe, 0xec, 0x99, 0xd2, 0x94, 0x2f, 0x90, 0x32, 0x1, 0xa0, 0xb +db 0x1, 0xea, 0x14, 0x1, 0xff, 0x1a, 0x2, 0xd0, 0x16, 0x2, 0x79, 0x8 +db 0x7, 0x4e, 0x2, 0x6, 0x4b, 0x2, 0x2, 0x60, 0x3, 0x2, 0x81, 0x8 +db 0x2, 0xa0, 0xc, 0x2, 0xca, 0x12, 0x2, 0xf5, 0x16, 0x2, 0xff, 0x19 +db 0x2, 0xff, 0x30, 0x3f, 0xfc, 0x7d, 0xcd, 0xf8, 0xe0, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf1, 0xff, 0xf9, 0xe6, 0xff, 0xf2, 0xf7, 0xff, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xeb, 0xff, 0xf5, 0xe7, 0xff, 0xf4, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xff, 0xe5, 0xd1, 0xde, 0x78, 0x82, 0x7c, 0x9, 0x8c, 0x3f +db 0x2, 0xe3, 0x3e, 0x2, 0xfc, 0x42, 0x2, 0xbb, 0x39, 0xc, 0x47, 0x26 +db 0x2a, 0x14, 0x24, 0x36, 0x15, 0x2b, 0x35, 0x1f, 0x2f, 0x2e, 0x2e, 0x2f +db 0x1f, 0x40, 0x2f, 0x2, 0x73, 0x30, 0x2, 0xc6, 0x39, 0x2, 0xfe, 0x3e +db 0x2, 0xff, 0x41, 0x9, 0xec, 0x63, 0x93, 0xdd, 0xb4, 0xff, 0xf3, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf5, 0xff, 0xfb, 0xdf, 0xff, 0xed, 0xbc, 0xff, 0xd8 +db 0x7e, 0xff, 0xb4, 0x5f, 0xff, 0xa1, 0x82, 0xff, 0xb5, 0xb7, 0xff, 0xd5 +db 0xe7, 0xff, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xff, 0xf4, 0xd4, 0xff, 0xe5 +db 0xcb, 0xff, 0xe1, 0xcd, 0xff, 0xe2, 0xce, 0xff, 0xe3, 0xde, 0xff, 0xec +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe3, 0xff, 0xf0, 0xd2, 0xff, 0xe6, 0xcf, 0xff, 0xe4 +db 0xce, 0xff, 0xe3, 0xce, 0xff, 0xe4, 0xdd, 0xff, 0xeb, 0xfc, 0xff, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf3, 0xff, 0xf8, 0xca, 0xff, 0xdf, 0x93, 0xff, 0xc0 +db 0x67, 0xff, 0xa6, 0x61, 0xff, 0xa4, 0x94, 0xff, 0xc0, 0xcc, 0xff, 0xe4 +db 0xee, 0xff, 0xf6, 0xf5, 0xff, 0xfb, 0xee, 0xff, 0xf6, 0xfb, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0xff, 0xf2, 0xb8, 0xff, 0xd5 +db 0x92, 0xff, 0xbf, 0x8d, 0xff, 0xbd, 0xa2, 0xff, 0xc7, 0xc5, 0xff, 0xdd +db 0xda, 0xff, 0xe9, 0xed, 0xff, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xeb, 0xff, 0xbd, 0xb9, 0xc1, 0x43, 0xb9, 0x75 +db 0x2, 0xef, 0x51, 0x2, 0xfd, 0x47, 0x2, 0xb9, 0x3f, 0x1d, 0x46, 0x34 +db 0x57, 0x2f, 0x4e, 0x85, 0x4f, 0x77, 0x93, 0x5f, 0x86, 0x91, 0x5f, 0x84 +db 0x7d, 0x58, 0x75, 0x4f, 0x65, 0x5e, 0xe, 0xae, 0x4f, 0x2, 0xf7, 0x49 +db 0x2, 0xff, 0x45, 0x2, 0xe8, 0x4c, 0x58, 0xc2, 0x82, 0xdb, 0xdb, 0xdc +db 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xfe, 0xc6, 0xff, 0xd9 +db 0xa1, 0xff, 0xc1, 0x81, 0xff, 0xae, 0x59, 0xff, 0x96, 0x34, 0xff, 0x7e +db 0x4, 0xff, 0x63, 0x2, 0xff, 0x54, 0x2, 0xff, 0x60, 0x32, 0xff, 0x7d +db 0x70, 0xff, 0xa4, 0xa9, 0xff, 0xc6, 0xdd, 0xff, 0xe6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd7, 0xff, 0xe2, 0x8c, 0xff, 0xb3, 0x4c, 0xff, 0x8d +db 0x3b, 0xff, 0x83, 0x3b, 0xff, 0x82, 0x41, 0xff, 0x86, 0x6e, 0xff, 0xa5 +db 0xcf, 0xff, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xbf, 0xff, 0xd5, 0x69, 0xff, 0xa0, 0x43, 0xff, 0x88, 0x3d, 0xff, 0x84 +db 0x3c, 0xff, 0x83, 0x41, 0xff, 0x87, 0x6e, 0xff, 0xa4, 0xce, 0xff, 0xe0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xff, 0xef +db 0xba, 0xff, 0xcf, 0x85, 0xff, 0xb0, 0x45, 0xff, 0x89, 0xe, 0xff, 0x68 +db 0x2, 0xff, 0x56, 0x2, 0xff, 0x56, 0x12, 0xff, 0x6a, 0x44, 0xff, 0x8c +db 0x74, 0xff, 0xa7, 0x83, 0xff, 0xb0, 0x7b, 0xff, 0xab, 0xb3, 0xff, 0xcf +db 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf0, 0xff, 0xf1, 0xbc, 0xff, 0xcf, 0x75, 0xff, 0xa5, 0x32, 0xff, 0x7b +db 0x8, 0xff, 0x64, 0x2, 0xff, 0x60, 0x18, 0xff, 0x6e, 0x39, 0xff, 0x82 +db 0x4f, 0xff, 0x8f, 0x76, 0xff, 0xa7, 0xba, 0xff, 0xce, 0xf6, 0xff, 0xf6 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf1, 0xf8, 0x89, 0xf1, 0xae +db 0x16, 0xff, 0x66, 0x2, 0xff, 0x4a, 0x2, 0xb9, 0x3f, 0x33, 0x55, 0x40 +db 0x8f, 0x66, 0x84, 0xed, 0xb8, 0xdb, 0xff, 0xd7, 0xfb, 0xff, 0xd7, 0xfa +db 0xf8, 0xc6, 0xe8, 0xc3, 0xbb, 0xc1, 0x67, 0xd5, 0x8d, 0xa, 0xff, 0x5b +db 0x2, 0xff, 0x47, 0x2, 0xe9, 0x42, 0x36, 0xab, 0x5b, 0xb1, 0xb5, 0xb1 +db 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0xff, 0xde, 0x64, 0xff, 0x94 +db 0x28, 0xff, 0x68, 0x13, 0xff, 0x5b, 0x2, 0xff, 0x51, 0x2, 0xff, 0x48 +db 0x2, 0xff, 0x43, 0x2, 0xff, 0x40, 0x2, 0xff, 0x42, 0x2, 0xff, 0x4b +db 0xf, 0xff, 0x5a, 0x35, 0xff, 0x70, 0x77, 0xff, 0x9b, 0xd2, 0xff, 0xdb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe6, 0xff, 0xec, 0x86, 0xff, 0xa7, 0x26, 0xff, 0x68, 0x2, 0xff, 0x47 +db 0x2, 0xff, 0x43, 0x2, 0xff, 0x42, 0x2, 0xff, 0x48, 0x2c, 0xff, 0x6e +db 0xad, 0xff, 0xc5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0xff, 0xeb +db 0x72, 0xff, 0x9b, 0x11, 0xff, 0x5a, 0x2, 0xff, 0x47, 0x2, 0xff, 0x45 +db 0x2, 0xff, 0x44, 0x2, 0xff, 0x49, 0x2f, 0xff, 0x6e, 0xae, 0xfe, 0xc6 +db 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xff, 0xee, 0x94, 0xff, 0xb1 +db 0x47, 0xff, 0x7c, 0x18, 0xff, 0x5f, 0x2, 0xff, 0x4f, 0x2, 0xff, 0x43 +db 0x2, 0xff, 0x41, 0x2, 0xff, 0x41, 0x2, 0xff, 0x46, 0x2, 0xff, 0x4f +db 0xe, 0xff, 0x5b, 0x14, 0xff, 0x5d, 0x1c, 0xff, 0x63, 0x72, 0xff, 0x9e +db 0xe8, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xca, 0xff, 0xd7 +db 0x8b, 0xff, 0xa9, 0x4a, 0xff, 0x7b, 0x16, 0xff, 0x5c, 0x2, 0xff, 0x4a +db 0x2, 0xff, 0x43, 0x2, 0xff, 0x42, 0x2, 0xff, 0x46, 0x2, 0xff, 0x4c +db 0x2, 0xff, 0x4d, 0x14, 0xff, 0x5c, 0x4d, 0xff, 0x81, 0xa1, 0xff, 0xb8 +db 0xe5, 0xff, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa9, 0xff, 0xc9 +db 0x33, 0xff, 0x7b, 0x7, 0xff, 0x5b, 0xf, 0xb8, 0x49, 0x3e, 0x5b, 0x47 +db 0xa7, 0x7f, 0x98, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0xff, 0xc6, 0x2f, 0xff, 0x7a +db 0x3, 0xff, 0x5b, 0x2, 0xe8, 0x4d, 0x25, 0x95, 0x48, 0x88, 0x8c, 0x88 +db 0xf2, 0xda, 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, 0xff, 0xce, 0x3a, 0xff, 0x7b +db 0x2, 0xff, 0x54, 0x2, 0xff, 0x4f, 0x2, 0xff, 0x4c, 0x2, 0xff, 0x4c +db 0x2, 0xff, 0x4e, 0x2, 0xff, 0x4e, 0x2, 0xff, 0x50, 0x2, 0xff, 0x4f +db 0x2, 0xff, 0x51, 0x4, 0xff, 0x56, 0x2d, 0xff, 0x72, 0x91, 0xff, 0xb7 +db 0xf7, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd9, 0xff, 0xe2, 0x64, 0xff, 0x94, 0xf, 0xff, 0x5b, 0x2, 0xff, 0x46 +db 0x2, 0xff, 0x46, 0x2, 0xff, 0x47, 0x2, 0xff, 0x4b, 0x1f, 0xf4, 0x64 +db 0x86, 0xd5, 0x9e, 0xe3, 0xd6, 0xdb, 0xff, 0xf5, 0xff, 0xda, 0xff, 0xe4 +db 0x5f, 0xff, 0x91, 0x9, 0xff, 0x57, 0x2, 0xff, 0x49, 0x2, 0xff, 0x48 +db 0x2, 0xff, 0x49, 0x2, 0xff, 0x4c, 0x1f, 0xf2, 0x63, 0x86, 0xd3, 0x9d +db 0xdb, 0xd6, 0xd5, 0xff, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0xff, 0xcf, 0x45, 0xff, 0x83 +db 0xb, 0xff, 0x5c, 0x2, 0xff, 0x51, 0x2, 0xff, 0x50, 0x2, 0xff, 0x4d +db 0x2, 0xf9, 0x4c, 0x2, 0xfa, 0x4b, 0x2, 0xff, 0x51, 0x2, 0xff, 0x53 +db 0x2, 0xff, 0x55, 0x2, 0xff, 0x53, 0x7, 0xff, 0x5a, 0x55, 0xf3, 0x87 +db 0xc6, 0xe7, 0xcf, 0xff, 0xf5, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0xff, 0xda, 0x64, 0xff, 0x98 +db 0x2a, 0xff, 0x6e, 0xc, 0xff, 0x5b, 0x2, 0xff, 0x53, 0x2, 0xff, 0x52 +db 0x2, 0xff, 0x52, 0x2, 0xff, 0x51, 0x2, 0xff, 0x50, 0x2, 0xff, 0x51 +db 0x2, 0xff, 0x51, 0x2, 0xff, 0x55, 0x10, 0xff, 0x5f, 0x3f, 0xff, 0x7d +db 0x8f, 0xff, 0xb6, 0xeb, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xad, 0xff, 0xd7 +db 0x38, 0xff, 0x94, 0xc, 0xff, 0x78, 0x15, 0xb8, 0x5d, 0x40, 0x5b, 0x4e +db 0xa9, 0x81, 0x9b, 0xff, 0xe8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9d, 0xff, 0xd4, 0x30, 0xff, 0x93 +db 0x9, 0xff, 0x7b, 0x6, 0xe1, 0x66, 0x1b, 0x81, 0x48, 0x68, 0x68, 0x69 +db 0xdb, 0xc3, 0xd2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0xff, 0xe2, 0x55, 0xff, 0x9f +db 0x18, 0xfe, 0x77, 0x5, 0xe7, 0x61, 0x6, 0xd0, 0x57, 0x9, 0xc5, 0x53 +db 0xd, 0xc6, 0x55, 0xe, 0xc6, 0x55, 0xe, 0xc6, 0x56, 0xc, 0xcc, 0x58 +db 0x8, 0xdf, 0x5e, 0x2, 0xf9, 0x69, 0x14, 0xff, 0x7a, 0x5c, 0xff, 0xa5 +db 0xc7, 0xf4, 0xda, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf0, 0xff, 0xf5, 0x9e, 0xff, 0xc2, 0x4e, 0xf7, 0x90, 0x14, 0xe4, 0x68 +db 0x2, 0xec, 0x5f, 0x2, 0xff, 0x66, 0x2, 0xff, 0x69, 0xc, 0xdc, 0x64 +db 0x44, 0x8f, 0x63, 0xa0, 0x91, 0x98, 0xf8, 0xdd, 0xea, 0xf1, 0xff, 0xf5 +db 0x90, 0xff, 0xba, 0x34, 0xe5, 0x79, 0x7, 0xd7, 0x5b, 0x2, 0xec, 0x5f +db 0x2, 0xff, 0x68, 0x2, 0xff, 0x69, 0xa, 0xd8, 0x60, 0x41, 0x8c, 0x60 +db 0x99, 0x93, 0x95, 0xf4, 0xdf, 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd8, 0xff, 0xed, 0x6f, 0xff, 0xb5, 0x1b, 0xff, 0x80 +db 0x2, 0xff, 0x6e, 0x2, 0xf7, 0x68, 0x7, 0xe4, 0x61, 0xc, 0xc8, 0x57 +db 0xf, 0xaf, 0x4c, 0x11, 0xb2, 0x4d, 0xc, 0xd5, 0x5e, 0x8, 0xf2, 0x69 +db 0x4, 0xff, 0x6f, 0x2, 0xff, 0x70, 0x3, 0xff, 0x6e, 0x2e, 0xc9, 0x6e +db 0x7b, 0x9a, 0x88, 0xcd, 0xbc, 0xc3, 0xff, 0xf1, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe2, 0xff, 0xf2, 0x7d, 0xff, 0xbb, 0x24, 0xff, 0x87 +db 0x6, 0xff, 0x73, 0x4, 0xff, 0x70, 0x7, 0xfe, 0x6e, 0xb, 0xf0, 0x6a +db 0xf, 0xdf, 0x62, 0x11, 0xcc, 0x5a, 0x11, 0xc6, 0x59, 0xf, 0xd2, 0x5d +db 0xb, 0xec, 0x66, 0x7, 0xff, 0x70, 0x3, 0xff, 0x72, 0xf, 0xff, 0x7a +db 0x4a, 0xff, 0x9e, 0xb4, 0xff, 0xd9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xab, 0xff, 0xdc +db 0x37, 0xff, 0xa0, 0xa, 0xff, 0x86, 0x12, 0xbb, 0x68, 0x3e, 0x5e, 0x4f +db 0xa7, 0x84, 0x98, 0xff, 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xc0, 0xff, 0xee, 0x63, 0xff, 0xbd, 0x1d, 0xff, 0x98 +db 0x7, 0xff, 0x88, 0x6, 0xcb, 0x69, 0x17, 0x63, 0x40, 0x59, 0x53, 0x57 +db 0xd0, 0xb7, 0xc5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xac, 0xff, 0xd5 +db 0x5f, 0xdc, 0x9a, 0x26, 0x94, 0x59, 0x15, 0x5f, 0x37, 0x17, 0x4e, 0x30 +db 0x1a, 0x4d, 0x30, 0x1b, 0x4e, 0x31, 0x1b, 0x4e, 0x33, 0x19, 0x58, 0x35 +db 0x14, 0x7d, 0x45, 0xc, 0xc3, 0x64, 0xa, 0xfa, 0x7e, 0x29, 0xf6, 0x8d +db 0x76, 0xd0, 0xa2, 0xd5, 0xd6, 0xd4, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf7, 0xb2, 0xe5, 0xc8, 0x50, 0xb5, 0x7f +db 0xc, 0xc6, 0x64, 0x2, 0xf6, 0x74, 0x2, 0xff, 0x7a, 0x2, 0xce, 0x65 +db 0x22, 0x6b, 0x44, 0x7d, 0x6d, 0x75, 0xf0, 0xd1, 0xe0, 0xff, 0xff, 0xff +db 0xdb, 0xef, 0xe4, 0x71, 0xa9, 0x8a, 0x21, 0x82, 0x4e, 0x2, 0xbe, 0x5d +db 0x2, 0xfb, 0x77, 0x2, 0xff, 0x79, 0x2, 0xca, 0x61, 0x1c, 0x66, 0x41 +db 0x76, 0x6e, 0x72, 0xea, 0xd4, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xff, 0xff, 0x9d, 0xff, 0xd0, 0x35, 0xff, 0x9c, 0x4, 0xff, 0x83 +db 0x2, 0xf6, 0x77, 0xa, 0xc0, 0x63, 0x12, 0x86, 0x49, 0x18, 0x59, 0x37 +db 0x1c, 0x3f, 0x2b, 0x1e, 0x44, 0x2f, 0x1b, 0x72, 0x43, 0x15, 0x9c, 0x56 +db 0xc, 0xc8, 0x68, 0x6, 0xf8, 0x7b, 0x3, 0xf9, 0x7a, 0xe, 0xa8, 0x58 +db 0x35, 0x50, 0x43, 0x87, 0x74, 0x7c, 0xed, 0xd6, 0xe0, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xa4, 0xff, 0xd4, 0x3c, 0xff, 0x9f, 0x9, 0xff, 0x85 +db 0x3, 0xff, 0x7f, 0x9, 0xf7, 0x7a, 0x10, 0xc8, 0x68, 0x17, 0x98, 0x54 +db 0x1c, 0x76, 0x45, 0x1f, 0x59, 0x39, 0x20, 0x50, 0x37, 0x1e, 0x64, 0x3f +db 0x17, 0x95, 0x52, 0x10, 0xd1, 0x6b, 0x8, 0xfb, 0x7e, 0x5, 0xff, 0x84 +db 0x1f, 0xff, 0x90, 0x6d, 0xf6, 0xb0, 0xcb, 0xec, 0xdb, 0xff, 0xfa, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaa, 0xff, 0xda +db 0x35, 0xff, 0xa0, 0x9, 0xff, 0x86, 0xf, 0xc9, 0x6e, 0x35, 0x7e, 0x5a +db 0x8b, 0x9e, 0x94, 0xe3, 0xf2, 0xeb, 0xeb, 0xff, 0xff, 0xbc, 0xff, 0xea +db 0x86, 0xff, 0xcf, 0x55, 0xff, 0xb5, 0x27, 0xff, 0x9f, 0xe, 0xff, 0x93 +db 0x8, 0xf5, 0x80, 0xa, 0x9b, 0x54, 0x19, 0x3b, 0x2d, 0x58, 0x45, 0x50 +db 0xce, 0xb7, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd +db 0xb3, 0xbd, 0xb6, 0x4b, 0x52, 0x4e, 0x22, 0x1e, 0x1f, 0x1e, 0x18, 0x19 +db 0x22, 0x17, 0x1b, 0x24, 0x18, 0x1c, 0x24, 0x18, 0x1c, 0x24, 0x1e, 0x1d +db 0x1d, 0x3e, 0x2b, 0x13, 0x96, 0x52, 0x9, 0xee, 0x79, 0xc, 0xf6, 0x7e +db 0x34, 0xbf, 0x76, 0x95, 0xad, 0x9f, 0xf7, 0xe2, 0xec, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xe4, 0xeb, 0x8b, 0xae, 0x9b +db 0x25, 0xbb, 0x70, 0x2, 0xf4, 0x77, 0x2, 0xff, 0x7c, 0x2, 0xcb, 0x63 +db 0x1d, 0x64, 0x41, 0x77, 0x66, 0x6e, 0xf1, 0xce, 0xdf, 0xff, 0xff, 0xff +db 0xff, 0xed, 0xfa, 0xa6, 0x94, 0x9d, 0x41, 0x5f, 0x4f, 0xd, 0xaa, 0x5a +db 0x2, 0xf9, 0x79, 0x2, 0xff, 0x7c, 0x2, 0xc6, 0x60, 0x18, 0x5f, 0x3d +db 0x71, 0x69, 0x6c, 0xe8, 0xd2, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xef, 0xff, 0xf9, 0x81, 0xff, 0xc3, 0x1f, 0xff, 0x92, 0x2, 0xff, 0x82 +db 0x3, 0xeb, 0x74, 0xd, 0x92, 0x50, 0x19, 0x41, 0x2d, 0x21, 0x1e, 0x1e +db 0x2c, 0x15, 0x1e, 0x39, 0x1f, 0x2b, 0x46, 0x3d, 0x40, 0x43, 0x56, 0x4b +db 0x29, 0x83, 0x55, 0x12, 0xd1, 0x6f, 0x7, 0xe1, 0x72, 0x9, 0x8d, 0x49 +db 0x1c, 0x31, 0x27, 0x6a, 0x54, 0x5e, 0xdf, 0xc7, 0xd2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe5, 0xff, 0xf4, 0x6f, 0xff, 0xb8, 0x19, 0xff, 0x8e, 0x2, 0xff, 0x83 +db 0x6, 0xff, 0x80, 0xd, 0xd4, 0x6e, 0x19, 0x7a, 0x47, 0x23, 0x34, 0x2b +db 0x28, 0x1a, 0x20, 0x30, 0x14, 0x20, 0x37, 0x16, 0x25, 0x38, 0x22, 0x2c +db 0x30, 0x40, 0x37, 0x1f, 0x7f, 0x4c, 0x11, 0xce, 0x6c, 0x8, 0xfe, 0x81 +db 0x9, 0xff, 0x86, 0x2c, 0xee, 0x8a, 0x81, 0xd3, 0xa8, 0xe6, 0xe8, 0xe6 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa9, 0xff, 0xda +db 0x34, 0xff, 0xa2, 0x8, 0xff, 0x8b, 0xb, 0xed, 0x7f, 0x1f, 0xca, 0x77 +db 0x49, 0xd9, 0x94, 0x75, 0xff, 0xbe, 0x6e, 0xff, 0xc2, 0x49, 0xff, 0xb3 +db 0x2c, 0xff, 0xa4, 0x1a, 0xff, 0x9c, 0xe, 0xff, 0x94, 0xb, 0xff, 0x8a +db 0xb, 0xc8, 0x69, 0xf, 0x5f, 0x38, 0x20, 0x1e, 0x20, 0x61, 0x4a, 0x57 +db 0xd6, 0xc0, 0xcb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd7, 0xc7, 0xd0, 0x62, 0x74, 0x6c, 0x24, 0x58, 0x40, 0x1a, 0x5a, 0x3c +db 0x1d, 0x5e, 0x3f, 0x1f, 0x5f, 0x41, 0x1f, 0x5f, 0x41, 0x1e, 0x5f, 0x40 +db 0x1b, 0x72, 0x47, 0x12, 0xb3, 0x63, 0x9, 0xf9, 0x80, 0x3, 0xfc, 0x80 +db 0x16, 0xbc, 0x6a, 0x66, 0x89, 0x76, 0xd8, 0xc4, 0xcc, 0xff, 0xfd, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff, 0xbf, 0xd5, 0xc8 +db 0x48, 0xd9, 0x90, 0x5, 0xfc, 0x81, 0x2, 0xff, 0x80, 0x2, 0xcc, 0x67 +db 0x1d, 0x65, 0x41, 0x77, 0x67, 0x6f, 0xf2, 0xcf, 0xdf, 0xff, 0xff, 0xff +db 0xff, 0xfa, 0xff, 0xdc, 0xbd, 0xca, 0x7f, 0x93, 0x87, 0x30, 0xc5, 0x7b +db 0x5, 0xfe, 0x82, 0x2, 0xff, 0x81, 0x2, 0xc7, 0x63, 0x19, 0x60, 0x3d +db 0x72, 0x6a, 0x6d, 0xe9, 0xd3, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xff, 0xff, 0xa0, 0xff, 0xd3, 0x35, 0xff, 0x9d, 0x5, 0xff, 0x88 +db 0x3, 0xf6, 0x7d, 0xd, 0xb9, 0x64, 0x15, 0x75, 0x48, 0x21, 0x5d, 0x42 +db 0x3b, 0x5d, 0x4e, 0x60, 0x6d, 0x67, 0x87, 0x87, 0x88, 0x8e, 0x8e, 0x8f +db 0x67, 0x8b, 0x7a, 0x41, 0xb0, 0x78, 0x28, 0xa9, 0x67, 0x15, 0x5a, 0x37 +db 0x1e, 0x1d, 0x1c, 0x67, 0x4e, 0x5a, 0xdd, 0xc6, 0xd0, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd3, 0xff, 0xed, 0x54, 0xff, 0xb0, 0xd, 0xff, 0x8b, 0x2, 0xff, 0x87 +db 0xa, 0xf2, 0x7e, 0x12, 0xb4, 0x64, 0x1e, 0x60, 0x41, 0x25, 0x31, 0x2d +db 0x2c, 0x2b, 0x2d, 0x3f, 0x3d, 0x3f, 0x58, 0x54, 0x56, 0x5f, 0x5d, 0x5f +db 0x51, 0x5a, 0x56, 0x32, 0x67, 0x4d, 0x18, 0xa2, 0x5f, 0xc, 0xed, 0x7d +db 0x4, 0xff, 0x87, 0xc, 0xf7, 0x84, 0x46, 0xd3, 0x8c, 0xb7, 0xd4, 0xc5 +db 0xff, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0xff, 0xe0 +db 0x33, 0xff, 0xb0, 0x6, 0xff, 0x9f, 0x6, 0xff, 0x9d, 0xe, 0xff, 0x9e +db 0x1a, 0xff, 0xa5, 0x22, 0xff, 0xaf, 0x20, 0xff, 0xb0, 0x15, 0xff, 0xac +db 0x10, 0xff, 0xa9, 0xc, 0xff, 0xa6, 0xb, 0xff, 0x9c, 0xc, 0xd4, 0x7a +db 0x10, 0x7a, 0x45, 0x14, 0x27, 0x1e, 0x30, 0x1d, 0x26, 0x85, 0x6d, 0x79 +db 0xed, 0xd8, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc0, 0xf4, 0xe8, 0x59, 0xd1, 0xa9, 0x1d, 0xcd, 0x8a, 0x12, 0xd5, 0x87 +db 0x13, 0xd9, 0x8b, 0x15, 0xda, 0x8c, 0x16, 0xda, 0x8c, 0x15, 0xd9, 0x8c +db 0x15, 0xe0, 0x8e, 0xf, 0xf4, 0x95, 0xa, 0xff, 0x9f, 0x5, 0xff, 0x96 +db 0xd, 0xb7, 0x6f, 0x46, 0x6c, 0x5b, 0xb6, 0xa4, 0xab, 0xff, 0xf2, 0xfb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xfb, 0xf0 +db 0x67, 0xfa, 0xbe, 0xc, 0xff, 0x9d, 0x2, 0xff, 0x94, 0x2, 0xcd, 0x77 +db 0x1d, 0x65, 0x46, 0x77, 0x67, 0x70, 0xf2, 0xd0, 0xde, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xd0, 0xe7, 0xdd, 0x5e, 0xf4, 0xb6 +db 0xe, 0xff, 0x9e, 0x2, 0xff, 0x94, 0x2, 0xc8, 0x72, 0x1a, 0x61, 0x42 +db 0x73, 0x6b, 0x6f, 0xea, 0xd4, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd5, 0xff, 0xee, 0x64, 0xff, 0xbf, 0x16, 0xff, 0xa1 +db 0x5, 0xff, 0x99, 0x9, 0xf5, 0x93, 0xe, 0xde, 0x8b, 0x19, 0xd5, 0x8c +db 0x34, 0xd8, 0x9a, 0x56, 0xe1, 0xb0, 0x78, 0xef, 0xc8, 0x92, 0xeb, 0xd2 +db 0x8f, 0xd3, 0xc1, 0x87, 0xc0, 0xae, 0x67, 0x8e, 0x7c, 0x33, 0x35, 0x32 +db 0x26, 0x13, 0x19, 0x6a, 0x52, 0x5c, 0xe1, 0xca, 0xd3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xbd, 0xff, 0xec, 0x42, 0xff, 0xb9, 0x8, 0xff, 0x9d, 0x3, 0xff, 0x98 +db 0xa, 0xf4, 0x92, 0x12, 0xcc, 0x84, 0x19, 0xa8, 0x74, 0x1d, 0x99, 0x6f +db 0x24, 0x9c, 0x74, 0x3b, 0xb2, 0x89, 0x55, 0xcd, 0xa4, 0x5c, 0xd6, 0xad +db 0x4e, 0xca, 0x9f, 0x30, 0xb7, 0x87, 0x17, 0xc6, 0x84, 0xd, 0xf3, 0x94 +db 0x6, 0xff, 0x9d, 0x2, 0xff, 0x97, 0x23, 0xdc, 0x8d, 0x87, 0xc2, 0xaa +db 0xf0, 0xe9, 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa9, 0xff, 0xec +db 0x35, 0xff, 0xca, 0x8, 0xff, 0xbe, 0x9, 0xff, 0xbe, 0xb, 0xff, 0xbd +db 0xd, 0xff, 0xbe, 0xe, 0xff, 0xc0, 0xf, 0xff, 0xc0, 0xf, 0xff, 0xc0 +db 0xd, 0xff, 0xc0, 0xb, 0xfd, 0xb4, 0xd, 0xcf, 0x92, 0x10, 0x7d, 0x58 +db 0x15, 0x2d, 0x23, 0x1e, 0xf, 0x16, 0x52, 0x3c, 0x46, 0xbb, 0xa6, 0xaf +db 0xff, 0xf6, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0xff, 0xfe +db 0x6e, 0xff, 0xe5, 0x31, 0xff, 0xcc, 0x16, 0xff, 0xc2, 0x12, 0xff, 0xc2 +db 0x15, 0xff, 0xc4, 0x17, 0xff, 0xc5, 0x18, 0xff, 0xc5, 0x17, 0xff, 0xc5 +db 0x15, 0xff, 0xc4, 0x13, 0xff, 0xc4, 0xf, 0xff, 0xc1, 0xa, 0xff, 0xb5 +db 0xd, 0xb2, 0x7f, 0x38, 0x5b, 0x51, 0x9f, 0x8d, 0x93, 0xff, 0xeb, 0xf4 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xff, 0xff +db 0x77, 0xff, 0xdb, 0x14, 0xff, 0xc0, 0x2, 0xff, 0xb2, 0x2, 0xcd, 0x8e +db 0x1e, 0x66, 0x51, 0x79, 0x68, 0x70, 0xf2, 0xd0, 0xdd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0x76, 0xff, 0xde +db 0x17, 0xff, 0xc1, 0x2, 0xff, 0xb3, 0x2, 0xc9, 0x8c, 0x1b, 0x62, 0x4c +db 0x73, 0x6b, 0x70, 0xea, 0xd4, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa8, 0xff, 0xe6, 0x40, 0xff, 0xc4 +db 0xf, 0xff, 0xb8, 0x9, 0xff, 0xbb, 0xe, 0xff, 0xc0, 0x14, 0xff, 0xc2 +db 0x1f, 0xff, 0xc8, 0x2a, 0xff, 0xd0, 0x35, 0xff, 0xd7, 0x46, 0xff, 0xdf +db 0x5d, 0xff, 0xe1, 0x7e, 0xf7, 0xdb, 0x83, 0xb9, 0xad, 0x5a, 0x56, 0x5a +db 0x49, 0x33, 0x3b, 0x8a, 0x72, 0x7b, 0xef, 0xd9, 0xe1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x9f, 0xff, 0xeb, 0x31, 0xff, 0xc9, 0x8, 0xff, 0xbc, 0x9, 0xff, 0xbc +db 0xf, 0xff, 0xbc, 0x13, 0xff, 0xba, 0x17, 0xfb, 0xba, 0x1c, 0xfb, 0xbd +db 0x1e, 0xfe, 0xc0, 0x26, 0xff, 0xc6, 0x31, 0xff, 0xd0, 0x31, 0xff, 0xd3 +db 0x2d, 0xff, 0xce, 0x20, 0xff, 0xc4, 0x18, 0xff, 0xc0, 0x12, 0xff, 0xc1 +db 0xc, 0xff, 0xc3, 0x8, 0xff, 0xba, 0x15, 0xd9, 0x9d, 0x62, 0xa7, 0x93 +db 0xd6, 0xd1, 0xd3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, 0xff, 0xf2 +db 0x4d, 0xff, 0xd7, 0x28, 0xff, 0xcb, 0x20, 0xfa, 0xc0, 0x16, 0xde, 0xac +db 0x11, 0xd1, 0xa3, 0x11, 0xd1, 0xa3, 0x11, 0xd1, 0xa4, 0x11, 0xd2, 0xa3 +db 0x11, 0xcb, 0x9f, 0x10, 0xab, 0x87, 0x12, 0x6e, 0x5a, 0x14, 0x2d, 0x29 +db 0x1c, 0xd, 0x15, 0x3e, 0x29, 0x31, 0x8d, 0x7a, 0x83, 0xec, 0xd9, 0xe1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xff, 0x85, 0xff, 0xe8 +db 0x45, 0xff, 0xd8, 0x30, 0xff, 0xd2, 0x2d, 0xff, 0xcf, 0x2c, 0xff, 0xca +db 0x2b, 0xff, 0xc5, 0x2c, 0xfe, 0xc4, 0x2c, 0xff, 0xc4, 0x2c, 0xff, 0xc4 +db 0x2c, 0xff, 0xc6, 0x2e, 0xff, 0xcc, 0x2f, 0xff, 0xd3, 0x2c, 0xff, 0xc4 +db 0x22, 0xb2, 0x89, 0x3b, 0x58, 0x51, 0x9b, 0x86, 0x8e, 0xff, 0xe9, 0xf1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff +db 0x89, 0xff, 0xe6, 0x33, 0xff, 0xce, 0x1d, 0xff, 0xc3, 0x1a, 0xcd, 0x9a +db 0x28, 0x66, 0x56, 0x79, 0x68, 0x6e, 0xf1, 0xd1, 0xdb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x8c, 0xff, 0xe9 +db 0x36, 0xff, 0xd1, 0x1e, 0xff, 0xc3, 0x19, 0xc9, 0x97, 0x26, 0x62, 0x51 +db 0x76, 0x6c, 0x6f, 0xea, 0xd5, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0xff, 0xfd, 0x80, 0xe9, 0xcf +db 0x2f, 0xd6, 0xac, 0x1b, 0xe4, 0xaf, 0x20, 0xf5, 0xbc, 0x26, 0xfd, 0xc2 +db 0x2c, 0xff, 0xc8, 0x32, 0xff, 0xd0, 0x35, 0xff, 0xd4, 0x38, 0xff, 0xd7 +db 0x41, 0xff, 0xda, 0x58, 0xff, 0xdd, 0x78, 0xef, 0xcc, 0x8b, 0xae, 0xa4 +db 0x9f, 0x94, 0x99, 0xd4, 0xbe, 0xc5, 0xff, 0xf6, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xa2, 0xff, 0xee, 0x41, 0xff, 0xd1, 0x26, 0xff, 0xcc, 0x29, 0xff, 0xcc +db 0x2c, 0xff, 0xcc, 0x2f, 0xff, 0xcd, 0x33, 0xff, 0xd0, 0x36, 0xff, 0xd2 +db 0x38, 0xff, 0xd4, 0x3b, 0xff, 0xd6, 0x3c, 0xff, 0xd8, 0x3b, 0xff, 0xd9 +db 0x3a, 0xff, 0xd8, 0x38, 0xff, 0xd6, 0x33, 0xff, 0xd4, 0x2f, 0xff, 0xd2 +db 0x2a, 0xff, 0xd0, 0x25, 0xff, 0xc4, 0x25, 0xcf, 0x9f, 0x54, 0x8f, 0x80 +db 0xc4, 0xbd, 0xc0, 0xff, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0xff, 0xf8 +db 0x84, 0xff, 0xe3, 0x64, 0xff, 0xd6, 0x4f, 0xd5, 0xae, 0x2e, 0x82, 0x6d +db 0x1b, 0x5a, 0x4d, 0x19, 0x54, 0x49, 0x18, 0x56, 0x4a, 0x17, 0x56, 0x4b +db 0x19, 0x51, 0x46, 0x16, 0x3b, 0x36, 0x19, 0x1e, 0x20, 0x22, 0x11, 0x1a +db 0x40, 0x2b, 0x34, 0x86, 0x71, 0x7a, 0xda, 0xc6, 0xce, 0xff, 0xfe, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0xff, 0xf9, 0x84, 0xff, 0xe5 +db 0x68, 0xff, 0xdb, 0x61, 0xfe, 0xcc, 0x57, 0xdf, 0xaf, 0x4b, 0xbd, 0x96 +db 0x42, 0xa5, 0x83, 0x41, 0x9d, 0x7e, 0x41, 0x9d, 0x7f, 0x41, 0x9d, 0x7f +db 0x45, 0xab, 0x88, 0x56, 0xd4, 0xae, 0x69, 0xff, 0xd5, 0x66, 0xff, 0xd4 +db 0x4e, 0xb3, 0x95, 0x48, 0x59, 0x53, 0x9b, 0x87, 0x8c, 0xff, 0xea, 0xf0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff +db 0xaf, 0xff, 0xed, 0x6e, 0xff, 0xdb, 0x5d, 0xff, 0xd2, 0x4d, 0xcd, 0xa7 +db 0x40, 0x66, 0x5a, 0x7b, 0x68, 0x6e, 0xf2, 0xd1, 0xda, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0xff, 0xf3 +db 0x71, 0xff, 0xdf, 0x5f, 0xff, 0xd4, 0x4c, 0xca, 0xa5, 0x3c, 0x63, 0x55 +db 0x77, 0x6c, 0x70, 0xea, 0xd5, 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xd8, 0xd6 +db 0x6d, 0x9f, 0x93, 0x3f, 0x8d, 0x76, 0x38, 0x95, 0x78, 0x3e, 0xa0, 0x7f +db 0x48, 0xb8, 0x90, 0x55, 0xd1, 0xa4, 0x58, 0xdb, 0xac, 0x59, 0xe3, 0xb1 +db 0x62, 0xf7, 0xc4, 0x71, 0xff, 0xdc, 0x87, 0xff, 0xe5, 0xae, 0xfa, 0xe3 +db 0xe2, 0xee, 0xeb, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc5, 0xff, 0xf4, 0x7d, 0xff, 0xdf, 0x67, 0xff, 0xda, 0x65, 0xff, 0xd5 +db 0x5f, 0xf0, 0xc1, 0x59, 0xdd, 0xaf, 0x5a, 0xd8, 0xaa, 0x5f, 0xd8, 0xac +db 0x60, 0xdc, 0xae, 0x61, 0xdd, 0xb0, 0x62, 0xdd, 0xb1, 0x62, 0xde, 0xb1 +db 0x60, 0xde, 0xb1, 0x5e, 0xdf, 0xb0, 0x5b, 0xde, 0xaf, 0x58, 0xdc, 0xad +db 0x53, 0xda, 0xaa, 0x4b, 0xd1, 0xa1, 0x41, 0xa6, 0x82, 0x5a, 0x78, 0x6e +db 0xbe, 0xb5, 0xb7, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff +db 0xa3, 0xff, 0xfe, 0x8a, 0xff, 0xef, 0x6b, 0xbe, 0xb3, 0x3c, 0x4d, 0x4b +db 0x29, 0x1a, 0x1f, 0x2d, 0x18, 0x1f, 0x2f, 0x1c, 0x23, 0x2e, 0x1d, 0x24 +db 0x2c, 0x1c, 0x22, 0x2b, 0x17, 0x1f, 0x34, 0x1c, 0x25, 0x56, 0x41, 0x48 +db 0x94, 0x80, 0x88, 0xde, 0xcc, 0xd2, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xbb, 0xff, 0xff, 0x92, 0xff, 0xfb +db 0x86, 0xff, 0xed, 0x70, 0xca, 0xb8, 0x52, 0x7d, 0x6d, 0x3f, 0x4a, 0x40 +db 0x36, 0x33, 0x2e, 0x35, 0x2f, 0x2d, 0x37, 0x30, 0x2d, 0x39, 0x32, 0x2f +db 0x40, 0x47, 0x44, 0x64, 0x9a, 0x90, 0x89, 0xf6, 0xe4, 0x8b, 0xff, 0xf1 +db 0x69, 0xb5, 0xa9, 0x50, 0x59, 0x59, 0x9d, 0x87, 0x8e, 0xff, 0xeb, 0xf0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc3, 0xff, 0xfe, 0x90, 0xff, 0xf8, 0x82, 0xff, 0xf0, 0x6c, 0xcd, 0xbf +db 0x4c, 0x66, 0x64, 0x7d, 0x68, 0x6e, 0xef, 0xd1, 0xd8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xff, 0xff +db 0x97, 0xff, 0xfc, 0x85, 0xff, 0xf2, 0x6a, 0xca, 0xbc, 0x46, 0x63, 0x60 +db 0x7a, 0x6d, 0x71, 0xea, 0xd5, 0xda, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf5, 0xff, 0xff, 0xde, 0xff, 0xff, 0xd9, 0xed, 0xf5 +db 0xb8, 0xb1, 0xb5, 0x78, 0x6e, 0x6e, 0x4c, 0x46, 0x44, 0x3a, 0x38, 0x35 +db 0x3e, 0x45, 0x3d, 0x47, 0x5c, 0x4d, 0x4a, 0x65, 0x54, 0x4f, 0x73, 0x60 +db 0x65, 0xa9, 0x95, 0x84, 0xf2, 0xde, 0x95, 0xff, 0xfd, 0xa6, 0xff, 0xf9 +db 0xcb, 0xec, 0xec, 0xff, 0xf3, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe9, 0xff, 0xff, 0xac, 0xff, 0xfb, 0x90, 0xff, 0xf8, 0x87, 0xfc, 0xeb +db 0x75, 0xcb, 0xbb, 0x5a, 0x8b, 0x7a, 0x4d, 0x69, 0x59, 0x4d, 0x60, 0x52 +db 0x4e, 0x62, 0x53, 0x50, 0x64, 0x54, 0x51, 0x65, 0x55, 0x51, 0x66, 0x56 +db 0x50, 0x66, 0x56, 0x4e, 0x66, 0x55, 0x4b, 0x65, 0x56, 0x47, 0x64, 0x54 +db 0x45, 0x64, 0x53, 0x3f, 0x5e, 0x4d, 0x37, 0x4d, 0x41, 0x55, 0x54, 0x50 +db 0xbe, 0xaf, 0xb3, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xff +db 0xa8, 0xff, 0xff, 0x90, 0xff, 0xff, 0x71, 0xbf, 0xc2, 0x48, 0x53, 0x5a +db 0x4b, 0x38, 0x40, 0x6a, 0x50, 0x59, 0x76, 0x5d, 0x66, 0x79, 0x5e, 0x67 +db 0x79, 0x5f, 0x66, 0x79, 0x5f, 0x67, 0x88, 0x72, 0x79, 0xba, 0xa6, 0xad +db 0xf0, 0xde, 0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe4, 0xff, 0xff, 0xaa, 0xff, 0xff, 0x91, 0xff, 0xff +db 0x83, 0xec, 0xed, 0x5c, 0x8f, 0x90, 0x38, 0x33, 0x36, 0x2e, 0x12, 0x17 +db 0x37, 0x15, 0x1b, 0x44, 0x22, 0x2b, 0x4b, 0x2c, 0x35, 0x48, 0x2f, 0x36 +db 0x49, 0x46, 0x4d, 0x6a, 0x9a, 0xa0, 0x8f, 0xf5, 0xf8, 0x93, 0xff, 0xff +db 0x6f, 0xba, 0xbc, 0x57, 0x63, 0x67, 0xa0, 0x91, 0x96, 0xff, 0xed, 0xf1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc6, 0xff, 0xff, 0x95, 0xff, 0xff, 0x88, 0xff, 0xff, 0x71, 0xcf, 0xd0 +db 0x4f, 0x6b, 0x6f, 0x7d, 0x6c, 0x71, 0xee, 0xd3, 0xd9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff +db 0x9d, 0xff, 0xff, 0x8c, 0xff, 0xff, 0x71, 0xce, 0xce, 0x4c, 0x68, 0x6b +db 0x7c, 0x6f, 0x73, 0xe9, 0xd7, 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xff, 0xff, 0xc8, 0xff, 0xff, 0xaf, 0xff, 0xff, 0xcc, 0xff, 0xff +db 0xe8, 0xeb, 0xf3, 0xcc, 0xb5, 0xbc, 0x92, 0x73, 0x7b, 0x60, 0x41, 0x47 +db 0x51, 0x34, 0x39, 0x4c, 0x34, 0x38, 0x41, 0x2a, 0x2e, 0x3d, 0x2f, 0x32 +db 0x54, 0x6d, 0x6e, 0x80, 0xdb, 0xdb, 0x93, 0xff, 0xff, 0x8d, 0xf2, 0xf3 +db 0x89, 0xaf, 0xb3, 0xb7, 0xaf, 0xb4, 0xf9, 0xe7, 0xeb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xff, 0xff, 0xbe, 0xff, 0xff, 0x9a, 0xff, 0xff, 0x90, 0xff, 0xff +db 0x7f, 0xd8, 0xdd, 0x5e, 0x86, 0x8b, 0x42, 0x3e, 0x43, 0x3a, 0x21, 0x25 +db 0x3c, 0x1d, 0x23, 0x3d, 0x1f, 0x25, 0x3e, 0x20, 0x26, 0x3f, 0x21, 0x27 +db 0x3e, 0x21, 0x27, 0x3c, 0x21, 0x27, 0x38, 0x22, 0x27, 0x33, 0x26, 0x29 +db 0x34, 0x2f, 0x32, 0x2f, 0x2f, 0x31, 0x2a, 0x24, 0x26, 0x56, 0x46, 0x4a +db 0xc2, 0xb1, 0xb6, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xff, 0xff, 0xc7, 0xff, 0xff +db 0xa0, 0xff, 0xff, 0x8f, 0xff, 0xff, 0x79, 0xd6, 0xdc, 0x64, 0x91, 0x96 +db 0x7f, 0x95, 0x9c, 0xb2, 0xc4, 0xcb, 0xc9, 0xd7, 0xde, 0xda, 0xd9, 0xdf +db 0xe8, 0xd9, 0xdf, 0xee, 0xd8, 0xde, 0xf5, 0xe2, 0xe7, 0xff, 0xf8, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xdb, 0xff, 0xff, 0xa4, 0xff, 0xff, 0x8d, 0xff, 0xff +db 0x7a, 0xde, 0xe3, 0x51, 0x7d, 0x82, 0x3a, 0x39, 0x3f, 0x47, 0x3c, 0x42 +db 0x69, 0x5c, 0x63, 0x8f, 0x83, 0x8a, 0x9b, 0x97, 0xa0, 0x8a, 0x9c, 0xa3 +db 0x7a, 0xa9, 0xb0, 0x83, 0xd4, 0xdc, 0x95, 0xff, 0xff, 0x94, 0xff, 0xff +db 0x7a, 0xd3, 0xd8, 0x6a, 0x93, 0x98, 0xaa, 0xb4, 0xb8, 0xff, 0xf6, 0xfa +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc4, 0xff, 0xff, 0x93, 0xff, 0xff, 0x88, 0xff, 0xff, 0x75, 0xdc, 0xe2 +db 0x59, 0x8a, 0x8f, 0x7f, 0x85, 0x8a, 0xe3, 0xdb, 0xdf, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xd0, 0xff, 0xff, 0xae, 0xff, 0xff +db 0x97, 0xff, 0xff, 0x8d, 0xff, 0xff, 0x76, 0xdc, 0xe1, 0x59, 0x88, 0x8c +db 0x84, 0x89, 0x8c, 0xeb, 0xdf, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe6, 0xff, 0xff, 0xaa, 0xff, 0xff, 0x95, 0xff, 0xff, 0xad, 0xff, 0xff +db 0xd8, 0xff, 0xff, 0xf1, 0xfc, 0xff, 0xdf, 0xd7, 0xdd, 0xb9, 0xae, 0xb5 +db 0xa7, 0x9b, 0xa1, 0x99, 0x8d, 0x95, 0x7b, 0x71, 0x78, 0x66, 0x64, 0x6c +db 0x6a, 0x8e, 0x96, 0x84, 0xe4, 0xe9, 0x92, 0xff, 0xff, 0x7e, 0xe5, 0xe9 +db 0x54, 0x7d, 0x81, 0x66, 0x60, 0x62, 0xc2, 0xb2, 0xb5, 0xff, 0xfb, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd0, 0xff, 0xff, 0xa3, 0xff, 0xff, 0x92, 0xff, 0xff +db 0x8d, 0xfe, 0xff, 0x7d, 0xcd, 0xd5, 0x6a, 0x88, 0x90, 0x63, 0x5d, 0x66 +db 0x66, 0x55, 0x5e, 0x68, 0x57, 0x5f, 0x69, 0x58, 0x61, 0x69, 0x59, 0x62 +db 0x68, 0x5a, 0x62, 0x67, 0x5a, 0x62, 0x60, 0x59, 0x61, 0x56, 0x64, 0x6b +db 0x55, 0x7b, 0x83, 0x55, 0x7f, 0x87, 0x57, 0x6b, 0x70, 0x83, 0x7e, 0x81 +db 0xda, 0xcb, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf9, 0xff, 0xff, 0xd3, 0xff, 0xff, 0xb6, 0xff, 0xff, 0x9f, 0xff, 0xff +db 0x93, 0xff, 0xff, 0x8f, 0xff, 0xff, 0x89, 0xfa, 0xff, 0x82, 0xe4, 0xe9 +db 0x94, 0xed, 0xf2, 0xae, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xdc, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe4, 0xff, 0xff, 0xaa, 0xff, 0xff, 0x8d, 0xff, 0xff +db 0x7f, 0xf0, 0xf5, 0x6a, 0xba, 0xbe, 0x63, 0x99, 0x9e, 0x7c, 0xac, 0xb1 +db 0xa0, 0xcf, 0xd4, 0xbb, 0xec, 0xf2, 0xbf, 0xfa, 0xff, 0xac, 0xfe, 0xff +db 0x9c, 0xff, 0xff, 0x97, 0xff, 0xff, 0x99, 0xff, 0xff, 0x96, 0xff, 0xff +db 0x89, 0xfc, 0xff, 0x86, 0xe4, 0xe7, 0xaf, 0xee, 0xf1, 0xef, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc2, 0xff, 0xff, 0x91, 0xff, 0xff, 0x86, 0xff, 0xff, 0x80, 0xf6, 0xf9 +db 0x73, 0xcc, 0xcf, 0x88, 0xc5, 0xc9, 0xbe, 0xf2, 0xf5, 0xd4, 0xff, 0xff +db 0xc8, 0xff, 0xff, 0xb3, 0xff, 0xff, 0xa3, 0xff, 0xff, 0x98, 0xff, 0xff +db 0x91, 0xff, 0xff, 0x8e, 0xff, 0xff, 0x83, 0xf9, 0xfc, 0x74, 0xcd, 0xcf +db 0x99, 0xc7, 0xca, 0xee, 0xf3, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd3, 0xff, 0xff, 0x9b, 0xff, 0xff, 0x8b, 0xff, 0xff, 0x94, 0xff, 0xff +db 0xab, 0xff, 0xff, 0xc9, 0xff, 0xff, 0xd4, 0xff, 0xff, 0xcd, 0xff, 0xff +db 0xc9, 0xfb, 0xff, 0xc1, 0xf3, 0xf9, 0xb0, 0xe2, 0xe7, 0x9e, 0xd7, 0xdc +db 0x95, 0xe4, 0xe9, 0x92, 0xff, 0xff, 0x93, 0xff, 0xff, 0x79, 0xe1, 0xe4 +db 0x42, 0x6c, 0x6f, 0x41, 0x3a, 0x3e, 0xa0, 0x91, 0x94, 0xff, 0xf3, 0xf5 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xee, 0xff, 0xff, 0xb9, 0xff, 0xff, 0x97, 0xff, 0xff +db 0x90, 0xff, 0xff, 0x93, 0xff, 0xff, 0x98, 0xe7, 0xed, 0x9d, 0xd3, 0xd9 +db 0xa1, 0xcf, 0xd5, 0xa4, 0xd0, 0xd7, 0xa6, 0xd2, 0xd9, 0xa6, 0xd3, 0xda +db 0xa6, 0xd4, 0xda, 0xa3, 0xd4, 0xda, 0x9b, 0xd4, 0xd9, 0x8c, 0xda, 0xe0 +db 0x86, 0xe9, 0xee, 0x87, 0xec, 0xf1, 0x98, 0xdb, 0xdf, 0xcc, 0xda, 0xde +db 0xff, 0xf7, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xde, 0xff, 0xff, 0xa9, 0xff, 0xff, 0x8f, 0xff, 0xff, 0x8a, 0xff, 0xff +db 0x8b, 0xff, 0xff, 0x8d, 0xff, 0xff, 0x8f, 0xff, 0xff, 0x90, 0xff, 0xff +db 0x92, 0xff, 0xff, 0x98, 0xff, 0xff, 0x9c, 0xff, 0xff, 0xaf, 0xff, 0xff +db 0xda, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xb5, 0xff, 0xff, 0x8f, 0xff, 0xff +db 0x89, 0xff, 0xff, 0x87, 0xfc, 0xff, 0x89, 0xf5, 0xf9, 0x94, 0xff, 0xff +db 0xa3, 0xff, 0xff, 0xaa, 0xff, 0xff, 0xaa, 0xff, 0xff, 0xa3, 0xff, 0xff +db 0x9d, 0xff, 0xff, 0x9c, 0xff, 0xff, 0x98, 0xff, 0xff, 0x95, 0xff, 0xff +db 0x91, 0xff, 0xff, 0x8f, 0xff, 0xff, 0x9d, 0xff, 0xff, 0xc5, 0xff, 0xff +db 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc5, 0xff, 0xff, 0x92, 0xff, 0xff, 0x86, 0xff, 0xff, 0x85, 0xff, 0xff +db 0x85, 0xff, 0xff, 0x8b, 0xfd, 0xff, 0x99, 0xff, 0xff, 0x9f, 0xff, 0xff +db 0x9b, 0xff, 0xff, 0x96, 0xff, 0xff, 0x91, 0xff, 0xff, 0x91, 0xff, 0xff +db 0x8e, 0xff, 0xff, 0x8c, 0xff, 0xff, 0x89, 0xff, 0xff, 0x87, 0xff, 0xff +db 0xa1, 0xfb, 0xfc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd2, 0xff, 0xff, 0x99, 0xff, 0xff, 0x89, 0xff, 0xff, 0x8b, 0xff, 0xff +db 0x91, 0xff, 0xff, 0x9d, 0xff, 0xff, 0xa5, 0xff, 0xff, 0xa7, 0xff, 0xff +db 0xab, 0xff, 0xff, 0xa9, 0xff, 0xff, 0xa6, 0xff, 0xff, 0xa1, 0xff, 0xff +db 0x9a, 0xff, 0xff, 0x96, 0xff, 0xff, 0x8d, 0xff, 0xff, 0x6c, 0xcd, 0xcf +db 0x38, 0x5c, 0x5e, 0x37, 0x31, 0x33, 0x95, 0x88, 0x8a, 0xfc, 0xef, 0xf1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0xff, 0xff, 0xa7, 0xff, 0xff +db 0x90, 0xff, 0xff, 0x92, 0xff, 0xff, 0x9a, 0xff, 0xff, 0xa0, 0xff, 0xff +db 0xa4, 0xff, 0xff, 0xa6, 0xff, 0xff, 0xa8, 0xff, 0xff, 0xa8, 0xff, 0xff +db 0xa8, 0xff, 0xff, 0xa7, 0xff, 0xff, 0xa2, 0xff, 0xff, 0x9a, 0xff, 0xff +db 0x93, 0xff, 0xff, 0x91, 0xff, 0xff, 0xa2, 0xfc, 0xff, 0xd6, 0xf2, 0xf5 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff +db 0xd3, 0xff, 0xff, 0x9c, 0xff, 0xff, 0x83, 0xff, 0xff, 0x84, 0xff, 0xff +db 0x86, 0xff, 0xff, 0x89, 0xff, 0xff, 0x8b, 0xff, 0xff, 0x8c, 0xff, 0xff +db 0x8d, 0xff, 0xff, 0x8d, 0xff, 0xff, 0x8c, 0xff, 0xff, 0x8b, 0xfc, 0xff +db 0x99, 0xde, 0xe0, 0xc9, 0xd8, 0xda, 0xfe, 0xf6, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xc4, 0xff, 0xff, 0x96, 0xff, 0xff +db 0x8b, 0xff, 0xff, 0x8d, 0xff, 0xff, 0x91, 0xff, 0xff, 0x95, 0xff, 0xff +db 0x98, 0xff, 0xff, 0x9a, 0xff, 0xff, 0x9b, 0xff, 0xff, 0x99, 0xff, 0xff +db 0x96, 0xff, 0xff, 0x93, 0xff, 0xff, 0x94, 0xff, 0xff, 0x91, 0xff, 0xff +db 0x8e, 0xff, 0xff, 0x8a, 0xff, 0xff, 0x86, 0xff, 0xff, 0x8d, 0xdf, 0xe0 +db 0xbb, 0xd3, 0xd4, 0xf7, 0xef, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd7, 0xff, 0xff, 0xa3, 0xff, 0xff, 0x8a, 0xff, 0xff, 0x87, 0xff, 0xff +db 0x89, 0xff, 0xff, 0x8a, 0xff, 0xff, 0x8d, 0xff, 0xff, 0x8e, 0xff, 0xff +db 0x8f, 0xff, 0xff, 0x8e, 0xff, 0xff, 0x8b, 0xff, 0xff, 0x8b, 0xff, 0xff +db 0x8b, 0xff, 0xff, 0x8a, 0xff, 0xff, 0x88, 0xff, 0xff, 0x84, 0xff, 0xff +db 0x89, 0xec, 0xed, 0xb0, 0xd7, 0xd8, 0xef, 0xeb, 0xec, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe1, 0xff, 0xff, 0xa5, 0xff, 0xff, 0x8a, 0xff, 0xff, 0x85, 0xff, 0xff +db 0x87, 0xff, 0xff, 0x8d, 0xff, 0xff, 0x92, 0xff, 0xff, 0x94, 0xff, 0xff +db 0x96, 0xff, 0xff, 0x98, 0xff, 0xff, 0x99, 0xff, 0xff, 0x97, 0xff, 0xff +db 0x92, 0xff, 0xff, 0x87, 0xff, 0xff, 0x73, 0xd8, 0xda, 0x4d, 0x8c, 0x8d +db 0x26, 0x34, 0x36, 0x34, 0x2b, 0x2c, 0x99, 0x8e, 0x8f, 0xfc, 0xf1, 0xf2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xc2, 0xf8, 0xfb +db 0x95, 0xf1, 0xf4, 0x88, 0xfd, 0xff, 0x8e, 0xff, 0xff, 0x94, 0xff, 0xff +db 0x98, 0xff, 0xff, 0x9b, 0xff, 0xff, 0x9c, 0xff, 0xff, 0x9d, 0xff, 0xff +db 0x9d, 0xff, 0xff, 0x9c, 0xff, 0xff, 0x99, 0xff, 0xff, 0x92, 0xff, 0xff +db 0x86, 0xfe, 0xff, 0x78, 0xde, 0xe1, 0x72, 0xb8, 0xba, 0x9a, 0xad, 0xaf +db 0xe6, 0xe0, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe5, 0xff, 0xff, 0xaa, 0xfa, 0xfb, 0x7d, 0xe7, 0xe8, 0x6e, 0xdd, 0xde +db 0x70, 0xdd, 0xde, 0x72, 0xdf, 0xe0, 0x74, 0xe0, 0xe2, 0x76, 0xe2, 0xe3 +db 0x76, 0xe3, 0xe4, 0x76, 0xe3, 0xe5, 0x71, 0xdc, 0xde, 0x5e, 0xb4, 0xb6 +db 0x4d, 0x77, 0x79, 0x6e, 0x73, 0x75, 0xc3, 0xbb, 0xbd, 0xff, 0xfb, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xff, 0xff, 0x9e, 0xf9, 0xfa +db 0x82, 0xf6, 0xf8, 0x83, 0xfe, 0xff, 0x87, 0xff, 0xff, 0x89, 0xff, 0xff +db 0x8b, 0xff, 0xff, 0x8d, 0xff, 0xff, 0x8e, 0xff, 0xff, 0x87, 0xf7, 0xf9 +db 0x7a, 0xd9, 0xdb, 0x74, 0xd1, 0xd3, 0x78, 0xdd, 0xdf, 0x79, 0xe4, 0xe5 +db 0x78, 0xe4, 0xe5, 0x71, 0xde, 0xdf, 0x60, 0xbe, 0xbf, 0x4d, 0x7e, 0x7f +db 0x6c, 0x77, 0x77, 0xca, 0xc2, 0xc3, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf6, 0xff, 0xff, 0xc7, 0xff, 0xff, 0x9a, 0xff, 0xff, 0x81, 0xfe, 0xff +db 0x7f, 0xfd, 0xff, 0x80, 0xff, 0xff, 0x82, 0xff, 0xff, 0x83, 0xff, 0xff +db 0x83, 0xfd, 0xff, 0x7a, 0xe9, 0xea, 0x6e, 0xcd, 0xce, 0x6e, 0xce, 0xd0 +db 0x73, 0xdd, 0xde, 0x74, 0xe1, 0xe2, 0x71, 0xdf, 0xe0, 0x69, 0xcd, 0xce +db 0x56, 0x9a, 0x9b, 0x67, 0x7a, 0x7a, 0xbd, 0xb6, 0xb7, 0xff, 0xf9, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf4, 0xff, 0xff, 0xbe, 0xff, 0xff, 0x8c, 0xf2, 0xf3, 0x6c, 0xcf, 0xd1 +db 0x69, 0xc9, 0xcb, 0x78, 0xe8, 0xea, 0x84, 0xff, 0xff, 0x88, 0xff, 0xff +db 0x89, 0xff, 0xff, 0x8a, 0xff, 0xff, 0x8b, 0xff, 0xff, 0x89, 0xff, 0xff +db 0x7a, 0xe5, 0xe7, 0x60, 0xaf, 0xb1, 0x41, 0x71, 0x73, 0x23, 0x33, 0x35 +db 0x14, 0x11, 0x12, 0x3e, 0x34, 0x35, 0xac, 0xa2, 0xa3, 0xff, 0xf8, 0xf8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0xf1, 0xf3 +db 0xaa, 0xd0, 0xd3, 0x7b, 0xc8, 0xca, 0x79, 0xe3, 0xe6, 0x85, 0xfc, 0xff +db 0x8a, 0xff, 0xff, 0x8c, 0xff, 0xff, 0x8d, 0xff, 0xff, 0x8e, 0xff, 0xff +db 0x8e, 0xff, 0xff, 0x8d, 0xff, 0xff, 0x89, 0xff, 0xff, 0x76, 0xdd, 0xdf +db 0x5c, 0xa5, 0xa7, 0x40, 0x6e, 0x70, 0x32, 0x49, 0x4b, 0x58, 0x5b, 0x5c +db 0xc2, 0xba, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xff, 0xff, 0xbe, 0xdc, 0xdd, 0x69, 0x97, 0x98, 0x3f, 0x70, 0x71 +db 0x39, 0x6a, 0x6b, 0x3d, 0x6c, 0x6d, 0x3f, 0x6d, 0x6e, 0x40, 0x6e, 0x6f +db 0x41, 0x6f, 0x70, 0x40, 0x6f, 0x71, 0x3c, 0x6a, 0x6b, 0x2d, 0x4d, 0x4e +db 0x19, 0x23, 0x24, 0x31, 0x2c, 0x2d, 0x92, 0x88, 0x89, 0xf3, 0xec, 0xec +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xf9, 0xfa, 0xa8, 0xd1, 0xd2 +db 0x70, 0xb6, 0xb7, 0x5e, 0xb2, 0xb3, 0x60, 0xb2, 0xb4, 0x63, 0xb6, 0xb7 +db 0x65, 0xb7, 0xb9, 0x66, 0xb8, 0xba, 0x64, 0xb4, 0xb6, 0x5a, 0x9b, 0x9d +db 0x43, 0x6b, 0x6d, 0x3c, 0x5c, 0x5d, 0x41, 0x6a, 0x6b, 0x43, 0x71, 0x72 +db 0x42, 0x71, 0x72, 0x3d, 0x6c, 0x6d, 0x2f, 0x53, 0x53, 0x1d, 0x29, 0x2a +db 0x3f, 0x3b, 0x3c, 0xb1, 0xa8, 0xa8, 0xff, 0xf8, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xed, 0xff, 0xff, 0xb1, 0xe8, 0xe9, 0x76, 0xc6, 0xc7 +db 0x5f, 0xb5, 0xb6, 0x5b, 0xb0, 0xb1, 0x5d, 0xb1, 0xb2, 0x5f, 0xb3, 0xb3 +db 0x5b, 0xac, 0xad, 0x4d, 0x8a, 0x8b, 0x3a, 0x5d, 0x5e, 0x37, 0x5a, 0x5b +db 0x3f, 0x69, 0x6a, 0x40, 0x6f, 0x6f, 0x3d, 0x6c, 0x6d, 0x35, 0x5c, 0x5d +db 0x22, 0x38, 0x39, 0x39, 0x37, 0x37, 0x9f, 0x95, 0x95, 0xfb, 0xf1, 0xf1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe0, 0xfb, 0xfc, 0x96, 0xc0, 0xc1, 0x4a, 0x70, 0x71 +db 0x38, 0x5c, 0x5e, 0x4b, 0x8a, 0x8b, 0x5d, 0xac, 0xae, 0x62, 0xb4, 0xb5 +db 0x63, 0xb7, 0xb8, 0x64, 0xb8, 0xb9, 0x63, 0xb7, 0xb9, 0x5e, 0xac, 0xad +db 0x4a, 0x80, 0x81, 0x2e, 0x44, 0x45, 0x1b, 0x1f, 0x20, 0x14, 0xd, 0xe +db 0x1f, 0x14, 0x15, 0x60, 0x56, 0x57, 0xcd, 0xc4, 0xc5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfb +db 0xcd, 0xcc, 0xce, 0x7e, 0x96, 0x98, 0x5f, 0x97, 0x99, 0x60, 0xac, 0xae +db 0x63, 0xb4, 0xb6, 0x65, 0xb6, 0xb8, 0x66, 0xb9, 0xbb, 0x67, 0xba, 0xbc +db 0x67, 0xbb, 0xbd, 0x65, 0xb8, 0xba, 0x5c, 0xa9, 0xab, 0x44, 0x75, 0x77 +db 0x28, 0x3b, 0x3c, 0x14, 0x17, 0x18, 0x12, 0xf, 0x10, 0x45, 0x3d, 0x3e +db 0xb6, 0xaf, 0xb0, 0xff, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd5, 0xd3, 0xd3, 0x75, 0x77, 0x77, 0x39, 0x39, 0x3a +db 0x2d, 0x2c, 0x2d, 0x2f, 0x2d, 0x2e, 0x31, 0x30, 0x30, 0x32, 0x31, 0x31 +db 0x32, 0x31, 0x32, 0x32, 0x32, 0x32, 0x31, 0x30, 0x31, 0x2b, 0x2a, 0x2a +db 0x26, 0x21, 0x22, 0x41, 0x3a, 0x3a, 0x99, 0x93, 0x93, 0xf3, 0xed, 0xee +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfc, 0xcd, 0xcf, 0xcf +db 0x7f, 0x8a, 0x8a, 0x41, 0x54, 0x55, 0x2a, 0x3d, 0x3e, 0x28, 0x3b, 0x3b +db 0x2a, 0x3c, 0x3d, 0x2c, 0x3d, 0x3e, 0x2b, 0x3b, 0x3c, 0x25, 0x2f, 0x30 +db 0x1d, 0x1a, 0x1b, 0x23, 0x1a, 0x1b, 0x2f, 0x2b, 0x2c, 0x36, 0x33, 0x34 +db 0x35, 0x33, 0x34, 0x32, 0x30, 0x31, 0x2b, 0x2a, 0x2b, 0x2a, 0x23, 0x23 +db 0x4d, 0x44, 0x44, 0xb6, 0xae, 0xaf, 0xff, 0xf9, 0xf9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xd0, 0xd9, 0xda, 0x84, 0x97, 0x97 +db 0x4a, 0x5f, 0x5f, 0x2d, 0x3f, 0x3f, 0x24, 0x37, 0x38, 0x25, 0x38, 0x39 +db 0x25, 0x35, 0x35, 0x1c, 0x23, 0x24, 0x16, 0x12, 0x12, 0x1f, 0x19, 0x1a +db 0x2d, 0x2b, 0x2b, 0x33, 0x32, 0x32, 0x31, 0x31, 0x31, 0x2c, 0x2b, 0x2c +db 0x29, 0x23, 0x23, 0x45, 0x3e, 0x3e, 0xa6, 0x9d, 0x9d, 0xfa, 0xf2, 0xf2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xf7, 0xf8, 0xb3, 0xb1, 0xb2, 0x53, 0x51, 0x52 +db 0x33, 0x31, 0x32, 0x3a, 0x42, 0x43, 0x3e, 0x4e, 0x4f, 0x32, 0x44, 0x45 +db 0x2a, 0x3d, 0x3e, 0x2a, 0x3d, 0x3e, 0x2c, 0x3f, 0x40, 0x2b, 0x3c, 0x3d +db 0x24, 0x2c, 0x2d, 0x20, 0x19, 0x1a, 0x2d, 0x23, 0x24, 0x46, 0x3b, 0x3c +db 0x63, 0x5a, 0x5a, 0xa2, 0x9a, 0x9b, 0xee, 0xe7, 0xe7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf6, 0xe9, 0xea, 0xb3, 0xaf, 0xb0, 0x73, 0x79, 0x7a, 0x48, 0x58, 0x5a +db 0x37, 0x48, 0x49, 0x31, 0x42, 0x44, 0x2e, 0x40, 0x41, 0x2c, 0x3e, 0x40 +db 0x2c, 0x3f, 0x40, 0x2c, 0x3e, 0x3f, 0x25, 0x35, 0x36, 0x1d, 0x21, 0x22 +db 0x1b, 0x16, 0x16, 0x23, 0x19, 0x19, 0x33, 0x2a, 0x2b, 0x6c, 0x64, 0x65 +db 0xcc, 0xc6, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf2, 0xec, 0xec, 0xbb, 0xb3, 0xb3, 0x8f, 0x86, 0x86 +db 0x85, 0x7c, 0x7c, 0x87, 0x7d, 0x7e, 0x89, 0x7e, 0x7f, 0x89, 0x7f, 0x80 +db 0x89, 0x80, 0x80, 0x89, 0x80, 0x80, 0x89, 0x80, 0x80, 0x88, 0x7f, 0x80 +db 0x87, 0x80, 0x80, 0x9d, 0x97, 0x97, 0xd1, 0xcc, 0xcc, 0xff, 0xfb, 0xfb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xf0, 0xf1 +db 0xc0, 0xb7, 0xb8, 0x6b, 0x62, 0x62, 0x34, 0x2c, 0x2c, 0x26, 0x1b, 0x1c +db 0x26, 0x1d, 0x1d, 0x27, 0x1e, 0x1e, 0x28, 0x1d, 0x1d, 0x28, 0x1d, 0x1e +db 0x33, 0x26, 0x27, 0x52, 0x44, 0x45, 0x79, 0x6c, 0x6d, 0x8b, 0x7f, 0x7f +db 0x8d, 0x82, 0x82, 0x8b, 0x81, 0x81, 0x87, 0x7f, 0x80, 0x87, 0x7f, 0x7f +db 0x9e, 0x97, 0x97, 0xda, 0xd4, 0xd4, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf2, 0xf2, 0xca, 0xc2, 0xc2 +db 0x84, 0x7b, 0x7b, 0x40, 0x37, 0x37, 0x24, 0x1b, 0x1c, 0x22, 0x1a, 0x1a +db 0x23, 0x19, 0x19, 0x22, 0x18, 0x18, 0x2d, 0x20, 0x20, 0x51, 0x44, 0x45 +db 0x7b, 0x6f, 0x70, 0x8b, 0x7f, 0x80, 0x8a, 0x80, 0x80, 0x87, 0x7e, 0x7e +db 0x88, 0x7e, 0x7e, 0x9a, 0x92, 0x92, 0xd1, 0xca, 0xca, 0xff, 0xfc, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2, 0xd8, 0xd8, 0xa9, 0x9e, 0x9f +db 0x8f, 0x83, 0x84, 0x89, 0x7f, 0x7f, 0x76, 0x6e, 0x6f, 0x4b, 0x43, 0x43 +db 0x2e, 0x24, 0x24, 0x27, 0x1d, 0x1e, 0x2c, 0x24, 0x24, 0x3f, 0x36, 0x37 +db 0x4c, 0x43, 0x43, 0x5e, 0x54, 0x55, 0x85, 0x7c, 0x7c, 0xb3, 0xab, 0xab +db 0xcf, 0xc8, 0xc8, 0xec, 0xe6, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf3, 0xe8, 0xe9, 0xc5, 0xbb, 0xbc, 0x86, 0x7c, 0x7d +db 0x5b, 0x51, 0x52, 0x49, 0x40, 0x41, 0x37, 0x2e, 0x2f, 0x29, 0x20, 0x21 +db 0x26, 0x1e, 0x1f, 0x26, 0x1e, 0x1f, 0x27, 0x20, 0x20, 0x36, 0x2d, 0x2d +db 0x58, 0x4e, 0x4f, 0x7c, 0x74, 0x74, 0x98, 0x91, 0x91, 0xc4, 0xbd, 0xbe +db 0xf3, 0xee, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf2, 0xf2, 0xf0, 0xe8, 0xe8 +db 0xed, 0xe4, 0xe5, 0xee, 0xe5, 0xe6, 0xef, 0xe6, 0xe7, 0xf0, 0xe7, 0xe7 +db 0xf0, 0xe8, 0xe8, 0xf0, 0xe8, 0xe8, 0xef, 0xe8, 0xe8, 0xee, 0xe7, 0xe7 +db 0xed, 0xe8, 0xe8, 0xf3, 0xee, 0xee, 0xff, 0xfa, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf8, 0xef, 0xf0, 0xc3, 0xba, 0xba, 0x91, 0x85, 0x86, 0x7d, 0x73, 0x73 +db 0x7e, 0x72, 0x73, 0x7f, 0x73, 0x74, 0x7f, 0x74, 0x74, 0x82, 0x77, 0x78 +db 0x94, 0x88, 0x89, 0xbb, 0xb0, 0xb1, 0xe1, 0xd7, 0xd7, 0xf2, 0xe8, 0xe8 +db 0xf3, 0xea, 0xea, 0xf1, 0xe9, 0xe9, 0xef, 0xe7, 0xe8, 0xed, 0xe6, 0xe6 +db 0xf2, 0xec, 0xec, 0xff, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6 +db 0xd8, 0xcd, 0xcd, 0x9d, 0x92, 0x92, 0x80, 0x75, 0x75, 0x7b, 0x70, 0x70 +db 0x7c, 0x71, 0x71, 0x7c, 0x71, 0x72, 0x8a, 0x80, 0x80, 0xb7, 0xad, 0xad +db 0xe5, 0xdb, 0xdb, 0xf2, 0xe8, 0xe8, 0xf1, 0xe8, 0xe8, 0xef, 0xe7, 0xe7 +db 0xed, 0xe6, 0xe6, 0xf1, 0xeb, 0xeb, 0xff, 0xf9, 0xf9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xf8, 0xef, 0xef +db 0xf0, 0xe7, 0xe7, 0xee, 0xe4, 0xe4, 0xdb, 0xd0, 0xd1, 0xab, 0xa0, 0xa0 +db 0x86, 0x7d, 0x7d, 0x7f, 0x74, 0x75, 0x89, 0x7e, 0x7e, 0xa5, 0x9b, 0x9b +db 0xbd, 0xb3, 0xb3, 0xce, 0xc6, 0xc6, 0xe8, 0xe0, 0xe0, 0xff, 0xf9, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xe2, 0xd8, 0xd9 +db 0xc8, 0xbd, 0xbe, 0xb6, 0xab, 0xac, 0x99, 0x8e, 0x8f, 0x83, 0x7a, 0x7a +db 0x7f, 0x74, 0x75, 0x7f, 0x75, 0x75, 0x81, 0x79, 0x79, 0x9a, 0x8f, 0x90 +db 0xc2, 0xba, 0xba, 0xe5, 0xde, 0xdf, 0xf5, 0xef, 0xef, 0xff, 0xfc, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xf2, 0xea, 0xea, 0xea, 0xe2, 0xe2 +db 0xec, 0xe3, 0xe3, 0xed, 0xe4, 0xe4, 0xed, 0xe4, 0xe5, 0xef, 0xe6, 0xe6 +db 0xf5, 0xec, 0xec, 0xff, 0xfc, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf6, 0xee, 0xee, 0xea, 0xe2, 0xe2, 0xea, 0xe1, 0xe1 +db 0xeb, 0xe2, 0xe2, 0xeb, 0xe2, 0xe2, 0xf1, 0xe9, 0xe9, 0xff, 0xf9, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf4, 0xf4 +db 0xf0, 0xe7, 0xe7, 0xec, 0xe3, 0xe3, 0xf0, 0xe8, 0xe8, 0xfd, 0xf6, 0xf6 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xf9, 0xf1, 0xf1, 0xee, 0xe5, 0xe6 +db 0xed, 0xe4, 0xe5, 0xed, 0xe5, 0xe5, 0xed, 0xe6, 0xe6, 0xf7, 0xf0, 0xf0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/plane00.inc b/programs/games/hunter/trunk/inc/plane00.inc new file mode 100644 index 0000000000..42c3d371af --- /dev/null +++ b/programs/games/hunter/trunk/inc/plane00.inc @@ -0,0 +1,417 @@ +dw 64, 26 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfd, 0xf9, 0xf9, 0xb8, 0xd0, 0x94, 0x91, 0xcb, 0x6b +db 0xac, 0xd0, 0x8a, 0xf5, 0xf6, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xdf, 0xe1, 0xc7, 0x5a, 0xb5, 0x24, 0x34, 0xbc, 0x4 +db 0x4a, 0xbc, 0x1c, 0xdc, 0xd7, 0xbb, 0xff, 0xf4, 0xf7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfa, 0xfb, 0xa0, 0xc1, 0x72, 0x41, 0xb8, 0xe, 0x3c, 0xc0, 0x10 +db 0x64, 0xbb, 0x31, 0xed, 0xc3, 0xb5, 0xff, 0xe5, 0xe9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe8, 0xe5, 0xd3, 0x68, 0xb4, 0x30, 0x41, 0xbb, 0x11, 0x3c, 0xc0, 0x10 +db 0x6e, 0xba, 0x39, 0xf7, 0xc8, 0xc1, 0xff, 0xf0, 0xf2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff +db 0xae, 0xc7, 0x83, 0x47, 0xb4, 0x10, 0x43, 0xbd, 0x14, 0x3f, 0xc0, 0x12 +db 0x98, 0xb9, 0x5e, 0xfc, 0xcb, 0xcb, 0xff, 0xf2, 0xf4, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xe9, 0xd9 +db 0x6f, 0xb6, 0x38, 0x44, 0xb7, 0x10, 0x41, 0xbe, 0x14, 0x45, 0xbf, 0x18 +db 0xc2, 0xc0, 0x8b, 0xff, 0xd2, 0xd8, 0xff, 0xf9, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf5, 0xf3, 0x9b, 0xbb, 0x66 +db 0x49, 0xb2, 0x10, 0x48, 0xb9, 0x16, 0x3e, 0xbf, 0x12, 0x58, 0xbe, 0x29 +db 0xeb, 0xc5, 0xb5, 0xff, 0xdd, 0xe1, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xf8, 0xf7, 0xde, 0xcc, 0xb6, 0xd6, 0xc6, 0xa9, 0xd5, 0xc9, 0xac +db 0xd4, 0xcb, 0xac, 0xd8, 0xcf, 0xb1, 0xef, 0xe9, 0xdd, 0xf6, 0xf3, 0xed +db 0xf7, 0xf3, 0xed, 0xfb, 0xf5, 0xf2, 0xcc, 0xd0, 0xa8, 0x59, 0xac, 0x1c +db 0x49, 0xb5, 0x13, 0x47, 0xba, 0x16, 0x3d, 0xc0, 0x11, 0x5d, 0xbe, 0x2e +db 0xf5, 0xc6, 0xbe, 0xff, 0xe9, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfa, 0xfa +db 0xfa, 0xee, 0xec, 0xfc, 0xf1, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xf8, 0xf9, 0xc3, 0xab, 0x7f, 0xaf, 0x9f, 0x61, 0xaf, 0x9e, 0x60 +db 0xa8, 0x9a, 0x56, 0x88, 0x93, 0x32, 0x90, 0xa1, 0x45, 0x90, 0xa8, 0x4c +db 0x7e, 0xa9, 0x3e, 0x84, 0xae, 0x45, 0x77, 0xae, 0x3a, 0x4d, 0xb1, 0x14 +db 0x4b, 0xb6, 0x16, 0x47, 0xbb, 0x16, 0x3e, 0xc0, 0x12, 0x64, 0xbb, 0x31 +db 0xb5, 0xbf, 0x7d, 0xc5, 0xd9, 0xa8, 0xca, 0xe4, 0xb6, 0xe2, 0xec, 0xd2 +db 0xfa, 0xf7, 0xf4, 0xff, 0xfd, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff +db 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xde, 0xff, 0xac, 0xb9 +db 0xff, 0xaf, 0xbc, 0xfe, 0xb0, 0xbd, 0xfd, 0xb0, 0xbc, 0xfd, 0xb2, 0xbc +db 0xfe, 0xd7, 0xdc, 0xff, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xcc, 0xc6, 0xd5, 0x8c, 0x77 +db 0xbf, 0x6f, 0x48, 0xbb, 0x74, 0x49, 0xc7, 0x95, 0x71, 0xc5, 0x9c, 0x75 +db 0xc3, 0x9f, 0x75, 0xd2, 0xb2, 0x94, 0xe3, 0xcd, 0xbb, 0xe1, 0xce, 0xba +db 0xdf, 0xcd, 0xb8, 0xdf, 0xc9, 0xb4, 0xf2, 0xe0, 0xd9, 0xf8, 0xdb, 0xd8 +db 0xf3, 0xd1, 0xca, 0xdb, 0xbf, 0xa3, 0xe3, 0xc0, 0xac, 0xda, 0xbb, 0x9d +db 0xab, 0xa7, 0x61, 0x6e, 0x9e, 0x23, 0x50, 0xab, 0x12, 0x4e, 0xb2, 0x17 +db 0x4b, 0xb7, 0x17, 0x46, 0xbc, 0x16, 0x3f, 0xc1, 0x14, 0x39, 0xc3, 0x10 +db 0x32, 0xc4, 0xa, 0x31, 0xc9, 0xe, 0x2e, 0xcd, 0xe, 0x41, 0xd1, 0x23 +db 0x60, 0xd6, 0x45, 0x7e, 0xde, 0x68, 0x7e, 0xe2, 0x6c, 0x7c, 0xe4, 0x6b +db 0x77, 0xe4, 0x67, 0xba, 0xe8, 0xaa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8a, 0x9d, 0xff, 0x7, 0x2f +db 0xfe, 0x2, 0x28, 0xfc, 0x9, 0x2d, 0xf9, 0xc, 0x2d, 0xf5, 0x11, 0x2f +db 0xf4, 0x2d, 0x44, 0xf6, 0x6b, 0x7b, 0xfb, 0xb8, 0xbf, 0xfe, 0xef, 0xf2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xd3, 0xd8, 0xda, 0x88, 0x79, 0xe0, 0xa5, 0x96 +db 0xe3, 0xaa, 0x9b, 0xd6, 0x99, 0x7f, 0xba, 0x71, 0x43, 0xae, 0x6a, 0x34 +db 0x98, 0x66, 0x1d, 0x90, 0x6d, 0x1c, 0x95, 0x73, 0x24, 0x89, 0x77, 0x1d +db 0x86, 0x7d, 0x20, 0x88, 0x83, 0x26, 0x96, 0x94, 0x41, 0x95, 0x9c, 0x46 +db 0x90, 0xa0, 0x45, 0x94, 0xa4, 0x4b, 0xad, 0xb2, 0x6d, 0xb1, 0xb3, 0x71 +db 0x99, 0xaa, 0x54, 0x63, 0xa5, 0x1e, 0x52, 0xae, 0x16, 0x4e, 0xb3, 0x17 +db 0x4a, 0xb8, 0x17, 0x41, 0xbd, 0x13, 0x52, 0xbd, 0x23, 0x9c, 0xbf, 0x66 +db 0xa2, 0xc7, 0x73, 0x9e, 0xcc, 0x75, 0x9b, 0xcf, 0x74, 0x96, 0xd1, 0x71 +db 0x92, 0xd3, 0x6e, 0x8f, 0xd3, 0x6c, 0x9b, 0xd6, 0x7b, 0xa1, 0xd8, 0x81 +db 0x9e, 0xd8, 0x7f, 0xd5, 0xde, 0xba, 0xff, 0xf1, 0xf2, 0xff, 0xfd, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0xec, 0xff, 0xa2, 0xb2 +db 0xfe, 0x36, 0x55, 0xfa, 0x2, 0x23, 0xf7, 0x3, 0x25, 0xf4, 0xa, 0x28 +db 0xf1, 0xa, 0x25, 0xed, 0xd, 0x24, 0xeb, 0x1e, 0x30, 0xee, 0x54, 0x60 +db 0xf6, 0xa5, 0xac, 0xfc, 0xde, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xe9, 0xf1, 0xff, 0xdd, 0xe6, 0xfd, 0xf5, 0xf5, 0xff, 0xfd, 0xfe +db 0xff, 0xfa, 0xfc, 0xff, 0xfd, 0xff, 0xfc, 0xed, 0xec, 0xf7, 0xd8, 0xd4 +db 0xb0, 0x7e, 0x46, 0x8e, 0x6e, 0x1a, 0xae, 0x7f, 0x44, 0xb7, 0x8c, 0x55 +db 0x88, 0x7a, 0x1e, 0x7c, 0x82, 0x19, 0x75, 0x85, 0x16, 0x71, 0x89, 0x15 +db 0x6c, 0x8e, 0x14, 0x66, 0x94, 0x14, 0x60, 0x98, 0x12, 0x5b, 0x9e, 0x12 +db 0x58, 0xa3, 0x14, 0x57, 0xa9, 0x17, 0x53, 0xaf, 0x17, 0x4e, 0xb4, 0x17 +db 0x49, 0xb9, 0x16, 0x3c, 0xbe, 0xe, 0x7a, 0xbc, 0x45, 0xff, 0xc9, 0xce +db 0xff, 0xe7, 0xef, 0xff, 0xfb, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xfa, 0xff +db 0xff, 0xfa, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xfa, 0xff +db 0xff, 0xfa, 0xff, 0xff, 0xfa, 0xfe, 0xff, 0xfa, 0xfa, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xd4, 0xdb, 0xfc, 0x64, 0x7b, 0xf8, 0x16, 0x36, 0xf3, 0x4, 0x23 +db 0xf1, 0xe, 0x27, 0xed, 0x13, 0x29, 0xe9, 0x15, 0x26, 0xe4, 0x15, 0x23 +db 0xe3, 0x25, 0x2e, 0xe7, 0x4e, 0x53, 0xf1, 0xa4, 0xa6, 0xfa, 0xde, 0xdf +db 0xff, 0xf8, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xf9, 0xe3, 0xe1 +db 0xf3, 0xcb, 0xc9, 0xf8, 0xdf, 0xde, 0xff, 0xf7, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfb, 0xfb +db 0xbb, 0x8f, 0x60, 0x96, 0x72, 0x26, 0xad, 0x88, 0x4b, 0xf9, 0xcf, 0xcb +db 0xba, 0xa0, 0x6d, 0x7e, 0x81, 0x1a, 0x79, 0x88, 0x1b, 0x75, 0x8c, 0x1b +db 0x70, 0x92, 0x1a, 0x6b, 0x97, 0x1a, 0x65, 0x9b, 0x1a, 0x60, 0xa0, 0x19 +db 0x5c, 0xa5, 0x19, 0x57, 0xaa, 0x18, 0x52, 0xaf, 0x17, 0x4d, 0xb5, 0x17 +db 0x46, 0xba, 0x15, 0x3c, 0xbc, 0xc, 0x9c, 0xbc, 0x64, 0xff, 0xcf, 0xd4 +db 0xff, 0xf6, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xbc, 0xc5, 0xf7, 0x57, 0x6c +db 0xf1, 0x15, 0x2f, 0xec, 0xe, 0x23, 0xe9, 0x17, 0x28, 0xe5, 0x1d, 0x29 +db 0xe0, 0x1e, 0x26, 0xdb, 0x20, 0x21, 0xd7, 0x29, 0x27, 0xda, 0x43, 0x40 +db 0xe6, 0x7d, 0x7b, 0xee, 0xaf, 0xac, 0xe1, 0x8b, 0x82, 0xcc, 0x5b, 0x45 +db 0xbf, 0x4e, 0x2d, 0xc2, 0x5f, 0x3f, 0xcc, 0x7a, 0x5e, 0xe4, 0xb5, 0xa7 +db 0xf2, 0xdc, 0xd5, 0xf4, 0xe2, 0xdd, 0xff, 0xf9, 0xfa, 0xff, 0xf9, 0xfb +db 0xc0, 0x96, 0x6a, 0xa3, 0x7d, 0x3b, 0x9e, 0x7f, 0x37, 0xfc, 0xd9, 0xd7 +db 0xeb, 0xd7, 0xca, 0x89, 0x88, 0x2b, 0x76, 0x88, 0x18, 0x74, 0x8e, 0x1b +db 0x6f, 0x92, 0x1a, 0x6a, 0x97, 0x1a, 0x65, 0x9d, 0x1a, 0x60, 0xa2, 0x19 +db 0x5c, 0xa6, 0x19, 0x56, 0xab, 0x18, 0x51, 0xb1, 0x17, 0x4a, 0xb6, 0x15 +db 0x45, 0xb7, 0x12, 0x7c, 0xb8, 0x43, 0xe8, 0xc4, 0xb2, 0xff, 0xd3, 0xd6 +db 0xff, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8 +db 0xfb, 0xad, 0xb7, 0xf1, 0x41, 0x52, 0xe8, 0x14, 0x25, 0xe4, 0x1b, 0x26 +db 0xdf, 0x22, 0x28, 0xdc, 0x27, 0x29, 0xd9, 0x2c, 0x2a, 0xd5, 0x2e, 0x28 +db 0xd0, 0x31, 0x26, 0xca, 0x37, 0x25, 0xc2, 0x38, 0x1f, 0xbd, 0x3f, 0x1f +db 0xb8, 0x45, 0x21, 0xb3, 0x49, 0x1e, 0xac, 0x4c, 0x1b, 0xad, 0x57, 0x25 +db 0xae, 0x62, 0x2f, 0xaf, 0x6e, 0x39, 0xc5, 0x93, 0x6d, 0xd9, 0xb3, 0x9b +db 0xb9, 0x8b, 0x5a, 0xba, 0x8d, 0x5d, 0x94, 0x7c, 0x2b, 0xb9, 0x99, 0x65 +db 0xcc, 0xb9, 0x94, 0x90, 0x90, 0x37, 0x75, 0x88, 0x17, 0x73, 0x8f, 0x1b +db 0x6e, 0x94, 0x1b, 0x69, 0x99, 0x1a, 0x64, 0x9e, 0x1a, 0x5f, 0xa3, 0x19 +db 0x5b, 0xa7, 0x19, 0x56, 0xac, 0x18, 0x4e, 0xb2, 0x16, 0x48, 0xb3, 0x10 +db 0x8c, 0xb5, 0x4f, 0xf3, 0xc6, 0xbf, 0xff, 0xd7, 0xda, 0xff, 0xed, 0xed +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfd, 0xda, 0xde, 0xf2, 0x6e, 0x79, 0xe4, 0x20, 0x2b +db 0xdf, 0x21, 0x27, 0xdd, 0x29, 0x2b, 0xd8, 0x2d, 0x2a, 0xd1, 0x30, 0x26 +db 0xcd, 0x35, 0x25, 0xc7, 0x38, 0x24, 0xc3, 0x3e, 0x24, 0xbe, 0x43, 0x25 +db 0xb9, 0x48, 0x24, 0xb4, 0x4e, 0x23, 0xae, 0x52, 0x22, 0xa9, 0x56, 0x20 +db 0xa4, 0x5a, 0x1e, 0x9e, 0x5e, 0x1c, 0x98, 0x62, 0x19, 0x99, 0x6b, 0x21 +db 0x96, 0x73, 0x26, 0x96, 0x7a, 0x2c, 0x88, 0x79, 0x1d, 0x80, 0x7b, 0x17 +db 0x7e, 0x7f, 0x19, 0x7c, 0x86, 0x1c, 0x77, 0x8a, 0x1c, 0x73, 0x90, 0x1b +db 0x6d, 0x95, 0x1b, 0x68, 0x99, 0x1a, 0x63, 0x9f, 0x1a, 0x5e, 0xa4, 0x19 +db 0x5a, 0xa8, 0x18, 0x52, 0xae, 0x17, 0x4e, 0xaf, 0x13, 0x8f, 0xb2, 0x50 +db 0xf5, 0xc6, 0xbf, 0xff, 0xdb, 0xe0, 0xff, 0xfa, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf1, 0xf2, 0xf4, 0x92, 0x99 +db 0xe3, 0x35, 0x3b, 0xd9, 0x23, 0x23, 0xd4, 0x29, 0x24, 0xcf, 0x2f, 0x23 +db 0xcb, 0x35, 0x25, 0xc7, 0x3a, 0x26, 0xc2, 0x3f, 0x24, 0xbd, 0x45, 0x24 +db 0xb8, 0x4a, 0x24, 0xb3, 0x4e, 0x23, 0xad, 0x53, 0x22, 0xa9, 0x59, 0x22 +db 0xa5, 0x5d, 0x22, 0xa0, 0x62, 0x21, 0x9a, 0x67, 0x20, 0x94, 0x6b, 0x1d +db 0x8f, 0x70, 0x1d, 0x8a, 0x75, 0x1c, 0x86, 0x7b, 0x1d, 0x82, 0x7f, 0x1d +db 0x7e, 0x82, 0x1c, 0x7a, 0x86, 0x1c, 0x76, 0x8c, 0x1c, 0x72, 0x90, 0x1b +db 0x6c, 0x95, 0x1b, 0x67, 0x9a, 0x1a, 0x62, 0x9f, 0x1a, 0x5d, 0xa4, 0x18 +db 0x57, 0xaa, 0x17, 0x4e, 0xab, 0x11, 0x87, 0xad, 0x45, 0xf5, 0xc5, 0xbe +db 0xff, 0xd8, 0xdd, 0xff, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xc4, 0xc8 +db 0xe0, 0x2e, 0x34, 0xe9, 0x72, 0x73, 0xf0, 0x9a, 0x9a, 0xdc, 0x51, 0x49 +db 0xcb, 0x31, 0x21, 0xc6, 0x38, 0x22, 0xc1, 0x41, 0x25, 0xbc, 0x45, 0x24 +db 0xb8, 0x4a, 0x24, 0xb3, 0x4f, 0x23, 0xad, 0x54, 0x22, 0xa8, 0x59, 0x22 +db 0xa4, 0x5d, 0x21, 0x9f, 0x63, 0x20, 0x9a, 0x68, 0x20, 0x95, 0x6d, 0x1f +db 0x90, 0x72, 0x1e, 0x8b, 0x77, 0x1e, 0x86, 0x7b, 0x1e, 0x82, 0x80, 0x1d +db 0x7e, 0x83, 0x1d, 0x7a, 0x87, 0x1c, 0x75, 0x8c, 0x1c, 0x71, 0x91, 0x1b +db 0x6c, 0x96, 0x1a, 0x65, 0x9b, 0x1a, 0x61, 0xa0, 0x19, 0x5d, 0xa5, 0x19 +db 0x60, 0xa4, 0x1c, 0x8e, 0xaa, 0x49, 0xec, 0xc1, 0xb3, 0xff, 0xd7, 0xe0 +db 0xff, 0xf7, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xb2, 0xb7 +db 0xe4, 0x36, 0x3e, 0xf8, 0x51, 0x66, 0xff, 0x58, 0x73, 0xfc, 0x5a, 0x70 +db 0xed, 0x98, 0x97, 0xce, 0x52, 0x41, 0xc0, 0x3f, 0x21, 0xbb, 0x46, 0x24 +db 0xb7, 0x4b, 0x24, 0xb2, 0x50, 0x23, 0xac, 0x55, 0x22, 0xa7, 0x5a, 0x22 +db 0xa2, 0x5e, 0x21, 0x9d, 0x64, 0x20, 0x98, 0x69, 0x20, 0x93, 0x6e, 0x1f +db 0x8f, 0x73, 0x1f, 0x8a, 0x77, 0x1e, 0x85, 0x7c, 0x1e, 0x81, 0x81, 0x1d +db 0x7e, 0x84, 0x1c, 0x7a, 0x88, 0x1c, 0x74, 0x8d, 0x1b, 0x70, 0x92, 0x1a +db 0x6b, 0x97, 0x1a, 0x65, 0x9c, 0x1a, 0x60, 0xa1, 0x19, 0x63, 0xa2, 0x1c +db 0x6c, 0xa1, 0x24, 0x85, 0xae, 0x44, 0x90, 0xb7, 0x55, 0x98, 0xc4, 0x6a +db 0xa7, 0xd2, 0x86, 0xce, 0xdf, 0xb7, 0xd0, 0xe3, 0xbb, 0xcd, 0xe4, 0xb9 +db 0xda, 0xe7, 0xc7, 0xf5, 0xf5, 0xed, 0xfb, 0xf8, 0xf5, 0xff, 0xfd, 0xff +db 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff +db 0xff, 0xfd, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf5, 0xf6 +db 0xfb, 0x95, 0xa3, 0xff, 0x2, 0x24, 0xff, 0x2, 0x1b, 0xff, 0x17, 0x41 +db 0xfd, 0xa3, 0xb0, 0xd6, 0x6a, 0x5a, 0xbe, 0x3e, 0x1f, 0xba, 0x47, 0x24 +db 0xb6, 0x4c, 0x24, 0xb1, 0x51, 0x23, 0xab, 0x56, 0x22, 0xa7, 0x5b, 0x22 +db 0xa2, 0x5f, 0x21, 0x9d, 0x64, 0x21, 0x98, 0x6a, 0x20, 0x93, 0x6f, 0x1f +db 0x8d, 0x74, 0x1f, 0x89, 0x78, 0x1e, 0x84, 0x7d, 0x1d, 0x7f, 0x81, 0x1c +db 0x7b, 0x85, 0x1b, 0x77, 0x89, 0x1b, 0x73, 0x8e, 0x1a, 0x6d, 0x93, 0x19 +db 0x68, 0x98, 0x19, 0x64, 0x9d, 0x1a, 0x5f, 0xa2, 0x19, 0x5a, 0xa7, 0x18 +db 0x54, 0xac, 0x17, 0x4b, 0xb0, 0x12, 0x44, 0xb5, 0xf, 0x40, 0xb8, 0xd +db 0x40, 0xbd, 0x10, 0x44, 0xc2, 0x1a, 0x40, 0xc7, 0x1a, 0x3b, 0xcb, 0x18 +db 0x46, 0xce, 0x26, 0x56, 0xd6, 0x3c, 0x69, 0xd8, 0x50, 0x88, 0xe0, 0x74 +db 0x86, 0xe4, 0x75, 0x83, 0xe6, 0x74, 0x82, 0xe8, 0x74, 0x7f, 0xea, 0x73 +db 0x7d, 0xeb, 0x73, 0x79, 0xed, 0x70, 0x9d, 0xeb, 0x91, 0xc5, 0xee, 0xbb +db 0xc0, 0xf0, 0xb6, 0xd8, 0xf2, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xe8, 0xed, 0xff, 0x76, 0x8d, 0xfa, 0x40, 0x58, 0xea, 0x2b, 0x39 +db 0xd8, 0x3d, 0x37, 0xc4, 0x3e, 0x26, 0xbe, 0x43, 0x24, 0xb9, 0x48, 0x23 +db 0xb4, 0x4d, 0x23, 0xaf, 0x52, 0x22, 0xaa, 0x57, 0x22, 0xa5, 0x5b, 0x22 +db 0xa1, 0x61, 0x21, 0x9b, 0x65, 0x21, 0x96, 0x6a, 0x1f, 0x91, 0x70, 0x1e +db 0x8b, 0x74, 0x1d, 0x84, 0x77, 0x19, 0x80, 0x7a, 0x16, 0x80, 0x7c, 0x19 +db 0x7b, 0x81, 0x18, 0x78, 0x85, 0x17, 0x73, 0x8a, 0x17, 0x6e, 0x8f, 0x17 +db 0x68, 0x94, 0x14, 0x5d, 0x9b, 0x11, 0x58, 0xa0, 0x10, 0x52, 0xa5, 0x10 +db 0x4d, 0xaa, 0xe, 0x48, 0xb0, 0xe, 0x43, 0xb5, 0xd, 0x3f, 0xba, 0xd +db 0x39, 0xc0, 0xc, 0x31, 0xc5, 0xa, 0x2d, 0xcb, 0xc, 0x2a, 0xd0, 0xd +db 0x23, 0xd5, 0xa, 0x1c, 0xd9, 0x7, 0x17, 0xde, 0x6, 0x12, 0xe1, 0x4 +db 0xd, 0xe5, 0x3, 0x9, 0xe9, 0x2, 0x6, 0xee, 0x2, 0x2, 0xf1, 0x2 +db 0x2, 0xf4, 0x4, 0x2, 0xf7, 0x4, 0x7, 0xf7, 0xc, 0xc, 0xf9, 0x11 +db 0x16, 0xf0, 0x14, 0xb4, 0xe3, 0x9e, 0xff, 0xf8, 0xfb, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xc7, 0xc7, 0xdc, 0x64, 0x5b +db 0xcd, 0x43, 0x33, 0xc2, 0x39, 0x20, 0xbb, 0x3d, 0x1c, 0xb6, 0x43, 0x1d +db 0xb2, 0x4b, 0x1f, 0xac, 0x50, 0x1e, 0xa8, 0x55, 0x1e, 0xa2, 0x5a, 0x1d +db 0x9d, 0x5f, 0x1b, 0x98, 0x61, 0x19, 0x95, 0x67, 0x1b, 0x8f, 0x6b, 0x1a +db 0x90, 0x72, 0x1f, 0xa0, 0x81, 0x39, 0xb4, 0x92, 0x58, 0xcb, 0xa8, 0x81 +db 0xcd, 0xae, 0x88, 0xcb, 0xaf, 0x87, 0xca, 0xb1, 0x87, 0xc9, 0xb3, 0x89 +db 0xb7, 0xad, 0x72, 0x99, 0xaa, 0x53, 0x95, 0xaf, 0x54, 0x92, 0xb1, 0x54 +db 0x90, 0xb4, 0x53, 0x8d, 0xb8, 0x53, 0x89, 0xbb, 0x53, 0x85, 0xbe, 0x52 +db 0x82, 0xbd, 0x4d, 0x80, 0xc0, 0x4d, 0x66, 0xc1, 0x39, 0x49, 0xc8, 0x23 +db 0x47, 0xcb, 0x24, 0x43, 0xcf, 0x24, 0x40, 0xd4, 0x23, 0x3c, 0xd7, 0x22 +db 0x38, 0xdc, 0x22, 0x34, 0xe0, 0x23, 0x32, 0xe3, 0x23, 0x2c, 0xe6, 0x20 +db 0x12, 0xed, 0xe, 0x7, 0xf4, 0x9, 0x2, 0xf7, 0x7, 0x2, 0xf7, 0x4 +db 0x62, 0xdd, 0x4a, 0xf3, 0xcd, 0xc5, 0xff, 0xe1, 0xe4, 0xff, 0xfd, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf5, 0xf6 +db 0xf5, 0xcc, 0xcb, 0xe9, 0xa9, 0xa1, 0xd6, 0x77, 0x65, 0xca, 0x65, 0x4a +db 0xbd, 0x57, 0x32, 0xb8, 0x5b, 0x31, 0xb4, 0x60, 0x32, 0xaf, 0x63, 0x2f +db 0xb3, 0x6d, 0x3b, 0xc1, 0x83, 0x59, 0xd5, 0x9a, 0x7d, 0xd4, 0xa0, 0x81 +db 0xdd, 0xad, 0x95, 0xf7, 0xc7, 0xc1, 0xff, 0xe3, 0xe5, 0xff, 0xfa, 0xfd +db 0xff, 0xfc, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xfb, 0xff +db 0xff, 0xf9, 0xfd, 0xff, 0xf7, 0xf9, 0xff, 0xf7, 0xfa, 0xff, 0xf7, 0xfa +db 0xff, 0xf7, 0xfa, 0xff, 0xf7, 0xfa, 0xff, 0xf7, 0xfa, 0xff, 0xf6, 0xf9 +db 0xff, 0xe9, 0xec, 0xff, 0xe7, 0xeb, 0xf5, 0xe4, 0xdb, 0xe9, 0xd9, 0xc4 +db 0xe9, 0xd7, 0xc3, 0xe9, 0xd8, 0xc4, 0xe8, 0xd9, 0xc3, 0xe7, 0xd9, 0xc3 +db 0xe7, 0xd5, 0xbf, 0xe6, 0xcf, 0xb9, 0xe8, 0xd0, 0xbb, 0xdf, 0xd0, 0xb3 +db 0xaf, 0xd4, 0x8a, 0xa1, 0xd8, 0x80, 0xa0, 0xda, 0x80, 0xa7, 0xd8, 0x86 +db 0xee, 0xcf, 0xc0, 0xff, 0xda, 0xdf, 0xff, 0xf9, 0xf9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfc, 0xee, 0xed +db 0xf7, 0xd7, 0xd3, 0xf6, 0xd7, 0xd2, 0xf6, 0xd7, 0xd3, 0xf5, 0xd7, 0xd2 +db 0xf9, 0xdd, 0xd9, 0xff, 0xe9, 0xea, 0xff, 0xec, 0xef, 0xff, 0xee, 0xf1 +db 0xff, 0xfa, 0xfd, 0xff, 0xfb, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfc, 0xff, 0xff, 0xf8, 0xfc, 0xff, 0xf8, 0xfc, 0xff, 0xf8, 0xfd +db 0xff, 0xf7, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xf6, 0xff, 0xff, 0xf7, 0xff +db 0xff, 0xf7, 0xfb, 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/plane01.inc b/programs/games/hunter/trunk/inc/plane01.inc new file mode 100644 index 0000000000..3ab3d2ed1e --- /dev/null +++ b/programs/games/hunter/trunk/inc/plane01.inc @@ -0,0 +1,417 @@ +dw 64, 26 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf6, 0xee, 0xac, 0xd0, 0x8a +db 0x91, 0xcb, 0x6b, 0xb8, 0xd0, 0x94, 0xfd, 0xf9, 0xf9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf7, 0xdc, 0xd7, 0xbb, 0x4a, 0xbc, 0x1c +db 0x34, 0xbc, 0x4, 0x5a, 0xb5, 0x24, 0xdf, 0xe1, 0xc7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xe5, 0xe9, 0xed, 0xc3, 0xb5, 0x64, 0xbb, 0x31 +db 0x3c, 0xc0, 0x10, 0x41, 0xb8, 0xe, 0xa0, 0xc1, 0x72, 0xff, 0xfa, 0xfb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf2, 0xf7, 0xc8, 0xc1, 0x6e, 0xba, 0x39 +db 0x3c, 0xc0, 0x10, 0x41, 0xbb, 0x11, 0x68, 0xb4, 0x30, 0xe8, 0xe5, 0xd3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf2, 0xf4, 0xfc, 0xcb, 0xcb, 0x98, 0xb9, 0x5e +db 0x3f, 0xc0, 0x12, 0x43, 0xbd, 0x14, 0x47, 0xb4, 0x10, 0xae, 0xc7, 0x83 +db 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfa, 0xff, 0xd2, 0xd8, 0xc2, 0xc0, 0x8b +db 0x45, 0xbf, 0x18, 0x41, 0xbe, 0x14, 0x44, 0xb7, 0x10, 0x6f, 0xb6, 0x38 +db 0xeb, 0xe9, 0xd9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xdd, 0xe1, 0xeb, 0xc5, 0xb5 +db 0x58, 0xbe, 0x29, 0x3e, 0xbf, 0x12, 0x48, 0xb9, 0x16, 0x49, 0xb2, 0x10 +db 0x9b, 0xbb, 0x66, 0xfb, 0xf5, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xf3, 0xf5, 0xc6, 0xbe +db 0x5d, 0xbe, 0x2e, 0x3d, 0xc0, 0x11, 0x47, 0xba, 0x16, 0x49, 0xb5, 0x13 +db 0x59, 0xac, 0x1c, 0xcc, 0xd0, 0xa8, 0xfb, 0xf5, 0xf2, 0xf7, 0xf3, 0xed +db 0xf6, 0xf3, 0xed, 0xef, 0xe9, 0xdd, 0xd8, 0xcf, 0xb1, 0xd4, 0xcb, 0xac +db 0xd5, 0xc9, 0xac, 0xd6, 0xc6, 0xa9, 0xde, 0xcc, 0xb6, 0xfc, 0xf8, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff +db 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfd, 0xff, 0xfa, 0xf7, 0xf4 +db 0xe2, 0xec, 0xd2, 0xca, 0xe4, 0xb6, 0xc5, 0xd9, 0xa8, 0xb5, 0xbf, 0x7d +db 0x64, 0xbb, 0x31, 0x3e, 0xc0, 0x12, 0x47, 0xbb, 0x16, 0x4b, 0xb6, 0x16 +db 0x4d, 0xb1, 0x14, 0x77, 0xae, 0x3a, 0x84, 0xae, 0x45, 0x7e, 0xa9, 0x3e +db 0x90, 0xa8, 0x4c, 0x90, 0xa1, 0x45, 0x88, 0x93, 0x32, 0xa8, 0x9a, 0x56 +db 0xaf, 0x9e, 0x60, 0xaf, 0x9f, 0x61, 0xc3, 0xab, 0x7f, 0xfe, 0xf8, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf1, 0xf0, 0xfa, 0xee, 0xec +db 0xfe, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xba, 0xe8, 0xaa, 0x77, 0xe4, 0x67 +db 0x7c, 0xe4, 0x6b, 0x7e, 0xe2, 0x6c, 0x7e, 0xde, 0x68, 0x60, 0xd6, 0x45 +db 0x41, 0xd1, 0x23, 0x2e, 0xcd, 0xe, 0x31, 0xc9, 0xe, 0x32, 0xc4, 0xa +db 0x39, 0xc3, 0x10, 0x3f, 0xc1, 0x14, 0x46, 0xbc, 0x16, 0x4b, 0xb7, 0x17 +db 0x4e, 0xb2, 0x17, 0x50, 0xab, 0x12, 0x6e, 0x9e, 0x23, 0xab, 0xa7, 0x61 +db 0xda, 0xbb, 0x9d, 0xe3, 0xc0, 0xac, 0xdb, 0xbf, 0xa3, 0xf3, 0xd1, 0xca +db 0xf8, 0xdb, 0xd8, 0xf2, 0xe0, 0xd9, 0xdf, 0xc9, 0xb4, 0xdf, 0xcd, 0xb8 +db 0xe1, 0xce, 0xba, 0xe3, 0xcd, 0xbb, 0xd2, 0xb2, 0x94, 0xc3, 0x9f, 0x75 +db 0xc5, 0x9c, 0x75, 0xc7, 0x95, 0x71, 0xbb, 0x74, 0x49, 0xbf, 0x6f, 0x48 +db 0xd5, 0x8c, 0x77, 0xf1, 0xcc, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfe, 0xd7, 0xdc +db 0xfd, 0xb2, 0xbc, 0xfd, 0xb0, 0xbc, 0xfe, 0xb0, 0xbd, 0xff, 0xaf, 0xbc +db 0xff, 0xac, 0xb9, 0xff, 0xd7, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfd, 0xfd, 0xff, 0xf1, 0xf2, 0xd5, 0xde, 0xba, 0x9e, 0xd8, 0x7f +db 0xa1, 0xd8, 0x81, 0x9b, 0xd6, 0x7b, 0x8f, 0xd3, 0x6c, 0x92, 0xd3, 0x6e +db 0x96, 0xd1, 0x71, 0x9b, 0xcf, 0x74, 0x9e, 0xcc, 0x75, 0xa2, 0xc7, 0x73 +db 0x9c, 0xbf, 0x66, 0x52, 0xbd, 0x23, 0x41, 0xbd, 0x13, 0x4a, 0xb8, 0x17 +db 0x4e, 0xb3, 0x17, 0x52, 0xae, 0x16, 0x63, 0xa5, 0x1e, 0x99, 0xaa, 0x54 +db 0xb1, 0xb3, 0x71, 0xad, 0xb2, 0x6d, 0x94, 0xa4, 0x4b, 0x90, 0xa0, 0x45 +db 0x95, 0x9c, 0x46, 0x96, 0x94, 0x41, 0x88, 0x83, 0x26, 0x86, 0x7d, 0x20 +db 0x89, 0x77, 0x1d, 0x95, 0x73, 0x24, 0x90, 0x6d, 0x1c, 0x98, 0x66, 0x1d +db 0xae, 0x6a, 0x34, 0xba, 0x71, 0x43, 0xd6, 0x99, 0x7f, 0xe3, 0xaa, 0x9b +db 0xe0, 0xa5, 0x96, 0xda, 0x88, 0x79, 0xfa, 0xd3, 0xd8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xef, 0xf2, 0xfb, 0xb8, 0xbf, 0xf6, 0x6b, 0x7b, 0xf4, 0x2d, 0x44 +db 0xf5, 0x11, 0x2f, 0xf9, 0xc, 0x2d, 0xfc, 0x9, 0x2d, 0xfe, 0x2, 0x28 +db 0xff, 0x7, 0x2f, 0xff, 0x8a, 0x9d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xfa, 0xfa, 0xff, 0xfa, 0xfe, 0xff, 0xfa, 0xff +db 0xff, 0xfa, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xfa, 0xff +db 0xff, 0xfa, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xe7, 0xef +db 0xff, 0xc9, 0xce, 0x7a, 0xbc, 0x45, 0x3c, 0xbe, 0xe, 0x49, 0xb9, 0x16 +db 0x4e, 0xb4, 0x17, 0x53, 0xaf, 0x17, 0x57, 0xa9, 0x17, 0x58, 0xa3, 0x14 +db 0x5b, 0x9e, 0x12, 0x60, 0x98, 0x12, 0x66, 0x94, 0x14, 0x6c, 0x8e, 0x14 +db 0x71, 0x89, 0x15, 0x75, 0x85, 0x16, 0x7c, 0x82, 0x19, 0x88, 0x7a, 0x1e +db 0xb7, 0x8c, 0x55, 0xae, 0x7f, 0x44, 0x8e, 0x6e, 0x1a, 0xb0, 0x7e, 0x46 +db 0xf7, 0xd8, 0xd4, 0xfc, 0xed, 0xec, 0xff, 0xfd, 0xff, 0xff, 0xfa, 0xfc +db 0xff, 0xfd, 0xfe, 0xfd, 0xf5, 0xf5, 0xff, 0xdd, 0xe6, 0xff, 0xe9, 0xf1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xde, 0xe1, 0xf6, 0xa5, 0xac +db 0xee, 0x54, 0x60, 0xeb, 0x1e, 0x30, 0xed, 0xd, 0x24, 0xf1, 0xa, 0x25 +db 0xf4, 0xa, 0x28, 0xf7, 0x3, 0x25, 0xfa, 0x2, 0x23, 0xfe, 0x36, 0x55 +db 0xff, 0xa2, 0xb2, 0xff, 0xe8, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf8 +db 0xff, 0xcf, 0xd4, 0x9c, 0xbc, 0x64, 0x3c, 0xbc, 0xc, 0x46, 0xba, 0x15 +db 0x4d, 0xb5, 0x17, 0x52, 0xaf, 0x17, 0x57, 0xaa, 0x18, 0x5c, 0xa5, 0x19 +db 0x60, 0xa0, 0x19, 0x65, 0x9b, 0x1a, 0x6b, 0x97, 0x1a, 0x70, 0x92, 0x1a +db 0x75, 0x8c, 0x1b, 0x79, 0x88, 0x1b, 0x7e, 0x81, 0x1a, 0xba, 0xa0, 0x6d +db 0xf9, 0xcf, 0xcb, 0xad, 0x88, 0x4b, 0x96, 0x72, 0x26, 0xbb, 0x8f, 0x60 +db 0xfe, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf8, 0xf8, 0xdf, 0xde, 0xf3, 0xcb, 0xc9 +db 0xf9, 0xe3, 0xe1, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xfa +db 0xfa, 0xde, 0xdf, 0xf1, 0xa4, 0xa6, 0xe7, 0x4e, 0x53, 0xe3, 0x25, 0x2e +db 0xe4, 0x15, 0x23, 0xe9, 0x15, 0x26, 0xed, 0x13, 0x29, 0xf1, 0xe, 0x27 +db 0xf3, 0x4, 0x23, 0xf8, 0x16, 0x36, 0xfc, 0x64, 0x7b, 0xff, 0xd4, 0xdb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb +db 0xff, 0xd3, 0xd6, 0xe8, 0xc4, 0xb2, 0x7c, 0xb8, 0x43, 0x45, 0xb7, 0x12 +db 0x4a, 0xb6, 0x15, 0x51, 0xb1, 0x17, 0x56, 0xab, 0x18, 0x5c, 0xa6, 0x19 +db 0x60, 0xa2, 0x19, 0x65, 0x9d, 0x1a, 0x6a, 0x97, 0x1a, 0x6f, 0x92, 0x1a +db 0x74, 0x8e, 0x1b, 0x76, 0x88, 0x18, 0x89, 0x88, 0x2b, 0xeb, 0xd7, 0xca +db 0xfc, 0xd9, 0xd7, 0x9e, 0x7f, 0x37, 0xa3, 0x7d, 0x3b, 0xc0, 0x96, 0x6a +db 0xff, 0xf9, 0xfb, 0xff, 0xf9, 0xfa, 0xf4, 0xe2, 0xdd, 0xf2, 0xdc, 0xd5 +db 0xe4, 0xb5, 0xa7, 0xcc, 0x7a, 0x5e, 0xc2, 0x5f, 0x3f, 0xbf, 0x4e, 0x2d +db 0xcc, 0x5b, 0x45, 0xe1, 0x8b, 0x82, 0xee, 0xaf, 0xac, 0xe6, 0x7d, 0x7b +db 0xda, 0x43, 0x40, 0xd7, 0x29, 0x27, 0xdb, 0x20, 0x21, 0xe0, 0x1e, 0x26 +db 0xe5, 0x1d, 0x29, 0xe9, 0x17, 0x28, 0xec, 0xe, 0x23, 0xf1, 0x15, 0x2f +db 0xf7, 0x57, 0x6c, 0xfd, 0xbc, 0xc5, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xed, 0xed, 0xff, 0xd7, 0xda, 0xf3, 0xc6, 0xbf, 0x8c, 0xb5, 0x4f +db 0x48, 0xb3, 0x10, 0x4e, 0xb2, 0x16, 0x56, 0xac, 0x18, 0x5b, 0xa7, 0x19 +db 0x5f, 0xa3, 0x19, 0x64, 0x9e, 0x1a, 0x69, 0x99, 0x1a, 0x6e, 0x94, 0x1b +db 0x73, 0x8f, 0x1b, 0x75, 0x88, 0x17, 0x90, 0x90, 0x37, 0xcc, 0xb9, 0x94 +db 0xb9, 0x99, 0x65, 0x94, 0x7c, 0x2b, 0xba, 0x8d, 0x5d, 0xb9, 0x8b, 0x5a +db 0xd9, 0xb3, 0x9b, 0xc5, 0x93, 0x6d, 0xaf, 0x6e, 0x39, 0xae, 0x62, 0x2f +db 0xad, 0x57, 0x25, 0xac, 0x4c, 0x1b, 0xb3, 0x49, 0x1e, 0xb8, 0x45, 0x21 +db 0xbd, 0x3f, 0x1f, 0xc2, 0x38, 0x1f, 0xca, 0x37, 0x25, 0xd0, 0x31, 0x26 +db 0xd5, 0x2e, 0x28, 0xd9, 0x2c, 0x2a, 0xdc, 0x27, 0x29, 0xdf, 0x22, 0x28 +db 0xe4, 0x1b, 0x26, 0xe8, 0x14, 0x25, 0xf1, 0x41, 0x52, 0xfb, 0xad, 0xb7 +db 0xff, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xff, 0xdb, 0xe0, 0xf5, 0xc6, 0xbf +db 0x8f, 0xb2, 0x50, 0x4e, 0xaf, 0x13, 0x52, 0xae, 0x17, 0x5a, 0xa8, 0x18 +db 0x5e, 0xa4, 0x19, 0x63, 0x9f, 0x1a, 0x68, 0x99, 0x1a, 0x6d, 0x95, 0x1b +db 0x73, 0x90, 0x1b, 0x77, 0x8a, 0x1c, 0x7c, 0x86, 0x1c, 0x7e, 0x7f, 0x19 +db 0x80, 0x7b, 0x17, 0x88, 0x79, 0x1d, 0x96, 0x7a, 0x2c, 0x96, 0x73, 0x26 +db 0x99, 0x6b, 0x21, 0x98, 0x62, 0x19, 0x9e, 0x5e, 0x1c, 0xa4, 0x5a, 0x1e +db 0xa9, 0x56, 0x20, 0xae, 0x52, 0x22, 0xb4, 0x4e, 0x23, 0xb9, 0x48, 0x24 +db 0xbe, 0x43, 0x25, 0xc3, 0x3e, 0x24, 0xc7, 0x38, 0x24, 0xcd, 0x35, 0x25 +db 0xd1, 0x30, 0x26, 0xd8, 0x2d, 0x2a, 0xdd, 0x29, 0x2b, 0xdf, 0x21, 0x27 +db 0xe4, 0x20, 0x2b, 0xf2, 0x6e, 0x79, 0xfd, 0xda, 0xde, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xff, 0xd8, 0xdd +db 0xf5, 0xc5, 0xbe, 0x87, 0xad, 0x45, 0x4e, 0xab, 0x11, 0x57, 0xaa, 0x17 +db 0x5d, 0xa4, 0x18, 0x62, 0x9f, 0x1a, 0x67, 0x9a, 0x1a, 0x6c, 0x95, 0x1b +db 0x72, 0x90, 0x1b, 0x76, 0x8c, 0x1c, 0x7a, 0x86, 0x1c, 0x7e, 0x82, 0x1c +db 0x82, 0x7f, 0x1d, 0x86, 0x7b, 0x1d, 0x8a, 0x75, 0x1c, 0x8f, 0x70, 0x1d +db 0x94, 0x6b, 0x1d, 0x9a, 0x67, 0x20, 0xa0, 0x62, 0x21, 0xa5, 0x5d, 0x22 +db 0xa9, 0x59, 0x22, 0xad, 0x53, 0x22, 0xb3, 0x4e, 0x23, 0xb8, 0x4a, 0x24 +db 0xbd, 0x45, 0x24, 0xc2, 0x3f, 0x24, 0xc7, 0x3a, 0x26, 0xcb, 0x35, 0x25 +db 0xcf, 0x2f, 0x23, 0xd4, 0x29, 0x24, 0xd9, 0x23, 0x23, 0xe3, 0x35, 0x3b +db 0xf4, 0x92, 0x99, 0xfe, 0xf1, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xfd +db 0xff, 0xd7, 0xe0, 0xec, 0xc1, 0xb3, 0x8e, 0xaa, 0x49, 0x60, 0xa4, 0x1c +db 0x5d, 0xa5, 0x19, 0x61, 0xa0, 0x19, 0x65, 0x9b, 0x1a, 0x6c, 0x96, 0x1a +db 0x71, 0x91, 0x1b, 0x75, 0x8c, 0x1c, 0x7a, 0x87, 0x1c, 0x7e, 0x83, 0x1d +db 0x82, 0x80, 0x1d, 0x86, 0x7b, 0x1e, 0x8b, 0x77, 0x1e, 0x90, 0x72, 0x1e +db 0x95, 0x6d, 0x1f, 0x9a, 0x68, 0x20, 0x9f, 0x63, 0x20, 0xa4, 0x5d, 0x21 +db 0xa8, 0x59, 0x22, 0xad, 0x54, 0x22, 0xb3, 0x4f, 0x23, 0xb8, 0x4a, 0x24 +db 0xbc, 0x45, 0x24, 0xc1, 0x41, 0x25, 0xc6, 0x38, 0x22, 0xcb, 0x31, 0x21 +db 0xdc, 0x51, 0x49, 0xf0, 0x9a, 0x9a, 0xe9, 0x72, 0x73, 0xe0, 0x2e, 0x34 +db 0xf9, 0xc4, 0xc8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xfd, 0xff +db 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff +db 0xff, 0xfd, 0xff, 0xfb, 0xf8, 0xf5, 0xf5, 0xf5, 0xed, 0xda, 0xe7, 0xc7 +db 0xcd, 0xe4, 0xb9, 0xd0, 0xe3, 0xbb, 0xce, 0xdf, 0xb7, 0xa7, 0xd2, 0x86 +db 0x98, 0xc4, 0x6a, 0x90, 0xb7, 0x55, 0x85, 0xae, 0x44, 0x6c, 0xa1, 0x24 +db 0x63, 0xa2, 0x1c, 0x60, 0xa1, 0x19, 0x65, 0x9c, 0x1a, 0x6b, 0x97, 0x1a +db 0x70, 0x92, 0x1a, 0x74, 0x8d, 0x1b, 0x7a, 0x88, 0x1c, 0x7e, 0x84, 0x1c +db 0x81, 0x81, 0x1d, 0x85, 0x7c, 0x1e, 0x8a, 0x77, 0x1e, 0x8f, 0x73, 0x1f +db 0x93, 0x6e, 0x1f, 0x98, 0x69, 0x20, 0x9d, 0x64, 0x20, 0xa2, 0x5e, 0x21 +db 0xa7, 0x5a, 0x22, 0xac, 0x55, 0x22, 0xb2, 0x50, 0x23, 0xb7, 0x4b, 0x24 +db 0xbb, 0x46, 0x24, 0xc0, 0x3f, 0x21, 0xce, 0x52, 0x41, 0xed, 0x98, 0x97 +db 0xfc, 0x5a, 0x70, 0xff, 0x58, 0x73, 0xf8, 0x51, 0x66, 0xe4, 0x36, 0x3e +db 0xf6, 0xb2, 0xb7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0xf2, 0xcf, 0xc0, 0xf0, 0xb6 +db 0xc5, 0xee, 0xbb, 0x9d, 0xeb, 0x91, 0x79, 0xed, 0x70, 0x7d, 0xeb, 0x73 +db 0x7f, 0xea, 0x73, 0x82, 0xe8, 0x74, 0x83, 0xe6, 0x74, 0x86, 0xe4, 0x75 +db 0x88, 0xe0, 0x74, 0x69, 0xd8, 0x50, 0x56, 0xd6, 0x3c, 0x46, 0xce, 0x26 +db 0x3b, 0xcb, 0x18, 0x40, 0xc7, 0x1a, 0x44, 0xc2, 0x1a, 0x40, 0xbd, 0x10 +db 0x40, 0xb8, 0xd, 0x44, 0xb5, 0xf, 0x4b, 0xb0, 0x12, 0x54, 0xac, 0x17 +db 0x5a, 0xa7, 0x18, 0x5f, 0xa2, 0x19, 0x64, 0x9d, 0x1a, 0x68, 0x98, 0x19 +db 0x6d, 0x93, 0x19, 0x73, 0x8e, 0x1a, 0x77, 0x89, 0x1b, 0x7b, 0x85, 0x1b +db 0x7f, 0x81, 0x1c, 0x84, 0x7d, 0x1d, 0x89, 0x78, 0x1e, 0x8d, 0x74, 0x1f +db 0x93, 0x6f, 0x1f, 0x98, 0x6a, 0x20, 0x9d, 0x64, 0x21, 0xa2, 0x5f, 0x21 +db 0xa7, 0x5b, 0x22, 0xab, 0x56, 0x22, 0xb1, 0x51, 0x23, 0xb6, 0x4c, 0x24 +db 0xba, 0x47, 0x24, 0xbe, 0x3e, 0x1f, 0xd6, 0x6a, 0x5a, 0xfd, 0xa3, 0xb0 +db 0xff, 0x17, 0x41, 0xff, 0x2, 0x1b, 0xff, 0x2, 0x24, 0xfb, 0x95, 0xa3 +db 0xfe, 0xf5, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xf8, 0xfb, 0xb4, 0xe3, 0x9e, 0x16, 0xf0, 0x14 +db 0xc, 0xf9, 0x11, 0x7, 0xf7, 0xc, 0x2, 0xf7, 0x4, 0x2, 0xf4, 0x4 +db 0x2, 0xf1, 0x2, 0x6, 0xee, 0x2, 0x9, 0xe9, 0x2, 0xd, 0xe5, 0x3 +db 0x12, 0xe1, 0x4, 0x17, 0xde, 0x6, 0x1c, 0xd9, 0x7, 0x23, 0xd5, 0xa +db 0x2a, 0xd0, 0xd, 0x2d, 0xcb, 0xc, 0x31, 0xc5, 0xa, 0x39, 0xc0, 0xc +db 0x3f, 0xba, 0xd, 0x43, 0xb5, 0xd, 0x48, 0xb0, 0xe, 0x4d, 0xaa, 0xe +db 0x52, 0xa5, 0x10, 0x58, 0xa0, 0x10, 0x5d, 0x9b, 0x11, 0x68, 0x94, 0x14 +db 0x6e, 0x8f, 0x17, 0x73, 0x8a, 0x17, 0x78, 0x85, 0x17, 0x7b, 0x81, 0x18 +db 0x80, 0x7c, 0x19, 0x80, 0x7a, 0x16, 0x84, 0x77, 0x19, 0x8b, 0x74, 0x1d +db 0x91, 0x70, 0x1e, 0x96, 0x6a, 0x1f, 0x9b, 0x65, 0x21, 0xa1, 0x61, 0x21 +db 0xa5, 0x5b, 0x22, 0xaa, 0x57, 0x22, 0xaf, 0x52, 0x22, 0xb4, 0x4d, 0x23 +db 0xb9, 0x48, 0x23, 0xbe, 0x43, 0x24, 0xc4, 0x3e, 0x26, 0xd8, 0x3d, 0x37 +db 0xea, 0x2b, 0x39, 0xfa, 0x40, 0x58, 0xff, 0x76, 0x8d, 0xff, 0xe8, 0xed +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfd, 0xfd, 0xff, 0xe1, 0xe4, 0xf3, 0xcd, 0xc5, 0x62, 0xdd, 0x4a +db 0x2, 0xf7, 0x4, 0x2, 0xf7, 0x7, 0x7, 0xf4, 0x9, 0x12, 0xed, 0xe +db 0x2c, 0xe6, 0x20, 0x32, 0xe3, 0x23, 0x34, 0xe0, 0x23, 0x38, 0xdc, 0x22 +db 0x3c, 0xd7, 0x22, 0x40, 0xd4, 0x23, 0x43, 0xcf, 0x24, 0x47, 0xcb, 0x24 +db 0x49, 0xc8, 0x23, 0x66, 0xc1, 0x39, 0x80, 0xc0, 0x4d, 0x82, 0xbd, 0x4d +db 0x85, 0xbe, 0x52, 0x89, 0xbb, 0x53, 0x8d, 0xb8, 0x53, 0x90, 0xb4, 0x53 +db 0x92, 0xb1, 0x54, 0x95, 0xaf, 0x54, 0x99, 0xaa, 0x53, 0xb7, 0xad, 0x72 +db 0xc9, 0xb3, 0x89, 0xca, 0xb1, 0x87, 0xcb, 0xaf, 0x87, 0xcd, 0xae, 0x88 +db 0xcb, 0xa8, 0x81, 0xb4, 0x92, 0x58, 0xa0, 0x81, 0x39, 0x90, 0x72, 0x1f +db 0x8f, 0x6b, 0x1a, 0x95, 0x67, 0x1b, 0x98, 0x61, 0x19, 0x9d, 0x5f, 0x1b +db 0xa2, 0x5a, 0x1d, 0xa8, 0x55, 0x1e, 0xac, 0x50, 0x1e, 0xb2, 0x4b, 0x1f +db 0xb6, 0x43, 0x1d, 0xbb, 0x3d, 0x1c, 0xc2, 0x39, 0x20, 0xcd, 0x43, 0x33 +db 0xdc, 0x64, 0x5b, 0xf7, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xff, 0xda, 0xdf, 0xee, 0xcf, 0xc0 +db 0xa7, 0xd8, 0x86, 0xa0, 0xda, 0x80, 0xa1, 0xd8, 0x80, 0xaf, 0xd4, 0x8a +db 0xdf, 0xd0, 0xb3, 0xe8, 0xd0, 0xbb, 0xe6, 0xcf, 0xb9, 0xe7, 0xd5, 0xbf +db 0xe7, 0xd9, 0xc3, 0xe8, 0xd9, 0xc3, 0xe9, 0xd8, 0xc4, 0xe9, 0xd7, 0xc3 +db 0xe9, 0xd9, 0xc4, 0xf5, 0xe4, 0xdb, 0xff, 0xe7, 0xeb, 0xff, 0xe9, 0xec +db 0xff, 0xf6, 0xf9, 0xff, 0xf7, 0xfa, 0xff, 0xf7, 0xfa, 0xff, 0xf7, 0xfa +db 0xff, 0xf7, 0xfa, 0xff, 0xf7, 0xfa, 0xff, 0xf7, 0xf9, 0xff, 0xf9, 0xfd +db 0xff, 0xfb, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xfc, 0xff +db 0xff, 0xfa, 0xfd, 0xff, 0xe3, 0xe5, 0xf7, 0xc7, 0xc1, 0xdd, 0xad, 0x95 +db 0xd4, 0xa0, 0x81, 0xd5, 0x9a, 0x7d, 0xc1, 0x83, 0x59, 0xb3, 0x6d, 0x3b +db 0xaf, 0x63, 0x2f, 0xb4, 0x60, 0x32, 0xb8, 0x5b, 0x31, 0xbd, 0x57, 0x32 +db 0xca, 0x65, 0x4a, 0xd6, 0x77, 0x65, 0xe9, 0xa9, 0xa1, 0xf5, 0xcc, 0xcb +db 0xfe, 0xf5, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xff, 0xf7, 0xfb +db 0xff, 0xf7, 0xff, 0xff, 0xf6, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xf7, 0xff +db 0xff, 0xf8, 0xfd, 0xff, 0xf8, 0xfc, 0xff, 0xf8, 0xfc, 0xff, 0xfc, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfc, 0xff, 0xfa, 0xfd +db 0xff, 0xee, 0xf1, 0xff, 0xec, 0xef, 0xff, 0xe9, 0xea, 0xf9, 0xdd, 0xd9 +db 0xf5, 0xd7, 0xd2, 0xf6, 0xd7, 0xd3, 0xf6, 0xd7, 0xd2, 0xf7, 0xd7, 0xd3 +db 0xfc, 0xee, 0xed, 0xff, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/plus.inc b/programs/games/hunter/trunk/inc/plus.inc new file mode 100644 index 0000000000..0e27b8d80f --- /dev/null +++ b/programs/games/hunter/trunk/inc/plus.inc @@ -0,0 +1,69 @@ +dw 16, 17 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf0, 0x8a, 0xff, 0x87 +db 0xa6, 0xff, 0xa4, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xce, 0xff, 0xd4, 0x16, 0xff, 0x29 +db 0x29, 0xf7, 0x3a, 0xd1, 0xea, 0xd3, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, 0xff, 0xd0, 0x6, 0xff, 0x62 +db 0x6, 0xd9, 0x51, 0x7f, 0x9c, 0x89, 0xfc, 0xf6, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbb, 0xff, 0xd3, 0x18, 0xff, 0x6f +db 0x10, 0xd3, 0x58, 0x72, 0x8c, 0x7c, 0xfa, 0xf5, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0xff, 0xdc, 0x3b, 0xff, 0x84 +db 0x2d, 0xd3, 0x6a, 0x7a, 0x8c, 0x80, 0xff, 0xf5, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xc0, 0xff, 0xdf +db 0x97, 0xff, 0xc9, 0x9e, 0xff, 0xcd, 0x7d, 0xff, 0xbe, 0x39, 0xff, 0x9c +db 0x32, 0xea, 0x8d, 0x57, 0xc7, 0x8f, 0x97, 0xfa, 0xc7, 0x9c, 0xff, 0xcc +db 0xc6, 0xff, 0xe3, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0xff, 0xf4, 0x58, 0xff, 0xae +db 0x28, 0xff, 0x97, 0x2e, 0xff, 0x9b, 0x30, 0xff, 0x9b, 0x34, 0xff, 0x9b +db 0x35, 0xff, 0x9c, 0x33, 0xff, 0x9f, 0x2e, 0xff, 0x9b, 0x2a, 0xff, 0x99 +db 0x50, 0xff, 0xa9, 0xd8, 0xf8, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xfa, 0x7d, 0xf4, 0xc7 +db 0x31, 0xd9, 0x9f, 0x34, 0xd7, 0x9f, 0x34, 0xe4, 0xa8, 0x33, 0xfe, 0xbc +db 0x34, 0xf9, 0xb8, 0x36, 0xdf, 0xa5, 0x35, 0xd9, 0xa0, 0x33, 0xdc, 0xa2 +db 0x35, 0xac, 0x80, 0x8f, 0x9c, 0x96, 0xfe, 0xfc, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xd9, 0xd8 +db 0x59, 0x70, 0x6c, 0x45, 0x57, 0x55, 0x4f, 0x8e, 0x7d, 0x62, 0xfe, 0xcf +db 0x5c, 0xe2, 0xba, 0x47, 0x6d, 0x64, 0x47, 0x5b, 0x58, 0x48, 0x60, 0x5c +db 0x43, 0x4d, 0x4c, 0x80, 0x7e, 0x80, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf8, 0xf9 +db 0xd9, 0xd5, 0xd6, 0xc9, 0xc1, 0xc4, 0xbc, 0xd6, 0xd2, 0x9e, 0xff, 0xf2 +db 0x85, 0xd6, 0xca, 0x75, 0x7c, 0x7b, 0xc3, 0xbe, 0xbf, 0xcb, 0xc6, 0xc8 +db 0xc7, 0xc5, 0xc5, 0xda, 0xda, 0xda, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xa0, 0xff, 0xff +db 0x82, 0xd4, 0xd5, 0x86, 0x91, 0x91, 0xfe, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0xff, 0xff, 0xa0, 0xff, 0xff +db 0x82, 0xd7, 0xd7, 0x84, 0x90, 0x90, 0xf7, 0xf5, 0xf5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xff, 0xff, 0xb8, 0xfe, 0xfe +db 0x70, 0xb2, 0xb2, 0x7c, 0x82, 0x82, 0xf8, 0xf7, 0xf7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe4, 0xf0, 0xf0 +db 0x5f, 0x69, 0x69, 0x79, 0x78, 0x78, 0xf9, 0xf9, 0xf9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfb, 0xfb +db 0xd0, 0xcf, 0xcf, 0xd4, 0xd4, 0xd4, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/rock.inc b/programs/games/hunter/trunk/inc/rock.inc new file mode 100644 index 0000000000..286468fd13 --- /dev/null +++ b/programs/games/hunter/trunk/inc/rock.inc @@ -0,0 +1,593 @@ +dw 64, 37 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xfd, 0xff, 0xfc, 0xfd, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd0, 0xeb, 0xf9, 0xb0, 0xdb, 0xee, 0xcb, 0xe7, 0xed, 0xe9, 0xf5, 0xf9 +db 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe +db 0xfc, 0xfd, 0xfd, 0xfa, 0xfd, 0xfd, 0xfc, 0xfd, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xd3, 0xec, 0xf7 +db 0x9c, 0xd1, 0xe6, 0x9e, 0xd4, 0xe6, 0xe7, 0xf3, 0xe1, 0xde, 0xf0, 0xe8 +db 0xd7, 0xed, 0xf2, 0xe1, 0xf0, 0xf6, 0xce, 0xe2, 0xeb, 0xb0, 0xda, 0xed +db 0xa0, 0xd4, 0xed, 0xa0, 0xd7, 0xf3, 0xa3, 0xd7, 0xf3, 0xc8, 0xe5, 0xf5 +db 0xfb, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xf1, 0xfd, 0xc0, 0xe3, 0xea +db 0xcb, 0xe7, 0xe3, 0x87, 0xcd, 0xef, 0xaa, 0xda, 0xe9, 0xbe, 0xe3, 0xe8 +db 0xa5, 0xd6, 0xe8, 0x88, 0xc8, 0xe6, 0x80, 0xc4, 0xe6, 0x79, 0xc7, 0xf1 +db 0x79, 0xc9, 0xf4, 0x79, 0xc9, 0xf4, 0x78, 0xc9, 0xf3, 0x8b, 0xcb, 0xe7 +db 0xbc, 0xde, 0xed, 0xfa, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe2, 0xf4, 0xfe, 0xb9, 0xe3, 0xf2, 0xf2, 0xf8, 0xe3 +db 0xf2, 0xf7, 0xe1, 0xbc, 0xe0, 0xe5, 0xad, 0xdd, 0xec, 0xb3, 0xda, 0xe3 +db 0xc4, 0xe3, 0xe3, 0xd1, 0xe9, 0xe3, 0xcd, 0xe7, 0xe3, 0xb1, 0xdb, 0xe6 +db 0x93, 0xd1, 0xed, 0x90, 0xd2, 0xf1, 0xa0, 0xd4, 0xe6, 0xd9, 0xeb, 0xdf +db 0xba, 0xdb, 0xdd, 0xba, 0xdb, 0xea, 0xfb, 0xfc, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf3, 0xfb, 0xff, 0xaa, 0xdd, 0xf6, 0xd9, 0xef, 0xe6, 0xff, 0xfe, 0xe1 +db 0xfe, 0xfd, 0xe1, 0xfe, 0xfd, 0xe1, 0xfc, 0xfc, 0xe1, 0xfd, 0xfc, 0xe0 +db 0xff, 0xfd, 0xe0, 0xff, 0xfe, 0xe1, 0xff, 0xfe, 0xe1, 0xfa, 0xfa, 0xe0 +db 0xed, 0xf6, 0xe2, 0xeb, 0xf6, 0xe3, 0xf3, 0xf7, 0xe0, 0xff, 0xfe, 0xe1 +db 0xf8, 0xfa, 0xdf, 0xb9, 0xdb, 0xde, 0xc1, 0xe1, 0xf1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc7, 0xe8, 0xf9, 0xc2, 0xe4, 0xe7, 0xfd, 0xfc, 0xe1, 0xfd, 0xfd, 0xe1 +db 0xfc, 0xfc, 0xe1, 0xfd, 0xfc, 0xe1, 0xfd, 0xfc, 0xe1, 0xfd, 0xfc, 0xe1 +db 0xfc, 0xfc, 0xe1, 0xfc, 0xfc, 0xe1, 0xfc, 0xfc, 0xe1, 0xfe, 0xfd, 0xe1 +db 0xff, 0xfd, 0xe1, 0xff, 0xfd, 0xe1, 0xfe, 0xfd, 0xe1, 0xfd, 0xfc, 0xe1 +db 0xff, 0xff, 0xe1, 0xf6, 0xfa, 0xe1, 0xae, 0xdb, 0xe9, 0xd4, 0xed, 0xfa +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, 0xed, 0xfc +db 0xa4, 0xda, 0xf0, 0xf2, 0xf8, 0xe1, 0xff, 0xfe, 0xe1, 0xfd, 0xfc, 0xe1 +db 0xfc, 0xfc, 0xe1, 0xfc, 0xfc, 0xe1, 0xfc, 0xfc, 0xe1, 0xfc, 0xfc, 0xe1 +db 0xfe, 0xfd, 0xe1, 0xff, 0xfe, 0xe0, 0xff, 0xfe, 0xe0, 0xff, 0xfe, 0xe0 +db 0xff, 0xfd, 0xe1, 0xfd, 0xfc, 0xe1, 0xfe, 0xfc, 0xe1, 0xf6, 0xfa, 0xe3 +db 0xd6, 0xee, 0xe7, 0xd7, 0xef, 0xe8, 0xca, 0xe9, 0xe8, 0xa7, 0xda, 0xf0 +db 0xeb, 0xf6, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0xf5, 0xfe, 0x98, 0xd6, 0xf6 +db 0xc2, 0xe6, 0xe9, 0xf1, 0xf8, 0xe4, 0xf0, 0xf8, 0xe4, 0xfb, 0xfc, 0xe2 +db 0xfd, 0xfc, 0xe1, 0xfc, 0xfc, 0xe1, 0xfc, 0xfc, 0xe1, 0xff, 0xfd, 0xe1 +db 0xee, 0xf7, 0xe4, 0xd1, 0xec, 0xe8, 0xd0, 0xeb, 0xe8, 0xd0, 0xec, 0xe8 +db 0xe4, 0xf3, 0xe6, 0xfc, 0xfc, 0xe1, 0xff, 0xfe, 0xe0, 0xe3, 0xf3, 0xe6 +db 0x8d, 0xd1, 0xf3, 0x83, 0xce, 0xf4, 0xc0, 0xe5, 0xeb, 0xd1, 0xeb, 0xe4 +db 0xb5, 0xdf, 0xf3, 0xf6, 0xfb, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xff, 0xad, 0xde, 0xf7, 0x8b, 0xd1, 0xf1 +db 0x98, 0xd6, 0xf1, 0x94, 0xd4, 0xf1, 0x97, 0xd5, 0xf1, 0xbf, 0xe5, 0xeb +db 0xf7, 0xfa, 0xe2, 0xfe, 0xfc, 0xe1, 0xfe, 0xfd, 0xe1, 0xf0, 0xf8, 0xe4 +db 0xab, 0xdd, 0xee, 0x82, 0xcd, 0xf4, 0x83, 0xcd, 0xf4, 0x83, 0xcd, 0xf4 +db 0x92, 0xd3, 0xf2, 0xbe, 0xe4, 0xeb, 0xf2, 0xf9, 0xe3, 0xed, 0xf7, 0xe4 +db 0x96, 0xd5, 0xf1, 0x7a, 0xca, 0xf5, 0x8e, 0xd2, 0xf2, 0xda, 0xf0, 0xe8 +db 0xc2, 0xe3, 0xe6, 0xb3, 0xdd, 0xf4, 0xf5, 0xfb, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf1, 0xfa, 0xfe, 0xbf, 0xe5, 0xfa, 0x87, 0xcf, 0xf4, 0x84, 0xce, 0xf3 +db 0x7f, 0xcc, 0xf4, 0x7e, 0xcb, 0xf5, 0x7b, 0xca, 0xf5, 0x89, 0xd0, 0xf3 +db 0xdb, 0xef, 0xe7, 0xff, 0xfe, 0xe1, 0xff, 0xfd, 0xe1, 0xce, 0xeb, 0xe9 +db 0x82, 0xcd, 0xf4, 0x7e, 0xcb, 0xf4, 0x80, 0xcb, 0xf4, 0x80, 0xcb, 0xf4 +db 0x7e, 0xcb, 0xf4, 0x83, 0xcd, 0xf4, 0x9f, 0xd8, 0xef, 0xc4, 0xe7, 0xea +db 0x9c, 0xd7, 0xf0, 0x7e, 0xcb, 0xf5, 0x7d, 0xcb, 0xf4, 0xac, 0xde, 0xee +db 0xe7, 0xf4, 0xe4, 0xae, 0xdd, 0xec, 0xb5, 0xe1, 0xf8, 0xee, 0xf9, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xf3, 0xfd +db 0xa2, 0xda, 0xf7, 0x80, 0xcc, 0xf4, 0x7f, 0xcb, 0xf4, 0x80, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x80, 0xcc, 0xf4, 0x7f, 0xcc, 0xf5 +db 0xba, 0xe3, 0xec, 0xff, 0xfd, 0xe1, 0xff, 0xfe, 0xe1, 0xbd, 0xe4, 0xeb +db 0x7d, 0xcb, 0xf5, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x80, 0xcc, 0xf4, 0x7e, 0xcb, 0xf4, 0x85, 0xce, 0xf4 +db 0x86, 0xce, 0xf3, 0x81, 0xcc, 0xf4, 0x7f, 0xcb, 0xf4, 0x84, 0xcf, 0xf4 +db 0xc8, 0xe8, 0xea, 0xda, 0xef, 0xe6, 0x86, 0xcf, 0xf3, 0xa5, 0xdb, 0xf8 +db 0xe9, 0xf6, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xde, 0xf2, 0xfc, 0xb3, 0xe1, 0xf8, 0xd2, 0xed, 0xfa, 0xed, 0xf8, 0xfd +db 0xf9, 0xfc, 0xfe, 0xf3, 0xfa, 0xfe, 0xd2, 0xed, 0xfc, 0x97, 0xd5, 0xf6 +db 0x7d, 0xcb, 0xf4, 0x80, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x7d, 0xcb, 0xf5 +db 0x94, 0xd5, 0xf1, 0xf0, 0xf7, 0xe3, 0xfa, 0xfb, 0xe1, 0x9f, 0xd9, 0xf0 +db 0x7d, 0xcb, 0xf5, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x80, 0xcc, 0xf4 +db 0x80, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x80, 0xcc, 0xf4 +db 0x89, 0xd0, 0xf3, 0x9d, 0xd8, 0xf1, 0x83, 0xcd, 0xf4, 0x7d, 0xcb, 0xf4 +db 0xad, 0xdf, 0xf8, 0xf7, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2, 0xf4, 0xfd +db 0x96, 0xd5, 0xf6, 0x7c, 0xcb, 0xf4, 0xaa, 0xda, 0xec, 0xc8, 0xe5, 0xe8 +db 0xb6, 0xde, 0xef, 0x9c, 0xd6, 0xf4, 0x88, 0xcf, 0xf5, 0x7f, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x80, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0xb2, 0xe0, 0xed, 0xc0, 0xe5, 0xeb, 0x86, 0xce, 0xf4 +db 0x80, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x7f, 0xcb, 0xf4, 0x7e, 0xcb, 0xf5, 0x81, 0xcc, 0xf4, 0x80, 0xcc, 0xf4 +db 0x84, 0xce, 0xf4, 0xb9, 0xe3, 0xf9, 0xf6, 0xfb, 0xfe, 0xff, 0xff, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xfa, 0xfe, 0xa8, 0xdc, 0xf7 +db 0x7d, 0xcb, 0xf4, 0x80, 0xcc, 0xf4, 0x8e, 0xd1, 0xf2, 0xa2, 0xd9, 0xee +db 0x8d, 0xd1, 0xf0, 0x80, 0xcc, 0xf4, 0x7f, 0xcb, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x80, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x7f, 0xcb, 0xf4, 0x82, 0xcd, 0xf4, 0xaf, 0xde, 0xf6, 0xe6, 0xef, 0xf3 +db 0xf8, 0xfb, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xdb, 0xf1, 0xfc, 0xcd, 0xec, 0xfb, 0xa4, 0xdb, 0xf7, 0x81, 0xcd, 0xf4 +db 0x80, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x7f, 0xcb, 0xf4, 0x7f, 0xcb, 0xf5 +db 0x7f, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x80, 0xcc, 0xf4, 0x80, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x80, 0xcc, 0xf4, 0x80, 0xcc, 0xf4, 0x91, 0xcf, 0xef +db 0xa7, 0xd8, 0xf2, 0xda, 0xef, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x8f, 0xd2, 0xf6, 0x81, 0xcd, 0xf4, 0x7f, 0xcb, 0xf4, 0x80, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x80, 0xcc, 0xf4, 0x7e, 0xcb, 0xf4 +db 0x7d, 0xcb, 0xf4, 0x92, 0xd5, 0xf8, 0xc2, 0xe8, 0xfb, 0xe2, 0xf4, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x87, 0xce, 0xf5, 0x7f, 0xcb, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x80, 0xcc, 0xf4, 0x7f, 0xcc, 0xf4, 0x90, 0xd0, 0xf5 +db 0xdf, 0xf1, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x88, 0xcf, 0xf5, 0x80, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4 +db 0x81, 0xcc, 0xf4, 0x81, 0xcc, 0xf4, 0x80, 0xcc, 0xf4, 0x80, 0xcc, 0xf5 +db 0xa3, 0xdb, 0xf7, 0xf3, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x87, 0xcf, 0xf3, 0x7e, 0xcd, 0xf2, 0x7f, 0xcd, 0xf2, 0x7f, 0xcc, 0xf2 +db 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2, 0x7f, 0xcd, 0xf2 +db 0x7f, 0xcd, 0xf2, 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2, 0x80, 0xcc, 0xf2 +db 0x7f, 0xcd, 0xf2, 0x7f, 0xcd, 0xf2, 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2 +db 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2, 0x80, 0xcd, 0xf2, 0x7f, 0xcc, 0xf2 +db 0x80, 0xcd, 0xf2, 0x80, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2 +db 0x80, 0xcc, 0xf2, 0x80, 0xcc, 0xf2, 0x80, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2 +db 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2 +db 0x7f, 0xcd, 0xf2, 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2, 0x80, 0xcc, 0xf2 +db 0x80, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2 +db 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2 +db 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2, 0x7f, 0xcc, 0xf2, 0x7e, 0xcd, 0xf2 +db 0x83, 0xce, 0xf4, 0xbc, 0xe6, 0xf7, 0xea, 0xf8, 0xfd, 0xf7, 0xfa, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x83, 0xd1, 0xeb, 0x7a, 0xce, 0xea, 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea +db 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xe9 +db 0x7b, 0xce, 0xe9, 0x7b, 0xce, 0xe9, 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xe9 +db 0x7b, 0xce, 0xe9, 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xe9, 0x7b, 0xce, 0xe9 +db 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea +db 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea +db 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea +db 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xe9, 0x7b, 0xce, 0xe9, 0x7b, 0xce, 0xea +db 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea +db 0x7b, 0xce, 0xe9, 0x7b, 0xce, 0xe9, 0x7b, 0xce, 0xe9, 0x7b, 0xce, 0xea +db 0x7b, 0xce, 0xe9, 0x7b, 0xce, 0xe9, 0x7a, 0xce, 0xea, 0x7a, 0xce, 0xea +db 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea, 0x7b, 0xce, 0xea +db 0x7a, 0xce, 0xea, 0x7c, 0xcf, 0xe9, 0x8f, 0xd6, 0xec, 0xd2, 0xee, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x7d, 0xd2, 0xe0, 0x74, 0xcf, 0xde, 0x75, 0xcf, 0xde, 0x75, 0xcf, 0xde +db 0x75, 0xcf, 0xde, 0x74, 0xcf, 0xde, 0x74, 0xd0, 0xde, 0x74, 0xcf, 0xde +db 0x74, 0xcf, 0xde, 0x75, 0xd0, 0xde, 0x74, 0xcf, 0xde, 0x74, 0xcf, 0xde +db 0x75, 0xcf, 0xde, 0x75, 0xcf, 0xde, 0x75, 0xcf, 0xde, 0x74, 0xcf, 0xde +db 0x75, 0xcf, 0xde, 0x75, 0xcf, 0xde, 0x74, 0xcf, 0xde, 0x75, 0xcf, 0xde +db 0x75, 0xcf, 0xde, 0x74, 0xd0, 0xde, 0x74, 0xcf, 0xde, 0x75, 0xcf, 0xde +db 0x75, 0xcf, 0xde, 0x75, 0xcf, 0xde, 0x74, 0xcf, 0xde, 0x75, 0xcf, 0xde +db 0x75, 0xcf, 0xde, 0x75, 0xd0, 0xde, 0x74, 0xd0, 0xdd, 0x75, 0xcf, 0xde +db 0x74, 0xcf, 0xde, 0x75, 0xcf, 0xde, 0x75, 0xcf, 0xde, 0x74, 0xcf, 0xde +db 0x75, 0xd0, 0xde, 0x75, 0xcf, 0xde, 0x74, 0xcf, 0xde, 0x75, 0xd0, 0xde +db 0x75, 0xcf, 0xde, 0x75, 0xcf, 0xde, 0x75, 0xcf, 0xde, 0x75, 0xcf, 0xde +db 0x75, 0xd0, 0xde, 0x74, 0xd0, 0xde, 0x74, 0xcf, 0xde, 0x75, 0xcf, 0xde +db 0x75, 0xd0, 0xde, 0x73, 0xcf, 0xde, 0x74, 0xcf, 0xde, 0x8c, 0xd8, 0xe2 +db 0xcc, 0xef, 0xf1, 0xfb, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x77, 0xd5, 0xd3, 0x6d, 0xd2, 0xd1, 0x6e, 0xd0, 0xd1, 0x6e, 0xd0, 0xd1 +db 0x6e, 0xd2, 0xd1, 0x6e, 0xd2, 0xd1, 0x6e, 0xd1, 0xd1, 0x6e, 0xd2, 0xd1 +db 0x6e, 0xd2, 0xd0, 0x6e, 0xd1, 0xd1, 0x6e, 0xd1, 0xd1, 0x6e, 0xd1, 0xd1 +db 0x6e, 0xd1, 0xd1, 0x6e, 0xd1, 0xd1, 0x6e, 0xd2, 0xd1, 0x6e, 0xd2, 0xd1 +db 0x6e, 0xd1, 0xd1, 0x6e, 0xd1, 0xd0, 0x6e, 0xd1, 0xd1, 0x6e, 0xd1, 0xd1 +db 0x6e, 0xd1, 0xd1, 0x6e, 0xd1, 0xd1, 0x6e, 0xd2, 0xd1, 0x6e, 0xd2, 0xd1 +db 0x6e, 0xd1, 0xd0, 0x6e, 0xd1, 0xd1, 0x6e, 0xd1, 0xd1, 0x6e, 0xd2, 0xd1 +db 0x6e, 0xd2, 0xd1, 0x6e, 0xd1, 0xd1, 0x6e, 0xd1, 0xd1, 0x6e, 0xd2, 0xd0 +db 0x6e, 0xd2, 0xd1, 0x6e, 0xd1, 0xd1, 0x6e, 0xd1, 0xd1, 0x6e, 0xd1, 0xd1 +db 0x6e, 0xd1, 0xd0, 0x6e, 0xd2, 0xd1, 0x6e, 0xd2, 0xd1, 0x6e, 0xd1, 0xd1 +db 0x6e, 0xd2, 0xd1, 0x6e, 0xd2, 0xd1, 0x6e, 0xd2, 0xd0, 0x6e, 0xd1, 0xd0 +db 0x6e, 0xd1, 0xd1, 0x6e, 0xd1, 0xd1, 0x6e, 0xd1, 0xd1, 0x6e, 0xd1, 0xd1 +db 0x6e, 0xd1, 0xd1, 0x6e, 0xd1, 0xd0, 0x6e, 0xd1, 0xd1, 0x6d, 0xd1, 0xd1 +db 0x72, 0xd2, 0xd2, 0xa6, 0xe4, 0xe1, 0xe9, 0xf8, 0xf7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x6f, 0xd6, 0xc5, 0x65, 0xd4, 0xc1, 0x66, 0xd3, 0xc1, 0x66, 0xd3, 0xc1 +db 0x66, 0xd4, 0xc1, 0x66, 0xd4, 0xc1, 0x66, 0xd3, 0xc1, 0x66, 0xd4, 0xc1 +db 0x66, 0xd3, 0xc1, 0x66, 0xd3, 0xc1, 0x67, 0xd3, 0xc1, 0x67, 0xd3, 0xc1 +db 0x66, 0xd4, 0xc1, 0x66, 0xd3, 0xc1, 0x66, 0xd4, 0xc1, 0x66, 0xd4, 0xc1 +db 0x66, 0xd3, 0xc1, 0x66, 0xd4, 0xc1, 0x66, 0xd3, 0xc1, 0x66, 0xd3, 0xc1 +db 0x66, 0xd3, 0xc1, 0x66, 0xd3, 0xc1, 0x66, 0xd4, 0xc1, 0x66, 0xd4, 0xc1 +db 0x66, 0xd3, 0xc1, 0x66, 0xd4, 0xc1, 0x66, 0xd3, 0xc1, 0x66, 0xd4, 0xc1 +db 0x66, 0xd3, 0xc1, 0x66, 0xd3, 0xc1, 0x66, 0xd3, 0xc1, 0x66, 0xd4, 0xc1 +db 0x66, 0xd4, 0xc1, 0x66, 0xd3, 0xc1, 0x66, 0xd3, 0xc1, 0x66, 0xd4, 0xc1 +db 0x66, 0xd3, 0xc1, 0x66, 0xd4, 0xc1, 0x66, 0xd3, 0xc1, 0x66, 0xd3, 0xc1 +db 0x66, 0xd4, 0xc1, 0x66, 0xd4, 0xc1, 0x66, 0xd4, 0xc1, 0x66, 0xd3, 0xc1 +db 0x66, 0xd3, 0xc1, 0x66, 0xd3, 0xc1, 0x66, 0xd4, 0xc1, 0x66, 0xd3, 0xc1 +db 0x66, 0xd3, 0xc1, 0x66, 0xd3, 0xc1, 0x66, 0xd3, 0xc1, 0x66, 0xd3, 0xc1 +db 0x66, 0xd4, 0xc1, 0x66, 0xd3, 0xc1, 0x84, 0xde, 0xce, 0xe6, 0xf6, 0xf4 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x68, 0xd8, 0xb6, 0x5d, 0xd6, 0xb1, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2 +db 0x5e, 0xd6, 0xb2, 0x5e, 0xd5, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd5, 0xb2 +db 0x5e, 0xd5, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd5, 0xb2 +db 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2 +db 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2 +db 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2 +db 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2 +db 0x5e, 0xd5, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2 +db 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2 +db 0x5e, 0xd6, 0xb2, 0x5e, 0xd5, 0xb2, 0x5e, 0xd5, 0xb2, 0x5e, 0xd6, 0xb2 +db 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2 +db 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2 +db 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb2 +db 0x5e, 0xd6, 0xb2, 0x5e, 0xd6, 0xb1, 0x5d, 0xd5, 0xb2, 0x96, 0xe5, 0xcc +db 0xf9, 0xfd, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x60, 0xdb, 0xa7, 0x55, 0xd8, 0xa1, 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2 +db 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2, 0x56, 0xd7, 0xa2 +db 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa3, 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2 +db 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2, 0x55, 0xd8, 0xa2, 0x56, 0xd8, 0xa2 +db 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2 +db 0x56, 0xd8, 0xa3, 0x56, 0xd8, 0xa2, 0x55, 0xd8, 0xa2, 0x56, 0xd8, 0xa2 +db 0x56, 0xd8, 0xa3, 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2, 0x56, 0xd7, 0xa2 +db 0x56, 0xd8, 0xa3, 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2 +db 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2, 0x56, 0xd7, 0xa2 +db 0x56, 0xd8, 0xa2, 0x56, 0xd7, 0xa2, 0x56, 0xd8, 0xa2, 0x56, 0xd7, 0xa2 +db 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa3, 0x56, 0xd7, 0xa3, 0x55, 0xd8, 0xa2 +db 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2 +db 0x56, 0xd7, 0xa2, 0x56, 0xd7, 0xa2, 0x56, 0xd8, 0xa2, 0x56, 0xd8, 0xa2 +db 0x55, 0xd8, 0xa2, 0x55, 0xd8, 0xa2, 0x55, 0xd7, 0xa1, 0x58, 0xd8, 0xa5 +db 0xc2, 0xf2, 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x58, 0xdc, 0x98, 0x4c, 0xda, 0x91, 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x92 +db 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x92 +db 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x93, 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x92 +db 0x4d, 0xd9, 0x92, 0x4d, 0xd9, 0x92, 0x4e, 0xda, 0x92, 0x4d, 0xd9, 0x92 +db 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x92 +db 0x4d, 0xda, 0x93, 0x4d, 0xda, 0x92, 0x4e, 0xda, 0x92, 0x4d, 0xda, 0x93 +db 0x4d, 0xda, 0x93, 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x93 +db 0x4d, 0xda, 0x93, 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x92, 0x4d, 0xd9, 0x92 +db 0x4e, 0xd9, 0x92, 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x92 +db 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x93, 0x4d, 0xda, 0x93 +db 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x93, 0x4d, 0xda, 0x93, 0x4e, 0xda, 0x92 +db 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x93, 0x4d, 0xda, 0x93 +db 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x92, 0x4d, 0xd9, 0x92, 0x4d, 0xd9, 0x92 +db 0x4e, 0xd9, 0x92, 0x4d, 0xda, 0x92, 0x4d, 0xda, 0x91, 0x4c, 0xda, 0x91 +db 0x7c, 0xe5, 0xaf, 0xf3, 0xfc, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x51, 0xde, 0x8b, 0x45, 0xdc, 0x83, 0x46, 0xdc, 0x84, 0x46, 0xdc, 0x84 +db 0x45, 0xdc, 0x84, 0x45, 0xdb, 0x84, 0x45, 0xdc, 0x83, 0x45, 0xdc, 0x84 +db 0x45, 0xdc, 0x84, 0x46, 0xdc, 0x84, 0x45, 0xdc, 0x84, 0x45, 0xdc, 0x84 +db 0x45, 0xdc, 0x84, 0x46, 0xdc, 0x84, 0x46, 0xdc, 0x84, 0x46, 0xdc, 0x84 +db 0x45, 0xdc, 0x84, 0x45, 0xdc, 0x84, 0x45, 0xdc, 0x84, 0x45, 0xdc, 0x84 +db 0x45, 0xdc, 0x84, 0x45, 0xdc, 0x84, 0x46, 0xdc, 0x84, 0x45, 0xdb, 0x84 +db 0x46, 0xdc, 0x84, 0x45, 0xdc, 0x84, 0x45, 0xdc, 0x84, 0x45, 0xdc, 0x84 +db 0x45, 0xdb, 0x84, 0x45, 0xdc, 0x84, 0x46, 0xdc, 0x84, 0x46, 0xdc, 0x84 +db 0x46, 0xdc, 0x84, 0x45, 0xdc, 0x84, 0x45, 0xdc, 0x84, 0x45, 0xdc, 0x84 +db 0x45, 0xdc, 0x84, 0x45, 0xdc, 0x84, 0x46, 0xdc, 0x84, 0x46, 0xdc, 0x84 +db 0x46, 0xdc, 0x84, 0x45, 0xdc, 0x83, 0x45, 0xdc, 0x83, 0x45, 0xdc, 0x84 +db 0x45, 0xdc, 0x84, 0x45, 0xdb, 0x84, 0x45, 0xdb, 0x84, 0x45, 0xdc, 0x84 +db 0x45, 0xdc, 0x84, 0x45, 0xdc, 0x84, 0x46, 0xdc, 0x84, 0x45, 0xdc, 0x83 +db 0x45, 0xdc, 0x84, 0x45, 0xdc, 0x84, 0x45, 0xdc, 0x84, 0x44, 0xdc, 0x83 +db 0x58, 0xdf, 0x91, 0xdc, 0xf9, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x49, 0xe0, 0x7e, 0x3c, 0xde, 0x75, 0x3e, 0xde, 0x76, 0x3e, 0xde, 0x75 +db 0x3e, 0xde, 0x75, 0x3e, 0xde, 0x75, 0x3e, 0xdd, 0x76, 0x3f, 0xdd, 0x76 +db 0x3f, 0xdd, 0x76, 0x3e, 0xde, 0x76, 0x3e, 0xde, 0x76, 0x3f, 0xdd, 0x76 +db 0x3f, 0xde, 0x76, 0x3e, 0xde, 0x76, 0x3e, 0xde, 0x75, 0x3e, 0xde, 0x76 +db 0x3f, 0xde, 0x76, 0x3f, 0xde, 0x76, 0x3f, 0xde, 0x75, 0x3f, 0xde, 0x75 +db 0x3f, 0xde, 0x76, 0x3e, 0xde, 0x76, 0x3e, 0xde, 0x76, 0x3e, 0xde, 0x76 +db 0x3e, 0xde, 0x76, 0x3e, 0xde, 0x75, 0x3e, 0xdd, 0x75, 0x3e, 0xde, 0x76 +db 0x3e, 0xde, 0x76, 0x3e, 0xde, 0x76, 0x3e, 0xde, 0x76, 0x3e, 0xde, 0x76 +db 0x3e, 0xde, 0x75, 0x3e, 0xde, 0x75, 0x3f, 0xde, 0x76, 0x3f, 0xdd, 0x76 +db 0x3e, 0xde, 0x76, 0x3e, 0xde, 0x76, 0x3e, 0xde, 0x75, 0x3e, 0xde, 0x76 +db 0x3e, 0xde, 0x76, 0x3e, 0xde, 0x76, 0x3f, 0xdd, 0x76, 0x3f, 0xde, 0x76 +db 0x3f, 0xde, 0x76, 0x3f, 0xde, 0x76, 0x3f, 0xde, 0x75, 0x3e, 0xde, 0x75 +db 0x3e, 0xdd, 0x76, 0x3e, 0xdd, 0x76, 0x3e, 0xde, 0x76, 0x3f, 0xde, 0x76 +db 0x3f, 0xde, 0x75, 0x3e, 0xdd, 0x75, 0x3f, 0xde, 0x75, 0x3c, 0xdd, 0x74 +db 0x42, 0xde, 0x79, 0xc0, 0xf7, 0xd0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x42, 0xe1, 0x70, 0x35, 0xdf, 0x66, 0x37, 0xdf, 0x67, 0x37, 0xe0, 0x67 +db 0x37, 0xdf, 0x67, 0x37, 0xe0, 0x67, 0x37, 0xdf, 0x67, 0x37, 0xe0, 0x67 +db 0x37, 0xe0, 0x67, 0x37, 0xdf, 0x67, 0x37, 0xe0, 0x67, 0x37, 0xdf, 0x67 +db 0x37, 0xdf, 0x67, 0x36, 0xdf, 0x67, 0x37, 0xe0, 0x67, 0x37, 0xdf, 0x67 +db 0x37, 0xe0, 0x67, 0x37, 0xdf, 0x67, 0x37, 0xdf, 0x67, 0x37, 0xdf, 0x67 +db 0x37, 0xe0, 0x67, 0x36, 0xe0, 0x67, 0x36, 0xdf, 0x67, 0x36, 0xe0, 0x67 +db 0x36, 0xe0, 0x67, 0x37, 0xe0, 0x67, 0x37, 0xe0, 0x67, 0x36, 0xdf, 0x67 +db 0x36, 0xe0, 0x67, 0x36, 0xe0, 0x67, 0x36, 0xdf, 0x67, 0x36, 0xdf, 0x67 +db 0x36, 0xdf, 0x67, 0x37, 0xdf, 0x67, 0x37, 0xdf, 0x67, 0x37, 0xdf, 0x67 +db 0x37, 0xe0, 0x67, 0x37, 0xe0, 0x67, 0x37, 0xdf, 0x66, 0x36, 0xe0, 0x67 +db 0x36, 0xdf, 0x67, 0x37, 0xdf, 0x67, 0x37, 0xe0, 0x67, 0x37, 0xdf, 0x67 +db 0x37, 0xe0, 0x67, 0x37, 0xe0, 0x67, 0x37, 0xe0, 0x67, 0x37, 0xdf, 0x67 +db 0x36, 0xdf, 0x67, 0x37, 0xdf, 0x67, 0x36, 0xdf, 0x67, 0x37, 0xdf, 0x67 +db 0x37, 0xdf, 0x67, 0x37, 0xe0, 0x67, 0x37, 0xe0, 0x67, 0x36, 0xdf, 0x67 +db 0x35, 0xdf, 0x66, 0x8f, 0xef, 0xab, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x3b, 0xe4, 0x61, 0x2c, 0xe2, 0x56, 0x2f, 0xe2, 0x57, 0x2f, 0xe1, 0x57 +db 0x2f, 0xe2, 0x57, 0x2f, 0xe1, 0x57, 0x2e, 0xe2, 0x57, 0x2f, 0xe1, 0x57 +db 0x2f, 0xe1, 0x57, 0x2f, 0xe2, 0x57, 0x2f, 0xe1, 0x57, 0x2f, 0xe2, 0x57 +db 0x2e, 0xe1, 0x57, 0x2e, 0xe2, 0x57, 0x2f, 0xe1, 0x57, 0x2f, 0xe1, 0x57 +db 0x2e, 0xe1, 0x57, 0x2e, 0xe2, 0x57, 0x2f, 0xe2, 0x57, 0x2f, 0xe2, 0x57 +db 0x2f, 0xe2, 0x57, 0x2e, 0xe1, 0x57, 0x2e, 0xe2, 0x57, 0x2f, 0xe2, 0x57 +db 0x2f, 0xe1, 0x57, 0x2f, 0xe1, 0x57, 0x2f, 0xe2, 0x57, 0x2f, 0xe2, 0x57 +db 0x2e, 0xe2, 0x57, 0x2f, 0xe1, 0x57, 0x2f, 0xe2, 0x57, 0x2f, 0xe2, 0x57 +db 0x2e, 0xe2, 0x57, 0x2e, 0xe2, 0x57, 0x2f, 0xe2, 0x57, 0x2f, 0xe2, 0x57 +db 0x2f, 0xe1, 0x57, 0x2f, 0xe1, 0x57, 0x2f, 0xe2, 0x57, 0x2e, 0xe2, 0x57 +db 0x2e, 0xe2, 0x57, 0x2f, 0xe2, 0x57, 0x2e, 0xe2, 0x57, 0x2f, 0xe2, 0x57 +db 0x2f, 0xe1, 0x57, 0x2e, 0xe2, 0x57, 0x2e, 0xe1, 0x57, 0x2f, 0xe2, 0x57 +db 0x2f, 0xe2, 0x57, 0x2f, 0xe2, 0x57, 0x2f, 0xe2, 0x57, 0x2e, 0xe2, 0x57 +db 0x2e, 0xe2, 0x57, 0x2e, 0xe2, 0x57, 0x2e, 0xe2, 0x57, 0x2e, 0xe2, 0x57 +db 0x2d, 0xe2, 0x56, 0x3c, 0xe3, 0x62, 0xb0, 0xf8, 0xbd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x33, 0xe6, 0x51, 0x24, 0xe4, 0x46, 0x26, 0xe4, 0x47, 0x26, 0xe4, 0x47 +db 0x26, 0xe4, 0x47, 0x26, 0xe4, 0x47, 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x46 +db 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x46, 0x27, 0xe4, 0x47, 0x27, 0xe4, 0x46 +db 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x46 +db 0x26, 0xe4, 0x47, 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x47 +db 0x26, 0xe3, 0x47, 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x47, 0x26, 0xe4, 0x47 +db 0x26, 0xe4, 0x47, 0x26, 0xe4, 0x46, 0x26, 0xe5, 0x46, 0x26, 0xe4, 0x46 +db 0x26, 0xe3, 0x46, 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x46 +db 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x46 +db 0x26, 0xe4, 0x47, 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x47, 0x26, 0xe4, 0x47 +db 0x26, 0xe4, 0x47, 0x26, 0xe4, 0x47, 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x46 +db 0x26, 0xe4, 0x47, 0x26, 0xe4, 0x47, 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x46 +db 0x27, 0xe4, 0x46, 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x47, 0x26, 0xe4, 0x47 +db 0x26, 0xe4, 0x47, 0x26, 0xe4, 0x47, 0x26, 0xe4, 0x46, 0x26, 0xe4, 0x46 +db 0x26, 0xe4, 0x47, 0x24, 0xe4, 0x46, 0x39, 0xe6, 0x54, 0xbd, 0xf5, 0xca +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x2b, 0xe8, 0x42, 0x1c, 0xe7, 0x35, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37 +db 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37 +db 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37 +db 0x1e, 0xe7, 0x37, 0x1e, 0xe7, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37 +db 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37 +db 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37 +db 0x1e, 0xe7, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37 +db 0x1e, 0xe6, 0x37, 0x1e, 0xe7, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37 +db 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1d, 0xe6, 0x37, 0x1d, 0xe7, 0x37 +db 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37 +db 0x1e, 0xe7, 0x37, 0x1e, 0xe7, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37 +db 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37 +db 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1d, 0xe6, 0x37 +db 0x1e, 0xe6, 0x37, 0x1e, 0xe7, 0x37, 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37 +db 0x1e, 0xe6, 0x37, 0x1e, 0xe6, 0x37, 0x1c, 0xe6, 0x36, 0x40, 0xec, 0x56 +db 0xcd, 0xf9, 0xd1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x24, 0xea, 0x34, 0x14, 0xe8, 0x26, 0x16, 0xe8, 0x29, 0x16, 0xe8, 0x29 +db 0x16, 0xe8, 0x29, 0x16, 0xe8, 0x28, 0x16, 0xe8, 0x28, 0x16, 0xe8, 0x28 +db 0x16, 0xe8, 0x28, 0x16, 0xe8, 0x29, 0x16, 0xe8, 0x29, 0x16, 0xe8, 0x29 +db 0x16, 0xe8, 0x29, 0x16, 0xe8, 0x29, 0x16, 0xe8, 0x28, 0x16, 0xe8, 0x28 +db 0x16, 0xe8, 0x28, 0x16, 0xe8, 0x28, 0x16, 0xe8, 0x29, 0x16, 0xe8, 0x28 +db 0x16, 0xe8, 0x28, 0x16, 0xe8, 0x29, 0x16, 0xe9, 0x29, 0x16, 0xe8, 0x28 +db 0x16, 0xe8, 0x29, 0x15, 0xe8, 0x28, 0x15, 0xe8, 0x28, 0x16, 0xe8, 0x28 +db 0x16, 0xe8, 0x28, 0x16, 0xe9, 0x28, 0x16, 0xe8, 0x29, 0x16, 0xe8, 0x28 +db 0x16, 0xe9, 0x28, 0x15, 0xe8, 0x28, 0x16, 0xe8, 0x28, 0x17, 0xe8, 0x29 +db 0x16, 0xe8, 0x28, 0x16, 0xe8, 0x28, 0x16, 0xe8, 0x28, 0x15, 0xe8, 0x29 +db 0x16, 0xe8, 0x29, 0x16, 0xe8, 0x29, 0x16, 0xe8, 0x28, 0x16, 0xe8, 0x28 +db 0x16, 0xe8, 0x28, 0x16, 0xe8, 0x28, 0x16, 0xe8, 0x29, 0x16, 0xe8, 0x29 +db 0x16, 0xe9, 0x29, 0x16, 0xe9, 0x29, 0x16, 0xe8, 0x29, 0x16, 0xe8, 0x29 +db 0x16, 0xe8, 0x28, 0x16, 0xe8, 0x28, 0x16, 0xe9, 0x29, 0x16, 0xe9, 0x29 +db 0x16, 0xe8, 0x28, 0x16, 0xe8, 0x28, 0x15, 0xe8, 0x27, 0x14, 0xe9, 0x26 +db 0x2f, 0xeb, 0x3e, 0x88, 0xf3, 0x92, 0xe9, 0xfe, 0xeb, 0xff, 0xff, 0xff +db 0x1d, 0xeb, 0x28, 0xd, 0xea, 0x19, 0xf, 0xea, 0x1a, 0xe, 0xeb, 0x1a +db 0xe, 0xea, 0x1a, 0xf, 0xea, 0x1b, 0xe, 0xeb, 0x1b, 0xe, 0xea, 0x1b +db 0xf, 0xeb, 0x1b, 0xf, 0xea, 0x1a, 0xf, 0xeb, 0x1a, 0xf, 0xea, 0x1a +db 0xe, 0xea, 0x1a, 0xe, 0xea, 0x1a, 0xe, 0xea, 0x1b, 0xe, 0xea, 0x1b +db 0xf, 0xea, 0x1b, 0xf, 0xea, 0x1b, 0xf, 0xe9, 0x1a, 0xe, 0xeb, 0x1a +db 0xf, 0xea, 0x1a, 0xf, 0xea, 0x1a, 0xe, 0xea, 0x1a, 0xf, 0xea, 0x1b +db 0xf, 0xea, 0x1a, 0xe, 0xe9, 0x1b, 0xf, 0xea, 0x1a, 0xe, 0xea, 0x1a +db 0xf, 0xea, 0x1b, 0xf, 0xea, 0x1b, 0xf, 0xea, 0x1a, 0xe, 0xea, 0x1b +db 0xe, 0xea, 0x1b, 0xf, 0xea, 0x1b, 0xf, 0xea, 0x1b, 0xf, 0xea, 0x1a +db 0xf, 0xea, 0x1a, 0xf, 0xea, 0x1a, 0xf, 0xea, 0x1a, 0xf, 0xea, 0x1a +db 0xe, 0xea, 0x1a, 0xe, 0xea, 0x1a, 0xe, 0xea, 0x1a, 0xf, 0xea, 0x1b +db 0xf, 0xea, 0x1b, 0xf, 0xea, 0x1b, 0xf, 0xea, 0x1a, 0xf, 0xea, 0x1a +db 0xe, 0xea, 0x1a, 0xf, 0xea, 0x1a, 0xf, 0xea, 0x1a, 0xf, 0xea, 0x1a +db 0xf, 0xea, 0x1b, 0xe, 0xea, 0x1b, 0xe, 0xea, 0x1a, 0xf, 0xea, 0x1a +db 0xe, 0xeb, 0x1b, 0xe, 0xea, 0x1b, 0xe, 0xea, 0x1b, 0xe, 0xea, 0x1b +db 0xc, 0xeb, 0x19, 0xd, 0xeb, 0x19, 0x49, 0xee, 0x51, 0xcf, 0xfd, 0xd0 +db 0x13, 0xed, 0x19, 0x6, 0xec, 0xd, 0x6, 0xec, 0xd, 0x6, 0xec, 0xc +db 0x6, 0xec, 0xc, 0x6, 0xec, 0xc, 0x6, 0xec, 0xd, 0x6, 0xec, 0xd +db 0x6, 0xec, 0xc, 0x6, 0xeb, 0xc, 0x6, 0xec, 0xd, 0x6, 0xec, 0xd +db 0x6, 0xec, 0xd, 0x7, 0xec, 0xc, 0x6, 0xec, 0xd, 0x6, 0xeb, 0xd +db 0x6, 0xec, 0xc, 0x6, 0xec, 0xc, 0x6, 0xec, 0xc, 0x6, 0xec, 0xd +db 0x6, 0xeb, 0xd, 0x6, 0xec, 0xd, 0x6, 0xec, 0xd, 0x6, 0xeb, 0xc +db 0x7, 0xec, 0xc, 0x7, 0xeb, 0xd, 0x6, 0xec, 0xc, 0x6, 0xec, 0xc +db 0x6, 0xec, 0xd, 0x6, 0xeb, 0xd, 0x6, 0xec, 0xd, 0x6, 0xec, 0xd +db 0x6, 0xec, 0xd, 0x6, 0xeb, 0xd, 0x6, 0xec, 0xd, 0x6, 0xeb, 0xc +db 0x6, 0xec, 0xc, 0x6, 0xec, 0xd, 0x6, 0xeb, 0xd, 0x6, 0xeb, 0xc +db 0x6, 0xec, 0xc, 0x6, 0xec, 0xd, 0x7, 0xec, 0xd, 0x7, 0xec, 0xd +db 0x6, 0xeb, 0xd, 0x6, 0xeb, 0xc, 0x7, 0xec, 0xd, 0x7, 0xec, 0xd +db 0x6, 0xeb, 0xc, 0x6, 0xeb, 0xd, 0x6, 0xec, 0xd, 0x7, 0xec, 0xc +db 0x6, 0xec, 0xc, 0x6, 0xeb, 0xd, 0x7, 0xeb, 0xd, 0x6, 0xec, 0xc +db 0x7, 0xec, 0xd, 0x7, 0xec, 0xd, 0x6, 0xec, 0xd, 0x7, 0xec, 0xc +db 0x7, 0xec, 0xd, 0x6, 0xec, 0xc, 0x7, 0xeb, 0xd, 0x47, 0xf0, 0x4c +db 0x21, 0xef, 0x23, 0x11, 0xee, 0x13, 0x13, 0xee, 0x14, 0x13, 0xee, 0x14 +db 0x13, 0xee, 0x14, 0x13, 0xee, 0x14, 0x13, 0xee, 0x15, 0x13, 0xee, 0x14 +db 0x13, 0xee, 0x14, 0x13, 0xee, 0x15, 0x13, 0xee, 0x14, 0x13, 0xee, 0x15 +db 0x13, 0xee, 0x15, 0x13, 0xee, 0x14, 0x13, 0xee, 0x14, 0x13, 0xee, 0x14 +db 0x13, 0xee, 0x14, 0x13, 0xee, 0x14, 0x13, 0xee, 0x14, 0x13, 0xee, 0x14 +db 0x13, 0xee, 0x14, 0x13, 0xee, 0x15, 0x13, 0xee, 0x15, 0x13, 0xee, 0x14 +db 0x13, 0xee, 0x14, 0x13, 0xee, 0x14, 0x13, 0xee, 0x14, 0x13, 0xee, 0x14 +db 0x13, 0xee, 0x15, 0x13, 0xee, 0x15, 0x13, 0xee, 0x14, 0x13, 0xee, 0x14 +db 0x13, 0xee, 0x14, 0x13, 0xee, 0x14, 0x13, 0xee, 0x15, 0x13, 0xee, 0x15 +db 0x13, 0xee, 0x14, 0x13, 0xee, 0x14, 0x13, 0xee, 0x15, 0x13, 0xee, 0x14 +db 0x13, 0xee, 0x14, 0x13, 0xee, 0x14, 0x13, 0xee, 0x14, 0x13, 0xee, 0x14 +db 0x13, 0xee, 0x15, 0x13, 0xee, 0x14, 0x13, 0xee, 0x15, 0x13, 0xee, 0x15 +db 0x13, 0xee, 0x14, 0x13, 0xee, 0x14, 0x13, 0xee, 0x14, 0x13, 0xee, 0x14 +db 0x13, 0xee, 0x14, 0x13, 0xee, 0x15, 0x13, 0xee, 0x14, 0x13, 0xee, 0x14 +db 0x13, 0xee, 0x14, 0x13, 0xee, 0x15, 0x13, 0xee, 0x15, 0x13, 0xee, 0x14 +db 0x13, 0xee, 0x14, 0x13, 0xee, 0x14, 0x11, 0xee, 0x12, 0x20, 0xef, 0x21 \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/score.inc b/programs/games/hunter/trunk/inc/score.inc new file mode 100644 index 0000000000..d9d6c72be5 --- /dev/null +++ b/programs/games/hunter/trunk/inc/score.inc @@ -0,0 +1,183 @@ +dw 52, 14 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xf9, 0xdf, 0xff, 0xde +db 0xb4, 0xff, 0xb4, 0xbb, 0xff, 0xba, 0xe9, 0xff, 0xe7, 0xfd, 0xff, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xff, 0xfc, 0xa0, 0xff, 0xa8, 0xe, 0xf7, 0x14 +db 0x0, 0xe7, 0x0, 0x0, 0xf4, 0x1, 0x34, 0xfb, 0x39, 0xcd, 0xee, 0xce +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xed, 0xff, 0xf4, 0x2f, 0xf9, 0x70, 0xc, 0xaa, 0x2e +db 0x4c, 0x6b, 0x46, 0x32, 0xc0, 0x52, 0x7, 0xe8, 0x44, 0x77, 0x9f, 0x84 +db 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xf8 +db 0xd8, 0xff, 0xe5, 0xce, 0xff, 0xe0, 0xe1, 0xff, 0xea, 0xf1, 0xff, 0xf3 +db 0xfc, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf0, 0xff, 0xf3, 0xd2, 0xff, 0xe3, 0xd2, 0xff, 0xe2, 0xf0, 0xff, 0xf3 +db 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xfd +db 0xdf, 0xff, 0xea, 0xcf, 0xff, 0xdf, 0xee, 0xff, 0xf3, 0xe3, 0xff, 0xeb +db 0xd0, 0xff, 0xe1, 0xf1, 0xff, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf7, 0xff, 0xf9, 0xd7, 0xff, 0xe5, 0xd0, 0xff, 0xe1 +db 0xee, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf3 +db 0xef, 0xff, 0xf4, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe0, 0xff, 0xec, 0x2c, 0xf4, 0x77, 0x57, 0x95, 0x77 +db 0xe5, 0xba, 0xdc, 0xd8, 0xe8, 0xe3, 0x4e, 0xce, 0x7f, 0x65, 0x82, 0x6f +db 0xff, 0xf3, 0xfb, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xfa, 0xa2, 0xff, 0xc2 +db 0x39, 0xfb, 0x7c, 0x29, 0xf7, 0x70, 0x49, 0xfe, 0x86, 0x7b, 0xfb, 0xa5 +db 0xd8, 0xf6, 0xe2, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xe2, 0xff, 0xee +db 0x7e, 0xff, 0xaa, 0x35, 0xf7, 0x78, 0x2b, 0xf7, 0x71, 0x79, 0xfe, 0xa6 +db 0xeb, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf5 +db 0x59, 0xfd, 0x91, 0x2d, 0xfd, 0x73, 0x7a, 0xff, 0xa8, 0x58, 0xff, 0x92 +db 0x2c, 0xfd, 0x74, 0x87, 0xfa, 0xb0, 0xfe, 0xf9, 0xfe, 0xff, 0xff, 0xff +db 0xf5, 0xff, 0xf9, 0x9f, 0xff, 0xc1, 0x38, 0xfa, 0x7b, 0x25, 0xf6, 0x6d +db 0x76, 0xfd, 0xa5, 0xe0, 0xff, 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x94, 0xff, 0xb9 +db 0x7d, 0xfc, 0xa8, 0xec, 0xf5, 0xef, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf3, 0xff, 0xf7, 0x6e, 0xfe, 0xae, 0x42, 0xf9, 0x9c +db 0xb3, 0xff, 0xe6, 0xd2, 0xfc, 0xea, 0xb8, 0xcb, 0xbb, 0xa7, 0xa3, 0xa3 +db 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xe3, 0x3b, 0xf9, 0x93 +db 0x22, 0xba, 0x62, 0x3a, 0x9d, 0x62, 0x27, 0xdf, 0x79, 0x16, 0xe5, 0x76 +db 0x90, 0xc9, 0xab, 0xfb, 0xf0, 0xf6, 0xfd, 0xff, 0xff, 0x72, 0xff, 0xb7 +db 0x24, 0xe8, 0x7b, 0x30, 0x9d, 0x5c, 0x39, 0xa7, 0x66, 0x1f, 0xe6, 0x78 +db 0x80, 0xf1, 0xb3, 0xf6, 0xf9, 0xf6, 0xff, 0xff, 0xff, 0xf3, 0xfe, 0xf7 +db 0x7a, 0xe3, 0xa5, 0x26, 0xeb, 0x7d, 0x2c, 0xfc, 0x8c, 0x26, 0xca, 0x6f +db 0x2a, 0xaa, 0x60, 0x42, 0xbe, 0x78, 0xaf, 0xbe, 0xb7, 0xff, 0xff, 0xff +db 0xad, 0xff, 0xd5, 0x2e, 0xf1, 0x86, 0x2f, 0xb0, 0x61, 0x44, 0x9b, 0x61 +db 0x32, 0xd7, 0x78, 0x6d, 0xf8, 0xad, 0xe1, 0xfa, 0xed, 0xff, 0xfe, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0xf8, 0xb9 +db 0x1e, 0xa9, 0x5b, 0xa2, 0xac, 0xa6, 0xfc, 0xfb, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xd7, 0xf9, 0xea, 0x3f, 0xd5, 0x8b +db 0x1d, 0xca, 0x78, 0x35, 0xee, 0xa0, 0x7a, 0xff, 0xcd, 0xf8, 0xfe, 0xff +db 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0x96, 0xff, 0xd9, 0x20, 0xc9, 0x83 +db 0x67, 0x7d, 0x75, 0xbf, 0xa1, 0xb3, 0xab, 0xde, 0xc8, 0x3f, 0xb3, 0x7c +db 0x74, 0x99, 0x87, 0xf8, 0xea, 0xf0, 0xd0, 0xff, 0xf0, 0x3a, 0xff, 0xb0 +db 0x2d, 0x92, 0x67, 0x8e, 0x82, 0x8a, 0xc4, 0xb0, 0xbd, 0x7b, 0xd4, 0xae +db 0x29, 0xe3, 0x94, 0xc5, 0xdc, 0xd3, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xe1, 0xe4, 0xe7, 0x47, 0xea, 0xa9, 0x28, 0xbc, 0x7b, 0x50, 0x59, 0x56 +db 0x95, 0x90, 0x96, 0xaa, 0xb7, 0xb3, 0xb3, 0xb0, 0xb1, 0xf5, 0xff, 0xff +db 0x68, 0xff, 0xc3, 0x19, 0xe6, 0x93, 0x4d, 0xad, 0x90, 0x77, 0xaf, 0xa8 +db 0x60, 0xe2, 0xb7, 0x2c, 0xf6, 0xa4, 0x9a, 0xe2, 0xc4, 0xfc, 0xf6, 0xf8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdd, 0xe9, 0xe5 +db 0x6d, 0x7b, 0x76, 0xa6, 0xa7, 0xa7, 0xfb, 0xfb, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf4, 0xff, 0xfa, 0xef, 0xf9, 0xf3, 0xc5, 0xc5, 0xc2 +db 0x67, 0x86, 0x78, 0x40, 0xa9, 0x86, 0x4c, 0xf7, 0xc1, 0xbd, 0xe9, 0xdd +db 0xff, 0xf9, 0xfd, 0xf4, 0xff, 0xff, 0x88, 0xfb, 0xdb, 0x3b, 0xab, 0x86 +db 0xb5, 0xab, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xae, 0xae, 0xab +db 0xa7, 0xa6, 0xa5, 0xfd, 0xf3, 0xf6, 0xca, 0xff, 0xf6, 0x49, 0xea, 0xb8 +db 0x62, 0x8a, 0x7c, 0xeb, 0xe3, 0xe4, 0xff, 0xff, 0xff, 0xdd, 0xf9, 0xf4 +db 0x44, 0xef, 0xb9, 0x8f, 0xb7, 0xaa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf6, 0xff, 0xfd, 0x72, 0xf5, 0xd1, 0x46, 0x8b, 0x74, 0xb7, 0x97, 0xa2 +db 0xfc, 0xf9, 0xfb, 0xfd, 0xfc, 0xfd, 0xfa, 0xf2, 0xf5, 0xe4, 0xff, 0xf8 +db 0x70, 0xff, 0xd4, 0x36, 0xf0, 0xb7, 0x40, 0xdf, 0xb1, 0x45, 0xe7, 0xba +db 0x47, 0xe5, 0xbc, 0x2c, 0xd1, 0xa1, 0x5f, 0x9f, 0x8b, 0xe2, 0xe0, 0xe1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfc +db 0xee, 0xe4, 0xe9, 0xf5, 0xf4, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xff, 0xff, 0xd9, 0xfe, 0xf9, 0xa5, 0xf0, 0xe4, 0xf1, 0xeb, 0xef +db 0xf4, 0xdc, 0xe3, 0xc8, 0xd7, 0xd8, 0x87, 0xe6, 0xd7, 0x7e, 0xaa, 0xa1 +db 0xe9, 0xde, 0xdf, 0xff, 0xff, 0xff, 0xba, 0xfd, 0xf2, 0x82, 0xd7, 0xc9 +db 0xcf, 0xd9, 0xd9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xf2, 0xf4 +db 0xf1, 0xf6, 0xf7, 0xff, 0xff, 0xff, 0xe2, 0xff, 0xfd, 0x89, 0xf3, 0xe3 +db 0xa9, 0xd9, 0xd4, 0xf6, 0xf8, 0xf9, 0xff, 0xff, 0xff, 0xd7, 0xff, 0xff +db 0x7f, 0xe7, 0xd5, 0x81, 0x92, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf6, 0xff, 0xff, 0xa0, 0xf6, 0xea, 0x7e, 0xab, 0xa5, 0xf1, 0xeb, 0xed +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xfd +db 0xb1, 0xff, 0xf6, 0x75, 0xe0, 0xce, 0x63, 0x94, 0x87, 0x5f, 0x7f, 0x73 +db 0x5d, 0x86, 0x7b, 0x50, 0x7c, 0x74, 0x6e, 0x7f, 0x7c, 0xe1, 0xdf, 0xe0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff +db 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xff, 0xff, 0xd1, 0xff, 0xff, 0x8d, 0xff, 0xfe, 0xb4, 0xff, 0xff +db 0xce, 0xff, 0xff, 0xc2, 0xff, 0xff, 0x91, 0xe1, 0xe2, 0x73, 0x87, 0x88 +db 0xe6, 0xdf, 0xde, 0xff, 0xff, 0xff, 0xe1, 0xfd, 0xfe, 0x9e, 0xfc, 0xfc +db 0xab, 0xff, 0xfe, 0xc8, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xa8, 0xfc, 0xfc +db 0xb9, 0xdb, 0xdb, 0xf4, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xba, 0xff, 0xff +db 0xa2, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xc1, 0xff, 0xff, 0xa9, 0xff, 0xff +db 0x65, 0x9a, 0x9b, 0x8f, 0x8e, 0x8e, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff +db 0xb1, 0xff, 0xff, 0xa8, 0xfe, 0xfe, 0x9e, 0xf7, 0xf8, 0xb6, 0xff, 0xff +db 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xdc, 0xff, 0xff, 0x9c, 0xf7, 0xf8, 0x9a, 0xe1, 0xe3, 0xaa, 0xdc, 0xde +db 0xa1, 0xdf, 0xe1, 0x94, 0xe0, 0xe2, 0xc1, 0xdd, 0xdd, 0xf8, 0xf6, 0xf6 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc8, 0xff, 0xff +db 0xbd, 0xff, 0xff, 0xf4, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe7, 0xfc, 0xfc, 0x7f, 0xb6, 0xb7, 0x6e, 0xbe, 0xbe +db 0x87, 0xe8, 0xe8, 0x7e, 0xd5, 0xd5, 0x5a, 0x85, 0x86, 0x93, 0x92, 0x92 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf8, 0xf9, 0xb3, 0xda, 0xdb +db 0x7c, 0xd3, 0xd3, 0x84, 0xe6, 0xe6, 0x85, 0xe2, 0xe2, 0x53, 0x8d, 0x8d +db 0x6d, 0x77, 0x77, 0xe5, 0xe3, 0xe3, 0xff, 0xff, 0xff, 0xee, 0xf9, 0xfa +db 0x95, 0xd2, 0xd2, 0x7e, 0xdb, 0xdb, 0x83, 0xe1, 0xe1, 0x5c, 0x90, 0x90 +db 0x49, 0x4f, 0x4f, 0xc8, 0xc8, 0xc8, 0xff, 0xff, 0xff, 0xe1, 0xfd, 0xfd +db 0x85, 0xda, 0xda, 0x72, 0xc4, 0xc4, 0x79, 0xcc, 0xcc, 0x73, 0xc8, 0xc8 +db 0x70, 0xae, 0xae, 0xb0, 0xb0, 0xb0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xff, 0xff, 0xc5, 0xf6, 0xf6, 0x8a, 0xe8, 0xe8, 0x8a, 0xea, 0xea +db 0x8d, 0xea, 0xea, 0x67, 0xac, 0xac, 0x7a, 0x8c, 0x8c, 0xe6, 0xe4, 0xe4 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xca, 0xff, 0xff +db 0x65, 0xae, 0xae, 0xa0, 0xa6, 0xa6, 0xfb, 0xfb, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xfd, 0xfd, 0xce, 0xcc, 0xcc, 0xa5, 0xae, 0xae +db 0x79, 0x89, 0x89, 0x64, 0x71, 0x71, 0x98, 0x97, 0x97, 0xec, 0xea, 0xea +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf4, 0xf4 +db 0xb6, 0xc0, 0xc0, 0x71, 0x83, 0x83, 0x6b, 0x79, 0x79, 0x89, 0x8d, 0x8d +db 0xca, 0xc9, 0xc9, 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd8, 0xda, 0xda, 0x94, 0xa2, 0xa2, 0x6b, 0x7b, 0x7b, 0x8f, 0x90, 0x90 +db 0xcf, 0xcd, 0xcd, 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xf9, 0xfc, 0xfc +db 0xb9, 0xc0, 0xc0, 0x8c, 0x95, 0x95, 0x96, 0x9c, 0x9c, 0x93, 0x9a, 0x9a +db 0x92, 0x97, 0x97, 0xc2, 0xc2, 0xc2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf6, 0xfa, 0xfa, 0xb1, 0xc0, 0xc0, 0x6a, 0x7b, 0x7b +db 0x5e, 0x6e, 0x6e, 0x74, 0x7a, 0x7a, 0xba, 0xb9, 0xb9, 0xf7, 0xf7, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xf3, 0xf3 +db 0x7f, 0x88, 0x88, 0xb6, 0xb6, 0xb6, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xfb, 0xf9, 0xf9 +db 0xf5, 0xf3, 0xf3, 0xef, 0xee, 0xee, 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xfb, 0xfb, 0xf3, 0xf1, 0xf1, 0xf2, 0xf2, 0xf2, 0xf8, 0xf8, 0xf8 +db 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xfd, 0xfd, 0xf8, 0xf8, 0xf8, 0xf3, 0xf2, 0xf2, 0xf8, 0xf8, 0xf8 +db 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xfb, 0xfb, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8 +db 0xf8, 0xf8, 0xf8, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfb, 0xfb, 0xf1, 0xf0, 0xf0 +db 0xed, 0xec, 0xec, 0xf4, 0xf4, 0xf4, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe +db 0xf7, 0xf6, 0xf6, 0xfb, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/shots.inc b/programs/games/hunter/trunk/inc/shots.inc new file mode 100644 index 0000000000..0917d47d7e --- /dev/null +++ b/programs/games/hunter/trunk/inc/shots.inc @@ -0,0 +1,241 @@ +dw 64, 15 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xed, 0xff, 0xeb, 0xdb, 0xff, 0xd9, 0xfd, 0xff, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xff, 0xf2, 0x99, 0xff, 0x99 +db 0x83, 0xff, 0x81, 0xec, 0xfe, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xff, 0xf9 +db 0xf5, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb2, 0xff, 0xb9 +db 0x2f, 0xff, 0x39, 0x14, 0xff, 0x21, 0x5c, 0xff, 0x67, 0x7a, 0xff, 0x84 +db 0xea, 0xff, 0xec, 0xff, 0xff, 0xff, 0xda, 0xff, 0xda, 0x18, 0xf8, 0x19 +db 0x2, 0xeb, 0x2, 0x86, 0xa9, 0x87, 0xfe, 0xf7, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9d, 0xff, 0xa3 +db 0x73, 0xfd, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xef, 0x21, 0xff, 0x72 +db 0x3, 0xd3, 0x45, 0x14, 0xa2, 0x3e, 0x2, 0xef, 0x4a, 0x2, 0xf9, 0x4f +db 0x93, 0xca, 0xa6, 0xff, 0xfc, 0xfe, 0xfd, 0xff, 0xfd, 0x9a, 0xdb, 0xa7 +db 0x3, 0xd5, 0x4a, 0x5e, 0x7f, 0x6a, 0xff, 0xf3, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x71, 0xff, 0xa5 +db 0x1c, 0xcc, 0x58, 0xe4, 0xd8, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbd, 0xff, 0xd2, 0x1a, 0xed, 0x62 +db 0x41, 0x6d, 0x54, 0xa0, 0x8b, 0x9b, 0x64, 0xd0, 0x8e, 0x11, 0xf1, 0x5e +db 0x6d, 0xa0, 0x7e, 0xff, 0xf7, 0xfc, 0xff, 0xff, 0xff, 0xe1, 0xfc, 0xed +db 0x31, 0xe7, 0x70, 0x49, 0x94, 0x60, 0x90, 0xf9, 0xac, 0xaf, 0xff, 0xc4 +db 0xf5, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xdc, 0x94, 0xff, 0xb0 +db 0xa1, 0xff, 0xbb, 0xf1, 0xff, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0xff, 0xe0, 0x53, 0xff, 0x8c +db 0x21, 0xdf, 0x5f, 0x78, 0xe4, 0x94, 0x9a, 0xff, 0xb6, 0xcf, 0xff, 0xdd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xdc, 0xff, 0xe5, 0x91, 0xff, 0xaf, 0x87, 0xff, 0xaa, 0xc4, 0xff, 0xd4 +db 0xdf, 0xff, 0xe8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf4, 0xd5, 0xff, 0xe0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xba, 0xff, 0xd7, 0x2b, 0xe5, 0x7a +db 0x80, 0xb3, 0x98, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xf9, 0x65, 0xa9, 0x79 +db 0x70, 0x7f, 0x74, 0xfe, 0xfb, 0xfd, 0xff, 0xff, 0xff, 0xe6, 0xff, 0xf1 +db 0x4a, 0xfc, 0x96, 0x30, 0xf7, 0x86, 0x2a, 0xf8, 0x7f, 0x28, 0xfd, 0x83 +db 0x85, 0xff, 0xbd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xa8, 0xff, 0xd2, 0x3c, 0xff, 0x94, 0x28, 0xfd, 0x81 +db 0x28, 0xfc, 0x82, 0x68, 0xff, 0xb1, 0xe6, 0xff, 0xf3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf7, 0xff, 0xfb, 0x66, 0xfd, 0xa8, 0x2a, 0xfd, 0x82 +db 0x36, 0xff, 0x8b, 0x2c, 0xfe, 0x85, 0x27, 0xfc, 0x80, 0x43, 0xf1, 0x8e +db 0xdb, 0xec, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe4, 0xff, 0xf2 +db 0x59, 0xff, 0xa3, 0x28, 0xfa, 0x7f, 0x2b, 0xf2, 0x7e, 0x2e, 0xfe, 0x88 +db 0x58, 0xf5, 0x9d, 0xe5, 0xeb, 0xe8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9a, 0xff, 0xc8, 0x36, 0xff, 0x92 +db 0xb4, 0xef, 0xd0, 0xff, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xf4, 0x55, 0xff, 0xad +db 0x40, 0xff, 0xa7, 0x7c, 0xff, 0xc2, 0xb1, 0xff, 0xdb, 0xbf, 0xc9, 0xc5 +db 0xc7, 0xc1, 0xc4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0xff, 0xf3 +db 0x47, 0xff, 0xa8, 0x31, 0xd2, 0x83, 0x48, 0x7a, 0x62, 0x4e, 0xbd, 0x88 +db 0x36, 0xf2, 0x96, 0xb9, 0xd8, 0xc8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xde, 0xff, 0xf0, 0x41, 0xff, 0xa5, 0x2f, 0xc8, 0x7d, 0x40, 0x77, 0x5d +db 0x4d, 0x97, 0x74, 0x2c, 0xe9, 0x8c, 0x74, 0xe4, 0xae, 0xf3, 0xef, 0xf1 +db 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xad, 0xd3, 0xc1, 0x39, 0xc9, 0x84 +db 0x37, 0xd3, 0x88, 0x42, 0x7c, 0x61, 0x43, 0x7f, 0x63, 0x3f, 0x72, 0x59 +db 0xbc, 0xc0, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xab, 0xff, 0xd7 +db 0x2c, 0xe8, 0x8d, 0x3c, 0x86, 0x65, 0x56, 0x79, 0x69, 0x54, 0xc1, 0x8b +db 0x2d, 0xbe, 0x76, 0xa7, 0xad, 0xaa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb2, 0xf7, 0xd5, 0x2c, 0xb4, 0x70 +db 0x57, 0x81, 0x6c, 0xf3, 0xed, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xce, 0xf0, 0xe2 +db 0x3b, 0xc1, 0x93, 0x24, 0xdc, 0xa1, 0x27, 0xfe, 0xbb, 0x68, 0xff, 0xda +db 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe4, 0xff, 0xf9 +db 0x45, 0xf0, 0xbc, 0x40, 0x68, 0x5a, 0xbd, 0xa8, 0xb0, 0xcf, 0xf1, 0xec +db 0x2f, 0xf3, 0xb7, 0x7d, 0xbc, 0xa8, 0xff, 0xfc, 0xfe, 0xff, 0xff, 0xff +db 0xb8, 0xff, 0xec, 0x2d, 0xed, 0xb2, 0x48, 0x6c, 0x60, 0xb6, 0xa8, 0xae +db 0xea, 0xdf, 0xe5, 0x9d, 0xe8, 0xcf, 0x30, 0xdd, 0xa9, 0xbd, 0xd0, 0xcb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf4, 0xf8, 0x82, 0xef, 0xd1 +db 0x33, 0xbc, 0x92, 0xae, 0xa2, 0xa7, 0xd9, 0xd0, 0xd5, 0xd6, 0xcf, 0xd3 +db 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, 0xff, 0xef +db 0x3e, 0xfc, 0xc1, 0x37, 0xde, 0xb4, 0x65, 0xe4, 0xc7, 0x93, 0xe6, 0xd0 +db 0x66, 0x7a, 0x70, 0xbe, 0xbb, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf7, 0xf8, 0xad, 0xa8, 0xaa +db 0xaa, 0xa8, 0xa9, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xf6, 0xe9, 0xfa, 0xf6 +db 0xbf, 0xba, 0xbd, 0x77, 0x8b, 0x89, 0x61, 0xac, 0x98, 0x69, 0xf2, 0xc7 +db 0xb9, 0xec, 0xdb, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xfc +db 0x78, 0xe7, 0xc5, 0x6b, 0x7c, 0x77, 0xfd, 0xf4, 0xf6, 0xe9, 0xff, 0xfd +db 0x71, 0xf5, 0xcc, 0x93, 0xbd, 0xaf, 0xff, 0xfb, 0xfe, 0xff, 0xff, 0xff +db 0xce, 0xff, 0xf4, 0x62, 0xd7, 0xb5, 0x80, 0x86, 0x85, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xec, 0xff, 0xfe, 0x75, 0xf0, 0xca, 0x99, 0xb7, 0xad +db 0xfd, 0xfc, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xba, 0xff, 0xf1 +db 0x5f, 0xbc, 0x9f, 0xcc, 0xc9, 0xca, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff +db 0x94, 0xe0, 0xcb, 0x53, 0xc7, 0xa1, 0x5a, 0xde, 0xb1, 0x73, 0xf5, 0xca +db 0xaf, 0xeb, 0xd7, 0xfb, 0xfc, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xb3, 0xff, 0xfb, 0xab, 0xfc, 0xf9 +db 0xfb, 0xff, 0xff, 0xfd, 0xf9, 0xfa, 0xd9, 0xe8, 0xe9, 0x9d, 0xf5, 0xf1 +db 0x8e, 0xb1, 0xaf, 0xf5, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff +db 0x98, 0xe8, 0xe4, 0x7a, 0x8a, 0x8a, 0xfd, 0xf6, 0xf6, 0xec, 0xff, 0xff +db 0x98, 0xf6, 0xf1, 0xa3, 0xc0, 0xbf, 0xff, 0xfc, 0xfd, 0xff, 0xff, 0xff +db 0xe2, 0xff, 0xfe, 0x93, 0xf5, 0xf1, 0xa6, 0xcc, 0xcc, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xca, 0xff, 0xff, 0x84, 0xd2, 0xce, 0x70, 0x76, 0x75 +db 0xf5, 0xf3, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcd, 0xff, 0xfe +db 0x7f, 0xc7, 0xc3, 0xcc, 0xc9, 0xca, 0xff, 0xff, 0xff, 0xea, 0xff, 0xff +db 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0xff, 0xff +db 0xc0, 0xed, 0xee, 0xa4, 0x9d, 0x9c, 0x78, 0x74, 0x71, 0x79, 0xa8, 0xa2 +db 0x9d, 0xfc, 0xf7, 0xdc, 0xea, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xf7, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xb5, 0xff, 0xff, 0x96, 0xff, 0xff +db 0xad, 0xff, 0xff, 0xb5, 0xff, 0xff, 0xab, 0xff, 0xff, 0x86, 0xdc, 0xdd +db 0x6b, 0x75, 0x76, 0xf2, 0xee, 0xee, 0xfa, 0xff, 0xff, 0xb7, 0xff, 0xff +db 0x97, 0xff, 0xff, 0xa1, 0xeb, 0xec, 0xf4, 0xff, 0xff, 0xbc, 0xff, 0xff +db 0x96, 0xff, 0xff, 0xb1, 0xf8, 0xf9, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf8, 0xff, 0xff, 0xae, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xc9, 0xff, 0xff +db 0xc0, 0xff, 0xff, 0x9e, 0xff, 0xff, 0x5b, 0x84, 0x85, 0x98, 0x93, 0x94 +db 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0xff, 0xff +db 0x93, 0xfb, 0xfc, 0xb8, 0xfa, 0xfa, 0xc3, 0xff, 0xff, 0xa0, 0xff, 0xff +db 0xaf, 0xe2, 0xe2, 0xef, 0xec, 0xec, 0xff, 0xff, 0xff, 0xba, 0xff, 0xff +db 0x9c, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xbf, 0xf7, 0xf8, 0x9e, 0xf6, 0xf7 +db 0x81, 0xd6, 0xd6, 0x84, 0x8a, 0x8a, 0xfd, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0xff, 0xff, 0xa9, 0xff, 0xff +db 0xe8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xf2, 0xf2, 0x72, 0xb4, 0xb4 +db 0x82, 0xda, 0xda, 0x88, 0xe6, 0xe6, 0x7c, 0xc6, 0xc6, 0x48, 0x5c, 0x5c +db 0x8c, 0x8a, 0x8a, 0xff, 0xfe, 0xfe, 0xfb, 0xff, 0xff, 0xad, 0xed, 0xed +db 0x77, 0xc4, 0xc4, 0x75, 0xb6, 0xb6, 0xb5, 0xc3, 0xc3, 0xaf, 0xee, 0xee +db 0x79, 0xc5, 0xc5, 0x70, 0xb2, 0xb2, 0xa9, 0xb4, 0xb4, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe0, 0xf6, 0xf6, 0x8a, 0xd7, 0xd7, 0x83, 0xe1, 0xe1 +db 0x86, 0xe0, 0xe0, 0x66, 0x9a, 0x9a, 0x4e, 0x51, 0x51, 0xd5, 0xd3, 0xd3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0xfb, 0xfb +db 0x8f, 0xd9, 0xd9, 0x83, 0xe0, 0xe0, 0x86, 0xe3, 0xe3, 0x7a, 0xc6, 0xc6 +db 0x4e, 0x61, 0x61, 0xc2, 0xc0, 0xc0, 0xff, 0xff, 0xff, 0xd4, 0xfc, 0xfc +db 0x86, 0xd7, 0xd7, 0x83, 0xdf, 0xdf, 0x8a, 0xe8, 0xe8, 0x80, 0xcd, 0xcd +db 0x52, 0x70, 0x70, 0x98, 0x96, 0x96, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xfc, 0xfc, 0x7f, 0xdd, 0xdd +db 0x87, 0xa4, 0xa4, 0xf4, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf2, 0xf2, 0x95, 0x95, 0x95 +db 0x78, 0x80, 0x80, 0x62, 0x6d, 0x6d, 0x5b, 0x60, 0x60, 0x86, 0x83, 0x83 +db 0xea, 0xea, 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xde, 0xde, 0xde +db 0x7f, 0x80, 0x80, 0x73, 0x73, 0x73, 0xb3, 0xb3, 0xb3, 0xe1, 0xe2, 0xe2 +db 0x82, 0x83, 0x83, 0x71, 0x72, 0x72, 0xa7, 0xa6, 0xa6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xfb, 0xfb, 0xca, 0xce, 0xce, 0x7a, 0x84, 0x84 +db 0x5d, 0x67, 0x67, 0x6c, 0x6a, 0x6a, 0xc4, 0xc2, 0xc2, 0xfe, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe +db 0xc5, 0xc8, 0xc8, 0x6e, 0x78, 0x78, 0x61, 0x6b, 0x6b, 0x60, 0x63, 0x63 +db 0xa7, 0xa6, 0xa6, 0xf4, 0xf4, 0xf4, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfc +db 0xa5, 0xa8, 0xa8, 0x78, 0x81, 0x81, 0x61, 0x6c, 0x6c, 0x60, 0x64, 0x64 +db 0x9a, 0x97, 0x97, 0xf3, 0xf3, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf5, 0xf5, 0x78, 0x81, 0x81 +db 0x70, 0x71, 0x71, 0xf1, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf5, 0xf3, 0xf3, 0xeb, 0xe8, 0xe8, 0xec, 0xea, 0xea, 0xfc, 0xfc, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xfc, 0xfc, 0xfc, 0xfb, 0xfb, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf4, 0xf4 +db 0xea, 0xe8, 0xe8, 0xf6, 0xf5, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf2, 0xf0, 0xf0, 0xea, 0xe8, 0xe8, 0xef, 0xed, 0xed +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf6, 0xf4, 0xf4, 0xea, 0xe8, 0xe8, 0xee, 0xec, 0xec +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xf0, 0xf0 +db 0xf1, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/star.inc b/programs/games/hunter/trunk/inc/star.inc new file mode 100644 index 0000000000..4c490e1011 --- /dev/null +++ b/programs/games/hunter/trunk/inc/star.inc @@ -0,0 +1,65 @@ +dw 16, 16 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe +db 0xfa, 0xfb, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xe5, 0xff, 0x55, 0x72, 0xc6 +db 0x3a, 0x63, 0xaf, 0xdc, 0xe3, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x94, 0x9c, 0xff, 0x2, 0x16, 0xbf +db 0x2, 0x29, 0x8e, 0xa6, 0xb8, 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xfa, 0xff, 0x5f, 0x6d, 0xff, 0x7, 0x24, 0xda +db 0x2, 0x29, 0x91, 0x69, 0x87, 0xc2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd9, 0xda, 0xff, 0x4f, 0x5e, 0xff, 0x2b, 0x3d, 0xee +db 0x2, 0x27, 0x9b, 0x29, 0x54, 0xa7, 0xf1, 0xf5, 0xf9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xee, 0xef, 0xfe, 0xe1, 0xe4, 0xff, 0xe6, 0xe9, 0xff +db 0xe3, 0xe6, 0xff, 0x8c, 0x96, 0xff, 0x72, 0x77, 0xff, 0x69, 0x62, 0xfc +db 0x2, 0x1a, 0xae, 0x2, 0x35, 0x94, 0xca, 0xd4, 0xe8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd0, 0xd2, 0xfe, 0x43, 0x56, 0xff, 0x38, 0x58, 0xff +db 0x70, 0x7b, 0xff, 0x68, 0x6e, 0xff, 0xb8, 0xb4, 0xfe, 0x9a, 0xa4, 0xff +db 0x31, 0x40, 0xe7, 0x33, 0x4a, 0xd4, 0x65, 0x74, 0xf2, 0x77, 0x7d, 0xff +db 0x62, 0x70, 0xdc, 0x5b, 0x7c, 0x9d, 0xaf, 0xbf, 0xce, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xcf, 0xff, 0x42, 0x55, 0xff +db 0x6c, 0x74, 0xff, 0xd7, 0xca, 0xff, 0xd1, 0xf1, 0xfd, 0xc3, 0xf2, 0xfc +db 0xcf, 0xcb, 0xff, 0x84, 0x86, 0xff, 0x22, 0x38, 0xff, 0x2, 0xd, 0xcb +db 0x2, 0x23, 0x79, 0x6f, 0x8c, 0xa7, 0xe9, 0xed, 0xf1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd6, 0xd7, 0xff +db 0x45, 0x59, 0xff, 0x74, 0x7f, 0xff, 0xd2, 0xf7, 0xfd, 0xc7, 0xf7, 0xfc +db 0x7c, 0x86, 0xff, 0x1a, 0x28, 0xfb, 0x2, 0x18, 0xb6, 0x1c, 0x43, 0x74 +db 0xaa, 0xbd, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xb4, 0xbe, 0xff, 0x7b, 0x83, 0xff, 0xd1, 0xd2, 0xfe, 0xd1, 0xd1, 0xff +db 0x5d, 0x6d, 0xff, 0x2, 0x19, 0xbc, 0x2, 0x31, 0x7a, 0xa2, 0xb6, 0xcd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x9b, 0xaa, 0xff, 0x77, 0x7e, 0xff, 0x48, 0x57, 0xff, 0x6e, 0x71, 0xff +db 0x8e, 0x8e, 0xff, 0x5, 0x32, 0xba, 0x2, 0x2c, 0x91, 0x84, 0x9d, 0xcf +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfb, 0xff +db 0x61, 0x77, 0xff, 0x23, 0x38, 0xff, 0x2, 0x15, 0xdc, 0xd, 0x2b, 0xd8 +db 0x49, 0x59, 0xff, 0x15, 0x3b, 0xd8, 0x2, 0x29, 0x92, 0x42, 0x68, 0xb3 +db 0xfd, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xe1, 0xff +db 0x1c, 0x30, 0xff, 0x2, 0xd, 0xc3, 0x14, 0x3d, 0x79, 0x92, 0xa5, 0xcb +db 0x57, 0x66, 0xff, 0xd, 0x2b, 0xf0, 0x2, 0x2d, 0x9d, 0x17, 0x46, 0xa0 +db 0xe6, 0xea, 0xf5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb9, 0xbe, 0xfa +db 0x12, 0x2a, 0xbd, 0x38, 0x5a, 0x88, 0xc5, 0xd2, 0xd7, 0xff, 0xff, 0xff +db 0xee, 0xef, 0xff, 0x52, 0x64, 0xfd, 0x2, 0x20, 0xad, 0x2, 0x29, 0x8f +db 0xaf, 0xbf, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xf0, 0xfa +db 0xe1, 0xe7, 0xeb, 0xf6, 0xf9, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf1, 0xf1, 0xff, 0x7a, 0x8d, 0xd9, 0x71, 0x8b, 0xc3 +db 0xc4, 0xd0, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/start.inc b/programs/games/hunter/trunk/inc/start.inc new file mode 100644 index 0000000000..cd62083422 --- /dev/null +++ b/programs/games/hunter/trunk/inc/start.inc @@ -0,0 +1,2001 @@ +dw 200, 40 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xff, 0xff, 0xfe, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfd, 0xfc, 0xff +db 0xf8, 0xf5, 0xff, 0xf4, 0xf1, 0xff, 0xee, 0xe9, 0xff, 0xe1, 0xda, 0xff +db 0xdb, 0xd1, 0xff, 0xcb, 0xbf, 0xff, 0xbc, 0xab, 0xff, 0xc5, 0xb9, 0xff +db 0xda, 0xd6, 0xff, 0xe8, 0xe8, 0xff, 0xf2, 0xf2, 0xff, 0xf5, 0xf5, 0xff +db 0xf9, 0xf9, 0xff, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfa, 0xfe +db 0xf3, 0xef, 0xfc, 0xe3, 0xdb, 0xf8, 0xd0, 0xc4, 0xf8, 0xc3, 0xb4, 0xfe +db 0xab, 0x95, 0xff, 0x9a, 0x81, 0xff, 0x8e, 0x71, 0xff, 0x74, 0x50, 0xff +db 0x69, 0x44, 0xff, 0x5b, 0x32, 0xff, 0x4c, 0x20, 0xff, 0x55, 0x31, 0xff +db 0x69, 0x5e, 0xff, 0x81, 0x81, 0xff, 0x96, 0x96, 0xff, 0x9c, 0x9c, 0xff +db 0xaf, 0xaf, 0xff, 0xc4, 0xc4, 0xff, 0xc8, 0xc9, 0xff, 0xd1, 0xd7, 0xff +db 0xe5, 0xea, 0xff, 0xf5, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xfc, 0xff, 0xeb, 0xf4, 0xff, 0xe8, 0xf2, 0xff, 0xf5, 0xfa, 0xff +db 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf9, 0xff, 0xe9, 0xf2, 0xff, 0xea, 0xf2 +db 0xff, 0xf7, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfd, 0xfb, 0xfe, 0xef, 0xe8, 0xfa, 0xcd, 0xc0, 0xf3, 0xaa, 0x94, 0xe9 +db 0x90, 0x73, 0xe3, 0x75, 0x52, 0xdd, 0x5f, 0x37, 0xe6, 0x53, 0x29, 0xfb +db 0x48, 0x1a, 0xff, 0x41, 0x10, 0xff, 0x3d, 0xd, 0xff, 0x38, 0x6, 0xff +db 0x36, 0x3, 0xff, 0x35, 0x2, 0xff, 0x34, 0x2, 0xff, 0x34, 0xa, 0xff +db 0x36, 0x29, 0xff, 0x3b, 0x3b, 0xff, 0x40, 0x40, 0xff, 0x41, 0x41, 0xff +db 0x4a, 0x4a, 0xff, 0x54, 0x54, 0xff, 0x53, 0x58, 0xff, 0x4e, 0x66, 0xff +db 0x5e, 0x7f, 0xff, 0x86, 0x9f, 0xff, 0xbb, 0xc8, 0xff, 0xe7, 0xec, 0xff +db 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf9, 0xff, 0xce, 0xe2, 0xff +db 0x99, 0xc1, 0xff, 0x6b, 0xa7, 0xff, 0x62, 0xab, 0xff, 0x81, 0xc8, 0xff +db 0xb1, 0xe0, 0xff, 0xe9, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfc, 0xff, 0xde, 0xec +db 0xff, 0xaf, 0xce, 0xff, 0x85, 0xb6, 0xff, 0x65, 0xa3, 0xff, 0x66, 0xa4 +db 0xff, 0x8b, 0xba, 0xff, 0xbc, 0xd6, 0xff, 0xf0, 0xf6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf9, 0xfe, 0xf3, 0xe0, 0xf9 +db 0xda, 0xae, 0xef, 0xa5, 0x75, 0xe4, 0x69, 0x41, 0xd9, 0x49, 0x1c, 0xd1 +db 0x3f, 0xd, 0xce, 0x37, 0x5, 0xcd, 0x33, 0x2, 0xde, 0x32, 0x2, 0xf9 +db 0x33, 0x2, 0xff, 0x33, 0x2, 0xff, 0x33, 0x2, 0xff, 0x34, 0x2, 0xff +db 0x34, 0x2, 0xff, 0x34, 0x2, 0xff, 0x34, 0x2, 0xff, 0x34, 0xa, 0xff +db 0x34, 0x26, 0xff, 0x33, 0x33, 0xff, 0x33, 0x33, 0xff, 0x33, 0x33, 0xff +db 0x33, 0x32, 0xff, 0x33, 0x32, 0xff, 0x2d, 0x32, 0xff, 0x14, 0x34, 0xff +db 0x7, 0x39, 0xff, 0x15, 0x44, 0xff, 0x3d, 0x63, 0xff, 0x7a, 0x95, 0xff +db 0xbe, 0xca, 0xff, 0xef, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xeb, 0xf4, 0xff, 0xa1, 0xc6, 0xff, 0x52, 0x98, 0xff +db 0x20, 0x79, 0xff, 0xb, 0x6d, 0xff, 0x7, 0x7b, 0xff, 0x12, 0x9b, 0xff +db 0x39, 0xb1, 0xff, 0x95, 0xd5, 0xff, 0xec, 0xf7, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xff, 0xc9, 0xdf, 0xff, 0x70, 0xaa +db 0xff, 0x2f, 0x82, 0xff, 0x15, 0x73, 0xff, 0x8, 0x6c, 0xff, 0x9, 0x6c +db 0xff, 0x17, 0x74, 0xff, 0x42, 0x8e, 0xff, 0x9d, 0xc3, 0xff, 0xec, 0xf4 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfd, 0xff, 0xf5, 0xe5, 0xfa, 0xdf, 0xb0, 0xf0, 0xc2, 0x66, 0xe0 +db 0xa1, 0x2a, 0xd5, 0x65, 0xa, 0xce, 0x36, 0x2, 0xcc, 0x32, 0x2, 0xcc +db 0x33, 0x2, 0xcc, 0x34, 0x2, 0xcd, 0x34, 0x2, 0xde, 0x35, 0x2, 0xfa +db 0x34, 0x2, 0xff, 0x34, 0x2, 0xff, 0x33, 0x2, 0xff, 0x33, 0x2, 0xff +db 0x33, 0x2, 0xff, 0x32, 0x2, 0xff, 0x32, 0x2, 0xff, 0x32, 0x8, 0xff +db 0x32, 0x24, 0xff, 0x32, 0x32, 0xff, 0x32, 0x33, 0xff, 0x33, 0x33, 0xff +db 0x33, 0x33, 0xff, 0x35, 0x34, 0xff, 0x2f, 0x34, 0xff, 0x13, 0x34, 0xff +db 0x2, 0x33, 0xff, 0x2, 0x32, 0xff, 0x2, 0x31, 0xff, 0xd, 0x3e, 0xff +db 0x4f, 0x72, 0xff, 0xca, 0xd5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf8, 0xfb, 0xff, 0xac, 0xcd, 0xff, 0x33, 0x84, 0xff, 0x3, 0x68, 0xff +db 0x2, 0x66, 0xff, 0x2, 0x67, 0xff, 0x2, 0x78, 0xff, 0x2, 0x93, 0xff +db 0x2, 0x9a, 0xff, 0x31, 0xad, 0xff, 0xad, 0xde, 0xff, 0xf9, 0xfc, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf6, 0xff, 0x7a, 0xb0, 0xff, 0x13, 0x71 +db 0xff, 0x2, 0x65, 0xff, 0x2, 0x67, 0xff, 0x2, 0x67, 0xff, 0x2, 0x67 +db 0xff, 0x2, 0x66, 0xff, 0x3, 0x68, 0xff, 0x3b, 0x89, 0xff, 0xc2, 0xdb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf5, 0xfc +db 0xe7, 0xc2, 0xf3, 0xca, 0x7b, 0xe5, 0xb2, 0x3d, 0xd9, 0xa1, 0x13, 0xd0 +db 0x92, 0x4, 0xcd, 0x61, 0x2, 0xcc, 0x36, 0x2, 0xcc, 0x34, 0x2, 0xcc +db 0x35, 0x2, 0xcc, 0x34, 0x2, 0xcd, 0x34, 0x2, 0xde, 0x33, 0x2, 0xfa +db 0x35, 0x2, 0xff, 0x37, 0x6, 0xff, 0x3e, 0xd, 0xff, 0x41, 0x10, 0xff +db 0x48, 0x1a, 0xff, 0x54, 0x2a, 0xff, 0x57, 0x2d, 0xff, 0x57, 0x34, 0xff +db 0x57, 0x4b, 0xff, 0x54, 0x54, 0xff, 0x4a, 0x4a, 0xff, 0x40, 0x40, 0xff +db 0x3a, 0x39, 0xff, 0x36, 0x35, 0xff, 0x2e, 0x34, 0xff, 0x12, 0x33, 0xff +db 0x2, 0x34, 0xff, 0x6, 0x38, 0xff, 0x13, 0x42, 0xff, 0x2d, 0x57, 0xff +db 0x72, 0x8e, 0xff, 0xda, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf3, 0xf7, 0xff, 0x86, 0xb7, 0xff, 0x13, 0x71, 0xff, 0x2, 0x65, 0xff +db 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x11, 0xa0, 0xff, 0x7d, 0xcb, 0xff, 0xee, 0xf8, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xea, 0xf2, 0xff, 0x66, 0xa4, 0xff, 0x9, 0x6b +db 0xff, 0x2, 0x67, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x66, 0xff, 0x1d, 0x77, 0xff, 0xa3, 0xc7 +db 0xff, 0xfa, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xe7, 0xc1, 0xed +db 0xb8, 0x4a, 0xd6, 0x9f, 0xf, 0xce, 0x99, 0x2, 0xcc, 0x9a, 0x2, 0xcc +db 0x91, 0x2, 0xcc, 0x62, 0x2, 0xcc, 0x37, 0x2, 0xcc, 0x33, 0x2, 0xcc +db 0x33, 0x2, 0xcb, 0x35, 0x2, 0xcd, 0x3b, 0xa, 0xde, 0x46, 0x18, 0xf9 +db 0x59, 0x2f, 0xff, 0x71, 0x4d, 0xff, 0x8e, 0x71, 0xff, 0x9a, 0x81, 0xff +db 0xab, 0x95, 0xff, 0xc3, 0xb5, 0xff, 0xc8, 0xbb, 0xff, 0xc8, 0xbe, 0xff +db 0xc8, 0xc5, 0xff, 0xc4, 0xc4, 0xff, 0xaf, 0xb0, 0xff, 0x96, 0x96, 0xff +db 0x7b, 0x7b, 0xff, 0x61, 0x61, 0xff, 0x48, 0x4e, 0xff, 0x2c, 0x49, 0xff +db 0x25, 0x50, 0xff, 0x4a, 0x6f, 0xff, 0x84, 0x9d, 0xff, 0xb5, 0xc3, 0xff +db 0xe0, 0xe7, 0xff, 0xfb, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf1, 0xf7, 0xff, 0x80, 0xb4, 0xff, 0x10, 0x70, 0xff, 0x2, 0x66, 0xff +db 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x6, 0x9b, 0xff, 0x55, 0xbc, 0xff, 0xdc, 0xf1, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf9, 0xff, 0x80, 0xb3, 0xff, 0x12, 0x71 +db 0xff, 0x2, 0x67, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x67, 0xff, 0xc, 0x6d, 0xff, 0x80, 0xb4 +db 0xff, 0xf0, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xd0, 0xec, 0xc2, 0x65, 0xca +db 0x9e, 0xd, 0xc3, 0x99, 0x2, 0xcc, 0x99, 0x2, 0xcc, 0x9a, 0x2, 0xcc +db 0x91, 0x2, 0xcc, 0x61, 0x2, 0xcc, 0x36, 0x2, 0xcc, 0x3e, 0xf, 0xcf +db 0x54, 0x2a, 0xd4, 0x75, 0x52, 0xdd, 0x93, 0x77, 0xeb, 0xb0, 0x9b, 0xfc +db 0xc8, 0xbc, 0xff, 0xde, 0xd6, 0xff, 0xee, 0xea, 0xff, 0xf4, 0xf1, 0xff +db 0xf8, 0xf5, 0xff, 0xfd, 0xfc, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff +db 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xff, 0xf9, 0xf9, 0xff, 0xf2, 0xf2, 0xff +db 0xe4, 0xe4, 0xff, 0xd1, 0xd1, 0xff, 0xbc, 0xbe, 0xff, 0xae, 0xb9, 0xff +db 0xb1, 0xc0, 0xff, 0xd0, 0xda, 0xff, 0xef, 0xf3, 0xff, 0xfc, 0xfd, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff +db 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf4, 0xf9, 0xff, 0x82, 0xb5, 0xff, 0x11, 0x70, 0xff, 0x2, 0x66, 0xff +db 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x4, 0x9a, 0xff, 0x48, 0xb7, 0xff, 0xd6, 0xef, 0xff +db 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xff, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xff, 0x91, 0xbe, 0xff, 0x17, 0x74 +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x67, 0xff, 0x8, 0x6b, 0xff, 0x75, 0xad +db 0xff, 0xeb, 0xf4, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfe, 0xfe, 0xfd, 0xfe +db 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf5, 0xe6, 0xf5, 0xc9, 0x78, 0xc8, 0xa3, 0x19, 0xab +db 0x99, 0x2, 0xbe, 0x99, 0x2, 0xcc, 0x99, 0x2, 0xcc, 0x9a, 0x2, 0xcc +db 0x91, 0x2, 0xcc, 0x62, 0x2, 0xcc, 0x46, 0x16, 0xd1, 0x80, 0x61, 0xdf +db 0xb8, 0xa6, 0xed, 0xdb, 0xd2, 0xf6, 0xee, 0xea, 0xfc, 0xfa, 0xf8, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xff, 0xfd, 0xfd, 0xff +db 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xfc, 0xff, 0xe7, 0xec, 0xff, 0xcf, 0xd9, 0xff, 0xb4, 0xc2, 0xff +db 0xb3, 0xc2, 0xff, 0xca, 0xd5, 0xff, 0xd5, 0xdd, 0xff, 0xd7, 0xdf, 0xff +db 0xc9, 0xdb, 0xff, 0x6b, 0xa7, 0xff, 0xe, 0x6f, 0xff, 0x2, 0x66, 0xff +db 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x3, 0x9a, 0xff, 0x3c, 0xb1, 0xff, 0xa7, 0xdb, 0xff +db 0xb6, 0xe2, 0xff, 0xa8, 0xdc, 0xff, 0xa9, 0xdc, 0xff, 0xb8, 0xe3, 0xff +db 0xcf, 0xec, 0xff, 0xd5, 0xee, 0xff, 0xd4, 0xee, 0xff, 0xdb, 0xf3, 0xff +db 0xef, 0xfb, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff +db 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0xfc, 0xff, 0xf6, 0xf6 +db 0xff, 0xf0, 0xf0, 0xff, 0xe2, 0xe2, 0xff, 0xd9, 0xd9, 0xff, 0xe4, 0xe4 +db 0xff, 0xf4, 0xf4, 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xff, 0xdb, 0xdb, 0xff, 0xbc, 0xbc +db 0xff, 0xae, 0xae, 0xff, 0xc5, 0xc5, 0xff, 0xd4, 0xd5, 0xff, 0xd4, 0xdd +db 0xff, 0xd5, 0xe4, 0xff, 0xd0, 0xe4, 0xff, 0x78, 0xaf, 0xff, 0x14, 0x72 +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x67, 0xff, 0xa, 0x6c, 0xff, 0x68, 0xa5 +db 0xfd, 0xb7, 0xd4, 0xef, 0xb0, 0xcf, 0xdc, 0xa8, 0xcd, 0xd5, 0xa8, 0xd2 +db 0xd9, 0xb5, 0xda, 0xe6, 0xcd, 0xe6, 0xea, 0xd5, 0xea, 0xea, 0xd4, 0xea +db 0xed, 0xdb, 0xed, 0xf7, 0xef, 0xf7, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xf8, 0xfc, 0xdc, 0xa8, 0xdc, 0xaa, 0x2b, 0xa9, 0x99, 0x2, 0xa1 +db 0x99, 0x2, 0xbe, 0x99, 0x2, 0xcc, 0x99, 0x2, 0xcc, 0x9a, 0x2, 0xcc +db 0x90, 0x2, 0xcc, 0x6a, 0xc, 0xcf, 0x7f, 0x5c, 0xde, 0xdb, 0xd3, 0xf6 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfa, 0xff +db 0xc5, 0xd1, 0xff, 0x74, 0x90, 0xff, 0x43, 0x69, 0xff, 0x28, 0x52, 0xff +db 0x28, 0x52, 0xff, 0x3e, 0x64, 0xff, 0x47, 0x6b, 0xff, 0x47, 0x70, 0xff +db 0x42, 0x7e, 0xff, 0x25, 0x7b, 0xff, 0x6, 0x6a, 0xff, 0x2, 0x68, 0xff +db 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x3, 0x9a, 0xff, 0x16, 0xa2, 0xff, 0x32, 0xad, 0xff +db 0x28, 0xa9, 0xff, 0x1d, 0xa4, 0xff, 0x1e, 0xa5, 0xff, 0x2c, 0xab, 0xff +db 0x42, 0xb4, 0xff, 0x46, 0xb5, 0xff, 0x45, 0xb6, 0xff, 0x54, 0xc8, 0xff +db 0x8a, 0xe5, 0xff, 0xd0, 0xf6, 0xff, 0xf8, 0xfe, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xf9, 0xff, 0xfe, 0xf0, 0xff, 0xfc +db 0xe5, 0xfd, 0xf8, 0xe4, 0xfb, 0xf5, 0xdf, 0xf8, 0xf2, 0xc8, 0xf4, 0xea +db 0xbb, 0xf1, 0xe4, 0xbb, 0xf1, 0xe4, 0xbb, 0xf1, 0xe4, 0xbb, 0xf1, 0xe4 +db 0xba, 0xf1, 0xe3, 0xc1, 0xef, 0xe3, 0xd8, 0xf1, 0xe9, 0xe9, 0xf6, 0xf2 +db 0xf6, 0xfc, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfb, 0xf7, 0xeb, 0xf0, 0xe7 +db 0xd9, 0xe2, 0xce, 0xcc, 0xda, 0xc0, 0xdc, 0xe3, 0xd1, 0xf2, 0xf0, 0xe6 +db 0xfc, 0xfa, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfc, 0xf9, 0xf7, 0xf7, 0xef, 0xeb +db 0xf7, 0xde, 0xda, 0xfd, 0xc6, 0xc4, 0xff, 0xb4, 0xb4, 0xff, 0x96, 0x96 +db 0xff, 0x7e, 0x7e, 0xff, 0x63, 0x63, 0xff, 0x4f, 0x4f, 0xff, 0x67, 0x67 +db 0xff, 0x8f, 0x8f, 0xff, 0xb5, 0xb5, 0xff, 0xd6, 0xd6, 0xff, 0xf5, 0xf5 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xe6, 0xe6, 0xff, 0xa4, 0xa4, 0xff, 0x5a, 0x5a, 0xff, 0x2f, 0x2f +db 0xff, 0x22, 0x22, 0xff, 0x39, 0x38, 0xff, 0x46, 0x4a, 0xff, 0x46, 0x6b +db 0xff, 0x47, 0x8a, 0xff, 0x45, 0x91, 0xff, 0x29, 0x7f, 0xff, 0x8, 0x6b +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x7, 0x6b, 0xff, 0x29, 0x7f +db 0xfa, 0x36, 0x87, 0xd3, 0x23, 0x7a, 0xa4, 0x1d, 0x7d, 0x93, 0x1e, 0x8a +db 0x94, 0x29, 0x95, 0xa0, 0x40, 0xa0, 0xa4, 0x47, 0xa4, 0xa3, 0x45, 0xa3 +db 0xaa, 0x54, 0xaa, 0xc4, 0x8a, 0xc4, 0xe8, 0xd0, 0xe8, 0xfc, 0xf8, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf5, 0xe5, 0xf5, 0xc3, 0x69, 0xc3, 0x9d, 0xc, 0x9d, 0x98, 0x2, 0xa1 +db 0x99, 0x2, 0xbf, 0x99, 0x2, 0xcc, 0x99, 0x2, 0xcc, 0x9a, 0x2, 0xcc +db 0x8f, 0x2, 0xcc, 0x6f, 0x12, 0xd0, 0x8f, 0x70, 0xe3, 0xdd, 0xd5, 0xf7 +db 0xf8, 0xf6, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xdf, 0xff +db 0x5e, 0x7f, 0xff, 0x12, 0x41, 0xff, 0x3, 0x35, 0xff, 0x2, 0x34, 0xff +db 0x2, 0x34, 0xff, 0x3, 0x36, 0xff, 0x3, 0x36, 0xff, 0x4, 0x3b, 0xff +db 0x4, 0x52, 0xff, 0x3, 0x67, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff +db 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x3, 0x9a, 0xff, 0x3, 0x9a, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x98, 0xff, 0x2, 0x98, 0xff, 0x2, 0x99, 0xff +db 0x3, 0x9a, 0xff, 0x3, 0x9a, 0xff, 0x3, 0x9b, 0xff, 0x6, 0xb1, 0xff +db 0x19, 0xcc, 0xff, 0x5a, 0xdf, 0xff, 0xce, 0xf5, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xea, 0xff, 0xff, 0xd4, 0xff, 0xff +db 0xb7, 0xff, 0xf6, 0x99, 0xff, 0xeb, 0x8c, 0xff, 0xe8, 0x74, 0xff, 0xe2 +db 0x5c, 0xf1, 0xd0, 0x59, 0xe1, 0xc0, 0x54, 0xdc, 0xba, 0x3c, 0xd8, 0xb1 +db 0x2d, 0xd5, 0xab, 0x2d, 0xd5, 0xab, 0x2d, 0xd5, 0xab, 0x2d, 0xd5, 0xab +db 0x2c, 0xd4, 0xaa, 0x35, 0xc9, 0xa1, 0x4c, 0xbd, 0x99, 0x65, 0xc1, 0xa3 +db 0x86, 0xce, 0xb6, 0xab, 0xdd, 0xc9, 0xd2, 0xed, 0xde, 0xee, 0xf8, 0xf1 +db 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf7, 0xfb, 0xf4, 0xd1, 0xe8, 0xc5, 0xa3, 0xc4, 0x8d, 0x82, 0xa4, 0x62 +db 0x68, 0x8e, 0x41, 0x5b, 0x85, 0x33, 0x75, 0x8f, 0x43, 0xaf, 0xa3, 0x65 +db 0xe3, 0xd6, 0xbb, 0xfd, 0xfc, 0xf9, 0xfe, 0xfd, 0xfd, 0xfa, 0xf4, 0xf1 +db 0xef, 0xde, 0xd6, 0xdf, 0xc0, 0xb0, 0xd0, 0xa2, 0x8a, 0xc1, 0x86, 0x68 +db 0xcd, 0x68, 0x4f, 0xf0, 0x3f, 0x38, 0xff, 0x29, 0x2a, 0xff, 0x1a, 0x1a +db 0xff, 0x10, 0x10, 0xff, 0x9, 0x9, 0xff, 0x6, 0x6, 0xff, 0xb, 0xb +db 0xff, 0x17, 0x17, 0xff, 0x2b, 0x2b, 0xff, 0x4e, 0x4e, 0xff, 0x94, 0x94 +db 0xff, 0xe2, 0xe2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xe9 +db 0xff, 0x8e, 0x8e, 0xff, 0x2a, 0x2a, 0xff, 0x8, 0x8, 0xff, 0x2, 0x2 +db 0xff, 0x2, 0x2, 0xff, 0x3, 0x2, 0xff, 0x3, 0x9, 0xff, 0x3, 0x36 +db 0xff, 0x3, 0x5f, 0xff, 0x3, 0x6a, 0xff, 0x3, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x3, 0x69 +db 0xfa, 0x3, 0x68, 0xcc, 0x2, 0x67, 0x98, 0x2, 0x6d, 0x85, 0x2, 0x7b +db 0x81, 0x2, 0x82, 0x83, 0x3, 0x83, 0x82, 0x3, 0x82, 0x83, 0x3, 0x83 +db 0x84, 0x6, 0x84, 0x8c, 0x18, 0x8c, 0xaf, 0x59, 0xaf, 0xe8, 0xce, 0xe8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xef, 0xd6, 0xef, 0xb8, 0x4a, 0xb8, 0x9a, 0x4, 0x9a, 0x98, 0x2, 0xa1 +db 0x99, 0x2, 0xbf, 0x99, 0x2, 0xcc, 0x99, 0x2, 0xcc, 0x9a, 0x2, 0xcc +db 0x91, 0x2, 0xcc, 0x65, 0x7, 0xcd, 0x56, 0x2a, 0xd4, 0x81, 0x63, 0xe0 +db 0xa9, 0x92, 0xe9, 0xce, 0xc3, 0xf3, 0xe5, 0xde, 0xf9, 0xf2, 0xee, 0xfe +db 0xf4, 0xf1, 0xff, 0xf4, 0xf1, 0xff, 0xf4, 0xf1, 0xff, 0xf4, 0xf1, 0xff +db 0xf4, 0xf1, 0xff, 0xf4, 0xf1, 0xff, 0xf4, 0xf1, 0xff, 0xf4, 0xf1, 0xff +db 0xf4, 0xf3, 0xff, 0xf6, 0xf6, 0xff, 0xfc, 0xfc, 0xff, 0xfe, 0xfe, 0xff +db 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0xce, 0xff +db 0x35, 0x5d, 0xff, 0x2, 0x33, 0xff, 0x2, 0x32, 0xff, 0x2, 0x34, 0xff +db 0x2, 0x34, 0xff, 0x2, 0x34, 0xff, 0x2, 0x33, 0xff, 0x2, 0x39, 0xff +db 0x2, 0x50, 0xff, 0x2, 0x67, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff +db 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x2, 0x98, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x2, 0x98, 0xff +db 0x2, 0x98, 0xff, 0x2, 0x98, 0xff, 0x2, 0x99, 0xff, 0x2, 0xae, 0xff +db 0x2, 0xc7, 0xff, 0x32, 0xd6, 0xff, 0xbe, 0xf2, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xff, 0xff +db 0xda, 0xff, 0xff, 0xa7, 0xff, 0xff, 0x77, 0xff, 0xff, 0x54, 0xff, 0xfc +db 0x34, 0xff, 0xe9, 0x1e, 0xff, 0xd4, 0x16, 0xff, 0xd0, 0xf, 0xfe, 0xce +db 0x6, 0xe9, 0xb7, 0x5, 0xd2, 0x9e, 0x4, 0xcc, 0x99, 0x2, 0xcc, 0x99 +db 0x2, 0xcb, 0x98, 0x2, 0xcb, 0x98, 0x2, 0xcb, 0x98, 0x2, 0xcb, 0x98 +db 0x2, 0xcb, 0x98, 0x2, 0xbb, 0x88, 0x3, 0x9f, 0x6d, 0x9, 0x9c, 0x6c +db 0x15, 0xa1, 0x72, 0x2b, 0xab, 0x76, 0x52, 0xba, 0x7c, 0x83, 0xcd, 0x9c +db 0xbd, 0xe5, 0xca, 0xec, 0xf8, 0xf0, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd8, 0xec, 0xcf, 0x7b, 0xbc, 0x59, 0x47, 0x8e, 0x1a, 0x3a, 0x6f, 0x8 +db 0x34, 0x67, 0x2, 0x32, 0x67, 0x2, 0x45, 0x67, 0x2, 0x83, 0x6e, 0xc +db 0xc0, 0xa0, 0x63, 0xe1, 0xc7, 0xb2, 0xdd, 0xbb, 0xab, 0xcf, 0xa0, 0x88 +db 0xbd, 0x7a, 0x58, 0xac, 0x59, 0x30, 0xa2, 0x46, 0x17, 0x9c, 0x3c, 0xa +db 0xb3, 0x2a, 0x3, 0xe8, 0xc, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x5, 0x5, 0xff, 0x29, 0x29 +db 0xff, 0x9b, 0x9b, 0xff, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xda, 0xda +db 0xff, 0x5d, 0x5d, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x6, 0xff, 0x2, 0x33 +db 0xff, 0x2, 0x5d, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x67 +db 0xfa, 0x2, 0x67, 0xcc, 0x2, 0x68, 0x99, 0x2, 0x6e, 0x86, 0x2, 0x7c +db 0x82, 0x2, 0x82, 0x81, 0x2, 0x81, 0x81, 0x2, 0x81, 0x81, 0x2, 0x81 +db 0x80, 0x2, 0x80, 0x81, 0x2, 0x81, 0x9c, 0x35, 0x9c, 0xe1, 0xbe, 0xe1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf1, 0xdd, 0xf1, 0xbe, 0x5a, 0xbe, 0x9c, 0x7, 0x9b, 0x98, 0x2, 0xa0 +db 0x99, 0x2, 0xbf, 0x99, 0x2, 0xcc, 0x99, 0x2, 0xcc, 0x9a, 0x2, 0xcc +db 0x91, 0x2, 0xcc, 0x61, 0x2, 0xcc, 0x36, 0x2, 0xcc, 0x38, 0x6, 0xcd +db 0x44, 0x16, 0xd0, 0x60, 0x38, 0xd8, 0x7c, 0x5b, 0xe7, 0x97, 0x7c, 0xfb +db 0x9b, 0x83, 0xff, 0x9b, 0x82, 0xff, 0x9b, 0x82, 0xff, 0x9b, 0x82, 0xff +db 0x9b, 0x82, 0xff, 0x9b, 0x82, 0xff, 0x9b, 0x82, 0xff, 0x9b, 0x86, 0xff +db 0x9b, 0x94, 0xff, 0xa7, 0xa7, 0xff, 0xc0, 0xc0, 0xff, 0xc9, 0xc9, 0xff +db 0xcd, 0xcd, 0xff, 0xdd, 0xdd, 0xff, 0xeb, 0xeb, 0xff, 0xf3, 0xf4, 0xff +db 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xe0, 0xff +db 0x5a, 0x7b, 0xff, 0xf, 0x40, 0xff, 0x2, 0x34, 0xff, 0x2, 0x33, 0xff +db 0x2, 0x32, 0xff, 0x2, 0x32, 0xff, 0x2, 0x31, 0xff, 0x2, 0x37, 0xff +db 0x2, 0x4f, 0xff, 0x2, 0x65, 0xff, 0x2, 0x67, 0xff, 0x2, 0x68, 0xff +db 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x2, 0x98, 0xff +db 0x2, 0x98, 0xff, 0x2, 0x98, 0xff, 0x2, 0x98, 0xff, 0x2, 0x98, 0xff +db 0x2, 0x98, 0xff, 0x2, 0x98, 0xff, 0x2, 0x99, 0xff, 0x2, 0xaf, 0xff +db 0x16, 0xcc, 0xff, 0x71, 0xe3, 0xff, 0xe0, 0xf8, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xe2, 0xff, 0xff, 0xa6, 0xff, 0xff +db 0x5e, 0xff, 0xff, 0x23, 0xff, 0xff, 0xa, 0xff, 0xff, 0x2, 0xff, 0xfc +db 0x2, 0xff, 0xe6, 0x2, 0xff, 0xcf, 0x2, 0xff, 0xcb, 0x2, 0xfe, 0xcb +db 0x2, 0xe8, 0xb5, 0x2, 0xd0, 0x9c, 0x2, 0xca, 0x97, 0x2, 0xcb, 0x98 +db 0x2, 0xcb, 0x98, 0x2, 0xcb, 0x98, 0x2, 0xcc, 0x98, 0x2, 0xcb, 0x98 +db 0x2, 0xcc, 0x99, 0x2, 0xbb, 0x88, 0x2, 0x9f, 0x6c, 0x2, 0x98, 0x67 +db 0x2, 0x98, 0x66, 0x2, 0x98, 0x58, 0x2, 0x99, 0x3e, 0xf, 0x9f, 0x3f +db 0x38, 0xb0, 0x60, 0x9d, 0xd8, 0xb1, 0xf0, 0xf9, 0xf3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfd +db 0xbe, 0xde, 0xad, 0x4d, 0xa5, 0x20, 0x31, 0x82, 0x2, 0x34, 0x6b, 0x2 +db 0x34, 0x67, 0x2, 0x34, 0x68, 0x2, 0x44, 0x67, 0x2, 0x7e, 0x67, 0x2 +db 0xa1, 0x6c, 0x16, 0xab, 0x62, 0x2d, 0xa6, 0x4c, 0x21, 0x9f, 0x41, 0x10 +db 0x9a, 0x36, 0x4, 0x99, 0x33, 0x2, 0x98, 0x33, 0x2, 0x97, 0x33, 0x2 +db 0xb0, 0x27, 0x2, 0xe7, 0xb, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x4c, 0x4c, 0xff, 0xcb, 0xcb, 0xff, 0xff, 0xff, 0xff, 0xec, 0xec +db 0xff, 0x89, 0x89, 0xff, 0x22, 0x22, 0xff, 0x7, 0x7, 0xff, 0x2, 0x2 +db 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x5, 0xff, 0x2, 0x32 +db 0xff, 0x2, 0x5c, 0xff, 0x2, 0x67, 0xff, 0x2, 0x67, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x67 +db 0xfa, 0x2, 0x66, 0xcc, 0x2, 0x66, 0x98, 0x2, 0x6c, 0x85, 0x2, 0x7a +db 0x80, 0x2, 0x80, 0x80, 0x2, 0x80, 0x80, 0x2, 0x80, 0x80, 0x2, 0x80 +db 0x84, 0x7, 0x84, 0x97, 0x2e, 0x97, 0xc3, 0x88, 0xc3, 0xf2, 0xe4, 0xf2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xf2, 0xfa, 0xd8, 0x9e, 0xd8, 0xae, 0x33, 0xad, 0x9c, 0x9, 0xa5 +db 0x99, 0x2, 0xbf, 0x99, 0x2, 0xcc, 0x99, 0x2, 0xcc, 0x9a, 0x2, 0xcc +db 0x91, 0x2, 0xcc, 0x62, 0x2, 0xcc, 0x37, 0x2, 0xcc, 0x33, 0x2, 0xcc +db 0x34, 0x2, 0xcc, 0x38, 0x5, 0xcd, 0x3e, 0xd, 0xde, 0x45, 0x18, 0xfa +db 0x47, 0x19, 0xff, 0x47, 0x19, 0xff, 0x47, 0x19, 0xff, 0x47, 0x19, 0xff +db 0x47, 0x19, 0xff, 0x47, 0x19, 0xff, 0x47, 0x19, 0xff, 0x47, 0x21, 0xff +db 0x46, 0x3b, 0xff, 0x4e, 0x4e, 0xff, 0x5d, 0x5d, 0xff, 0x64, 0x64, 0xff +db 0x68, 0x68, 0xff, 0x7c, 0x7c, 0xff, 0x8c, 0x8f, 0xff, 0x98, 0xa5, 0xff +db 0xc1, 0xcd, 0xff, 0xea, 0xef, 0xff, 0xfa, 0xfb, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xf5, 0xff +db 0xb4, 0xc3, 0xff, 0x6e, 0x8b, 0xff, 0x49, 0x6e, 0xff, 0x31, 0x5b, 0xff +db 0x2d, 0x57, 0xff, 0x2d, 0x57, 0xff, 0x2d, 0x56, 0xff, 0x2b, 0x59, 0xff +db 0x1d, 0x65, 0xff, 0xf, 0x6e, 0xff, 0x7, 0x6b, 0xff, 0x2, 0x68, 0xff +db 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x3, 0x9a, 0xff, 0xe, 0x9f, 0xff, 0x26, 0xa8, 0xff +db 0x2d, 0xab, 0xff, 0x2d, 0xab, 0xff, 0x2d, 0xab, 0xff, 0x2d, 0xab, 0xff +db 0x2d, 0xab, 0xff, 0x2d, 0xab, 0xff, 0x2c, 0xab, 0xff, 0x37, 0xc0, 0xff +db 0x6c, 0xde, 0xff, 0xc8, 0xf5, 0xff, 0xfa, 0xfe, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf7, 0xff, 0xff, 0xca, 0xff, 0xff, 0x78, 0xff, 0xff, 0x35, 0xff, 0xff +db 0x10, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xfc +db 0x2, 0xff, 0xe6, 0x2, 0xff, 0xcf, 0x2, 0xff, 0xcc, 0x2, 0xfe, 0xcb +db 0x3, 0xe9, 0xb7, 0xa, 0xd3, 0xa1, 0x10, 0xcf, 0x9f, 0x1d, 0xd2, 0xa5 +db 0x2b, 0xd5, 0xaa, 0x2e, 0xd5, 0xab, 0x28, 0xd4, 0xa9, 0x17, 0xd1, 0xa2 +db 0x8, 0xcd, 0x9b, 0x2, 0xbb, 0x89, 0x2, 0x9f, 0x6d, 0x2, 0x99, 0x68 +db 0x2, 0x99, 0x68, 0x2, 0x99, 0x5a, 0x2, 0x99, 0x3d, 0x2, 0x99, 0x32 +db 0x8, 0x9c, 0x3a, 0x66, 0xc2, 0x85, 0xde, 0xf2, 0xe5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfd +db 0xba, 0xdc, 0xa8, 0x49, 0xa3, 0x1d, 0x33, 0x83, 0x2, 0x35, 0x6c, 0x2 +db 0x35, 0x68, 0x2, 0x34, 0x68, 0x2, 0x45, 0x68, 0x2, 0x7f, 0x68, 0x2 +db 0x9a, 0x5c, 0x3, 0x9a, 0x42, 0x4, 0x99, 0x33, 0x2, 0x99, 0x34, 0x2 +db 0x98, 0x34, 0x2, 0x98, 0x34, 0x2, 0x98, 0x34, 0x2, 0x98, 0x35, 0x2 +db 0xb4, 0x2e, 0x8, 0xe9, 0x1c, 0x11, 0xff, 0x1e, 0x1f, 0xff, 0x27, 0x28 +db 0xff, 0x15, 0x15, 0xff, 0x3, 0x3, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x29, 0x29, 0xff, 0xa8, 0xa8, 0xff, 0xfe, 0xfe, 0xff, 0xfc, 0xfc +db 0xff, 0xd5, 0xd5, 0xff, 0x90, 0x90, 0xff, 0x5e, 0x5e, 0xff, 0x40, 0x40 +db 0xff, 0x2d, 0x2d, 0xff, 0x2d, 0x2c, 0xff, 0x2d, 0x32, 0xff, 0x2d, 0x56 +db 0xff, 0x28, 0x76, 0xff, 0x18, 0x75, 0xff, 0xa, 0x6d, 0xff, 0x3, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x3, 0x69, 0xff, 0x16, 0x73 +db 0xfb, 0x2a, 0x7f, 0xd6, 0x2d, 0x81, 0xab, 0x2d, 0x86, 0x9b, 0x2d, 0x91 +db 0x97, 0x2d, 0x97, 0x97, 0x2d, 0x97, 0x97, 0x2d, 0x97, 0x98, 0x31, 0x98 +db 0xac, 0x56, 0xac, 0xcc, 0x9b, 0xcc, 0xef, 0xdf, 0xef, 0xfe, 0xfc, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf7, 0xec, 0xf7, 0xdc, 0xa8, 0xdb, 0xc0, 0x62, 0xc6 +db 0xad, 0x30, 0xcb, 0x9f, 0xf, 0xcf, 0x99, 0x2, 0xcc, 0x99, 0x2, 0xcc +db 0x90, 0x2, 0xcb, 0x60, 0x2, 0xcb, 0x35, 0x2, 0xcc, 0x33, 0x2, 0xcc +db 0x34, 0x2, 0xcc, 0x33, 0x2, 0xcd, 0x33, 0x2, 0xde, 0x33, 0x2, 0xfa +db 0x32, 0x2, 0xff, 0x32, 0x2, 0xff, 0x32, 0x2, 0xff, 0x32, 0x2, 0xff +db 0x32, 0x2, 0xff, 0x32, 0x2, 0xff, 0x33, 0x2, 0xff, 0x33, 0x8, 0xff +db 0x33, 0x24, 0xff, 0x33, 0x33, 0xff, 0x33, 0x33, 0xff, 0x33, 0x33, 0xff +db 0x33, 0x33, 0xff, 0x36, 0x36, 0xff, 0x33, 0x39, 0xff, 0x25, 0x43, 0xff +db 0x3c, 0x63, 0xff, 0x76, 0x92, 0xff, 0xaa, 0xbb, 0xff, 0xd5, 0xde, 0xff +db 0xf6, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xfc, 0xff, 0xec, 0xf0, 0xff, 0xd5, 0xde, 0xff, 0xbf, 0xcb, 0xff +db 0xbb, 0xc8, 0xff, 0xbb, 0xc8, 0xff, 0xbc, 0xc8, 0xff, 0xb7, 0xc7, 0xff +db 0x9b, 0xbe, 0xff, 0x74, 0xac, 0xff, 0x2d, 0x81, 0xff, 0x3, 0x68, 0xff +db 0x2, 0x67, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x3, 0x9a, 0xff, 0x35, 0xae, 0xff, 0x9c, 0xd7, 0xff +db 0xbe, 0xe5, 0xff, 0xbb, 0xe4, 0xff, 0xbb, 0xe4, 0xff, 0xbb, 0xe4, 0xff +db 0xbb, 0xe4, 0xff, 0xbb, 0xe4, 0xff, 0xba, 0xe4, 0xff, 0xc4, 0xec, 0xff +db 0xe3, 0xf9, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff +db 0xaf, 0xff, 0xff, 0x53, 0xff, 0xff, 0xf, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xfc +db 0x2, 0xff, 0xe5, 0x2, 0xff, 0xcf, 0x2, 0xff, 0xcc, 0xc, 0xfe, 0xcd +db 0x31, 0xf0, 0xc6, 0x63, 0xe4, 0xc4, 0x81, 0xe6, 0xcc, 0x9b, 0xeb, 0xd7 +db 0xb7, 0xf0, 0xe2, 0xbd, 0xf1, 0xe4, 0xb2, 0xef, 0xe0, 0x7e, 0xe5, 0xcb +db 0x29, 0xd4, 0xa9, 0x2, 0xbb, 0x89, 0x2, 0x9e, 0x6d, 0x2, 0x99, 0x68 +db 0x2, 0x99, 0x68, 0x2, 0x99, 0x5a, 0x2, 0x99, 0x3e, 0x2, 0x99, 0x33 +db 0x14, 0xa1, 0x42, 0x83, 0xce, 0x9c, 0xea, 0xf7, 0xef, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfd +db 0xba, 0xdc, 0xa8, 0x4a, 0xa3, 0x1e, 0x33, 0x83, 0x2, 0x35, 0x6c, 0x2 +db 0x35, 0x68, 0x2, 0x34, 0x68, 0x2, 0x45, 0x68, 0x2, 0x7f, 0x68, 0x2 +db 0x99, 0x5c, 0x2, 0x99, 0x40, 0x2, 0x99, 0x34, 0x2, 0x99, 0x34, 0x2 +db 0x98, 0x33, 0x2, 0x98, 0x33, 0x2, 0x9c, 0x39, 0x7, 0xa7, 0x4f, 0x24 +db 0xc9, 0x74, 0x58, 0xf2, 0x87, 0x80, 0xff, 0xa0, 0xa1, 0xff, 0xa9, 0xa9 +db 0xff, 0x55, 0x55, 0xff, 0x5, 0x5, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x18, 0x18, 0xff, 0x90, 0x90, 0xff, 0xfa, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xff, 0xe4, 0xe4, 0xff, 0xcc, 0xcc +db 0xff, 0xbc, 0xbc, 0xff, 0xbb, 0xba, 0xff, 0xbb, 0xbc, 0xff, 0xbc, 0xc7 +db 0xff, 0xb2, 0xce, 0xff, 0x8e, 0xbc, 0xff, 0x48, 0x92, 0xff, 0xd, 0x6d +db 0xff, 0x2, 0x67, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x67, 0xff, 0x5, 0x69, 0xff, 0x4e, 0x96 +db 0xfe, 0xa7, 0xcb, 0xf2, 0xbe, 0xd7, 0xe4, 0xbb, 0xd8, 0xde, 0xbb, 0xdb +db 0xdd, 0xbb, 0xdd, 0xdd, 0xbb, 0xdd, 0xdd, 0xba, 0xdd, 0xdf, 0xbf, 0xdf +db 0xed, 0xdb, 0xed, 0xfb, 0xf8, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf7, 0xfb, 0xf3, 0xe0, 0xf4 +db 0xe3, 0xba, 0xef, 0xca, 0x7b, 0xe5, 0xb7, 0x49, 0xda, 0xae, 0x32, 0xd6 +db 0x9e, 0x1e, 0xd2, 0x6e, 0x16, 0xd0, 0x41, 0xf, 0xcf, 0x38, 0x6, 0xcd +db 0x37, 0x5, 0xcd, 0x37, 0x4, 0xce, 0x34, 0x2, 0xde, 0x32, 0x2, 0xf9 +db 0x32, 0x2, 0xff, 0x32, 0x2, 0xff, 0x32, 0x2, 0xff, 0x32, 0x2, 0xff +db 0x32, 0x2, 0xff, 0x32, 0x2, 0xff, 0x33, 0x2, 0xff, 0x32, 0x8, 0xff +db 0x33, 0x24, 0xff, 0x33, 0x33, 0xff, 0x33, 0x33, 0xff, 0x34, 0x34, 0xff +db 0x34, 0x34, 0xff, 0x35, 0x34, 0xff, 0x2e, 0x34, 0xff, 0x12, 0x34, 0xff +db 0x4, 0x36, 0xff, 0xf, 0x3f, 0xff, 0x26, 0x51, 0xff, 0x4e, 0x72, 0xff +db 0x92, 0xa8, 0xff, 0xd9, 0xe0, 0xff, 0xfc, 0xfd, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff +db 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfd, 0xfe, 0xff +db 0xf8, 0xfb, 0xff, 0xd9, 0xe9, 0xff, 0x59, 0x9c, 0xff, 0x6, 0x6a, 0xff +db 0x2, 0x67, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x3, 0x9a, 0xff, 0x3d, 0xb1, 0xff, 0xc9, 0xe9, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff +db 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xa3, 0xff, 0xff +db 0x3b, 0xff, 0xff, 0xa, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xfc +db 0x2, 0xff, 0xe6, 0xe, 0xff, 0xd2, 0x34, 0xff, 0xd6, 0x72, 0xff, 0xe3 +db 0xb6, 0xfc, 0xed, 0xe2, 0xfa, 0xf5, 0xf1, 0xfc, 0xfa, 0xf7, 0xfe, 0xfc +db 0xfd, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xfb, 0xfe, 0xfd, 0xc0, 0xf3, 0xe6 +db 0x38, 0xd7, 0xaf, 0x2, 0xbb, 0x88, 0x2, 0x9e, 0x6d, 0x2, 0x99, 0x68 +db 0x2, 0x99, 0x68, 0x2, 0x99, 0x5a, 0x2, 0x99, 0x3e, 0x2, 0x9a, 0x34 +db 0x37, 0xaf, 0x5f, 0xc1, 0xe7, 0xce, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfd +db 0xba, 0xdc, 0xa8, 0x4a, 0xa3, 0x1e, 0x33, 0x83, 0x2, 0x35, 0x6c, 0x2 +db 0x35, 0x68, 0x2, 0x34, 0x68, 0x2, 0x45, 0x68, 0x2, 0x7f, 0x68, 0x2 +db 0x99, 0x5c, 0x2, 0x99, 0x41, 0x2, 0x99, 0x32, 0x2, 0x9a, 0x35, 0x2 +db 0x9f, 0x41, 0x11, 0xad, 0x5b, 0x33, 0xc1, 0x83, 0x63, 0xdb, 0xb8, 0xa6 +db 0xf2, 0xe1, 0xda, 0xfe, 0xf1, 0xf0, 0xff, 0xfa, 0xfa, 0xff, 0xf1, 0xf1 +db 0xff, 0x8d, 0x8d, 0xff, 0x13, 0x13, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x17, 0x17, 0xff, 0x8f, 0x8f, 0xff, 0xfa, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfd, 0xff, 0xfe, 0xfe +db 0xff, 0xfc, 0xfe, 0xff, 0xf1, 0xf7, 0xff, 0x8c, 0xba, 0xff, 0x1a, 0x76 +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x67, 0xff, 0x3, 0x68, 0xff, 0x4e, 0x96 +db 0xff, 0xcf, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xff +db 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xff, 0xf6, 0xe8, 0xfb, 0xeb, 0xcd, 0xf5, 0xe2, 0xb6, 0xf0 +db 0xd2, 0x99, 0xeb, 0xb7, 0x8c, 0xe8, 0x91, 0x74, 0xe3, 0x7d, 0x5c, 0xdf +db 0x7b, 0x59, 0xde, 0x78, 0x55, 0xde, 0x67, 0x41, 0xe7, 0x57, 0x2e, 0xfb +db 0x57, 0x2d, 0xff, 0x57, 0x2d, 0xff, 0x57, 0x2d, 0xff, 0x57, 0x2d, 0xff +db 0x57, 0x2d, 0xff, 0x54, 0x2a, 0xff, 0x48, 0x1a, 0xff, 0x41, 0x19, 0xff +db 0x40, 0x33, 0xff, 0x3e, 0x3e, 0xff, 0x37, 0x38, 0xff, 0x34, 0x34, 0xff +db 0x34, 0x34, 0xff, 0x35, 0x34, 0xff, 0x30, 0x35, 0xff, 0x14, 0x35, 0xff +db 0x2, 0x34, 0xff, 0x2, 0x33, 0xff, 0x2, 0x33, 0xff, 0x5, 0x37, 0xff +db 0x21, 0x4d, 0xff, 0x6a, 0x88, 0xff, 0xc0, 0xcb, 0xff, 0xf6, 0xf8, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf3, 0xf8, 0xff, 0x78, 0xaf, 0xff, 0x10, 0x6f, 0xff +db 0x2, 0x67, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x27, 0xa9, 0xff, 0xb4, 0xe0, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xbb, 0xff, 0xff, 0x3f, 0xff, 0xff +db 0x6, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0xb, 0xff, 0xfc +db 0x30, 0xff, 0xed, 0x6d, 0xff, 0xe4, 0xb0, 0xff, 0xef, 0xe4, 0xff, 0xfa +db 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xbb, 0xf1, 0xe4 +db 0x2d, 0xd4, 0xaa, 0x2, 0xbb, 0x87, 0x2, 0x9f, 0x6d, 0x2, 0x99, 0x68 +db 0x2, 0x99, 0x68, 0x2, 0x99, 0x5a, 0x2, 0x98, 0x3d, 0x3, 0x9a, 0x35 +db 0x46, 0xb6, 0x6b, 0xd5, 0xee, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfd +db 0xba, 0xdc, 0xa8, 0x4a, 0xa3, 0x1e, 0x33, 0x83, 0x2, 0x35, 0x6c, 0x2 +db 0x35, 0x68, 0x2, 0x34, 0x68, 0x2, 0x45, 0x68, 0x2, 0x7f, 0x68, 0x2 +db 0x99, 0x5c, 0x2, 0x9a, 0x41, 0x3, 0xa0, 0x40, 0x11, 0xaf, 0x5e, 0x37 +db 0xc8, 0x91, 0x75, 0xe0, 0xc1, 0xb3, 0xf2, 0xe3, 0xdc, 0xfd, 0xfa, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xc1, 0xc1, 0xff, 0x3d, 0x3d, 0xff, 0x3, 0x3, 0xff, 0x2, 0x2 +db 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2, 0xff, 0x2, 0x2 +db 0xff, 0x28, 0x28, 0xff, 0xa4, 0xa4, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xae, 0xce, 0xff, 0x2e, 0x81 +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x66, 0xff, 0x32, 0x84 +db 0xff, 0xb4, 0xd2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfc, 0xff, 0xfb, 0xf9, 0xfe, 0xf2, 0xf0, 0xfc, 0xea, 0xe5, 0xfa +db 0xe9, 0xe4, 0xfa, 0xe7, 0xe0, 0xf9, 0xd7, 0xcc, 0xfa, 0xc8, 0xbc, 0xfe +db 0xc8, 0xbb, 0xff, 0xc8, 0xbb, 0xff, 0xc8, 0xbb, 0xff, 0xc8, 0xbb, 0xff +db 0xc8, 0xbb, 0xff, 0xc3, 0xb5, 0xff, 0xaa, 0x95, 0xff, 0x9b, 0x86, 0xff +db 0x9b, 0x94, 0xff, 0x8f, 0x8f, 0xff, 0x6b, 0x6b, 0xff, 0x49, 0x49, 0xff +db 0x3b, 0x3b, 0xff, 0x36, 0x35, 0xff, 0x2e, 0x34, 0xff, 0x14, 0x35, 0xff +db 0x3, 0x35, 0xff, 0x2, 0x35, 0xff, 0x2, 0x35, 0xff, 0x2, 0x34, 0xff +db 0x2, 0x33, 0xff, 0xc, 0x3d, 0xff, 0x48, 0x6d, 0xff, 0xb4, 0xc2, 0xff +db 0xf6, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xfc, 0xff, 0x8e, 0xbc, 0xff, 0x17, 0x74, 0xff +db 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x98, 0xff, 0x1d, 0xa4, 0xff, 0xa8, 0xdc, 0xff +db 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe5, 0xff, 0xff, 0x72, 0xff, 0xff, 0xa, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x5, 0xff, 0xff, 0x3e, 0xff, 0xff +db 0xac, 0xff, 0xfb, 0xe8, 0xff, 0xfb, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xfd, 0xfc, 0x9d, 0xeb, 0xd8 +db 0x1e, 0xd1, 0xa4, 0x2, 0xbb, 0x87, 0x2, 0x9f, 0x6d, 0x2, 0x99, 0x68 +db 0x2, 0x99, 0x68, 0x2, 0x99, 0x5a, 0x2, 0x99, 0x3d, 0x5, 0x9b, 0x36 +db 0x4d, 0xb9, 0x70, 0xd8, 0xef, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfd +db 0xba, 0xdc, 0xa8, 0x4a, 0xa3, 0x1e, 0x33, 0x83, 0x2, 0x35, 0x6c, 0x2 +db 0x35, 0x68, 0x2, 0x34, 0x68, 0x2, 0x45, 0x68, 0x2, 0x7f, 0x68, 0x2 +db 0x9a, 0x5e, 0x4, 0xa8, 0x5c, 0x24, 0xc4, 0x8a, 0x6d, 0xe3, 0xc5, 0xb8 +db 0xf8, 0xf0, 0xed, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xed, 0xed, 0xff, 0x85, 0x85, 0xff, 0x1d, 0x1d, 0xff, 0x5, 0x5 +db 0xff, 0x7, 0x7, 0xff, 0x7, 0x7, 0xff, 0x7, 0x7, 0xff, 0x17, 0x17 +db 0xff, 0x6a, 0x6a, 0xff, 0xd7, 0xd7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc2, 0xdc, 0xff, 0x3d, 0x8b +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x66, 0xff, 0x1c, 0x77 +db 0xff, 0x95, 0xc0, 0xff, 0xfb, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff +db 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff +db 0xfe, 0xfd, 0xff, 0xfd, 0xfc, 0xff, 0xf8, 0xf5, 0xff, 0xf4, 0xf2, 0xff +db 0xf5, 0xf3, 0xff, 0xef, 0xef, 0xff, 0xd6, 0xd6, 0xff, 0xb2, 0xb2, 0xff +db 0x93, 0x93, 0xff, 0x70, 0x70, 0xff, 0x40, 0x45, 0xff, 0x14, 0x35, 0xff +db 0x3, 0x35, 0xff, 0x2, 0x35, 0xff, 0x2, 0x35, 0xff, 0x2, 0x35, 0xff +db 0x2, 0x35, 0xff, 0x2, 0x33, 0xff, 0xb, 0x3c, 0xff, 0x57, 0x79, 0xff +db 0xd5, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xfc, 0xff, 0x8f, 0xbc, 0xff, 0x18, 0x74, 0xff +db 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x98, 0xff, 0x1e, 0xa4, 0xff, 0xa8, 0xdc, 0xff +db 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xfe, 0xff, 0xb0, 0xfa, 0xff, 0x34, 0xfc, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x26, 0xff, 0xff, 0x95, 0xff, 0xff +db 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xfc, 0xfb, 0x89, 0xe8, 0xd0 +db 0x15, 0xd0, 0xa1, 0x2, 0xbb, 0x88, 0x2, 0x9f, 0x6d, 0x2, 0x99, 0x68 +db 0x2, 0x99, 0x68, 0x2, 0x99, 0x5a, 0x2, 0x98, 0x3c, 0x13, 0xa1, 0x41 +db 0x7b, 0xca, 0x95, 0xea, 0xf7, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfd +db 0xba, 0xdc, 0xa8, 0x4a, 0xa3, 0x1e, 0x33, 0x83, 0x2, 0x35, 0x6c, 0x2 +db 0x35, 0x68, 0x2, 0x34, 0x68, 0x2, 0x45, 0x68, 0x2, 0x7e, 0x67, 0x2 +db 0xa6, 0x74, 0x21, 0xd0, 0xac, 0x87, 0xf3, 0xe7, 0xe1, 0xfd, 0xfb, 0xfb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xd8, 0xd8, 0xff, 0x8f, 0x8f, 0xff, 0x72, 0x72 +db 0xff, 0x72, 0x72, 0xff, 0x71, 0x71, 0xff, 0x75, 0x75, 0xff, 0x93, 0x93 +db 0xff, 0xd3, 0xd3, 0xff, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xdc, 0xff, 0x3e, 0x8b +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x66, 0xff, 0x18, 0x74 +db 0xff, 0x8f, 0xbc, 0xff, 0xfa, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xff +db 0xef, 0xf0, 0xff, 0xd2, 0xd2, 0xff, 0x7c, 0x82, 0xff, 0x1e, 0x40, 0xff +db 0x2, 0x33, 0xff, 0x2, 0x35, 0xff, 0x2, 0x35, 0xff, 0x2, 0x35, 0xff +db 0x2, 0x35, 0xff, 0x2, 0x34, 0xff, 0x2, 0x33, 0xff, 0x23, 0x4e, 0xff +db 0xaa, 0xbb, 0xff, 0xfa, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xfc, 0xff, 0x8f, 0xbc, 0xff, 0x18, 0x74, 0xff +db 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x98, 0xff, 0x1e, 0xa4, 0xff, 0xa8, 0xdc, 0xff +db 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xec, 0xfa, 0xff, 0x72, 0xef, 0xff, 0xf, 0xf6, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x7, 0xff, 0xff, 0x60, 0xff, 0xff, 0xd7, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xfd, 0xfc, 0xa1, 0xec, 0xd9 +db 0x20, 0xd2, 0xa5, 0x2, 0xbb, 0x87, 0x2, 0x9f, 0x6d, 0x2, 0x99, 0x68 +db 0x2, 0x99, 0x68, 0x2, 0x99, 0x5a, 0x2, 0x98, 0x3b, 0x24, 0xa8, 0x4f +db 0xa9, 0xdd, 0xbb, 0xf9, 0xfd, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfe, 0xfd +db 0xba, 0xdc, 0xa8, 0x4a, 0xa3, 0x1e, 0x33, 0x83, 0x2, 0x35, 0x6c, 0x2 +db 0x35, 0x68, 0x2, 0x34, 0x68, 0x2, 0x45, 0x68, 0x2, 0x7d, 0x66, 0x2 +db 0xb0, 0x88, 0x3a, 0xe7, 0xd9, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xf1, 0xf1, 0xff, 0xea, 0xea +db 0xff, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xff, 0xeb, 0xeb, 0xff, 0xf4, 0xf4 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xdc, 0xff, 0x3e, 0x8b +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x66, 0xff, 0x18, 0x74 +db 0xff, 0x8f, 0xbc, 0xff, 0xfa, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xfc, 0xfc, 0xff, 0xfb, 0xfb, 0xff, 0xf9, 0xf9, 0xff, 0xf4, 0xf4 +db 0xff, 0xf1, 0xf1, 0xff, 0xf2, 0xf1, 0xff, 0xf2, 0xf1, 0xff, 0xf4, 0xf2 +db 0xff, 0xf5, 0xf3, 0xff, 0xf5, 0xf3, 0xff, 0xf4, 0xf2, 0xff, 0xf3, 0xf2 +db 0xff, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xff, 0xf6, 0xf6 +db 0xff, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xff, 0xfa, 0xfa +db 0xff, 0xfa, 0xfa, 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfc, 0xfa +db 0xff, 0xfd, 0xfa, 0xfe, 0xf9, 0xfa, 0xc0, 0xc0, 0xfb, 0x39, 0x59, 0xfe +db 0x2, 0x33, 0xff, 0x2, 0x35, 0xff, 0x2, 0x35, 0xff, 0x2, 0x35, 0xff +db 0x2, 0x35, 0xff, 0x2, 0x35, 0xff, 0x2, 0x34, 0xff, 0xa, 0x3b, 0xff +db 0x72, 0x8f, 0xff, 0xe1, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xfc, 0xff, 0x8f, 0xbc, 0xff, 0x18, 0x74, 0xff +db 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x98, 0xff, 0x1e, 0xa4, 0xff, 0xa9, 0xdc, 0xff +db 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd0, 0xf5, 0xff, 0x44, 0xe5, 0xff, 0x2, 0xf3, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x17, 0xff, 0xff, 0x99, 0xff, 0xff, 0xf8, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xbb, 0xf2, 0xe4 +db 0x2d, 0xd4, 0xab, 0x2, 0xbb, 0x87, 0x2, 0x9f, 0x6d, 0x2, 0x99, 0x68 +db 0x2, 0x99, 0x68, 0x2, 0x99, 0x5a, 0x2, 0x98, 0x3b, 0x1f, 0xa6, 0x4b +db 0xa0, 0xd8, 0xb2, 0xf8, 0xf6, 0xf4, 0xff, 0xf4, 0xf5, 0xff, 0xf2, 0xf2 +db 0xff, 0xf7, 0xf7, 0xff, 0xfa, 0xfb, 0xff, 0xfd, 0xfe, 0xfd, 0xfe, 0xfc +db 0xba, 0xdc, 0xa9, 0x4a, 0xa3, 0x1e, 0x33, 0x83, 0x2, 0x35, 0x6c, 0x2 +db 0x35, 0x68, 0x2, 0x34, 0x68, 0x2, 0x45, 0x68, 0x2, 0x7d, 0x66, 0x2 +db 0xb1, 0x8b, 0x3e, 0xe8, 0xdd, 0xc4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xdc, 0xff, 0x3d, 0x8b +db 0xff, 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x66, 0xff, 0x18, 0x74 +db 0xff, 0x8f, 0xbc, 0xff, 0xfa, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xff, 0xf4, 0xf4, 0xff, 0xed, 0xed +db 0xff, 0xe6, 0xe6, 0xff, 0xe3, 0xe3, 0xff, 0xe1, 0xe1, 0xff, 0xdc, 0xdc +db 0xff, 0xda, 0xd9, 0xff, 0xda, 0xd9, 0xff, 0xd9, 0xda, 0xfa, 0xd3, 0xdb +db 0xf3, 0xc9, 0xda, 0xf4, 0xc9, 0xda, 0xfa, 0xd3, 0xdb, 0xfe, 0xd9, 0xdb +db 0xff, 0xdc, 0xdb, 0xff, 0xdb, 0xda, 0xff, 0xda, 0xda, 0xff, 0xde, 0xde +db 0xff, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xff, 0xe3, 0xe3 +db 0xff, 0xe3, 0xe3, 0xff, 0xeb, 0xeb, 0xff, 0xf8, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xff, 0xee, 0xee +db 0xff, 0xe7, 0xe5, 0xff, 0xe5, 0xe4, 0xd6, 0xc9, 0xec, 0x4a, 0x68, 0xfb +db 0x3, 0x36, 0xff, 0x2, 0x34, 0xff, 0x2, 0x35, 0xff, 0x2, 0x35, 0xff +db 0x2, 0x35, 0xff, 0x2, 0x35, 0xff, 0x2, 0x34, 0xff, 0x2, 0x35, 0xff +db 0x53, 0x77, 0xff, 0xcd, 0xd8, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xfc, 0xff, 0x8f, 0xbc, 0xff, 0x18, 0x74, 0xff +db 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x1a, 0xa3, 0xff, 0x9f, 0xd9, 0xff +db 0xf9, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xcc, 0xf4, 0xff, 0x40, 0xe5, 0xff, 0x2, 0xf3, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1c, 0xff, 0xff, 0xa5, 0xff, 0xff, 0xfc, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xc9, 0xf5, 0xea +db 0x3c, 0xd8, 0xb1, 0x2, 0xbb, 0x88, 0x2, 0x9e, 0x6d, 0x2, 0x99, 0x68 +db 0x2, 0x99, 0x68, 0x2, 0x99, 0x5a, 0x2, 0x98, 0x3c, 0x11, 0xa0, 0x40 +db 0x7c, 0xc8, 0x94, 0xed, 0xeb, 0xe4, 0xff, 0xe4, 0xe6, 0xff, 0xdc, 0xdc +db 0xff, 0xe0, 0xe0, 0xff, 0xe4, 0xe4, 0xff, 0xe9, 0xea, 0xfd, 0xef, 0xee +db 0xba, 0xd7, 0xa3, 0x4a, 0xa3, 0x1e, 0x33, 0x83, 0x2, 0x35, 0x6c, 0x2 +db 0x35, 0x68, 0x2, 0x34, 0x68, 0x2, 0x45, 0x68, 0x2, 0x7d, 0x66, 0x2 +db 0xb1, 0x8b, 0x3e, 0xe8, 0xdc, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xca, 0xe0, 0xff, 0x46, 0x91 +db 0xff, 0x2, 0x67, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x66, 0xff, 0x18, 0x74 +db 0xff, 0x8f, 0xbc, 0xff, 0xfa, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xf5, 0xf5, 0xff, 0xe6, 0xe6, 0xff, 0xd8, 0xd8, 0xff, 0xd2, 0xd2 +db 0xff, 0xce, 0xce, 0xff, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xff, 0xcd, 0xcd +db 0xfc, 0xca, 0xcf, 0xf4, 0xbd, 0xce, 0xe6, 0xa4, 0xca, 0xd2, 0x7e, 0xc1 +db 0xc0, 0x59, 0xb7, 0xc1, 0x59, 0xb7, 0xd0, 0x7a, 0xc0, 0xe4, 0xa5, 0xcc +db 0xf8, 0xd0, 0xdd, 0xff, 0xde, 0xe0, 0xff, 0xdc, 0xdb, 0xff, 0xda, 0xda +db 0xff, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xff, 0xdb, 0xdb +db 0xff, 0xdb, 0xdb, 0xff, 0xe1, 0xe1, 0xff, 0xf3, 0xf3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfc, 0xfc, 0xff, 0xfa, 0xf9, 0xff, 0xf7, 0xf6, 0xff, 0xed, 0xeb +db 0xff, 0xdd, 0xdb, 0xf5, 0xcd, 0xd8, 0xb7, 0xa6, 0xe9, 0x38, 0x56, 0xfb +db 0x2, 0x35, 0xff, 0x2, 0x35, 0xff, 0x2, 0x35, 0xff, 0x2, 0x35, 0xff +db 0x2, 0x35, 0xff, 0x2, 0x35, 0xff, 0x2, 0x34, 0xff, 0x4, 0x36, 0xff +db 0x63, 0x82, 0xfe, 0xdb, 0xde, 0xfb, 0xff, 0xfa, 0xfa, 0xff, 0xf9, 0xf9 +db 0xff, 0xf9, 0xf9, 0xff, 0xfc, 0xfc, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xfc, 0xff, 0x8f, 0xbc, 0xff, 0x18, 0x74, 0xff +db 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0xd, 0x9e, 0xff, 0x81, 0xcb, 0xfe +db 0xef, 0xf4, 0xfb, 0xff, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xff, 0xfd, 0xfd +db 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe +db 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe1, 0xf9, 0xff, 0x59, 0xea, 0xff, 0x6, 0xf4, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x12, 0xff, 0xff, 0x8d, 0xff, 0xff, 0xf3, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xfe, 0xfe, 0xff, 0xfc, 0xfc, 0xff, 0xfa, 0xfa, 0xe2, 0xf4, 0xee +db 0x59, 0xdc, 0xbb, 0x6, 0xbd, 0x8a, 0x2, 0x9e, 0x6d, 0x2, 0x99, 0x68 +db 0x2, 0x99, 0x68, 0x2, 0x99, 0x5a, 0x2, 0x98, 0x3d, 0x7, 0x9c, 0x38 +db 0x56, 0xbb, 0x77, 0xdd, 0xea, 0xdb, 0xff, 0xea, 0xeb, 0xff, 0xd8, 0xd8 +db 0xff, 0xd1, 0xd1, 0xff, 0xce, 0xce, 0xff, 0xcf, 0xd0, 0xfd, 0xd6, 0xd4 +db 0xba, 0xc9, 0x95, 0x4a, 0xa3, 0x1d, 0x33, 0x83, 0x2, 0x35, 0x6c, 0x2 +db 0x35, 0x68, 0x2, 0x34, 0x68, 0x2, 0x45, 0x68, 0x2, 0x7d, 0x66, 0x2 +db 0xb1, 0x8b, 0x3e, 0xe8, 0xd9, 0xc1, 0xff, 0xfb, 0xfc, 0xff, 0xf9, 0xfa +db 0xff, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xff, 0xfd, 0xfd +db 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xed, 0xff, 0x64, 0xa3 +db 0xff, 0x5, 0x69, 0xff, 0x2, 0x67, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x66, 0xff, 0x18, 0x74 +db 0xff, 0x8f, 0xbc, 0xff, 0xfa, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd +db 0xff, 0xea, 0xea, 0xff, 0xd2, 0xd2, 0xff, 0xcc, 0xcc, 0xff, 0xcb, 0xcb +db 0xff, 0xcb, 0xcb, 0xff, 0xcb, 0xcb, 0xff, 0xcc, 0xcc, 0xf9, 0xc5, 0xce +db 0xdc, 0x8f, 0xc4, 0xc0, 0x55, 0xb6, 0xae, 0x31, 0xaa, 0xa3, 0x18, 0xa1 +db 0x9c, 0xa, 0x9d, 0x9c, 0x9, 0x9c, 0xa2, 0x15, 0xa0, 0xaf, 0x35, 0xb2 +db 0xc8, 0x72, 0xd6, 0xea, 0xc3, 0xef, 0xfe, 0xf3, 0xf6, 0xff, 0xf8, 0xf5 +db 0xff, 0xf6, 0xf5, 0xff, 0xf6, 0xf6, 0xff, 0xf7, 0xf6, 0xff, 0xf7, 0xf6 +db 0xff, 0xf7, 0xf6, 0xff, 0xf8, 0xf8, 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc +db 0xff, 0xf1, 0xef, 0xff, 0xe4, 0xe3, 0xfb, 0xdf, 0xe3, 0xf0, 0xd7, 0xe7 +db 0xd0, 0xbd, 0xeb, 0xa0, 0x90, 0xf1, 0x5e, 0x5e, 0xfa, 0x1b, 0x3c, 0xff +db 0x2, 0x34, 0xff, 0x2, 0x35, 0xff, 0x2, 0x35, 0xff, 0x2, 0x35, 0xff +db 0x2, 0x35, 0xff, 0x2, 0x35, 0xff, 0x2, 0x33, 0xff, 0x14, 0x42, 0xff +db 0x8e, 0x97, 0xf2, 0xf0, 0xd7, 0xe2, 0xff, 0xdf, 0xde, 0xff, 0xde, 0xde +db 0xff, 0xde, 0xde, 0xff, 0xe2, 0xe2, 0xff, 0xe7, 0xe7, 0xff, 0xe9, 0xe9 +db 0xff, 0xef, 0xef, 0xff, 0xf3, 0xf3, 0xff, 0xf8, 0xf8, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xfa, 0xfc, 0xff, 0x8f, 0xbc, 0xff, 0x18, 0x74, 0xff +db 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x7, 0x9c, 0xff, 0x72, 0xc0, 0xf7 +db 0xea, 0xdd, 0xe6, 0xff, 0xdf, 0xde, 0xff, 0xe1, 0xe1, 0xff, 0xe6, 0xe6 +db 0xff, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xff, 0xe8, 0xe8 +db 0xff, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xff, 0xef, 0xef, 0xff, 0xf2, 0xf2 +db 0xf3, 0xf1, 0xf4, 0x7d, 0xed, 0xfb, 0x11, 0xf6, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x5, 0xff, 0xff, 0x55, 0xfe, 0xfe, 0xce, 0xf5, 0xf5 +db 0xff, 0xea, 0xea, 0xff, 0xea, 0xea, 0xff, 0xf1, 0xf1, 0xff, 0xf3, 0xf3 +db 0xff, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xff, 0xee, 0xee, 0xff, 0xe9, 0xe9 +db 0xff, 0xe8, 0xe8, 0xff, 0xe3, 0xe3, 0xff, 0xdf, 0xe0, 0xf5, 0xdf, 0xdd +db 0x7f, 0xd9, 0xc0, 0x12, 0xbf, 0x8e, 0x2, 0x9f, 0x6c, 0x2, 0x99, 0x68 +db 0x2, 0x99, 0x68, 0x2, 0x99, 0x5a, 0x2, 0x99, 0x3d, 0x3, 0x9a, 0x34 +db 0x3e, 0xb2, 0x64, 0xcb, 0xe3, 0xce, 0xff, 0xec, 0xed, 0xff, 0xdf, 0xdf +db 0xff, 0xd6, 0xd6, 0xff, 0xd1, 0xd1, 0xff, 0xcf, 0xd0, 0xfd, 0xd0, 0xcf +db 0xba, 0xc6, 0x91, 0x4a, 0xa3, 0x1d, 0x33, 0x83, 0x2, 0x35, 0x6c, 0x2 +db 0x35, 0x68, 0x2, 0x34, 0x68, 0x2, 0x45, 0x68, 0x2, 0x7d, 0x67, 0x2 +db 0xb1, 0x88, 0x3b, 0xe8, 0xc9, 0xb2, 0xff, 0xdf, 0xe0, 0xff, 0xdd, 0xde +db 0xff, 0xde, 0xde, 0xff, 0xde, 0xde, 0xff, 0xe0, 0xe0, 0xff, 0xe6, 0xe6 +db 0xff, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xff, 0xee, 0xee, 0xff, 0xf2, 0xf2 +db 0xff, 0xf3, 0xf3, 0xff, 0xf6, 0xf6, 0xff, 0xfc, 0xfc, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xf2, 0xff, 0x72, 0xab +db 0xff, 0x7, 0x6a, 0xff, 0x2, 0x67, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x66, 0xff, 0x18, 0x74 +db 0xff, 0x8f, 0xbc, 0xff, 0xfa, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xf2, 0xf2, 0xff, 0xdd, 0xdd, 0xff, 0xd4, 0xd4, 0xff, 0xd2, 0xd2 +db 0xff, 0xcf, 0xcf, 0xff, 0xce, 0xcd, 0xff, 0xcf, 0xcf, 0xed, 0xb2, 0xcd +db 0xb8, 0x45, 0xb1, 0x9c, 0x8, 0x9d, 0x99, 0x2, 0x99, 0x98, 0x2, 0x98 +db 0x98, 0x2, 0x98, 0x98, 0x2, 0x98, 0x98, 0x2, 0x98, 0x99, 0x2, 0xa2 +db 0xa0, 0x13, 0xc2, 0xc5, 0x6f, 0xe2, 0xf0, 0xd3, 0xf2, 0xfe, 0xf0, 0xf2 +db 0xff, 0xf1, 0xf1, 0xff, 0xf5, 0xf5, 0xff, 0xf9, 0xf8, 0xff, 0xf9, 0xf8 +db 0xff, 0xf9, 0xf8, 0xff, 0xf9, 0xf8, 0xff, 0xf9, 0xf7, 0xff, 0xfc, 0xfa +db 0xff, 0xff, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff +db 0xfa, 0xf9, 0xff, 0xf5, 0xf3, 0xff, 0xf4, 0xf1, 0xff, 0xed, 0xe7, 0xfd +db 0xdf, 0xd0, 0xf3, 0xcd, 0xba, 0xea, 0xb6, 0xa2, 0xeb, 0x97, 0x88, 0xf2 +db 0x6b, 0x67, 0xfa, 0x48, 0x46, 0xfe, 0x31, 0x37, 0xff, 0x13, 0x35, 0xff +db 0x3, 0x35, 0xff, 0x2, 0x35, 0xff, 0x2, 0x35, 0xff, 0x2, 0x35, 0xff +db 0x2, 0x34, 0xff, 0x2, 0x35, 0xff, 0x16, 0x42, 0xfe, 0x58, 0x70, 0xf6 +db 0xc9, 0xb5, 0xdf, 0xfd, 0xce, 0xcf, 0xff, 0xcd, 0xcd, 0xff, 0xcf, 0xcf +db 0xff, 0xd3, 0xd3, 0xff, 0xd6, 0xd6, 0xff, 0xd9, 0xd9, 0xff, 0xdb, 0xdb +db 0xff, 0xde, 0xde, 0xff, 0xe2, 0xe2, 0xff, 0xec, 0xec, 0xff, 0xfb, 0xfb +db 0xff, 0xff, 0xff, 0xfa, 0xfc, 0xff, 0x8f, 0xbc, 0xff, 0x18, 0x74, 0xff +db 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x7, 0x9c, 0xff, 0x72, 0xbb, 0xf3 +db 0xe9, 0xd1, 0xd9, 0xff, 0xce, 0xcd, 0xff, 0xcd, 0xcd, 0xff, 0xd0, 0xd0 +db 0xff, 0xd0, 0xd0, 0xff, 0xd2, 0xd2, 0xff, 0xd3, 0xd3, 0xff, 0xd6, 0xd6 +db 0xff, 0xd9, 0xd9, 0xff, 0xda, 0xda, 0xff, 0xdd, 0xdd, 0xff, 0xdc, 0xdb +db 0xfd, 0xdb, 0xdb, 0xa1, 0xe7, 0xee, 0x24, 0xf8, 0xfe, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x1d, 0xfe, 0xfe, 0x82, 0xf2, 0xf2 +db 0xe7, 0xdd, 0xdc, 0xfe, 0xd6, 0xd6, 0xff, 0xd8, 0xd8, 0xff, 0xd8, 0xd8 +db 0xff, 0xd8, 0xd8, 0xff, 0xd7, 0xd7, 0xff, 0xd4, 0xd4, 0xff, 0xd1, 0xd1 +db 0xff, 0xd1, 0xd1, 0xff, 0xd0, 0xd0, 0xff, 0xcf, 0xd0, 0xf7, 0xd4, 0xd3 +db 0x98, 0xd9, 0xc4, 0x21, 0xc0, 0x94, 0x2, 0x9f, 0x6c, 0x2, 0x99, 0x68 +db 0x2, 0x99, 0x68, 0x2, 0x99, 0x5a, 0x2, 0x99, 0x3e, 0x2, 0x99, 0x33 +db 0x25, 0xa8, 0x51, 0xaf, 0xd5, 0xb6, 0xfd, 0xea, 0xea, 0xff, 0xe6, 0xe7 +db 0xff, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xff, 0xe0, 0xe1, 0xfd, 0xdc, 0xda +db 0xba, 0xca, 0x96, 0x4a, 0xa3, 0x1d, 0x33, 0x83, 0x2, 0x35, 0x6c, 0x2 +db 0x35, 0x68, 0x2, 0x34, 0x68, 0x2, 0x45, 0x68, 0x2, 0x7d, 0x67, 0x2 +db 0xb1, 0x87, 0x3a, 0xe8, 0xc1, 0xaa, 0xff, 0xd2, 0xd3, 0xff, 0xcf, 0xcf +db 0xff, 0xcd, 0xcd, 0xff, 0xcc, 0xcc, 0xff, 0xcd, 0xcd, 0xff, 0xcf, 0xcf +db 0xff, 0xd2, 0xd2, 0xff, 0xd6, 0xd6, 0xff, 0xdb, 0xdb, 0xff, 0xdf, 0xdf +db 0xff, 0xe1, 0xe1, 0xff, 0xe7, 0xe7, 0xff, 0xf1, 0xf1, 0xff, 0xfb, 0xfb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xf2, 0xff, 0x72, 0xab +db 0xff, 0x7, 0x6a, 0xff, 0x2, 0x67, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x66, 0xff, 0x18, 0x74 +db 0xff, 0x8f, 0xbc, 0xff, 0xfa, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xf7, 0xf7, 0xff, 0xf1, 0xf1, 0xff, 0xeb, 0xeb +db 0xff, 0xe6, 0xe6, 0xff, 0xe1, 0xe1, 0xff, 0xdd, 0xdd, 0xed, 0xbd, 0xd8 +db 0xb6, 0x44, 0xb2, 0x99, 0x2, 0x9a, 0x99, 0x2, 0x99, 0x99, 0x2, 0x99 +db 0x99, 0x2, 0x99, 0x99, 0x2, 0x99, 0x99, 0x2, 0x99, 0x99, 0x2, 0xa1 +db 0x98, 0x2, 0xbf, 0xa7, 0x23, 0xd3, 0xc6, 0x6a, 0xdc, 0xde, 0x9c, 0xde +db 0xe4, 0xaa, 0xde, 0xe7, 0xbd, 0xe0, 0xe9, 0xcc, 0xe3, 0xe9, 0xcc, 0xe3 +db 0xe9, 0xcc, 0xe3, 0xe9, 0xcc, 0xe3, 0xe9, 0xcd, 0xe5, 0xea, 0xd3, 0xed +db 0xe2, 0xd0, 0xf6, 0xd0, 0xc1, 0xfd, 0xc8, 0xbb, 0xff, 0xc7, 0xba, 0xff +db 0xb9, 0xa7, 0xff, 0x9f, 0x87, 0xff, 0x9a, 0x7f, 0xff, 0x8a, 0x73, 0xff +db 0x70, 0x66, 0xff, 0x5d, 0x5b, 0xfe, 0x4a, 0x4a, 0xfe, 0x3d, 0x3d, 0xff +db 0x35, 0x35, 0xff, 0x34, 0x33, 0xff, 0x2f, 0x34, 0xff, 0x14, 0x35, 0xff +db 0x3, 0x35, 0xff, 0x2, 0x35, 0xff, 0x2, 0x34, 0xff, 0x2, 0x33, 0xff +db 0x2, 0x36, 0xff, 0x23, 0x4e, 0xfe, 0x73, 0x85, 0xf4, 0xcf, 0xba, 0xdf +db 0xf9, 0xcb, 0xd0, 0xff, 0xcc, 0xcb, 0xff, 0xcb, 0xcc, 0xff, 0xd0, 0xd0 +db 0xff, 0xd7, 0xd7, 0xff, 0xe1, 0xe1, 0xff, 0xea, 0xea, 0xff, 0xef, 0xef +db 0xff, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xff, 0xf6, 0xf6, 0xff, 0xfd, 0xfd +db 0xff, 0xff, 0xff, 0xfa, 0xfc, 0xff, 0x8f, 0xbc, 0xff, 0x18, 0x74, 0xff +db 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x7, 0x9c, 0xff, 0x72, 0xbb, 0xf3 +db 0xe9, 0xd0, 0xd8, 0xff, 0xcd, 0xcc, 0xff, 0xcc, 0xcc, 0xff, 0xcc, 0xcc +db 0xff, 0xcf, 0xcf, 0xff, 0xda, 0xda, 0xff, 0xe3, 0xe3, 0xff, 0xeb, 0xeb +db 0xff, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xff, 0xee, 0xee, 0xff, 0xe4, 0xe4 +db 0xff, 0xdc, 0xdc, 0xca, 0xe8, 0xe9, 0x4c, 0xf9, 0xfa, 0x3, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x3, 0xff, 0xff, 0x29, 0xfb, 0xfa +db 0x7c, 0xf1, 0xe8, 0xc3, 0xe6, 0xdc, 0xe9, 0xdd, 0xd8, 0xf9, 0xd4, 0xd3 +db 0xff, 0xd0, 0xd0, 0xff, 0xce, 0xcf, 0xff, 0xcd, 0xce, 0xfd, 0xcf, 0xce +db 0xee, 0xd3, 0xcf, 0xda, 0xd6, 0xce, 0xc4, 0xd7, 0xcb, 0xac, 0xd9, 0xc8 +db 0x67, 0xd8, 0xba, 0x1b, 0xc0, 0x92, 0x2, 0x9f, 0x6d, 0x2, 0x99, 0x68 +db 0x2, 0x99, 0x68, 0x2, 0x99, 0x5a, 0x2, 0x99, 0x3e, 0x2, 0x99, 0x33 +db 0x10, 0x9f, 0x40, 0x72, 0xbe, 0x86, 0xd6, 0xd8, 0xc7, 0xfe, 0xdf, 0xdf +db 0xff, 0xde, 0xde, 0xff, 0xe1, 0xe1, 0xff, 0xe2, 0xe3, 0xfd, 0xe4, 0xe2 +db 0xba, 0xd0, 0x9c, 0x4a, 0xa3, 0x1d, 0x33, 0x83, 0x2, 0x35, 0x6c, 0x2 +db 0x35, 0x68, 0x2, 0x34, 0x68, 0x2, 0x45, 0x68, 0x2, 0x7d, 0x66, 0x2 +db 0xb1, 0x89, 0x3c, 0xe8, 0xcd, 0xb7, 0xff, 0xe7, 0xe8, 0xff, 0xe2, 0xe2 +db 0xff, 0xda, 0xda, 0xff, 0xd4, 0xd4, 0xff, 0xd1, 0xd1, 0xff, 0xcd, 0xcd +db 0xff, 0xcf, 0xcf, 0xff, 0xd4, 0xd4, 0xff, 0xd7, 0xd7, 0xff, 0xdc, 0xdc +db 0xff, 0xe3, 0xe3, 0xff, 0xea, 0xea, 0xff, 0xf0, 0xf0, 0xff, 0xfa, 0xfa +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xf2, 0xff, 0x72, 0xab +db 0xff, 0x7, 0x6a, 0xff, 0x2, 0x67, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x66, 0xff, 0x18, 0x74 +db 0xff, 0x8f, 0xbc, 0xff, 0xfa, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xfc, 0xfc, 0xff, 0xfa, 0xfb, 0xff, 0xf9, 0xf8, 0xf9, 0xed, 0xf5 +db 0xd0, 0x89, 0xcf, 0xa5, 0x1f, 0xa6, 0x98, 0x2, 0x98, 0x99, 0x2, 0x99 +db 0x99, 0x2, 0x99, 0x99, 0x2, 0x99, 0x99, 0x2, 0x99, 0x99, 0x2, 0xa2 +db 0x99, 0x2, 0xbf, 0x9b, 0x5, 0xcd, 0xa0, 0x11, 0xcf, 0xa9, 0x23, 0xd1 +db 0xa7, 0x2d, 0xd2, 0x90, 0x40, 0xd4, 0x7c, 0x50, 0xd6, 0x7a, 0x50, 0xd6 +db 0x7b, 0x50, 0xd6, 0x7b, 0x50, 0xd6, 0x7b, 0x51, 0xe1, 0x7b, 0x53, 0xf5 +db 0x72, 0x4a, 0xfb, 0x5f, 0x36, 0xfe, 0x57, 0x2d, 0xff, 0x56, 0x2d, 0xff +db 0x4e, 0x23, 0xff, 0x42, 0x13, 0xff, 0x40, 0xf, 0xff, 0x3d, 0x15, 0xff +db 0x37, 0x2a, 0xff, 0x35, 0x35, 0xff, 0x34, 0x34, 0xff, 0x33, 0x34, 0xff +db 0x34, 0x34, 0xff, 0x36, 0x35, 0xff, 0x30, 0x35, 0xff, 0x13, 0x34, 0xff +db 0x2, 0x33, 0xff, 0x2, 0x33, 0xff, 0x2, 0x35, 0xff, 0x15, 0x43, 0xff +db 0x46, 0x6b, 0xff, 0x9a, 0xad, 0xfe, 0xdf, 0xda, 0xf3, 0xfe, 0xe0, 0xe1 +db 0xff, 0xd8, 0xd7, 0xff, 0xd2, 0xd2, 0xff, 0xcf, 0xcf, 0xff, 0xcd, 0xcd +db 0xff, 0xcf, 0xcf, 0xff, 0xd5, 0xd5, 0xff, 0xdd, 0xdd, 0xff, 0xe8, 0xe8 +db 0xff, 0xf2, 0xf2, 0xff, 0xf7, 0xf7, 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xfc, 0xff, 0x8f, 0xbc, 0xff, 0x18, 0x74, 0xff +db 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x7, 0x9c, 0xff, 0x71, 0xbb, 0xf3 +db 0xe9, 0xd0, 0xd7, 0xff, 0xcc, 0xcb, 0xff, 0xcc, 0xcc, 0xff, 0xcc, 0xcc +db 0xff, 0xd2, 0xd2, 0xff, 0xe6, 0xe6, 0xff, 0xf6, 0xf6, 0xff, 0xfd, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb +db 0xff, 0xf7, 0xf7, 0xf1, 0xf7, 0xf7, 0x9a, 0xfb, 0xfb, 0x23, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x4, 0xff, 0xfc +db 0x15, 0xfe, 0xe8, 0x3c, 0xfd, 0xd8, 0x67, 0xf7, 0xd9, 0x90, 0xf0, 0xd9 +db 0xb3, 0xe6, 0xd7, 0xc4, 0xdb, 0xcf, 0xc4, 0xd7, 0xcb, 0xa9, 0xd7, 0xc5 +db 0x75, 0xd6, 0xbb, 0x4e, 0xd5, 0xb1, 0x37, 0xd3, 0xab, 0x25, 0xd2, 0xa6 +db 0x12, 0xcf, 0x9f, 0x5, 0xbc, 0x8a, 0x2, 0x9f, 0x6d, 0x2, 0x99, 0x68 +db 0x2, 0x99, 0x68, 0x2, 0x99, 0x5a, 0x2, 0x99, 0x3e, 0x2, 0x99, 0x34 +db 0x3, 0x9a, 0x36, 0x1c, 0xa2, 0x47, 0x6f, 0xbd, 0x84, 0xdf, 0xe2, 0xd6 +db 0xff, 0xea, 0xea, 0xff, 0xe3, 0xe3, 0xff, 0xdd, 0xde, 0xfd, 0xdf, 0xdd +db 0xba, 0xce, 0x9b, 0x4a, 0xa3, 0x1d, 0x33, 0x83, 0x2, 0x35, 0x6c, 0x2 +db 0x35, 0x68, 0x2, 0x34, 0x68, 0x2, 0x45, 0x68, 0x2, 0x7d, 0x66, 0x2 +db 0xb1, 0x8b, 0x3e, 0xe8, 0xdb, 0xc2, 0xff, 0xfd, 0xfe, 0xff, 0xfb, 0xfc +db 0xff, 0xf6, 0xf6, 0xff, 0xf1, 0xf1, 0xff, 0xec, 0xec, 0xff, 0xe5, 0xe5 +db 0xff, 0xdd, 0xdd, 0xff, 0xda, 0xda, 0xff, 0xd7, 0xd7, 0xff, 0xd6, 0xd6 +db 0xff, 0xd8, 0xd8, 0xff, 0xdb, 0xdb, 0xff, 0xdf, 0xdf, 0xff, 0xe7, 0xe7 +db 0xff, 0xf0, 0xf0, 0xff, 0xf3, 0xf3, 0xff, 0xf6, 0xf6, 0xff, 0xfa, 0xfa +db 0xff, 0xfc, 0xfc, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0xf2, 0xff, 0x72, 0xab +db 0xff, 0x7, 0x6a, 0xff, 0x2, 0x67, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x66, 0xff, 0x18, 0x75 +db 0xff, 0x90, 0xbd, 0xff, 0xfa, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xff, 0xf9, 0xf8, 0xff, 0xfc, 0xfb +db 0xee, 0xd2, 0xec, 0xc5, 0x6d, 0xc4, 0xa3, 0x1a, 0xa4, 0x9a, 0x4, 0x9a +db 0x99, 0x2, 0x99, 0x99, 0x2, 0x99, 0x99, 0x2, 0x99, 0x99, 0x2, 0xa2 +db 0x99, 0x2, 0xbf, 0x99, 0x2, 0xcc, 0x98, 0x2, 0xcc, 0x99, 0x2, 0xcc +db 0x90, 0x2, 0xcc, 0x63, 0x2, 0xcd, 0x39, 0x5, 0xcd, 0x36, 0x5, 0xcd +db 0x37, 0x5, 0xcd, 0x37, 0x5, 0xce, 0x37, 0x5, 0xde, 0x37, 0x5, 0xfa +db 0x36, 0x3, 0xff, 0x34, 0x2, 0xff, 0x32, 0x2, 0xff, 0x32, 0x2, 0xff +db 0x32, 0x2, 0xff, 0x32, 0x2, 0xff, 0x33, 0x2, 0xff, 0x33, 0x9, 0xff +db 0x34, 0x26, 0xff, 0x34, 0x34, 0xff, 0x35, 0x35, 0xff, 0x35, 0x35, 0xff +db 0x34, 0x34, 0xff, 0x35, 0x34, 0xff, 0x2e, 0x34, 0xff, 0x14, 0x35, 0xff +db 0xa, 0x3c, 0xff, 0x1d, 0x4b, 0xff, 0x42, 0x68, 0xff, 0x7d, 0x97, 0xff +db 0xc2, 0xcd, 0xff, 0xf1, 0xf4, 0xff, 0xff, 0xfe, 0xfd, 0xff, 0xf8, 0xf7 +db 0xff, 0xf1, 0xf1, 0xff, 0xec, 0xec, 0xff, 0xe3, 0xe3, 0xff, 0xd8, 0xd8 +db 0xff, 0xcf, 0xcf, 0xff, 0xcc, 0xcc, 0xff, 0xcd, 0xcd, 0xff, 0xd2, 0xd2 +db 0xff, 0xd8, 0xd8, 0xff, 0xdf, 0xdf, 0xff, 0xe6, 0xe6, 0xff, 0xf0, 0xf0 +db 0xff, 0xf9, 0xf8, 0xfa, 0xfa, 0xfd, 0x8f, 0xbc, 0xff, 0x18, 0x74, 0xff +db 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x8, 0x9d, 0xff, 0x75, 0xbf, 0xf5 +db 0xeb, 0xd6, 0xde, 0xff, 0xd1, 0xd0, 0xff, 0xce, 0xce, 0xff, 0xcc, 0xcc +db 0xff, 0xce, 0xce, 0xff, 0xd9, 0xd9, 0xff, 0xe5, 0xe5, 0xff, 0xee, 0xee +db 0xff, 0xf5, 0xf5, 0xff, 0xfa, 0xfa, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xdf, 0xfe, 0xfe, 0x79, 0xff, 0xff +db 0x1f, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xfc +db 0x2, 0xff, 0xe6, 0x2, 0xff, 0xd0, 0xa, 0xff, 0xce, 0x1a, 0xfe, 0xd1 +db 0x31, 0xed, 0xc3, 0x3e, 0xd8, 0xb1, 0x3d, 0xd4, 0xac, 0x2b, 0xd2, 0xa8 +db 0x10, 0xcf, 0x9f, 0x3, 0xcd, 0x9b, 0x2, 0xcc, 0x99, 0x2, 0xcc, 0x98 +db 0x2, 0xcc, 0x98, 0x2, 0xbb, 0x88, 0x2, 0x9f, 0x6c, 0x2, 0x99, 0x68 +db 0x2, 0x99, 0x68, 0x2, 0x99, 0x5a, 0x2, 0x99, 0x3e, 0x2, 0x99, 0x34 +db 0x2, 0x99, 0x34, 0x2, 0x99, 0x33, 0x24, 0xa8, 0x50, 0x98, 0xd5, 0xac +db 0xf0, 0xf7, 0xf1, 0xff, 0xf9, 0xfa, 0xff, 0xf4, 0xf5, 0xfd, 0xf3, 0xf2 +db 0xba, 0xd7, 0xa3, 0x4a, 0xa3, 0x1d, 0x33, 0x83, 0x2, 0x35, 0x6c, 0x2 +db 0x35, 0x68, 0x2, 0x34, 0x68, 0x2, 0x45, 0x68, 0x2, 0x7d, 0x66, 0x2 +db 0xb1, 0x8b, 0x3e, 0xe8, 0xdc, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfb, 0xfb +db 0xff, 0xf6, 0xf6, 0xff, 0xf3, 0xf3, 0xff, 0xee, 0xee, 0xff, 0xe8, 0xe8 +db 0xff, 0xe2, 0xe2, 0xff, 0xda, 0xda, 0xff, 0xd6, 0xd6, 0xff, 0xd6, 0xd6 +db 0xff, 0xd9, 0xd9, 0xff, 0xd9, 0xd9, 0xff, 0xdc, 0xdc, 0xff, 0xe2, 0xe2 +db 0xff, 0xe5, 0xe5, 0xff, 0xec, 0xec, 0xff, 0xf5, 0xf5, 0xff, 0xf8, 0xf8 +db 0xff, 0xfb, 0xfb, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdd, 0xeb, 0xff, 0x5f, 0xa0 +db 0xff, 0x4, 0x69, 0xff, 0x2, 0x67, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x66, 0xff, 0x25, 0x7c +db 0xff, 0xa2, 0xc6, 0xff, 0xfd, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd +db 0xff, 0xf3, 0xf3, 0xff, 0xe0, 0xe0, 0xff, 0xdb, 0xdb, 0xff, 0xe3, 0xe3 +db 0xff, 0xe7, 0xe8, 0xef, 0xc9, 0xe2, 0xcd, 0x7e, 0xc8, 0xb0, 0x37, 0xad +db 0xa0, 0x10, 0x9f, 0x9a, 0x4, 0x9b, 0x98, 0x2, 0x99, 0x98, 0x2, 0xa1 +db 0x98, 0x2, 0xbf, 0x99, 0x2, 0xcc, 0x99, 0x2, 0xcc, 0x9a, 0x2, 0xcc +db 0x91, 0x2, 0xcc, 0x61, 0x2, 0xcc, 0x36, 0x2, 0xcc, 0x33, 0x2, 0xcc +db 0x34, 0x2, 0xcc, 0x34, 0x2, 0xcd, 0x34, 0x2, 0xde, 0x34, 0x2, 0xfa +db 0x34, 0x2, 0xff, 0x34, 0x2, 0xff, 0x35, 0x2, 0xff, 0x34, 0x2, 0xff +db 0x35, 0x2, 0xff, 0x35, 0x2, 0xff, 0x35, 0x2, 0xff, 0x34, 0xa, 0xff +db 0x34, 0x26, 0xff, 0x33, 0x33, 0xff, 0x33, 0x33, 0xff, 0x32, 0x33, 0xff +db 0x35, 0x35, 0xff, 0x3a, 0x3a, 0xff, 0x3f, 0x43, 0xff, 0x3d, 0x54, 0xfd +db 0x58, 0x76, 0xfb, 0x97, 0xab, 0xfd, 0xcb, 0xd6, 0xff, 0xef, 0xf2, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xff, 0xf4, 0xf4 +db 0xff, 0xe6, 0xe6, 0xff, 0xd8, 0xd8, 0xff, 0xd0, 0xd0, 0xff, 0xcc, 0xcc +db 0xff, 0xcb, 0xcb, 0xff, 0xcc, 0xcc, 0xff, 0xce, 0xce, 0xff, 0xd5, 0xd5 +db 0xff, 0xe0, 0xdf, 0xfa, 0xe9, 0xec, 0x8f, 0xb8, 0xfa, 0x17, 0x74, 0xff +db 0x2, 0x66, 0xff, 0x2, 0x68, 0xff, 0x2, 0x79, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x99, 0xff, 0x11, 0xa1, 0xff, 0x8d, 0xce, 0xfc +db 0xf3, 0xee, 0xf2, 0xff, 0xe8, 0xe8, 0xff, 0xde, 0xde, 0xff, 0xd7, 0xd7 +db 0xff, 0xd1, 0xd1, 0xff, 0xce, 0xce, 0xff, 0xce, 0xce, 0xff, 0xd2, 0xd2 +db 0xff, 0xd8, 0xd8, 0xff, 0xe0, 0xe0, 0xff, 0xe8, 0xe8, 0xff, 0xf2, 0xf2 +db 0xff, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xff, 0xfd, 0xfd, 0xde, 0xff, 0xff +db 0x77, 0xff, 0xff, 0x21, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xfc +db 0x2, 0xff, 0xe6, 0x2, 0xff, 0xcf, 0x2, 0xff, 0xcc, 0x2, 0xfe, 0xcb +db 0x2, 0xe8, 0xb6, 0x2, 0xd1, 0x9d, 0x2, 0xcc, 0x98, 0x2, 0xcc, 0x99 +db 0x2, 0xcc, 0x98, 0x2, 0xcc, 0x98, 0x2, 0xcc, 0x98, 0x2, 0xcc, 0x98 +db 0x2, 0xcc, 0x98, 0x2, 0xbb, 0x88, 0x3, 0xa0, 0x6e, 0x2, 0x99, 0x67 +db 0x2, 0x99, 0x66, 0x2, 0x99, 0x59, 0x2, 0x99, 0x3e, 0x2, 0x99, 0x34 +db 0x2, 0x99, 0x35, 0x2, 0x99, 0x33, 0x4, 0x9b, 0x37, 0x41, 0xb4, 0x68 +db 0xc6, 0xe9, 0xd2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xfe +db 0xbd, 0xde, 0xad, 0x4c, 0xa5, 0x20, 0x33, 0x83, 0x2, 0x35, 0x6c, 0x2 +db 0x35, 0x68, 0x2, 0x34, 0x68, 0x2, 0x45, 0x68, 0x2, 0x7e, 0x66, 0x2 +db 0xb2, 0x8b, 0x3e, 0xe8, 0xdc, 0xc4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xfb, 0xfb, 0xff, 0xf5, 0xf5, 0xff, 0xf1, 0xf1, 0xff, 0xea, 0xea +db 0xff, 0xe2, 0xe2, 0xff, 0xd9, 0xd9, 0xff, 0xd3, 0xd3, 0xff, 0xd2, 0xd2 +db 0xff, 0xd0, 0xd0, 0xff, 0xd2, 0xd2, 0xff, 0xd7, 0xd7, 0xff, 0xdd, 0xdd +db 0xff, 0xe4, 0xe4, 0xff, 0xec, 0xec, 0xff, 0xf5, 0xf5, 0xff, 0xf9, 0xf9 +db 0xff, 0xfb, 0xfb, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0xdf, 0xff, 0x43, 0x8f +db 0xff, 0x2, 0x67, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68, 0xff, 0x2, 0x68 +db 0xff, 0x2, 0x68, 0xff, 0x2, 0x67, 0xff, 0x2, 0x67, 0xff, 0x45, 0x90 +db 0xff, 0xc7, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc +db 0xff, 0xeb, 0xeb, 0xff, 0xd6, 0xd6, 0xff, 0xd0, 0xd0, 0xff, 0xd0, 0xd0 +db 0xff, 0xd4, 0xd3, 0xfe, 0xd6, 0xd9, 0xf5, 0xc6, 0xd7, 0xdf, 0x97, 0xc8 +db 0xc7, 0x67, 0xba, 0xb8, 0x46, 0xb1, 0xad, 0x2e, 0xa9, 0xa4, 0x19, 0xab +db 0x9c, 0x7, 0xc0, 0x99, 0x2, 0xcc, 0x98, 0x2, 0xcc, 0x9a, 0x2, 0xcc +db 0x91, 0x2, 0xcc, 0x61, 0x2, 0xcc, 0x36, 0x2, 0xcc, 0x33, 0x2, 0xcc +db 0x34, 0x2, 0xcc, 0x34, 0x2, 0xcd, 0x34, 0x2, 0xde, 0x34, 0x2, 0xfa +db 0x34, 0x2, 0xff, 0x34, 0x2, 0xff, 0x34, 0x2, 0xff, 0x33, 0x2, 0xff +db 0x33, 0x2, 0xff, 0x33, 0x2, 0xff, 0x33, 0x2, 0xff, 0x34, 0xb, 0xff +db 0x37, 0x29, 0xff, 0x3d, 0x3d, 0xff, 0x43, 0x43, 0xff, 0x50, 0x4e, 0xfd +db 0x66, 0x61, 0xfa, 0x7e, 0x75, 0xf5, 0x99, 0x8b, 0xf0, 0xae, 0xa1, 0xe9 +db 0xcd, 0xbf, 0xe7, 0xee, 0xe6, 0xf4, 0xfd, 0xfd, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xfa, 0xfa, 0xff, 0xf0, 0xf0, 0xff, 0xe5, 0xe5, 0xff, 0xda, 0xda +db 0xff, 0xd2, 0xd2, 0xff, 0xce, 0xce, 0xff, 0xcc, 0xcc, 0xff, 0xcc, 0xcc +db 0xff, 0xd0, 0xcf, 0xfd, 0xd6, 0xd7, 0xa4, 0xb7, 0xed, 0x28, 0x7c, 0xfd +db 0x2, 0x66, 0xff, 0x2, 0x67, 0xff, 0x2, 0x78, 0xff, 0x2, 0x94, 0xff +db 0x2, 0x99, 0xff, 0x2, 0x9a, 0xff, 0x2d, 0xab, 0xff, 0xb5, 0xe1, 0xff +db 0xfd, 0xfd, 0xfe, 0xff, 0xfb, 0xfb, 0xff, 0xf6, 0xf6, 0xff, 0xf0, 0xf0 +db 0xff, 0xe9, 0xe9, 0xff, 0xdf, 0xdf, 0xff, 0xd7, 0xd7, 0xff, 0xd4, 0xd4 +db 0xff, 0xd3, 0xd3, 0xff, 0xd1, 0xd1, 0xff, 0xd3, 0xd3, 0xff, 0xda, 0xda +db 0xff, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xff, 0xe9, 0xe9, 0xfd, 0xf2, 0xf2 +db 0xd2, 0xf6, 0xf6, 0x89, 0xf7, 0xf7, 0x47, 0xfa, 0xfa, 0x21, 0xfd, 0xfd +db 0xb, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xfc +db 0x2, 0xff, 0xe6, 0x2, 0xff, 0xcf, 0x2, 0xff, 0xcc, 0x2, 0xfe, 0xcb +db 0x2, 0xe8, 0xb5, 0x2, 0xd1, 0x9c, 0x2, 0xcb, 0x97, 0x2, 0xcc, 0x98 +db 0x2, 0xcc, 0x99, 0x2, 0xcc, 0x99, 0x5, 0xcd, 0x9a, 0xd, 0xcf, 0x9e +db 0x1d, 0xd0, 0xa2, 0x32, 0xc6, 0x9e, 0x48, 0xb8, 0x93, 0x36, 0xac, 0x84 +db 0x13, 0xa0, 0x71, 0x3, 0x9a, 0x5b, 0x2, 0x99, 0x3d, 0x2, 0x99, 0x33 +db 0x2, 0x99, 0x34, 0x2, 0x98, 0x33, 0x5, 0x9b, 0x38, 0x3e, 0xad, 0x60 +db 0xc1, 0xd9, 0xc0, 0xff, 0xee, 0xee, 0xff, 0xf3, 0xf4, 0xff, 0xf8, 0xf8 +db 0xd2, 0xe5, 0xc2, 0x67, 0xb1, 0x41, 0x37, 0x85, 0x5, 0x33, 0x6b, 0x2 +db 0x34, 0x67, 0x2, 0x33, 0x67, 0x2, 0x44, 0x67, 0x2, 0x7e, 0x67, 0x2 +db 0xb9, 0x96, 0x4f, 0xee, 0xe4, 0xd1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfc, 0xfc +db 0xff, 0xf9, 0xf9, 0xff, 0xf2, 0xf2, 0xff, 0xeb, 0xeb, 0xff, 0xe7, 0xe7 +db 0xff, 0xe1, 0xe1, 0xff, 0xd9, 0xd9, 0xff, 0xd5, 0xd5, 0xff, 0xd3, 0xd3 +db 0xff, 0xd3, 0xd3, 0xff, 0xd6, 0xd6, 0xff, 0xdd, 0xdd, 0xff, 0xe2, 0xe2 +db 0xff, 0xe6, 0xe6, 0xff, 0xec, 0xec, 0xff, 0xf1, 0xf1, 0xff, 0xf6, 0xf6 +db 0xff, 0xfa, 0xfa, 0xff, 0xfe, 0xfd, 0xff, 0xd0, 0xe3, 0xff, 0x52, 0x98 +db 0xff, 0x4, 0x68, 0xff, 0x2, 0x67, 0xff, 0x2, 0x67, 0xff, 0x2, 0x67 +db 0xff, 0x2, 0x67, 0xff, 0x2, 0x66, 0xff, 0x8, 0x6b, 0xff, 0x6f, 0xaa +db 0xff, 0xe4, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xf6, 0xf6, 0xff, 0xea, 0xea, 0xff, 0xe1, 0xe1, 0xff, 0xda, 0xda +db 0xff, 0xd3, 0xd3, 0xff, 0xcf, 0xcf, 0xff, 0xd0, 0xce, 0xfe, 0xce, 0xcf +db 0xf8, 0xc5, 0xcf, 0xf0, 0xb7, 0xcd, 0xe5, 0xa3, 0xc9, 0xd2, 0x7e, 0xc7 +db 0xbb, 0x4b, 0xce, 0xaa, 0x29, 0xd2, 0xa4, 0x1b, 0xd1, 0xa1, 0x11, 0xcf +db 0x94, 0x8, 0xce, 0x64, 0x7, 0xce, 0x3b, 0x7, 0xce, 0x38, 0x7, 0xce +db 0x39, 0x7, 0xce, 0x39, 0x7, 0xce, 0x39, 0x7, 0xdf, 0x39, 0x7, 0xfa +db 0x39, 0x7, 0xff, 0x3a, 0x9, 0xff, 0x41, 0x12, 0xff, 0x49, 0x1b, 0xfe +db 0x4a, 0x1c, 0xfe, 0x4a, 0x1c, 0xfe, 0x4a, 0x1c, 0xfe, 0x56, 0x2f, 0xfc +db 0x6d, 0x5c, 0xf9, 0x8a, 0x7e, 0xf4, 0xa2, 0x91, 0xef, 0xbd, 0xa6, 0xe9 +db 0xd6, 0xb8, 0xe0, 0xea, 0xc4, 0xd9, 0xf7, 0xcb, 0xd4, 0xfe, 0xcf, 0xd0 +db 0xff, 0xd8, 0xd5, 0xff, 0xf0, 0xee, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xf5, 0xf5 +db 0xff, 0xea, 0xea, 0xff, 0xe2, 0xe2, 0xff, 0xd6, 0xd6, 0xff, 0xce, 0xce +db 0xff, 0xcc, 0xcb, 0xff, 0xcd, 0xcc, 0xd7, 0xc3, 0xdc, 0x6a, 0x9a, 0xf2 +db 0x17, 0x73, 0xfe, 0x7, 0x6c, 0xff, 0x6, 0x7c, 0xff, 0x9, 0x98, 0xff +db 0x15, 0xa1, 0xff, 0x2f, 0xac, 0xff, 0x7e, 0xcb, 0xff, 0xe3, 0xf4, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xfa, 0xfa, 0xff, 0xf4, 0xf4, 0xff, 0xf0, 0xf0 +db 0xff, 0xeb, 0xeb, 0xff, 0xe3, 0xe3, 0xff, 0xdb, 0xdb, 0xff, 0xd5, 0xd5 +db 0xff, 0xd1, 0xd1, 0xff, 0xcf, 0xcf, 0xff, 0xd0, 0xd0, 0xff, 0xd5, 0xd5 +db 0xff, 0xd9, 0xd9, 0xf2, 0xda, 0xda, 0xd1, 0xe0, 0xe0, 0x9f, 0xea, 0xea +db 0x62, 0xf5, 0xf5, 0x33, 0xfb, 0xfb, 0x1f, 0xfd, 0xfe, 0x16, 0xff, 0xfb +db 0x9, 0xff, 0xe6, 0x7, 0xff, 0xd1, 0x7, 0xff, 0xce, 0x7, 0xfe, 0xcd +db 0x7, 0xe9, 0xb8, 0x7, 0xd2, 0xa0, 0x7, 0xcd, 0x9b, 0x8, 0xce, 0x9c +db 0x14, 0xcf, 0xa0, 0x27, 0xd2, 0xa6, 0x46, 0xd4, 0xaf, 0x72, 0xd7, 0xbb +db 0x9a, 0xd8, 0xc3, 0xbd, 0xd6, 0xc9, 0xd6, 0xd6, 0xce, 0xbc, 0xcd, 0xc0 +db 0x79, 0xbc, 0xa1, 0x37, 0xab, 0x76, 0x15, 0xa0, 0x4a, 0x9, 0x9c, 0x3a +db 0xc, 0x9e, 0x3e, 0x1c, 0xa5, 0x49, 0x41, 0xb1, 0x65, 0x9b, 0xc4, 0x9c +db 0xeb, 0xd0, 0xc8, 0xff, 0xd2, 0xd2, 0xff, 0xd6, 0xd6, 0xff, 0xdc, 0xde +db 0xf3, 0xdd, 0xd4, 0xaf, 0xc5, 0x8a, 0x59, 0x92, 0x2b, 0x3a, 0x6f, 0x8 +db 0x38, 0x6a, 0x7, 0x38, 0x6b, 0x7, 0x49, 0x6b, 0x7, 0x88, 0x76, 0x1a +db 0xcd, 0xb5, 0x83, 0xf8, 0xf3, 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xfb, 0xfb, 0xff, 0xf5, 0xf5, 0xff, 0xf0, 0xf0, 0xff, 0xea, 0xea +db 0xff, 0xe5, 0xe5, 0xff, 0xdf, 0xdf, 0xff, 0xda, 0xda, 0xff, 0xd5, 0xd5 +db 0xff, 0xd1, 0xd1, 0xff, 0xd2, 0xd2, 0xff, 0xd4, 0xd4, 0xff, 0xda, 0xda +db 0xff, 0xe0, 0xe0, 0xff, 0xe7, 0xe6, 0xff, 0xdc, 0xe2, 0xff, 0x91, 0xb8 +db 0xff, 0x34, 0x83, 0xff, 0xf, 0x70, 0xff, 0x7, 0x6b, 0xff, 0x7, 0x6b +db 0xff, 0xc, 0x6e, 0xff, 0x19, 0x76, 0xff, 0x40, 0x8d, 0xff, 0xb0, 0xcf +db 0xff, 0xf9, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xff, 0xfb, 0xfb, 0xff, 0xf6, 0xf6 +db 0xff, 0xee, 0xee, 0xff, 0xe5, 0xe5, 0xff, 0xe2, 0xe1, 0xff, 0xdd, 0xdc +db 0xff, 0xda, 0xd9, 0xff, 0xda, 0xda, 0xff, 0xd9, 0xdb, 0xfa, 0xd2, 0xdb +db 0xef, 0xbd, 0xdc, 0xe3, 0xa3, 0xdb, 0xdb, 0x92, 0xd9, 0xd2, 0x7c, 0xd8 +db 0xc3, 0x69, 0xd7, 0xa8, 0x66, 0xd8, 0x8f, 0x67, 0xd8, 0x8e, 0x67, 0xd8 +db 0x8e, 0x66, 0xd7, 0x8e, 0x66, 0xd7, 0x8e, 0x66, 0xe0, 0x8e, 0x66, 0xf0 +db 0x8e, 0x65, 0xf3, 0x91, 0x68, 0xf2, 0xa5, 0x7b, 0xee, 0xb7, 0x8e, 0xe8 +db 0xba, 0x92, 0xe9, 0xba, 0x92, 0xe9, 0xba, 0x93, 0xe9, 0xc5, 0xa2, 0xe8 +db 0xdc, 0xbc, 0xe2, 0xec, 0xca, 0xdc, 0xf5, 0xcf, 0xd8, 0xfc, 0xd1, 0xd5 +db 0xff, 0xd3, 0xd3, 0xff, 0xd5, 0xd4, 0xff, 0xdb, 0xda, 0xff, 0xe2, 0xe1 +db 0xff, 0xe9, 0xe9, 0xff, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfd, 0xfd, 0xff, 0xfa, 0xfa, 0xff, 0xf0, 0xf0, 0xff, 0xe3, 0xe3 +db 0xff, 0xda, 0xda, 0xff, 0xd6, 0xd6, 0xfa, 0xd2, 0xd5, 0xd3, 0xc5, 0xe0 +db 0x93, 0xac, 0xed, 0x75, 0xa0, 0xf2, 0x71, 0xa8, 0xf2, 0x78, 0xb9, 0xf1 +db 0x96, 0xc4, 0xee, 0xb9, 0xd8, 0xf4, 0xe2, 0xf2, 0xfd, 0xfc, 0xfe, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xfe, 0xfe, 0xff, 0xfb, 0xfb, 0xff, 0xf7, 0xf7, 0xff, 0xf2, 0xf2 +db 0xff, 0xeb, 0xeb, 0xff, 0xe2, 0xe2, 0xff, 0xdb, 0xdb, 0xff, 0xd8, 0xd8 +db 0xff, 0xd8, 0xd8, 0xff, 0xd8, 0xd8, 0xff, 0xda, 0xda, 0xf6, 0xdb, 0xdb +db 0xe0, 0xdf, 0xdf, 0xbf, 0xe6, 0xe6, 0xaa, 0xe9, 0xea, 0x96, 0xed, 0xeb +db 0x78, 0xf3, 0xe5, 0x72, 0xf4, 0xda, 0x72, 0xf4, 0xd7, 0x72, 0xf3, 0xd7 +db 0x72, 0xe6, 0xca, 0x72, 0xd9, 0xbe, 0x72, 0xd6, 0xba, 0x77, 0xd6, 0xbb +db 0x91, 0xd8, 0xc1, 0xb3, 0xdb, 0xcb, 0xcf, 0xda, 0xd0, 0xea, 0xd8, 0xd3 +db 0xf7, 0xd5, 0xd4, 0xfd, 0xd4, 0xd3, 0xff, 0xd4, 0xd4, 0xfc, 0xd4, 0xd3 +db 0xe8, 0xd3, 0xcd, 0xc0, 0xcc, 0xbb, 0x92, 0xc1, 0x99, 0x76, 0xbc, 0x85 +db 0x80, 0xc0, 0x8d, 0xa3, 0xd0, 0xab, 0xc7, 0xe2, 0xcc, 0xf0, 0xe9, 0xe3 +db 0xff, 0xdf, 0xdf, 0xff, 0xd8, 0xd9, 0xff, 0xd7, 0xd7, 0xff, 0xd4, 0xd5 +db 0xff, 0xd2, 0xd2, 0xef, 0xce, 0xc2, 0xb8, 0xb8, 0x8e, 0x92, 0xa1, 0x69 +db 0x8d, 0x9e, 0x65, 0x8d, 0x9d, 0x65, 0x99, 0xa1, 0x6a, 0xc4, 0xb9, 0x8e +db 0xee, 0xe6, 0xd5, 0xfe, 0xfe, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd +db 0xff, 0xfc, 0xfc, 0xff, 0xfa, 0xfa, 0xff, 0xf6, 0xf6, 0xff, 0xef, 0xef +db 0xff, 0xe6, 0xe6, 0xff, 0xe0, 0xe0, 0xff, 0xda, 0xda, 0xff, 0xd8, 0xd8 +db 0xff, 0xd7, 0xd7, 0xff, 0xd5, 0xd5, 0xff, 0xd5, 0xd5, 0xff, 0xc7, 0xce +db 0xff, 0xa1, 0xbc, 0xff, 0x76, 0xa7, 0xff, 0x66, 0x9e, 0xff, 0x65, 0x9e +db 0xff, 0x75, 0xa9, 0xff, 0x99, 0xc0, 0xff, 0xc2, 0xda, 0xff, 0xee, 0xf5 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xfc, 0xfc, 0xff, 0xfa, 0xfa, 0xff, 0xf6, 0xf6 +db 0xff, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xff, 0xf4, 0xf3, 0xff, 0xf5, 0xf3 +db 0xff, 0xf1, 0xef, 0xff, 0xeb, 0xeb, 0xfe, 0xe3, 0xe6, 0xfb, 0xda, 0xe4 +db 0xf7, 0xd4, 0xe5, 0xf2, 0xd4, 0xe5, 0xee, 0xd4, 0xe5, 0xee, 0xd2, 0xe3 +db 0xee, 0xcd, 0xde, 0xee, 0xcb, 0xdc, 0xee, 0xcb, 0xde, 0xee, 0xcb, 0xe0 +db 0xee, 0xcb, 0xe1, 0xef, 0xcb, 0xe1, 0xf6, 0xd1, 0xdd, 0xfd, 0xd7, 0xda +db 0xfd, 0xdc, 0xde, 0xfd, 0xdf, 0xe2, 0xfd, 0xe1, 0xe3, 0xff, 0xe6, 0xe6 +db 0xff, 0xeb, 0xe9, 0xff, 0xeb, 0xe9, 0xff, 0xea, 0xe8, 0xff, 0xe9, 0xe8 +db 0xff, 0xe9, 0xe8, 0xff, 0xec, 0xec, 0xff, 0xf5, 0xf4, 0xff, 0xfa, 0xfa +db 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfa, 0xfa +db 0xff, 0xf5, 0xf5, 0xff, 0xf0, 0xf0, 0xff, 0xeb, 0xea, 0xff, 0xe7, 0xe7 +db 0xf4, 0xdf, 0xe6, 0xeb, 0xd7, 0xe4, 0xe9, 0xd6, 0xe1, 0xeb, 0xd7, 0xe0 +db 0xf6, 0xda, 0xde, 0xfe, 0xe8, 0xe8, 0xff, 0xfb, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xfa, 0xfa, 0xff, 0xf5, 0xf5, 0xff, 0xf3, 0xf3 +db 0xff, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xff, 0xf2, 0xf2, 0xff, 0xee, 0xee +db 0xff, 0xe9, 0xe9, 0xff, 0xe8, 0xe8, 0xfd, 0xe4, 0xe4, 0xf6, 0xe5, 0xe5 +db 0xec, 0xe9, 0xe7, 0xe9, 0xea, 0xe6, 0xe9, 0xea, 0xe5, 0xe9, 0xe7, 0xe3 +db 0xe9, 0xe0, 0xdc, 0xe9, 0xdd, 0xd9, 0xe9, 0xdc, 0xd8, 0xeb, 0xdd, 0xd9 +db 0xf4, 0xe2, 0xdf, 0xfe, 0xe9, 0xe8, 0xff, 0xea, 0xeb, 0xff, 0xe9, 0xea +db 0xff, 0xe8, 0xe9, 0xff, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xff, 0xe8, 0xe9 +db 0xff, 0xe9, 0xe9, 0xff, 0xe6, 0xe5, 0xf5, 0xde, 0xd9, 0xeb, 0xd9, 0xd1 +db 0xee, 0xda, 0xd3, 0xfa, 0xe5, 0xe2, 0xff, 0xf6, 0xf6, 0xff, 0xfd, 0xfe +db 0xff, 0xf8, 0xf8, 0xff, 0xf4, 0xf4, 0xff, 0xf2, 0xf2, 0xff, 0xec, 0xec +db 0xff, 0xe5, 0xe5, 0xff, 0xe0, 0xe0, 0xf8, 0xda, 0xd6, 0xef, 0xd5, 0xcd +db 0xee, 0xd4, 0xcb, 0xed, 0xd4, 0xcb, 0xf0, 0xd7, 0xcf, 0xf9, 0xe9, 0xe5 +db 0xff, 0xfc, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xff, 0xfc, 0xfc, 0xff, 0xf9, 0xf9, 0xff, 0xf5, 0xf5, 0xff, 0xf3, 0xf3 +db 0xff, 0xf0, 0xf0, 0xff, 0xea, 0xea, 0xff, 0xe7, 0xe7, 0xff, 0xe4, 0xe3 +db 0xff, 0xdf, 0xdf, 0xff, 0xd3, 0xd9, 0xff, 0xcb, 0xd4, 0xff, 0xcb, 0xd4 +db 0xff, 0xd4, 0xdb, 0xff, 0xe7, 0xea, 0xff, 0xfa, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfd, 0xfb, 0xff, 0xfb, 0xfa +db 0xff, 0xfc, 0xfa, 0xff, 0xfc, 0xfa, 0xff, 0xfc, 0xfa, 0xff, 0xfa, 0xf8 +db 0xff, 0xf6, 0xf4, 0xff, 0xf4, 0xf1, 0xff, 0xf4, 0xf1, 0xff, 0xf4, 0xf1 +db 0xff, 0xf4, 0xf1, 0xff, 0xf3, 0xf1, 0xff, 0xf3, 0xf1, 0xff, 0xf3, 0xf2 +db 0xff, 0xf7, 0xf6, 0xff, 0xfa, 0xf9, 0xff, 0xfb, 0xfa, 0xff, 0xfd, 0xfc +db 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfc +db 0xff, 0xfa, 0xf9, 0xff, 0xf5, 0xf3, 0xff, 0xf2, 0xf1, 0xff, 0xf2, 0xf1 +db 0xff, 0xf2, 0xf1, 0xff, 0xf5, 0xf5, 0xff, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xff, 0xfa, 0xfa, 0xff, 0xf9, 0xf9 +db 0xff, 0xf9, 0xf9, 0xff, 0xf9, 0xfa, 0xff, 0xf9, 0xfa, 0xff, 0xf7, 0xf8 +db 0xff, 0xf3, 0xf3, 0xff, 0xf1, 0xf2, 0xff, 0xf1, 0xf2, 0xff, 0xf2, 0xf3 +db 0xff, 0xf7, 0xf7, 0xff, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe +db 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe +db 0xff, 0xfe, 0xfe, 0xff, 0xfc, 0xfc, 0xff, 0xf7, 0xf8, 0xff, 0xf3, 0xf4 +db 0xff, 0xf2, 0xf3, 0xff, 0xf4, 0xf5, 0xff, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfd, 0xfd, 0xff, 0xfa, 0xfa, 0xff, 0xf6, 0xf7, 0xff, 0xf3, 0xf5 +db 0xff, 0xf2, 0xf4, 0xff, 0xf2, 0xf4, 0xff, 0xf3, 0xf5, 0xff, 0xf8, 0xf9 +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xfc, 0xfc +db 0xff, 0xfa, 0xfa, 0xff, 0xf6, 0xf5, 0xff, 0xf3, 0xf2, 0xff, 0xf4, 0xf2 +db 0xff, 0xf4, 0xf3, 0xff, 0xf6, 0xf5, 0xff, 0xfd, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe +db 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfe +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/sun.inc b/programs/games/hunter/trunk/inc/sun.inc new file mode 100644 index 0000000000..4de84a1846 --- /dev/null +++ b/programs/games/hunter/trunk/inc/sun.inc @@ -0,0 +1,993 @@ +dw 64, 62 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0xfc, 0xe8, 0xe4, 0xe4 +db 0xc5, 0xbd, 0xbd, 0xad, 0xa6, 0xa6, 0xad, 0xa5, 0xa5, 0xc1, 0xba, 0xba +db 0xde, 0xd8, 0xd8, 0xf2, 0xee, 0xee, 0xfb, 0xf8, 0xf8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xfa +db 0xce, 0xce, 0xce, 0xac, 0xa9, 0xa9, 0xac, 0xa5, 0xa5, 0xad, 0xa6, 0xa6 +db 0xad, 0xa6, 0xa6, 0xad, 0xa6, 0xa6, 0xad, 0xa6, 0xa6, 0xad, 0xa6, 0xa6 +db 0xad, 0xa6, 0xa6, 0xad, 0xa6, 0xa6, 0xad, 0xa6, 0xa6, 0xad, 0xa6, 0xa6 +db 0xad, 0xa6, 0xa6, 0xad, 0xa6, 0xa6, 0xad, 0xa6, 0xa6, 0xad, 0xa6, 0xa6 +db 0xad, 0xa6, 0xa6, 0xad, 0xa6, 0xa6, 0xad, 0xa6, 0xa6, 0xad, 0xa6, 0xa6 +db 0xac, 0xa5, 0xa5, 0xab, 0xa4, 0xa4, 0xac, 0xa5, 0xa5, 0xad, 0xa6, 0xa6 +db 0xad, 0xa6, 0xa6, 0xad, 0xa6, 0xa6, 0xad, 0xaa, 0xaa, 0xc9, 0xc9, 0xc9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf7, 0xf5, 0xf5, 0xd6, 0xcf, 0xcf, 0x9f, 0x97, 0x97, 0x62, 0x62, 0x62 +db 0x36, 0x4c, 0x4c, 0x22, 0x4e, 0x4e, 0x23, 0x51, 0x51, 0x33, 0x53, 0x53 +db 0x54, 0x60, 0x60, 0x72, 0x72, 0x72, 0x8f, 0x8b, 0x8b, 0xaf, 0xa6, 0xa6 +db 0xcb, 0xc2, 0xc2, 0xe1, 0xda, 0xda, 0xf3, 0xed, 0xed, 0xfd, 0xf9, 0xf9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xef, 0xef +db 0x79, 0x7a, 0x7a, 0x21, 0x36, 0x36, 0x21, 0x4c, 0x4c, 0x23, 0x52, 0x52 +db 0x23, 0x50, 0x50, 0x23, 0x50, 0x50, 0x23, 0x50, 0x50, 0x23, 0x50, 0x50 +db 0x23, 0x50, 0x50, 0x23, 0x50, 0x50, 0x23, 0x50, 0x50, 0x23, 0x50, 0x50 +db 0x23, 0x50, 0x50, 0x23, 0x50, 0x50, 0x23, 0x50, 0x50, 0x23, 0x50, 0x50 +db 0x23, 0x50, 0x50, 0x23, 0x50, 0x50, 0x23, 0x50, 0x50, 0x23, 0x50, 0x50 +db 0x22, 0x4f, 0x4f, 0x1e, 0x4e, 0x4e, 0x21, 0x4f, 0x4f, 0x23, 0x50, 0x50 +db 0x23, 0x51, 0x51, 0x21, 0x4e, 0x4e, 0x25, 0x3c, 0x3c, 0x6b, 0x6d, 0x6d +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xf8, 0xf8, 0xdd, 0xd9, 0xd9, 0xb7, 0xaf, 0xaf +db 0x82, 0x7b, 0x7b, 0x46, 0x4c, 0x4c, 0x1a, 0x42, 0x42, 0x3, 0x61, 0x61 +db 0x0, 0x99, 0x99, 0x0, 0xbe, 0xbe, 0x0, 0xc2, 0xc2, 0x0, 0xad, 0xad +db 0x1, 0x88, 0x88, 0x6, 0x6c, 0x6c, 0x10, 0x5d, 0x5d, 0x20, 0x52, 0x52 +db 0x36, 0x53, 0x53, 0x51, 0x5d, 0x5d, 0x70, 0x70, 0x70, 0x94, 0x8e, 0x8e +db 0xb9, 0xb1, 0xb1, 0xd4, 0xcf, 0xcf, 0xe7, 0xe7, 0xe7, 0xf6, 0xf7, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xe9, 0xe9 +db 0x61, 0x61, 0x61, 0x0, 0x51, 0x51, 0x0, 0xb5, 0xb5, 0x0, 0xc6, 0xc6 +db 0x0, 0xc0, 0xc0, 0x0, 0xc0, 0xc0, 0x0, 0xc0, 0xc0, 0x0, 0xc0, 0xc0 +db 0x0, 0xc0, 0xc0, 0x0, 0xc0, 0xc0, 0x0, 0xc0, 0xc0, 0x0, 0xc0, 0xc0 +db 0x0, 0xc0, 0xc0, 0x0, 0xc0, 0xc0, 0x0, 0xc0, 0xc0, 0x0, 0xc0, 0xc0 +db 0x0, 0xc0, 0xc0, 0x0, 0xc0, 0xc0, 0x0, 0xc0, 0xc0, 0x0, 0xc0, 0xc0 +db 0x0, 0xc0, 0xc0, 0x0, 0xc1, 0xc1, 0x0, 0xc1, 0xc1, 0x0, 0xc0, 0xc0 +db 0x0, 0xc2, 0xc2, 0x0, 0xbb, 0xbb, 0x1, 0x64, 0x64, 0x53, 0x59, 0x59 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfd, 0xe9, 0xe7, 0xe7 +db 0xbf, 0xb8, 0xb8, 0x8c, 0x82, 0x82, 0x50, 0x4f, 0x4f, 0x26, 0x3b, 0x3b +db 0xc, 0x4d, 0x4d, 0x0, 0x7a, 0x7a, 0x0, 0xb7, 0xb7, 0x2, 0xe7, 0xe7 +db 0x2, 0xfd, 0xfd, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xf9, 0xf9, 0x1, 0xec, 0xec, 0x0, 0xdc, 0xdc, 0x0, 0xc4, 0xc4 +db 0x0, 0xa7, 0xa7, 0x0, 0x8a, 0x8a, 0x4, 0x71, 0x71, 0x12, 0x61, 0x61 +db 0x26, 0x58, 0x58, 0x3d, 0x54, 0x54, 0x57, 0x59, 0x59, 0x78, 0x78, 0x78 +db 0x9e, 0x9e, 0x9e, 0xbc, 0xbc, 0xbc, 0xe6, 0xe6, 0xe6, 0xec, 0xe8, 0xe8 +db 0x68, 0x64, 0x64, 0x1, 0x5b, 0x5b, 0x0, 0xe6, 0xe6, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xfd, 0xfd, 0x3, 0x8b, 0x8b, 0x56, 0x5f, 0x5f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf7, 0xf7, 0xf7, 0xd7, 0xd5, 0xd5, 0xa1, 0x9c, 0x9c, 0x63, 0x5c, 0x5c +db 0x2d, 0x34, 0x34, 0xd, 0x36, 0x36, 0x0, 0x61, 0x61, 0x0, 0x99, 0x99 +db 0x0, 0xd1, 0xd1, 0x1, 0xf5, 0xf5, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x0, 0xf8, 0xf8, 0x0, 0xcd, 0xcd +db 0x0, 0x83, 0x83, 0x0, 0x2c, 0x2c, 0x0, 0x0, 0x0, 0x15, 0x13, 0x13 +db 0x44, 0x44, 0x44, 0x8a, 0x8a, 0x8a, 0xdb, 0xdb, 0xdb, 0xf5, 0xf2, 0xf2 +db 0x7f, 0x77, 0x77, 0x9, 0x4f, 0x4f, 0x0, 0xd9, 0xd9, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x88, 0x88, 0x56, 0x5f, 0x5f +db 0xfb, 0xfb, 0xfb, 0xf0, 0xf0, 0xf0, 0xe2, 0xe2, 0xe2, 0xb8, 0xb8, 0xb8 +db 0x79, 0x77, 0x77, 0x43, 0x46, 0x46, 0x19, 0x34, 0x34, 0x2, 0x4c, 0x4c +db 0x0, 0x81, 0x81, 0x0, 0xbd, 0xbd, 0x1, 0xeb, 0xeb, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xfc, 0xfc, 0x1, 0xe1, 0xe1, 0x0, 0xb4, 0xb4, 0x0, 0x7a, 0x7a +db 0x7, 0x48, 0x48, 0x23, 0x38, 0x38, 0x55, 0x56, 0x56, 0x8c, 0x8c, 0x8c +db 0xb7, 0xb7, 0xb7, 0xe1, 0xe1, 0xe1, 0xfe, 0xfe, 0xfe, 0xfe, 0xfc, 0xfc +db 0x95, 0x8b, 0x8b, 0x11, 0x4f, 0x4f, 0x0, 0xcf, 0xcf, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5f, 0x5f +db 0xf0, 0xf0, 0xf0, 0xb2, 0xb2, 0xb2, 0x67, 0x67, 0x67, 0x27, 0x26, 0x26 +db 0x2, 0x0, 0x0, 0x0, 0x3, 0x3, 0x0, 0x40, 0x40, 0x0, 0x9b, 0x9b +db 0x2, 0xda, 0xda, 0x2, 0xfa, 0xfa, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xea, 0xea, 0x1, 0xc0, 0xc0 +db 0x0, 0x88, 0x88, 0x1, 0x4f, 0x4f, 0x12, 0x31, 0x31, 0x3b, 0x40, 0x40 +db 0x76, 0x71, 0x71, 0xb4, 0xb0, 0xb0, 0xe5, 0xe4, 0xe4, 0xfd, 0xfd, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x9b, 0x93, 0x93, 0x14, 0x38, 0x38, 0x0, 0xb2, 0xb2, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5f, 0x5f +db 0xf7, 0xf7, 0xf7, 0xce, 0xce, 0xce, 0x85, 0x85, 0x85, 0x4f, 0x4f, 0x4f +db 0x40, 0x3f, 0x3f, 0x2d, 0x32, 0x32, 0x15, 0x33, 0x33, 0x8, 0x45, 0x45 +db 0x1, 0x57, 0x57, 0x0, 0x6f, 0x6f, 0x0, 0x8a, 0x8a, 0x0, 0xa6, 0xa6 +db 0x1, 0xc3, 0xc3, 0x1, 0xe0, 0xe0, 0x2, 0xf3, 0xf3, 0x2, 0xfd, 0xfd +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xf1, 0xf1 +db 0x1, 0xcf, 0xcf, 0x0, 0x9b, 0x9b, 0x0, 0x61, 0x61, 0x4, 0x31, 0x31 +db 0x1d, 0x29, 0x29, 0x51, 0x4c, 0x4c, 0x94, 0x8b, 0x8b, 0xcd, 0xc7, 0xc7 +db 0xf3, 0xf1, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xb6, 0xaf, 0xaf, 0x26, 0x33, 0x33, 0x0, 0x8c, 0x8c, 0x2, 0xfc, 0xfc +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5f, 0x5f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf4, 0xf4, 0xe4, 0xe4, 0xe4 +db 0xd9, 0xd9, 0xd9, 0xbf, 0xbf, 0xbf, 0x9d, 0x98, 0x98, 0x7c, 0x76, 0x76 +db 0x5d, 0x59, 0x59, 0x40, 0x41, 0x41, 0x2a, 0x35, 0x35, 0x18, 0x32, 0x32 +db 0xa, 0x3a, 0x3a, 0x2, 0x53, 0x53, 0x0, 0x72, 0x72, 0x0, 0x90, 0x90 +db 0x1, 0xb3, 0xb3, 0x1, 0xcb, 0xcb, 0x1, 0xad, 0xad, 0x0, 0x6f, 0x6f +db 0x1, 0x3e, 0x3e, 0x10, 0x26, 0x26, 0x33, 0x33, 0x33, 0x6c, 0x63, 0x63 +db 0xaa, 0xa2, 0xa2, 0xdd, 0xd9, 0xd9, 0xfb, 0xfb, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd9, 0xd4, 0xd4, 0x45, 0x44, 0x44, 0x0, 0x65, 0x65, 0x1, 0xed, 0xed +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5f, 0x5f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfd, 0xf5, 0xf4, 0xf4 +db 0xe7, 0xe4, 0xe4, 0xd3, 0xcd, 0xcd, 0xba, 0xb3, 0xb3, 0xa1, 0x99, 0x99 +db 0x81, 0x79, 0x79, 0x59, 0x56, 0x56, 0x38, 0x3c, 0x3c, 0x21, 0x30, 0x30 +db 0xf, 0x32, 0x32, 0x4, 0x39, 0x39, 0x6, 0x28, 0x28, 0x21, 0x26, 0x26 +db 0x54, 0x4e, 0x4e, 0x8f, 0x89, 0x89, 0xc3, 0xbf, 0xbf, 0xed, 0xeb, 0xeb +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xee, 0xed, 0xed, 0x6a, 0x63, 0x63, 0x3, 0x46, 0x46, 0x0, 0xd5, 0xd5 +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5f, 0x5f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xf4, 0xf3, 0xf3, 0xdf, 0xdc, 0xdc, 0xc4, 0xc0, 0xc0, 0xa6, 0xa1, 0xa1 +db 0x83, 0x7e, 0x7e, 0x65, 0x5f, 0x5f, 0x6b, 0x65, 0x65, 0xa1, 0x9d, 0x9d +db 0xd9, 0xd8, 0xd8, 0xf9, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xfc, 0xfc, 0x8c, 0x85, 0x85, 0xd, 0x33, 0x33, 0x0, 0xb6, 0xb6 +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5f, 0x5f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf8, 0xf7, 0xf7, 0xec, 0xeb, 0xeb, 0xf0, 0xef, 0xef, 0xfd, 0xfd, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfc, 0xfc, 0xfa, 0xf8, 0xf8 +db 0xfa, 0xf9, 0xf9, 0xfb, 0xfb, 0xfb, 0xf2, 0xf2, 0xf2, 0xe6, 0xe6, 0xe6 +db 0xf4, 0xf4, 0xf4, 0xb1, 0xac, 0xac, 0x22, 0x2e, 0x2e, 0x0, 0x7d, 0x7d +db 0x2, 0xf7, 0xf7, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5f, 0x5f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfd, 0xfd, 0xf9, 0xf5, 0xf5, 0xf6, 0xf2, 0xf2, 0xf4, 0xef, 0xef +db 0xe6, 0xe1, 0xe1, 0xdd, 0xd5, 0xd5, 0xda, 0xd1, 0xd1, 0xc4, 0xbd, 0xbd +db 0xb5, 0xae, 0xae, 0xb2, 0xa9, 0xa9, 0x9b, 0x92, 0x92, 0x87, 0x82, 0x82 +db 0x87, 0x86, 0x86, 0x85, 0x85, 0x85, 0x6d, 0x6d, 0x6d, 0x72, 0x72, 0x72 +db 0xce, 0xce, 0xce, 0xdb, 0xda, 0xda, 0x4e, 0x4a, 0x4a, 0x0, 0x3f, 0x3f +db 0x0, 0xd3, 0xd3, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5f, 0x5f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xfa, 0xfa, 0xd0, 0xcb, 0xcb, 0xac, 0xa2, 0xa2 +db 0x9e, 0x96, 0x96, 0x86, 0x80, 0x80, 0x7b, 0x78, 0x78, 0x75, 0x72, 0x72 +db 0x5b, 0x5b, 0x5b, 0x4a, 0x53, 0x53, 0x47, 0x55, 0x55, 0x32, 0x40, 0x40 +db 0x24, 0x34, 0x34, 0x23, 0x45, 0x45, 0x15, 0x47, 0x47, 0xb, 0x34, 0x34 +db 0x6, 0x15, 0x15, 0x0, 0x1, 0x1, 0x1c, 0x1c, 0x1c, 0x7d, 0x7d, 0x7d +db 0xe8, 0xe8, 0xe8, 0xff, 0xff, 0xff, 0x90, 0x8a, 0x8a, 0xf, 0x24, 0x24 +db 0x0, 0x95, 0x95, 0x2, 0xfd, 0xfd, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5f, 0x5f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf6, 0xf5, 0xf5, 0xa9, 0xa2, 0xa2, 0x43, 0x4b, 0x4b, 0x1b, 0x42, 0x42 +db 0x16, 0x4e, 0x4e, 0xb, 0x59, 0x59, 0x6, 0x66, 0x66, 0x4, 0x67, 0x67 +db 0x0, 0x69, 0x69, 0x0, 0x80, 0x80, 0x0, 0x91, 0x91, 0x0, 0x8f, 0x8f +db 0x0, 0x97, 0x97, 0x0, 0xb8, 0xb8, 0x0, 0xb1, 0xb1, 0x0, 0x5e, 0x5e +db 0x0, 0x16, 0x16, 0x2c, 0x2a, 0x2a, 0x90, 0x90, 0x90, 0xe9, 0xe9, 0xe9 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xca, 0xc8, 0xc8, 0x37, 0x35, 0x35 +db 0x0, 0x47, 0x47, 0x0, 0xd7, 0xd7, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5f, 0x5f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xec, 0xec +db 0x97, 0x90, 0x90, 0x2a, 0x3d, 0x3d, 0x0, 0x66, 0x66, 0x0, 0xb6, 0xb6 +db 0x0, 0xcd, 0xcd, 0x0, 0xdc, 0xdc, 0x0, 0xe9, 0xe9, 0x0, 0xea, 0xea +db 0x1, 0xed, 0xed, 0x2, 0xf9, 0xf9, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xe7, 0xe7, 0x0, 0x8b, 0x8b, 0xf, 0x39, 0x39 +db 0x50, 0x54, 0x54, 0xb7, 0xb6, 0xb6, 0xf7, 0xf7, 0xf7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf3, 0xf3, 0x7f, 0x7b, 0x7b +db 0xc, 0x19, 0x19, 0x0, 0x76, 0x76, 0x2, 0xed, 0xed, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5f, 0x5f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xde, 0xda, 0xda, 0x79, 0x74, 0x74 +db 0x1a, 0x3e, 0x3e, 0x0, 0x83, 0x83, 0x1, 0xe5, 0xe5, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xfe, 0xfe +db 0x1, 0xcb, 0xcb, 0x0, 0x63, 0x63, 0x1f, 0x31, 0x31, 0x7f, 0x79, 0x79 +db 0xd6, 0xd3, 0xd3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0xd3, 0xd3 +db 0x50, 0x4a, 0x4a, 0x1, 0x1e, 0x1e, 0x0, 0x92, 0x92, 0x2, 0xf4, 0xf4 +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5f, 0x5f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xcc, 0xc6, 0xc6, 0x5d, 0x5d, 0x5d, 0xd, 0x46, 0x46 +db 0x0, 0x9d, 0x9d, 0x1, 0xf3, 0xf3, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xf5, 0xf5, 0x0, 0xa9, 0xa9 +db 0x4, 0x45, 0x45, 0x37, 0x3a, 0x3a, 0x9c, 0x94, 0x94, 0xef, 0xed, 0xed +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xb8, 0xb6, 0xb6, 0x33, 0x30, 0x30, 0x0, 0x26, 0x26, 0x0, 0x9e, 0x9e +db 0x2, 0xf1, 0xf1, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5f, 0x5f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xf8, 0xf8 +db 0xb9, 0xb2, 0xb2, 0x4c, 0x55, 0x55, 0x6, 0x54, 0x54, 0x0, 0xb8, 0xb8 +db 0x1, 0xfc, 0xfc, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xe9, 0xe9, 0x0, 0x8e, 0x8e, 0xe, 0x34, 0x34 +db 0x56, 0x4f, 0x4f, 0xbc, 0xb7, 0xb7, 0xfb, 0xfa, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf8, 0xf8, 0xf8, 0x98, 0x95, 0x95, 0x27, 0x24, 0x24, 0x2, 0x25, 0x25 +db 0x1, 0x82, 0x82, 0x2, 0xe0, 0xe0, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5f, 0x5f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe4, 0xe4, 0x9e, 0x99, 0x99 +db 0x36, 0x50, 0x50, 0x2, 0x72, 0x72, 0x0, 0xd1, 0xd1, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xfe, 0xfe +db 0x0, 0xd0, 0xd0, 0x0, 0x6d, 0x6d, 0x19, 0x30, 0x30, 0x76, 0x6e, 0x6e +db 0xd9, 0xd4, 0xd4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xa9, 0xa7, 0xa7, 0x48, 0x41, 0x41 +db 0xb, 0x19, 0x19, 0x0, 0x60, 0x60, 0x1, 0xc5, 0xc5, 0x2, 0xfa, 0xfa +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5f, 0x5f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe0, 0xdd, 0xdd, 0x7d, 0x7b, 0x7b, 0x23, 0x45, 0x45 +db 0x0, 0x88, 0x88, 0x0, 0xe7, 0xe7, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xfe, 0xfe, 0x0, 0xbf, 0xbf +db 0x0, 0x51, 0x51, 0x22, 0x2b, 0x2b, 0x86, 0x80, 0x80, 0xe9, 0xe6, 0xe6 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xf7, 0xc5, 0xc3, 0xc3 +db 0x5d, 0x56, 0x56, 0x10, 0x12, 0x12, 0x0, 0x3d, 0x3d, 0x0, 0xa5, 0xa5 +db 0x2, 0xf0, 0xf0, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5f, 0x5f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd1, 0xd0, 0xd0, 0x66, 0x70, 0x70, 0x16, 0x59, 0x59, 0x0, 0x9e, 0x9e +db 0x0, 0xeb, 0xeb, 0x1, 0xfe, 0xfe, 0x1, 0xf4, 0xf4, 0x0, 0xee, 0xee +db 0x0, 0xe1, 0xe1, 0x0, 0xd4, 0xd4, 0x0, 0xc7, 0xc7, 0x0, 0xaf, 0xaf +db 0x0, 0xa9, 0xa9, 0x0, 0xab, 0xab, 0x0, 0x8e, 0x8e, 0x3, 0x43, 0x43 +db 0x3a, 0x40, 0x40, 0xa0, 0x9c, 0x9c, 0xef, 0xee, 0xee, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe6, 0xe6, 0xe6, 0xbb, 0xbb, 0xbb, 0xd9, 0xd9, 0xd9, 0xfe, 0xff, 0xff +db 0xd9, 0xd9, 0xd9, 0x80, 0x7c, 0x7c, 0x29, 0x29, 0x29, 0x2, 0x24, 0x24 +db 0x0, 0x6d, 0x6d, 0x0, 0xbe, 0xbe, 0x1, 0xe7, 0xe7, 0x2, 0xfb, 0xfb +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf8, 0xf8, 0x3, 0x87, 0x87, 0x56, 0x5e, 0x5e +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xf6, 0xba, 0xb9, 0xb9 +db 0x4e, 0x50, 0x50, 0x3, 0x33, 0x33, 0x0, 0x7d, 0x7d, 0x0, 0xa5, 0xa5 +db 0x0, 0xa1, 0xa1, 0x0, 0x8c, 0x8c, 0x0, 0x71, 0x71, 0x2, 0x6d, 0x6d +db 0x4, 0x5a, 0x5a, 0x5, 0x46, 0x46, 0xd, 0x44, 0x44, 0x15, 0x38, 0x38 +db 0x14, 0x31, 0x31, 0x12, 0x2f, 0x2f, 0x1e, 0x32, 0x32, 0x5e, 0x5f, 0x5f +db 0xc0, 0xbd, 0xbd, 0xfa, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfb, 0xfa, 0xfa, 0xdf, 0xdb, 0xdb, 0xaa, 0xa9, 0xa9 +db 0x67, 0x68, 0x68, 0x77, 0x78, 0x78, 0xdc, 0xdc, 0xdc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf2, 0xf2, 0xf2, 0xb2, 0xaf, 0xaf, 0x58, 0x53, 0x53 +db 0x1b, 0x25, 0x25, 0x6, 0x34, 0x34, 0x0, 0x57, 0x57, 0x0, 0x8d, 0x8d +db 0x0, 0xbe, 0xbe, 0x0, 0xd6, 0xd6, 0x1, 0xee, 0xee, 0x2, 0xfd, 0xfd +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xff, 0xff, 0x3, 0x8d, 0x8d, 0x56, 0x5f, 0x5f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xec, 0xec, 0xec, 0xa1, 0xa1, 0xa1, 0x3b, 0x3b, 0x3b +db 0xa, 0xc, 0xc, 0x13, 0x2f, 0x2f, 0x1b, 0x4d, 0x4d, 0x1f, 0x44, 0x44 +db 0x32, 0x48, 0x48, 0x3e, 0x4c, 0x4c, 0x42, 0x46, 0x46, 0x5b, 0x5c, 0x5c +db 0x6c, 0x69, 0x69, 0x6f, 0x6a, 0x6a, 0x89, 0x84, 0x84, 0x9e, 0x99, 0x99 +db 0x9e, 0x98, 0x98, 0x9c, 0x96, 0x96, 0xad, 0xa9, 0xa9, 0xe0, 0xe0, 0xe0 +db 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf6, 0xf6 +db 0xd7, 0xd0, 0xd0, 0x98, 0x93, 0x93, 0x50, 0x56, 0x56, 0x19, 0x1d, 0x1d +db 0x22, 0x22, 0x22, 0xa2, 0xa2, 0xa2, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xdf, 0xde, 0xde +db 0xa8, 0xa5, 0xa5, 0x77, 0x71, 0x71, 0x41, 0x3f, 0x3f, 0x1d, 0x2f, 0x2f +db 0xd, 0x3b, 0x3b, 0x4, 0x46, 0x46, 0x0, 0x66, 0x66, 0x0, 0x9a, 0x9a +db 0x0, 0xb8, 0xb8, 0x0, 0xbb, 0xbb, 0x0, 0xcb, 0xcb, 0x0, 0xdd, 0xdd +db 0x0, 0xe3, 0xe3, 0x0, 0xdd, 0xdd, 0x1, 0x7b, 0x7b, 0x54, 0x5c, 0x5c +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xda, 0xda, 0xda, 0x96, 0x96, 0x96, 0x73, 0x73, 0x73 +db 0x7e, 0x7e, 0x7e, 0x9f, 0x9d, 0x9d, 0xab, 0xa5, 0xa5, 0xae, 0xa8, 0xa8 +db 0xc6, 0xc0, 0xc0, 0xd4, 0xcf, 0xcf, 0xd6, 0xd4, 0xd4, 0xe6, 0xe2, 0xe2 +db 0xf0, 0xee, 0xee, 0xf1, 0xf1, 0xf1, 0xfa, 0xf9, 0xf9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xef, 0xec, 0xec, 0xc6, 0xbd, 0xbd, 0x85, 0x7d, 0x7d +db 0x45, 0x50, 0x50, 0x16, 0x50, 0x50, 0x0, 0x3d, 0x3d, 0x3, 0x12, 0x12 +db 0x6b, 0x69, 0x69, 0xea, 0xe9, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xf9, 0xf9, 0xd4, 0xd2, 0xd2, 0xac, 0xa6, 0xa6 +db 0x8b, 0x84, 0x84, 0x64, 0x5f, 0x5f, 0x36, 0x38, 0x38, 0x25, 0x3e, 0x3e +db 0x22, 0x4b, 0x4b, 0x15, 0x3f, 0x3f, 0xc, 0x46, 0x46, 0xc, 0x5c, 0x5c +db 0x9, 0x5e, 0x5e, 0x0, 0x54, 0x54, 0x1, 0x33, 0x33, 0x52, 0x57, 0x57 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xf7, 0xf1, 0xf1, 0xf1, 0xf4, 0xf4, 0xf4 +db 0xf8, 0xf8, 0xf8, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xf9, 0xf9, 0xde, 0xd8, 0xd8 +db 0xb0, 0xa8, 0xa8, 0x6e, 0x6a, 0x6a, 0x34, 0x47, 0x47, 0xc, 0x52, 0x52 +db 0x0, 0x8a, 0x8a, 0x0, 0xa7, 0xa7, 0x0, 0x59, 0x59, 0x45, 0x4c, 0x4c +db 0xcd, 0xc9, 0xc9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfb, 0xfb, 0xfb, 0xe6, 0xe6, 0xe6, 0xf2, 0xf2, 0xf2, 0xff, 0xff, 0xff +db 0xfc, 0xfb, 0xfb, 0xeb, 0xe9, 0xe9, 0xc9, 0xc5, 0xc5, 0xb9, 0xb2, 0xb2 +db 0xb5, 0xac, 0xac, 0x9d, 0x94, 0x94, 0x89, 0x81, 0x81, 0x89, 0x82, 0x82 +db 0x7e, 0x78, 0x78, 0x61, 0x5c, 0x5c, 0x56, 0x56, 0x56, 0x8f, 0x8f, 0x8f +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf6, 0xf4, 0xf4, 0xd3, 0xce, 0xce, 0x91, 0x8b, 0x8b, 0x4d, 0x54, 0x54 +db 0x22, 0x44, 0x44, 0x6, 0x5f, 0x5f, 0x0, 0x95, 0x95, 0x0, 0xd7, 0xd7 +db 0x1, 0xf8, 0xf8, 0x0, 0x99, 0x99, 0x28, 0x43, 0x43, 0xac, 0xa5, 0xa5 +db 0xfe, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe +db 0xb7, 0xb7, 0xb7, 0x69, 0x69, 0x69, 0xb9, 0xb9, 0xb9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfd, 0xfc, 0xfc, 0xfc, 0xfa, 0xfa +db 0xf7, 0xf4, 0xf4, 0xeb, 0xe8, 0xe8, 0xe6, 0xe5, 0xe5, 0xef, 0xef, 0xef +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xea, 0xea, 0xea, 0xbf, 0xbc, 0xbc +db 0x7e, 0x7a, 0x7a, 0x42, 0x4d, 0x4d, 0x13, 0x4d, 0x4d, 0x0, 0x79, 0x79 +db 0x0, 0xab, 0xab, 0x0, 0xe1, 0xe1, 0x1, 0xfe, 0xfe, 0x2, 0xff, 0xff +db 0x0, 0xc5, 0xc5, 0xe, 0x46, 0x46, 0x80, 0x77, 0x77, 0xf4, 0xf1, 0xf1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xbe, 0xbe +db 0x3a, 0x39, 0x39, 0x1b, 0x1b, 0x1b, 0xac, 0xac, 0xac, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe8, 0xe8, 0xe8, 0xe3, 0xe3, 0xe3, 0xfd, 0xfd, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xda, 0xda, 0xda, 0x71, 0x6e, 0x6e, 0x2b, 0x3e, 0x3e +db 0xa, 0x56, 0x56, 0x0, 0x87, 0x87, 0x0, 0xc4, 0xc4, 0x0, 0xf3, 0xf3 +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x0, 0xe3, 0xe3 +db 0x0, 0x64, 0x64, 0x4f, 0x50, 0x50, 0xd8, 0xd2, 0xd2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0xd2, 0xd2, 0x4e, 0x50, 0x50 +db 0x0, 0x0, 0x0, 0x2d, 0x2d, 0x2d, 0xc4, 0xc4, 0xc4, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xfc, 0xfc, 0xaf, 0xaf, 0xaf, 0x97, 0x97, 0x97, 0xee, 0xee, 0xee +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf6, 0xf6, 0xf6, 0x87, 0x82, 0x82, 0xf, 0x1c, 0x1c, 0x0, 0x6a, 0x6a +db 0x0, 0xd5, 0xd5, 0x1, 0xfb, 0xfb, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x1, 0xf9, 0xf9, 0x0, 0x91, 0x91 +db 0x28, 0x3e, 0x3e, 0xaf, 0xa8, 0xa8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xdb, 0xd7, 0xd7, 0x66, 0x69, 0x69, 0x9, 0x38, 0x38 +db 0x0, 0x27, 0x27, 0x47, 0x4c, 0x4c, 0xda, 0xd8, 0xd8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xfa, 0xfa, 0x89, 0x89, 0x89, 0x55, 0x55, 0x55, 0xd4, 0xd4, 0xd4 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xb9, 0xb5, 0xb5, 0x2f, 0x2f, 0x2f, 0x0, 0x53, 0x53, 0x1, 0xdc, 0xdc +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x0, 0xc0, 0xc0, 0xc, 0x46, 0x46 +db 0x7c, 0x75, 0x75, 0xf1, 0xef, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xdd, 0xd9, 0xd9, 0x69, 0x64, 0x64, 0xd, 0x47, 0x47, 0x0, 0x8c, 0x8c +db 0x0, 0x52, 0x52, 0x62, 0x61, 0x61, 0xeb, 0xe7, 0xe7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf1, 0xf2, 0xf2, 0x68, 0x67, 0x67, 0x24, 0x23, 0x23, 0xb3, 0xb3, 0xb3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0xe3, 0xe3 +db 0x64, 0x5b, 0x5b, 0x5, 0x2e, 0x2e, 0x0, 0xb2, 0xb2, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x0, 0xea, 0xea, 0x0, 0x6d, 0x6d, 0x44, 0x4b, 0x4b +db 0xcf, 0xca, 0xca, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0xe7, 0xe7 +db 0x78, 0x72, 0x72, 0x13, 0x3b, 0x3b, 0x0, 0xa6, 0xa6, 0x0, 0xcb, 0xcb +db 0x5, 0x49, 0x49, 0x78, 0x70, 0x70, 0xf5, 0xf2, 0xf2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xdd, 0xdd, 0xdd, 0x46, 0x45, 0x45, 0x9, 0x8, 0x8, 0x90, 0x90, 0x90 +db 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfa, 0xfa, 0x95, 0x8f, 0x8f +db 0x1a, 0x27, 0x27, 0x0, 0x80, 0x80, 0x2, 0xf4, 0xf4, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x1, 0xfc, 0xfc, 0x0, 0x9d, 0x9d, 0x23, 0x42, 0x42, 0xa4, 0x9e, 0x9e +db 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf2, 0xf2, 0x93, 0x8a, 0x8a +db 0x1c, 0x3b, 0x3b, 0x0, 0x99, 0x99, 0x2, 0xff, 0xff, 0x0, 0xc7, 0xc7 +db 0x10, 0x40, 0x40, 0x91, 0x89, 0x89, 0xfb, 0xfa, 0xfa, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xb8, 0xb7, 0xb7, 0x24, 0x39, 0x39, 0x0, 0x1c, 0x1c, 0x64, 0x6b, 0x6b +db 0xec, 0xea, 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xbd, 0xbd, 0x3a, 0x3b, 0x3b +db 0x0, 0x59, 0x59, 0x2, 0xdc, 0xdc, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x0, 0xc7, 0xc7, 0xd, 0x51, 0x51, 0x7e, 0x7c, 0x7c, 0xef, 0xed, 0xed +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xed, 0xeb, 0xeb, 0x96, 0x8c, 0x8c, 0x2a, 0x3b, 0x3b +db 0x0, 0x81, 0x81, 0x2, 0xf0, 0xf0, 0x2, 0xff, 0xff, 0x0, 0xaa, 0xaa +db 0x1c, 0x3a, 0x3a, 0xaa, 0xa1, 0xa1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xf8, 0xf8 +db 0x8e, 0x8c, 0x8c, 0xf, 0x50, 0x50, 0x0, 0x62, 0x62, 0x3c, 0x56, 0x56 +db 0xd0, 0xc9, 0xc9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe3, 0xe1, 0xe1, 0x66, 0x5e, 0x5e, 0x7, 0x3a, 0x3a +db 0x1, 0xbe, 0xbe, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x0, 0xf0, 0xf0, 0x0, 0xbe, 0xbe +db 0x0, 0x65, 0x65, 0x51, 0x5a, 0x5a, 0xd7, 0xd3, 0xd3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xed, 0xec, 0xec, 0x8b, 0x86, 0x86, 0x21, 0x34, 0x34, 0x0, 0x76, 0x76 +db 0x2, 0xe3, 0xe3, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x0, 0x96, 0x96 +db 0x2f, 0x41, 0x41, 0xc3, 0xbb, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0xe4, 0xe4 +db 0x61, 0x64, 0x64, 0x1, 0x76, 0x76, 0x0, 0xac, 0xac, 0x1b, 0x50, 0x50 +db 0xa8, 0x9f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf1, 0xf0, 0xf0, 0x8c, 0x85, 0x85, 0x1a, 0x33, 0x33, 0x0, 0x94, 0x94 +db 0x2, 0xf9, 0xf9, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x1, 0xfe, 0xfe +db 0x0, 0xe1, 0xe1, 0x0, 0xa6, 0xa6, 0x0, 0x6d, 0x6d, 0x14, 0x4a, 0x4a +db 0x51, 0x5e, 0x5e, 0xbc, 0xbb, 0xbb, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xf6 +db 0x94, 0x8f, 0x8f, 0x1d, 0x39, 0x39, 0x0, 0x7b, 0x7b, 0x1, 0xe3, 0xe3 +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x1, 0xf7, 0xf7, 0x0, 0x7e, 0x7e +db 0x45, 0x4b, 0x4b, 0xd8, 0xd1, 0xd1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xc3, 0xc3 +db 0x38, 0x4b, 0x4b, 0x0, 0x9f, 0x9f, 0x0, 0xe3, 0xe3, 0x8, 0x5e, 0x5e +db 0x7d, 0x77, 0x77, 0xf5, 0xf2, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0xaf, 0xa8, 0xa8, 0x2c, 0x33, 0x33, 0x0, 0x71, 0x71, 0x2, 0xee, 0xee +db 0x2, 0xff, 0xff, 0x2, 0xfa, 0xfa, 0x0, 0xd5, 0xd5, 0x0, 0x9c, 0x9c +db 0x6, 0x5f, 0x5f, 0x20, 0x3e, 0x3e, 0x56, 0x56, 0x56, 0x9b, 0x93, 0x93 +db 0xd8, 0xd3, 0xd3, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfa, 0xfa, 0xac, 0xa7, 0xa7 +db 0x2c, 0x3c, 0x3c, 0x0, 0x7c, 0x7c, 0x1, 0xeb, 0xeb, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x0, 0xec, 0xec, 0x0, 0x66, 0x66 +db 0x5d, 0x5c, 0x5c, 0xe9, 0xe4, 0xe4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xa2, 0x9a, 0x9a +db 0x19, 0x4b, 0x4b, 0x0, 0xc7, 0xc7, 0x1, 0xff, 0xff, 0x0, 0x7f, 0x7f +db 0x4e, 0x56, 0x56, 0xde, 0xd8, 0xd8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd6, 0xd2, 0xd2 +db 0x4f, 0x55, 0x55, 0x1, 0x55, 0x55, 0x0, 0xd1, 0xd1, 0x2, 0xf8, 0xf8 +db 0x0, 0xc6, 0xc6, 0x0, 0x88, 0x88, 0x8, 0x4f, 0x4f, 0x2b, 0x41, 0x41 +db 0x6d, 0x6a, 0x6a, 0xb0, 0xa7, 0xa7, 0xe1, 0xdd, 0xdd, 0xfe, 0xfd, 0xfd +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xba, 0xb6, 0xb6, 0x38, 0x41, 0x41 +db 0x0, 0x63, 0x63, 0x0, 0xe0, 0xe0, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x0, 0xdd, 0xdd, 0x6, 0x53, 0x53 +db 0x78, 0x71, 0x71, 0xf4, 0xf2, 0xf2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf0, 0xf0, 0x78, 0x74, 0x74 +db 0x7, 0x5f, 0x5f, 0x1, 0xe5, 0xe5, 0x2, 0xff, 0xff, 0x0, 0xaa, 0xaa +db 0x2a, 0x48, 0x48, 0xbd, 0xb4, 0xb4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xee, 0xee, 0x7d, 0x7d, 0x7d +db 0xd, 0x45, 0x45, 0x0, 0x9c, 0x9c, 0x0, 0xb1, 0xb1, 0x0, 0x76, 0x76 +db 0xe, 0x42, 0x42, 0x3b, 0x47, 0x47, 0x7d, 0x77, 0x77, 0xbc, 0xb2, 0xb2 +db 0xee, 0xe9, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf8, 0xf7, 0xf7, 0x7d, 0x77, 0x77, 0x7, 0x33, 0x33 +db 0x0, 0xba, 0xba, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x0, 0xcd, 0xcd, 0xf, 0x4b, 0x4b +db 0x91, 0x89, 0x89, 0xfc, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0xd4, 0xd4, 0x4a, 0x55, 0x55 +db 0x0, 0x83, 0x83, 0x2, 0xf8, 0xf8, 0x2, 0xff, 0xff, 0x0, 0xd1, 0xd1 +db 0x11, 0x52, 0x52, 0x90, 0x8a, 0x8a, 0xfb, 0xf9, 0xf9, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xad, 0xab, 0xab, 0x24, 0x2b, 0x2b +db 0x0, 0x34, 0x34, 0x0, 0x55, 0x55, 0x18, 0x41, 0x41, 0x4a, 0x4f, 0x4f +db 0x89, 0x81, 0x81, 0xca, 0xc2, 0xc2, 0xf6, 0xf2, 0xf2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xec, 0xea, 0xea, 0x62, 0x5e, 0x5e, 0x1, 0x52, 0x52 +db 0x0, 0xe1, 0xe1, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x0, 0xb6, 0xb6, 0x1d, 0x45, 0x45 +db 0xac, 0xa2, 0xa2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb8, 0xb0, 0xb0, 0x27, 0x48, 0x48 +db 0x0, 0xae, 0xae, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x1, 0xed, 0xed +db 0x2, 0x6b, 0x6b, 0x64, 0x65, 0x65, 0xec, 0xe7, 0xe7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd2, 0xd2, 0xd2, 0x4b, 0x49, 0x49, 0x5, 0x9, 0x9 +db 0x28, 0x34, 0x34, 0x5b, 0x5d, 0x5d, 0x9a, 0x93, 0x93, 0xd9, 0xd3, 0xd3 +db 0xf8, 0xf7, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xde, 0xdb, 0xdb, 0x4b, 0x4b, 0x4b, 0x0, 0x65, 0x65 +db 0x0, 0xee, 0xee, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x0, 0xa7, 0xa7, 0x2e, 0x49, 0x49 +db 0xc3, 0xba, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfa, 0xf8, 0xf8, 0x8c, 0x87, 0x87, 0xf, 0x54, 0x54 +db 0x0, 0xd4, 0xd4, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xfe, 0xfe +db 0x0, 0x95, 0x95, 0x3b, 0x4d, 0x4d, 0xcd, 0xc6, 0xc6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xed, 0xed, 0xed, 0x82, 0x82, 0x82, 0x2f, 0x2f, 0x2f, 0x60, 0x5f, 0x5f +db 0xb6, 0xb3, 0xb3, 0xe7, 0xe3, 0xe3, 0xfc, 0xfb, 0xfb, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xcb, 0xc5, 0xc5, 0x36, 0x3f, 0x3f, 0x0, 0x80, 0x80 +db 0x1, 0xf8, 0xf8, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x1, 0xf7, 0xf7, 0x0, 0x82, 0x82, 0x41, 0x4c, 0x4c +db 0xd7, 0xd1, 0xd1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xea, 0xe5, 0xe5, 0x62, 0x64, 0x64, 0x1, 0x6f, 0x6f +db 0x2, 0xf0, 0xf0, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x0, 0xbd, 0xbd, 0x1e, 0x49, 0x49, 0xaa, 0xa2, 0xa2, 0xff, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd5, 0xd5, 0xd5, 0x95, 0x95, 0x95, 0xa8, 0xa8, 0xa8, 0xe2, 0xe1, 0xe1 +db 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xb7, 0xaf, 0xaf, 0x24, 0x3a, 0x3a, 0x0, 0x9b, 0x9b +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x0, 0xba, 0xba, 0x6, 0x43, 0x43, 0x70, 0x6e, 0x6e +db 0xef, 0xec, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xcf, 0xca, 0xca, 0x3e, 0x4f, 0x4f, 0x0, 0x93, 0x93 +db 0x2, 0xfd, 0xfd, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x1, 0xdb, 0xdb, 0xc, 0x59, 0x59, 0x81, 0x7c, 0x7c, 0xf7, 0xf3, 0xf3 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd +db 0xf0, 0xf0, 0xf0, 0xef, 0xef, 0xef, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0x9d, 0x95, 0x95, 0x15, 0x3c, 0x3c, 0x0, 0xb7, 0xb7 +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x0, 0xc9, 0xc9, 0x4, 0x4e, 0x4e, 0x51, 0x54, 0x54, 0xcb, 0xc8, 0xc8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xf9, 0xf9, 0xa2, 0x9c, 0x9c, 0x1c, 0x4b, 0x4b, 0x0, 0xc0, 0xc0 +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xf5, 0xf5, 0x0, 0x7e, 0x7e, 0x51, 0x5a, 0x5a, 0xdf, 0xda, 0xda +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf9, 0xf7, 0xf7, 0x82, 0x7b, 0x7b, 0xa, 0x44, 0x44, 0x0, 0xcc, 0xcc +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x0, 0xda, 0xda +db 0x0, 0x60, 0x60, 0x43, 0x4a, 0x4a, 0xc7, 0xc3, 0xc3, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe2, 0xe0, 0xe0, 0x70, 0x6c, 0x6c, 0x9, 0x55, 0x55, 0x1, 0xdc, 0xdc +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x0, 0xa0, 0xa0, 0x32, 0x49, 0x49, 0xc4, 0xbe, 0xbe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xee, 0xeb, 0xeb, 0x68, 0x64, 0x64, 0x2, 0x59, 0x59, 0x0, 0xe3, 0xe3 +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x0, 0xd7, 0xd7, 0x0, 0x68, 0x68 +db 0x31, 0x3f, 0x3f, 0xb0, 0xad, 0xad, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xeb, 0xe8, 0xe8, 0x7b, 0x77, 0x77, 0xb, 0x55, 0x55, 0x1, 0xda, 0xda +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xff, 0xff, 0x0, 0x9b, 0x9b, 0x35, 0x4b, 0x4b, 0xc7, 0xc1, 0xc1 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe0, 0xdb, 0xdb, 0x4f, 0x52, 0x52, 0x0, 0x74, 0x74, 0x0, 0xf3, 0xf3 +db 0x2, 0xff, 0xff, 0x0, 0xcf, 0xcf, 0x0, 0x5f, 0x5f, 0x30, 0x3d, 0x3d +db 0xa9, 0xa3, 0xa3, 0xf8, 0xf8, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xae, 0xa8, 0xa8, 0x20, 0x49, 0x49, 0x0, 0xb8, 0xb8 +db 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x2, 0xf1, 0xf1, 0x1, 0x75, 0x75, 0x59, 0x5e, 0x5e, 0xe5, 0xe0, 0xe0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xcd, 0xc6, 0xc6, 0x38, 0x49, 0x49, 0x0, 0x94, 0x94, 0x1, 0xff, 0xff +db 0x1, 0xe3, 0xe3, 0x2, 0x67, 0x67, 0x36, 0x3b, 0x3b, 0xa9, 0xa2, 0xa2 +db 0xfa, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd6, 0xd0, 0xd0, 0x47, 0x52, 0x52, 0x0, 0x86, 0x86 +db 0x2, 0xf9, 0xf9, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x0, 0xd3, 0xd3, 0x10, 0x53, 0x53, 0x8b, 0x86, 0x86, 0xfa, 0xf7, 0xf7 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xb6, 0xad, 0xad, 0x24, 0x45, 0x45, 0x0, 0xb2, 0xb2, 0x2, 0xee, 0xee +db 0x0, 0x7b, 0x7b, 0x2d, 0x3d, 0x3d, 0xa8, 0x9f, 0x9f, 0xf9, 0xf8, 0xf8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf4, 0xf0, 0xf0, 0x77, 0x75, 0x75, 0x7, 0x5f, 0x5f +db 0x1, 0xe3, 0xe3, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff +db 0x0, 0xaa, 0xaa, 0x2b, 0x48, 0x48, 0xbd, 0xb5, 0xb5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe +db 0x9c, 0x93, 0x93, 0x14, 0x4d, 0x4d, 0x0, 0xab, 0xab, 0x0, 0x84, 0x84 +db 0x25, 0x3b, 0x3b, 0x99, 0x93, 0x93, 0xf6, 0xf5, 0xf5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xa3, 0x9b, 0x9b, 0x19, 0x4b, 0x4b +db 0x0, 0xc3, 0xc3, 0x2, 0xff, 0xff, 0x2, 0xff, 0xff, 0x2, 0xf7, 0xf7 +db 0x0, 0x80, 0x80, 0x4d, 0x56, 0x56, 0xdd, 0xd8, 0xd8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf5, 0xf5 +db 0x82, 0x82, 0x82, 0x9, 0x44, 0x44, 0x0, 0x5b, 0x5b, 0x26, 0x42, 0x42 +db 0x97, 0x90, 0x90, 0xf5, 0xf3, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xc4, 0xc4, 0x3a, 0x4e, 0x4e +db 0x0, 0x95, 0x95, 0x2, 0xfe, 0xfe, 0x2, 0xff, 0xff, 0x0, 0xdd, 0xdd +db 0xa, 0x5b, 0x5b, 0x7c, 0x78, 0x78, 0xf5, 0xf1, 0xf1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xed, 0xed +db 0x68, 0x6b, 0x6b, 0x0, 0x15, 0x15, 0x1a, 0x2d, 0x2d, 0x93, 0x90, 0x90 +db 0xf5, 0xf3, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xe8, 0xe8, 0x68, 0x67, 0x67 +db 0x3, 0x6a, 0x6a, 0x1, 0xed, 0xed, 0x2, 0xff, 0xff, 0x0, 0xb8, 0xb8 +db 0x21, 0x49, 0x49, 0xaf, 0xa5, 0xa5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2, 0xe1, 0xe1 +db 0x4c, 0x4d, 0x4d, 0x2, 0x5, 0x5, 0x6d, 0x6c, 0x6c, 0xea, 0xe8, 0xe8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf8, 0xf8, 0x8e, 0x87, 0x87 +db 0xe, 0x53, 0x53, 0x0, 0xd7, 0xd7, 0x2, 0xff, 0xff, 0x0, 0x94, 0x94 +db 0x3a, 0x4d, 0x4d, 0xcf, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xca, 0xca, 0xca +db 0x41, 0x41, 0x41, 0x57, 0x56, 0x56, 0xd5, 0xd5, 0xd5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb8, 0xaf, 0xaf +db 0x29, 0x48, 0x48, 0x0, 0xb1, 0xb1, 0x0, 0xf2, 0xf2, 0x3, 0x6c, 0x6c +db 0x65, 0x66, 0x66, 0xeb, 0xe6, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xba, 0xba, 0xba +db 0x7c, 0x7c, 0x7c, 0xcc, 0xcc, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xd9, 0xd9 +db 0x52, 0x5a, 0x5a, 0x0, 0x84, 0x84, 0x0, 0xc3, 0xc3, 0x14, 0x54, 0x54 +db 0x99, 0x90, 0x90, 0xfd, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9, 0xcc, 0xcc, 0xcc +db 0xcf, 0xcf, 0xcf, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf3, 0xf3 +db 0x7d, 0x7b, 0x7b, 0x7, 0x5d, 0x5d, 0x0, 0x81, 0x81, 0x2d, 0x51, 0x51 +db 0xc2, 0xb9, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xf6, 0xf6, 0xf6 +db 0xfb, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xaa, 0xa7, 0xa7, 0x1c, 0x3b, 0x3b, 0x0, 0x2d, 0x2d, 0x55, 0x61, 0x61 +db 0xe3, 0xde, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xd7, 0xd6, 0xd6, 0x3e, 0x3f, 0x3f, 0x4, 0x5, 0x5, 0x88, 0x88, 0x88 +db 0xf9, 0xf9, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf0, 0xf1, 0xf1, 0x66, 0x64, 0x64, 0x22, 0x1f, 0x1f, 0xb1, 0xb0, 0xb0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfa, 0xfa, 0xfa, 0x8f, 0x8e, 0x8e, 0x58, 0x57, 0x57, 0xd2, 0xd2, 0xd2 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfe, 0xfe, 0xc6, 0xc6, 0xc6, 0xae, 0xae, 0xae, 0xf0, 0xf0, 0xf0 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf5, 0xf3, 0xf3, 0xf3, 0xfe, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/inc/time.inc b/programs/games/hunter/trunk/inc/time.inc new file mode 100644 index 0000000000..ff3586d477 --- /dev/null +++ b/programs/games/hunter/trunk/inc/time.inc @@ -0,0 +1,181 @@ +dw 48, 15 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0xff, 0xd2, 0x86, 0xff, 0x86 +db 0xde, 0xff, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xff, 0xdb, 0x62, 0xff, 0x5f +db 0x59, 0xff, 0x59, 0x5c, 0xff, 0x5a, 0x5d, 0xff, 0x59, 0x5b, 0xff, 0x5b +db 0x56, 0xff, 0x53, 0x8e, 0xff, 0x8b, 0xfe, 0xff, 0xfe, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9d, 0xff, 0x9d, 0x2, 0xfd, 0x2 +db 0x7c, 0xce, 0x7c, 0xfe, 0xf3, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0xff, 0xd1, 0x7, 0xfb, 0x32 +db 0x2, 0xd8, 0x1f, 0x2, 0xee, 0x27, 0x2, 0xf8, 0x2b, 0x2, 0xd9, 0x23 +db 0x2, 0xfb, 0x24, 0x2b, 0xe5, 0x4e, 0xdf, 0xe4, 0xe1, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xff, 0xd7, 0x3f, 0xaf, 0x3c +db 0x46, 0x68, 0x46, 0xed, 0xe9, 0xed, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xff, 0xe0, 0x1f, 0xed, 0x6d +db 0x4e, 0x74, 0x60, 0x34, 0xcf, 0x70, 0x1b, 0xda, 0x63, 0x4c, 0x72, 0x5f +db 0x1c, 0xf2, 0x6d, 0x21, 0xce, 0x62, 0xc6, 0xc9, 0xc7, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd8, 0xff, 0xe3, 0xb7, 0xfe, 0xcb, 0x7b, 0xb9, 0x8e +db 0x9f, 0xb1, 0xa4, 0xfb, 0xf9, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xd5, 0xff, 0xe1, 0xb7, 0xff, 0xca, 0xce, 0xff, 0xdc +db 0xac, 0xff, 0xc4, 0xd9, 0xff, 0xe3, 0xc3, 0xff, 0xd4, 0xb7, 0xff, 0xca +db 0xf0, 0xff, 0xf4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xff, 0xfe, 0xd6, 0xff, 0xe1, 0xb5, 0xff, 0xc9, 0xb5, 0xff, 0xc9 +db 0xdc, 0xff, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xff, 0xf7 +db 0xc2, 0xff, 0xd2, 0xe9, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0xff, 0xe7, 0x36, 0xe6, 0x81 +db 0x9e, 0xb4, 0xa8, 0x82, 0xff, 0xba, 0x2e, 0xd1, 0x73, 0x97, 0xa9, 0x9e +db 0x5c, 0xff, 0xa5, 0x36, 0xca, 0x74, 0xc9, 0xcb, 0xca, 0xff, 0xff, 0xff +db 0xfb, 0xff, 0xfe, 0x6f, 0xfc, 0xad, 0x27, 0xf8, 0x7f, 0x37, 0xff, 0x8d +db 0xa5, 0xe1, 0xbf, 0xfa, 0xf2, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfc, 0xff, 0xfd, 0x6c, 0xff, 0xac, 0x2c, 0xff, 0x86, 0x3e, 0xfd, 0x91 +db 0x31, 0xfb, 0x86, 0x43, 0xff, 0x96, 0x38, 0xfe, 0x8f, 0x2b, 0xfe, 0x85 +db 0x88, 0xfc, 0xbd, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0x9d, 0xff, 0xcc, 0x3e, 0xff, 0x94, 0x30, 0xfa, 0x84, 0x2e, 0xfb, 0x84 +db 0x46, 0xff, 0x9b, 0xb8, 0xff, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xff, 0xdb +db 0x2a, 0xff, 0x87, 0x80, 0xfa, 0xb8, 0xfe, 0xfb, 0xfd, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf9, 0x67, 0xa2, 0x86 +db 0x9f, 0xa3, 0xa1, 0x84, 0xff, 0xc7, 0x29, 0xd1, 0x7d, 0xaa, 0xb2, 0xae +db 0xc3, 0xf6, 0xde, 0x4a, 0x77, 0x62, 0xc5, 0xc5, 0xc5, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xbc, 0xd6, 0xca, 0x45, 0x86, 0x67, 0x32, 0xe7, 0x8e +db 0x46, 0x87, 0x67, 0xd8, 0xd0, 0xd4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xcb, 0xff, 0xe7, 0x44, 0xff, 0xa4, 0x34, 0xa6, 0x6e +db 0x3c, 0x93, 0x69, 0x32, 0xfe, 0x98, 0x39, 0xad, 0x74, 0x38, 0xac, 0x72 +db 0x3c, 0xeb, 0x94, 0xcd, 0xde, 0xd6, 0xff, 0xff, 0xff, 0xd7, 0xff, 0xea +db 0x3d, 0xff, 0xa0, 0x31, 0xcd, 0x80, 0x41, 0x6e, 0x58, 0x46, 0x80, 0x64 +db 0x32, 0xde, 0x88, 0x48, 0xf9, 0x9f, 0xd0, 0xeb, 0xde, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xff, 0xed +db 0x49, 0xd9, 0x93, 0x3b, 0x83, 0x5f, 0xd0, 0xcd, 0xce, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdd, 0xd4, 0xd8 +db 0xde, 0xd9, 0xdb, 0x7c, 0xff, 0xd9, 0x25, 0xd0, 0x97, 0xa8, 0xaf, 0xac +db 0xff, 0xfc, 0xff, 0xc8, 0xc2, 0xc5, 0xea, 0xea, 0xea, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfd, 0xf4, 0xf8, 0xcb, 0xda, 0xd6, 0x43, 0xf4, 0xb9 +db 0x3f, 0x81, 0x6b, 0xd7, 0xcf, 0xd2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xe9, 0xff, 0xfa, 0x4a, 0xfc, 0xc0, 0x44, 0x7a, 0x68 +db 0x7f, 0xb3, 0xa3, 0x36, 0xeb, 0xaf, 0x5a, 0x6b, 0x65, 0x8a, 0xce, 0xb8 +db 0x2b, 0xe4, 0xa6, 0x9f, 0xb4, 0xad, 0xff, 0xff, 0xff, 0xa4, 0xff, 0xe2 +db 0x2a, 0xff, 0xb8, 0x35, 0xd7, 0xa9, 0x3d, 0xb9, 0x9d, 0x50, 0xcd, 0xb2 +db 0x3f, 0xe6, 0xb6, 0x26, 0xfe, 0xb6, 0x7c, 0xd7, 0xbb, 0xff, 0xf9, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xc9, 0xc9, 0xc9, 0x9d, 0x9a, 0x9b, 0xe6, 0xe6, 0xe6, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xa2, 0xff, 0xe5, 0x53, 0xcf, 0xa7, 0xa8, 0xab, 0xa8 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff, 0xfd, 0x7c, 0xfa, 0xd2 +db 0x4f, 0x7d, 0x6d, 0xd6, 0xce, 0xd0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xee, 0xff, 0xfb, 0x78, 0xf9, 0xd0, 0x62, 0x8a, 0x7d +db 0xbd, 0xe5, 0xd9, 0x65, 0xe5, 0xbc, 0x76, 0x81, 0x7d, 0xc6, 0xfa, 0xeb +db 0x5c, 0xe1, 0xb7, 0x9e, 0xac, 0xa7, 0xff, 0xff, 0xff, 0xb1, 0xff, 0xe7 +db 0x62, 0xfd, 0xcb, 0x5f, 0xee, 0xc0, 0x5b, 0xef, 0xc0, 0x5a, 0xee, 0xbf +db 0x5c, 0xeb, 0xbe, 0x5b, 0xe9, 0xbc, 0x65, 0xa7, 0x91, 0xea, 0xe4, 0xe6 +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf6, 0xff, 0xff, 0xbb, 0xff, 0xfb, 0x84, 0xda, 0xce, 0xad, 0xc0, 0xbf +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf6, 0xff, 0xff, 0xe2, 0xff, 0xff, 0xa5, 0xfc, 0xef +db 0x6f, 0x9d, 0x98, 0xc7, 0xda, 0xdb, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xf4, 0xff, 0xff, 0xa6, 0xfa, 0xee, 0x74, 0x90, 0x8c +db 0xc9, 0xe5, 0xe1, 0x93, 0xe9, 0xdc, 0x7f, 0x8a, 0x89, 0xd6, 0xf9, 0xf4 +db 0x8c, 0xe3, 0xd6, 0xa7, 0xb2, 0xb1, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xfb +db 0x9a, 0xfb, 0xed, 0x78, 0xa5, 0x9d, 0x77, 0x81, 0x7a, 0x7b, 0x85, 0x7e +db 0x76, 0x85, 0x7e, 0x66, 0x84, 0x7c, 0x7a, 0x87, 0x84, 0xec, 0xeb, 0xeb +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff +db 0xee, 0xff, 0xff, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xff, 0xff +db 0xad, 0xff, 0xff, 0x9d, 0xff, 0xff, 0x9b, 0xff, 0xff, 0xa4, 0xff, 0xff +db 0xda, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe8, 0xff, 0xff, 0xac, 0xff, 0xff, 0x9f, 0xff, 0xff, 0x9e, 0xff, 0xff +db 0x9b, 0xff, 0xff, 0x9c, 0xff, 0xff, 0xc0, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0x9b, 0xff, 0xff, 0x99, 0xea, 0xea +db 0xc7, 0xf8, 0xf8, 0x99, 0xff, 0xff, 0xaa, 0xea, 0xea, 0xd5, 0xfb, 0xfb +db 0x94, 0xfc, 0xfd, 0xc0, 0xed, 0xed, 0xff, 0xfe, 0xfe, 0xfa, 0xff, 0xff +db 0xb1, 0xfa, 0xfc, 0x99, 0xfb, 0xfd, 0xb0, 0xf9, 0xfa, 0xb3, 0xf9, 0xfa +db 0xa9, 0xfb, 0xfc, 0x96, 0xf9, 0xfa, 0xc0, 0xea, 0xea, 0xff, 0xfc, 0xfc +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0xff, 0xff +db 0x9f, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xff, 0xff +db 0x8c, 0xd4, 0xd4, 0x75, 0xc0, 0xc0, 0x7a, 0xc2, 0xc2, 0x77, 0xc2, 0xc2 +db 0x6e, 0x97, 0x97, 0xdd, 0xdc, 0xdc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xe7, 0xff, 0xff, 0x8e, 0xd9, 0xd9, 0x75, 0xbf, 0xbf, 0x79, 0xc1, 0xc1 +db 0x7a, 0xc3, 0xc3, 0x79, 0xc5, 0xc5, 0x6a, 0xa3, 0xa3, 0xa7, 0xa8, 0xa8 +db 0xff, 0xff, 0xff, 0xc3, 0xf8, 0xf8, 0x7d, 0xca, 0xca, 0x75, 0xbb, 0xbb +db 0x8f, 0xb8, 0xb9, 0x9c, 0xe3, 0xe3, 0x74, 0xad, 0xad, 0x97, 0xb5, 0xb5 +db 0x8f, 0xdb, 0xdb, 0x6c, 0x94, 0x94, 0xc0, 0xbe, 0xbe, 0xff, 0xff, 0xff +db 0xda, 0xe3, 0xe3, 0x86, 0xcb, 0xcb, 0x87, 0xe6, 0xe6, 0x89, 0xe6, 0xe6 +db 0x87, 0xdf, 0xdf, 0x6f, 0xb1, 0xb1, 0x6a, 0x78, 0x78, 0xee, 0xec, 0xec +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xff +db 0x8f, 0xee, 0xee, 0x80, 0xbe, 0xbe, 0xd7, 0xd8, 0xd8, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xb0, 0xb0, 0xb0, 0x75, 0x76, 0x76, 0x7a, 0x7b, 0x7b, 0x78, 0x79, 0x79 +db 0x7b, 0x7a, 0x7a, 0xe1, 0xe1, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xb6, 0xb7, 0xb7, 0x75, 0x76, 0x76, 0x7a, 0x7b, 0x7b +db 0x7a, 0x7b, 0x7b, 0x7a, 0x7b, 0x7b, 0x72, 0x72, 0x72, 0xac, 0xac, 0xac +db 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0x8a, 0x8b, 0x8b, 0x72, 0x73, 0x73 +db 0xab, 0xac, 0xac, 0xc0, 0xc0, 0xc0, 0x73, 0x73, 0x73, 0xb6, 0xb7, 0xb7 +db 0xa6, 0xa7, 0xa7, 0x70, 0x70, 0x70, 0xc3, 0xc3, 0xc3, 0xff, 0xff, 0xff +db 0xff, 0xfe, 0xfe, 0xc1, 0xc5, 0xc5, 0x6e, 0x78, 0x78, 0x60, 0x6a, 0x6a +db 0x5f, 0x66, 0x66, 0x64, 0x64, 0x64, 0xa6, 0xa5, 0xa5, 0xfe, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xa1, 0xaa, 0xaa, 0x5e, 0x63, 0x63, 0xd2, 0xd2, 0xd2, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xfe, 0xfd, 0xfd, 0xfb, 0xfa, 0xfa, 0xfb, 0xfa, 0xfa, 0xfb, 0xfa, 0xfa +db 0xfc, 0xfb, 0xfb, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xfe, 0xfd, 0xfd, 0xfb, 0xfa, 0xfa, 0xfb, 0xfa, 0xfa +db 0xfb, 0xfa, 0xfa, 0xfb, 0xfa, 0xfa, 0xfc, 0xfb, 0xfb, 0xfe, 0xfe, 0xfe +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfb, 0xfb, 0xfb, 0xfa, 0xfa +db 0xfe, 0xfe, 0xfe, 0xfe, 0xfd, 0xfd, 0xfc, 0xfb, 0xfb, 0xff, 0xff, 0xff +db 0xfd, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xeb, 0xeb, 0xe6, 0xe4, 0xe4 +db 0xe6, 0xe5, 0xe5, 0xf1, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xf4, 0xf3, 0xf3, 0xe9, 0xe8, 0xe8, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff +db 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \ No newline at end of file diff --git a/programs/games/hunter/trunk/math.inc b/programs/games/hunter/trunk/math.inc new file mode 100644 index 0000000000..0e52e48cee --- /dev/null +++ b/programs/games/hunter/trunk/math.inc @@ -0,0 +1,44 @@ +; +; Mathematical functions +; +; Author: Trans +; Date: 08.03.2005 +; Compiler: FASM +; Target: Hunter - MeOS game +; + +rinit dw 0 + +; Randomize of 8 bits +; In: +; Out: AL - random value +random_8: + push ebx + push ecx + xor eax,eax + mov ax,[rinit] + cmp ax,0 + jnz rand_loc_00 + mov eax,26 + mov ebx,9 + int 40h + mov [rinit],ax + shl eax,16 + shr eax,16 +rand_loc_00: + mov ecx,8 +rand_loc_01: + mov bx,ax + and bx,002Dh + xor bh,bl + clc + jpe rand_loc_01a + stc +rand_loc_01a: + rcr ax,1 + loop rand_loc_01 + mov [rinit],ax + xor ah,ah + pop ecx + pop ebx + retn diff --git a/programs/games/hunter/trunk/object.inc b/programs/games/hunter/trunk/object.inc new file mode 100644 index 0000000000..9a0d45a352 --- /dev/null +++ b/programs/games/hunter/trunk/object.inc @@ -0,0 +1,413 @@ +; +; Functions for moving objects +; +; Author: Trans +; Date: 10.03.2005 +; Compiler: FASM +; Target: Hunter - MeOS game +; + +; +; In: +; Out: +init_object: + pusha + mov ecx,16 + mov edi,movieng_objects + mov esi,present_objects_list +io_loc_00: + call init_one_object + add edi,16 + loop io_loc_00 + call set_current_objects_list + popa + retn + + +; +; In: EDI - pointer to object structure +; ESI - pointer to present_objects_list +; Out: +init_one_object: + call set_object + call set_obj_direction + call set_obj_coord + call set_obj_speed + call set_obj_amplitude + call set_obj_cost + retn + + +; +; +; +set_object: + call random_8 + and al,07 + shl eax,2 + mov ebx,[esi+eax] + mov [edi],ebx + retn + +; +; +; +set_obj_coord: + call random_8 + and ax,07Fh + cmp al,0 + jz set_obj_coord + add ax,10 + cmp ax,120 + jb soc_loc_01 + sub ax,20 +soc_loc_01: + shl eax,16 + xor ax,ax + mov al,byte [edi+0Ah] + cmp al,byte 0 + jz soc_loc_00 + mov ax,319 +soc_loc_00: + ror eax,16 + mov [edi+4],eax + retn + +; +; +; +set_obj_speed: + call random_8 + and al,07h ;0Fh + cmp al,0 + jz set_obj_speed + mov [edi+8],al + retn + +; +; +; +set_obj_amplitude: + call random_8 + and al,0Fh + mov [edi+9],al + retn + +; +; +; +set_obj_direction: + call random_8 + and al,1 + mov [edi+0Ah],al + retn + +; +; +; +set_obj_cost: + call random_8 + cmp al,0 + jz set_obj_cost + mov [edi+0Bh],al + retn + +; +; +; +set_current_objects_list: + pusha + xor eax,eax + mov edi,forward_list + stosd + stosd + mov edi,back_list + stosd + stosd + mov edi,forward_list + call random_8 + and al,7 + cmp al,0 + jz scol_loc_00a + mov ecx,eax +scol_loc_00: + call random_8 + and al,7 + stosb + loop scol_loc_00 +scol_loc_00a: + mov edi,back_list + call random_8 + and al,07 + cmp al,0 + jz scol_loc_01a + mov ecx,eax +scol_loc_01: + call random_8 + and al,7 + stosb + loop scol_loc_01 +scol_loc_01a: + popa + retn + +; +; In: EDI - pointer to object structure +; Out: +movie_one_object: + pusha + mov eax,[edi+4] + xor ebx,ebx + mov bl,byte [edi+8] + ror eax,16 + cmp byte [edi+0Ah],0 + jz moo_loc_00 + sub ax,bx + cmp ax,320 + jb moo_loc_01 + mov ax,319 + jmp moo_loc_01 +moo_loc_00: + add ax,bx + cmp ax,320 + jb moo_loc_01 + xor ax,ax +moo_loc_01: + rol eax,16 + mov [edi+4],eax + popa + retn + +; +; +; +movie_objects: + pusha + mov esi,forward_list + mov ebx,movieng_objects + mov ecx,8 +mo_loc_00: + xor eax,eax + lodsb + cmp al,0 + jz mo_loc_01 + mov edi,ebx + shl eax,4 + add edi,eax + call movie_one_object +mo_loc_01: + loop mo_loc_00 + add ebx,16*8 + mov ecx,8 +mo_loc_02: + xor eax,eax + lodsb + cmp al,0 + jz mo_loc_03 + mov edi,ebx + shl eax,4 + add edi,eax + call movie_one_object +mo_loc_03: + loop mo_loc_02 + popa + retn + + +; +; In: EDI - pointer to object structure +; Out: +draw_one_forward_object: + push esi + mov esi,[edi] + mov eax,[edi+4] + call draw_pict + pop esi + retn + +; +; In: EDI - pointer to object structure +; Out: +draw_one_back_object: + push esi + mov esi,[edi] + mov eax,[edi+4] + call draw_pict_scale_div_2 + pop esi + retn + +; +; +; +draw_objects: + pusha + mov esi,back_list+7 + mov ebx,movieng_objects+16*8 + mov edi,ebx + mov ecx,8 +do_loc_00: + xor eax,eax +; lodsb + mov al,[esi] + cmp al,0 + jz do_loc_01 + mov edi,ebx + shl eax,4 + add edi,eax + call draw_one_back_object +do_loc_01: + dec esi + loop do_loc_00 +; mov esi,forward_list + mov ebx,movieng_objects + mov ecx,8 +do_loc_02: + xor eax,eax +; lodsb + mov al,[esi] + cmp al,0 + jz do_loc_03 + mov edi,ebx + shl eax,4 + add edi,eax + call draw_one_forward_object +do_loc_03: + dec esi + loop do_loc_02 + popa + retn + +; +; In: EDI - pointer to object structure +; Out: Carry flag Clear/Set - No/Kill object +check_kill_one_forward_object: + pusha + mov esi,[edi] + lodsw + shl eax,16 + lodsw + mov ebx,[edi+04] + mov edx,[mouse_coord] + add eax,ebx + cmp dx,bx + jb ckofo_loc_00 + cmp dx,ax + ja ckofo_loc_00 + shr eax,16 + shr ebx,16 + shr edx,16 + cmp dx,bx + jb ckofo_loc_00 + cmp dx,ax + ja ckofo_loc_00 + stc + popa + retn +ckofo_loc_00: + clc + popa + retn + +; +; In: EDI - pointer to object structure +; Out: Carry flag Clear/Set - No/Kill object +check_kill_one_back_object: + pusha + mov esi,[edi] + lodsw + shr eax,1 + shl eax,16 + lodsw + shr ax,1 + mov ebx,[edi+04] + mov edx,[mouse_coord] + add eax,ebx + cmp dx,bx + jb ckobo_loc_00 + cmp dx,ax + ja ckobo_loc_00 + shr eax,16 + shr ebx,16 + shr edx,16 + cmp dx,bx + jb ckobo_loc_00 + cmp dx,ax + ja ckobo_loc_00 + stc + popa + retn +ckobo_loc_00: + clc + popa + retn + +; +; +; +check_kill_object: + pusha + mov esi,forward_list + mov ebx,movieng_objects + mov ecx,8 +cko_loc_00: + xor eax,eax + lodsb + cmp al,0 + jz cko_loc_01 + shl eax,4 + mov edi,ebx + add edi,eax + call check_kill_one_forward_object + jc cko_loc_kill +cko_loc_01: + loop cko_loc_00 + add ebx,16*8 + mov ecx,8 +cko_loc_02: + xor eax,eax + lodsb + cmp al,0 + jz cko_loc_03 + shl eax,4 + mov edi,ebx + add edi,eax + call check_kill_one_back_object + jc cko_loc_kill +cko_loc_03: + loop cko_loc_02 + mov eax,[mouse_coord] + xor ebx,ebx + mov bl,byte [promakh_count] + shl ebx,2 + add ebx,current_hole + mov dword [ebx],eax + inc byte [promakh_count] + popa + retn +cko_loc_kill: + dec esi + mov byte [esi],0 + xor eax,eax + mov al,[edi+0Bh] + add dword [score_count],eax + clc + popa + retn + + +; +; +; +change_objects_speed: + pusha + mov esi,movieng_objects+8 + mov ecx,16 +cos_loc_00: + cmp byte [esi],0Fh + jz cos_next + inc byte [esi] +cos_next: + add esi,16 + loop cos_loc_00 + popa + retn diff --git a/programs/games/hunter/trunk/picture.inc b/programs/games/hunter/trunk/picture.inc new file mode 100644 index 0000000000..e2a25d46cf --- /dev/null +++ b/programs/games/hunter/trunk/picture.inc @@ -0,0 +1,418 @@ +; +; Работа с картинками или их образами +; +; Author: Trans +; Date: 08.03.2005 +; Compiler: FASM +; Target: Hunter - MeOS game +; + +; +; In: DS:ESI - указатель на образ картинки в RGB +; EAX - X координата * 65536 + Y координата +; //EBX - Z координата +; Out: +draw_pict: + pusha + mov edx,eax + shr edx,16 + xor edi,edi + mov di,ax + shl di,3 ; *8 + shl ax,1 ; *2 + add ax,di ; = *10 + shl ax,5 ; = *320 + mov di,ax + shr eax,16 + add di,ax ; di=Y*320+X + mov eax,edi + shl eax,1 ; = *2 + add edi,eax ; = (Y*320+X)*3 + add edi,buffer00 + lodsw + shl eax,16 + lodsw + ror eax,16 + xor ecx,ecx + mov cx,320 + sub cx,dx + xor edx,edx + cmp cx,ax + jae dp_loc_00 + sub ax,cx + mov dx,ax + shl ax,1 + add dx,ax ; invisible part for X + mov ax,cx +dp_loc_00: + mov cx,ax + xor ebx,ebx + mov bx,320 + sub bx,ax + mov ax,bx + shl ax,1 + add bx,ax ; additional offset for X + shr eax,16 + xchg ecx,eax +dp_loc_01: + push ecx + push eax + mov ecx,eax +dp_loc_02: + mov eax,[esi] + and eax,00FFFFFFh + cmp eax,00FFFFFFh + jnz dp_loc_03_next + add esi,3 + add edi,3 + jmp dp_loc_04 +dp_loc_03_next: + movsb + movsw +dp_loc_04: + loop dp_loc_02 + add esi,edx + add edi,ebx + pop eax + pop ecx + loop dp_loc_01 + popa + retn + +; +; In: DS:ESI - указатель на образ картинки в RGB +; EAX - X координата * 65536 + Y координата +; //EBX - Z координата +; Out: +draw_pict_scale_div_2: + pusha + mov edi,buffer01 + lodsd + xor ebx,ebx + xor ebp,ebp + mov bx,ax + mov bp,ax + shl ebp,1 + add ebp,ebx + shr ax,1 + stosw + mov bx,ax + shr eax,17 + stosw + xor ecx,ecx + mov cx,ax +dpsd2_loc_00: + push ecx + mov ecx,ebx +dpsd2_loc_01: + push ecx + mov ecx,3 +dpsd2_loc_02: + xor eax,eax + mov edx,eax + mov al,[esi] + mov dl,[esi+3] + add eax,edx + mov dl,[esi+ebp] + add eax,edx + mov dl,[esi+ebp+3] + add eax,edx + shr eax,2 + stosb + inc esi + loop dpsd2_loc_02 + add esi,3 + pop ecx + loop dpsd2_loc_01 + add esi,ebp + pop ecx + loop dpsd2_loc_00 + popa + pusha + mov esi,buffer01 + call draw_pict + popa + retn + + +; +; In: +; Out: +draw_backside: + pusha + mov edi,buffer00 + mov ecx,50 + mov eax,00FFFFFFh +dbs_loc_00: + push ecx + mov ecx,320 +dbs_loc_01: + mov ebx,eax + stosw + shr eax,16 + stosb + mov eax,ebx + stosw + shr eax,16 + stosb + mov eax,ebx + loop dbs_loc_01 + sub eax,00010100h + pop ecx + loop dbs_loc_00 + mov ecx,100 + mov eax,0000C000h +dbs_loc_02: + push ecx + mov ecx,320 +dbs_loc_03: + mov ebx,eax + stosw + shr eax,16 + stosb + mov eax,ebx + loop dbs_loc_03 + add eax,00010001h + pop ecx + loop dbs_loc_02 + popa + retn + +; +; In: +; Out: +buffer_scale_on_2: + pusha + mov esi,buffer00 + mov edi,buffer02 + mov ecx,200 +bso2_loc_00: + push ecx + mov ecx,2 +bso2_loc_01: + push ecx + push esi + mov ecx,320 +bso2_loc_02: + mov eax,[esi] + and eax,00FFFFFFh + mov ebx,eax + stosw + shr eax,16 + stosb + mov eax,ebx + stosw + shr eax,16 + stosb + add esi,3 + loop bso2_loc_02 + pop esi + pop ecx + loop bso2_loc_01 + add esi,320*3 + pop ecx + loop bso2_loc_00 + popa + retn + + +; +; In: EAX = X coordinate * 65536 + Y coordinate +; EBX = Number +; Out: +number_print: + pusha + mov edi,buf_local + mov ebp,eax + mov eax,ebx + or eax,eax + jz np_loc_null + mov ebx,100 + mov ecx,5 +np_loc_00: + xor edx,edx + div ebx + xchg eax,edx + aam + stosw + mov eax,edx + loop np_loc_00 + dec edi + mov eax,ebp + mov ecx,10 +np_loc_01: + cmp byte [edi],0 + jnz np_loc_02 + dec edi + loop np_loc_01 +np_loc_02: + xor ebx,ebx + mov bl,[edi] + shl ebx,2 + add ebx,pointer_digit_table + mov esi,[ebx] + call draw_pict + add eax,10*65536+0 + dec edi + loop np_loc_02 + popa + retn +np_loc_null: + mov eax,ebp + mov esi,[pointer_digit_table] + call draw_pict + popa + retn +pointer_digit_table: + dd buf_num0, buf_num1, buf_num2, buf_num3, buf_num4 + dd buf_num5, buf_num6, buf_num7, buf_num8, buf_num9 +buf_local: + times 12 db 0 + + +; +; In: EAX = X*65536+Y +; Out: +draw_lives: + pusha + mov esi,buf_heart + xor ecx,ecx + mov cl,[lives_count] + cmp cl,0 + jz dl_loc_01 +dl_loc_00: + call draw_pict + add eax,16*65536+0 + loop dl_loc_00 +dl_loc_01: + popa + retn + +; +; In: +; Out: +draw_mushka: + mov esi,buf_mushka + mov eax,[mouse_coord] + ror eax,16 + cmp ax,16 + jae dm_loc_00 + mov ax,16 +dm_loc_00: + sub ax,16 + rol eax,16 + cmp ax,16 + jae dm_loc_01 + mov ax,16 +dm_loc_01: + sub ax,16 + call draw_pict + retn + +; +; In: eax - hole coordinate +; Out: +draw_hole: + mov esi,buf_hole +; mov eax,[current_hole] + cmp eax,0 + jz dh_loc_02 + ror eax,16 + cmp ax,8 + jae dh_loc_00 + mov ax,8 +dh_loc_00: + sub ax,8 + rol eax,16 + cmp ax,8 + jae dh_loc_01 + mov ax,8 +dh_loc_01: + sub ax,8 + call draw_pict_scale_div_2 +dh_loc_02: + retn + +; +; +; +draw_promakh: + mov esi,buf_hole + xor ecx,ecx + mov cl,[promakh_count] + cmp cl,0 + jz dpr_loc_exit + mov ebx,current_hole + mov eax,dword [ebx] ;300*65536+180 +dpr_loc_00: + call draw_hole +; call draw_pict_scale_div_2 +; sub ax,16 + add ebx,4 + mov eax,dword [ebx] + loop dpr_loc_00 +dpr_loc_exit: + retn + + +; +; In: +; Out: +clear_buffer: + push eax + push ecx + push edi + mov edi,buffer00 + mov ecx,(320*201*3)/4 + xor eax,eax + rep stosd + pop edi + pop ecx + pop eax + retn + +; +; In: AX - X координата [0,639] +; BX - Y координата [0,479] +; Out: +refresh_screen: + pusha + popa + retn + + +; +; In: +; Out: +smooth_filter: + pusha + mov ecx,320*200*3 + mov edi,buffer00 +sf_loc_00: + xor ax,ax + xor dx,dx ;счетчик + mov al,[edi] + shl ax,2 ;*4 + mov dx,ax + xor ax,ax + mov al,[edi-320*3] + add dx,ax + mov al,[edi-3] + add dx,ax + mov al,[edi+3] + add dx,ax + mov al,[edi+320*3] + add dx,ax + xchg dx,ax + shr ax,3 ;/8 + mov byte [edi],al + inc edi + loop sf_loc_00 + popa + retn +;smooth_matrix: +; db 0, 1, 0 / +; db 1, 4, 1 / 8 +; db 0, 1, 0 / + + diff --git a/programs/games/hunter/trunk/read_me.eng b/programs/games/hunter/trunk/read_me.eng new file mode 100644 index 0000000000..5286f6d6e8 --- /dev/null +++ b/programs/games/hunter/trunk/read_me.eng @@ -0,0 +1,37 @@ +Hunter +------ + +Version: 1.1 +Target: MenuetOS arcade game +Author: Trans +Date: 07-18.03.2005 +Modification: 31.03.2005 + +This program is arcade game. +It was written specialy for MenueoOS game's compo, +which suggested by Jaroslaw Pelczar from 05.03 +to 19.03 2005 year. + +Game target - destroy of maximum flying objects. + +The Rules. +- You have 3 lives. +- 5 misses - minus one live. +- The game time is infinite. +- ALL processes stopped by PAUSE. +- Every 30 seconds increase objects speed +- Not all objects may be destroed by ONE shoot. +- Only after full group destroing is creating next group. + +Control. +Shot - left mouse button +Pause - SPACE + +Support. +All questions, wishes and suggestions send to author: +transafe@rambler.ru +trans397@yahoo.com + +Wish hunting! +Trans. + diff --git a/programs/games/hunter/trunk/read_me.rus b/programs/games/hunter/trunk/read_me.rus new file mode 100644 index 0000000000..c32cd22bc2 --- /dev/null +++ b/programs/games/hunter/trunk/read_me.rus @@ -0,0 +1,84 @@ +╬їюЄэшъ +------- + +┬хЁёш : 1.1 +╥шя: ╚уЁр рЁрърфэюую Єшяр фы  MenuetOS +└тЄюЁ: Trans +─рЄр: 07-18.03.2005 +╠юфшЇшърЎш : 31.03.2005 + +▌Єр яЁюуЁрььр яЁхфёЄрты хЄ шч ёхс  рЁърфэє■ шуЁє. +╬эр эряшёрэр ёяхЎшры№эю фы  єўрёЄш  т ёюЁхтэютрэшш +яю яЁюуЁрььшЁютрэш■ шуЁ фы  MenuetOS, ъюЄюЁюх с√ыю +юс· тыхэю ▀Ёюёыртюь ╧хы№ЎрЁюь (Jaroslaw Pelczar) +ё 05.03 яю 19.03 2005 уюфр. + +╓хы№ шуЁ√ - єэшўЄюцшЄ№ ъръ ьюцэю сюы№°х ыхЄр■∙шї +юс·хъЄют. + +╧Ёртшыр. +- ┼ёЄ№ 3 цшчэш. +- 5 яЁюьрїют - ьшэєё юфэр цшчэ№. +- ┬Ёхь  шуЁ√ эх юуЁрэшўхэю +- ┬ю тЁхь  ╧└╙╟█ ┬╤и юёЄрэютыхэю. +- ╩рцф√х 30 ёхъєэф єтхышўштрхЄё  ёъюЁюёЄ№ юс·хъЄют +- ═х тёх юс·хъЄ√ ьюуєЄ с√Є№ єэшўЄюцхэ√ чр юфшэ т√ёЄЁхы. +- ╧юёых яюыэюую єэшўЄюцхэш  юфэющ уЁєяя√ яю ты хЄё  фЁєур  + +╙яЁртыхэшх. +┬√ёЄЁхы - ыхтр  ъыртш°р ьрэшяєы ЄюЁр "ь√°№" +╧рєчр - ╧╨╬┴┼╦ + +╧юффхЁцър. +┬ёх тюяЁюё√, яюцхырэш  ш яЁхфыюцхэш  эряЁрты щЄх ртЄюЁє: +transafe@rambler.ru +trans397@yahoo.com + +╙фрўэющ юїюЄ√! +Trans. + + + + +DOS-кодировка. +------------------------------------------------------- + + +Охотник +------- + +Версия: 1.1 +Тип: Игра аракадного типа для MenuetOS +Автор: Trans +Дата: 07-18.03.2005 +Модификация: 31.03.2005 + +Эта программа представляет из себя аркадную игру. +Она написана специально для участия в соревновании +по программированию игр для MenuetOS, которое было +объявлено Ярославом Пельцаром (Jaroslaw Pelczar) +с 05.03 по 19.03 2005 года. + +Цель игры - уничтожить как можно больше летающих +объектов. + +Правила. +- Есть 3 жизни. +- 5 промахов - минус одна жизнь. +- Время игры не ограничено +- Во время ПАУЗЫ ВСЁ остановлено. +- Каждые 30 секунд увеличивается скорость объектов +- Не все объекты могут быть уничтожены за один выстрел. +- После полного уничтожения одной группы появляется другая + +Управление. +Выстрел - левая клавиша манипулятора "мышь" +Пауза - ПРОБЕЛ + +Поддержка. +Все вопросы, пожелания и предложения направляйте автору: +transafe@rambler.ru +trans397@yahoo.com + +Удачной охоты! +Trans. diff --git a/programs/games/mblocks/trunk/build_en.bat b/programs/games/mblocks/trunk/build_en.bat index fec6d933b0..e006405446 100644 --- a/programs/games/mblocks/trunk/build_en.bat +++ b/programs/games/mblocks/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm mblocks.asm mblocks +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/games/mblocks/trunk/build_ru.bat b/programs/games/mblocks/trunk/build_ru.bat index a9d2444306..9d76f7ae8d 100644 --- a/programs/games/mblocks/trunk/build_ru.bat +++ b/programs/games/mblocks/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm mblocks.asm mblocks +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/games/mblocks/trunk/macros.inc b/programs/games/mblocks/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/games/mblocks/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/games/mblocks/trunk/mblocks.asm b/programs/games/mblocks/trunk/mblocks.asm index f858e00863..d80434409d 100644 --- a/programs/games/mblocks/trunk/mblocks.asm +++ b/programs/games/mblocks/trunk/mblocks.asm @@ -17,10 +17,9 @@ use32 dd 0x4000 ; esp dd 0x0 , 0x0 ; I_Param , I_Icon -include 'macros.inc' -labelt db 'Memory Blocks for Menuet v0.1 Crown Soft (c)' -labellen: +include '..\..\..\macros.inc' +title db 'Memory Blocks for Menuet v0.1 Crown Soft (c)',0 START: ; start of execution @@ -28,7 +27,7 @@ START: ; start of execution still: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -44,12 +43,12 @@ jmp still key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jz close @@ -110,7 +109,7 @@ jmp still close: mov eax,-1 ; close program - int 0x40 + mcall @@ -120,54 +119,38 @@ jmp still draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+413 ; [x start] *65536 + [x size] mov ecx,100*65536+295 ; [y start] *65536 + [y size] - mov edx,0x83000000 ; color of work area RRGGBB,8->color gl - mov esi,0x805080d0 ; color of grab bar RRGGBB,8->color gl - mov edi,0x005080d0 ; color of frames RRGGBB - int 0x40 - - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x00ddeeff ; color of text RRGGBB - mov edx,labelt ; pointer to text beginning - mov esi,labellen-labelt ; text length - int 0x40 - -; ; CLOSE BUTTON -; mov eax,8 ; function 8 : define and draw button -; mov ebx,(411-19)*65536+12 ; [x start] *65536 + [x size] -; mov ecx,5*65536+12 ; [y start] *65536 + [y size] -; mov edx,1 ; button id -; mov esi,0x6688dd ; button color RRGGBB -; int 0x40 + mov edx,0x93000000 ; color of work area RRGGBB,8->color gl + mov edi,title ; WINDOW LABEL + mcall + ; init BUTTON mov eax,8 ; function 8 : define and draw button mov ebx,10*65536+55 ; [x start] *65536 + [x size] mov ecx,270*65536+12 ; [y start] *65536 + [y size] mov edx,100 ; button id mov esi,0x6688dd ; button color RRGGBB - int 0x40 + mcall ; NEW GAME LABEL mov eax,4 ; function 4 : write text to window mov ebx,15*65536+273 ; [x start] *65536 + [y start] mov ecx,0x00ddeeff ; color of text RRGGBB mov edx,labnew ; pointer to text beginning mov esi,labnewlen-labnew ; text length - int 0x40 + mcall mov ebx,40001h mov ecx,nkeydown mov edx,135*65536+273 mov esi,0x00ffffff mov eax,47 - int 0x40 + mcall ;--- draw buttons --- @@ -193,7 +176,7 @@ draw_window: mov esi,[coltbl+16*4] ; button color RRGGBB mov eax,8 ; function 8 : define and draw button - int 0x40 + mcall ; PICTURE dec edx @@ -213,7 +196,7 @@ draw_window: mov ebx,mas mov ecx,32*65536+32 ; image size mov eax,7 ; function 7 : putimage - int 0x40 + mcall drm3: inc [bitid] @@ -224,7 +207,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -292,7 +275,7 @@ initpict: ; Initialize RND mov eax,3 - int 0x40 ; eax=00SSMMHH + mcall ; eax=00SSMMHH rol eax,16 ; eax=MMHH00SS - fist random number mov ebx,8088405h diff --git a/programs/games/phenix/trunk/ascgl.inc b/programs/games/phenix/trunk/ascgl.inc index 6cb56c2782..f8188e7575 100644 --- a/programs/games/phenix/trunk/ascgl.inc +++ b/programs/games/phenix/trunk/ascgl.inc @@ -373,7 +373,7 @@ macro drawfbox x,y,xs,ys,color wordstoreg ecx,y,ys ;y*65536+ys mov edx,color mov eax,13 - int 0x40 + mcall } ; FPS - Set Frame Per Second Display @@ -390,7 +390,7 @@ ttt dd 0 spdat: get_time: mov eax,3 - int 0x40 + mcall cmp eax,[savetime] jne new_time inc [fps_cntr] @@ -409,7 +409,7 @@ if ~(delcolor eq ) mov ecx,y*65536+7 mov edx,delcolor mov eax,13 - int 0x40 + mcall end if mov dword [ttt],fps_show_frequency mov eax,47 @@ -418,7 +418,7 @@ end if mov edx,x*65536+y mov esi,color mov ecx,[fps] - int 0x40 + mcall no_out_fps: } @@ -496,7 +496,7 @@ macro setimg x , y ,arg3 add cx,[arg3+4] ; wordstoreg ecx,[arg3],[arg3+4] wordstoreg edx, x , y ;arg1*65536+arg2 - int 0x40 + mcall } macro setframe x , y ,arg3 @@ -507,7 +507,7 @@ macro setframe x , y ,arg3 wordstoreg edx, x , y ;arg1*65536+arg2 add edx,dword [arg3] mov ecx,dword [arg3+4] - int 0x40 + mcall } diff --git a/programs/games/phenix/trunk/ascl.inc b/programs/games/phenix/trunk/ascl.inc index e45e31938c..6160b7a1a4 100644 --- a/programs/games/phenix/trunk/ascl.inc +++ b/programs/games/phenix/trunk/ascl.inc @@ -50,14 +50,14 @@ open: mov dword [fileinfo+8],1 ; how many blocks to read (1) mov eax,58 mov ebx,fileinfo - int 0x40 + mcall mov eax,[file_load_area+2] shr eax,9 ; поделим на 512 и прибавим 1 - получим число блоков inc eax mov dword [fileinfo+8],eax mov eax,58 mov ebx,fileinfo - int 0x40 + mcall } @@ -145,7 +145,7 @@ asd: mov edx,id mov esi,bcolor mov eax,8 - int 0x40 + mcall mov eax,asd-lab ;calc size mov ebx,6 @@ -170,7 +170,7 @@ asd: mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } @@ -199,7 +199,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -233,12 +233,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,150 ; size 150 bytes - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -246,7 +246,7 @@ new_d: mov eax,58 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -254,7 +254,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall cmp eax,1 je mred @@ -269,14 +269,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -301,15 +301,15 @@ mred: jmp getmesloop mkey: mov eax,2 - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -411,7 +411,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -445,12 +445,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,120 ; size 150 bytes - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -458,7 +458,7 @@ new_d: mov eax,58 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -466,7 +466,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall cmp eax,1 je mred @@ -481,14 +481,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -512,15 +512,15 @@ mred: call redproc jmp getmesloop mkey: - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -672,7 +672,7 @@ rxproc: macro scank { mov eax,10 - int 0x40 + mcall } macro putpix x,y,color @@ -681,7 +681,7 @@ macro putpix x,y,color mov ecx,y mov edx,color mov eax,1 - int 0x40 + mcall } macro puttxt x,y,offs,size,color @@ -694,7 +694,7 @@ macro puttxt x,y,offs,size,color mov edx,offs mov esi,size mov eax,4 - int 0x40 + mcall } macro outcount data, x, y, color, numtype @@ -706,7 +706,7 @@ macro outcount data, x, y, color, numtype words2reg edx,x,y mov esi,color mov eax,47 - int 0x40 + mcall } ; SCEVENT - Scan event @@ -714,7 +714,7 @@ macro outcount data, x, y, color, numtype macro scevent red,key,but { mov eax,11 - int 0x40 + mcall dec eax jz red dec eax @@ -728,7 +728,7 @@ macro scevent red,key,but macro wtevent red,key,but { mov eax,10 - int 0x40 + mcall dec eax jz red dec eax @@ -743,7 +743,7 @@ macro timeevent xfps,noevent,red,key,but { mov eax,23 mov ebx,xfps - int 0x40 + mcall cmp eax,0 je noevent dec eax @@ -760,7 +760,7 @@ macro timeevent xfps,noevent,red,key,but macro close { mov eax,-1 - int 0x40 + mcall } ; DELAY - Create delay 1/100 sec @@ -771,7 +771,7 @@ macro delay arg1 { mov eax,5 mov ebx,arg1 - int 0x40 + mcall } ; WINDOW - Draw window @@ -786,7 +786,7 @@ macro window arg1,arg2,arg3,arg4,arg5 words2reg ecx,arg2,arg4 mov edx,arg5 mov eax,0 - int 0x40 + mcall } macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 @@ -797,7 +797,7 @@ macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 mov esi,arg6 mov edi,arg7 mov eax,0 - int 0x40 + mcall } @@ -807,7 +807,7 @@ macro startwd { mov eax,12 mov ebx,1 - int 0x40 + mcall } ; ENDWD - End window draw @@ -816,7 +816,7 @@ macro endwd { mov eax,12 mov ebx,2 - int 0x40 + mcall } ; LABEL - Put text to frame @@ -842,7 +842,7 @@ asd: mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } ;Key's diff --git a/programs/games/phenix/trunk/build_en.bat b/programs/games/phenix/trunk/build_en.bat index da786662aa..b3602b96d9 100644 --- a/programs/games/phenix/trunk/build_en.bat +++ b/programs/games/phenix/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm phenix.asm phenix +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/games/phenix/trunk/build_ru.bat b/programs/games/phenix/trunk/build_ru.bat index 2eb731e079..d2af2271ca 100644 --- a/programs/games/phenix/trunk/build_ru.bat +++ b/programs/games/phenix/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm phenix.asm phenix +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/games/phenix/trunk/phenix.asm b/programs/games/phenix/trunk/phenix.asm index 2f35ad6976..6be32ff931 100644 --- a/programs/games/phenix/trunk/phenix.asm +++ b/programs/games/phenix/trunk/phenix.asm @@ -22,6 +22,7 @@ include 'lang.inc' +include '..\..\..\macros.inc' include 'ascl.inc' include 'ascgl.inc' include 'ascml.inc' @@ -350,13 +351,13 @@ oelemsize = 20 mov eax,66 mov ebx,1 mov ecx,1 - int 0x40 + mcall mov eax,26 mov ebx,2 mov ecx,1 mov edx,keymap - int 0x40 + mcall startgame: gif_hash_offset = gif_hash_area @@ -388,11 +389,11 @@ redm: jmp stillm keym: mov eax,2 - int 0x40 + mcall jmp stillm buttonm: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? je close_app cmp ah,2 ; button id=1 ? @@ -426,11 +427,11 @@ redh: jmp stillh keyh: mov eax,2 - int 0x40 + mcall jmp stillh buttonh: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? je close_app cmp ah,2 ; button id=1 ? @@ -457,7 +458,7 @@ draw_helpwindow: dec ebp looht: mov eax,4 - int 0x40 + mcall add edx,esi add ebx,10 dec ebp @@ -882,7 +883,7 @@ xr_ok: key: ; key mov eax,2 - int 0x40 ; read (eax=2) + mcall ; read (eax=2) shr eax,8 and eax,0xff @@ -954,12 +955,12 @@ no_num8u: button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose close_app: mov eax,-1 ; close this program - int 0x40 + mcall noclose: jmp still @@ -986,11 +987,11 @@ redgo: jmp stillgo keygo: mov eax,2 - int 0x40 + mcall jmp stillgo buttongo: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 je close_app cmp ah,4 @@ -1077,11 +1078,11 @@ redeg: jmp stilleg keyeg: mov eax,2 - int 0x40 + mcall jmp stilleg buttoneg: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 je close_app cmp ah,2 @@ -1211,11 +1212,11 @@ redeg2: jmp end_gm ;stilleg2 keyeg2: mov eax,2 - int 0x40 + mcall jmp main_menu buttoneg2: mov eax,17 ; get id - int 0x40 + mcall jmp stilleg2 diff --git a/programs/games/pipes/pipes.asm b/programs/games/pipes/pipes.asm index 2bf5361961..b22a4a84e3 100644 --- a/programs/games/pipes/pipes.asm +++ b/programs/games/pipes/pipes.asm @@ -13,6 +13,7 @@ fg2color equ 0x00E0B0A0 ;colorref fg3color equ 0x007F7F55 btcolor equ 0x005B6200 +include '..\..\macros.inc' use32 @@ -34,7 +35,7 @@ START: ; start of execution still: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -53,7 +54,7 @@ still: key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall jmp still button: ; button call get_input @@ -64,13 +65,13 @@ still: get_input: pusha mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne .noclose mov eax,-1 ; close this program - int 0x40 + mcall .noclose: cmp ah,4 jne .moderate @@ -239,9 +240,9 @@ mov ecx,10 .down: mov eax,5 mov ebx,10 -int 0x40 +mcall mov eax,11 -int 0x40 +mcall cmp eax,1 jne .nored call draw_window @@ -282,9 +283,9 @@ pusha .down: mov eax,5 mov ebx,2 - int 0x40 + mcall mov eax,11 - int 0x40 + mcall cmp eax,1 jne .nored call draw_window @@ -307,7 +308,7 @@ pusha call draw_message mov eax,5 mov ebx,500 - int 0x40 + mcall mov [stat],0 inc [level] cmp [speed],6 ;waterflowdelay < 6 ? @@ -331,25 +332,25 @@ mov eax,13 ;clear time and score area mov ebx,50 shl 16 +15 mov ecx,395 shl 16 +15 mov edx,bgcolor -int 0x40 +mcall add ebx,60 shl 16 + 20 -int 0x40 +mcall add ebx,80 shl 16 -int 0x40 +mcall mov eax,47 mov ebx,0x20000 mov ecx,[time] mov edx,50*65536+398 mov esi,fg2color -int 0x40 +mcall mov ebx,0x50000 mov ecx,[score] add edx,60 shl 16 -int 0x40 +mcall mov ebx,0x20000 mov ecx,[level] add edx,80 shl 16 -int 0x40 +mcall popa ret @@ -460,11 +461,11 @@ pusha mov ebx,146 shl 16 + 200 mov ecx,190 shl 16 + 40 mov edx,0x0 - int 0x40 + mcall add ebx,2 shl 16 - 4 add ecx,2 shl 16 - 4 mov edx,fgcolor - int 0x40 + mcall cmp [stat],1 je .winmessage @@ -474,19 +475,19 @@ pusha movzx esi,byte [lbl_gameover] mov ecx,btcolor add ecx,0x10000000 - int 0x40 + mcall add ebx,8 shl 16 +17 mov edx,lbl_yscore+1 movzx esi,byte [lbl_yscore] mov ecx,btcolor - int 0x40 + mcall mov esi,ecx ;color mov edx,ebx ;pos add edx,80 shl 16 mov ebx,0x50000 ;type mov ecx,[score] ;inp mov eax,47 - int 0x40 + mcall jmp .nomessage .winmessage: mov eax,4 @@ -495,11 +496,11 @@ pusha movzx esi,byte [lbl_win] mov ecx,btcolor add ecx,0x10000000 - int 0x40 + mcall mov ebx,152 shl 16 +217 add edx,esi mov ecx,btcolor - int 0x40 + mcall .nomessage: popa ret @@ -519,14 +520,14 @@ pusha movsx edx, byte [map] add edx,9 ;button-id = map-pos + 10;gen_image inkrements add edx,0x50000000 ;no button image - no esi need - int 0x40 + mcall pop edx push ebx push ecx mov eax,7 mov ebx,0x10000 mov ecx,32 shl 16 +32 - int 0x40 + mcall pop ecx pop ebx add edx,33 shl 16 @@ -549,7 +550,7 @@ pusha mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window @@ -557,41 +558,41 @@ pusha mov ecx,100*65536+420 ; [y start] *65536 + [y size] mov edx,bgcolor ; color of work area RRGGBB,8->color gl or edx,0x13000000 - mov edi,header - int 0x40 + mov edi,title + mcall mov eax,8 mov ebx,84*65536+72 mov ecx,28*65536+15 mov edx,2 mov esi,btcolor - int 0x40 + mcall add ebx,76 shl 16 inc edx - int 0x40 + mcall add ebx,76 shl 16 inc edx - int 0x40 + mcall mov eax,4 mov ebx,26 shl 16 +32 mov ecx,fgcolor mov edx,lbl_toolbar+1 movsx esi, byte [lbl_toolbar] - int 0x40 + mcall mov ebx,18 shl 16 +398 mov edx,lbl_score+1 movsx esi, byte [lbl_score] - int 0x40 + mcall mov ebx,350 shl 16 +405 mov ecx,fg3color mov edx,lbl_copy+1 movsx esi,byte [lbl_copy] - int 0x40 + mcall mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall popa ret @@ -600,7 +601,7 @@ pusha ; DATA AREA -header db 'PIPES',0 +title db 'PIPES',0 lbl_gameover: db 19 db 'G a m e O v e r !' diff --git a/programs/games/pong/trunk/ascgl.inc b/programs/games/pong/trunk/ascgl.inc index 93bf38b3eb..0c7b4d4f8c 100644 --- a/programs/games/pong/trunk/ascgl.inc +++ b/programs/games/pong/trunk/ascgl.inc @@ -33,7 +33,7 @@ macro drawfbox x,y,xs,ys,color add ecx,ys mov edx,color mov eax,13 - int 0x40 + mcall } ; FPS - Set Frame Per Second Display @@ -50,7 +50,7 @@ ttt dd 0 spdat: get_time: mov eax,3 - int 0x40 + mcall cmp eax,[savetime] jne new_time inc [fps_cntr] @@ -69,7 +69,7 @@ if ~(delcolor eq ) mov ecx,y*65536+7 mov edx,delcolor mov eax,13 - int 0x40 + mcall end if mov dword [ttt],fps_show_frequency mov eax,47 @@ -78,7 +78,7 @@ end if mov edx,x*65536+y mov esi,color mov ecx,[fps] - int 0x40 + mcall no_out_fps: } @@ -153,7 +153,7 @@ else shl edx,16 add edx,arg2 end if - int 0x40 + mcall nodi: } @@ -173,7 +173,7 @@ else shl edx,16 add edx,arg2 end if - int 0x40 + mcall } ;Not optimiz @@ -451,14 +451,14 @@ local noaddword mov dword [fileinfo+8],1 ; how many blocks to read (1) mov eax,58 mov ebx,fileinfo - int 0x40 + mcall mov eax,[bmp_load_area+2] shr eax,9 ; поделим на 512 и прибавим 1 - получим число блоков inc eax mov dword [fileinfo+8],eax mov eax,58 mov ebx,fileinfo - int 0x40 + mcall ; jmp qwe ;bmpfn db bmp_file_name @@ -469,7 +469,7 @@ local noaddword ; mov edx,0xFFFFFF ; mov esi,bmp_load_area ; mov edi,0 -; int 0x40 +; mcall ; convert: movzx eax,word [bmp_load_area+28] diff --git a/programs/games/pong/trunk/ascl.inc b/programs/games/pong/trunk/ascl.inc index 216ef7e24b..9751d32f12 100644 --- a/programs/games/pong/trunk/ascl.inc +++ b/programs/games/pong/trunk/ascl.inc @@ -38,7 +38,7 @@ incf: mov ecx,0 mov edx,-1 mov esi,path - int 0x40 + mcall cmp byte [clip_file+7],'Z' je erroff cmp eax,0xffffffff @@ -54,12 +54,12 @@ zzz2: mov edx,100 mov esi,0 mov eax,33 - int 0x40 + mcall mov ebx,dlg_file mov ecx,clip_file mov eax,19 - int 0x40 + mcall still: scevent red,key,button @@ -72,7 +72,7 @@ still: mov ecx,0 mov edx,-1 mov esi,path - int 0x40 + mcall cmp eax,0xffffffff je erroff ;errexit mov dword [redwait],0 @@ -84,19 +84,19 @@ zzz: file_is_open: mov eax,32 mov ebx,clip_file - int 0x40 + mcall jmp openoff key: ; key - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne still mov eax,-1 ; close this program - int 0x40 + mcall red: call redproc @@ -127,7 +127,7 @@ incf: mov ecx,0 mov edx,-1 mov esi,path - int 0x40 + mcall cmp byte [clip_file+7],'Z' je erroff cmp eax,0xffffffff @@ -143,12 +143,12 @@ zzz2: mov edx,100 mov esi,0 mov eax,33 - int 0x40 + mcall mov ebx,dlg_file mov ecx,clip_file mov eax,19 - int 0x40 + mcall still: scevent red,key,button @@ -161,7 +161,7 @@ still: mov ecx,0 mov edx,-1 mov esi,path - int 0x40 + mcall cmp eax,0xffffffff je erroff ;errexit mov dword [redwait],0 @@ -173,19 +173,19 @@ zzz: file_is_open: mov eax,32 mov ebx,clip_file - int 0x40 + mcall jmp openoff key: ; key - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne still mov eax,-1 ; close this program - int 0x40 + mcall red: call redproc @@ -272,7 +272,7 @@ rxproc: macro scank { mov eax,10 - int 0x40 + mcall } macro putpix x,y,color @@ -281,7 +281,7 @@ macro putpix x,y,color mov ecx,y mov edx,color mov eax,1 - int 0x40 + mcall } macro puttxt x,y,offs,size,color @@ -293,7 +293,7 @@ macro puttxt x,y,offs,size,color mov edx,offs mov esi,size mov eax,4 - int 0x40 + mcall } ;_ equ '____' @@ -306,7 +306,7 @@ macro puttxt x,y,offs,size,color ; mov ecx,y ; mov edx,color ; mov eax,1 -; int 0x40 +; mcall ;} @@ -318,7 +318,7 @@ macro outcount data, x, y, color, numtype mov edx,x*65536+y mov esi,color mov eax,47 - int 0x40 + mcall } ; SCEVENT - Scan event @@ -326,7 +326,7 @@ macro outcount data, x, y, color, numtype macro scevent red,key,but { mov eax,11 - int 0x40 + mcall dec eax jz red dec eax @@ -340,7 +340,7 @@ macro scevent red,key,but macro wtevent red,key,but { mov eax,10 - int 0x40 + mcall dec eax jz red dec eax @@ -355,7 +355,7 @@ macro timeevent xfps,noevent,red,key,but { mov eax,23 mov ebx,xfps - int 0x40 + mcall cmp eax,0 je noevent dec eax @@ -372,7 +372,7 @@ macro timeevent xfps,noevent,red,key,but macro close { mov eax,-1 - int 0x40 + mcall } ; DELAY - Create delay 1/100 sec @@ -383,7 +383,7 @@ macro delay arg1 { mov eax,5 mov ebx,arg1 - int 0x40 + mcall } ; WINDOW - Draw window @@ -396,7 +396,7 @@ macro window arg1,arg2,arg3,arg4,arg5 mov ecx,arg2*65536+arg4 mov edx,arg5 mov eax,0 - int 0x40 + mcall } macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 @@ -407,7 +407,7 @@ macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 mov esi,arg6 mov edi,arg7 mov eax,0 - int 0x40 + mcall } @@ -417,7 +417,7 @@ macro startwd { mov eax,12 mov ebx,1 - int 0x40 + mcall } ; ENDWD - End window draw @@ -426,7 +426,7 @@ macro endwd { mov eax,12 mov ebx,2 - int 0x40 + mcall } ; LABEL - Put text to frame @@ -446,7 +446,7 @@ asd: mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } ;Key's diff --git a/programs/games/pong/trunk/build_en.bat b/programs/games/pong/trunk/build_en.bat index 727a29e81b..66a37fcb06 100644 --- a/programs/games/pong/trunk/build_en.bat +++ b/programs/games/pong/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm pong.asm pong +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/games/pong/trunk/build_ru.bat b/programs/games/pong/trunk/build_ru.bat index 442296f90b..8d853d3ee4 100644 --- a/programs/games/pong/trunk/build_ru.bat +++ b/programs/games/pong/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm pong.asm pong +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/games/pong/trunk/pong.asm b/programs/games/pong/trunk/pong.asm index 25153304c2..45b3bd7d47 100644 --- a/programs/games/pong/trunk/pong.asm +++ b/programs/games/pong/trunk/pong.asm @@ -21,6 +21,7 @@ include 'lang.inc' +include '..\..\..\macros.inc' include 'ascl.inc' include 'ascgl.inc' @@ -43,7 +44,7 @@ START: ; start of execution still: mov eax,11 ; scan event - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -58,14 +59,14 @@ out_scorea: mov ecx,[scorea] mov edx,300*65536+8 mov esi,cl_Blue - int 0x40 + mcall out_scoreb: mov eax,47 mov ebx,5*65536 mov ecx,[scoreb] mov edx,350*65536+8 mov esi,cl_Red - int 0x40 + mcall del_images: setimg dword [ply1x],dword [ply1y],img4 @@ -290,7 +291,7 @@ redraw_images: key: ; key mov eax,2 - int 0x40 + mcall cmp ah,key_Left jne no_l sub dword [ply1rx],16 @@ -316,11 +317,11 @@ no_sp: button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose mov eax,-1 ; close this program - int 0x40 + mcall noclose: jmp still diff --git a/programs/games/pong3/trunk/ascgl.inc b/programs/games/pong3/trunk/ascgl.inc index 93bf38b3eb..0c7b4d4f8c 100644 --- a/programs/games/pong3/trunk/ascgl.inc +++ b/programs/games/pong3/trunk/ascgl.inc @@ -33,7 +33,7 @@ macro drawfbox x,y,xs,ys,color add ecx,ys mov edx,color mov eax,13 - int 0x40 + mcall } ; FPS - Set Frame Per Second Display @@ -50,7 +50,7 @@ ttt dd 0 spdat: get_time: mov eax,3 - int 0x40 + mcall cmp eax,[savetime] jne new_time inc [fps_cntr] @@ -69,7 +69,7 @@ if ~(delcolor eq ) mov ecx,y*65536+7 mov edx,delcolor mov eax,13 - int 0x40 + mcall end if mov dword [ttt],fps_show_frequency mov eax,47 @@ -78,7 +78,7 @@ end if mov edx,x*65536+y mov esi,color mov ecx,[fps] - int 0x40 + mcall no_out_fps: } @@ -153,7 +153,7 @@ else shl edx,16 add edx,arg2 end if - int 0x40 + mcall nodi: } @@ -173,7 +173,7 @@ else shl edx,16 add edx,arg2 end if - int 0x40 + mcall } ;Not optimiz @@ -451,14 +451,14 @@ local noaddword mov dword [fileinfo+8],1 ; how many blocks to read (1) mov eax,58 mov ebx,fileinfo - int 0x40 + mcall mov eax,[bmp_load_area+2] shr eax,9 ; поделим на 512 и прибавим 1 - получим число блоков inc eax mov dword [fileinfo+8],eax mov eax,58 mov ebx,fileinfo - int 0x40 + mcall ; jmp qwe ;bmpfn db bmp_file_name @@ -469,7 +469,7 @@ local noaddword ; mov edx,0xFFFFFF ; mov esi,bmp_load_area ; mov edi,0 -; int 0x40 +; mcall ; convert: movzx eax,word [bmp_load_area+28] diff --git a/programs/games/pong3/trunk/ascl.inc b/programs/games/pong3/trunk/ascl.inc index 216ef7e24b..9751d32f12 100644 --- a/programs/games/pong3/trunk/ascl.inc +++ b/programs/games/pong3/trunk/ascl.inc @@ -38,7 +38,7 @@ incf: mov ecx,0 mov edx,-1 mov esi,path - int 0x40 + mcall cmp byte [clip_file+7],'Z' je erroff cmp eax,0xffffffff @@ -54,12 +54,12 @@ zzz2: mov edx,100 mov esi,0 mov eax,33 - int 0x40 + mcall mov ebx,dlg_file mov ecx,clip_file mov eax,19 - int 0x40 + mcall still: scevent red,key,button @@ -72,7 +72,7 @@ still: mov ecx,0 mov edx,-1 mov esi,path - int 0x40 + mcall cmp eax,0xffffffff je erroff ;errexit mov dword [redwait],0 @@ -84,19 +84,19 @@ zzz: file_is_open: mov eax,32 mov ebx,clip_file - int 0x40 + mcall jmp openoff key: ; key - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne still mov eax,-1 ; close this program - int 0x40 + mcall red: call redproc @@ -127,7 +127,7 @@ incf: mov ecx,0 mov edx,-1 mov esi,path - int 0x40 + mcall cmp byte [clip_file+7],'Z' je erroff cmp eax,0xffffffff @@ -143,12 +143,12 @@ zzz2: mov edx,100 mov esi,0 mov eax,33 - int 0x40 + mcall mov ebx,dlg_file mov ecx,clip_file mov eax,19 - int 0x40 + mcall still: scevent red,key,button @@ -161,7 +161,7 @@ still: mov ecx,0 mov edx,-1 mov esi,path - int 0x40 + mcall cmp eax,0xffffffff je erroff ;errexit mov dword [redwait],0 @@ -173,19 +173,19 @@ zzz: file_is_open: mov eax,32 mov ebx,clip_file - int 0x40 + mcall jmp openoff key: ; key - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne still mov eax,-1 ; close this program - int 0x40 + mcall red: call redproc @@ -272,7 +272,7 @@ rxproc: macro scank { mov eax,10 - int 0x40 + mcall } macro putpix x,y,color @@ -281,7 +281,7 @@ macro putpix x,y,color mov ecx,y mov edx,color mov eax,1 - int 0x40 + mcall } macro puttxt x,y,offs,size,color @@ -293,7 +293,7 @@ macro puttxt x,y,offs,size,color mov edx,offs mov esi,size mov eax,4 - int 0x40 + mcall } ;_ equ '____' @@ -306,7 +306,7 @@ macro puttxt x,y,offs,size,color ; mov ecx,y ; mov edx,color ; mov eax,1 -; int 0x40 +; mcall ;} @@ -318,7 +318,7 @@ macro outcount data, x, y, color, numtype mov edx,x*65536+y mov esi,color mov eax,47 - int 0x40 + mcall } ; SCEVENT - Scan event @@ -326,7 +326,7 @@ macro outcount data, x, y, color, numtype macro scevent red,key,but { mov eax,11 - int 0x40 + mcall dec eax jz red dec eax @@ -340,7 +340,7 @@ macro scevent red,key,but macro wtevent red,key,but { mov eax,10 - int 0x40 + mcall dec eax jz red dec eax @@ -355,7 +355,7 @@ macro timeevent xfps,noevent,red,key,but { mov eax,23 mov ebx,xfps - int 0x40 + mcall cmp eax,0 je noevent dec eax @@ -372,7 +372,7 @@ macro timeevent xfps,noevent,red,key,but macro close { mov eax,-1 - int 0x40 + mcall } ; DELAY - Create delay 1/100 sec @@ -383,7 +383,7 @@ macro delay arg1 { mov eax,5 mov ebx,arg1 - int 0x40 + mcall } ; WINDOW - Draw window @@ -396,7 +396,7 @@ macro window arg1,arg2,arg3,arg4,arg5 mov ecx,arg2*65536+arg4 mov edx,arg5 mov eax,0 - int 0x40 + mcall } macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 @@ -407,7 +407,7 @@ macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 mov esi,arg6 mov edi,arg7 mov eax,0 - int 0x40 + mcall } @@ -417,7 +417,7 @@ macro startwd { mov eax,12 mov ebx,1 - int 0x40 + mcall } ; ENDWD - End window draw @@ -426,7 +426,7 @@ macro endwd { mov eax,12 mov ebx,2 - int 0x40 + mcall } ; LABEL - Put text to frame @@ -446,7 +446,7 @@ asd: mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } ;Key's diff --git a/programs/games/pong3/trunk/build_en.bat b/programs/games/pong3/trunk/build_en.bat index 4db36cb70e..30c8fe2559 100644 --- a/programs/games/pong3/trunk/build_en.bat +++ b/programs/games/pong3/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm pong3.asm pong3 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/games/pong3/trunk/build_ru.bat b/programs/games/pong3/trunk/build_ru.bat index 0a06438857..700bc658ba 100644 --- a/programs/games/pong3/trunk/build_ru.bat +++ b/programs/games/pong3/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm pong3.asm pong3 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/games/pong3/trunk/pong3.asm b/programs/games/pong3/trunk/pong3.asm index 0072291530..fee2ce4eb1 100644 --- a/programs/games/pong3/trunk/pong3.asm +++ b/programs/games/pong3/trunk/pong3.asm @@ -17,7 +17,7 @@ ;****************************************************************************** - +include '..\..\..\macros.inc' include 'ascl.inc' include 'ascgl.inc' include 'ascgml.inc' @@ -256,7 +256,7 @@ redraw_images: key: ; key mov eax,2 - int 0x40 + mcall cmp ah,key_Left jne no_l sub dword [ply1rx],32 ;16 @@ -282,11 +282,11 @@ no_sp: button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose mov eax,-1 ; close this program - int 0x40 + mcall noclose: jmp still diff --git a/programs/games/tanks/trunk/build_en.bat b/programs/games/tanks/trunk/build_en.bat index 9f61f0fad6..3373463e69 100644 --- a/programs/games/tanks/trunk/build_en.bat +++ b/programs/games/tanks/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm tanks.asm tanks +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/games/tanks/trunk/build_ru.bat b/programs/games/tanks/trunk/build_ru.bat index 643ca7fdf5..34062e09c9 100644 --- a/programs/games/tanks/trunk/build_ru.bat +++ b/programs/games/tanks/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm tanks.asm tanks +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/games/tanks/trunk/leveledit.asm b/programs/games/tanks/trunk/leveledit.asm index 5076b09057..1e33bab94e 100644 --- a/programs/games/tanks/trunk/leveledit.asm +++ b/programs/games/tanks/trunk/leveledit.asm @@ -14,7 +14,7 @@ include 'pixengin.inc' START: mov eax,40 mov ebx,111b - int 0x40 + mcall call drawwin ;main cycle(fps) fpst: @@ -82,7 +82,7 @@ animation: call putimage mov eax,5 mov ebx,2 - int 0x40 + mcall mov eax,[black] mov [phas],eax call PutSprite @@ -101,13 +101,13 @@ next_action: mov ebx,420*65536+30 mov ecx,425*65536+15 mov edx,0xffffff - int 0x40 + mcall mov eax,47 mov ebx,3*65536 mov ecx,[frames] mov edx,425*65536+427 mov esi,0 - int 0x40 + mcall mov [frames],0 no_frames: ;---------------------- @@ -127,14 +127,14 @@ no_frames: mov [eax],bl;write number of shablon to the map-array ;----------------------- ;mov eax,11 - ;int 0x40 + ;mcall mov eax,23 mov ebx,2 - int 0x40 + mcall cmp eax,2 jne animation mov eax,2 - int 0x40 + mcall shr eax,8 cmp eax,32 jne key2 @@ -170,12 +170,12 @@ no_frames: key8:cmp eax,27 jne animation mov eax,-1 - int 0x40 + mcall ;------------------------------------------- drawwin: mov eax,12 mov ebx,1 - int 0x40 + mcall ;рисуем окно задавая все необходимые цвета mov eax,0 mov ebx,50*65536+640 @@ -183,21 +183,21 @@ drawwin: mov edx,0x02AABBCC mov esi,0x805080d0 mov edi,0x005080d0 - int 0x40 + mcall ;пишем заголовок окна mov eax,4 mov ebx,5*65536+5 mov ecx,0x10ddeeff mov edx,name mov esi,7 - int 0x40 + mcall ;рисуем кнопку закрытия окна mov eax,8 mov ebx,(640-19)*65536+12 mov ecx,5*65536+12 mov edx,1 mov esi,0x6688dd - int 0x40 + mcall ret ;---------------------------------------------------------- counter dd 0 @@ -230,7 +230,7 @@ PutSprite: ;get time in 1/100 sec clock: mov eax,26 mov ebx,9 - int 0x40 + mcall mov [time],eax ret ;--------------------------------------------------------- @@ -239,26 +239,26 @@ putimage: mov ebx,0x3000 mov ecx,640*65536+400 mov edx,1*65536+20 - int 0x40 + mcall ret ;--------------------------------------------------------- print_pos:mov eax,13 mov ebx,490*65536+60 mov ecx,425*65536+15 mov edx,0xffffff - int 0x40 + mcall mov eax,47 mov ebx,3*65536 mov ecx,[x] mov edx,495*65536+430 mov esi,0 - int 0x40 + mcall mov eax,47 mov ebx,3*65536 mov ecx,[y] mov edx,530*65536+430 mov esi,0 - int 0x40 + mcall ret ;----------------------------------------------------------- ;-------------------------load files------------------------ @@ -269,7 +269,7 @@ loadfile: ;загружаем первый блок для того чтобы узнат размер файла mov eax,58 mov ebx,file_read - int 0x40 + mcall ;вычисляем сколько блоков по 512 байт нужно использовать ;для загрузки файла mov ecx,ebx @@ -284,7 +284,7 @@ loadfile: ;загружаем блок mov eax,58 mov ebx,file_read - int 0x40 + mcall cmp eax,0 jne scock2 mov esi,0x3000+(640*400*3)+(16*20*20*3) @@ -336,14 +336,14 @@ save_level: mov [file_write+12],dword 0x3000+(640*400*3)+(16*20*20*3);+(0x1000) mov eax,58 mov ebx,file_write - int 0x40 + mcall cmp eax,0 jne scok xor esi,esi mov eax,55 mov ebx,eax mov esi,sound - int 0x40 + mcall scok: ret ;----------------------------------------------------------------------------- @@ -363,14 +363,14 @@ load_level: mov [file_read+12],dword 0x3000+(640*400*3)+(16*20*20*3) mov eax,58 mov ebx,file_read - int 0x40 + mcall mov ecx,ebx shr ebx,9 add ebx,1 mov [file_read+8],ebx mov eax,58 mov ebx,file_read - int 0x40 + mcall cmp eax,0 jne nosound mov esi,0x3000+(640*400*3)+(16*20*20*3) @@ -380,7 +380,7 @@ load_level: mov eax,55 mov ebx,55 mov esi,sound - int 0x40 + mcall xor esi,esi mov [x_l],0 mov [y_l],0 @@ -434,13 +434,13 @@ input_path: mov ebx,25*65536+6 mov ecx,433*65536+12 mov edx,0xff6c58 - int 0x40 + mcall opros:mov eax,10 - int 0x40 + mcall cmp eax,2 jne opros mov eax,2 - int 0x40 + mcall shr eax,8 cmp eax,13 je exit_cycle @@ -486,7 +486,7 @@ input_path: mov ebx,20*65536+(64*6)+5 mov ecx,430*65536+15 mov edx,0xffffff - int 0x40 + mcall ret ;--------------------------------------------------------------- print_line: @@ -494,13 +494,13 @@ print_line: mov ebx,20*65536+(64*6)+5 mov ecx,430*65536+15 mov edx,0xffffff - int 0x40 + mcall mov eax,4 mov ebx,25*65536+435 mov ecx,0x1 mov edx,string mov esi,64 - int 0x40 + mcall ret print_cursor: mov eax,13 @@ -512,7 +512,7 @@ print_cursor: add ebx,6 mov ecx,433*65536+12 mov edx,0xff6c58 - int 0x40 + mcall ret ;------------------------------------------------------------------------ string: diff --git a/programs/games/tanks/trunk/tanks.asm b/programs/games/tanks/trunk/tanks.asm index 70cb994d8e..d109cf6397 100644 --- a/programs/games/tanks/trunk/tanks.asm +++ b/programs/games/tanks/trunk/tanks.asm @@ -4,6 +4,7 @@ use32 org 0x0 include 'lang.inc' +include '..\..\..\macros.inc' db 'MENUET01' dd 0x1 dd START @@ -15,7 +16,7 @@ include 'lang.inc' START: mov eax,40 mov ebx,111b - int 0x40 + mcall ;---------------------------------------------------------- ;---------load all sprites from arrays to memory----------- ;---------------------------------------------------------- @@ -176,7 +177,7 @@ jnz @1 mov ebx,0x4000 mov ecx,640*65536+400 mov edx,0*65536+20 - int 0x40 + mcall call menu ;---------------------------- new_level: @@ -277,7 +278,7 @@ maincycle: mov ebx,0x4000 mov ecx,640*65536+400 mov edx,0*65536+20 - int 0x40 + mcall NoPutScreen: ;put fon mov eax,23*4 @@ -337,7 +338,7 @@ maincycle: ;------------------------------------------------- mov eax,23 mov ebx,3 - int 0x40 + mcall cmp eax,1 jne keypressed call drawwin @@ -348,7 +349,7 @@ maincycle: and [_dx],0 and [_dy],0 mov eax,2 - int 0x40 + mcall shr eax,8 ;--------- cmp eax,32 @@ -421,7 +422,7 @@ maincycle: key6:cmp eax,27 jne action mov eax,-1 - int 0x40 + mcall action: mov [SpriteInfo+72+4],dword 1 mov [SpriteInfo+72+16],dword 5 ;usal speed of tank @@ -587,7 +588,7 @@ action: cmp [number_level],25 jne no_end_game mov eax,-1 - int 0x40 + mcall no_end_game: jmp new_level no_end_level: @@ -893,32 +894,32 @@ action: mov ebx,180*65536+220 mov ecx,425*65536+17 mov edx,0xdfffff - int 0x40 + mcall mov eax,4 mov ebx,190*65536+430 mov ecx,0x1ded00;0 mov edx,Level mov esi,5 - int 0x40 + mcall mov eax,4 mov ebx,260*65536+430 mov ecx,0x3558ff mov edx,Lifes mov esi,5 - int 0x40 + mcall mov eax,4 mov ebx,330*65536+430 mov ecx,0xf93500 mov edx,Score mov esi,5 - int 0x40 + mcall mov eax,47 mov ebx,3*65536 mov ecx,[number_level] inc ecx mov edx,225*65536+430 mov esi,0x1ded00 - int 0x40 + mcall mov eax,47 mov ebx,3*65536 xor ecx,ecx @@ -926,14 +927,14 @@ action: shr ecx,2 mov edx,295*65536+430 mov esi,0x3558ff - int 0x40 + mcall mov eax,47 mov ebx,3*65536 xor ecx,ecx mov cl,byte[score] mov edx,365*65536+430 mov esi,0xf93500 - int 0x40 + mcall jmp maincycle ;---------------------------------------------------------- ;-----------------end of main cycle------------------------ @@ -1034,7 +1035,7 @@ PutFon: ;get time in 1/100 sec clock: mov eax,26 mov ebx,9 - int 0x40 + mcall mov [time],eax ret ;---------------------------------------------------------- @@ -1136,28 +1137,28 @@ you_won: mov ebx,1*65536+640 mov ecx,20*65536+400 mov edx,0xc6e9 - int 0x40 + mcall mov eax,4 mov ebx,220*65536+190 mov ecx,0xffffff mov edx,won1 mov esi,29 - int 0x40 + mcall mov eax,4 mov ebx,220*65536+200 mov ecx,0xffffff mov edx,won2 mov esi,29 - int 0x40 + mcall mov eax,4 mov ebx,220*65536+210 mov ecx,0xffffff mov edx,won3 mov esi,29 - int 0x40 + mcall mov eax,5 mov ebx,100 - int 0x40 + mcall ret ;---------------------------------------------------------- end_game: @@ -1165,22 +1166,22 @@ end_game: mov ebx,0*65536+640 mov ecx,20*65536+400 mov edx,0 - int 0x40 + mcall mov eax,4 mov ebx,280*65536+200 mov ecx,0xffffff mov edx,game_over mov esi,9 - int 0x40 + mcall mov eax,5 mov ebx,150 - int 0x40 + mcall ret ;---------------------------------------------------------- drawwin: mov eax,12 mov ebx,1 - int 0x40 + mcall ;рисуем окно задавая все необходимые цвета mov eax,0 mov ebx,50*65536+640 @@ -1188,14 +1189,14 @@ drawwin: mov edx,0x03AABBCC mov esi,0x805080d0 mov edi,0x005080d0 - int 0x40 + mcall ;пишем заголовок окна mov eax,4 mov ebx,5*65536+5 mov ecx,0x10ffffff mov edx,name mov esi,42 - int 0x40 + mcall ret ;---------------------------------------------------------- menu: @@ -1204,26 +1205,26 @@ menu: mov ebx,235*65536+140 mov ecx,230*65536+20 mov edx,0xed16 - int 0x40 + mcall mov eax,4 mov ebx,255*65536+235 mov ecx,0xff0200 mov edx,start_menu mov esi,11 - int 0x40 + mcall mov eax,47 mov ebx,3*65536 mov ecx,[number_level] mov edx,345*65536+235 mov esi,0xff0200 - int 0x40 + mcall still: mov eax,10 - int 0x40 + mcall cmp eax,2 jne still mov eax,2 - int 0x40 + mcall shr eax,8 cmp eax,32 je start_game @@ -1242,7 +1243,7 @@ menu: cmp eax,27 jne cycle_menu mov eax,-1 - int 0x40 + mcall start_game: ret ;---------------------------------------------------------- diff --git a/programs/games/tetris/trunk/macros.inc b/programs/games/tetris/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/games/tetris/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/games/tetris/trunk/tetris.asm b/programs/games/tetris/trunk/tetris.asm index 5115784242..a13cd8dfc9 100644 --- a/programs/games/tetris/trunk/tetris.asm +++ b/programs/games/tetris/trunk/tetris.asm @@ -57,8 +57,9 @@ use32 dd I_END+1024 ; reguired amount of memory dd I_END+1024 ; esp dd 0x0,0x0 ; I_PARAM, I_ICON + include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' START: ; start of execution @@ -67,7 +68,7 @@ START: ; start of execution ; -- quickcode - start mov eax,3 - int 0x40 + mcall mov cl,16 ror eax,cl ; to make seconds more significant mov [generator],eax @@ -87,7 +88,7 @@ still: attesa: mov eax,11 ; get event - int 0x40 + mcall cmp eax,1 ; redraw request ? jz red @@ -125,7 +126,7 @@ draw: movzx edx,byte [current_block_color] call draw_block mov eax,5 movzx ebx,byte [delay] - int 0x40 + mcall jmp still block_crash: dec dword [current_block_y] @@ -140,14 +141,14 @@ block_crash: dec dword [current_block_y] call check_crash jz adr400 aspetta: mov eax,10 - int 0x40 + mcall cmp eax,1 jne adr10000 call draw_window adr10000: cmp eax,3 jne aspetta new_game: mov eax,17 - int 0x40 + mcall cmp ah,1 jnz adr401 jmp end_program @@ -164,11 +165,11 @@ adr400: movzx edx,byte [current_block_color] call draw_block mov eax,5 movzx ebx,byte [delay] - int 0x40 + mcall jmp still key: mov eax,2 - int 0x40 + mcall adr32: cmp ah,LEFT_KEY jne adr_30 @@ -210,7 +211,7 @@ adr62: jmp scendi button: ; button mov eax,17 - int 0x40 + mcall cmp ah,1 ; button id=1 ? jz end_program cmp ah,2 @@ -221,7 +222,7 @@ button: ; button end_program: or eax,-1 ; close this program - int 0x40 + mcall go_new_game: jmp new_game @@ -245,11 +246,11 @@ draw_window: mov ebx,3 mov ecx,sc mov edx,sizeof.system_colors - int 0x40 + mcall mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW xor eax,eax ; function 0 : define and draw window @@ -257,8 +258,8 @@ draw_window: mov ecx,25*65536+ (LEN_Y-BORDER_TOP-BORDER_BOTTOM)*ADOBE_SIZE+Y_LOCATION+30 mov edx,[sc.work] ; color of work area RRGGBB or edx,0x13000000 - mov edi,header ; WINDOW LABEL - int 0x40 + mov edi,title ; WINDOW LABEL + mcall mov eax,8 @@ -266,26 +267,26 @@ draw_window: mov ecx,378*65536+18 mov edx,2 mov esi,[sc.work_button] - int 0x40 + mcall ;/////////////////////////////////////////////// Wildwest's 'Pause' button ;mov eax,8 mov ebx,132*65536+102 mov ecx,378*65536+18 mov edx,3 mov esi,[sc.work_button]; - int 0x40 + mcall mov eax,4 ; function 4 : write text to window mov ebx,164*65536+384 ; [x start] *65536 + [y start] mov ecx,[sc.work_button_text] ; color of text RRGGBB or ecx,0x90000000 mov edx,labe ; pointer to text - int 0x40 + mcall ;/////////////////////////////////////////////// ;mov eax,4 mov ebx,49*65536+384 mov edx,game_finished - int 0x40 + mcall call draw_table movzx edx,byte [current_block_color] @@ -297,13 +298,13 @@ draw_window: or ecx,0x90000000 mov edx,text mov eax,4 - int 0x40 + mcall call write_score mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -439,12 +440,12 @@ x_draw: push edi ; pusha ; mov eax,5 ; mov ebx,10 - ; int 0x40 + ; mcall ; popa mov eax,13 movzx edx,byte [esi] mov edx,[color_table+edx*4] - int 0x40 + mcall call draw_frames inc esi add ebx,65536*ADOBE_SIZE @@ -493,7 +494,7 @@ adr_122: mov dword [TMP_0],4 adr_121: cmp byte [edi],0 je adr_120 - int 040h + mcall call draw_frames @@ -517,14 +518,14 @@ draw_frames: mov bx,1 add edx,0x282828 mov eax,13 - int 0x40 + mcall popa pusha mov cx,1 add edx,0x282828 mov eax,13 - int 0x40 + mcall popa pusha @@ -536,7 +537,7 @@ draw_frames: shr edx,1 and edx,0x7f7f7f mov eax,13 - int 0x40 + mcall popa pusha @@ -548,7 +549,7 @@ draw_frames: shr edx,1 and edx,0x7f7f7f mov eax,13 - int 0x40 + mcall popa ret @@ -618,7 +619,7 @@ random: mov eax,[generator] push ebx mov eax,26 mov ebx,9 - int 0x40 + mcall pop ebx xor eax,0xdeadbeef add eax,[generator] @@ -649,7 +650,7 @@ write_score: mov esi,[size_of_number_str] mov edi,[sc.work] mov eax,4 - int 0x40 + mcall ret ; DATA AREA @@ -825,14 +826,14 @@ block_table: if lang eq ru - header db 'ТЕТРИС 1.61 - СТРЕЛКИ И ПРОБЕЛ',0 + title db 'ТЕТРИС 1.61 - СТРЕЛКИ И ПРОБЕЛ',0 labe db 'ПАУЗА',0 text db 'Очки:',0 game_finished: db 'НОВАЯ',0 else - header db 'TETRIS 1.61 - ARROWS & SPACE',0 + title db 'TETRIS 1.61 - ARROWS & SPACE',0 labe db 'PAUSE',0 text db 'Score:',0 game_finished: db 'NEW GAME',0 diff --git a/programs/develop/tinypad/trunk/macros.inc b/programs/macros.inc similarity index 73% rename from programs/develop/tinypad/trunk/macros.inc rename to programs/macros.inc index 31cf4e6021..e6543d9d6b 100644 --- a/programs/develop/tinypad/trunk/macros.inc +++ b/programs/macros.inc @@ -1,419 +1,501 @@ -@^ fix macro comment { -^@ fix } - - -macro m2m dest,src { - push src - pop dest -} - -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - name db data - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - forward - if lang eq lng - db data - end if - common - .size = $-name - end if -} - -macro szc name,elsz,[data] { ; from MFAR [mike.dld] - common - local s,m - m = 0 - if used name - label name - forward - virtual at 0 - db data - s = $ - end virtual - d#elsz s - if m < s - m = s - end if - db data - common - .size = $-name - .maxl = m - end if -} - -macro lszc name,elsz,[lng,data] { ; from MFAR [mike.dld] - common - local s,m,c - m = 0 - c = 0 - if used name - label name - forward - if lang eq lng - virtual at 0 - db data - s = $ - end virtual - d#elsz s - if m < s - m = s - end if - db data - c = c+1 - end if - common - .size = $-name - .maxl = m - .count = c - end if -} - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -;macro __mov reg,a { ; mike.dld -; if ~a eq -; mov reg,a -; end if -;} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - -; ------------------------- -macro header a,[b] { - common - use32 - org 0 - db 'MENUET',a - forward - if b eq - dd 0 - else - dd b - end if } -macro section name { align 16 - label name } -macro func name { - if ~used name - display 'FUNC NOT USED: ',`name,13,10 - else - align 4 - name: - ;diff16 `name,0,name -;pushad -;pushfd -;dps `name -;newline -;mcall 5,1 -;popfd -;popad -} -macro endf { end if } - -macro diff16 title,l1,l2 - { - local s,d - s = l2-l1 - display title,': 0x' - repeat 8 - d = '0' + s shr ((8-%) shl 2) and $0F - if d > '9' - d = d + 'A'-'9'-1 - end if - display d - end repeat - display 13,10 - } - -macro diff10 title,l1,l2 - { - local s,d,z,m - s = l2-l1 - z = 0 - m = 1000000000 - display title,': ' - repeat 10 - d = '0' + s / m - s = s - (s/m)*m - m = m / 10 - if d <> '0' - z = 1 - end if - if z <> 0 - display d - end if - end repeat - display 13,10 - } - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro RGB [a] { - common - match (r=,g=,b),a \{ - \dd ((r) shl 16) or ((g) shl 8) or (b) - \} -} - - -struc POINT _t,_dx,_dy { - .x _t _dx - .y _t _dy -} - -; structure definition helper -include 'struct.inc' - -struct RECT - left dd ? - top dd ? - right dd ? - bottom dd ? -ends - -struct BOX - left dd ? - top dd ? - width dd ? - height dd ? -ends - -; structures used in MeOS -struct process_information - cpu_usage dd ? ; +0 - window_stack_position dw ? ; +4 - window_stack_value dw ? ; +6 - dw ? ; +8 - process_name rb 12 ; +10 - memory_start dd ? ; +22 - used_memory dd ? ; +26 - PID dd ? ; +30 - box BOX ; +34 - slot_state dw ? ; +50 - dw ? ; +52 - client_box BOX ; +54 - rb (1024-52) -ends - -struct system_colors - frame dd ? - grab dd ? - grab_button dd ? - grab_button_text dd ? - grab_text dd ? - work dd ? - work_button dd ? - work_button_text dd ? - work_text dd ? - work_graph dd ? -ends - -struct FILEDATE - Second db ? - Minute db ? - Hour db ? - db ? - Day db ? - Month db ? - Year dw ? -ends - -struct FILEINFO - Attributes dd ? - IsUnicode db ? - db 3 dup(?) - DateCreate FILEDATE - DateAccess FILEDATE - DateModify FILEDATE - Size dq ? -ends - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b +@^ fix macro comment { +^@ fix } + + +macro m2m dest,src { + push src + pop dest +} + + +macro iglobal { + IGlobals equ IGlobals, + macro __IGlobalBlock { } + +macro uglobal { + UGlobals equ UGlobals, + macro __UGlobalBlock { } + +endg fix } ; Use endg for ending iglobal and uglobal blocks. + + +macro IncludeIGlobals{ + macro IGlobals dummy,[n] \{ __IGlobalBlock + purge __IGlobalBlock \} + match I, IGlobals \{ I \} } + +macro IncludeUGlobals{ + macro UGlobals dummy,[n] \{ + \common + \local begin, size + begin = $ + virtual at $ + \forward + __UGlobalBlock + purge __UGlobalBlock + \common + size = $ - begin + end virtual + rb size + \} + match U, UGlobals \{ U \} } + +uglobal +endg + +iglobal +endg + + +; new application structure +macro meos_app_start + { + use32 + org 0x0 + + db 'MENUET01' + dd 0x01 + dd __start + dd __end + dd __memory + dd __stack + + if used __params & ~defined __params + dd __params + else + dd 0x0 + end if + + dd 0x0 + } +MEOS_APP_START fix meos_app_start + +macro code + { + __start: + } +CODE fix code + +macro data + { + __data: + IncludeIGlobals + } +DATA fix data + +macro udata + { + if used __params & ~defined __params + __params: + db 0 + __end: + rb 255 + else + __end: + end if + __udata: + IncludeUGlobals + } +UDATA fix udata + +macro meos_app_end + { + align 32 + rb 2048 + __stack: + __memory: + } +MEOS_APP_END fix meos_app_end + + +; macro for defining multiline text data +struc mstr [sstring] + { + forward + local ssize + virtual at 0 + db sstring + ssize = $ + end virtual + dd ssize + db sstring + common + dd -1 + } + +; macro for defining multiline text data +struc mls [sstring] + { + forward + local ssize + virtual at 0 + db sstring ; mod + ssize = $ + end virtual + db ssize + db sstring + common + db -1 ; mod + } + + + +; strings +macro sz name,[data] { ; from MFAR [mike.dld] + common + if used name + name db data + .size = $-name + end if +} + +macro lsz name,[lng,data] { ; from MFAR [mike.dld] + common + if used name + label name + forward + if lang eq lng + db data + end if + common + .size = $-name + end if +} + +macro szc name,elsz,[data] { ; from MFAR [mike.dld] + common + local s,m + m = 0 + if used name + label name + forward + virtual at 0 + db data + s = $ + end virtual + d#elsz s + if m < s + m = s + end if + db data + common + .size = $-name + .maxl = m + end if +} + +macro lszc name,elsz,[lng,data] { ; from MFAR [mike.dld] + common + local s,m,c + m = 0 + c = 0 + if used name + label name + forward + if lang eq lng + virtual at 0 + db data + s = $ + end virtual + d#elsz s + if m < s + m = s + end if + db data + c = c+1 + end if + common + .size = $-name + .maxl = m + .count = c + end if +} + + +; easy system call macro +macro mpack dest, hsrc, lsrc +{ + if (hsrc eqtype 0) & (lsrc eqtype 0) + mov dest, (hsrc) shl 16 + lsrc + else + if (hsrc eqtype 0) & (~lsrc eqtype 0) + mov dest, (hsrc) shl 16 + add dest, lsrc + else + mov dest, hsrc + shl dest, 16 + add dest, lsrc + end if + end if +} + +macro __mov reg,a,b { ; mike.dld + if (~a eq)&(~b eq) + mpack reg,a,b + else if (~a eq)&(b eq) + mov reg,a + end if +} + + +include 'config.inc' +;__CPU_type equ p5 +SYSENTER_VAR equ 0 + +macro mcall a,b,c,d,e,f { ; mike.dld, updated by Ghost for Fast System Calls + local ..ret_point + __mov eax,a + __mov ebx,b + __mov ecx,c + __mov edx,d + __mov esi,e + __mov edi,f + + if __CPU_type eq p5 + int 0x40 + else + if __CPU_type eq p6 + push ebp + mov ebp, esp + push ..ret_point ; it may be 2 or 5 byte + sysenter + ..ret_point: + pop edx + pop ecx + + else + if __CPU_type eq k6 + push ecx + syscall + pop ecx + else + display 'ERROR : unknown CPU type' + int 0x40 + end if + end if + end if +} + + +; ------------------------- +macro header a,[b] { + common + use32 + org 0 + db 'MENUET',a + forward + if b eq + dd 0 + else + dd b + end if } +macro section name { align 16 + label name } +macro func name { + if ~used name + display 'FUNC NOT USED: ',`name,13,10 + else + align 4 + name: + ;diff16 `name,0,name +;pushad +;pushfd +;dps `name +;newline +;mcall 5,1 +;popfd +;popad +} +macro endf { end if } + +macro diff16 title,l1,l2 + { + local s,d + s = l2-l1 + display title,': 0x' + repeat 8 + d = '0' + s shr ((8-%) shl 2) and $0F + if d > '9' + d = d + 'A'-'9'-1 + end if + display d + end repeat + display 13,10 + } + +macro diff10 title,l1,l2 + { + local s,d,z,m + s = l2-l1 + z = 0 + m = 1000000000 + display title,': ' + repeat 10 + d = '0' + s / m + s = s - (s/m)*m + m = m / 10 + if d <> '0' + z = 1 + end if + if z <> 0 + display d + end if + end repeat + display 13,10 + } + +; optimize the code for size +__regs fix + +macro add arg1,arg2 + { + if (arg2 eqtype 0) + if (arg2) = 1 + inc arg1 + else + add arg1,arg2 + end if + else + add arg1,arg2 + end if + } + +macro sub arg1,arg2 + { + if (arg2 eqtype 0) + if (arg2) = 1 + dec arg1 + else + sub arg1,arg2 + end if + else + sub arg1,arg2 + end if + } + +macro mov arg1,arg2 + { + if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) + if (arg2) = 0 + xor arg1,arg1 + else if (arg2) = 1 + xor arg1,arg1 + inc arg1 + else if (arg2) = -1 + or arg1,-1 + else if (arg2) > -128 & (arg2) < 128 + push arg2 + pop arg1 + else + mov arg1,arg2 + end if + else + mov arg1,arg2 + end if + } + + +macro RGB [a] { + common + match (r=,g=,b),a \{ + \dd ((r) shl 16) or ((g) shl 8) or (b) + \} +} + + +struc POINT _t,_dx,_dy { + .x _t _dx + .y _t _dy +} + +; structure definition helper +include 'struct.inc' + +struct RECT + left dd ? + top dd ? + right dd ? + bottom dd ? +ends + +struct BOX + left dd ? + top dd ? + width dd ? + height dd ? +ends + +; structures used in MeOS +struct process_information + cpu_usage dd ? ; +0 + window_stack_position dw ? ; +4 + window_stack_value dw ? ; +6 + dw ? ; +8 + process_name rb 12 ; +10 + memory_start dd ? ; +22 + used_memory dd ? ; +26 + PID dd ? ; +30 + box BOX ; +34 + slot_state dw ? ; +50 + dw ? ; +52 + client_box BOX ; +54 + wnd_state db ? ; +70 + rb (1024-71) +ends + +struct system_colors + frame dd ? + grab dd ? + grab_button dd ? + grab_button_text dd ? + grab_text dd ? + work dd ? + work_button dd ? + work_button_text dd ? + work_text dd ? + work_graph dd ? +ends + +struct FILEDATE + Second db ? + Minute db ? + Hour db ? + db ? + Day db ? + Month db ? + Year dw ? +ends + +struct FILEINFO + Attributes dd ? + IsUnicode db ? + db 3 dup(?) + DateCreate FILEDATE + DateAccess FILEDATE + DateModify FILEDATE + Size dq ? +ends + +; constants + +; events +EV_IDLE = 0 +EV_TIMER = 0 +EV_REDRAW = 1 +EV_KEY = 2 +EV_BUTTON = 3 +EV_EXIT = 4 +EV_BACKGROUND = 5 +EV_MOUSE = 6 +EV_IPC = 7 +EV_STACK = 8 + +; event mask bits for function 40 +EVM_REDRAW = 1b +EVM_KEY = 10b +EVM_BUTTON = 100b +EVM_EXIT = 1000b +EVM_BACKGROUND = 10000b +EVM_MOUSE = 100000b +EVM_IPC = 1000000b EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/media/animage/trunk/animage.asm b/programs/media/animage/trunk/animage.asm index 87e7c65105..115709b0c5 100644 --- a/programs/media/animage/trunk/animage.asm +++ b/programs/media/animage/trunk/animage.asm @@ -21,6 +21,7 @@ org 0x0 dd parameters,0x0 + include '..\..\..\macros.inc' include 'giflib.inc' include 'bmplib.inc' include 'dialog.inc' @@ -39,7 +40,7 @@ START: ;-------------------------------------------------------- mov eax,40 mov ebx,1100111b - int 0x40 + mcall ;--------------------------------------------------------- ;-----------------------init data------------------------- ;--------------------------------------------------------- diff --git a/programs/media/animage/trunk/cursors.inc b/programs/media/animage/trunk/cursors.inc index aae3bf384b..98e0426282 100644 --- a/programs/media/animage/trunk/cursors.inc +++ b/programs/media/animage/trunk/cursors.inc @@ -12,7 +12,7 @@ load_cursors: mov ebx, 4 mov ecx,brush_cursor mov edx,1 - int 0x40 + mcall mov ebx,[PointerToCursorsID] mov [ebx],eax @@ -22,7 +22,7 @@ load_cursors: mov ebx, 4 mov ecx,flood_fill_cursor mov edx,1 - int 0x40 + mcall mov ebx,[PointerToCursorsID] mov [ebx],eax @@ -32,7 +32,7 @@ load_cursors: mov ebx, 4 mov ecx,lastik_cursor mov edx,1 - int 0x40 + mcall mov ebx,[PointerToCursorsID] mov [ebx],eax @@ -43,7 +43,7 @@ load_cursors: mov ebx, 4 mov ecx,other_cursor mov edx,1 - int 0x40 + mcall mov ebx,[PointerToCursorsID] @@ -54,7 +54,7 @@ load_cursors: mov ebx, 4 mov ecx,pencil_cursor mov edx,1 - int 0x40 + mcall mov ebx,[PointerToCursorsID] @@ -65,7 +65,7 @@ load_cursors: mov ebx, 4 mov ecx,pipette_cursor mov edx,1 - int 0x40 + mcall mov ebx,[PointerToCursorsID] mov [ebx],eax @@ -75,7 +75,7 @@ load_cursors: mov ebx, 4 mov ecx,spray_cursor mov edx,1 - int 0x40 + mcall mov ebx,[PointerToCursorsID] mov [ebx],eax @@ -85,7 +85,7 @@ load_cursors: mov ebx, 4 mov ecx,zoom_cursor mov edx,1 - int 0x40 + mcall mov ebx,[PointerToCursorsID] mov [ebx],eax @@ -288,7 +288,7 @@ set_cursor: mov eax, 37 mov ebx, 5 - int 0x40 + mcall no_change_cursor: @@ -312,7 +312,7 @@ delete_cursors: mov eax,37 mov ebx,6 - int 0x40 + mcall add [PointerToCursorsID],4 diff --git a/programs/media/animage/trunk/design.inc b/programs/media/animage/trunk/design.inc index 591ad2f508..22449c1ea2 100644 --- a/programs/media/animage/trunk/design.inc +++ b/programs/media/animage/trunk/design.inc @@ -217,7 +217,7 @@ rectangle: shl ecx,16 add ebx,[line_size_x] add ecx,[line_size_y] - int 0x40 + mcall ret ;---------------------------------------------------------- draw_conture: @@ -303,17 +303,17 @@ print_text: mov ebx,[text_x] shl ebx,16 add ebx,[text_y] - int 0x40 + mcall ret ;---------------------------------------------------------- draw_rectangle: mov eax,13 - int 0x40 + mcall ret ;------------------------ draw_line: mov eax,38 - int 0x40 + mcall ret ;---------------------------------------------------------- ;lightlin 12508927 diff --git a/programs/media/animage/trunk/dialog.inc b/programs/media/animage/trunk/dialog.inc index c5e67f9d21..1b532a33cd 100644 --- a/programs/media/animage/trunk/dialog.inc +++ b/programs/media/animage/trunk/dialog.inc @@ -22,8 +22,8 @@ mov [dlg_pid_get],0 ; Get my PID in dec format 4 bytes mov eax,9 mov ebx,procinfo - mov ecx,-1 - int 0x40 + or ecx,-1 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -57,12 +57,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,1024+16 ; size - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -70,7 +70,7 @@ new_d: mov eax,70 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -78,7 +78,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall dec eax jz mred dec eax @@ -92,14 +92,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -124,15 +124,15 @@ mred: jmp getmesloop mkey: mov eax,2 - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -234,7 +234,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -268,12 +268,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,1024+16 ; size - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -281,7 +281,7 @@ new_d: mov eax,70 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -289,7 +289,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall dec eax jz mred dec eax @@ -303,14 +303,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -335,15 +335,15 @@ mred: jmp getmesloop mkey: mov eax,2 - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still diff --git a/programs/media/animage/trunk/dialog2.inc b/programs/media/animage/trunk/dialog2.inc index 5d93919623..81a2f69087 100644 --- a/programs/media/animage/trunk/dialog2.inc +++ b/programs/media/animage/trunk/dialog2.inc @@ -16,7 +16,7 @@ dialog_line: opros: mov eax,10 - int 0x40 + mcall cmp eax,1 je exit_cycle @@ -25,7 +25,7 @@ dialog_line: jne opros mov eax,2 - int 0x40 + mcall shr eax,8 cmp eax,13 @@ -110,7 +110,7 @@ print_line: add ebx,2 add ecx,10 mov edx,0xffffff - int 0x40 + mcall mov eax,4 mov ebx,[string_x] shl ebx,16 @@ -118,7 +118,7 @@ print_line: mov ecx,0 mov edx,string_ mov esi,[MaxSizeString] - int 0x40 + mcall ret print_cursor: @@ -132,7 +132,7 @@ print_cursor: add ebx,2 add ecx,8 mov edx,0xff6c58 - int 0x40 + mcall ret ;---------------------------------------------------------- MinMaxCorrect: diff --git a/programs/media/animage/trunk/events.inc b/programs/media/animage/trunk/events.inc index e284ebabe5..afb7d11602 100644 --- a/programs/media/animage/trunk/events.inc +++ b/programs/media/animage/trunk/events.inc @@ -3,7 +3,7 @@ ;---------------------------------------------------------- event: mov eax,10 - int 0x40 + mcall ret ;--------------------------------------------------------- ;---------------SOUND of EVENTS--------------------------- @@ -11,5 +11,5 @@ event: sound: mov eax,55 mov ebx,eax - int 0x40 + mcall ret \ No newline at end of file diff --git a/programs/media/animage/trunk/events_of_buttons.inc b/programs/media/animage/trunk/events_of_buttons.inc index 811a8cef3c..226f460e00 100644 --- a/programs/media/animage/trunk/events_of_buttons.inc +++ b/programs/media/animage/trunk/events_of_buttons.inc @@ -21,7 +21,7 @@ buttons: no_finish_instrument_button: mov eax,17 - int 0x40 + mcall shr eax,8 @@ -31,8 +31,8 @@ buttons: mov eax,CursorsID call delete_cursors - mov eax,-1 - int 0x40 + or eax,-1 + mcall no_exit: diff --git a/programs/media/animage/trunk/events_of_keys.inc b/programs/media/animage/trunk/events_of_keys.inc index 76adb92bb1..f341ed0da9 100644 --- a/programs/media/animage/trunk/events_of_keys.inc +++ b/programs/media/animage/trunk/events_of_keys.inc @@ -4,7 +4,7 @@ keys: mov eax,2 - int 0x40 + mcall shr eax,8 cmp eax,176 @@ -80,7 +80,7 @@ call delete_cursors mov eax,-1 - int 0x40 + mcall jmp still diff --git a/programs/media/animage/trunk/events_of_mouse.inc b/programs/media/animage/trunk/events_of_mouse.inc index d8cd7f560a..f2febf0eab 100644 --- a/programs/media/animage/trunk/events_of_mouse.inc +++ b/programs/media/animage/trunk/events_of_mouse.inc @@ -297,7 +297,7 @@ GetMouseCoordinats: mov eax,37 mov ebx,1 - int 0x40 + mcall mov ebx,eax shr eax,16 @@ -313,6 +313,6 @@ GetMouseCoordinats: GetMouseClick: mov eax,37 mov ebx,2 - int 0x40 + mcall ret \ No newline at end of file diff --git a/programs/media/animage/trunk/events_of_window.inc b/programs/media/animage/trunk/events_of_window.inc index b23985b114..76a286fa82 100644 --- a/programs/media/animage/trunk/events_of_window.inc +++ b/programs/media/animage/trunk/events_of_window.inc @@ -6,7 +6,7 @@ drawwin: mov eax,9 mov ebx,IPC_table or ecx,-1 - int 0x40 + mcall mov eax,[IPC_table+34] mov ebx,[IPC_table+38] @@ -54,7 +54,7 @@ drawwin: mov eax,12 mov ebx,1 - int 0x40 + mcall and eax,0 mov ebx,[Window_CordinatX] @@ -66,7 +66,7 @@ drawwin: mov edx,0x03aabbcc mov esi,0x805080d0 mov edi,0x005080d0 - int 0x40 + mcall call draw_panel call PrintMousePos @@ -84,7 +84,7 @@ drawwin: mov eax,12 mov ebx,2 - int 0x40 + mcall mov ecx,[k] diff --git a/programs/media/animage/trunk/files.inc b/programs/media/animage/trunk/files.inc index 36115a586c..9b6cc7140c 100644 --- a/programs/media/animage/trunk/files.inc +++ b/programs/media/animage/trunk/files.inc @@ -26,7 +26,7 @@ load_heading_of_file: mov eax,70 mov ebx,file_information - int 0x40 + mcall ret ;----------------------------------------------------------- @@ -55,7 +55,7 @@ load_file: mov eax,70 mov ebx,file_information - int 0x40 + mcall test eax,eax jnz error_load_file @@ -75,7 +75,7 @@ load_file: mov eax,70 mov ebx,file_information - int 0x40 + mcall error_load_file: @@ -108,7 +108,7 @@ save_file: mov eax,70 mov ebx,file_information - int 0x40 + mcall ret diff --git a/programs/media/animage/trunk/icons.inc b/programs/media/animage/trunk/icons.inc index 3f565c7627..69af8b6509 100644 --- a/programs/media/animage/trunk/icons.inc +++ b/programs/media/animage/trunk/icons.inc @@ -24,7 +24,7 @@ draw_icons: add ebx,(1200*1000*3)+12 mov eax,7 mov ecx,417*65536+46 - int 0x40 + mcall ;main buttons of instrumnts @@ -47,7 +47,7 @@ draw_icons: mov edx,[counter] add edx,10 add edx,1000000000000000000000000000000b - int 0x40 + mcall add [Icon_X],22 @@ -77,7 +77,7 @@ draw_icons: mov edx,[counter] add edx,40 add edx,1000000000000000000000000000000b - int 0x40 + mcall add [Icon_X],19 @@ -106,7 +106,7 @@ draw_icons: mov edx,[counter] add edx,45 add edx,1000000000000000000000000000000b - int 0x40 + mcall add [Icon_X],19 @@ -130,7 +130,7 @@ draw_icons: add ecx,21 mov edx,51 add edx,1000000000000000000000000000000b - int 0x40 + mcall ; button of color mov [Icon_X],7+128+1 @@ -147,12 +147,12 @@ draw_icons: add ecx,21 mov edx,52 add edx,1000000000000000000000000000000b - int 0x40 + mcall mov eax,13 mov ebx,136*65536+20 mov ecx,65*65536+20 mov edx,[Color] - int 0x40 + mcall ret diff --git a/programs/media/animage/trunk/icons_instruments.inc b/programs/media/animage/trunk/icons_instruments.inc index 9f47016f47..4521821c34 100644 --- a/programs/media/animage/trunk/icons_instruments.inc +++ b/programs/media/animage/trunk/icons_instruments.inc @@ -173,7 +173,7 @@ TakeButtonInstruments: mov ebx,136*65536+20 mov ecx,65*65536+21 mov edx,[Color] - int 0x40 + mcall jmp still no_pipetka: @@ -489,7 +489,7 @@ TakeButtonInstruments: shl ecx,16 add ebx,13 add ecx,13 - int 0x40 + mcall add [x],15 cmp [x],20+15*32 jl no_new_line @@ -510,14 +510,14 @@ TakeButtonInstruments: jne no_keys mov eax,2 - int 0x40 + mcall no_keys: cmp eax,3 jne no_buttons mov eax,17 - int 0x40 + mcall no_buttons: @@ -566,7 +566,7 @@ TakeButtonInstruments: mov eax,5 mov ebx,10 - int 0x40 + mcall call drawwin diff --git a/programs/media/animage/trunk/init_data.inc b/programs/media/animage/trunk/init_data.inc index 2889d01ea7..3064f73207 100644 --- a/programs/media/animage/trunk/init_data.inc +++ b/programs/media/animage/trunk/init_data.inc @@ -36,12 +36,12 @@ ;mov eax,68 ;mov ebx,11 - ;int 0x40 + ;mcall ;mov eax,68 ;mov ebx,12 ;mov ecx,60000 - ;int 0x40 + ;mcall ;mov [PointerToIcons],eax diff --git a/programs/media/animage/trunk/load_dlls.inc b/programs/media/animage/trunk/load_dlls.inc index ea79ad4950..fe3e751fd4 100644 --- a/programs/media/animage/trunk/load_dlls.inc +++ b/programs/media/animage/trunk/load_dlls.inc @@ -9,7 +9,7 @@ load_dll: mov ecx,eax mov eax,68 mov ebx,19 - int 0x40 + mcall ret diff --git a/programs/media/animage/trunk/memory.inc b/programs/media/animage/trunk/memory.inc index ee50fe1743..5a6551f919 100644 --- a/programs/media/animage/trunk/memory.inc +++ b/programs/media/animage/trunk/memory.inc @@ -13,7 +13,7 @@ GetMemory: add ecx,[ScreenPointer] add ecx,(1200*1000)*3+50*(20*20*3)+500000+16000+0x4000 add ecx,[extended_memory] - int 0x40 + mcall test eax,eax jz have_new_memory diff --git a/programs/media/animage/trunk/menu_instruments.inc b/programs/media/animage/trunk/menu_instruments.inc index 489904fb0e..6012493862 100644 --- a/programs/media/animage/trunk/menu_instruments.inc +++ b/programs/media/animage/trunk/menu_instruments.inc @@ -65,26 +65,26 @@ TakeInstruments: mov ecx,115*65536+14 mov edx,1000000000000000000000000000000b add edx,1000 - int 0x40 + mcall mov eax,8 mov ebx,177*65536+40 mov ecx,139*65536+14 mov edx,1000000000000000000000000000000b add edx,1001 - int 0x40 + mcall mov eax,8 mov ebx,175*65536+40 mov ecx,170*65536+15 mov edx,1000000000000000000000000000000b add edx,1002 - int 0x40 + mcall no_activate_space: mov eax,10 - int 0x40 + mcall cmp eax,1 je exit_new @@ -93,7 +93,7 @@ TakeInstruments: jne no_activate_space mov eax,17 - int 0x40 + mcall shr eax,8 cmp eax,1000 @@ -155,21 +155,21 @@ TakeInstruments: mov ecx,170*65536+15 mov edx,11100000000000000000000000000000b add edx,1002 - int 0x40 + mcall mov eax,8 mov ebx,177*65536+40 mov ecx,139*65536+14 mov edx,11100000000000000000000000000000b add edx,1001 - int 0x40 + mcall mov eax,8 mov ebx,177*65536+40 mov ecx,115*65536+14 mov edx,11100000000000000000000000000000b add edx,1000 - int 0x40 + mcall ;get memory for new picture mov eax,[Picture_SizeX] @@ -222,7 +222,7 @@ TakeInstruments: mov eax,40 mov ebx,100111b - int 0x40 + mcall mov eax,file_path mov ebx,[ScreenPointer] @@ -387,7 +387,7 @@ TakeInstruments: save_enter: mov eax,40 mov ebx,100111b - int 0x40 + mcall call analizing_picture_to_palette ;eax => number of colors in picture @@ -428,7 +428,7 @@ TakeInstruments: jne no_exit_program mov eax,-1 - int 0x40 + mcall no_exit_program: diff --git a/programs/media/animage/trunk/panel_engen.inc b/programs/media/animage/trunk/panel_engen.inc index 4433de5be4..5dab455626 100644 --- a/programs/media/animage/trunk/panel_engen.inc +++ b/programs/media/animage/trunk/panel_engen.inc @@ -5,7 +5,7 @@ panel_interraction: ;>>>>>>>>>>>>>>>>>>>>>>>>>> mov eax,18 mov ebx,14 - ;int 0x40 + ;mcall and [Panel_flag],0 ;collision with text on panel @@ -50,7 +50,7 @@ panel_interraction: mov eax,18 mov ebx,14 - ;int 0x40 + ;mcall call print_panel_menu @@ -92,7 +92,7 @@ print_panel_menu: mov eax,8 mov edx,[counter] add edx,11100000000000000000000000000000b - int 0x40 + mcall inc [counter] cmp [counter],30 @@ -106,7 +106,7 @@ print_panel_menu: mov eax,8 mov edx,[counter] add edx,11100000000000000000000000000000b - int 0x40 + mcall inc [counter] cmp [counter],45 @@ -120,7 +120,7 @@ print_panel_menu: mov eax,8 mov edx,[counter] add edx,11100000000000000000000000000000b - int 0x40 + mcall inc [counter] cmp [counter],50 @@ -130,14 +130,14 @@ print_panel_menu: mov eax,8 mov edx,51 add edx,11100000000000000000000000000000b - int 0x40 + mcall ;delit buttons of color mov eax,8 mov edx,52 add edx,11100000000000000000000000000000b - int 0x40 + mcall pop [counter] @@ -174,7 +174,7 @@ print_panel_menu: ;сглаживание анимации >>>>>>>>>>>>>>>>>> mov eax,18 mov ebx,14 - ;int 0x40 + ;mcall menu_loop: @@ -231,11 +231,11 @@ print_panel_menu: menu_still: mov eax,10 - int 0x40 + mcall mov eax,2 - int 0x40 + mcall mov eax,17 - int 0x40 + mcall call GetMouseClick @@ -292,7 +292,7 @@ print_panel_menu: mov eax,5 mov ebx,15 - int 0x40 + mcall push [counter] pushad @@ -356,7 +356,7 @@ PrintMousePos: shl edx,16 add edx,20+15+6+6 and esi,0 - int 0x40 + mcall mov eax,47 mov ebx,4*65536 @@ -367,7 +367,7 @@ PrintMousePos: shl edx,16 add edx,20+15+6+18+1+6 and esi,0 - int 0x40 + mcall popad ret diff --git a/programs/media/animage/trunk/screen.inc b/programs/media/animage/trunk/screen.inc index 0de007a8a4..ac33f4c5fd 100644 --- a/programs/media/animage/trunk/screen.inc +++ b/programs/media/animage/trunk/screen.inc @@ -239,7 +239,7 @@ MovePictureToWorkScreen: fps: ;mov eax,18 ;mov ebx,14 - ;int 0x40 + ;mcall mov eax,7 mov ebx,[ScreenPointer] @@ -248,7 +248,7 @@ MovePictureToWorkScreen: shl ecx,16 add ecx,edx mov edx,8*65536+20+15+49+5+1 - int 0x40 + mcall ret ;---------------------------------------------------------- diff --git a/programs/media/animage/trunk/time.inc b/programs/media/animage/trunk/time.inc index 821a8896f8..798956157d 100644 --- a/programs/media/animage/trunk/time.inc +++ b/programs/media/animage/trunk/time.inc @@ -4,7 +4,7 @@ Clock: mov eax,26 mov ebx,9 - int 0x40 + mcall mov [time],eax ret diff --git a/programs/media/cdp/trunk/build_en.bat b/programs/media/cdp/trunk/build_en.bat index 1102aed205..0cf38a004b 100644 --- a/programs/media/cdp/trunk/build_en.bat +++ b/programs/media/cdp/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm cdp.asm cdp +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/media/cdp/trunk/build_ru.bat b/programs/media/cdp/trunk/build_ru.bat index 3b418db8cc..55396aceb1 100644 --- a/programs/media/cdp/trunk/build_ru.bat +++ b/programs/media/cdp/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm cdp.asm cdp +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/media/cdp/trunk/cdp.asm b/programs/media/cdp/trunk/cdp.asm index 5be7712e4a..999bc5c406 100644 --- a/programs/media/cdp/trunk/cdp.asm +++ b/programs/media/cdp/trunk/cdp.asm @@ -4,7 +4,7 @@ ; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -include "macros.inc" +include "..\..\..\macros.inc" include "lang.inc" FALSE equ 0 @@ -35,12 +35,14 @@ use32 START: call chk_cdrom ; start of execution call read_cd + + red: ; redraw call draw_window ; at first, draw the window still: mov eax,23 mov ebx,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? jz red @@ -56,14 +58,10 @@ still: @@: jmp still - red: ; redraw - call draw_window - - jmp still key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall ;====== hotkeys: cmp ah,0x61 @@ -189,15 +187,15 @@ still: button: ; button mov eax,17 - int 0x40 + mcall cmp ah,1 ; button id=1 ? jnz no_but_close mov eax,24 mov ebx,3 - int 0x40 + mcall mov eax,0xffffffff ; close this program - int 0x40 + mcall no_but_close: cmp ah,2 @@ -526,7 +524,7 @@ play_from_x_time: mov eax,24 mov ebx,1 - int 0x40 + mcall ret play_n_track: @@ -536,7 +534,7 @@ play_n_track: call draw_window ; mov eax,26 ; mov ebx,9 -; int 0x40 +; mcall call get_uptime mov [stimtrk],eax xor ebx,ebx @@ -588,7 +586,7 @@ play_n_track: mov ecx,ebx mov eax,24 mov ebx,1 - int 0x40 + mcall ret @@ -640,7 +638,7 @@ play_acd: stop_playing: mov eax, 24 mov ebx,3 - int 0x40 + mcall mov cl,[max_trk] mov [shuftab],cl mov [if_stopped],TRUE @@ -661,17 +659,17 @@ draw_info: mov ebx, 10 shl 16 + 41 mov ecx,120 shl 16 + 9 mov edx,0x00ffffff - int 0x40 + mcall mov ebx, 96 shl 16 + 11 - int 0x40 + mcall mov ebx, 185 shl 16 + 11 - int 0x40 + mcall mov ebx, 200 shl 16 + 11 - int 0x40 + mcall mov ebx, 150 shl 16 + 11 - int 0x40 + mcall mov ebx, 165 shl 16 + 11 - int 0x40 + mcall ;bar<- mov eax,4 @@ -701,7 +699,7 @@ draw_info: jmp info_mode_end info_mode_end: mov esi,7 - int 0x40 + mcall ;num info -> mov eax,47 @@ -713,7 +711,7 @@ draw_info: mov cl, [curr_trk] ;number to draw mov edx,96 shl 16 + 120 mov esi,0x111111 - int 0x40 + mcall mov eax,[curr_trk_pg_time] xor edx,edx mov ecx,60 @@ -722,10 +720,10 @@ draw_info: mov ecx,eax mov eax,47 mov edx,150 shl 16 + 120 - int 0x40 + mcall pop ecx mov edx,165 shl 16 + 120 - int 0x40 + mcall mov eax,[curr_trk_length] xor edx,edx mov ecx,60 @@ -734,10 +732,10 @@ draw_info: mov ecx,eax mov eax,47 mov edx,185 shl 16 + 120 - int 0x40 + mcall pop ecx mov edx,200 shl 16 + 120 - int 0x40 + mcall ;num info <- ret @@ -746,7 +744,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx, 50*65536+219 ; [x start] *65536 + [x size] @@ -754,20 +752,20 @@ draw_window: mov edx,0x03ffffff ; color of work area RRGGBB mov esi,0x8099bbff ; color of grab bar RRGGBB,8->color glide mov edi,0x0099bbee ; color of frames RRGGBB - int 0x40 + mcall ; WINDOW LABEL mov eax,4 ; function 4 : write text to window mov ebx,8*65536+8 ; [x start] *65536 + [y start] mov ecx,0x1000ffff ; color of text RRGGBB mov edx,labelt ; pointer to text beginning mov esi,labellen-labelt ; text length - int 0x40 + mcall mov eax,13 ;bar mov ebx,8 shl 16 + 204 mov ecx,28 shl 16 + 84 mov edx,0x000fe6f5 - int 0x40 + mcall ;info -> mov eax,4 @@ -775,24 +773,24 @@ draw_window: mov ecx,0x00111111 mov edx,playing_trk_info mov esi,6 - int 0x40 + mcall mov ebx,120 shl 16 + 120 mov edx,playing_time_info ; mov esi,5 dec esi - int 0x40 + mcall mov ebx,178 shl 16 + 120 mov edx,slash mov esi,1 - int 0x40 + mcall mov ebx,196 shl 16 + 120 mov edx,column ; mov esi,1 - int 0x40 + mcall mov ebx,161 shl 16 + 120 mov edx,column ; mov esi,1 - int 0x40 + mcall ;info <- ; button MODE @@ -801,14 +799,14 @@ draw_window: mov ecx,135*65536+20 mov edx,7 mov esi,COLOR_FUNC_BUTS - int 0x40 + mcall ; text mov eax,4 mov ebx,19*65536+142 mov ecx,0x100f73f5;ffff0f mov edx,but_mode_lab mov esi,1 - int 0x40 + mcall ; button BACK mov eax,8 @@ -816,7 +814,7 @@ draw_window: mov ecx,135*65536+20 mov edx,6 mov esi,COLOR_FUNC_BUTS - int 0x40 + mcall mov [coord_x],51 mov [coord_y],141 call draw_left_triangle @@ -829,7 +827,7 @@ draw_window: mov ecx,135*65536+20 mov edx,5 mov esi,COLOR_FUNC_BUTS - int 0x40 + mcall mov [coord_x],68 mov [coord_y],141 call draw_right_triangle @@ -842,7 +840,7 @@ draw_window: mov ecx,135*65536+20 mov edx,8 mov esi,COLOR_FUNC_BUTS - int 0x40 + mcall mov [coord_x],102 mov [coord_y],141 call draw_left_triangle @@ -855,7 +853,7 @@ draw_window: mov ecx,135*65536+20 mov edx,3 mov esi,COLOR_FUNC_BUTS - int 0x40 + mcall mov [coord_x],118 mov [coord_y],142 call draw_square @@ -867,7 +865,7 @@ draw_window: mov ecx,135*65536+20 mov edx,2 mov esi,COLOR_FUNC_BUTS - int 0x40 + mcall cmp [if_stopped],TRUE je playing_paused cmp [if_paused],TRUE @@ -891,7 +889,7 @@ draw_window: mov ecx,135*65536+20 mov edx,9 mov esi,COLOR_FUNC_BUTS - int 0x40 + mcall mov [coord_x],167 mov [coord_y],141 call draw_right_triangle @@ -904,7 +902,7 @@ draw_window: mov ecx,135*65536+20 mov edx,4 mov esi,COLOR_FUNC_BUTS - int 0x40 + mcall mov [coord_x],192 mov [coord_y],140 call draw_vert_list_line @@ -951,7 +949,7 @@ draw_window: add edx,10 mov esi,0xaaaaaa add esi,edi - int 0x40 + mcall ;---draw tracs numbers mov eax,47 xor ebx,ebx @@ -966,7 +964,7 @@ draw_window: add dl,[posy] add dl,5 mov esi,0xffffff - int 0x40 + mcall ;--- mov al,[posx] add al,20 @@ -998,7 +996,7 @@ draw_window: mov ecx,0x10ffff00 mov edx,define_cdrom mov esi,define_cdrom_len-define_cdrom - int 0x40 + mcall flag3: cmp [flag],3 jne flag4 @@ -1007,7 +1005,7 @@ draw_window: mov ecx,0x10ffff00 mov edx,no_cda mov esi,no_cda_len-no_cda - int 0x40 + mcall flag4: cmp [flag],4 jne flag5 @@ -1030,7 +1028,7 @@ draw_window: mov eax,4 mov ecx,0x111111 mov esi,31 - int 0x40 + mcall noline: add ebx,10 add edx,31 @@ -1042,7 +1040,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -1066,7 +1064,7 @@ draw_right_triangle: inc ebx push eax mov eax,1 - int 0x40 + mcall pop eax cmp esi,0 jne draw_pixel @@ -1090,7 +1088,7 @@ draw_square: inc ebx push eax mov eax,1 - int 0x40 + mcall pop eax cmp esi,0 jne q_draw_pixel @@ -1121,7 +1119,7 @@ draw_left_triangle: dec ebx push eax mov eax,1 - int 0x40 + mcall pop eax cmp esi,0 jne l_draw_pixel @@ -1144,7 +1142,7 @@ draw_vertical_line: inc ecx push eax mov eax,1 - int 0x40 + mcall pop eax dec esi cmp esi,0 @@ -1164,7 +1162,7 @@ draw_vert_list_line: mov esi,11 vlstart_draw_vline: inc ecx - int 0x40 + mcall dec esi cmp esi,0 jne vlstart_draw_vline @@ -1181,7 +1179,7 @@ draw_hor_list_line: mov esi,11 hlstart_draw_vline: inc ebx - int 0x40 + mcall dec esi cmp esi,0 jne hlstart_draw_vline @@ -1198,7 +1196,7 @@ draw_str_list_line: mov esi,5 slstart_draw_vline: inc ebx - int 0x40 + mcall dec esi cmp esi,0 jne slstart_draw_vline @@ -1210,7 +1208,7 @@ ret chk_cdrom: mov eax,24 mov ebx,1 - int 0x40 + mcall cmp eax,0 je chk_cdrom_ok mov [flag],2 @@ -1232,7 +1230,7 @@ read_cd: mov ebx,2 mov ecx, cdp mov edx,321 - int 0x40 + mcall mov [flag],1 mov al,100 cmp [cdp+3],al @@ -1247,7 +1245,7 @@ get_uptime: push ebx mov eax,26 mov ebx,9 - int 0x40 + mcall pop ebx ret diff --git a/programs/media/cdp/trunk/macros.inc b/programs/media/cdp/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/media/cdp/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/media/gifview/trunk/debug.inc b/programs/media/gifview/trunk/debug.inc index 45ae9f90c6..1f09ebef9b 100644 --- a/programs/media/gifview/trunk/debug.inc +++ b/programs/media/gifview/trunk/debug.inc @@ -55,7 +55,7 @@ debug_outchar: ; al - char mov cl,al mov eax,63 mov ebx,1 - int 0x40 + mcall popad popf ret diff --git a/programs/media/gifview/trunk/gifview.asm b/programs/media/gifview/trunk/gifview.asm index 34b98a30ee..b84acdc211 100644 --- a/programs/media/gifview/trunk/gifview.asm +++ b/programs/media/gifview/trunk/gifview.asm @@ -29,7 +29,7 @@ use32 dd 0x0 include 'lang.inc' -include 'macros.inc' ; decrease code size (optional) +include '..\..\..\macros.inc' ; decrease code size (optional) include 'debug.inc' COLOR_ORDER equ MENUETOS @@ -54,7 +54,7 @@ openfile: openfile2: mov eax,70 mov ebx,file_info - int 0x40 + mcall cmp eax,6 je temp test eax,eax @@ -96,6 +96,12 @@ temp: ok2: and dword[img_index],0 + mov eax,48 + mov ebx,3 + mov ecx,sc + mov edx,sizeof.system_colors + mcall + red: call draw_window @@ -109,7 +115,7 @@ still: .delay: mov ebx,DELAY mov eax,23 - int 0x40 + mcall @@: dec eax jz red @@ -131,20 +137,20 @@ still: key: mov eax,2 - int 0x40 + mcall cmp ah,13 je is_input jmp still button: mov eax,17 - int 0x40 + mcall cmp ah,1 jne noclose _close: or eax,-1 - int 0x40 + mcall noclose: is_input: ; simple input line with backspace feature @@ -152,12 +158,12 @@ still: wait_input: call draw_input mov eax,10 - int 0x40 + mcall cmp eax,2 jne still mov edi,[inp_pos] mov eax,2 - int 0x40 + mcall shr eax,8 cmp eax,27 je still @@ -191,13 +197,13 @@ draw_input: mov ebx,INP_X mov ecx,INP_Y mov edx,2 - int 0x40 + mcall mov eax,4 mov ecx,0x00107a30 mov ebx,INP_XY mov edx,fn_input mov esi,[inp_pos] - int 0x40 + mcall pop edi ret @@ -207,23 +213,17 @@ draw_input: draw_window: - mov eax,48 - mov ebx,3 - mov ecx,sc - mov edx,sizeof.system_colors - int 0x40 - mov eax,12 mov ebx,1 - int 0x40 + mcall mov eax,0 mov ebx,50*65536+700 mov ecx,50*65536+500 mov edx,[sc.work] or edx,0x33000000 - mov edi,header - int 0x40 + mov edi,title + mcall call draw_input @@ -237,7 +237,7 @@ draw_window: .enddraw: mov eax,12 mov ebx,2 - int 0x40 + mcall ret draw_subimage: @@ -259,13 +259,13 @@ draw_subimage: add edx,eax add edx,5 shl 16 +25 mov eax,7 - int 0x40 + mcall .enddraw: ret ; Здесь находятся данные программы: -header db appname,0 ; строка заголовка +title db appname,0 ; строка заголовка inp_pos dd inp_end-fn_input fn_input: diff --git a/programs/media/gifview/trunk/macros.inc b/programs/media/gifview/trunk/macros.inc deleted file mode 100644 index ab45d183d4..0000000000 --- a/programs/media/gifview/trunk/macros.inc +++ /dev/null @@ -1,263 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/media/iconedit/trunk/build_en.bat b/programs/media/iconedit/trunk/build_en.bat index b72572e7e8..d012a0dd5c 100644 --- a/programs/media/iconedit/trunk/build_en.bat +++ b/programs/media/iconedit/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm iconedit.asm iconedit +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/media/iconedit/trunk/build_ru.bat b/programs/media/iconedit/trunk/build_ru.bat index 392297434a..0debfecb5e 100644 --- a/programs/media/iconedit/trunk/build_ru.bat +++ b/programs/media/iconedit/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm iconedit.asm iconedit +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/media/iconedit/trunk/iconedit.asm b/programs/media/iconedit/trunk/iconedit.asm index c2ce33014a..88aca6b267 100644 --- a/programs/media/iconedit/trunk/iconedit.asm +++ b/programs/media/iconedit/trunk/iconedit.asm @@ -4,331 +4,331 @@ ; Compile with FASM for Menuet ; use32 - org 0x0 - db 'MENUET01' ; 8 byte id - dd 0x01 ; header version - dd START ; start of code - dd I_END ; size of image - dd 0x100000 ; memory for app - dd 0x7fff0 ; esp - dd 0x0 , 0x0 ; I_Param , I_Icon + org 0x0 + db 'MENUET01' ; 8 byte id + dd 0x01 ; header version + dd START ; start of code + dd I_END ; size of image + dd 0x100000 ; memory for app + dd 0x7fff0 ; esp + dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' window_x_size equ 346 window_y_size equ 312 -START: ; start of execution +START: ; start of execution - call draw_window ; at first, draw the window - call get_screen_size ; get screen x and y size + call draw_window ; at first, draw the window + call get_screen_size ; get screen x and y size check_mouse: - call draw_mouse ; are we editing the icon - call check_colour ; are we selecting a colour + call draw_mouse ; are we editing the icon + call check_colour ; are we selecting a colour still: - mov eax,23 ; wait here for event - mov ebx,1 ; for 1ms - int 0x40 + mov eax,23 ; wait here for event + mov ebx,1 ; for 1ms + mcall - cmp eax,1 ; redraw request ? - je red - cmp eax,2 ; key in buffer ? - je key - cmp eax,3 ; button in buffer ? - je button + cmp eax,1 ; redraw request ? + je red + cmp eax,2 ; key in buffer ? + je key + cmp eax,3 ; button in buffer ? + je button - jmp check_mouse ; start loop again + jmp check_mouse ; start loop again - red: ; redraw - call draw_window ; draw our window - jmp check_mouse ; start the loop again + red: ; redraw + call draw_window ; draw our window + jmp check_mouse ; start the loop again key: - mov eax,2 ; get a key - int 0x40 ; do it - shr eax,8 ; move it to al - cmp byte [editstate],0 ; are we in edit mode - je check_mouse ; if not start loop again - cmp al,8 ; is it a backspace - jne no_bksp ; if no jump over backspace code - cmp byte [editpos],0 ; is it the first character - je no_del_last ; if yes jump over backspace code - dec byte [editpos] ; decrement our position - xor ebx,ebx ; clear pointer - mov bl,byte [editpos] ; get our position - add ebx,icon ; add our offset - mov byte [ebx],0 ; delete character + mov eax,2 ; get a key + mcall ; do it + shr eax,8 ; move it to al + cmp byte [editstate],0 ; are we in edit mode + je check_mouse ; if not start loop again + cmp al,8 ; is it a backspace + jne no_bksp ; if no jump over backspace code + cmp byte [editpos],0 ; is it the first character + je no_del_last ; if yes jump over backspace code + dec byte [editpos] ; decrement our position + xor ebx,ebx ; clear pointer + mov bl,byte [editpos] ; get our position + add ebx,icon ; add our offset + mov byte [ebx],0 ; delete character no_del_last: - call draw_filename ; update filename - jmp check_mouse ; start loop again + call draw_filename ; update filename + jmp check_mouse ; start loop again no_bksp: - cmp al,13 ; is it the enter key - jne no_enter ; no then jump over enter code - mov byte [editstate],0 ; get out of edit mode - call draw_filename ; update filename - jmp check_mouse ; start loop again + cmp al,13 ; is it the enter key + jne no_enter ; no then jump over enter code + mov byte [editstate],0 ; get out of edit mode + call draw_filename ; update filename + jmp check_mouse ; start loop again no_enter: - cmp al,31 ; are we below character 31 - jbe no_lit ; then must be illegal - cmp al,97 ; are we below character 97 - jb capital ; then must be ok - sub eax,32 ; else subtract 32 from it to make it legal + cmp al,31 ; are we below character 31 + jbe no_lit ; then must be illegal + cmp al,97 ; are we below character 97 + jb capital ; then must be ok + sub eax,32 ; else subtract 32 from it to make it legal capital: - xor ebx,ebx ; clear our pointer - mov bl,byte [editpos] ; get our position - add ebx,icon ; add our offset - mov byte [ebx],al ; move our character into buffer - inc byte [editpos] ; increment our edit position - cmp byte [editpos],12 ; are we at our last position - jne no_null_state ; no then jump over last position code - mov byte [editstate],0 ; get out of edit mode + xor ebx,ebx ; clear our pointer + mov bl,byte [editpos] ; get our position + add ebx,icon ; add our offset + mov byte [ebx],al ; move our character into buffer + inc byte [editpos] ; increment our edit position + cmp byte [editpos],12 ; are we at our last position + jne no_null_state ; no then jump over last position code + mov byte [editstate],0 ; get out of edit mode no_null_state: - call draw_filename ; update filename + call draw_filename ; update filename no_lit: - jmp check_mouse ; start loop again + jmp check_mouse ; start loop again - button: ; button - mov eax,17 ; get id - int 0x40 + button: ; button + mov eax,17 ; get id + mcall - cmp ah,1 ; button id=1 ? + cmp ah,1 ; button id=1 ? jne button_3 - mov eax,-1 ; close this program - int 0x40 + mov eax,-1 ; close this program + mcall button_3: - cmp ah,3 ; was it button 3 - FILENAME - jne button_4 ; no then try button 4 - cld ; - mov byte [editstate],1 ; enter edit mode - mov edi,icon ; point to our buffer - mov eax,0x20202020 ; file reg with 4 spaces - mov ecx,3 ; going to write it 3 times - rep stosd ; repeat giving 12 spaces - mov byte [editpos],0 ; zero our edit position - call draw_filename ; update filename - jmp check_mouse ; start loop again + cmp ah,3 ; was it button 3 - FILENAME + jne button_4 ; no then try button 4 + cld ; + mov byte [editstate],1 ; enter edit mode + mov edi,icon ; point to our buffer + mov eax,0x20202020 ; file reg with 4 spaces + mov ecx,3 ; going to write it 3 times + rep stosd ; repeat giving 12 spaces + mov byte [editpos],0 ; zero our edit position + call draw_filename ; update filename + jmp check_mouse ; start loop again button_4: - cmp ah,4 ; was it button 4 - LOAD - jne button_5 ; no then try button 5 - mov byte [editstate],0 ; dont want to be in edit mode - call draw_filename ; update filename - call load_file ; load the file - call draw_icon ; update icon screen - call draw_graph ; update edit screen - jmp check_mouse ; start loop again + cmp ah,4 ; was it button 4 - LOAD + jne button_5 ; no then try button 5 + mov byte [editstate],0 ; dont want to be in edit mode + call draw_filename ; update filename + call load_file ; load the file + call draw_icon ; update icon screen + call draw_graph ; update edit screen + jmp check_mouse ; start loop again button_5: - cmp ah,5 ; was it button 5 - SAVE - jne button_6 ; no then try button 6 - mov byte [editstate],0 ; dont want to be in edit mode - call draw_filename ; update filename - call save_file ; save the file - jmp check_mouse ; start loop again + cmp ah,5 ; was it button 5 - SAVE + jne button_6 ; no then try button 6 + mov byte [editstate],0 ; dont want to be in edit mode + call draw_filename ; update filename + call save_file ; save the file + jmp check_mouse ; start loop again button_6: - cmp ah,6 ; was it button 6 - CLEAR ICON - jne button_7 ; no then try button 7 - mov byte [editstate],0 ; dont want to be in edit mode - call draw_filename ; update filename - call clear_graph_icon ; clear the icon and edit screens - button_7: - cmp ah,7 ; was it button 7 - FLIP ICON - jne button_8 ; no then try button 8 - call flip_icon ; flip - button_8: - cmp ah,8 ; was it button 8 - MIRROR ICON - jne button_9 ; no then try button 9 - call flip_diag ; flip L/R and U/D - call flip_icon ; cheated now have to flip it - button_9: - cmp ah,9 ; was it button 9 - FLIP L/R and U/D - jne button_10 ; no then try button 10 - call flip_diag ; flip L/R and U/D - call draw_icon ; update icon - call draw_graph ; update graph - button_10: - cmp ah,10 ; was it button 9 - SET AS BGR - jne check_mouse ; no then exit - call set_background ; set as background + cmp ah,6 ; was it button 6 - CLEAR ICON + jne button_7 ; no then try button 7 + mov byte [editstate],0 ; dont want to be in edit mode + call draw_filename ; update filename + call clear_graph_icon ; clear the icon and edit screens + jmp check_mouse - jmp check_mouse ; start loop again + button_7: + cmp ah,7 ; was it button 7 - FLIP ICON + jne button_8 ; no then try button 8 + call flip_icon ; flip + jmp check_mouse + + button_8: + cmp ah,8 ; was it button 8 - MIRROR ICON + jne button_9 ; no then try button 9 + call flip_diag ; flip L/R and U/D + call flip_icon ; cheated now have to flip it + jmp check_mouse + + button_9: + cmp ah,9 ; was it button 9 - FLIP L/R and U/D + jne button_10 ; no then try button 10 + call flip_diag ; flip L/R and U/D + call draw_icon ; update icon + call draw_graph ; update graph + jmp check_mouse + + button_10: + cmp ah,10 ; was it button 9 - SET AS BGR + jne check_mouse ; no then exit + call set_background ; set as background + + jmp check_mouse ; start loop again ; ********************************************* ; ******* WINDOW DEFINITIONS AND DRAW ******** ; ********************************************* draw_window: - mov eax,12 ; function 12:tell os about windowdraw - mov ebx,1 ; 1, start of draw - int 0x40 - ; DRAW WINDOW - mov eax,0 ; function 0 : define and draw window - mov ebx,100*65536+window_x_size ; [x start] *65536 + [x size] - mov ecx,100*65536+window_y_size ; [y start] *65536 + [y size] - mov edx,0x03ffffff ; color of work area 0x00RRGGBB - mov esi,0x807799bb ; color of grab bar 0x00RRGGBB - mov edi,0x007799bb ; color of frames 0x00RRGGBB - int 0x40 - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,7*65536+7 ; [x start] *65536 + [y start] - mov ecx,0xddeeff ; color of text 0x00RRGGBB - mov edx,labelt ; pointer to text beginning - mov esi,11 ; text length - int 0x40 - ; DRAW BUTTON BAR - mov eax,13 ; function 13 : draw bar - mov ebx,5*65536+window_x_size-9 ; [x start] *65536 + [x size] + mov eax,12 ; function 12:tell os about windowdraw + mov ebx,1 ; 1, start of draw + mcall + ; DRAW WINDOW + mov eax,0 ; function 0 : define and draw window + mov ebx,100*65536+window_x_size ; [x start] *65536 + [x size] + mov ecx,100*65536+window_y_size ; [y start] *65536 + [y size] + mov edx,0x13ffffff ; color of work area 0x00RRGGBB + mov edi,title ; WINDOW LABEL + mcall + + mov eax,13 ; function 13 : draw bar + mov ebx,5*65536+window_x_size-9 ; [x start] *65536 + [x size] mov ecx,(window_y_size-20)*65536+16 ; [y start] *65536 + [y size] - mov edx,0x7799bb ; colour 0x00RRGGBB - int 0x40 - ; DEFINE BUTTON 3 : FILENAME - mov eax,8 ; function 8 : define button - mov ebx,5*65536+62 ; [x start] *65536 + [x size] + mov edx,0x7799bb ; colour 0x00RRGGBB + mcall + ; DEFINE BUTTON 3 : FILENAME + mov eax,8 ; function 8 : define button + mov ebx,5*65536+62 ; [x start] *65536 + [x size] mov ecx,(window_y_size-19)*65536+14 ; [y start] *65536 + [y size] - mov edx,3 ; button id number - mov esi,0x7799bb ; button color 0x00RRGGBB - int 0x40 - ; BUTTON 3 TEXT - mov eax,4 ; function 4 : write text to window - mov ebx,13*65536+window_y_size-15 ; [x start] *65536 + [y start] - mov ecx,0xddeeff ; text color 0x00RRGGBB - mov edx,button_text_3 ; pointer to text beginning - mov esi,8 ; text length - int 0x40 + mov edx,3 ; button id number + mov esi,0x7799bb ; button color 0x00RRGGBB + mcall + ; BUTTON 3 TEXT + mov eax,4 ; function 4 : write text to window + mov ebx,13*65536+window_y_size-15 ; [x start] *65536 + [y start] + mov ecx,0xddeeff ; text color 0x00RRGGBB + mov edx,button_text_3 ; pointer to text beginning + mov esi,8 ; text length + mcall - call draw_filename ; update filename + call draw_filename ; update filename - ; DEFINE BUTTON 4 : LOAD - mov eax,8 ; function 8 : define button + ; DEFINE BUTTON 4 : LOAD + mov eax,8 ; function 8 : define button mov ebx,(window_x_size-87)*65536+38 ; [x start] *65536 + [x size] mov ecx,(window_y_size-19)*65536+14 ; [y start] *65536 + [y size] - mov edx,4 ; button id number - mov esi,0x7799bb ; button color 0x00RRGGBB - int 0x40 - ; DEFINE BUTTON 5 : SAVE + mov edx,4 ; button id number + mov esi,0x7799bb ; button color 0x00RRGGBB + mcall + ; DEFINE BUTTON 5 : SAVE mov ebx,(window_x_size-43)*65536+38 ; [x start] *65536 + [x size] - mov edx,5 ; button id number - int 0x40 - ; DEFINE BUTTON 6 : CLEAR ICON - mov ebx,268*65536+72 ; [x start] *65536 + [x size] - mov ecx,65*65536+14 ; [y start] *65536 + [y size] - mov edx,6 ; button id number - int 0x40 - ; DEFINE BUTTON 7 : FLIP VERTICAL - mov ecx,85*65536+14 ; [y start] *65536 + [y size] - mov edx,7 ; button id number - int 0x40 - ; DEFINE BUTTON 8 : FLIP HORIZONTAL - mov ecx,105*65536+14 ; [y start] *65536 + [y size] - mov edx,8 ; button id number - int 0x40 - ; DEFINE BUTTON 9 : SET AS BACKGROUND - mov ecx,125*65536+14 ; [y start] *65536 + [y size] - mov edx,9 ; button id number - int 0x40 - ; DEFINE BUTTON 10 : SET AS BACKGROUND - mov ecx,145*65536+14 ; [y start] *65536 + [y size] - mov edx,10 ; button id number - int 0x40 - ; BUTTON 4 TEXT - mov eax,4 ; function 4 : write text to window + mov edx,5 ; button id number + mcall + ; DEFINE BUTTON 6 : CLEAR ICON + mov ebx,268*65536+72 ; [x start] *65536 + [x size] + mov ecx,65*65536+14 ; [y start] *65536 + [y size] + mov edx,6 ; button id number + mcall + ; DEFINE BUTTON 7 : FLIP VERTICAL + mov ecx,85*65536+14 ; [y start] *65536 + [y size] + mov edx,7 ; button id number + mcall + ; DEFINE BUTTON 8 : FLIP HORIZONTAL + mov ecx,105*65536+14 ; [y start] *65536 + [y size] + mov edx,8 ; button id number + mcall + ; DEFINE BUTTON 9 : SET AS BACKGROUND + mov ecx,125*65536+14 ; [y start] *65536 + [y size] + mov edx,9 ; button id number + mcall + ; DEFINE BUTTON 10 : SET AS BACKGROUND + mov ecx,145*65536+14 ; [y start] *65536 + [y size] + mov edx,10 ; button id number + mcall + ; BUTTON 4 TEXT + mov eax,4 ; function 4 : write text to window mov ebx,267*65536+window_y_size-15 ; [x start] *65536 + [y start] - mov ecx,0xddeeff ; text color 0x00RRGGBB - mov edx,button_text_4 ; pointer to text beginning - mov esi,4 ; text length - int 0x40 - ; BUTTON 5 TEXT + mov ecx,0xddeeff ; text color 0x00RRGGBB + mov edx,button_text_4 ; pointer to text beginning + mov esi,4 ; text length + mcall + ; BUTTON 5 TEXT mov ebx,311*65536+window_y_size-15 ; [x start] *65536 + [y start] - mov edx,button_text_5 ; pointer to text beginning - int 0x40 - ; BUTTON 6 TEXT - mov ebx,275*65536+69 ; [x start] *65536 + [y start] - mov edx,button_text_6 ; pointer to text beginning - mov esi,10 ; text length - int 0x40 - ; BUTTON 7 TEXT - mov ebx,275*65536+89 ; [x start] *65536 + [y start] - mov edx,button_text_7 ; pointer to text beginning - int 0x40 - ; BUTTON 8 TEXT - mov ebx,275*65536+109 ; [x start] *65536 + [y start] - mov edx,button_text_8 ; pointer to text beginning - int 0x40 - ; BUTTON 9 TEXT - mov ebx,275*65536+129 ; [x start] *65536 + [y start] - mov edx,button_text_9 ; pointer to text beginning - int 0x40 - ; BUTTON 10 TEXT - mov ebx,275*65536+149 ; [x start] *65536 + [y start] - mov edx,button_text_10 ; pointer to text beginning - int 0x40 - ; DRAW GRAPH BACKGROUND - mov eax,13 ; function 13 : draw bar - mov ebx,6*65536+257 ; [x start] *65536 + [x size] - mov ecx,26*65536+257 ; [y start] *65536 + [y size] - mov edx,0x7799bb ; colour 0x00RRGGBB - int 0x40 - ; DRAW ICON BACKGROUND - mov ebx,268*65536+34 ; [x start] *65536 + [x size] - mov ecx,26*65536+34 ; [y start] *65536 + [y size] - int 0x40 - ; DRAW PALETTE BACKGROUND - mov ebx,268*65536+34 ; [x start] *65536 + [x size] - mov ecx,217*65536+33 ; [y start] *65536 + [y size] - int 0x40 - ; DRAW PALETTE BACKGROUND - mov ebx,268*65536+33 ; [x start] *65536 + [x size] - mov ecx,250*65536+33 ; [y start] *65536 + [y size] - int 0x40 - ; DRAW PALETTE BACKGROUND - mov ebx,301*65536+33 ; [x start] *65536 + [x size] - mov ecx,249*65536+34 ; [y start] *65536 + [y size] - int 0x40 - ; DRAW GREYSCALE BACKGROUND - mov ebx,307*65536+34 ; [x start] *65536 + [x size] - mov ecx,210*65536+34 ; [y start] *65536 + [y size] - int 0x40 - ; DRAW SELECTED COLOUR BACKGROUND - mov ebx,268*65536+73 ; [x start] *65536 + [x size] - mov ecx,171*65536+34 ; [y start] *65536 + [y size] - int 0x40 - ; DRAW WHITE TO START - mov ebx,269*65536+71 ; [x start] *65536 + [x size] - mov ecx,172*65536+32 ; [y start] *65536 + [y size] - mov edx,0xffffff ; colour 0x00RRGGBB - int 0x40 - ; DRAW PALETTE RED + GREEN SECTION - xor edi,edi ; clear column loop count + mov edx,button_text_5 ; pointer to text beginning + mcall + ; BUTTON 6 TEXT + mov ebx,275*65536+69 ; [x start] *65536 + [y start] + mov edx,button_text_6 ; pointer to text beginning + mov esi,10 ; text length + mcall + ; BUTTON 7 TEXT + mov ebx,275*65536+89 ; [x start] *65536 + [y start] + mov edx,button_text_7 ; pointer to text beginning + mcall + ; BUTTON 8 TEXT + mov ebx,275*65536+109 ; [x start] *65536 + [y start] + mov edx,button_text_8 ; pointer to text beginning + mcall + ; BUTTON 9 TEXT + mov ebx,275*65536+129 ; [x start] *65536 + [y start] + mov edx,button_text_9 ; pointer to text beginning + mcall + ; BUTTON 10 TEXT + mov ebx,275*65536+149 ; [x start] *65536 + [y start] + mov edx,button_text_10 ; pointer to text beginning + mcall + ; DRAW GRAPH BACKGROUND + mov eax,13 ; function 13 : draw bar + mov ebx,6*65536+257 ; [x start] *65536 + [x size] + mov ecx,26*65536+257 ; [y start] *65536 + [y size] + mov edx,0x7799bb ; colour 0x00RRGGBB + mcall + ; DRAW ICON BACKGROUND + mov ebx,268*65536+34 ; [x start] *65536 + [x size] + mov ecx,26*65536+34 ; [y start] *65536 + [y size] + mcall + ; DRAW PALETTE BACKGROUND + mov ebx,268*65536+34 ; [x start] *65536 + [x size] + mov ecx,217*65536+33 ; [y start] *65536 + [y size] + mcall + ; DRAW PALETTE BACKGROUND + mov ebx,268*65536+33 ; [x start] *65536 + [x size] + mov ecx,250*65536+33 ; [y start] *65536 + [y size] + mcall + ; DRAW PALETTE BACKGROUND + mov ebx,301*65536+33 ; [x start] *65536 + [x size] + mov ecx,249*65536+34 ; [y start] *65536 + [y size] + mcall + ; DRAW GREYSCALE BACKGROUND + mov ebx,307*65536+34 ; [x start] *65536 + [x size] + mov ecx,210*65536+34 ; [y start] *65536 + [y size] + mcall + ; DRAW SELECTED COLOUR BACKGROUND + mov ebx,268*65536+73 ; [x start] *65536 + [x size] + mov ecx,171*65536+34 ; [y start] *65536 + [y size] + mcall + ; DRAW WHITE TO START + mov ebx,269*65536+71 ; [x start] *65536 + [x size] + mov ecx,172*65536+32 ; [y start] *65536 + [y size] + mov edx,0xffffff ; colour 0x00RRGGBB + mcall + ; DRAW PALETTE RED + GREEN SECTION + xor edi,edi ; clear column loop count next_r_g_outer: - xor esi,esi ; clear line loop count + xor esi,esi ; clear line loop count next_r_g_inner: - mov eax,1 ; function 1 : putpixel - mov ebx,edi ; get column count - shr ebx,3 ; divide by 8 - add ebx,269 ; add our x offset - mov ecx,esi ; get our line count - shr ecx,3 ; divide by 8 - add ecx,218 ; add our y offset - mov edx,255 ; maximum red - sub edx,edi ; minus column count - shl edx,8 ; into position 0x0000RR00 - add edx,255 ; maximum green - sub edx,esi ; minus line count - shl edx,8 ; into position 0x00RRGG00 - int 0x40 - add esi,5 ; colour in steps of 5 to keep small - cmp esi,255 ; have we done a line - jne next_r_g_inner ; nop then do next pixel - add edi,5 ; colour in steps of 5 to keep small - cmp edi,255 ; have we done all columns - jne next_r_g_outer ; no then start the next one + mov eax,1 ; function 1 : putpixel + mov ebx,edi ; get column count + shr ebx,3 ; divide by 8 + add ebx,269 ; add our x offset + mov ecx,esi ; get our line count + shr ecx,3 ; divide by 8 + add ecx,218 ; add our y offset + mov edx,255 ; maximum red + sub edx,edi ; minus column count + shl edx,8 ; into position 0x0000RR00 + add edx,255 ; maximum green + sub edx,esi ; minus line count + shl edx,8 ; into position 0x00RRGG00 + mcall + add esi,5 ; colour in steps of 5 to keep small + cmp esi,255 ; have we done a line + jne next_r_g_inner ; nop then do next pixel + add edi,5 ; colour in steps of 5 to keep small + cmp edi,255 ; have we done all columns + jne next_r_g_outer ; no then start the next one - ; DRAW PALETTE GREEN + BLUE SECTION - mov edi,0 ; as above + ; DRAW PALETTE GREEN + BLUE SECTION + mov edi,0 ; as above next_g_b_outer: mov esi,0 next_g_b_inner: @@ -343,7 +343,7 @@ next_g_b_inner: sub edx,edi shl edx,16 add edx,esi - int 0x40 + mcall add esi,5 cmp esi,255 jne next_g_b_inner @@ -351,8 +351,8 @@ next_g_b_inner: cmp edi,255 jne next_g_b_outer - ; DRAW PALETTE BLUE + RED SECTION - mov edi,0 ; as above + ; DRAW PALETTE BLUE + RED SECTION + mov edi,0 ; as above next_b_r_outer: mov esi,0 next_b_r_inner: @@ -366,7 +366,7 @@ next_b_r_inner: mov edx,edi shl edx,8 add edx,esi - int 0x40 + mcall add esi,5 cmp esi,255 jne next_b_r_inner @@ -374,7 +374,7 @@ next_b_r_inner: cmp edi,255 jne next_b_r_outer - ; DRAW GREYSCALE + ; DRAW GREYSCALE mov edi,0 next_b_w_outer: mov esi,0 @@ -391,7 +391,7 @@ next_b_w_inner: add edx,esi shl edx,8 add edx,esi - int 0x40 + mcall add esi,5 cmp esi,255 jne next_b_w_inner @@ -399,77 +399,77 @@ next_b_w_inner: cmp edi,255 jne next_b_w_outer - cmp [first_run],0 ; is it the first window draw - jne dont_load ; no then dont reload the file - call load_file ; load initial file - mov [first_run],1 ; first window draw done + cmp [first_run],0 ; is it the first window draw + jne dont_load ; no then dont reload the file + call load_file ; load initial file + mov [first_run],1 ; first window draw done dont_load: - call draw_icon ; draw icon area - call draw_graph ; draw edit area + call draw_icon ; draw icon area + call draw_graph ; draw edit area - mov eax,12 ; function 12:tell os about windowdraw - mov ebx,2 ; 2, end of draw - int 0x40 + mov eax,12 ; function 12:tell os about windowdraw + mov ebx,2 ; 2, end of draw + mcall - ret ; return + ret ; return ; ********************************************* ; ******* SET BACKGROUND ******** ; ********************************************* set_background: - mov ecx,image+3600 ; point to our decode buffer + mov ecx,image+3600 ; point to our decode buffer mov edx,image+54+32*32*3-96 ; point to last line of bmp - mov edi,0 ; zero line count + mov edi,0 ; zero line count decode_line: - mov esi,0 ; zero column count + mov esi,0 ; zero column count decode_column: - mov ebx,[edx] ; get our data - mov [ecx],ebx ; store our data - add ecx,4 ; add 4 bytes to pointer as using double word - add edx,4 ; add 4 bytes to pointer - inc esi ; increment column count - cmp esi,24 ; have we done all columns - jne decode_column ; no then do some more - sub edx,192 ; move back 2 lines of bmp data - inc edi ; increment line count - cmp edi,33 ; have we done all lines - jne decode_line ; no then do another one + mov ebx,[edx] ; get our data + mov [ecx],ebx ; store our data + add ecx,4 ; add 4 bytes to pointer as using double word + add edx,4 ; add 4 bytes to pointer + inc esi ; increment column count + cmp esi,24 ; have we done all columns + jne decode_column ; no then do some more + sub edx,192 ; move back 2 lines of bmp data + inc edi ; increment line count + cmp edi,33 ; have we done all lines + jne decode_line ; no then do another one - mov eax,15 ; background - mov ebx,1 ; set background size - mov ecx,32 ; x size - mov edx,32 ; y size - int 0x40 ; do it - mov ebx,5 ; blockmove image to os bgr memory - mov ecx,image+3600 ; point to image - mov edx,0 ; start of bgr memory - mov esi,32*32*3 ; byte count - int 0x40 ; do it - mov ebx,4 ; type of background draw - mov ecx,1 ; tile - int 0x40 ; do it - mov ebx,3 ; draw background - int 0x40 ; do it + mov eax,15 ; background + mov ebx,1 ; set background size + mov ecx,32 ; x size + mov edx,32 ; y size + mcall ; do it + mov ebx,4 ; type of background draw + mov ecx,1 ; tile + mcall ; do it + mov ebx,5 ; blockmove image to os bgr memory + mov ecx,image+3600 ; point to image + mov edx,0 ; start of bgr memory + mov esi,32*32*3 ; byte count + mcall ; do it + mov ebx,3 ; draw background + mcall ; do it - ret ; return + ret ; return ; ********************************************* ; ******* GET SCREEN X and Y SIZE ******** ; ********************************************* get_screen_size: - mov eax,14 ; function 14 : get screen max - int 0x40 ; returns eax : 0xXXXXYYYY - push eax ; save reg - and eax,0x0000ffff ; split out y size - add eax,1 ; add 1 to remove zero base - mov [y_size],eax ; store for later - pop eax ; restore reg - shr eax,16 ; move x size down the reg - add eax,1 ; add 1 to remove zero base - mov [x_size],eax ; store for later + mov eax,14 ; function 14 : get screen max + mcall ; returns eax : 0xXXXXYYYY + push eax ; save reg + and eax,0x0000ffff ; split out y size + add eax,1 ; add 1 to remove zero base + mov [y_size],eax ; store for later + pop eax ; restore reg + shr eax,16 ; move x size down the reg + add eax,1 ; add 1 to remove zero base + mov [x_size],eax ; store for later ret @@ -478,225 +478,225 @@ get_screen_size: ; ********************************************* load_file: - mov eax,6 ; function 6 : load file - mov ebx,icon ; point to the name - mov ecx,0 ; reserved - mov edx,200000 ; reserved - mov esi,image ; point to image buffer - int 0x40 ; do it + mov eax,6 ; function 6 : load file + mov ebx,icon ; point to the name + mov ecx,0 ; reserved + mov edx,200000 ; reserved + mov esi,image ; point to image buffer + mcall ; do it - ret ; return + ret ; return ; ********************************************* ; ******* SAVE FILE ******** ; ********************************************* save_file: - mov eax,33 ; function 33 : save file - mov ebx,icon ; point to name - mov ecx,image ; point to our data - mov edx,54+32*32*3 ; how much data to transfer - xor esi,esi ; 0 - create a new file - int 0x40 ; do it + mov eax,33 ; function 33 : save file + mov ebx,icon ; point to name + mov ecx,image ; point to our data + mov edx,54+32*32*3 ; how much data to transfer + xor esi,esi ; 0 - create a new file + mcall ; do it - ret ; return + ret ; return ; ********************************************* ; ******* DRAW FILENAME TO SCREEN ******** ; ********************************************* draw_filename: - ; DRAW COLOUR BACKGROUND - pusha ; save all registers on stack - mov eax,13 ; function 13 : draw bar - mov ebx,73*65536+81 ; [x start] *65536 + [x size] + ; DRAW COLOUR BACKGROUND + pusha ; save all registers on stack + mov eax,13 ; function 13 : draw bar + mov ebx,73*65536+81 ; [x start] *65536 + [x size] mov ecx,(window_y_size-19)*65536+15 ; [y start] *65536 + [y size] - mov edx,0x557799 ; colour 0x00RRGGBB - int 0x40 + mov edx,0x557799 ; colour 0x00RRGGBB + mcall - mov eax,4 ; function 4 : write text to window + mov eax,4 ; function 4 : write text to window mov ebx,78*65536+(window_y_size-15) ; [y start] *65536 + [y size] - xor ecx,ecx ; colour 0x00RRGGBB = black - mov edx,icon ; point to text - mov esi,12 ; number of characters to write - cmp byte [editstate],1 ; are we in edit mode - jne no_active_1 ; no then jump over change colour - mov ecx,0x00112299 ; else change colour + xor ecx,ecx ; colour 0x00RRGGBB = black + mov edx,icon ; point to text + mov esi,12 ; number of characters to write + cmp byte [editstate],1 ; are we in edit mode + jne no_active_1 ; no then jump over change colour + mov ecx,0x00112299 ; else change colour no_active_1: - int 0x40 ; do it - popa ; return all registers to original - ret ; return + mcall ; do it + popa ; return all registers to original + ret ; return ; ********************************************* ; ******* DRAW ICON FROM LOADED FILE ******** ; ********************************************* draw_icon: - mov ecx,27 ; y start position - mov eax,image+51+32*32*3 ; point to our bmp data - mov edi,0 ; line count + mov ecx,27 ; y start position + mov eax,image+51+32*32*3 ; point to our bmp data + mov edi,0 ; line count line: - mov esi,0 ; column count - mov ebx,269+31 ; x start position + mov esi,0 ; column count + mov ebx,269+31 ; x start position pixel: - mov edx,[eax] ; colour 0x00RRGGBB from image data - push eax ; save our position - mov eax,1 ; function 1 : put pixel - int 0x40 ; do it - pop eax ; restore our position - sub eax,3 ; point to next pixel colour - dec ebx ; move our x position - inc esi ; increment our column count - cmp esi,32 ; have we done all columns - jne pixel ; no then do next pixel - inc ecx ; move our y position - inc edi ; increment line count - cmp edi,32 ; have we done all lines - jne line ; no then do next line + mov edx,[eax] ; colour 0x00RRGGBB from image data + push eax ; save our position + mov eax,1 ; function 1 : put pixel + mcall ; do it + pop eax ; restore our position + sub eax,3 ; point to next pixel colour + dec ebx ; move our x position + inc esi ; increment our column count + cmp esi,32 ; have we done all columns + jne pixel ; no then do next pixel + inc ecx ; move our y position + inc edi ; increment line count + cmp edi,32 ; have we done all lines + jne line ; no then do next line - ret ; return + ret ; return ; ********************************************* ; ******* DRAW GRAPH FROM LOADED FILE ******* ; ********************************************* draw_graph: - mov edi,0 ; line count - mov eax,image+51+32*32*3 ; point to our bmp data + mov edi,0 ; line count + mov eax,image+51+32*32*3 ; point to our bmp data next_lin: - mov ecx,edi ; use our line count for position - shl ecx,3 ; multiply by eight - add ecx,27 ; add y start position - shl ecx,16 ; move into top eight bytes [y start] - add ecx,7 ; add box height [y size] - mov esi,32 ; column count + mov ecx,edi ; use our line count for position + shl ecx,3 ; multiply by eight + add ecx,27 ; add y start position + shl ecx,16 ; move into top eight bytes [y start] + add ecx,7 ; add box height [y size] + mov esi,32 ; column count next_bo: - mov ebx,esi ; use our column count for position - shl ebx,3 ; multiply by eight - add ebx,-1 ; add a correction - shl ebx,16 ; and move into top eight bytes [x start] - add ebx,7 ; add box width [x size] - mov edx,[eax] ; point to bmp data - push eax ; save our position - mov eax,13 ; function 13 : draw bar - int 0x40 ; do it - pop eax ; restore our position - sub eax,3 ; point to next pixel colour - dec esi ; increment column count - cmp esi,0 ; have we done all columns - jne next_bo ; no then do the next column - inc edi ; increment line count - cmp edi,32 ; have we done all lines - jne next_lin ; no then do the next line + mov ebx,esi ; use our column count for position + shl ebx,3 ; multiply by eight + add ebx,-1 ; add a correction + shl ebx,16 ; and move into top eight bytes [x start] + add ebx,7 ; add box width [x size] + mov edx,[eax] ; point to bmp data + push eax ; save our position + mov eax,13 ; function 13 : draw bar + mcall ; do it + pop eax ; restore our position + sub eax,3 ; point to next pixel colour + dec esi ; increment column count + cmp esi,0 ; have we done all columns + jne next_bo ; no then do the next column + inc edi ; increment line count + cmp edi,32 ; have we done all lines + jne next_lin ; no then do the next line - ret ; return + ret ; return ; ********************************************* ; ******* CLEAR GRAPH and ICON AREA ******** ; ********************************************* clear_graph_icon: - ; CLEAR IMAGE DATA - mov edi,image+54 ; point to our data - mov eax,0x00000000 ; data to write - mov ecx,(32*32*3)/4 ; how much data - rep stosd ; repeat until all data transfered - call draw_icon ; draw a blank icon - call draw_graph ; draw a blank graph + ; CLEAR IMAGE DATA + mov edi,image+54 ; point to our data + mov eax,0x00000000 ; data to write + mov ecx,(32*32*3)/4 ; how much data + rep stosd ; repeat until all data transfered + call draw_icon ; draw a blank icon + call draw_graph ; draw a blank graph - ret ; return + ret ; return ; ********************************************* ; ******* FLIP ICON TOP to BOTTOM ******** ; ********************************************* flip_icon: - mov ecx,image+54 ; point at first line + mov ecx,image+54 ; point at first line mov edx,image+54+32*32*3+96 ; point 1 line past end - mov edi,0 ; zero line count + mov edi,0 ; zero line count lines: - mov esi,0 ; zero column count - sub edx,192 ; move back 2 lines + mov esi,0 ; zero column count + sub edx,192 ; move back 2 lines columns: - mov eax,[ecx] ; get bytes - mov ebx,[edx] ; get bytes - mov [ecx],ebx ; swap bytes - mov [edx],eax ; swap bytes - add ecx,4 ; move pointer - add edx,4 ; move pointer - inc esi ; increment column count - cmp esi,24 ; have we done all columns - jne columns ; no then do next column - inc edi ; increment line count - cmp edi,16 ; have we done all lines - jne lines ; no then do next line - call draw_icon ; update icon - call draw_graph ; update graph + mov eax,[ecx] ; get bytes + mov ebx,[edx] ; get bytes + mov [ecx],ebx ; swap bytes + mov [edx],eax ; swap bytes + add ecx,4 ; move pointer + add edx,4 ; move pointer + inc esi ; increment column count + cmp esi,24 ; have we done all columns + jne columns ; no then do next column + inc edi ; increment line count + cmp edi,16 ; have we done all lines + jne lines ; no then do next line + call draw_icon ; update icon + call draw_graph ; update graph - ret ; return + ret ; return ; ********************************************* ; ******* FLIP ICON DIAGONAL ******** ; ********************************************* flip_diag: - mov ecx,image+54 ; point line 1 first bytes - mov edx,image+3600 ; point to buffer - xor esi,esi ; zero byte count + mov ecx,image+54 ; point line 1 first bytes + mov edx,image+3600 ; point to buffer + xor esi,esi ; zero byte count - pusha ; save all registers + pusha ; save all registers copy_out: - mov eax,[ecx] ; get bytes - mov [edx],eax ; copy bytes - add ecx,4 ; move pointer - add edx,4 ; move pointer - inc esi ; increment byte count - cmp esi,24*32 ; have we done all bytes - jne copy_out ; no then do the next - popa ; restore all registers + mov eax,[ecx] ; get bytes + mov [edx],eax ; copy bytes + add ecx,4 ; move pointer + add edx,4 ; move pointer + inc esi ; increment byte count + cmp esi,24*32 ; have we done all bytes + jne copy_out ; no then do the next + popa ; restore all registers - mov edx,image+3600+32*32*3-3 ; point to last bytes + mov edx,image+3600+32*32*3-3 ; point to last bytes copy_in: - mov eax,[edx] ; get bytes - mov [ecx],eax ; copy to image first bytes - add ecx,3 ; move pointer 3 bytes - sub edx,3 ; move pointer 3 bytes - inc esi ; increment byte count - cmp esi,32*32 ; have we done all bytes - jne copy_in ; no then do next + mov eax,[edx] ; get bytes + mov [ecx],eax ; copy to image first bytes + add ecx,3 ; move pointer 3 bytes + sub edx,3 ; move pointer 3 bytes + inc esi ; increment byte count + cmp esi,32*32 ; have we done all bytes + jne copy_in ; no then do next - ret ; return + ret ; return ; ********************************************* ; ******* DRAW MOUSE ON GRAPH / ICON ******** ; ********************************************* draw_mouse: - mov eax,37 ; function 37 - mov ebx,2 ; sub function 2 : check for mouse button - int 0x40 ; do it - cmp eax,0 ; was a button pressed - je exit_mouse ; no then jump to exit - cmp eax,1 ; left hand button - je colour_mouse ; we are using selected colour + mov eax,37 ; function 37 + mov ebx,2 ; sub function 2 : check for mouse button + mcall ; do it + cmp eax,0 ; was a button pressed + je exit_mouse ; no then jump to exit + cmp eax,1 ; left hand button + je colour_mouse ; we are using selected colour mov [draw_colour],0x000000 ; else draw with black - jmp blank ; jmp over colour select + jmp blank ; jmp over colour select colour_mouse: - mov eax,[sel_colour] ; get our selected colour - mov [draw_colour],eax ; save our selected colour + mov eax,[sel_colour] ; get our selected colour + mov [draw_colour],eax ; save our selected colour blank: - mov eax,37 ; function 37 - mov ebx,1 ; sub function 1 : get mouse position - int 0x40 ; do it - push eax ; save our x/y position for later - and eax,0x0000ffff ; y is in lower bytes - add eax,1 ; add 1 because we are zero based - mov [my_pos],eax ; save y position - pop eax ; restore our x/y position - shr eax,16 ; shift x into lower bytes - add eax,1 ; add 1 because we are zero based - mov [mx_pos],eax ; save x position - cmp [mx_pos],7 ; check we are within x/y limits + mov eax,37 ; function 37 + mov ebx,1 ; sub function 1 : get mouse position + mcall ; do it + push eax ; save our x/y position for later + and eax,0x0000ffff ; y is in lower bytes + add eax,1 ; add 1 because we are zero based + mov [my_pos],eax ; save y position + pop eax ; restore our x/y position + shr eax,16 ; shift x into lower bytes + add eax,1 ; add 1 because we are zero based + mov [mx_pos],eax ; save x position + cmp [mx_pos],7 ; check we are within x/y limits jle exit_mouse cmp [mx_pos],263 jge exit_mouse @@ -704,84 +704,84 @@ blank: jle exit_mouse cmp [my_pos],283 jge exit_mouse - mov eax,[mx_pos] ; calculate nearest square and save - sub eax,7 ; subtract 7 graph zero offset - shr eax,3 ; divide by 8 (box size) loose remainder - mov [icon_x],eax ; save for use later in icon - shl eax,3 ; multiply by 8 to get box position - add eax,7 ; add 7 graph zero offset - mov [gx_pos],eax ; save graph x position - mov eax,[my_pos] ; repeat for y - sub eax,27 ; - shr eax,3 ; - mov [icon_y],eax ; - shl eax,3 ; - add eax,27 ; - mov [gy_pos],eax ; - mov eax,13 ; function 13 : draw bar - mov ebx,[gx_pos] ; load graph x position - shl ebx,16 ; shift into high bytes - add ebx,7 ; add box size - mov ecx,[gy_pos] ; repeat for y - shl ecx,16 ; - add ecx,7 ; - mov edx,[draw_colour] ; give it a colour - int 0x40 ; do it - mov eax,1 ; function 1 : put pixel - mov ebx,[icon_x] ; icon x from above - add ebx,269 ; add icon x offset - mov ecx,[icon_y] ; icon y from above - add ecx,27 ; add icon y offset - mov edx,[draw_colour] ; give it a colour - int 0x40 ; do it - mov ecx,image+54 ; point to our data - mov ebx,31 ; 32 lines in image zero based - sub ebx,[icon_y] ; get the correct line - mov eax,96 ; 96 or 3 bytes per colour * 32 columns - mul ebx ; multiply by 96 result in eax - add ecx,eax ; add to our position - mov ebx,[icon_x] ; get the correct column - mov eax,3 ; 3 bytes per colour - mul ebx ; multiply by 3 result in eax - add ecx,eax ; add to our position - mov ebx,[draw_colour] ; get our colour - mov [ecx],bl ; move blue into image data - mov [ecx+1],bh ; move green into image data - shr ebx,16 ; shift red down - mov [ecx+2],bl ; move red into image data + mov eax,[mx_pos] ; calculate nearest square and save + sub eax,7 ; subtract 7 graph zero offset + shr eax,3 ; divide by 8 (box size) loose remainder + mov [icon_x],eax ; save for use later in icon + shl eax,3 ; multiply by 8 to get box position + add eax,7 ; add 7 graph zero offset + mov [gx_pos],eax ; save graph x position + mov eax,[my_pos] ; repeat for y + sub eax,27 ; + shr eax,3 ; + mov [icon_y],eax ; + shl eax,3 ; + add eax,27 ; + mov [gy_pos],eax ; + mov eax,13 ; function 13 : draw bar + mov ebx,[gx_pos] ; load graph x position + shl ebx,16 ; shift into high bytes + add ebx,7 ; add box size + mov ecx,[gy_pos] ; repeat for y + shl ecx,16 ; + add ecx,7 ; + mov edx,[draw_colour] ; give it a colour + mcall ; do it + mov eax,1 ; function 1 : put pixel + mov ebx,[icon_x] ; icon x from above + add ebx,269 ; add icon x offset + mov ecx,[icon_y] ; icon y from above + add ecx,27 ; add icon y offset + mov edx,[draw_colour] ; give it a colour + mcall ; do it + mov ecx,image+54 ; point to our data + mov ebx,31 ; 32 lines in image zero based + sub ebx,[icon_y] ; get the correct line + mov eax,96 ; 96 or 3 bytes per colour * 32 columns + mul ebx ; multiply by 96 result in eax + add ecx,eax ; add to our position + mov ebx,[icon_x] ; get the correct column + mov eax,3 ; 3 bytes per colour + mul ebx ; multiply by 3 result in eax + add ecx,eax ; add to our position + mov ebx,[draw_colour] ; get our colour + mov [ecx],bl ; move blue into image data + mov [ecx+1],bh ; move green into image data + shr ebx,16 ; shift red down + mov [ecx+2],bl ; move red into image data exit_mouse: - ret ; return + ret ; return ; ********************************************* ; ******* GET COLOUR TO DRAW WITH ******** ; ********************************************* check_colour: - mov eax,37 ; function 37 - mov ebx,2 ; sub function 2 : check for mouse button - int 0x40 ; do it - cmp eax,0 ; was a button pressed - je exit_draw ; no then jump to exit - mov eax,37 ; function 37 - mov ebx,1 ; sub function 1 : get mouse position - int 0x40 ; do it - push eax ; save our x/y position for later - and eax,0x0000ffff ; y is in lower bytes - add eax,1 ; add 1 because we are zero based - mov [my_pos],eax ; save y position - pop eax ; restore our x/y position - shr eax,16 ; shift x into lower bytes - add eax,1 ; add 1 because we are zero based - mov [mx_pos],eax ; save x position - cmp [mx_pos],270 ; check we are within x/y limits - jl check_rb + mov eax,37 ; function 37 + mov ebx,2 ; sub function 2 : check for mouse button + mcall ; do it + cmp eax,0 ; was a button pressed + je exit_draw ; no then jump to exit + mov eax,37 ; function 37 + mov ebx,1 ; sub function 1 : get mouse position + mcall ; do it + push eax ; save our x/y position for later + and eax,0x0000ffff ; y is in lower bytes + add eax,1 ; add 1 because we are zero based + mov [my_pos],eax ; save y position + pop eax ; restore our x/y position + shr eax,16 ; shift x into lower bytes + add eax,1 ; add 1 because we are zero based + mov [mx_pos],eax ; save x position + cmp [mx_pos],270 ; check we are within x/y limits + jl check_rb cmp [mx_pos],301 - jg check_rb + jg check_rb cmp [my_pos],219 - jl check_rb + jl check_rb cmp [my_pos],250 - jg check_rb + jg check_rb call decode_mouse @@ -798,7 +798,7 @@ next_sel_rg_inner: add ecx,211 mov edx,[sel_colour] add edx,esi - int 0x40 + mcall add esi,5 cmp esi,255 jne next_sel_rg_inner @@ -809,14 +809,14 @@ next_sel_rg_inner: check_rb: - cmp [mx_pos],270 ; check we are within x/y limits - jl check_bg + cmp [mx_pos],270 ; check we are within x/y limits + jl check_bg cmp [mx_pos],301 - jg check_bg + jg check_bg cmp [my_pos],251 jle check_bg cmp [my_pos],282 - jg check_bg + jg check_bg call decode_mouse @@ -835,7 +835,7 @@ next_sel_rb_inner: shl eax,8 add edx,eax mov eax,1 - int 0x40 + mcall add esi,5 cmp esi,255 jne next_sel_rb_inner @@ -846,14 +846,14 @@ next_sel_rb_inner: check_bg: - cmp [mx_pos],301 ; check we are within x/y limits - jl get_colour + cmp [mx_pos],301 ; check we are within x/y limits + jl get_colour cmp [mx_pos],333 - jg get_colour + jg get_colour cmp [my_pos],251 - jl get_colour + jl get_colour cmp [my_pos],282 - jg get_colour + jg get_colour call decode_mouse @@ -872,7 +872,7 @@ next_sel_bg_inner: shl eax,16 add edx,eax mov eax,1 - int 0x40 + mcall add esi,5 cmp esi,255 jne next_sel_bg_inner @@ -882,14 +882,14 @@ next_sel_bg_inner: get_colour: - cmp [mx_pos],309 ; check we are within x/y limits - jl exit_draw + cmp [mx_pos],309 ; check we are within x/y limits + jl exit_draw cmp [mx_pos],340 - jg exit_draw + jg exit_draw cmp [my_pos],212 - jl exit_draw + jl exit_draw cmp [my_pos],243 - jg exit_draw + jg exit_draw call decode_mouse @@ -897,7 +897,7 @@ get_colour: mov ebx,269*65536+71 mov ecx,172*65536+32 mov edx,[sel_colour] - int 0x40 + mcall mov eax,[sel_colour] mov [draw_colour],eax @@ -910,7 +910,7 @@ get_colour: mov ecx,[sel_colour] mov edx,273*65536+176 mov esi,0x000000 - int 0x40 + mcall exit_draw: @@ -924,7 +924,7 @@ decode_mouse: mov eax,37 xor ebx,ebx - int 0x40 + mcall mov ebx,eax mov ecx,eax and ebx,0xffff0000 @@ -935,7 +935,7 @@ decode_mouse: add ebx,ecx mov eax,35 dec ebx - int 0x40 + mcall mov [sel_colour],eax @@ -945,38 +945,38 @@ decode_mouse: ; ******* DATA AREA ***** ; ********************************************* -mx_pos dd 0x0 -my_pos dd 0x0 +mx_pos dd 0x0 +my_pos dd 0x0 -gx_pos dd 0x0 -gy_pos dd 0x0 +gx_pos dd 0x0 +gy_pos dd 0x0 -icon_x dd 0x0 -icon_y dd 0x0 +icon_x dd 0x0 +icon_y dd 0x0 -x_size dd 0x0 -y_size dd 0x0 +x_size dd 0x0 +y_size dd 0x0 -sel_colour dd 0x00ffffff -draw_colour dd 0x00ffffff +sel_colour dd 0x00ffffff +draw_colour dd 0x00ffffff -button_text_3 db 'FILENAME' -button_text_4 db 'LOAD' -button_text_5 db 'SAVE' -button_text_6 db 'CLEAR ICON' -button_text_7 db 'FLIP VERT ' -button_text_8 db 'FLIP HORIZ' -button_text_9 db 'FLIP DIAG ' -button_text_10 db 'SET AS BGR' +button_text_3 db 'FILENAME' +button_text_4 db 'LOAD' +button_text_5 db 'SAVE' +button_text_6 db 'CLEAR ICON' +button_text_7 db 'FLIP VERT ' +button_text_8 db 'FLIP HORIZ' +button_text_9 db 'FLIP DIAG ' +button_text_10 db 'SET AS BGR' -labelt: db 'ICON EDITOR' +title db 'ICON EDITOR',0 -icon: db 'WRITE.BMP ' +icon: db 'WRITE.BMP ' -editpos db 0 -editstate db 0 +editpos db 0 +editstate db 0 -first_run db 0 +first_run db 0 image: diff --git a/programs/media/iconedit/trunk/macros.inc b/programs/media/iconedit/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/media/iconedit/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/media/jpegview/trunk/jpegview.asm b/programs/media/jpegview/trunk/jpegview.asm index c76d4e9b35..9fa3740847 100644 --- a/programs/media/jpegview/trunk/jpegview.asm +++ b/programs/media/jpegview/trunk/jpegview.asm @@ -41,7 +41,7 @@ use32 stack_size=4096 + 1024 -include 'macros.inc' +include '..\..\..\macros.inc' START: ; start of execution @@ -63,7 +63,7 @@ still: push still mov ebx,100 ;1 second mov eax,23 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? je draw_window cmp eax,2 ; key in buffer ? @@ -74,7 +74,7 @@ still: button: ; BUTTON mov eax,17 - int 0x40 + mcall cmp ah,3 je set_as_bgr2 cmp ah,2 @@ -83,7 +83,7 @@ button: ; BUTTON jne close_program.exit close_program: mov eax,-1 - int 0x40 + mcall .exit: ret @@ -109,7 +109,7 @@ put_image: mov ebx,edi mov eax,7 - int 40h ; Put image function + mcall ; Put image function .l1: popad ret @@ -171,7 +171,7 @@ set_as_bgr2: mov ebx, 1 mov ecx, [ebp + x_size] mov edx, [ebp + y_size] - int 0x40 + mcall mov dword [ebp+draw_ptr],put_chunk_to_bgr call jpeg_display @@ -180,11 +180,11 @@ set_as_bgr2: mov eax, 15 mov ebx, 4 mov ecx, 2 - int 0x40 + mcall mov eax, 15 mov ebx, 3 - int 0x40 + mcall .end: @@ -214,7 +214,7 @@ put_chunk_to_bgr: mov ecx, [x_pointer] mov edx, [x_offset] mov esi, [x_numofbytes] - int 0x40 + mcall mov eax, [x_numofbytes] add [x_pointer], eax mov eax, [x_numofb2] @@ -240,11 +240,11 @@ draw_window: mov ebx,3 mov ecx,sc mov edx,sizeof.system_colors - int 0x40 + mcall mov eax,12 mov ebx,1 - int 0x40 + mcall ; Draw the window to the appropriate size - it may have ; been resized by the user @@ -263,7 +263,7 @@ dw_001: mov eax, 9 mov ebx, memsize - 1024 mov ecx, -1 - int 0x40 + mcall mov eax, [ebx + 34] mov [winxo], ax mov eax, [ebx + 38] @@ -282,8 +282,8 @@ dw_002: xor eax,eax ; DRAW WINDOW mov edx,[sc.work] or edx,0x33000000 - mov edi,header ; WINDOW LABEL - int 0x40 + mov edi,title ; WINDOW LABEL + mcall mov eax,8 ; BUTTON 2: slideshow @@ -294,7 +294,7 @@ dw_002: add ecx, 12 mov esi, [sc.work_button] mov edx,2 - int 0x40 + mcall mov eax,4 ; Button text movzx ebx, word [winys] @@ -302,7 +302,7 @@ dw_002: mov ecx,[sc.work_button_text] mov edx,setname mov esi,setnamelen-setname - int 0x40 + mcall mov eax,8 ; BUTTON 3: set as background @@ -316,7 +316,7 @@ dw_002: add ecx, 12 mov esi, [sc.work_button] mov edx,3 - int 0x40 + mcall mov eax,4 ; Button text movzx ebx, word [winxs] @@ -327,12 +327,12 @@ dw_002: mov ecx,[sc.work_button_text] mov edx,setbgr mov esi,setbgrlen-setbgr - int 0x40 + mcall call print_strings call load_image mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -343,7 +343,7 @@ read_string: movzx edi,byte[name_string.cursor] add edi,name_string mov eax,2 - int 0x40 ; Get the key value + mcall ; Get the key value shr eax,8 cmp eax,13 ; Return key ends input je .rs_done @@ -391,7 +391,7 @@ load_image: add ecx, 1 shl 16 mov edx,[sc.work] - int 0x40 + mcall mov ebp,[jpeg_st] test ebp,ebp jz .exit @@ -409,7 +409,7 @@ print_strings: shl ecx, 16 add ecx, 12 mov edx,0xffffff - int 0x40 + mcall mov eax,4 ; movzx ebx, word [winys] @@ -417,7 +417,7 @@ print_strings: mov ecx,0x000000 mov edx,name_string mov esi,60 - int 0x40 + mcall popa ret @@ -455,7 +455,7 @@ display_next: mov byte [ebx+12], 1 mov dword [ebx+16], dirinfo mov eax, 70 - int 0x40 + mcall mov eax, [file_dir] inc dword [eax+4] cmp ebx, 1 @@ -502,7 +502,7 @@ include 'jpeglib.asm' ; DATA AREA wcolor dd 0x000000 -header db appname,version,0 +title db appname,version,0 setname db 'SLIDESHOW' setnamelen: diff --git a/programs/media/jpegview/trunk/macros.inc b/programs/media/jpegview/trunk/macros.inc deleted file mode 100644 index cd445840ed..0000000000 --- a/programs/media/jpegview/trunk/macros.inc +++ /dev/null @@ -1,268 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; language for programs -lang fix ru ; ru en fr ge fi - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/media/midamp/trunk/MIDAMP.ASM b/programs/media/midamp/trunk/MIDAMP.ASM index 2deb906683..7c1ab540ff 100644 --- a/programs/media/midamp/trunk/MIDAMP.ASM +++ b/programs/media/midamp/trunk/MIDAMP.ASM @@ -63,7 +63,7 @@ use32 listsel dd 0 channel dd 0 COLOR_ORDER equ MENUETOS -include 'macros.inc' ; decrease code size (optional) +include '..\..\..\macros.inc' ; decrease code size (optional) lang fix en ;purge mov include 'debug.inc' @@ -153,7 +153,7 @@ clearpath: rep movsd mov eax,70 mov ebx,file_info - int 0x40 + mcall add ebx,workarea mov [midi_limit],ebx mov edi,I_PARAM @@ -225,7 +225,7 @@ still: mov ecx,ipcarea call init_ipc mov eax,10 - int 0x40 + mcall prc_event: test eax,eax jz still diff --git a/programs/media/midamp/trunk/build.bat b/programs/media/midamp/trunk/build.bat index 927edaa6a2..5b76a81bb6 100644 --- a/programs/media/midamp/trunk/build.bat +++ b/programs/media/midamp/trunk/build.bat @@ -1 +1,2 @@ -fasm MIDAMP.ASM MIDAMP \ No newline at end of file +@fasm MIDAMP.ASM MIDAMP +@pause \ No newline at end of file diff --git a/programs/media/midamp/trunk/debug.inc b/programs/media/midamp/trunk/debug.inc index 1f43e064a7..6e760e190a 100644 --- a/programs/media/midamp/trunk/debug.inc +++ b/programs/media/midamp/trunk/debug.inc @@ -55,7 +55,7 @@ debug_outchar: ; al - char mov cl,al mov eax,63 mov ebx,1 - int 0x40 + mcall popad popf ret diff --git a/programs/media/midamp/trunk/dlg.inc b/programs/media/midamp/trunk/dlg.inc index c129aa809a..a45c1d96ae 100644 --- a/programs/media/midamp/trunk/dlg.inc +++ b/programs/media/midamp/trunk/dlg.inc @@ -23,7 +23,7 @@ local dlg_is_work, ready ; mov eax,9 ; mov ebx,prcinfo ; mov ecx,-1 -; int 0x40 +; mcall mov eax,[parentPID] ; convert eax bin to param dec ; mov eax,dword [prcinfo+30] ;offset of myPID @@ -57,12 +57,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,1024+16 ; size - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -70,7 +70,7 @@ new_d: mov eax,70 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -78,7 +78,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall dec eax jz mred dec eax @@ -92,14 +92,14 @@ getmesloop: mov ebx,prcinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,prcinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [prcinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -124,15 +124,15 @@ mred: jmp getmesloop mkey: mov eax,2 - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop - mov eax,-1 ; close this program - int 0x40 + or eax,-1 ; close this program + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still diff --git a/programs/media/midamp/trunk/draw.inc b/programs/media/midamp/trunk/draw.inc index 42f2e8f6a9..3fc6b066ab 100644 --- a/programs/media/midamp/trunk/draw.inc +++ b/programs/media/midamp/trunk/draw.inc @@ -18,7 +18,7 @@ draw_bar: mov ecx,[ebp-12] mov edx,0x84706a mov eax,13 - int 0x40 + mcall mov esi,TOTALTIME_XY mov eax,[tick_count] call draw_total_time @@ -44,7 +44,7 @@ draw_bar: draw_window: mov eax,12 mov ebx,1 - int 0x40 + mcall or [flag],FL_BOTTRED xor eax,eax mov ebx,100*65536+275 @@ -61,7 +61,7 @@ draw_window: mov edx,WND_BACK mov esi,edx mov edi,edx - int 0x40 + mcall mov ecx,[channel] shl ecx,4 add cl,[sel_track] @@ -77,16 +77,16 @@ draw_window: mov ebx,265 shl 16+7 mov ecx,3 shl 16+7 mov edx,1+1 shl 30 - int 0x40 ; close button + mcall ; close button sub ebx,10 shl 16 mov edx,100+1 shl 30 - int 0x40 ; shade button-101 + mcall ; shade button-101 sub ebx,10 shl 16 add edx,3 - int 0x40 ; minimize button-103 + mcall ; minimize button-103 sub ebx,239 shl 16 inc edx ; about button-104 - int 0x40 + mcall xor esi,esi xor edi,edi mov ecx,3 @@ -101,7 +101,7 @@ draw_window: add ecx,[ebp-24] mov esi,0x2c2b46 mov edx,2+1 shl 29 - int 0x40 + mcall shr eax,1 @@ -129,7 +129,7 @@ draw_window: mov ebx,btn_raw+12 mov ecx,BTNS_SIZE mov edx,BTNS_XY - int 0x40 + mcall .nohide2: mov esi,FL_SHUFFLE mov edi,btncoords+8 @@ -148,7 +148,7 @@ draw_window: add ecx,4 shl 16 add ecx,[ebp+4] mov cx,2 - int 0x40 + mcall pop ecx .el: add edi,8 @@ -158,7 +158,7 @@ draw_window: .enddraw: mov eax,12 mov ebx,2 - int 0x40 + mcall ret draw_navigation: @@ -176,7 +176,7 @@ draw_navigation: mov ecx,[ebp+4] add ecx,[ebp-4] add ecx,edi - int 0x40 + mcall pop ecx add ebx,[ebp+8] inc edx @@ -192,7 +192,7 @@ draw_navigation: mov ecx,[edi+4] add ecx,[ebp+4] add ecx,[esp+4] - int 0x40 + mcall pop ecx add edi,8 inc edx @@ -230,7 +230,7 @@ draw_total_time: ; eax -time to show mcall 47,0x20000,,esi,0xf000 pop ecx add edx,17 shl 16 - int 0x40 + mcall sub edx,5 shl 16 mcall 4,edx,esi,dots,1 popa diff --git a/programs/media/midamp/trunk/event.inc b/programs/media/midamp/trunk/event.inc index 9949e9b257..5d0e88bf36 100644 --- a/programs/media/midamp/trunk/event.inc +++ b/programs/media/midamp/trunk/event.inc @@ -17,7 +17,7 @@ jmps_end: key: mov eax,2 - int 0x40 + mcall mov edi,key_codes cmp ah,48 jb .jump @@ -111,7 +111,7 @@ key: button: mov eax,17 - int 0x40 + mcall cmp ah,20 jb .nobott cmp ah,25 @@ -149,7 +149,7 @@ SH_POPUP equ 10 _close: call kill or eax,-1 - int 0x40 + mcall bShade: call Shade @@ -169,7 +169,7 @@ SH_POPUP equ 10 mov ecx,ebx mov edx,ebx mov eax,67 - int 0x40 + mcall ret bMinimize: ; mcall 18,10 @@ -258,7 +258,7 @@ SH_POPUP equ 10 jz still mov eax,37 mov ebx,1 - int 0x40 + mcall mov ebp,[coo] sub eax,[ebp-16] shr eax,16 diff --git a/programs/media/midamp/trunk/macros.inc b/programs/media/midamp/trunk/macros.inc deleted file mode 100644 index 14185dbfce..0000000000 --- a/programs/media/midamp/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/media/midamp/trunk/playlist.inc b/programs/media/midamp/trunk/playlist.inc index 6263f56319..6c4b651639 100644 --- a/programs/media/midamp/trunk/playlist.inc +++ b/programs/media/midamp/trunk/playlist.inc @@ -15,7 +15,7 @@ PL_show: mov eax,13 mov ecx,PL_Y-1 shl 16+4+9*LISTITEMS xor edx,edx - int 0x40 + mcall movzx ecx,byte[list_count] test ecx,ecx jz .ex2 @@ -24,7 +24,7 @@ PL_show: add ecx,PL_Y-1 shl 16-2 mov edx,11+1 shl 29+1 shl 30 mov eax,8 - int 0x40 + mcall pop ecx mov edi,[pl_ptr] mov eax,4 @@ -45,7 +45,7 @@ PL_show: add ecx,PL_Y-1 shl 16+8 mov edx,0xc6 mov eax,13 - int 0x40 + mcall popa .nosel: pusha @@ -61,7 +61,7 @@ PL_show: mov ecx,PCOLOR .int: add ebx,25 shl 16 - int 0x40 + mcall popa add edi,esi add ebx,9 @@ -144,7 +144,7 @@ PL_getitemclick: ; out: eax- item # (0..n) mov ebx,1 mov eax,37 - int 0x40 + mcall sub eax,PLY-1 mov ebx,9 div bl @@ -240,7 +240,7 @@ PL_load: and dword[ebx],0 mov dword[ebx+12],20*512 mov eax,70 - int 0x40 + mcall test eax,eax jz .ok1 ; ebx- filesize cmp eax,6 @@ -310,7 +310,7 @@ PL_save: mov [ebx+12],edi mov byte[ebx],2 mov eax,70 - int 0x40 + mcall .ex: ret diff --git a/programs/media/midamp/trunk/thread.inc b/programs/media/midamp/trunk/thread.inc index 9f7ef99cdd..db36d9ab7b 100644 --- a/programs/media/midamp/trunk/thread.inc +++ b/programs/media/midamp/trunk/thread.inc @@ -29,14 +29,14 @@ new_thread: mov esi,play_area mov eax,55 mov ebx,eax - int 0x40 + mcall .nosound: end if movzx ebx,byte[play_area] and ebx,0x7f add [cur_tick],ebx mov eax,23 - int 0x40 + mcall cmp word[edi],0 jne .checkevt mov eax,IPC_NEXT diff --git a/programs/media/midiplay/trunk/build_en.bat b/programs/media/midiplay/trunk/build_en.bat index da6bfd0af1..1a1337502b 100644 --- a/programs/media/midiplay/trunk/build_en.bat +++ b/programs/media/midiplay/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm midiplay.asm midiplay +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/media/midiplay/trunk/build_ru.bat b/programs/media/midiplay/trunk/build_ru.bat index 0b312d4255..2aad8a2f90 100644 --- a/programs/media/midiplay/trunk/build_ru.bat +++ b/programs/media/midiplay/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm midiplay.asm midiplay +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/media/midiplay/trunk/macros.inc b/programs/media/midiplay/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/media/midiplay/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/media/midiplay/trunk/midiplay.asm b/programs/media/midiplay/trunk/midiplay.asm index 9c888b011b..f13e4e7de8 100644 --- a/programs/media/midiplay/trunk/midiplay.asm +++ b/programs/media/midiplay/trunk/midiplay.asm @@ -4,29 +4,28 @@ ; include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' use32 - - org 0x0 - db 'MENUET00' ; 8 byte id - dd 38 ; required os - dd START ; program start - dd I_END ; program image size - dd 0x1000 ; reguired amount of memory - dd 0x1000 - dd 0x00000000 ; reserved=no extended header - + org 0x0 + db 'MENUET01' ; header + dd 0x01 ; header version + dd START ; entry point + dd I_END ; image size + dd 0x1000 ; required memory + dd 0x1000 ; esp + dd 0x0 , 0x0 ; I_Param , I_Path START: + red: call draw_window still: mov eax,10 ; redraw ? - int 0x40 + mcall cmp eax,1 jz red @@ -34,13 +33,9 @@ still: jz button jmp still - red: - call draw_window - jmp still - button: mov eax,17 - int 0x40 + mcall cmp al,byte 0 jnz still @@ -49,7 +44,7 @@ still: jnz noexit mov eax,0xffffffff - int 0x40 + mcall noexit: @@ -59,7 +54,7 @@ still: mov eax,20 ; reset midi device mov ebx,1 mov ecx,0 - int 0x40 + mcall cmp eax,0 jz noe1 @@ -81,7 +76,7 @@ still: pusha mov eax,5 mov ebx,8 - int 0x40 + mcall popa mov ebx,0 ; call noteout @@ -93,7 +88,7 @@ still: pusha mov eax,5 mov ebx,8 - int 0x40 + mcall popa mov ebx,0 ; call noteout @@ -113,63 +108,41 @@ draw_window: mov eax,12 ; tell os about redraw mov ebx,1 - int 0x40 + mcall mov eax,0 ; define and draw window mov ebx,20*65536+250 mov ecx,20*65536+120 - mov edx,0x02ffffff - mov esi,0x805070d0;88ccee - mov edi,0x005070d0;88ccee - int 0x40 - - ; CLOSE BUTTON - mov eax,8 ; function 8 : define and draw - mov ebx,(250-19)*65536+12 ; [x start] *65536 + [x size] - mov ecx,5*65536+12 ; [y start] *65536 + [y size] - mov edx,1 ; button id - mov esi,0x5577cc ; button color RRGGBB - int 0x40 - - - mov eax,4 ; 4 = write text - mov ebx,8*65536+8 - mov ecx,dword 0x00ffffff ; 8b window nro - RR GG BB color - mov edx,labelt ; pointer to text beginning - mov esi,labellen-labelt ; text length - int 0x40 + mov edx,0x13ffffff + mov edi,title + mcall mov eax,8 mov ebx,10*65536+200 ; button start x & size mov ecx,40 *65536+17 ; button start y & size mov edx,2 ; button number mov esi,0x4060b0 ; button color - int 0x40 + mcall - mov eax,8 - mov ebx,10*65536+200 ; button start x & size mov ecx,60 *65536+17 ; button start y & size mov edx,3 ; button number - mov esi,0x4060b0 ; button color - int 0x40 + mcall - mov eax,dword 4 + mov eax,4 mov ebx,25*65536+45 mov ecx,dword 0xffffff mov edx,buttont mov esi,buttontlen-buttont - int 0x40 + mcall - mov eax,dword 4 mov ebx,25*65536+65 - mov ecx,dword 0xffffff mov edx,buttont2 mov esi,buttontlen2-buttont2 - int 0x40 + mcall mov eax,12 ; tell os about redraw end mov ebx,2 - int 0x40 + mcall popa ret @@ -185,15 +158,15 @@ noteout: mov eax,20 mov ebx,2 mov ecx,0x9f - int 0x40 + mcall mov eax,20 mov ebx,2 pop ecx - int 0x40 + mcall mov eax,20 mov ebx,2 pop ecx - int 0x40 + mcall cmp eax,0 jz noe2 @@ -212,14 +185,14 @@ printerror: mov ecx,0x000000 mov edx,error1 mov esi,errorlen1-error1 - int 0x40 + mcall mov eax,dword 4 mov ebx,15*65536+95 mov ecx,0x000000 mov edx,error2 mov esi,errorlen2-error2 - int 0x40 + mcall ret @@ -227,9 +200,7 @@ printerror: ; DATA AREA -labelt: - db 'MIDI TEST' -labellen: +title db 'MIDI TEST',0 buttont: db 'PLAY A FEW NOTES' @@ -248,7 +219,6 @@ errorlen2: base db 0x0 - I_END: diff --git a/programs/media/mixer/trunk/build_en.bat b/programs/media/mixer/trunk/build_en.bat index 336d14cf98..ad67da97a5 100644 --- a/programs/media/mixer/trunk/build_en.bat +++ b/programs/media/mixer/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm mixer.asm mixer +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/media/mixer/trunk/build_ru.bat b/programs/media/mixer/trunk/build_ru.bat index 37812295ae..c0096b60bd 100644 --- a/programs/media/mixer/trunk/build_ru.bat +++ b/programs/media/mixer/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm mixer.asm mixer +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/media/mixer/trunk/macros.inc b/programs/media/mixer/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/media/mixer/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/media/mixer/trunk/mixer.asm b/programs/media/mixer/trunk/mixer.asm index 6e8be35546..5fa8d618e4 100644 --- a/programs/media/mixer/trunk/mixer.asm +++ b/programs/media/mixer/trunk/mixer.asm @@ -5,30 +5,32 @@ ; Compile with FASM ; -use32 - - org 0x0 - db 'MENUET00' ; 8 byte id - dd 38 ; required os - dd START ; program start - dd I_END ; program image size - dd 0x1000 ; reguired amount of memory - dd 0x1000 - dd 0x00000000 ; reserved=no extended header - include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' + + +use32 + org 0x0 + db 'MENUET01' ; header + dd 0x01 ; header version + dd START ; entry point + dd I_END ; image size + dd 0x1000 ; required memory + dd 0x1000 ; esp + dd 0x0 , 0x0 ; I_Param , I_Path + + START: ; start of execution - + red: ; redraw call draw_window ; at first, draw the window still: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? jz red @@ -39,25 +41,20 @@ still: jmp still - red: ; redraw - call draw_window - - jmp still - key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall jmp still button: ; button mov eax,17 - int 0x40 + mcall cmp ah,1 ; button id=1 ? jnz noclose - mov eax,-1 ; close this program - int 0x40 + or eax,-1 ; close this program + mcall noclose: cmp ah,101 @@ -123,7 +120,7 @@ still: mov eax,25 mov ebx,1 - int 0x40 + mcall jmp still @@ -154,7 +151,7 @@ still: mov eax,25 mov ebx,2 - int 0x40 + mcall jmp still @@ -196,7 +193,7 @@ still: mov eax,28 mov ebx,1 - int 0x40 + mcall jmp still @@ -227,7 +224,7 @@ still: mov eax,28 mov ebx,2 - int 0x40 + mcall jmp still @@ -274,7 +271,7 @@ still: mov eax,27 mov ebx,1 - int 0x40 + mcall jmp still @@ -305,7 +302,7 @@ still: mov eax,27 mov ebx,2 - int 0x40 + mcall jmp still @@ -326,32 +323,16 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+195 ; [x start] *65536 + [x size] mov ecx,100*65536+140 ; [y start] *65536 + [y size] mov edx,[wcolor] ; color of work area RRGGBB - mov esi,0x8099bbff ; color of grab bar RRGGBB,8->color glide - mov edi,0x0099bbee ; color of frames RRGGBB - int 0x40 + mov edi,title ; WINDOW LABEL + mcall - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x00ffffff ; color of text RRGGBB - mov edx,labelt ; pointer to text beginning - mov esi,labellen-labelt ; text length - int 0x40 - - ; CLOSE BUTTON - mov eax,8 ; function 8 : define and draw button - mov ebx,(195-19)*65536+12 ; [x start] *65536 + [x size] - mov ecx,5*65536+12 ; [y start] *65536 + [y size] - mov edx,1 ; button id - mov esi,0x22aacc ; button color RRGGBB -; int 0x40 mov edx,16 ; button id mov ebx,10*65536 @@ -367,27 +348,23 @@ draw_window: mov bx,22 ; [x start] *65536 + [x size] mov ecx,35*65536+8 ; [y start] *65536 + [y size] dec edx - int 0x40 - mov eax,8 ; function 8 : define and draw button + mcall mov bx,22 ; [x start] *65536 + [x size] mov ecx,45*65536+8 ; [y start] *65536 + [y size] dec edx - int 0x40 - mov eax,8 ; function 8 : define and draw button + mcall mov bx,22 ; [x start] *65536 + [x size] mov ecx,55*65536+8 ; [y start] *65536 + [y size] dec edx - int 0x40 - mov eax,8 ; function 8 : define and draw button + mcall mov bx,22 ; [x start] *65536 + [x size] mov ecx,65*65536+8 ; [y start] *65536 + [y size] dec edx - int 0x40 - mov eax,8 ; function 8 : define and draw button + mcall mov bx,22 ; [x start] *65536 + [x size] mov ecx,75*65536+8 ; [y start] *65536 + [y size] dec edx - int 0x40 + mcall pop ebx pop edx @@ -408,20 +385,20 @@ draw_window: mov ecx,0x00ffffff ; color of text RRGGBB mov edx,text ; pointer to text beginning mov esi,29 - int 0x40 + mcall mov eax,8 ; function 8 : define and draw button mov ebx,(5)*65536+185 ; [x start] *65536 + [x size] mov ecx,120*65536+14 ; [y start] *65536 + [y size] mov edx,101 ; button id mov esi,[bcolor] ; button color RRGGBB - int 0x40 + mcall call drawusedcard mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -434,7 +411,7 @@ drawusedcard: mov ebx,14*65536+160 mov ecx,123*65536+10 mov edx,[bcolor] - int 0x40 + mcall mov eax,[usecard] mov edx,c3 @@ -456,7 +433,7 @@ drawusedcard: mov ebx,14*65536+123 mov ecx,0x00ffffff mov esi,30 - int 0x40 + mcall popa @@ -468,7 +445,7 @@ drawusedcard: bcolor dd 0x5577c8 -wcolor dd 0x03000000 +wcolor dd 0x13000000 text: @@ -481,9 +458,7 @@ c3 db 'WINDOWS SOUND SYSTEM ' usecard dd 0x1 -labelt: - db 'MIXER' -labellen: +title db 'MIXER',0 I_END: diff --git a/programs/media/mp3s/trunk/macros.inc b/programs/media/mp3s/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/media/mp3s/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/media/mv/trunk/build_en.bat b/programs/media/mv/trunk/build_en.bat index 71f0fca5be..858211d2e8 100644 --- a/programs/media/mv/trunk/build_en.bat +++ b/programs/media/mv/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm mv.asm mv +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/media/mv/trunk/build_ru.bat b/programs/media/mv/trunk/build_ru.bat index 2b91faf80c..b57754cc65 100644 --- a/programs/media/mv/trunk/build_ru.bat +++ b/programs/media/mv/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm mv.asm mv +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/media/mv/trunk/macros.inc b/programs/media/mv/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/media/mv/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/media/mv/trunk/mv.asm b/programs/media/mv/trunk/mv.asm index 3ea326543e..9609ccc74f 100644 --- a/programs/media/mv/trunk/mv.asm +++ b/programs/media/mv/trunk/mv.asm @@ -15,7 +15,7 @@ dd temp_area , 0x0 ; I_Param , I_Icon include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' ;****************************************************************************** START: ; start of execution @@ -27,7 +27,7 @@ START: ; start of execution call convert call background or eax,-1 - int 0x40 + mcall .no_boot: cmp byte [temp_area],0 @@ -52,7 +52,7 @@ START: ; start of execution .no_param: - mov ecx,-1 ; get information about me + or ecx,-1 ; get information about me call getappinfo mov edx,[process_info+30] ; теперь в edx наш идентификатор @@ -75,7 +75,7 @@ draw_still: still: mov eax,10 ; wait here for event - int 0x40 + mcall dec eax jz red @@ -84,7 +84,7 @@ still: key: ; key mov al,2 - int 0x40 + mcall mov al,ah cmp al,6 je kfile @@ -102,19 +102,19 @@ still: mov al, 18 mov ebx, 3 mov ecx, [process] - int 0x40 + mcall and byte [status], not 4 jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose mov eax,-1 ; close this program - int 0x40 + mcall noclose: cmp ah,2 jne nofile @@ -126,7 +126,7 @@ still: mov ebx,1 mov ecx,thread1 mov edx,0x29fff0 - int 0x40 + mcall jmp still nofile: cmp ah,3 @@ -141,7 +141,7 @@ still: add ecx,50*65536-55 mov edx,0xffffff mov eax,13 - int 0x40 + mcall call load_image @@ -163,7 +163,7 @@ still: mov ebx,1 mov ecx,thread2 mov edx,0x2afff0 - int 0x40 + mcall jmp still noinfo: @@ -178,21 +178,21 @@ still: mov ebx,1 mov ecx,thread3 mov edx,0x2bfff0 - int 0x40 + mcall jmp still ;call background getappinfo: mov eax,9 mov ebx,process_info - int 0x40 + mcall ret load_image: mov eax, 70 mov ebx, fileinfo - int 0x40 + mcall mov eax,[I_END+18] mov ebx,[I_END+22] test ebx, ebx @@ -218,7 +218,7 @@ load_image: mov ecx,-1 mov ebx,-1 mov eax,67 - int 40h + mcall @@: ret @@ -235,7 +235,7 @@ load_image: neg cx @@: mov edx,10*65536+50 - int 0x40 + mcall nodrawimage: ret @@ -247,7 +247,7 @@ load_image: mov ebx,1 mov ecx,[I_END+18] ; ширина mov edx,[I_END+22] ; высота - int 0x40 + mcall mov esi, ecx imul esi, edx @@ -256,14 +256,14 @@ load_image: mov ecx,[soi] xor edx,edx ;;; mov esi, ;640*480*3 - int 0x40 + mcall dec ebx ;tile/stretch mov ecx,dword [bgrmode] - int 0x40 + mcall dec ebx - int 0x40 + mcall @@: ret @@ -443,7 +443,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW xor eax,eax ; function 0 : define and draw window @@ -454,7 +454,7 @@ draw_window: add ebx,[wnd_width] add ecx,[wnd_height] mov edx,0x03ffffff ; color of work area RRGGBB,8->color gl - int 0x40 + mcall mov eax,8 mov ebx,10*65536+46 @@ -462,7 +462,7 @@ draw_window: mov edx,2 mov esi,0x780078 newbutton: - int 0x40 + mcall add ebx,48*65536 inc edx cmp edx,6 @@ -474,18 +474,18 @@ draw_window: mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB ) mov edx,labelt ; pointer to text beginning mov esi,12 ; text length - int 0x40 + mcall mov ebx,14*65536+32 mov edx,buttext mov esi,26 - int 0x40 + mcall call drawimage mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -507,7 +507,7 @@ thread1: ; start of thread1 still1: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? je thread1 @@ -519,7 +519,7 @@ still1: jmp still1 key1: ; key - int 0x40 + mcall cmp ah,179 jne noright mov eax,[pos] @@ -596,7 +596,7 @@ still1: button1: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose1 @@ -605,13 +605,13 @@ still1: bts dword [status],2 btr dword [status],0 mov eax,-1 ; close this program - int 0x40 + mcall noclose1: cmp ah,2 jne nosetcur mov eax,37 mov ebx,1 - int 0x40 + mcall shr eax,16 sub eax,21 xor edx,edx @@ -645,14 +645,14 @@ draw_window1: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW xor eax,eax ; function 0 : define and draw window mov ebx,100*65536+300 ; [x start] *65536 + [x size] mov ecx,100*65536+80 ; [y start] *65536 + [y size] mov edx,0x03780078 ; color of work area RRGGBB,8->color gl - int 0x40 + mcall ; WINDOW LABEL mov eax,4 ; function 4 : write text to window @@ -660,13 +660,13 @@ draw_window1: mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB ) mov edx,labelt1 ; pointer to text beginning mov esi,labelt1.size ; text length - int 0x40 + mcall call drawstring mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -676,11 +676,11 @@ draw_window1: mov ebx,21*65536+258 mov ecx,40*65536+15 mov edx,0x60000002 - int 0x40 + mcall mov eax,13 ;bar mov edx,0xe0e0e0 - int 0x40 + mcall push eax ;cursor mov eax,6*65536 mul dword [pos] @@ -688,13 +688,13 @@ draw_window1: mov ebx,eax pop eax mov edx,0x6a73d0 - int 0x40 + mcall mov eax,4 ;path mov ebx,21*65536+44 xor ecx,ecx mov edx,string mov esi,43 - int 0x40 + mcall popa @@ -714,7 +714,7 @@ thread2: ; start of info thread still2: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? je thread2 @@ -727,7 +727,7 @@ still2: button2: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose2 @@ -735,7 +735,7 @@ still2: btr dword [status],1 bts dword [status],2 mov eax,-1 ; close this program - int 0x40 + mcall noclose2: jmp still2 @@ -753,14 +753,14 @@ draw_window2: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW xor eax,eax ; function 0 : define and draw window mov ebx,100*65536+330 ; [x start] *65536 + [x size] mov ecx,100*65536+90 ; [y start] *65536 + [y size] mov edx,0x03780078 ; color of work area RRGGBB,8->color gl - int 0x40 + mcall ; WINDOW LABEL mov eax,4 ; function 4 : write text to window @@ -768,17 +768,17 @@ draw_window2: mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB ) mov edx,labelt2 ; pointer to text beginning mov esi,labelt2.size ; text length - int 0x40 + mcall mov ebx,10*65536+30 mov edx,string mov esi,43 - int 0x40 + mcall mov edx,fitext mov esi,14 add ebx,70*65536+10 followstring: - int 0x40 + mcall add ebx,10 add edx,esi cmp ebx,80*65536+70 @@ -788,23 +788,23 @@ draw_window2: mov esi,ecx mov ecx, [I_END+2] call digitcorrect - int 0x40 + mcall add edx,10 mov ecx, [I_END+18] call digitcorrect - int 0x40 + mcall add edx,10 mov ecx, [I_END+22] call digitcorrect - int 0x40 + mcall add edx,10 movzx ecx,word [I_END+28] call digitcorrect - int 0x40 + mcall mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -861,7 +861,7 @@ thread3: ; start of bgrd thread still3: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? je thread3 @@ -873,7 +873,7 @@ still3: jmp still3 key3: - int 0x40 + mcall cmp ah,27 je close3 cmp ah,13 @@ -897,7 +897,7 @@ still3: button3: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose3 @@ -905,7 +905,7 @@ still3: btr dword [status],3 bts dword [status],2 mov eax,-1 ; close this program - int 0x40 + mcall noclose3: cmp ah,4 jne nook @@ -936,21 +936,21 @@ draw_window3: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW xor eax,eax ; function 0 : define and draw window mov ebx,100*65536+200 ; [x start] *65536 + [x size] mov ecx,100*65536+100 ; [y start] *65536 + [y size] mov edx,0x03780078 ; color of work area RRGGBB,8->color gl - int 0x40 + mcall mov eax,8 mov ebx,70*65536+40 mov ecx,70*65536+20 mov edx,4 mov esi,0xac0000 - int 0x40 + mcall ; WINDOW LABEL mov eax,4 ; function 4 : write text to window @@ -958,30 +958,30 @@ draw_window3: mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB ) mov edx,labelt3 ; pointer to text beginning mov esi,labelt3.size ; text length - int 0x40 + mcall add ebx,38*65536+20 mov ecx,0xddeeff mov edx, bgrdtext mov esi, bgrdtext.size - int 0x40 + mcall add ebx,40*65536+15 mov edx, tiled mov esi, tiled.size - int 0x40 + mcall add ebx,15 mov edx, stretch mov esi, stretch.size ;7 - int 0x40 + mcall add ebx,18 mov edx, ok_btn mov esi, ok_btn.size ;2 - int 0x40 + mcall call drawflags mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -991,10 +991,10 @@ draw_window3: mov ecx,40*65536+10 mov edx,2 mov esi,0xe0e0e0 - int 0x40 + mcall add ecx,15*65536 inc edx - int 0x40 + mcall mov eax,4 mov ebx,73*65536+42 xor ecx,ecx @@ -1004,7 +1004,7 @@ draw_window3: je nodownflag add ebx,15 nodownflag: - int 0x40 + mcall ret diff --git a/programs/media/pic4/trunk/build_en.bat b/programs/media/pic4/trunk/build_en.bat index d30b32c4d8..d199cb4124 100644 --- a/programs/media/pic4/trunk/build_en.bat +++ b/programs/media/pic4/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm pic4.asm pic4 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/media/pic4/trunk/build_ru.bat b/programs/media/pic4/trunk/build_ru.bat index 48db988e18..dde3f82128 100644 --- a/programs/media/pic4/trunk/build_ru.bat +++ b/programs/media/pic4/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm pic4.asm pic4 +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/media/pic4/trunk/macros.inc b/programs/media/pic4/trunk/macros.inc deleted file mode 100644 index 14185dbfce..0000000000 --- a/programs/media/pic4/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/media/pic4/trunk/pic4.asm b/programs/media/pic4/trunk/pic4.asm index ec7488cc2e..bf1ff85f43 100644 --- a/programs/media/pic4/trunk/pic4.asm +++ b/programs/media/pic4/trunk/pic4.asm @@ -12,7 +12,7 @@ dd I_Param,0 include 'lang.inc' - include 'macros.inc' + include '..\..\..\macros.inc' START: mov eax,48 @@ -31,18 +31,16 @@ START: still: mov eax,10 ; wait here for event - int 0x40 - cmp eax,1 + mcall + + dec eax jz red - cmp eax,2 - jz key - cmp eax,3 - jz button - jmp still + dec eax + jnz button key: - mov eax,2 - int 0x40 + mov al,2 + mcall jmp still red: @@ -50,21 +48,20 @@ still: jmp still button: - mov eax,17 - int 0x40 + mov al,17 + mcall shr eax,8 - and eax,255 cmp eax,101 ; tiled jne no101 mov eax,15 mov ebx,4 mov ecx,1 - int 0x40 + mcall mov eax,15 mov ebx,3 - int 0x40 + mcall jmp still no101: @@ -73,18 +70,18 @@ still: mov eax,15 mov ebx,4 mov ecx,2 - int 0x40 + mcall mov eax,15 mov ebx,3 - int 0x40 + mcall jmp still no102: cmp eax,1 ; end program - jnz noproend + jnz no_end or eax,-1 - int 0x40 - noproend: + mcall + no_end: cmp eax,11 jz bg @@ -126,7 +123,7 @@ check_parameters: mov ebx,1 mov ecx,256 mov edx,256 - int 0x40 + mcall mov eax,15 mov ebx,5 @@ -134,19 +131,19 @@ check_parameters: ; <<< 0x40000+2 for green background at boot mov edx,0 mov esi,256*3*256 - int 0x40 + mcall mov eax,15 mov ebx,4 mov ecx,2 - int 0x40 + mcall mov eax,15 mov ebx,3 - int 0x40 + mcall mov eax,-1 - int 0x40 + mcall @@ -194,18 +191,18 @@ bg: mov ebx,1 mov ecx,256 mov edx,256 - int 0x40 + mcall mov eax,15 mov ebx,5 mov ecx,edi mov edx,0 mov esi,256*256*3 - int 0x40 + mcall mov eax,15 mov ebx,3 - int 0x40 + mcall jmp still @@ -216,35 +213,30 @@ bg2: push eax + mcall 15,4,1 + mov eax,15 mov ebx,1 - mov ecx,8 - mov edx,8 - int 0x40 - - mov eax,[esp] + mov ecx,1 + mov edx,1 + mcall + pop eax sub eax,14 - shl eax,2 + imul eax,3 - mov edx,[colors+eax] + mov ecx,fill + add ecx,eax - mov esi,32*32*4 - mov edi,0 - mov ecx,0 - dbl2: mov eax,15 - mov ebx,2 - int 0x40 - add ecx,3 - inc edi - cmp edi,esi - jb dbl2 - + mov ebx,5 + xor edx,edx + mov esi,3*1*1 + mcall mov eax,15 mov ebx,3 - int 0x40 + mcall jmp still @@ -261,11 +253,11 @@ bg4: mov eax,15 mov ebx,1 - int 0x40 + mcall mov eax,15 mov ebx,3 - int 0x40 + mcall jmp still @@ -362,7 +354,7 @@ draw_image: mov ebx,0x40000 mov ecx,256*65536+255 mov edx,14*65536+40;55 - int 0x40 + mcall ret @@ -377,15 +369,15 @@ draw_window: mov eax, 12 ; tell os about draw mov ebx, 1 - int 0x40 + mcall xor eax, eax ; define and draw window mov ebx, 220*65536+293 mov ecx, 50*65536+408 mov edx, [sc.work] or edx, 0x33000000 - mov edi, header - int 0x40 + mov edi, title + mcall call draw_image @@ -394,46 +386,46 @@ draw_window: mov ecx,y_add*65536+y_s mov edx,11 mov esi,0x005555bb - int 0x40 + mcall ;mov eax,8 ; Red button mov ebx,(set+208+27)*65536+17 mov edx,12 mov esi,0x00bb5555 - int 0x40 + mcall ;mov eax,8 ; Green button mov ebx,(set+253)*65536+17 mov edx,13 mov esi,0x0055bb55 - int 0x40 + mcall ;mov eax, 8 ; tiled mov ebx, 90*65536+63 mov ecx, y_add*65536+y_s mov edx, 101 mov esi, [sc.work_button] - int 0x40 + mcall ;mov eax, 8 ; stretch mov ebx, 154*65536+61 mov edx, 102 - int 0x40 + mcall mov eax, 4 mov ebx, 215*65536+5 mov ecx, [sc.work_text] mov edx, apply_text mov esi, apply_text.size - int 0x40 + mcall mov ebx, 14*65536+301 mov edx, image_buttons_text mov esi, image_buttons_text.size - int 0x40 + mcall mov ebx, 14*65536+(y_add2+27) mov edx, simple_text mov esi, simple_text.size - int 0x40 + mcall mov ecx, (y_add2)*65536+20 mov ebx, (13)*65536+25 @@ -442,7 +434,7 @@ draw_window: mov edi, 9 mov eax, 8 @@: - int 0x40 + mcall add ebx, 29*65536 inc edx dec edi @@ -451,11 +443,11 @@ draw_window: mov edx, 34+4 mov edi, 4 - mov eax, 8 + ;mov eax, 8 mov ebx, 13*65536+18 mov ecx, y_add*65536+y_s @@: - int 0x40 + mcall inc edx add ebx, 19*65536 dec edi @@ -463,6 +455,7 @@ draw_window: ;----------------------- + mov eax,8 mov edx,14 ; button number mov ebx,(13)*65536+17 ; button start x & size mov ecx,(y_add2+40)*65536+14 ; button start y & size @@ -470,12 +463,10 @@ draw_window: newcb: mov esi,[(edx-14)*4+colors] - mov eax,8 - int 0x40 + mcall inc edx add ebx,20*65536 - add esi,5*256*256 cmp edx,27 jnz newcb @@ -486,11 +477,11 @@ draw_window: mov ecx, [sc.work_button_text] mov edx, la2 mov esi, la2.size - int 0x40 + mcall mov eax,12 mov ebx,2 - int 0x40 + mcall ret @@ -499,9 +490,9 @@ draw_window: ; DATA SECTION if lang eq ru - header db 'Генератор фона рабочего стола',0 + title db 'Генератор фона рабочего стола',0 else - header db 'Background',0 + title db 'Background',0 end if lsz apply_text,\ @@ -535,9 +526,23 @@ colors: dd 0x775533 dd 0x773355 dd 0x553377 - dd 0x000000 + dd 0x111111 dd 0xcccccc +fill: + db 0x00,0x00,0x77 + db 0x00,0x77,0x00 + db 0x77,0x00,0x00 + db 0x00,0x77,0x77 + db 0x77,0x00,0x77 + db 0x77,0x77,0x00 + db 0x77,0x77,0x77 + db 0x77,0x55,0x33 + db 0x33,0x55,0x77 + db 0x55,0x33,0x77 + db 0x77,0x33,0x55 + db 0x11,0x11,0x11 + db 0xcc,0xcc,0xcc shape: diff --git a/programs/media/sb/trunk/build_en.bat b/programs/media/sb/trunk/build_en.bat index 5636ed62d6..03598e3226 100644 --- a/programs/media/sb/trunk/build_en.bat +++ b/programs/media/sb/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm sb.asm sb +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/media/sb/trunk/build_ru.bat b/programs/media/sb/trunk/build_ru.bat index 1d1cd0f5a9..d8355ece23 100644 --- a/programs/media/sb/trunk/build_ru.bat +++ b/programs/media/sb/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm sb.asm sb +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/media/sb/trunk/macros.inc b/programs/media/sb/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/media/sb/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/media/sb/trunk/sb.asm b/programs/media/sb/trunk/sb.asm index 5f96eff88a..049301d3cb 100644 --- a/programs/media/sb/trunk/sb.asm +++ b/programs/media/sb/trunk/sb.asm @@ -5,7 +5,7 @@ ; include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' use32 @@ -43,7 +43,7 @@ START: ; start of execution mov eax,26 mov ebx,9 - int 0x40 + mcall mov [next_tic],eax still: @@ -58,11 +58,11 @@ still: mov ebx,2 mov ecx,0 mov edx,[mono_stereo] - int 0x40 + mcall mov eax,23 ; wait here for event mov ebx,1 - int 0x40 + mcall cmp eax,0 jne do_task @@ -74,7 +74,7 @@ still2: mov eax,26 mov ebx,9 - int 0x40 + mcall mov ebx,[next_tic] cmp eax,ebx jge play_wave_block @@ -101,7 +101,7 @@ still2: jne no_irman mov eax,42 mov ebx,4 - int 0x40 + mcall dec [ir_count] cmp bl,140 jne no_first @@ -136,15 +136,15 @@ still2: mov eax,55 ; load wave mov ebx,0 mov ecx,[playposition] - int 0x40 + mcall mov eax,55 ; play wave mov ebx,1 - int 0x40 + mcall mov eax,26 mov ebx,9 - int 0x40 + mcall add eax,[delay] mov [next_tic],eax @@ -159,12 +159,12 @@ still2: key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall jmp still2 button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,6 jne no_ir @@ -233,15 +233,15 @@ still2: mov eax,45 mov ebx,1 mov ecx,4 - int 0x40 + mcall mov eax,46 mov ebx,1 mov ecx,0x3f0 mov edx,0x3ff - int 0x40 + mcall no_dis: mov eax,-1 ; close this program - int 0x40 + mcall noclose: jmp still2 @@ -254,7 +254,7 @@ give_wav: mov eax,55 mov ebx,0 mov ecx,0x20000 - int 0x40 + mcall popa ret @@ -300,7 +300,7 @@ draw_volume: sub esi,edx add ecx,esi mov edx,0x00ff00 - int 0x40 + mcall mov eax,13 mov ebx,320*65536+20 @@ -311,7 +311,7 @@ draw_volume: shl edx,16 sub ecx,edx mov edx,0xff0000 - int 0x40 + mcall popa @@ -329,7 +329,7 @@ read_header: mov eax,58 mov ebx,file_info - int 0x40 + mcall movzx eax,byte [0x10000+1024+12+10] mov [channels],eax @@ -381,17 +381,17 @@ unknownformat: mov ebx,190*65536+10 mov ecx,104*65536+10 mov edx,0xff0000 - int 0x40 + mcall pusha mov eax,5 mov ebx,[pause_between_songs] - int 0x40 + mcall popa mov eax,13 mov edx,0x000000 - int 0x40 + mcall popa @@ -430,12 +430,12 @@ read_wav: mov eax,58 mov ebx,file_info - int 0x40 + mcall pusha mov eax,11 - int 0x40 + mcall cmp eax,1 jne no_wd call draw_window @@ -448,7 +448,7 @@ read_wav: mov ecx,71*65536+71 add ebx,25*65536+25 mov edx,0x555555 -; int 0x40 +; mcall mov eax,38 mov ebx,[esp+32-12] and ebx,65536/512 -1 @@ -456,7 +456,7 @@ read_wav: add ebx,25*65536+25 mov ecx,71*65536+71 mov edx,0x999999 -; int 0x40 +; mcall popa cmp eax,0 @@ -476,7 +476,7 @@ read_wav: mov eax,5 mov ebx,[pause_between_songs] add ebx,[delay] - int 0x40 + mcall call read_header @@ -632,11 +632,11 @@ read_string: f11: mov eax,10 - int 0x40 + mcall cmp eax,2 jne read_done mov eax,2 - int 0x40 + mcall shr eax,8 cmp eax,13 je read_done @@ -689,7 +689,7 @@ display_progress: mov ebx,25*65536+215 mov ecx,61*65536+8 mov edx,[border] - int 0x40 + mcall cmp [onoff],1 je yes_playing @@ -710,13 +710,13 @@ display_progress: mov ecx,61*65536+1 mov edx,[drawp] newbar: - int 0x40 + mcall add edx,0x101010 add ecx,1*65536 cmp ecx,65*65536 jb newbar newbar2: - int 0x40 + mcall sub edx,0x101010 add ecx,1*65536 cmp ecx,69*65536 @@ -738,7 +738,7 @@ display_progress: mov eax,13 mov edi,5 newb: -; int 0x40 +; mcall add ebx,1*65536-2 add ecx,1*65536-2 sub edx,0x332211;3366aa @@ -758,14 +758,14 @@ display_progress: mov ebx,42*65536+33*6 mov ecx,114*65536+11 mov edx,0x000000 - int 0x40 + mcall mov eax,4 mov ebx,42*65536+117 mov ecx,[textc] mov edx,now_playing mov esi,38 - int 0x40 + mcall popa @@ -781,12 +781,12 @@ shape_window: mov eax,50 mov ebx,0 mov ecx,shape_reference - int 0x40 + mcall mov eax,50 mov ebx,1 mov ecx,4 - int 0x40 + mcall popa @@ -809,16 +809,16 @@ enable_ir: mov ebx,0 mov ecx,0x3f0 mov edx,0x3ff - int 0x40 + mcall mov eax,45 mov ebx,0 mov ecx,4 - int 0x40 + mcall mov eax,40 mov ebx,10000b shl 16 + 111b - int 0x40 + mcall mov [infrared_enabled],1 @@ -841,58 +841,50 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+320 ; [x start] *65536 + [x size] mov ecx,100*65536+140 ; [y start] *65536 + [y size] mov edx,[bgr] - add edx,0x03000000 ; color of work area RRGGBB,8->color gl - mov esi,0x808844ee - mov edi,0x008844ee ; color of frames RRGGBB - int 0x40 - - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x10ffffff ; color of text RRGGBB - mov edx,labelt ; pointer to text beginning - mov esi,labellen-labelt ; text length - int 0x40 + or edx,0x13000000 ; color of work area RRGGBB,8->color gl + mov edi,title ; WINDOW LABEL + mcall + mov eax,8 ; START/STOP - id 2 mov ebx,24*65536+77 mov ecx,80*65536+16 mov edx,2 mov esi,[border] - int 0x40 + mcall inc edx ; << / >> - id 3 , 4 add ebx,86*65536-57 mov eax,8 - int 0x40 + mcall inc edx add ebx,24*65536 mov eax,8 - int 0x40 + mcall mov eax,8 ; REPEAT add ebx,29*65536+54 inc edx - int 0x40 + mcall mov eax,8 ; enable infrared add ebx,98*65536-33 add ecx,10*65536+10 inc edx - int 0x40 + mcall pusha mov eax,8 mov ebx,25*65536+9 mov ecx,115*65536+9 inc edx - int 0x40 + mcall popa mov eax,4 @@ -902,11 +894,11 @@ draw_window: mov ecx,0xffffff mov edx,infrared_text mov esi,10 - int 0x40 + mcall add ebx,11 add edx,10 mov eax,4 - int 0x40 + mcall mov ebx,25*65536+35 ; draw info text with function 4 mov ecx,[textc] @@ -914,7 +906,7 @@ draw_window: mov esi,40 newline: mov eax,4 - int 0x40 + mcall add ebx,10 add edx,40 cmp [edx],byte 'x' @@ -926,7 +918,7 @@ draw_window: mov eax,12 mov ebx,2 - int 0x40 + mcall popa ret @@ -944,7 +936,7 @@ draw_wave: mov ebx,260*65536+43 mov ecx,42*65536+32 mov edx,[border] - int 0x40 + mcall mov esi,[playposition] mov ebx,260 @@ -955,7 +947,7 @@ draw_wave: shr ecx,3 add ecx,42 mov edx,[drawc];0x2255aa - int 0x40 + mcall add esi,2 @@ -1003,8 +995,6 @@ wavfile: db ' ' -labelt: - db ' WAVE PLAYER : 8b Mono - 16b Stereo' -labellen: +title db ' WAVE PLAYER : 8b Mono - 16b Stereo',0 I_END: diff --git a/programs/media/scrshoot/macros.inc b/programs/media/scrshoot/macros.inc index 6e39ffb313..707f626185 100644 --- a/programs/media/scrshoot/macros.inc +++ b/programs/media/scrshoot/macros.inc @@ -9,6 +9,10 @@ include 'file_sys.inc' include 'textwork.inc' ;include 'ini.inc' +__CPU_type equ p5 +SYSENTER_VAR equ 0 + + macro movr reg,val { if val < 65536 @@ -19,6 +23,49 @@ else end if } +macro mcall a,b,c,d,e,f { ; mike.dld, updated by Ghost for Fast System Calls + local ..ret_point + __mov eax,a + __mov ebx,b + __mov ecx,c + __mov edx,d + __mov esi,e + __mov edi,f + + if __CPU_type eq p5 + int 0x40 + else + if __CPU_type eq p6 + push ebp + mov ebp, esp + push ..ret_point ; it may be 2 or 5 byte + sysenter + ..ret_point: + pop edx + pop ecx + + else + if __CPU_type eq k6 + push ecx + syscall + pop ecx + else + display 'ERROR : unknown CPU type' + int 0x40 + end if + end if + end if +} + +macro __mov reg,a,b { ; mike.dld + if (~a eq)&(~b eq) + mpack reg,a,b + else if (~a eq)&(b eq) + mov reg,a + end if +} + + ;--- заголовок --- macro meos_header par_buf,cur_dir_buf { diff --git a/programs/media/scrshoot/scrshoot.asm b/programs/media/scrshoot/scrshoot.asm index 959bf8c09a..fbe345a4fd 100644 --- a/programs/media/scrshoot/scrshoot.asm +++ b/programs/media/scrshoot/scrshoot.asm @@ -13,11 +13,11 @@ include 'macros.inc' ; meos_header cmdstr ; вставляем заголовок программы include 'scrwin.inc' ; вставляем код окна прдпросмотра include 'scrsavef.inc'; вставляем процедуру сохранения файла - use_edit_box ; \ - use_txt_button ; | - use_label ; |-- GUI компоненты и некоторые процедуры - use_check_box ; | - use_text_work ; / + use_edit_box structure_of_potock,22,5 ; \ + use_txt_button ; | + use_label ; |-- GUI компоненты и некоторые процедуры + use_check_box ; | + use_text_work ; / include 'gp.inc' include 'srectwin.inc' include 'lang.inc' @@ -492,10 +492,10 @@ status label 5,201,0,no_shoot labels_end: editboxes: -edit1 edit_box 300,5,35,cl_white,0,0,0,1024,ed_buffer.1,ed_focus ; путь к файлу -edit2 edit_box 35,75,134,cl_white,0,0,0,9,ed_buffer.2,ed_figure_only ; задержка -edit3 edit_box 35,165,164,cl_white,0,0,0,9,ed_buffer.3,ed_figure_only -edit4 edit_box 16,165,181,cl_white,0,0,0,1,sign_n_input,ed_figure_only,1 +edit1 edit_box 300,5,35,cl_white,0xaabbcc,0,0,0,1024,ed_buffer.1,ed_focus ; путь к файлу +edit2 edit_box 35,75,134,cl_white,0xaabbcc,0,0,0,9,ed_buffer.2,ed_figure_only ; задержка +edit3 edit_box 35,165,164,cl_white,0xaabbcc,0,0,0,9,ed_buffer.3,ed_figure_only +edit4 edit_box 16,165,181,cl_white,0xaabbcc,0,0,0,1,sign_n_input,ed_figure_only,1 editboxes_end: buttons: diff --git a/programs/network/VNCclient/ETH.INC b/programs/network/VNCclient/ETH.INC index 7b80e8fa93..e01c00f303 100644 --- a/programs/network/VNCclient/ETH.INC +++ b/programs/network/VNCclient/ETH.INC @@ -12,7 +12,6 @@ ; v1.1: december 2006 bugfixes and improvements ; - macro mov arg1,arg2 { if arg1 eq arg2 else @@ -43,7 +42,7 @@ ACTIVE = 1 macro eth.get_IP IP { mov ebx,1 mov eax,52 - int 0x40 + mcall mov IP ,eax } @@ -54,7 +53,7 @@ macro eth.get_IP IP { macro eth.get_GATEWAY GATEWAY { mov ebx,9 mov eax,52 - int 0x40 + mcall move GATEWAY ,eax } @@ -64,7 +63,7 @@ macro eth.get_GATEWAY GATEWAY { macro eth.get_SUBNET SUBNET { mov ebx,10 mov eax,52 - int 0x40 + mcall mov SUBNET ,eax } @@ -74,7 +73,7 @@ macro eth.get_SUBNET SUBNET { macro eth.get_DNS DNS { mov ebx,13 mov eax,52 - int 0x40 + mcall mov DNS ,eax } @@ -85,7 +84,7 @@ macro eth.set_IP IP { mov ecx,IP mov ebx,3 mov eax,52 - int 0x40 + mcall } ; eth.set_GATEWAY eax @@ -95,7 +94,7 @@ macro eth.set_GATEWAY GATEWAY { mov ecx,GATEWAY mov ebx,11 mov eax,52 - int 0x40 + mcall } ; eth.set_SUBNET eax @@ -105,7 +104,7 @@ macro eth.set_SUBNET SUBNET { mov ecx,SUBNET mov ebx,12 mov eax,52 - int 0x40 + mcall } ; eth.set_DNS eax @@ -115,7 +114,7 @@ macro eth.set_DNS DNS { mov ecx,DNS mov ebx,14 mov eax,52 - int 0x40 + mcall } ; eth.open eax,80,ebx,[socket] @@ -128,7 +127,7 @@ macro eth.open_udp local,remote,ip,socket { mov esi, ip mov ebx, 0 mov eax, 53 - int 0x40 + mcall mov socket,eax } @@ -140,7 +139,7 @@ macro eth.close_udp socket { mov ecx, socket mov ebx, 1 mov eax, 53 - int 0x40 + mcall } ; eth.poll [socket],eax @@ -151,7 +150,7 @@ macro eth.poll socket { mov ecx, socket mov ebx, 2 mov eax, 53 - int 0x40 + mcall } ; eth.read_byte [socket], bl @@ -161,7 +160,7 @@ macro eth.read_byte socket, result { mov ecx, socket mov ebx, 3 mov eax, 53 - int 0x40 + mcall mov result,bl } @@ -174,7 +173,7 @@ macro eth.read_packet socket, result { mov ecx, socket mov ebx, 10 mov eax, 53 - int 0x40 + mcall } ; eth.write [socket],12,msg @@ -187,7 +186,7 @@ macro eth.write_udp socket,length,msg,verify { mov esi, msg mov ebx, 4 mov eax, 53 - int 0x40 + mcall if verify eq 1 call verifysend @@ -203,9 +202,10 @@ verifysend: pusha mov eax,5 mov ebx,100 - int 0x40 + mcall + popa - int 0x40 + mcall ret ; eth.open_tcp 80,80,eax,0,[socket] @@ -220,7 +220,7 @@ macro eth.open_tcp local,remote,ip,passive,socket { mov edi, passive ; 0 = PASSIVE open mov ebx, 5 mov eax, 53 - int 0x40 + mcall mov socket,eax } @@ -232,7 +232,7 @@ macro eth.socket_status socket,result { mov ecx, socket mov ebx, 6 mov eax, 53 - int 0x40 + mcall mov result,eax } @@ -248,7 +248,7 @@ macro eth.write_tcp socket,length,msg,verify { mov esi, msg mov ebx, 7 mov eax, 53 - int 0x40 + mcall if verify eq 1 call verifysend @@ -262,7 +262,7 @@ macro eth.close_tcp socket { mov ecx, socket mov ebx, 8 mov eax, 53 - int 0x40 + mcall } ; eth.check_port 165,eax @@ -273,7 +273,7 @@ macro eth.check_port port,result { mov ecx, port mov ebx, 9 mov eax, 53 - int 0x40 + mcall mov result,eax } @@ -285,7 +285,7 @@ macro eth.status status { mov ebx, 255 mov ecx, 6 mov eax, 53 - int 0x40 + mcall mov status,eax } @@ -340,7 +340,7 @@ local .getdata,.loop,.end .loop: mov eax,5 mov ebx,1 - int 0x40 + mcall eth.poll socket @@ -376,7 +376,7 @@ macro eth.wait_for_data socket,TIMEOUT,abort { mov eax,5 ; wait here for event mov ebx,10 - int 0x40 + mcall jmp @r @@: diff --git a/programs/network/VNCclient/VNCclient.asm b/programs/network/VNCclient/VNCclient.asm index 30d607bbbf..17a7f2132b 100644 --- a/programs/network/VNCclient/VNCclient.asm +++ b/programs/network/VNCclient/VNCclient.asm @@ -32,6 +32,7 @@ ypos = 22 ; TIMEOUT = 60 ; timeout in seconds BUFFER = 1500 ; Buffer size for DNS +include '..\..\macros.inc' include 'fdo.inc' include 'ETH.INC' include 'logon.inc' @@ -39,41 +40,40 @@ include 'raw.inc' include 'copyrect.inc' include 'thread.inc' - START: ; start of execution call red_logon mov eax,40 ; Report events mov ebx,00000000b ; Only Stack - int 0x40 + mcall mov eax,67 ; resize the window (hide it) xor ebx,ebx mov ecx,ebx mov edx,ebx mov esi,ebx - int 0x40 + mcall mov eax,51 mov ebx,1 mov ecx,thread_start mov edx,thread_stack - int 0x40 + mcall DEBUGF 1,'Thread created: %u\n',eax @@: mov eax,5 mov ebx,10 - int 0x40 + mcall cmp byte[thread_ready],0 je @r mov eax,40 ; report events mov ebx,100111b ; mouse, button, key, redraw - int 0x40 + mcall mov eax,67 ; resize the window mov ebx,10 @@ -84,7 +84,7 @@ START: ; start of execution shr edx,16 add edx,2*xpos add esi,ypos+xpos - int 0x40 + mcall mainloop: eth.socket_status [socket],eax @@ -93,7 +93,7 @@ START: ; start of execution mov eax,23 ; wait for event with timeout mov ebx,50 ; 0,5 s - int 0x40 + mcall cmp eax,1 je redraw @@ -112,7 +112,7 @@ START: ; start of execution DEBUGF 1,'Sending key event\n' mov eax,2 - int 0x40 + mcall mov byte[keyevent.key+3],ah eth.write_tcp [socket],8,keyevent @@ -124,7 +124,7 @@ START: ; start of execution mov eax,37 mov ebx,1 - int 0x40 + mcall sub eax,xpos*65536+ypos bswap eax @@ -134,7 +134,7 @@ START: ; start of execution mov eax,37 mov ebx,2 - int 0x40 + mcall test al,00000010b ; test if right button was pressed (bit 1 in kolibri) jz @f @@ -153,7 +153,7 @@ START: ; start of execution mov eax,12 mov ebx,1 - int 0x40 + mcall mov eax,0 ; draw window mov ebx,dword[framebuffer] @@ -163,9 +163,7 @@ START: ; start of execution add ebx,2*xpos add ecx,ypos+xpos mov edx,0x03ffffff - mov esi,0x80555599 - mov edi,0x00ffffff - int 0x40 + mcall mov eax,4 ; label mov ebx,9*65536+8 @@ -173,13 +171,13 @@ START: ; start of execution mov edx,name mov esi,[name_length] bswap esi - int 0x40 + mcall call drawbuffer mov eax,12 mov ebx,2 - int 0x40 + mcall jmp mainloop @@ -189,14 +187,14 @@ START: ; start of execution mov ebx,framebuffer_data mov ecx,dword[screen] mov edx,xpos*65536+ypos - int 0x40 + mcall ret button: ; button mov eax,17 ; get id - int 0x40 + mcall close: call read_data @@ -204,7 +202,7 @@ START: ; start of execution DEBUGF 1,'Socket closed\n' mov eax,-1 - int 0x40 + mcall no_rfb: DEBUGF 1,'This is no vnc server!\n' diff --git a/programs/network/VNCclient/build.bat b/programs/network/VNCclient/build.bat new file mode 100644 index 0000000000..15ee691db2 --- /dev/null +++ b/programs/network/VNCclient/build.bat @@ -0,0 +1,2 @@ +@fasm VNCclient.asm VNCclient +@pause \ No newline at end of file diff --git a/programs/network/VNCclient/fdo.inc b/programs/network/VNCclient/fdo.inc index bd160a155e..487a336cbd 100644 --- a/programs/network/VNCclient/fdo.inc +++ b/programs/network/VNCclient/fdo.inc @@ -152,7 +152,7 @@ debug_beginf mov cl,al mov ebx,1 mov eax,63 - int 0x40 + mcall popad ret debug_endf @@ -164,7 +164,7 @@ debug_beginf .l1: mov cl,[edx] or cl,cl jz .l2 - int 0x40 + mcall inc edx jmp .l1 .l2: ret diff --git a/programs/network/VNCclient/logon.inc b/programs/network/VNCclient/logon.inc index a6edd9024b..bd0f61dca7 100644 --- a/programs/network/VNCclient/logon.inc +++ b/programs/network/VNCclient/logon.inc @@ -3,7 +3,7 @@ red_logon: still_logon: ; main cycle of application begins here mov eax,10 ; wait here for event - int 0x40 + mcall checkevent_logon: ; Check what event was called _logon: this will be used to return from textbox focus @@ -18,7 +18,7 @@ checkevent_logon: ; Check what event was called _logon: this will be used to r key_logon: ; key event handler mov al,2 ; eax was zero so will now be 2 - int 0x40 ; just read it and ignore + mcall ; just read it and ignore cmp ah,13 jne still_logon ; return to main loop @@ -27,7 +27,7 @@ checkevent_logon: ; Check what event was called _logon: this will be used to r button_logon: ; eax was zero so will now be 17 mov al,17 ; get id - int 0x40 + mcall cmp ah,1 ; close ? jz close_logon @@ -66,10 +66,10 @@ checkevent_logon: ; Check what event was called _logon: this will be used to r .waitev_logon: mov eax,10 ; wait for event - int 0x40 + mcall cmp eax,2 ; button presed ? jne checkevent_logon ; a key is pressed or redraw is nessesary, goto checkevent - int 0x40 ; eax = 2, read button + mcall ; eax = 2, read button shr eax,8 cmp eax,8 jnz .nobs_logon ; BACKSPACE @@ -126,14 +126,14 @@ pusha mov ecx, 33*65536+12 mov edx, 4 mov esi, 0xEBEBEB - int 0x40 + mcall cmp byte[mode],0 je @f mov ecx, 49*65536+12 inc edx - int 0x40 + mcall @@: mov eax, 4 ; function 4 _logon: write text to window @@ -141,7 +141,7 @@ pusha xor ecx, ecx ; color of text RRGGBB mov edx, first ; pointer to text beginning mov esi, STRLEN ; text length - int 0x40 + mcall cmp byte[mode],0 je dont_draw_pass @@ -156,7 +156,7 @@ pusha dec edi mov edx, passchar mov esi, 1 - int 0x40 + mcall add ebx,6*65536 jmp @r @@ -166,8 +166,8 @@ popa ret close_logon: - mov eax,-1 - int 0x40 + or eax,-1 + mcall connect_logon: ret @@ -176,44 +176,39 @@ draw_window_logon: mov eax, 12 ; function 12_logon:tell os about windowdraw mov ebx, 1 ; 1, start of draw - int 0x40 + mcall pusha ; DRAW WINDOW xor eax, eax ; function 0 _logon: define and draw window mov ebx, 160*65536+330 ; [x start] *65536 + [x size] mov ecx, 160*65536+100 ; [y start] *65536 + [y size] - mov edx, 0x03DDDDDD ; color of work area RRGGBB - int 0x40 + mov edx, 0x13DDDDDD ; color of work area RRGGBB + mov edi, title ; WINDOW LABEL + mcall mov eax, 8 ; LOGON BUTTON mov ebx, 220*65536+85 mov ecx, 63*65536+16 mov edx, 2 mov esi, 0xCCCCCC - int 0x40 + mcall call print_text_logon - ; WINDOW LABEL - mov eax, 4 ; function 4 _logon: write text to window - mov ebx, 8*65536+8 ; [x start] *65536 + [y start] - mov ecx, 0x10ffffff ; color of text RRGGBB - mov edx, labelt ; pointer to text beginning - mov esi, labellen-labelt ; text length - int 0x40 - + cmp byte[mode],0 je servermode_ + mov eax, 4 ; function 4 _logon: write text to window mov ebx, 25*65536+33 ; [x start] *65536 + [y start] xor ecx, ecx mov edx, userstr ; pointer to text beginning mov esi, passstr-userstr ; text length - int 0x40 + mcall add bl,16 mov edx, passstr ; pointer to text beginning mov esi, connect-passstr ; text length - int 0x40 + mcall jmp drawtherest_ @@ -223,25 +218,24 @@ draw_window_logon: xor ecx, ecx mov edx, serverstr ; pointer to text beginning mov esi, userstr-serverstr ; text length - int 0x40 + mcall drawtherest_: mov ebx, 240*65536+67 ; [x start] *65536 + [y start] mov edx, connect ; pointer to text beginning mov esi, connect_e-connect ; text length - int 0x40 + mcall popa inc ebx - int 0x40 + mcall ret ; DATA AREA -labelt: db 'Kolibrios VNC client by HIDNPLAYR' -labellen: +title db 'Kolibrios VNC client by HIDNPLAYR',0 first: db '192.168.1.5' rb STRLEN diff --git a/programs/network/VNCclient/thread.inc b/programs/network/VNCclient/thread.inc index 8ddb6fb294..8995e599bd 100644 --- a/programs/network/VNCclient/thread.inc +++ b/programs/network/VNCclient/thread.inc @@ -3,7 +3,7 @@ mov eax,40 ; Report events mov ebx,10000000b ; Only Stack - int 0x40 + mcall resolve first,[server_ip] ; the input window putted the server @ 'first', resolve it into a real ip mov [server_port],5900 ; no port input for now, only standard port 5900 @@ -171,7 +171,7 @@ mov eax,55 mov ebx,eax mov esi,beep - int 0x40 + mcall jmp thread_loop diff --git a/programs/network/airc/trunk/airc.asm b/programs/network/airc/trunk/airc.asm index d1e9e7a892..aaeb09f2de 100644 --- a/programs/network/airc/trunk/airc.asm +++ b/programs/network/airc/trunk/airc.asm @@ -9,7 +9,11 @@ ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -version equ '0.4' +version equ '0.5' + + +;__DEBUG__ equ 1 +;__DEBUG_LEVEL__ equ 1 use32 @@ -23,8 +27,10 @@ use32 dd 0x100000 dd 0,0 -include "lang.inc" -;include "macros.inc" +include "..\..\..\macros.inc" +;include "fdo.inc" +include "eth.inc" +;include "lang.inc" irc_server_ip db 83,149,74,246 ;server: kolibrios.org @@ -39,7 +45,7 @@ START: ; start of execution mov eax,40 mov ebx,10000111b - int 0x40 + mcall mov edi,I_END mov ecx,60*120 @@ -61,10 +67,10 @@ still: mov eax,5 mov ebx,1 - int 0x40 + mcall mov eax,11 ; wait here for event - int 0x40 + mcall call print_status @@ -105,12 +111,12 @@ redraw: ; redraw button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; close program jne noclose mov eax,-1 - int 0x40 + mcall noclose: call socket_commands @@ -125,7 +131,7 @@ print_status: mov eax,53 mov ebx,6 mov ecx,[socket] - int 0x40 + mcall mov [status],eax @@ -140,14 +146,14 @@ print_status: mov ebx,450*65536+30 mov ecx,231*65536+10 mov edx,0xffffff - int 0x40 + mcall pop ecx mov eax,47 mov ebx,2*65536 mov edx,450*65536+231 mov esi,0x000000 - int 0x40 + mcall nopr: @@ -164,14 +170,14 @@ socket_commands: cmp ah,22 ; open socket jnz tst3 mov eax,3 - int 0x40 + mcall mov ecx,eax mov eax,53 mov ebx,5 mov edx,6667 mov esi,dword [irc_server_ip] mov edi,1 - int 0x40 + mcall mov [socket], eax ret tst3: @@ -185,47 +191,47 @@ socket_commands: mov ecx,[socket] mov edx,string0l-string0 mov esi,string0 - int 0x40 + mcall mov eax,53 ; mov ebx,7 mov ecx,[socket] mov edx,[user_real_name] mov esi,user_real_name+4 - int 0x40 + mcall mov eax,53 ; mov ebx,7 mov ecx,[socket] mov edx,2 mov esi,line_feed - int 0x40 + mcall mov eax,5 mov ebx,10 - int 0x40 + mcall mov eax,53 ; nick mov ebx,7 mov ecx,[socket] mov edx,string1l-string1 mov esi,string1 - int 0x40 + mcall mov eax,53 ; mov ebx,7 mov ecx,[socket] mov edx,[user_nick] mov esi,user_nick+4 - int 0x40 + mcall mov eax,53 ; mov ebx,7 mov ecx,[socket] mov edx,2 mov esi,line_feed - int 0x40 + mcall ret @@ -240,7 +246,7 @@ socket_commands: mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall ret no_24: @@ -251,7 +257,7 @@ socket_commands: main_window_key: mov eax,2 - int 0x40 + mcall shr eax,8 @@ -298,7 +304,7 @@ print_channel_list: mov ebx,415*65536+6*13 mov ecx,27*65536+12*10 mov edx,0xffffff - int 0x40 + mcall mov eax,4 mov ebx,415*65536+27 @@ -307,7 +313,7 @@ print_channel_list: newch: movzx esi,byte [edx+31] and esi,0x1f - int 0x40 + mcall add edx,32 add ebx,12 cmp edx,channel_list+32*10 @@ -374,7 +380,7 @@ print_user_list: mov ebx,415*65536+6*13 mov ecx,27*65536+12*10 mov edx,0xffffff - int 0x40 + mcall popa mov eax,4 @@ -398,7 +404,7 @@ print_user_list: mov ecx,[index_list_2] no_op: - int 0x40 + mcall inc ebp cmp ebp,10 @@ -509,7 +515,7 @@ send_data_to_server: mov eax, 53 ; write channel mov ebx, 7 mov ecx, [socket] - int 0x40 + mcall mov esi,send_string mov edx,[xpos] @@ -520,7 +526,7 @@ send_data_to_server: mov eax, 53 ; write message mov ebx, 7 mov ecx, [socket] - int 0x40 + mcall jmp send_done @@ -602,34 +608,42 @@ send_data_to_server: cmp [send_string+1],dword 'aser' jne no_set_server - pusha - mov edi,irc_server_ip - mov esi,send_string+7 - mov eax,0 - mov edx,[xpos] - add edx,send_string-1 - newsip: - cmp [esi],byte '.' - je sipn - cmp esi,edx - jg sipn - movzx ebx,byte [esi] - inc esi - imul eax,10 - sub ebx,48 - add eax,ebx - jmp newsip - sipn: - mov [edi],al - xor eax,eax - inc esi - cmp esi,send_string+30 - jg sipnn - inc edi - cmp edi,irc_server_ip+3 - jbe newsip - sipnn: - popa +; pusha +; mov edi,irc_server_ip +; mov esi,send_string+7 +; mov eax,0 +; mov edx,[xpos] +; add edx,send_string-1 +; newsip: +; cmp [esi],byte '.' +; je sipn +; cmp esi,edx +; jg sipn +; movzx ebx,byte [esi] +; inc esi +; imul eax,10 +; sub ebx,48 +; add eax,ebx +; jmp newsip +; sipn: +; mov [edi],al +; xor eax,eax +; inc esi +; cmp esi,send_string+30 +; jg sipnn +; inc edi +; cmp edi,irc_server_ip+3 +; jbe newsip +; sipnn: +; popa + +pusha + mov eax,send_string + add eax,[xpos] + mov dword[eax],0 + resolve send_string+7,dword[irc_server_ip] + ;DEBUGF 1,'%u.%u.%u.%u\n',1[irc_server_ip],1[irc_server_ip+1],1[irc_server_ip+2],1[irc_server_ip+3] +popa mov ecx,[xpos] sub ecx,7 @@ -715,7 +729,7 @@ send_data_to_server: mov eax, 53 ; write server command mov ebx, 7 mov ecx, [socket] - int 0x40 + mcall send_done: @@ -726,12 +740,12 @@ send_data_to_server: jne no_quit_server mov eax,5 mov ebx,200 - int 0x40 + mcall mov eax, 53 ; close socket mov ebx, 8 mov ecx, [socket] - int 0x40 + mcall mov ecx,[max_windows] mov edi,I_END @@ -842,11 +856,11 @@ create_channel_window: mov ebx,1 mov ecx,channel_thread mov edx,[thread_stack] - int 0x40 + mcall mov eax,5 mov ebx,10 - int 0x40 + mcall add [thread_stack],0x4000 add [thread_screen],120*80 @@ -864,14 +878,14 @@ print_entry: mov ebx,8*65536+6*80 mov ecx,151*65536+13 mov edx,0xffffff - int 0x40 + mcall mov eax,4 mov ebx,8*65536+154 mov ecx,0x000000 mov edx,send_string mov esi,[xpos] - int 0x40 + mcall popa @@ -886,7 +900,7 @@ blink_cursor: mov eax,9 mov ebx,0xe0000 mov ecx,-1 - int 0x40 + mcall mov edx,[blink] and edx,1 @@ -907,7 +921,7 @@ blink_cursor: mov bx,cx mov ecx,151*65536+163 mov eax,38 - int 0x40 + mcall popa @@ -919,7 +933,7 @@ blink_cursor: mov ebx,8*65536+6*60 mov ecx,151*65536+13 mov edx,0xffffff - int 0x40 + mcall popa @@ -1072,7 +1086,7 @@ analyze_command: mov edx,command mov esi,[cmd] mov [command+esi-1],word '**' -; int 0x40 +; mcall mov eax,53 mov ebx,7 @@ -1081,14 +1095,14 @@ analyze_command: sub edx,2 and edx,255 mov esi,command - int 0x40 + mcall mov eax,53 mov ebx,7 mov ecx,[socket] mov edx,2 mov esi,linef - int 0x40 + mcall popa ret @@ -1655,6 +1669,7 @@ cp1251_table: db $90,$91,$92,$93,$94,$95,$96,$97 , $98,$99,$9A,$9B,$9C,$9D,$9E,$9F ; D db $A0,$A1,$A2,$A3,$A4,$A5,$A6,$A7 , $A8,$A9,$AA,$AB,$AC,$AD,$AE,$AF ; E db $E0,$E1,$E2,$E3,$E4,$E5,$E6,$E7 , $E8,$E9,$EA,$EB,$EC,$ED,$EE,$EF ; F +; 0 1 2 3 4 5 6 7 8 9 A B C D E F cp866_table: db $C0,$C1,$C2,$C3,$C4,$C5,$C6,$C7 , $C8,$C9,$CA,$CB,$CC,$CD,$CE,$CF ; 8 @@ -1665,7 +1680,7 @@ cp866_table: db '?','?','?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; D db $F0,$F1,$F2,$F3,$F4,$F5,$F6,$F7 , $F8,$F9,$FA,$FB,$FC,$FD,$FE,$FF ; E db $A8,$B8,'?','?','?','?','?','?' , '?','?','?','?','?','?','?','?' ; F - +; 0 1 2 3 4 5 6 7 8 9 A B C D E F print_character: @@ -1790,7 +1805,7 @@ read_incoming_byte: mov eax, 53 mov ebx, 2 mov ecx, [socket] - int 0x40 + mcall mov ecx,-1 @@ -1800,7 +1815,7 @@ read_incoming_byte: mov eax, 53 mov ebx, 3 mov ecx, [socket] - int 0x40 + mcall cmp bl,0x80 jb @f @@ -1822,69 +1837,55 @@ draw_window: mov eax,12 mov ebx,1 - int 0x40 + mcall mov [old_status],300 - mov eax,0 ; draw window + xor eax,eax ; draw window mov ebx,5*65536+499 mov ecx,5*65536+345 mov edx,[wcolor] - add edx,0x03ffffff - mov esi,0x80555599 - mov edi,0x00ffffff - int 0x40 - - mov eax,4 ; label - mov ebx,9*65536+8 - mov ecx,0x10ffffff - mov edx,labelt - mov esi,labellen-labelt - int 0x40 + add edx,0x13ffffff + mov edi,title + mcall mov eax,8 ; button: open socket mov ebx,43*65536+22 mov ecx,229*65536+10 mov edx,22 mov esi,[main_button] - int 0x40 + mcall - mov eax,8 ; button: send userinfo + ;mov eax,8 ; button: send userinfo mov ebx,180*65536+22 mov ecx,229*65536+10 mov edx,23 - int 0x40 + mcall - mov eax,8 ; button: close socket + ;mov eax,8 ; button: close socket mov ebx,317*65536+22 mov ecx,229*65536+10 mov edx,24 - int 0x40 + mcall mov eax,38 ; line mov ebx,5*65536+494 mov ecx,148*65536+148 mov edx,[main_line] - int 0x40 + mcall add ecx,1*65536+1 -; mov edx,0x5555cc -; int 0x40 mov eax,38 ; line mov ebx,5*65536+494 mov ecx,166*65536+166 - int 0x40 + mcall add ecx,1*65536+1 -; mov edx,0x5555cc -; int 0x40 mov eax,38 ; line mov ebx,410*65536+410 mov ecx,22*65536+148 - int 0x40 + mcall add ebx,1*65536+1 -; mov edx,0x5555cc -; int 0x40 mov ebx,25*65536+183 ; info text mov ecx,0x000000 @@ -1892,7 +1893,7 @@ draw_window: mov esi,70 newline: mov eax,4 - int 0x40 + mcall add ebx,12 add edx,70 cmp [edx],byte 'x' @@ -1903,7 +1904,7 @@ draw_window: mov eax,12 mov ebx,2 - int 0x40 + mcall popa @@ -1916,8 +1917,8 @@ main_button dd 0x6565cc text: db ' Real name : KolibriOS User - change with eg /areal Jill User ' -db ' Nick : kolibri_user - change with eg /anick Jill ' -db ' Server : 83.149.74.246 - change with eg /aserv 192.168.1.24 ' +db ' Nick : KolibriOS User - change with eg /anick Jill ' +db ' Server : kolibrios.org - change with eg /aserv irc.by ' db ' ' db ' 1) Open socket 2) Send userinfo Close socket ' db ' ' @@ -1974,14 +1975,14 @@ channel_thread: mov dword [channel_list+edi],dword ' ' mov byte [channel_list+edi+31],byte 1 mov eax,-1 - int 0x40 + mcall no_channel_leave: call check_mouse mov eax,23 mov ebx,1 - int 0x40 + mcall cmp eax,1 jne no_draw_window @@ -1996,7 +1997,7 @@ channel_thread: cmp eax,3 jne no_end mov eax,17 - int 0x40 + mcall mov eax,ebp imul eax,120*80 add eax,I_END @@ -2008,7 +2009,7 @@ channel_thread: mov [eax],dword ' ' mov [eax+31],byte 1 mov eax,-1 - int 0x40 + mcall not_close: mov [text_start],eax mov eax,nocl @@ -2047,7 +2048,7 @@ check_mouse: mov eax,37 mov ebx,1 - int 0x40 + mcall mov ebx,eax shr eax,16 @@ -2073,7 +2074,7 @@ check_mouse: call print_user_list mov eax,5 mov ebx,8 - int 0x40 + mcall jmp no_mouse no_plus: @@ -2088,7 +2089,7 @@ check_mouse: call print_user_list mov eax,5 mov ebx,8 - int 0x40 + mcall no_minus: @@ -2104,7 +2105,7 @@ check_mouse: thread_key: mov eax,2 - int 0x40 + mcall shr eax,8 @@ -2139,7 +2140,7 @@ thread_key: wait_for_sending: mov eax,5 mov ebx,1 - int 0x40 + mcall cmp [send_to_server],1 je wait_for_sending call draw_channel_text @@ -2172,7 +2173,7 @@ draw_channel_text: mov bx,word [rxs] imul bx,6 mov edx,0xffffff - int 0x40 + mcall popa push ecx mov eax,4 @@ -2191,7 +2192,7 @@ draw_channel_text: jne no_blue mov ecx,0x0000ff no_blue: - int 0x40 + mcall add edx,[rxs] add ebx,10 pop ecx @@ -2210,7 +2211,7 @@ thread_draw_window: mov eax,12 mov ebx,1 - int 0x40 + mcall mov ebx,ebp ; draw window shl ebx,16+4 @@ -2231,7 +2232,7 @@ thread_draw_window: mov esi,0x80555599 mov edi,0x00ffffff - int 0x40 + mcall mov eax,ebp ; label add eax,48 @@ -2252,37 +2253,36 @@ thread_draw_window: mov ebx,9*65536+8 mov ecx,0x00ffffff mov edx,labelc - int 0x40 + mcall mov eax,38 ; line mov ebx,5*65536+494 mov ecx,148*65536+148 mov edx,[channel_line_sun] - int 0x40 + mcall add ecx,1*65536+1 mov edx,[channel_line_shadow] - int 0x40 + mcall - mov eax,38 ; line + ;mov eax,38 ; line mov ebx,410*65536+410 mov ecx,22*65536+148 mov edx,[channel_line_sun] - int 0x40 + mcall add ebx,1*65536+1 mov edx,[channel_line_shadow] - int 0x40 + mcall mov eax,12 mov ebx,2 - int 0x40 + mcall popa ret - ; DATA AREA socket dd 0x0 @@ -2376,8 +2376,12 @@ numtext db ' ' wcolor dd 0x000000 labelc db 'AIRC - WINDOW X: #xxx ' -labelt db 'IRC client ',version -labellen: +title db 'IRC client ',version,0 + +;include_debug_strings ; ALWAYS present in data section + +dnsMsg: rb 512 ; buffer used by DNS client + ;; ;; Channel data at I_END diff --git a/programs/network/airc/trunk/eth.inc b/programs/network/airc/trunk/eth.inc new file mode 100644 index 0000000000..aadf13252d --- /dev/null +++ b/programs/network/airc/trunk/eth.inc @@ -0,0 +1,670 @@ +; +; ETH.INC +; +; made by hidnplayr (hidnplayr@gmail.com) for KolibriOS and DEX4U +; +; The given code before every macro is only a simple example +; +; Change the OS value to DEX4U or MEOS +; +; HISTORY +; +; v1.0: 18 august 2006 +; + +MEOS equ 1 ; Dont change these ! +DEX4U equ 2 ; + +OS equ MEOS ; Change these instead ;) +TIMEOUT equ 60 ; timeout for DNS request +BUFFER equ 512 ; Buffer size for DNS + +macro int1 { + if OS eq MEOS + mcall + else if OS eq DEX4U + int 0x52 + end if +} + +macro int2 { + if OS eq MEOS + mcall + else if OS eq DEX4U + int 0x53 + end if +} + +macro mov arg1,arg2 { + + if arg1 eq arg2 + else + mov arg1,arg2 + end if + +} + +; eth.get_IP eax +; +; gets the current IP that is defined in Stack (return in eax in this example) +macro eth.get_IP IP { + if OS eq MEOS + mov eax,52 + end if + mov ebx,1 + int1 + + mov IP ,eax +} + +; eth.get_GATEWAY eax +; +; gets the current GATEWAY that is defined in Stack (return in eax in this example) +macro eth.get_GATEWAY GATEWAY { + if OS eq MEOS + mov eax,52 + end if + mov ebx,9 + int1 + move GATEWAY ,eax +} + +; eth.get_SUBNET eax +; +; gets the current SUBNET that is defined in Stack (return in eax in this example) +macro eth.get_SUBNET SUBNET { + if OS eq MEOS + mov eax,52 + end if + mov ebx,10 + int1 + mov SUBNET ,eax +} + +; eth.get_DNS eax +; +; gets the current DNS that is defined in Stack (return in eax in this example) +macro eth.get_DNS DNS { + if OS eq MEOS + mov eax,52 + end if + mov ebx,13 + int1 + mov DNS ,eax +} + +; eth.set_IP eax +; +; set a new IP in stack (input in eax in this example) +macro eth.set_IP IP { + mov ecx,IP + if OS eq MEOS + mov eax,52 + end if + mov ebx,3 + int1 +} + +; eth.set_GATEWAY eax +; +; set a new GATEWAY in stack (input in eax in this example) +macro eth.set_GATEWAY GATEWAY { + mov ecx,GATEWAY + if OS eq MEOS + mov eax,52 + end if + mov ebx,11 + int1 +} + +; eth.set_SUBNET eax +; +; set a new SUBNET in stack (input in eax in this example) +macro eth.set_SUBNET SUBNET { + mov ecx,SUBNET + if OS eq MEOS + mov eax,52 + end if + mov ebx,12 + int1 +} + +; eth.set_DNS eax +; +; set a new DNS in stack (input in eax in this example) +macro eth.set_DNS DNS { + mov ecx,DNS + if OS eq MEOS + mov eax,52 + end if + mov ebx,14 + int1 +} + +; eth.open eax,80,ebx,[socket] +; +; open a socket on local port in eax to port 80 on server on ebx +; the socketnumber will be returned in [socket] (dword) +macro eth.open local,remote,ip,socket { + mov ecx, local + mov edx, remote + mov esi, ip + if OS eq MEOS + mov eax,53 + end if + mov ebx, 0 + int2 + + mov socket,eax +} + +; eth.close [socket] +; +; closes socket on socketnumber [socket] +macro eth.close socket { + mov ecx, socket + if OS eq MEOS + mov eax,53 + end if + mov ebx, 1 + int2 +} + +; eth.poll [socket],eax +; +; polls [socket] for data +; eax = 0 when there is data +macro eth.poll socket,result { + mov ecx, socket + if OS eq MEOS + mov eax,53 + end if + mov ebx, 2 + int2 + + mov result, eax +} + +; eth.read_byte [socket], bl +; +; reads a byte from the socket and returns in bl +macro eth.read_byte socket, result { + mov ecx, socket + if OS eq MEOS + mov eax,53 + end if + mov ebx, 3 + int2 + + mov result,bl +} + +; eth.write [socket],12,msg +; msg db 'hello world!' +; +; send message msg to socket +macro eth.write socket,length,msg { + mov ecx, socket + mov edx, length + mov esi, msg + if OS eq MEOS + mov eax,53 + end if + mov ebx, 4 + int2 +} + +; eth.open_tcp 80,80,eax,0,[socket] +; +; opens a tcp socket on port 80 to port 80 on IP eax with passive open +; returns socket number in eax +macro eth.open_tcp local,remote,ip,passive,socket { + +pusha + mov ecx, local + mov edx, remote + mov esi, ip + mov edi, passive ; 0 = PASSIVE open + if OS eq MEOS + mov eax,53 + end if + mov ebx, 5 + int2 +popa + + mov socket,eax +} + +; eth.socket_status [socket],eax +; +; returns socket status in eax +macro eth.socket_status socket,result { + mov ecx, socket + if OS eq MEOS + mov eax,53 + end if + mov ebx, 6 + int2 + + mov result,eax +} + +; eth.write_tcp [socket],12,msg +; +; msg db 'hello world!' +; +; send message to TCP socket +macro eth.write_tcp socket,length,msg { + mov ecx, socket + mov edx, length + mov esi, msg + if OS eq MEOS + mov eax,53 + end if + mov ebx, 7 + int2 +} + +; eth.close_tcp [socket] +; +; closes tcp socket [socket] +macro eth.close_tcp socket { + mov ecx, socket + if OS eq MEOS + mov eax,53 + end if + mov ebx, 8 + int2 +} + +; eth.check_port 165,eax +; +; checks if port 165 is used +; return is 0 when port is free +macro eth.check_port port,result { + if OS eq MEOS + mov eax,53 + end if + mov ebx, 9 + mov ecx, port + int2 + + mov result,eax +} + +; eth.status eax +; +; returns socket status in eax +macro eth.status status { + if OS eq MEOS + mov eax,53 + end if + mov ebx, 255 + mov ecx, 6 + int2 + + mov status,eax +} + +; eth.search 165,edx +; +; searches a free local port starting from 166 (165 + 1 !) +; returns in edx +macro eth.search_port port,result { + mov edx,port + @@: + inc edx + eth.check_port edx,eax + cmp eax,0 + je @r + mov result,edx +} + +; eth.read_data [socket],buffer,512 +; buffer rb 512 +; socket dd ? +; +; reads data from socket into a buffer, stops when there is no more data or buffer is full. +macro eth.read_data socket,dest,endptr,bufferl { + + mov eax, dest + mov endptr, eax + + ; we have data - this will be the response +@@: + mov eax,endptr + cmp eax,bufferl + jg @f + + mov eax, 53 + mov ebx, 3 + mov ecx, socket + mcall ; read byte - block (high byte) + + ; Store the data in the response buffer + mov eax, endptr + mov [eax], bl + inc dword endptr + + mov eax, 53 + mov ebx, 2 + mov ecx, socket + mcall ; any more data? + + cmp eax, 0 + jne @r ; yes, so get it +@@: + +} + +; eth.wait_for_data [socket],60,abort +; eth.read_data .... +; abort: +; +; Waits for data with timeout + +macro eth.wait_for_data socket,TIMEOUT,abort { + + mov edx,TIMEOUT + + @@: + eth.poll socket,eax + + cmp eax,0 + jne @f + + dec edx + jz abort + + if OS eq MEOS + mov eax,5 ; wait here for event + mov ebx,100 + mcall + else if OS eq DEX4U + mov ax,18 + call [SetDelay] + call dword[stack_handler] + end if + + jmp @r + @@: + +} + + +; The function 'resolve' resolves the address in edx and puts the resulting IP in eax. +; When the input is an IP-adress, the function will output this IP in eax. +; If something goes wrong, the result in eax should be 0 +; +; example: +; +; resolve query1,IP +; resolve '192.168.0.1',IP +; resolve query2,IP +; +; query1 db 'www.google.com',0 +; query2 db '49.78.84.45',0 +; IP dd ? + +macro resolve query,result { + +if query eqtype 0 + mov edx,query +else + local ..string, ..label + jmp ..label + ..string db query,0 + ..label: + mov edx,..string +end if + +call __resolve + +mov result,eax + +} + +if used __resolve + +__resolve: + +;DEBUGF 1,'Resolving started\n' + + + ; This code validates if the query is an IP containing 4 numbers and 3 dots + + + push edx ; push edx (query address) onto stack + xor al, al ; make al (dot count) zero + + @@: + cmp byte[edx],'0' ; check if this byte is a number, if not jump to no_IP + jl no_IP ; + cmp byte[edx],'9' ; + jg no_IP ; + + inc edx ; the byte was a number, so lets check the next byte + + cmp byte[edx],0 ; is this byte zero? (have we reached end of query?) + jz @f ; jump to next @@ then + + cmp byte[edx],'.' ; is this byte a dot? + jne @r ; if not, jump to previous @@ + + inc al ; the byte was a dot so increment al(dot count) + inc edx ; next byte + jmp @r ; lets check for numbers again (jump to previous @@) + + @@: ; we reach this when end of query reached + cmp al,3 ; check if there where 3 dots + jnz no_IP ; if not, jump to no_IP (this is where the DNS will take over) + + ; The following code should convert this IP into a dword and output it in eax + + pop esi ; edx (query address) was pushed onto stack and is now popped in esi + + xor edx, edx ; result + xor eax, eax ; current character + xor ebx, ebx ; current byte + +.outer_loop: + shl edx, 8 + add edx, ebx + xor ebx, ebx +.inner_loop: + lodsb + test eax, eax + jz .finish + cmp al, '.' + jz .outer_loop + sub eax, '0' + imul ebx, 10 + add ebx, eax + jmp .inner_loop +.finish: + shl edx, 8 + add edx, ebx + + bswap edx + mov eax, edx + + ;DEBUGF 1,'The query was an IP: %x.%x.%x.%x\n',dh,dl,al,ah + + ret + + +no_IP: + + pop edx + + ; The query is not an IP address, we will send the query to a DNS server and hope for answer ;) + + ;DEBUGF 1,'The query is no ip, Building request string from:%u\n',edx + + ; Build the request string + mov eax, 0x00010100 + mov [dnsMsg], eax + mov eax, 0x00000100 + mov [dnsMsg+4], eax + mov eax, 0x00000000 + mov [dnsMsg+8], eax + + ; domain name goes in at dnsMsg+12 + mov esi, dnsMsg + 12 ; location of label length + mov edi, dnsMsg + 13 ; label start + mov ecx, 12 ; total string length so far + +td002: + mov [esi], byte 0 + inc ecx + +td0021: + mov al, [edx] + + cmp al, 0 + je td001 ; we have finished the string translation + + cmp al, '.' + je td004 ; we have finished the label + + inc byte [esi] + inc ecx + mov [edi], al + inc edi + inc edx + jmp td0021 + +td004: + mov esi, edi + inc edi + inc edx + jmp td002 + + ; write label len + label text +td001: + mov [edi], byte 0 + inc ecx + inc edi + mov [edi], dword 0x01000100 + add ecx, 4 + + mov [dnsMsgLen], ecx ; We'll need the length of the message when we send it + ; Now, lets send this and wait for an answer + + eth.search_port 1024,edx ; Find a free port starting from 1025 and store in edx + eth.get_DNS esi ; Read DNS IP from stack into esi + eth.open edx,53,esi,[socketNum] ; First, open socket + ; DEBUGF 1,'Socket opened: %u (port %u)\n',[socketNum],ecx + eth.write [socketNum],[dnsMsgLen],dnsMsg ; Write to socket ( request DNS lookup ) + ; DEBUGF 1,'Data written, length:%u offset:%u\n',[dnsMsgLen],dnsMsg + ; DEBUGF 1,'Waiting for data: (timeout is %us)\n',TIMEOUT + eth.wait_for_data [socketNum],TIMEOUT,no_data; Now, we wait for data from remote + eth.read_data [socketNum],dnsMsg,[dnsMsgLen],dnsMsg+BUFFER ; Read the data into the buffer + ; DEBUGF 1,'Data received, offset:%u buffer size:%u length:%u\n',dnsMsg,BUFFER,esi-dnsMsg + eth.close [socketNum] ; We're done, close the socket + ; DEBUGF 1,'Closed Socket\n' + + ; Now parse the message to get the host IP. Man, this is complicated. It's described in RFC 1035 + ; 1) Validate that we have an answer with > 0 responses + ; 2) Find the answer record with TYPE 0001 ( host IP ) + ; 3) Finally, copy the IP address to the display + ; Note: The response is in dnsMsg, the end of the buffer is pointed to by [dnsMsgLen] + + mov esi, dnsMsg + + mov al, [esi+2] ; Is this a response to my question? + and al, 0x80 + cmp al, 0x80 + jne abort + + ;DEBUGF 1,'It was a response to my question\n' + + mov al, [esi+3] ; Were there any errors? + and al, 0x0F + cmp al, 0x00 + jne abort + + ;DEBUGF 1,'There were no errorst\n' + + mov ax, [esi+6] ; Is there ( at least 1 ) answer? + cmp ax, 0x00 + je abort + + ; Header validated. Scan through and get my answer + add esi, 12 ; Skip to the question field + call skipName ; Skip through the question field + add esi, 4 ; skip past the questions qtype, qclass + +ctr002z: + ; Now at the answer. There may be several answers, find the right one ( TYPE = 0x0001 ) + call skipName + mov ax, [esi] + cmp ax, 0x0100 ; Is this the IP address answer? + jne ctr002c + add esi, 10 ; Yes! Point eax to the first byte of the IP address + mov eax,[esi] + + ;DEBUGF 1,'Found First Byte of IP\n' + + ret + + +ctr002c: ; Skip through the answer, move to the next + add esi, 8 + movzx eax, byte [esi+1] + mov ah, [esi] + add esi, eax + add esi, 2 + + cmp esi, [dnsMsgLen] ; Have we reached the end of the msg? This is an error condition, should not happen + jl ctr002z ; Check next answer + +abort: + ;DEBUGF 1,'Something went wrong, aborting\n' + xor eax,eax + + ret + + +skipName: + ; Increment esi to the first byte past the name field + ; Names may use compressed labels. Normally do. + ; RFC 1035 page 30 gives details + mov al, [esi] + cmp al, 0 + je sn_exit + and al, 0xc0 + cmp al, 0xc0 + je sn001 + + movzx eax, byte [esi] + inc eax + add esi, eax + jmp skipName + +sn001: + add esi, 2 ; A pointer is always at the end + ret + +sn_exit: + inc esi + ret + +no_data: + eth.close [socketNum] + xor eax,eax + + ret + +dnsMsgLen: dd 0 +socketNum: dd 0xFFFF + +if ~defined dnsMsg +dnsMsg: rb BUFFER +end if + +end if + + + + diff --git a/programs/network/airc/trunk/fdo.inc b/programs/network/airc/trunk/fdo.inc new file mode 100644 index 0000000000..487a336cbd --- /dev/null +++ b/programs/network/airc/trunk/fdo.inc @@ -0,0 +1,343 @@ +; +; Formatted Debug Output (FDO) +; Copyright (c) 2005-2006, mike.dld +; Created: 2005-01-29, Changed: 2006-07-20 +; +; For questions and bug reports, mail to mike.dld@gmail.com +; +; Available format specifiers are: %s, %d, %u, %x (with partial width support) +; + +; to be defined: +; __DEBUG__ equ 1 +; __DEBUG_LEVEL__ equ 5 + +macro debug_func name { + if used name + name@of@func equ name +} + +macro debug_beginf { + align 4 + name@of@func: +} + +debug_endf fix end if + +macro DEBUGS _sign,[_str] { + common + pushf + pushad + local ..str,..label,is_str + is_str = 0 + forward + if _str eqtype '' + is_str = 1 + end if + common + if is_str = 1 + jmp ..label + ..str db _str,0 + ..label: + add esp,4*8+4 + mov edx,..str + sub esp,4*8+4 + call fdo_debug_outstr + else + mov edx,_str + call fdo_debug_outstr + end if + popad + popf +} + +macro DEBUGD _sign,_dec { + pushf + pushad + if _dec eqtype eax + if _dec in + mov eax,_dec + else if ~_dec eq eax + if _sign = 1 + movsx eax,_dec + else + movzx eax,_dec + end if + end if + else if _dec eqtype 0 + mov eax,_dec + else + add esp,4*8+4 + local tp + tp equ 0 + match _num[_arg],_dec \{ + if _num = 1 + if _sign = 1 + movsx eax,byte[_arg] + else + movzx eax,byte[_arg] + end if + else if _num = 2 + if _sign = 1 + movsx eax,word[_arg] + else + movzx eax,word[_arg] + end if + else + mov eax,dword[_arg] + end if + tp equ 1 + \} + match =0 [_arg],tp _dec \{ + mov eax,dword[_arg] + \} + sub esp,4*8+4 + end if + mov cl,_sign + call fdo_debug_outdec + popad + popf +} + +macro DEBUGH _sign,_hex { + pushf + pushad + if _hex eqtype eax + if _hex in + if ~_hex eq eax + mov eax,_hex + end if + mov edx,8 + else if _hex in + if ~_hex eq ax + movzx eax,_hex + end if + shl eax,16 + mov edx,4 + else if _hex in + if ~_hex eq al + movzx eax,_hex + end if + shl eax,24 + mov edx,2 + end if + else if _hex eqtype 0 + mov eax,_hex + mov edx,8 + else + add esp,4*8+4 + local tp + tp equ 0 + match _num[_arg],_hex \{ + mov eax,dword[_arg] + mov edx,_num + tp equ 1 + \} + match =0 [_arg],tp _hex \{ + mov eax,dword[_arg] + mov edx,8 + \} + sub esp,4*8+4 + end if + call fdo_debug_outhex + popad + popf +} + +;----------------------------------------------------------------------------- + +debug_func fdo_debug_outchar +debug_beginf + pushad + mov cl,al + mov ebx,1 + mov eax,63 + mcall + popad + ret +debug_endf + +debug_func fdo_debug_outstr +debug_beginf + mov eax,63 + mov ebx,1 + .l1: mov cl,[edx] + or cl,cl + jz .l2 + mcall + inc edx + jmp .l1 + .l2: ret +debug_endf + +debug_func fdo_debug_outdec +debug_beginf + or cl,cl + jz @f + or eax,eax + jns @f + neg eax + push eax + mov al,'-' + call fdo_debug_outchar + pop eax + @@: push 10 + pop ecx + push -'0' + .l1: xor edx,edx + div ecx + push edx + test eax,eax + jnz .l1 + .l2: pop eax + add al,'0' + jz .l3 + call fdo_debug_outchar + jmp .l2 + .l3: ret +debug_endf + +debug_func fdo_debug_outhex + __fdo_hexdigits db '0123456789ABCDEF' +debug_beginf + mov cl,dl + neg cl + add cl,8 + shl cl,2 + rol eax,cl + .l1: rol eax,4 + push eax + and eax,0x0000000F + mov al,[__fdo_hexdigits+eax] + call fdo_debug_outchar + pop eax + dec edx + jnz .l1 + ret +debug_endf + +;----------------------------------------------------------------------------- + +macro DEBUGF _level,_format,[_arg] { + common + if __DEBUG__ = 1 & _level >= __DEBUG_LEVEL__ + local ..f1,f2,a1,a2,c1,c2,c3,..lbl + _debug_str_ equ __debug_str_ # a1 + a1 = 0 + c2 = 0 + c3 = 0 + f2 = 0 + repeat ..lbl-..f1 + virtual at 0 + db _format,0,0 + load c1 word from %-1 + end virtual + if c1 = '%s' + virtual at 0 + db _format,0,0 + store word 0 at %-1 + load c1 from f2-c2 + end virtual + if c1 <> 0 + DEBUGS 0,_debug_str_+f2-c2 + end if + c2 = c2 + 1 + f2 = %+1 + DEBUGF_HELPER S,a1,0,_arg + else if c1 = '%x' + virtual at 0 + db _format,0,0 + store word 0 at %-1 + load c1 from f2-c2 + end virtual + if c1 <> 0 + DEBUGS 0,_debug_str_+f2-c2 + end if + c2 = c2 + 1 + f2 = %+1 + DEBUGF_HELPER H,a1,0,_arg + else if c1 = '%d' | c1 = '%u' + local c4 + if c1 = '%d' + c4 = 1 + else + c4 = 0 + end if + virtual at 0 + db _format,0,0 + store word 0 at %-1 + load c1 from f2-c2 + end virtual + if c1 <> 0 + DEBUGS 0,_debug_str_+f2-c2 + end if + c2 = c2 + 1 + f2 = %+1 + DEBUGF_HELPER D,a1,c4,_arg + else if c1 = '\n' + c3 = c3 + 1 + end if + end repeat + virtual at 0 + db _format,0,0 + load c1 from f2-c2 + end virtual + if (c1<>0)&(f2<>..lbl-..f1-1) + DEBUGS 0,_debug_str_+f2-c2 + end if + virtual at 0 + ..f1 db _format,0 + ..lbl: + __debug_strings equ __debug_strings,_debug_str_,<_format>,..lbl-..f1-1-c2-c3 + end virtual + end if +} + +macro __include_debug_strings dummy,[_id,_fmt,_len] { + common + local c1,a1,a2 + forward + if defined _len & ~_len eq + _id: + a1 = 0 + a2 = 0 + repeat _len + virtual at 0 + db _fmt,0,0 + load c1 word from %+a2-1 + end virtual + if (c1='%s')|(c1='%x')|(c1='%d')|(c1='%u') + db 0 + a2 = a2 + 1 + else if (c1='\n') + dw $0A0D + a1 = a1 + 1 + a2 = a2 + 1 + else + db c1 and 0x0FF + end if + end repeat + db 0 + end if +} + +macro DEBUGF_HELPER _letter,_num,_sign,[_arg] { + common + local num + num = 0 + forward + if num = _num + DEBUG#_letter _sign,_arg + end if + num = num+1 + common + _num = _num+1 +} + +macro include_debug_strings { + if __DEBUG__ = 1 + match dbg_str,__debug_strings \{ + __include_debug_strings dbg_str + \} + end if +} diff --git a/programs/network/airc/trunk/macros.inc b/programs/network/airc/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/network/airc/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/arpstat/trunk/arpstat.asm b/programs/network/arpstat/trunk/arpstat.asm index 2afdd89341..68c1251245 100644 --- a/programs/network/arpstat/trunk/arpstat.asm +++ b/programs/network/arpstat/trunk/arpstat.asm @@ -16,7 +16,7 @@ use32 dd 0x100000 ; required amount of memory dd 0x00000000 ; reserved=no extended header include 'lang.inc' - include 'macros.inc' + include '..\..\..\macros.inc' START: ; start of execution call draw_window ; at first, draw the window @@ -24,7 +24,7 @@ START: ; start of execution still: mov eax,23 ; wait here for event mov ebx,200 ; Time out after 2s - int 0x40 + mcall cmp eax,1 ; redraw request ? jz red @@ -38,7 +38,7 @@ still: mov eax, 53 mov ebx, 255 mov ecx, 200 - int 0x40 + mcall push eax mov ebx, text + 24 @@ -47,7 +47,7 @@ still: mov eax, 53 mov ebx, 255 mov ecx, 201 - int 0x40 + mcall mov ebx, text + 64 call printhex @@ -94,13 +94,13 @@ show_entries: mov eax, 53 mov ebx, 255 mov ecx, 202 - int 0x40 + mcall ; Read the IP address mov eax, 53 mov ebx, 255 mov ecx, 203 - int 0x40 + mcall ; IP in eax. Get the address to put it back pop ebx @@ -124,7 +124,7 @@ show_entries: mov eax, 53 mov ebx, 255 mov ecx, 204 - int 0x40 + mcall pop ebx mov ecx, eax @@ -179,7 +179,7 @@ show_entries: mov eax, 53 mov ebx, 255 mov ecx, 205 - int 0x40 + mcall pop ebx mov ecx, eax @@ -213,7 +213,7 @@ show_entries: mov eax, 53 mov ebx, 255 mov ecx, 206 - int 0x40 + mcall pop ebx mov ecx, eax @@ -247,7 +247,7 @@ show_entries: mov eax, 53 mov ebx, 255 mov ecx, 207 - int 0x40 + mcall pop ebx mov ecx, eax @@ -289,18 +289,18 @@ red: ; redraw key: ; Keys are not valid at this part of the mov eax,2 ; loop. Just read it and ignore - int 0x40 + mcall jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jnz still mov eax,0xffffffff ; close this program - int 0x40 + mcall jmp still @@ -339,34 +339,26 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+280 ; [x start] *65536 + [x size] mov ecx,100*65536+270 ; [y start] *65536 + [y size] - mov edx,0x03224466 ; color of work area RRGGBB - mov esi,0x00334455 ; color of grab bar RRGGBB,8->color gl - mov edi,0x00ddeeff ; color of frames RRGGBB - int 0x40 - - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x00ffffff ; color of text RRGGBB - mov edx,labelt ; pointer to text beginning - mov esi,labellen-labelt ; text length - int 0x40 + mov edx,0x13224466 ; color of work area RRGGBB + mov edi,title ; WINDOW LABEL + mcall + ; Re-draw the screen text cld + mov eax,4 mov ebx,25*65536+35 ; draw info text with function 4 mov ecx,0xffffff mov edx,text mov esi,40 newline: - mov eax,4 - int 0x40 + mcall add ebx,16 add edx,40 cmp [edx],byte 'x' @@ -375,7 +367,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -426,9 +418,7 @@ blank: db ' xxx.xxx.xxx.xxx xxxxxxxxxxxx xxxx xxxx ' -labelt: - db 'ARP Table ( First 10 Entries )' -labellen: +title db 'ARP Table ( First 10 Entries )',0 hextable db '0123456789ABCDEF' diff --git a/programs/network/arpstat/trunk/build_en.bat b/programs/network/arpstat/trunk/build_en.bat index e6ac7b88ec..6953c4ef7d 100644 --- a/programs/network/arpstat/trunk/build_en.bat +++ b/programs/network/arpstat/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm arpstat.asm arpstat +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/arpstat/trunk/build_ru.bat b/programs/network/arpstat/trunk/build_ru.bat index bf1c32f56b..4b24e0f662 100644 --- a/programs/network/arpstat/trunk/build_ru.bat +++ b/programs/network/arpstat/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm arpstat.asm arpstat +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/arpstat/trunk/macros.inc b/programs/network/arpstat/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/network/arpstat/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/autodhcp/trunk/ETH.INC b/programs/network/autodhcp/trunk/ETH.INC index d3a75f5eb2..c20f04357d 100644 --- a/programs/network/autodhcp/trunk/ETH.INC +++ b/programs/network/autodhcp/trunk/ETH.INC @@ -39,7 +39,7 @@ ACTIVE = 1 macro eth.get_IP IP { mov ebx,1 mov eax,52 - int 0x40 + mcall mov IP ,eax } @@ -47,21 +47,21 @@ macro eth.get_IP IP { macro eth.get_GATEWAY GATEWAY { mov ebx,9 mov eax,52 - int 0x40 + mcall mov GATEWAY ,eax } macro eth.get_SUBNET SUBNET { mov ebx,10 mov eax,52 - int 0x40 + mcall mov SUBNET ,eax } macro eth.get_DNS DNS { mov ebx,13 mov eax,52 - int 0x40 + mcall mov DNS ,eax } @@ -69,35 +69,35 @@ macro eth.set_IP IP { mov ecx,IP mov ebx,3 mov eax,52 - int 0x40 + mcall } macro eth.set_GATEWAY GATEWAY { mov ecx,GATEWAY mov ebx,11 mov eax,52 - int 0x40 + mcall } macro eth.set_SUBNET SUBNET { mov ecx,SUBNET mov ebx,12 mov eax,52 - int 0x40 + mcall } macro eth.set_DNS DNS { mov ecx,DNS mov ebx,14 mov eax,52 - int 0x40 + mcall } macro eth.set_network_drv conf { mov ecx,conf mov ebx,2 mov eax,52 - int 0x40 + mcall } macro eth.open_udp local,remote,ip,socket { @@ -106,7 +106,7 @@ macro eth.open_udp local,remote,ip,socket { mov esi, ip mov ebx, 0 mov eax, 53 - int 0x40 + mcall mov socket,eax } @@ -115,21 +115,21 @@ macro eth.close_udp socket { mov ecx, socket mov ebx, 1 mov eax, 53 - int 0x40 + mcall } macro eth.poll socket { mov ecx, socket mov ebx, 2 mov eax, 53 - int 0x40 + mcall } macro eth.read_byte socket, result { mov ecx, socket mov ebx, 3 mov eax, 53 - int 0x40 + mcall mov result,bl } @@ -140,7 +140,7 @@ macro eth.read_packet socket, result, buffersize { mov ecx, socket mov ebx, 11 mov eax, 53 - int 0x40 + mcall } macro eth.write_udp socket,length,msg,verify { @@ -149,7 +149,7 @@ macro eth.write_udp socket,length,msg,verify { mov esi, msg mov ebx, 4 mov eax, 53 - int 0x40 + mcall if verify eq 1 call verifysend @@ -165,9 +165,9 @@ verifysend: pusha mov eax,5 mov ebx,100 - int 0x40 + mcall popa - int 0x40 + mcall ret macro eth.open_tcp local,remote,ip,passive,socket { @@ -178,7 +178,7 @@ macro eth.open_tcp local,remote,ip,passive,socket { mov edi, passive ; 0 = PASSIVE open mov ebx, 5 mov eax, 53 - int 0x40 + mcall mov socket,eax } @@ -187,7 +187,7 @@ macro eth.socket_status socket,result { mov ecx, socket mov ebx, 6 mov eax, 53 - int 0x40 + mcall mov result,eax } @@ -198,7 +198,7 @@ macro eth.write_tcp socket,length,msg,verify { mov esi, msg mov ebx, 7 mov eax, 53 - int 0x40 + mcall if verify eq 1 call verifysend @@ -210,11 +210,11 @@ macro eth.read_mac mac { mov ebx, 15 xor ecx, ecx pusha - int 0x40 + mcall mov dword[mac],eax popa add cl, 4 - int 0x40 + mcall mov word[mac+4],ax } @@ -223,14 +223,14 @@ macro eth.close_tcp socket { mov ecx, socket mov ebx, 8 mov eax, 53 - int 0x40 + mcall } macro eth.check_port port,result { mov ecx, port mov ebx, 9 mov eax, 53 - int 0x40 + mcall mov result,eax } @@ -238,7 +238,7 @@ macro eth.check_port port,result { macro eth.check_cable result { mov ebx, 10 mov eax, 53 - int 0x40 + mcall mov result,eax } @@ -247,7 +247,7 @@ macro eth.status status { mov ebx, 255 mov ecx, 6 mov eax, 53 - int 0x40 + mcall mov status,eax } @@ -268,7 +268,7 @@ macro eth.ARP_PROBE address{ mov eax,52 mov ebx,16 xor ecx,ecx - int 0x40 + mcall } @@ -280,7 +280,7 @@ macro eth.ARP_ANNOUNCE address{ mov ebx,16 xor ecx,ecx inc ecx - int 0x40 + mcall } @@ -308,7 +308,7 @@ local .getdata,.loop,.end mov eax,5 mov ebx,1 - int 0x40 + mcall inc edx cmp edx,30 @@ -331,7 +331,7 @@ macro eth.wait_for_data socket,TIMEOUT,abort { mov eax,5 ; wait here for event mov ebx,10 - int 0x40 + mcall jmp @r @@: diff --git a/programs/network/autodhcp/trunk/MACROS.INC b/programs/network/autodhcp/trunk/MACROS.INC deleted file mode 100644 index cd445840ed..0000000000 --- a/programs/network/autodhcp/trunk/MACROS.INC +++ /dev/null @@ -1,268 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; language for programs -lang fix ru ; ru en fr ge fi - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/autodhcp/trunk/autodhcp.asm b/programs/network/autodhcp/trunk/autodhcp.asm index b6073e46e4..04b3709915 100644 --- a/programs/network/autodhcp/trunk/autodhcp.asm +++ b/programs/network/autodhcp/trunk/autodhcp.asm @@ -41,7 +41,7 @@ RATE_LIMIT_INTERVAL equ 60 ; seconds (delay between successive attempts) DEFEND_INTERVAL equ 10 ; seconds (min. wait between defensive ARPs) -include 'macros.inc' +include '..\..\..\macros.inc' include 'eth.inc' include 'debug-fdo.inc' include 'dhcp.inc' @@ -154,7 +154,7 @@ send_request: mov eax,23 ; wait here for event (data from remote) mov ebx,TIMEOUT*10 - int 0x40 + mcall eth.poll [socketNum] diff --git a/programs/network/autodhcp/trunk/common.inc b/programs/network/autodhcp/trunk/common.inc index c544cad556..7502591491 100644 --- a/programs/network/autodhcp/trunk/common.inc +++ b/programs/network/autodhcp/trunk/common.inc @@ -1,17 +1,17 @@ macro wait time { mov ebx,time mov eax,5 - int 0x40 + mcall } macro get_time_counter result { mov eax,26 mov ebx,9 - int 0x40 + mcall mov result,eax } macro exit { - mov eax,-1 - int 0x40 + or eax,-1 + mcall } \ No newline at end of file diff --git a/programs/network/autodhcp/trunk/debug-fdo.inc b/programs/network/autodhcp/trunk/debug-fdo.inc index ecfd0fcc84..40b2cb00e4 100644 --- a/programs/network/autodhcp/trunk/debug-fdo.inc +++ b/programs/network/autodhcp/trunk/debug-fdo.inc @@ -229,7 +229,7 @@ debug_beginf mov cl,al mov ebx,1 mov eax,63 - int 0x40 + mcall popad ret debug_endf @@ -243,7 +243,7 @@ debug_beginf mov cl,[edx] or cl,cl jz .l2 - int 0x40 + mcall inc edx jmp .l1 .l2: ret diff --git a/programs/network/autodhcp/trunk/events.inc b/programs/network/autodhcp/trunk/events.inc index a0b55bdf93..e7014783d8 100644 --- a/programs/network/autodhcp/trunk/events.inc +++ b/programs/network/autodhcp/trunk/events.inc @@ -2,23 +2,23 @@ macro set_event_mask mask { mov ebx, mask mov eax, 40 - int 0x40 + mcall } macro wait_for_event { mov eax, 10 - int 0x40 + mcall } macro check_for_event { mov eax, 11 - int 0x40 + mcall } macro wait_for_event_timeout timeout { mov ebx,timeout mov eax, 23 - int 0x40 + mcall } diff --git a/programs/network/dhcp/trunk/build_en.bat b/programs/network/dhcp/trunk/build_en.bat index 7b05f154f9..04481fe022 100644 --- a/programs/network/dhcp/trunk/build_en.bat +++ b/programs/network/dhcp/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm dhcp.asm dhcp +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/dhcp/trunk/build_ru.bat b/programs/network/dhcp/trunk/build_ru.bat index 0109c6c7ef..670ab6d132 100644 --- a/programs/network/dhcp/trunk/build_ru.bat +++ b/programs/network/dhcp/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm dhcp.asm dhcp +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/dhcp/trunk/dhcp.asm b/programs/network/dhcp/trunk/dhcp.asm index a7fae8ed46..7f0c27f1d5 100644 --- a/programs/network/dhcp/trunk/dhcp.asm +++ b/programs/network/dhcp/trunk/dhcp.asm @@ -5,18 +5,19 @@ ; include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' use32 - org 0x0 + org 0x0 - db 'MENUET00' ; 8 byte id - dd 38 ; required os - dd START ; program start - dd I_END ; program image size - dd 0x100000 ; required amount of memory - dd 0x00000000 ; reserved=no extended header + db 'MENUET01' ; 8 byte id + dd 0x01 ; header version + dd START ; start of code + dd I_END ; size of image + dd I_END+0x8000 ; memory for app + dd I_END+0x8000 ; esp + dd 0x0 , 0x0 ; I_Param , I_Icon START: ; start of execution @@ -24,11 +25,12 @@ START: ; start of execution mov ebx,10000111b ; Stack 8 + defaults int 0x40 +red: ; redraw call draw_window ; at first, draw the window still: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? jz red @@ -38,19 +40,14 @@ still: jz button jmp still - -red: ; redraw - call draw_window - jmp still - key: ; Keys are not valid at this part of the mov eax,2 ; loop. Just read it and ignore - int 0x40 + mcall jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jnz noclose @@ -59,10 +56,10 @@ button: ; button mov eax, 53 mov ebx, 1 mov ecx, [socketNum] - int 0x40 + mcall mov eax,0xffffffff ; close this program - int 0x40 + mcall noclose: cmp ah,3 ; Resolve address? @@ -246,7 +243,7 @@ contactDHCPServer: mov ecx, 68 ; local port dhcp client mov edx, 67 ; remote port - dhcp server mov esi, 0xffffffff ; broadcast - int 0x40 + mcall mov [socketNum], eax @@ -265,7 +262,7 @@ ctr000: mov ecx, [socketNum] mov edx, [dhcpMsgLen] mov esi, dhcpMsg - int 0x40 + mcall ; Setup the DHCP buffer to receive response @@ -279,7 +276,7 @@ ctr000: ctr001: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? je ctr003 @@ -293,7 +290,7 @@ ctr001: mov eax, 53 mov ebx, 2 mov ecx, [socketNum] - int 0x40 + mcall cmp eax, 0 je ctr001 @@ -303,7 +300,7 @@ ctr002: mov eax, 53 mov ebx, 3 mov ecx, [socketNum] - int 0x40 ; read byte - block (high byte) + mcall ; read byte - block (high byte) ; Store the data in the response buffer mov eax, [dhcpMsgLen] @@ -313,7 +310,7 @@ ctr002: mov eax, 53 mov ebx, 2 mov ecx, [socketNum] - int 0x40 ; any more data? + mcall ; any more data? cmp eax, 0 jne ctr002 ; yes, so get it @@ -365,7 +362,7 @@ ctr006: mov eax, 53 mov ebx, 1 mov ecx, [socketNum] - int 0x40 + mcall mov [socketNum], dword 0xFFFF @@ -379,18 +376,18 @@ ctr003: ; redraw ctr004: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall jmp ctr001 ctr005: ; button mov eax,17 ; get id - int 0x40 + mcall ; close socket mov eax, 53 mov ebx, 1 mov ecx, [socketNum] - int 0x40 + mcall mov [socketNum], dword 0xFFFF @@ -421,7 +418,7 @@ ipdisplay: mov eax,47 push ecx movzx ecx,byte [edi] - int 0x40 + mcall pop ecx add edx,6*4*65536 inc edi @@ -477,7 +474,7 @@ displayDHMS: add edx,1*65536+99 mov ecx,[esp+20] mov esi,0xffffff - int 0x40 + mcall popa sub ecx,4 ret @@ -487,29 +484,21 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+300 ; [x start] *65536 + [x size] mov ecx,100*65536+156 ; [y start] *65536 + [y size] - mov edx,0x03224466 ; color of work area RRGGBB - mov esi,0x00334455 ; color of grab bar RRGGBB,8->color gl - mov edi,0x00ddeeff ; color of frames RRGGBB - int 0x40 - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x00ffffff ; color of text RRGGBB - mov edx,labelt ; pointer to text beginning - mov esi,labellen-labelt ; text length - int 0x40 - + mov edx,0x13224466 ; color of work area RRGGBB + mov edi,title ; WINDOW LABEL + mcall + mov eax,8 ; Resolve mov ebx,20*65536+90 mov ecx,127*65536+15 mov edx,3 mov esi,0x557799 - int 0x40 + mcall ; Pass in the IP address in edi ; row to display in [ya] @@ -534,14 +523,13 @@ draw_window: ; Re-draw the screen text cld + mov eax,4 mov ebx,25*65536+35 ; draw info text with function 4 mov ecx,0xffffff mov edx,text mov esi,40 - newline: - mov eax,4 - int 0x40 + mcall add ebx,16 add edx,40 cmp [edx],byte 'x' @@ -550,7 +538,7 @@ newline: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -574,8 +562,7 @@ text: dhms db ' d h m s' forever db 'Forever ' -labelt: db 'DHCP Client Test' -labellen: +title db 'DHCP Client Test',0 dhcpMsgType: db 0 dhcpLease: dd 0 diff --git a/programs/network/dhcp/trunk/macros.inc b/programs/network/dhcp/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/network/dhcp/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/dnsr/trunk/build_en.bat b/programs/network/dnsr/trunk/build_en.bat index 9ef599ab0c..10d4451bbb 100644 --- a/programs/network/dnsr/trunk/build_en.bat +++ b/programs/network/dnsr/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm dnsr.asm dnsr +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/dnsr/trunk/build_ru.bat b/programs/network/dnsr/trunk/build_ru.bat index 1e44ec469a..2ceaced014 100644 --- a/programs/network/dnsr/trunk/build_ru.bat +++ b/programs/network/dnsr/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm dnsr.asm dnsr +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/dnsr/trunk/dnsr.asm b/programs/network/dnsr/trunk/dnsr.asm index e3194e016c..bc8234d7cc 100644 --- a/programs/network/dnsr/trunk/dnsr.asm +++ b/programs/network/dnsr/trunk/dnsr.asm @@ -17,18 +17,17 @@ DEBUGGING_STATE equ DEBUGGING_DISABLED use32 - - org 0x0 - - db 'MENUET00' ; 8 byte id - dd 38 ; required os - dd START ; program start - dd I_END ; program image size - dd 0x100000 ; required amount of memory - dd 0x00000000 ; reserved=no extended header + org 0x0 + db 'MENUET01' ; header + dd 0x01 ; header version + dd START ; entry point + dd I_END ; image size + dd I_END+0x10000 ; required memory + dd I_END+0x10000 ; esp + dd 0x0 , 0x0 ; I_Param , I_Path include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' START: ; start of execution mov eax,40 ; Report events @@ -38,11 +37,12 @@ START: ; start of execution mov dword [prompt], p1 mov dword [promptlen], p1len - p1 ; 'waiting for command' +red: call draw_window ; at first, draw the window still: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? jz red @@ -52,19 +52,14 @@ still: jz button jmp still - -red: ; redraw - call draw_window - jmp still - key: ; Keys are not valid at this part of the mov eax,2 ; loop. Just read it and ignore - int 0x40 + mcall jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jnz noclose @@ -73,10 +68,10 @@ button: ; button mov eax, 53 mov ebx, 1 mov ecx, [socketNum] - int 0x40 + mcall mov eax,0xffffffff ; close this program - int 0x40 + mcall noclose: cmp ah,3 ; Resolve address? @@ -122,14 +117,14 @@ rk: f11: mov eax,10 - int 0x40 + mcall cmp eax,2 jz fbu jmp still fbu: mov eax,2 - int 0x40 ; get key + mcall ; get key shr eax,8 cmp eax,8 jnz nobs @@ -169,7 +164,7 @@ print_text: shl ecx,16 mov cx,8 mov edx,0x224466 - int 0x40 + mcall mov eax,4 mov ebx,103*65536 @@ -177,7 +172,7 @@ print_text: mov ecx,0xffffff mov edx,[addr] mov esi,26 - int 0x40 + mcall ret @@ -320,7 +315,7 @@ getlp: push ecx mov eax, 53 mov ebx, 9 - int 0x40 + mcall pop ecx cmp eax, 0 ; is this local port in use? jz getlp ; yes - so try next @@ -330,7 +325,7 @@ getlp: mov ebx, 0 mov edx, 53 ; remote port - dns mov esi, [dnsIP] - int 0x40 + mcall mov [socketNum], eax @@ -340,7 +335,7 @@ getlp: mov ecx, [socketNum] mov edx, [dnsMsgLen] mov esi, dnsMsg - int 0x40 + mcall ; Setup the DNS response buffer @@ -354,7 +349,7 @@ getlp: ctr001: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? je ctr003 @@ -368,7 +363,7 @@ ctr001: mov eax, 53 mov ebx, 2 mov ecx, [socketNum] - int 0x40 + mcall cmp eax, 0 je ctr001 @@ -378,7 +373,7 @@ ctr002: mov eax, 53 mov ebx, 3 mov ecx, [socketNum] - int 0x40 ; read byte - block (high byte) + mcall ; read byte - block (high byte) ; Store the data in the response buffer mov eax, [dnsMsgLen] @@ -393,7 +388,7 @@ end if mov eax, 53 mov ebx, 2 mov ecx, [socketNum] - int 0x40 ; any more data? + mcall ; any more data? cmp eax, 0 jne ctr002 ; yes, so get it @@ -402,7 +397,7 @@ end if mov eax, 53 mov ebx, 1 mov ecx, [socketNum] - int 0x40 + mcall mov [socketNum], dword 0xFFFF @@ -489,18 +484,18 @@ ctr003: ; redraw ctr004: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall jmp ctr001 ctr005: ; button mov eax,17 ; get id - int 0x40 + mcall ; close socket mov eax, 53 mov ebx, 1 mov ecx, [socketNum] - int 0x40 + mcall mov [socketNum], dword 0xFFFF mov [hostIP], dword 0 @@ -554,43 +549,33 @@ sn_exit: draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+300 ; [x start] *65536 + [x size] mov ecx,100*65536+140 ; [y start] *65536 + [y size] - mov edx,0x03224466 ; color of work area RRGGBB - mov esi,0x00334455 ; color of grab bar RRGGBB,8->color gl - mov edi,0x00ddeeff ; color of frames RRGGBB - int 0x40 - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x00ffffff ; color of text RRGGBB - mov edx,labelt ; pointer to text beginning - mov esi,labellen-labelt ; text length - int 0x40 - + mov edx,0x13224466 ; color of work area RRGGBB + mov edi,title ; WINDOW LABEL; + mcall + mov eax,8 ; Resolve mov ebx,20*65536+190 mov ecx,79*65536+15 mov edx,3 mov esi,0x557799 - int 0x40 + mcall - mov eax,8 + ;mov eax,8 mov ebx,270*65536+10 mov ecx,34*65536+10 - mov edx,4 - mov esi,0x557799 - int 0x40 + inc edx + mcall - mov eax,8 + ;mov eax,8 mov ebx,270*65536+10 mov ecx,50*65536+10 - mov edx,5 - mov esi,0x557799 - int 0x40 + inc edx + mcall ; Copy the file name to the screen buffer ; file name is same length as IP address, to @@ -616,14 +601,13 @@ draw_window: ; Re-draw the screen text cld + mov eax,4 mov ebx,25*65536+35 ; draw info text with function 4 mov ecx,0xffffff mov edx,text mov esi,40 - newline: - mov eax,4 - int 0x40 + mcall add ebx,16 add edx,40 cmp [edx],byte 'x' @@ -644,7 +628,7 @@ newline: ipdisplay: mov eax,47 movzx ecx,byte [edi] - int 0x40 + mcall add edx,6*4*65536 inc edi cmp edi,hostIP+4 @@ -653,7 +637,7 @@ ipdisplay: dw001: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -681,7 +665,7 @@ dps_001: mov eax,63 mov ebx, 1 push esi - int 0x40 + mcall inc word [ind] mov ax, [ind] @@ -692,11 +676,11 @@ dps_001: mov cl, 13 mov eax,63 mov ebx, 1 - int 0x40 + mcall mov cl, 10 mov eax,63 mov ebx, 1 - int 0x40 + mcall ds1: @@ -750,9 +734,7 @@ text: db 'x <- END MARKER, DONT DELETE ' -labelt: - db 'DNS Client' -labellen: +title db 'DNS Client',0 prompt: dd 0 @@ -770,7 +752,7 @@ p5len: dnsServer db '194.145.128.1 ' ; iolfree.ie DNS -query db 'WWW.MENUETOS.ORG ' +query db 'WWW.MENUETOS.NET ' hostIP: dd 0 dnsIP: dd 0 diff --git a/programs/network/dnsr/trunk/macros.inc b/programs/network/dnsr/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/network/dnsr/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/ethstat/trunk/ethstat.asm b/programs/network/ethstat/trunk/ethstat.asm index 718043c377..45678d5e80 100644 --- a/programs/network/ethstat/trunk/ethstat.asm +++ b/programs/network/ethstat/trunk/ethstat.asm @@ -5,26 +5,26 @@ ; use32 - - org 0x0 - - db 'MENUET00' ; 8 byte id - dd 38 ; required os - dd START ; program start - dd I_END ; program image size - dd 0x100000 ; required amount of memory - dd 0x00000000 ; reserved=no extended header + org 0x0 + db 'MENUET01' ; header + dd 0x01 ; header version + dd START ; entry point + dd I_END ; image size + dd I_END+0x10000 ; required memory + dd I_END+0x10000 ; esp + dd 0x0 , 0x0 ; I_Param , I_Path include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' START: ; start of execution + call draw_window ; at first, draw the window still: mov eax,23 ; wait here for event mov ebx,200 ; Time out after 2s - int 0x40 + mcall cmp eax,1 ; redraw request ? jz red @@ -38,7 +38,7 @@ still: mov eax, 53 mov ebx, 255 mov ecx, 6 - int 0x40 + mcall mov ebx, text + 24 call printhex @@ -46,7 +46,7 @@ still: mov eax, 53 mov ebx, 255 mov ecx, 2 - int 0x40 + mcall mov ebx, text + 107 call printhex @@ -54,7 +54,7 @@ still: mov eax, 53 mov ebx, 255 mov ecx, 5 - int 0x40 + mcall mov ebx, text + 107 + 40 call printhex @@ -62,7 +62,7 @@ still: mov eax, 53 mov ebx, 255 mov ecx, 4 - int 0x40 + mcall mov ebx, text + 107 + 80 call printhex @@ -70,7 +70,7 @@ still: mov eax, 53 mov ebx, 255 mov ecx, 100 - int 0x40 + mcall mov ebx, text + 258 call printhex @@ -78,7 +78,7 @@ still: mov eax, 53 mov ebx, 255 mov ecx, 101 - int 0x40 + mcall mov ebx, text + 258 + 40 call printhex @@ -86,7 +86,7 @@ still: mov eax, 53 mov ebx, 255 mov ecx, 102 - int 0x40 + mcall mov ebx, text + 258 + 80 call printhex @@ -94,7 +94,7 @@ still: mov eax, 53 mov ebx, 255 mov ecx, 103 - int 0x40 + mcall mov ebx, text + 258 + 120 call printhex @@ -105,18 +105,18 @@ red: ; redraw key: ; Keys are not valid at this part of the mov eax,2 ; loop. Just read it and ignore - int 0x40 + mcall jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jnz still - mov eax,0xffffffff ; close this program - int 0x40 + or eax,-1 ; close this program + mcall jmp still @@ -132,34 +132,26 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW - mov eax,0 ; function 0 : define and draw window + xor eax,eax ; function 0 : define and draw window mov ebx,100*65536+260 ; [x start] *65536 + [x size] mov ecx,100*65536+205 ; [y start] *65536 + [y size] - mov edx,0x03224466 ; color of work area RRGGBB - mov esi,0x00334455 ; color of grab bar RRGGBB,8->color gl - mov edi,0x00ddeeff ; color of frames RRGGBB - int 0x40 - - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x00ffffff ; color of text RRGGBB - mov edx,labelt ; pointer to text beginning - mov esi,labellen-labelt ; text length - int 0x40 + mov edx,0x13224466 ; color of work area RRGGBB + mov edi,title ; WINDOW LABEL + mcall + ; Re-draw the screen text cld + mov eax,4 mov ebx,25*65536+35 ; draw info text with function 4 mov ecx,0xffffff mov edx,text mov esi,40 newline: - mov eax,4 - int 0x40 + mcall add ebx,16 add edx,40 cmp [edx],byte 'x' @@ -168,7 +160,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -211,9 +203,7 @@ text: db 'x <- END MARKER, DONT DELETE ' -labelt: - db 'Stack Status' -labellen: +title db 'Stack Status',0 hextable db '0123456789ABCDEF' @@ -225,4 +215,4 @@ I_END: - \ No newline at end of file + diff --git a/programs/network/ethstat/trunk/macros.inc b/programs/network/ethstat/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/network/ethstat/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/ftps/trunk/FTPS.ASM b/programs/network/ftps/trunk/FTPS.ASM index a36b45d6ca..e535391c68 100644 --- a/programs/network/ftps/trunk/FTPS.ASM +++ b/programs/network/ftps/trunk/FTPS.ASM @@ -20,7 +20,7 @@ use32 dd 0x7FFF0 ; esp = 0x7FFF0 dd 0, 0 ; no params, no path -include 'macros.inc' +include '..\..\..\macros.inc' ; Various states of client connection USER_NONE equ 0 ; Awaiting a connection USER_CONNECTED equ 1 ; User just connected, prompt given @@ -55,7 +55,7 @@ still: mov eax,53 mov ebx,6 ; Get socket status mov ecx,[CmdSocket] - int 0x40 + mcall mov ebx, [CmdSocketStatus] mov [CmdSocketStatus], eax @@ -97,7 +97,7 @@ noc: waitev: mov eax,23 ; wait here for event mov ebx,1 ; Delay for up to 1s - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -111,7 +111,7 @@ waitev: mov eax, 53 mov ebx, 2 ; Get # of bytes in input queue mov ecx, [CmdSocket] - int 0x40 + mcall test eax, eax jz still @@ -119,7 +119,7 @@ read_input: mov eax, 53 mov ebx, 3 ; Get a byte from socket in bl mov ecx, [CmdSocket] - int 0x40 + mcall call ftpRxCmdData ; process incoming ftp command @@ -127,7 +127,7 @@ read_input: mov eax, 53 mov ebx, 2 ; Get # of bytes in input queue mov ecx, [CmdSocket] - int 0x40 + mcall cmp eax, 0 jne read_input @@ -145,12 +145,12 @@ red: ; REDRAW WINDOW key: ; KEY mov eax,2 ; get but ignore - int 0x40 + mcall jmp still button: mov eax,17 - int 0x40 + mcall cmp ah,1 jne still @@ -158,11 +158,11 @@ button: mov eax,53 mov ebx,8 mov ecx,[CmdSocket] - int 0x40 + mcall ; ... terminate program - mov eax,-1 - int 0x40 + or eax,-1 + mcall jmp still @@ -175,21 +175,21 @@ draw_window: mov eax,12 mov ebx,1 - int 0x40 + mcall xor eax,eax ; DRAW WINDOW mov ebx,100*65536+491 + 8 +15 mov ecx,100*65536+270 + 20 ; 20 for status bar mov edx,0x13000000 mov edi,labelt - int 0x40 + mcall ; draw status bar mov eax, 13 mov ebx, 4*65536+484 + 8 +15 mov ecx, 270*65536 + 3 mov edx, 0x00557799 - int 0x40 + mcall mov esi,contlen-contt ; display connected status @@ -203,7 +203,7 @@ pcon: mov eax,4 ; status text mov ebx,380*65536+276 mov ecx,0x00ffffff - int 0x40 + mcall ; Draw the text on the screen, clearing it first ; This can go when we loose debuggin info. @@ -217,7 +217,7 @@ pcon: mov eax,12 mov ebx,2 - int 0x40 + mcall popa @@ -262,7 +262,7 @@ draw_text: shl ebx, 16 mov bx, 6 mov eax, 13 - int 0x40 + mcall popa ; draw character @@ -278,7 +278,7 @@ draw_text: mov eax,4 mov edx,esi mov esi,1 - int 0x40 + mcall popa noletter: @@ -431,7 +431,7 @@ outputStr: mov eax,53 mov ebx,7 mov ecx,[CmdSocket] - int 0x40 + mcall pop edx pop esi @@ -442,7 +442,7 @@ outputStr: pusha mov eax,5 mov ebx,1 ; Delay for up 100ms - int 0x40 + mcall popa jmp outputStr os_exit: @@ -468,7 +468,7 @@ outputDataStr: mov eax,53 mov ebx,7 mov ecx,[DataSocket] - int 0x40 + mcall pop edx pop esi @@ -479,7 +479,7 @@ outputDataStr: pusha mov eax,5 mov ebx,20 ; Delay for upto 200ms - int 0x40 + mcall popa jmp outputDataStr ods_exit: @@ -580,7 +580,7 @@ disconnect: mov eax, 53 ; Stack Interface mov ebx,8 ; Close TCP socket mov ecx,[CmdSocket] - int 0x40 + mcall ret @@ -602,13 +602,13 @@ disconnectData: pusha mov eax,5 mov ebx,200 ; Delay for 2s - int 0x40 + mcall popa mov eax, 53 ; Stack Interface mov ebx,8 ; Close TCP socket mov ecx,[DataSocket] - int 0x40 + mcall ret @@ -634,7 +634,7 @@ connect: mov edx, 0 ; No remote port mov ecx, 21 ; ftp command port id mov edi, 0 ; passive open - int 0x40 + mcall mov [CmdSocket], eax popa @@ -663,7 +663,7 @@ connectData: mov edx, [DataPort] ; remote port mov ecx, 20 ; ftp data port id mov edi, 1 ; active open - int 0x40 + mcall mov [DataSocket], eax popa @@ -853,7 +853,7 @@ sendDir: sd001: ; Read the next DirBlocksPerCall (=16) blocks mov eax, 70 - int 0x40 + mcall ; Did we read anything? test eax, eax jz @f @@ -1067,7 +1067,7 @@ sendFile: sf002a: ; now read the file.. mov eax,70 - int 0x40 + mcall test eax, eax jz @f cmp eax, 6 @@ -1083,7 +1083,7 @@ sf002a: ; wait a bit mov eax, 5 mov ebx, 10 - int 0x40 + mcall mov ebx, fileinfoblock add dword [ebx+4], edx jmp sf002a @@ -1132,14 +1132,14 @@ gf000: mov eax, 53 mov ebx, 2 ; Get # of bytes in input queue mov ecx, [DataSocket] - int 0x40 + mcall test eax, eax je gf_sleep mov eax, 53 mov ebx, 3 ; Get a byte from socket in bl mov ecx, [DataSocket] - int 0x40 ; returned data in bl + mcall ; returned data in bl mov esi, text + 0x1300 add esi, dword [fsize] @@ -1156,7 +1156,7 @@ gf_sleep: mov eax,53 mov ebx,6 ; Get socket status mov ecx,[DataSocket] - int 0x40 + mcall cmp eax, 7 jne gf001 ; still open, so just sleep a bit @@ -1166,7 +1166,7 @@ gf_sleep: mov [fileinfoblock+12], eax mov eax,70 mov ebx,fileinfoblock - int 0x40 + mcall ret ; Finished @@ -1174,7 +1174,7 @@ gf001: ; wait a bit mov eax,5 mov ebx,10 ; Delay for up 100ms - int 0x40 + mcall jmp gf000 ; try for more data @@ -1289,7 +1289,7 @@ cmdDELE: and dword [ebx+12], 0 and dword [ebx+16], 0 mov eax, 70 - int 0x40 + mcall pop dword [ebx+16] pop dword [ebx+12] @@ -1327,13 +1327,13 @@ cl001: ; wait a bit mov eax,5 mov ebx,10 ; Delay for up 100ms - int 0x40 + mcall ; check connection status mov eax,53 mov ebx,6 ; Get socket status mov ecx,[DataSocket] - int 0x40 + mcall cmp eax, 4 jne cl001 @@ -1363,13 +1363,13 @@ cr001: ; wait a bit mov eax,5 mov ebx,10 ; Delay for up 100ms - int 0x40 + mcall ; check connection status mov eax,53 mov ebx,6 ; Get socket status mov ecx,[DataSocket] - int 0x40 + mcall cmp eax, 4 jne cr001 @@ -1402,13 +1402,13 @@ cs001: ; wait a bit mov eax,5 mov ebx,10 ; Delay for up 100ms - int 0x40 + mcall ; check connection status mov eax,53 mov ebx,6 ; Get socket status mov ecx,[DataSocket] - int 0x40 + mcall cmp eax, 4 je @f diff --git a/programs/network/ftps/trunk/macros.inc b/programs/network/ftps/trunk/macros.inc deleted file mode 100644 index 14185dbfce..0000000000 --- a/programs/network/ftps/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/httpc/trunk/build_en.bat b/programs/network/httpc/trunk/build_en.bat index 3be905a62c..70683c9f9f 100644 --- a/programs/network/httpc/trunk/build_en.bat +++ b/programs/network/httpc/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm httpc.asm httpc +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/httpc/trunk/build_ru.bat b/programs/network/httpc/trunk/build_ru.bat index dc528bf409..e69736cb0e 100644 --- a/programs/network/httpc/trunk/build_ru.bat +++ b/programs/network/httpc/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm httpc.asm httpc +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/httpc/trunk/httpc.asm b/programs/network/httpc/trunk/httpc.asm index 7c5ddae5a9..41c64f19fb 100644 --- a/programs/network/httpc/trunk/httpc.asm +++ b/programs/network/httpc/trunk/httpc.asm @@ -23,18 +23,17 @@ DEBUGGING_DISABLED equ 0 DEBUGGING_STATE equ DEBUGGING_DISABLED use32 - - org 0x0 - - db 'MENUET00' ; 8 byte id - dd 38 ; required os - dd START ; program start - dd I_END ; program image size - dd 0x100000 ; required amount of memory - dd 0x00000000 ; reserved=no extended header + org 0x0 + db 'MENUET01' ; header + dd 0x01 ; header version + dd START ; entry point + dd I_END ; image size + dd 0x100000 ; required memory + dd 0x100000 ; esp + dd 0x0 , 0x0 ; I_Param , I_Path include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' ;include "DEBUG.INC" URLMAXLEN equ 50 ; maximum length of url string @@ -50,14 +49,15 @@ START: ; start of execution mov eax,40 ; Report events mov ebx,10000111b ; Stack 8 + defaults - int 0x40 + mcall +red: ; redraw call draw_window still: mov eax,23 ; wait here for event mov ebx,1 - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -75,7 +75,7 @@ still: mov eax,53 mov ebx,6 mov ecx,[socket] - int 0x40 + mcall mov [status],eax @@ -102,7 +102,7 @@ no_send: mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall call draw_page @@ -111,13 +111,9 @@ no_send: no_close: jmp still -red: ; redraw - call draw_window - jmp still - key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall shr eax,8 cmp eax,184 jne no_down @@ -138,7 +134,7 @@ no_up: button: ; button ;dps <"Button pressed",13,10> mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose @@ -147,14 +143,14 @@ button: ; button mov eax, 53 mov ebx, 8 mov ecx, [socket] - int 0x40 + mcall ;dpd eax ;dps <13,10> exit: or eax,-1 ; close this program - int 0x40 + mcall noclose: cmp ah,31 @@ -189,14 +185,14 @@ nodown: f11: mov eax,10 - int 0x40 + mcall cmp eax,2 ; key? jz fbu jmp still fbu: mov eax,2 - int 0x40 ; get key + mcall ; get key shr eax,8 cmp eax,8 jnz nobs @@ -258,7 +254,7 @@ send_request: mov ecx,[socket] mov edx,4 mov esi,string0 - int 0x40 + mcall mov edx,0 @@ -272,14 +268,14 @@ next_edx: mov ebx,7 mov ecx,[socket] mov esi,document - int 0x40 + mcall mov eax,53 ; ' HTTP/1.0 .. ' mov ebx,7 mov ecx,[socket] mov edx,stringh_end-stringh mov esi,stringh - int 0x40 + mcall popa ret @@ -298,7 +294,7 @@ print_status: mov eax,26 mov ebx,9 - int 0x40 + mcall cmp eax,[nextupdate] jb status_return @@ -313,7 +309,7 @@ print_status: shl ecx,16 add ecx,-18*65536+10 mov edx,0xffffff - int 0x40 + mcall mov eax,47 mov ebx,3*65536 @@ -321,7 +317,7 @@ print_status: mov edx,12*65536-18 add edx,[winys] mov esi,0x000000 - int 0x40 + mcall mov eax,47 mov ebx,6*65536 @@ -329,7 +325,7 @@ print_status: mov edx,40*65536-18 add edx,[winys] mov esi,0x000000 - int 0x40 + mcall status_return: popa @@ -356,7 +352,7 @@ newbyteread: mov eax, 53 mov ebx, 2 mov ecx, [socket] - int 0x40 + mcall cmp eax,0 je no_more_data @@ -365,7 +361,7 @@ read_more: mov eax, 53 mov ebx, 3 mov ecx, [socket] - int 0x40 + mcall yesm: inc [pos] @@ -379,7 +375,7 @@ yesm: mov eax,5 mov ebx,50 - int 0x40 + mcall jmp newbyteread @@ -675,7 +671,7 @@ newpxy: shl ecx,16 add ecx,10 mov edx,0xffffff - int 0x40 + mcall mov eax,4 mov ebx,[esp+4] @@ -715,7 +711,7 @@ noecx2: noecx128: mov esi,1 - int 0x40 + mcall pop ebx pop eax @@ -763,7 +759,7 @@ getlp1: push ecx mov eax, 53 mov ebx, 9 - int 0x40 + mcall pop ecx cmp eax, 0 ; is this local port in use? jz getlp1 ; yes - so try next @@ -773,7 +769,7 @@ getlp1: mov edx,80 mov esi,dword [server_ip] mov edi,1 - int 0x40 + mcall mov [socket], eax mov [pos],0 @@ -791,7 +787,7 @@ tst3: mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall call draw_page @@ -1068,7 +1064,7 @@ getlp: push ecx mov eax, 53 mov ebx, 9 - int 0x40 + mcall pop ecx cmp eax, 0 ; is this local port in use? jz getlp ; yes - so try next @@ -1078,7 +1074,7 @@ getlp: mov ebx, 0 mov edx, 53 ; remote port - dns mov esi, dword [dns_ip] - int 0x40 + mcall mov [socketNum], eax @@ -1088,7 +1084,7 @@ getlp: mov ecx, [socketNum] mov edx, [dnsMsgLen] mov esi, dnsMsg - int 0x40 + mcall ; Setup the DNS response buffer @@ -1102,7 +1098,7 @@ getlp: ctr001: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? je ctr003 @@ -1116,7 +1112,7 @@ ctr001: mov eax, 53 mov ebx, 2 mov ecx, [socketNum] - int 0x40 + mcall cmp eax, 0 je ctr001 @@ -1126,7 +1122,7 @@ ctr002: mov eax, 53 mov ebx, 3 mov ecx, [socketNum] - int 0x40 ; read byte - block (high byte) + mcall ; read byte - block (high byte) ; Store the data in the response buffer mov eax, [dnsMsgLen] @@ -1136,7 +1132,7 @@ ctr002: mov eax, 53 mov ebx, 2 mov ecx, [socketNum] - int 0x40 ; any more data? + mcall ; any more data? cmp eax, 0 jne ctr002 ; yes, so get it @@ -1145,7 +1141,7 @@ ctr002: mov eax, 53 mov ebx, 1 mov ecx, [socketNum] - int 0x40 + mcall mov [socketNum], dword 0xFFFF @@ -1239,12 +1235,12 @@ ctr003: ; redraw ctr004: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall jmp ctr001 ctr005: ; button mov eax,17 ; get id - int 0x40 + mcall mov dl, ah @@ -1252,7 +1248,7 @@ ctr005: ; button mov eax, 53 mov ebx, 1 mov ecx, [socketNum] - int 0x40 + mcall cmp dl, 1 je exit @@ -1316,7 +1312,7 @@ debug_print_string: mov cl, '"' mov eax,63 mov ebx, 1 - int 0x40 + mcall pop esi dps_000: @@ -1331,22 +1327,22 @@ dps_exit: mov cl, '"' mov eax,63 mov ebx, 1 - int 0x40 + mcall mov cl, 13 mov eax,63 mov ebx, 1 - int 0x40 + mcall mov cl, 10 mov eax,63 mov ebx, 1 - int 0x40 + mcall ret dps_001: mov eax,63 mov ebx, 1 push esi - int 0x40 + mcall pop esi inc esi @@ -1370,7 +1366,7 @@ print_text: shl ecx,16 mov cx,9 mov edx,0xFFFFFF - int 0x40 + mcall ; write text mov eax,4 @@ -1379,7 +1375,7 @@ print_text: mov ecx,0x000000 mov edx,[addr] mov esi,URLMAXLEN - int 0x40 + mcall ret @@ -1390,70 +1386,61 @@ print_text: draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,50*65536+550 ; [x start] *65536 + [x size] mov ecx,50*65536+400 ; [y start] *65536 + [y size] - mov edx,0x03ffffff ; color of work area RRGGBB,8->color gl - mov esi,0x805080d0 ; color of grab bar RRGGBB,8->color gl - mov edi,0x005080d0 ; color of frames RRGGBB - int 0x40 - - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x00ddeeff ; color of text RRGGBB - mov edx,labelt ; pointer to text beginning - mov esi,labellen-labelt ; text length - int 0x40 - + mov edx,0x13ffffff ; color of work area RRGGBB,8->color gl + mov edi,title ; WINDOW LABEL + mcall + mov esi, URLMAXLEN ; URL mov eax,4 ; function 4 : write text to window mov ebx,30*65536+38 ; [x start] *65536 + [y start] mov ecx,0x000000 ; color of text RRGGBB mov edx,document_user ; pointer to text beginning - int 0x40 + mcall mov eax,38 mov ebx,5*65536+545 mov ecx,60*65536+60 mov edx,0x000000 - int 0x40 + mcall - mov eax,38 - mov ebx,5*65536+545 + ;mov eax,38 + ;mov ebx,5*65536+545 mov ecx,[winys] shl ecx,16 add ecx,[winys] sub ecx,26*65536+26 - mov edx,0x000000 - int 0x40 + ;mov edx,0x000000 + mcall ; RELOAD mov eax,8 ; function 8 : define and draw button mov ebx,388*65536+50 ; [x start] *65536 + [x size] mov ecx,34*65536+14 ; [y start] *65536 + [y size] mov edx,22 ; button id mov esi,0x5588dd ; button color RRGGBB - int 0x40 + mcall ; URL - mov eax,8 ; function 8 : define and draw button + ;mov eax,8 ; function 8 : define and draw button mov ebx,10*65536+12 ; [x start] *65536 + [x size] mov ecx,34*65536+12 ; [y start] *65536 + [y size] mov edx,10 ; button id - mov esi,0x5588dd ; button color RRGGBB - int 0x40 + ;mov esi,0x5588dd ; button color RRGGBB + mcall ; STOP - mov eax,8 ; function 8 : define and draw button + ;mov eax,8 ; function 8 : define and draw button mov ebx,443*65536+50 ; [x start] *65536 + [x size] mov ecx,34*65536+14 ; [y start] *65536 + [y size] mov edx,24 ; button id - mov esi,0x5588dd ; button color RRGGBB - int 0x40 + ;mov esi,0x5588dd ; button color RRGGBB + mcall ; BUTTON TEXT mov eax,4 ; function 4 : write text to window @@ -1461,13 +1448,13 @@ draw_window: mov ecx,0xffffff ; color of text RRGGBB mov edx,button_text ; pointer to text beginning mov esi,20 ; text length - int 0x40 + mcall call display_page mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -1499,8 +1486,7 @@ addr dd 0x0 ya dd 0x0 len dd 0x00 -labelt: db 'HTTPC - PgUp/PgDown' -labellen: +title db 'HTTPC - PgUp/PgDown',0 server_ip: db 207,44,212,20 dns_ip: db 194,145,128,1 diff --git a/programs/network/httpc/trunk/macros.inc b/programs/network/httpc/trunk/macros.inc deleted file mode 100644 index d45b69e6e3..0000000000 --- a/programs/network/httpc/trunk/macros.inc +++ /dev/null @@ -1,265 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a { ; mike.dld - if ~a eq - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/https/trunk/build_en.bat b/programs/network/https/trunk/build_en.bat index b4f561acc5..1997419176 100644 --- a/programs/network/https/trunk/build_en.bat +++ b/programs/network/https/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm https.asm https +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/https/trunk/build_ru.bat b/programs/network/https/trunk/build_ru.bat index 61a575e7ec..1415b5a823 100644 --- a/programs/network/https/trunk/build_ru.bat +++ b/programs/network/https/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm https.asm https +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/https/trunk/https.asm b/programs/network/https/trunk/https.asm index a1109203ff..0a39ef2aed 100644 --- a/programs/network/https/trunk/https.asm +++ b/programs/network/https/trunk/https.asm @@ -26,10 +26,10 @@ use32 dd START ; program start dd I_END ; program image size dd 0x400000 ; required amount of memory - dd 0x20000 + dd 0x400000 dd 0,0 ; reserved=no extended header -include "MACROS.INC" +include "..\..\..\MACROS.INC" ; 0x0+ - program image ; 0x1ffff - stack @@ -57,7 +57,7 @@ START: ; start of execution mov eax,70 mov ebx,filel - int 0x40 + mcall mov [board_size],ebx cmp eax,0 je board_found @@ -75,7 +75,7 @@ START: ; start of execution mov ebx,files mov ecx,[board_size] mov [files+12],ecx - int 0x40 + mcall mov [status],-1 mov [last_status],-2 @@ -98,10 +98,10 @@ still: mov eax,5 mov ebx,1 - int 0x40 + mcall mov eax,11 - int 0x40 + mcall call check_events jmp still @@ -121,22 +121,22 @@ check_events: key: ; Keys are not valid at this part of the mov al,2 ; loop. Just read it and ignore - int 0x40 + mcall ret button: ; button mov al,17 ; get id - int 0x40 + mcall cmp ah,1 ; close jnz tst2 mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall mov eax,-1 - int 0x40 + mcall tst2: cmp ah,2 ; button id=2 ? @@ -149,7 +149,7 @@ button: ; button mov edx,0 ; no remote port specified mov esi,0 ; no remote ip specified mov edi,0 ; PASSIVE open - int 0x40 + mcall mov [socket], eax mov [posy],1 mov [posx],0 @@ -167,14 +167,14 @@ button: ; button mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall mov eax,5 mov ebx,2 - int 0x40 + mcall mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall cmp [server_active],1 jne no_re_open @@ -184,7 +184,7 @@ button: ; button mov edx,0 ; no remote port specified mov esi,0 ; no remote ip specified mov edi,0 ; PASSIVE open - int 0x40 + mcall mov [socket], eax no_re_open: @@ -245,7 +245,7 @@ start_transmission: je data_received mov eax,5 mov ebx,1 - int 0x40 + mcall dec [retries] jnz wait_for_data jmp no_http_request @@ -280,7 +280,7 @@ start_transmission: mov ebx,7 mov ecx,[socket] mov esi,[filepos] - int 0x40 + mcall mov eax,esi add eax,edx @@ -312,16 +312,16 @@ wait_for_empty_slot: mov eax,5 mov ebx,1 - int 0x40 + mcall mov eax,11 - int 0x40 + mcall call check_events mov eax,53 mov ebx,255 mov ecx,103 - int 0x40 + mcall cmp eax,0 je no_wait_more @@ -346,14 +346,14 @@ display_progress: mov ebx,115*65536+8*6 mov ecx,178*65536+10 mov edx,0xffffff - int 0x40 + mcall mov eax,47 mov ebx,8*65536 mov ecx,edi mov edx,115*65536+178 mov esi,0x000000 - int 0x40 + mcall popa ret @@ -368,14 +368,14 @@ send_header: mov ecx,[socket] mov edx,h_len-html_header mov esi,html_header - int 0x40 + mcall mov eax,53 ; send file type mov ebx,7 mov ecx,[socket] mov edx,[type_len] mov esi,[file_type] - int 0x40 + mcall popa ret @@ -437,7 +437,7 @@ read_file: ; start of execution mov eax,70 mov ebx,filel - int 0x40 + mcall mov [board_size],ebx cmp [input_text+256+1],dword 'POST' @@ -599,7 +599,7 @@ read_file: ; start of execution mov eax,70 mov ebx,files - int 0x40 + mcall no_new_message: mov esi,0x20000 @@ -769,7 +769,7 @@ read_file: ; start of execution mov [fileinfo+12],dword 1 ; file exists ? mov eax,70 mov ebx,fileinfo - int 0x40 + mcall cmp eax,0 ; file not found - message je file_found @@ -795,7 +795,7 @@ read_file: ; start of execution mov [fileinfo+12],dword 0x2f0000 ; read all of file mov eax,70 mov ebx,fileinfo - int 0x40 + mcall file_not_found: file_loaded: @@ -855,7 +855,7 @@ set_time: pusha mov eax,3 - int 0x40 + mcall mov ecx,3 new_time_digit: @@ -880,7 +880,7 @@ set_date: pusha mov eax,29 - int 0x40 + mcall mov ecx,3 add edi,6 @@ -910,7 +910,7 @@ check_for_incoming_data: mov eax, 53 mov ebx, 2 mov ecx, [socket] - int 0x40 + mcall cmp eax,0 je _ret_now @@ -920,7 +920,7 @@ check_for_incoming_data: mov eax,53 mov ebx,2 mov ecx,[socket] - int 0x40 + mcall cmp eax,0 je _ret @@ -928,7 +928,7 @@ check_for_incoming_data: mov eax,53 mov ebx,3 mov ecx,[socket] - int 0x40 + mcall cmp bl,10 jne no_lf @@ -964,7 +964,7 @@ check_for_incoming_data: jne no_ld mov ebx,50 no_ld: - int 0x40 + mcall jmp check @@ -985,7 +985,7 @@ check_status: mov eax,53 mov ebx,6 mov ecx,[socket] - int 0x40 + mcall cmp eax,[status] je c_ret @@ -1021,11 +1021,11 @@ read_string: f11: mov eax,10 - int 0x40 + mcall cmp eax,2 jne read_done mov eax,2 - int 0x40 + mcall shr eax,8 cmp eax,13 je read_done @@ -1083,7 +1083,7 @@ print_text: mov ecx,0x40000000 mov esi,23 mov edi,0xffffff - int 0x40 + mcall popa ret @@ -1098,54 +1098,54 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+480 ; [x start] *65536 + [x size] mov ecx,100*65536+215 ; [y start] *65536 + [y size] mov edx,0x13ffffff ; color of work area RRGGBB - mov edi,header ; WINDOW LABEL - int 0x40 + mov edi,title ; WINDOW LABEL + mcall mov eax,8 ; function 8 : define and draw button mov ebx,(40)*65536+20 ; [x start] *65536 + [x size] mov ecx,59*65536+9 ; [y start] *65536 + [y size] mov edx,2 ; button id mov esi,0x66aa66 ; button color RRGGBB - int 0x40 + mcall ; function 8 : define and draw button mov ebx,(40)*65536+20 ; [x start] *65536 + [x size] mov ecx,72*65536+9 ; [y start] *65536 + [y size] mov edx,4 ; button id mov esi,0xaa6666 ; button color RRGGBB - int 0x40 + mcall ; Enter directory mov ebx,(25)*65536+66 mov ecx,135*65536+15 mov edx,6 mov esi,0x3388dd - int 0x40 + mcall mov eax,38 mov ebx,240*65536+240 mov ecx,22*65536+210 mov edx,0x6699cc ; 002288 - int 0x40 + mcall mov ebx,241*65536+241 mov ecx,22*65536+210 mov edx,0x336699 ; 002288 - int 0x40 + mcall call draw_data mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -1158,6 +1158,7 @@ draw_data: mov ecx,0x000000 mov edx,text mov esi,35 + mov eax,13 newline: pusha cmp ebx,25*65536+61 @@ -1170,13 +1171,12 @@ draw_data: mov bx,35*6 shl ecx,16 mov cx,9 - mov eax,13 mov edx,0xffffff - int 0x40 + mcall now: popa mov eax,4 - int 0x40 + mcall add ebx,13 add edx,40 cmp [edx],byte 'x' @@ -1199,10 +1199,10 @@ draw_data: mov cx,9 mov eax,13 mov edx,0xffffff - int 0x40 + mcall popa mov eax,4 - int 0x40 + mcall add ebx,10 add edx,256 dec edi @@ -1294,7 +1294,7 @@ unk: db 'Content-Type: unknown/unknown',13,10,13,10 unkl: -header db appname,version,0 +title db appname,version,0 socket dd 0x0 server_active db 0x0 diff --git a/programs/network/https/trunk/macros.inc b/programs/network/https/trunk/macros.inc deleted file mode 100644 index d45b69e6e3..0000000000 --- a/programs/network/https/trunk/macros.inc +++ /dev/null @@ -1,265 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a { ; mike.dld - if ~a eq - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/ipc/trunk/build_en.bat b/programs/network/ipc/trunk/build_en.bat index 7cea660089..6ab873fc0a 100644 --- a/programs/network/ipc/trunk/build_en.bat +++ b/programs/network/ipc/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm ipc.asm ipc +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/ipc/trunk/build_ru.bat b/programs/network/ipc/trunk/build_ru.bat index b03f6419cc..88a1b0b959 100644 --- a/programs/network/ipc/trunk/build_ru.bat +++ b/programs/network/ipc/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm ipc.asm ipc +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/ipc/trunk/ipc.asm b/programs/network/ipc/trunk/ipc.asm index 704278beb5..dde9081bbf 100644 --- a/programs/network/ipc/trunk/ipc.asm +++ b/programs/network/ipc/trunk/ipc.asm @@ -4,7 +4,7 @@ ; Compile with FASM for Menuet ; include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' use32 org 0x0 @@ -24,22 +24,23 @@ START: ; start of execution mov ebx,1 ; define receive area mov ecx,received_messages ; pointer to start mov edx,1000 ; size of area - int 0x40 + mcall mov eax,40 ; WANTED EVENTS mov ebx,01000111b ; IPC 7 + defaults - int 0x40 + mcall mov [received_messages+8],dword 0*256+0 mov [received_messages+12],dword 0 + red: call draw_window ; at first, draw the window still: mov eax,23 ; wait here for event mov ebx,50 - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -56,23 +57,19 @@ still: jmp still - red: ; redraw - call draw_window - jmp still - key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose mov eax,-1 ; close this program - int 0x40 + mcall noclose: cmp ah,2 @@ -101,7 +98,7 @@ still: mov ecx,[PID] mov edx,message+4 mov esi,20;[message_size] - int 0x40 + mcall jmp still no_read: @@ -161,7 +158,7 @@ ipc_message_pop: mov ebx,25*65536+245 mov ecx,105*65536+90 mov edx,0xdddddd - int 0x40 + mcall cmp [received_messages+4],dword 8 ; empty list je ipma1 @@ -179,14 +176,14 @@ ipc_message_pop: mov eax,47 mov ebx,4*65536 mov esi,0xff0000 - int 0x40 + mcall popa pusha mov esi,20 add edx,8 add ebx,30*65536 mov eax,4 - int 0x40 + mcall popa add ebx,10 @@ -222,56 +219,49 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+290 ; [x start] *65536 + [x size] mov ecx,100*65536+220 ; [y start] *65536 + [y size] - mov edx,0x03ffffff ; color of work area RRGGBB,8->color gl - int 0x40 - - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x10ffffff ; color of text RRGGBB - mov edx,labelt ; pointer to text beginning - mov esi,labellen-labelt ; text length - int 0x40 + mov edx,0x13ffffff ; color of work area RRGGBB,8->color gl + mov edi,title ; WINDOW LABEL + mcall + mov eax,9 mov ebx,process_info mov ecx,-1 - int 0x40 + mcall mov eax,47 mov ebx,4*65536 mov ecx,[process_info+30] mov edx,180*65536+35 mov esi,0x000000 - int 0x40 + mcall mov eax,8 ; MESSAGE mov ebx,25*65536+87 mov ecx,50*65536+16 mov edx,2 mov esi,0x5588dd - int 0x40 + mcall - mov eax,8 ; POP + ;mov eax,8 ; POP mov ebx,216*65536+53 mov ecx,80*65536+16 mov edx,3 - mov esi,0x5588dd - int 0x40 + mcall + mov eax,4 mov ebx,25*65536+35 ; draw info text with function 4 mov ecx,0x224466 mov edx,text mov esi,40 newline: - mov eax,4 - int 0x40 + mcall add ebx,10 add edx,40 cmp [edx],byte 'x' @@ -281,7 +271,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -308,7 +298,7 @@ read_string: f11: mov eax,10 - int 0x40 + mcall cmp eax,2 jz fbu @@ -319,7 +309,7 @@ read_string: fbu: mov eax,2 - int 0x40 ; get key + mcall ; get key shr eax,8 cmp eax,13 @@ -366,7 +356,7 @@ print_text: shl ecx,16 mov cx,8 mov edx,0xffffff - int 0x40 + mcall mov eax,4 mov ebx,[xa] @@ -375,7 +365,7 @@ print_text: mov ecx,0x000000 mov edx,[addr] mov esi,25 - int 0x40 + mcall ret @@ -400,9 +390,7 @@ text: db 'x' ; <- END MARKER, DONT DELETE -labelt: - db 'IPC - START AT LEAST 2' -labellen: +title db 'IPC - START AT LEAST 2',0 I_END: diff --git a/programs/network/ipc/trunk/macros.inc b/programs/network/ipc/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/network/ipc/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/local/trunk/build_en.bat b/programs/network/local/trunk/build_en.bat index 6c9d546268..25f12be8c0 100644 --- a/programs/network/local/trunk/build_en.bat +++ b/programs/network/local/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm local.asm local +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/local/trunk/build_ru.bat b/programs/network/local/trunk/build_ru.bat index 1abcc9addb..3c2426b5d0 100644 --- a/programs/network/local/trunk/build_ru.bat +++ b/programs/network/local/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm local.asm local +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/local/trunk/local.asm b/programs/network/local/trunk/local.asm index 850402efe7..1908ac3d71 100644 --- a/programs/network/local/trunk/local.asm +++ b/programs/network/local/trunk/local.asm @@ -6,18 +6,18 @@ use32 - - org 0x0 - - db 'MENUET00' ; 8 byte id - dd 38 ; required os - dd START ; program start - dd I_END ; program image size - dd 0x100000 ; required amount of memory - dd 0x00000000 ; reserved=no extended header + org 0x0 + db 'MENUET01' ; header + dd 0x01 ; header version + dd START ; entry point + dd I_END ; image size + dd I_END+0x10000 ; required memory + dd I_END+0x10000 ; esp + dd 0x0 , 0x0 ; I_Param , I_Path + include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' START: ; start of execution @@ -26,17 +26,18 @@ START: ; start of execution mov ecx,0x2000 ; local port mov edx,0x3000 ; remote port mov esi,dword [host_ip] ; node IP - int 0x40 + mcall mov [socketNum], eax - + +red: call draw_window ; at first, draw the window still: mov eax,23 ; wait here for event mov ebx,1 - int 0x40 + mcall cmp eax,1 ; redraw request ? jz red @@ -48,33 +49,29 @@ still: mov eax, 53 ; get data mov ebx, 2 mov ecx, [socketNum] - int 0x40 + mcall cmp eax, 0 jne read jmp still -red: - call draw_window - jmp still - key: mov eax,2 - int 0x40 + mcall jmp still button: mov eax,17 - int 0x40 + mcall cmp ah,1 ; button id=1 ? jnz noclose mov eax, 53 mov ebx, 1 mov ecx, [socketNum] - int 0x40 + mcall mov eax,-1 - int 0x40 + mcall noclose: cmp ah,2 ; SEND CODE ? @@ -96,7 +93,7 @@ button: mov ecx,[socketNum] mov edx,23 + 4 mov esi,I_END - int 0x40 + mcall jmp still no_left: @@ -116,7 +113,7 @@ button: mov ecx,[socketNum] mov edx,23 + 4 mov esi,I_END - int 0x40 + mcall jmp still no_right: @@ -159,7 +156,7 @@ send_xcode: mov ecx,[socketNum] mov edx,23 + remote_code_end - remote_code_start mov esi,I_END - int 0x40 + mcall jmp still @@ -173,7 +170,7 @@ send_execute: mov ecx,[socketNum] mov edx,19 mov esi,execute - int 0x40 + mcall mov edi,3 @@ -196,7 +193,7 @@ cfr007: mov eax, 53 mov ebx, 3 mov ecx, [socketNum] - int 0x40 ; read byte + mcall ; read byte shl edx,8 mov dl,bl @@ -213,7 +210,7 @@ cfr007: add ebx,15 add ecx,35 add ebx,[picture_position] - int 0x40 + mcall inc [xx] cmp [xx],dword 128 @@ -230,7 +227,7 @@ cok: mov eax, 53 mov ebx, 2 mov ecx, [socketNum] - int 0x40 ; any more data? + mcall ; any more data? cmp eax, 0 jne cfr007 ; yes, so get it @@ -249,62 +246,51 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+286 ; [x start] *65536 + [x size] - mov ecx,60*65536+330 ; [y start] *65536 + [y size] + mov ecx,60*65536+330 ; [y start] *65536 + [y size] mov edx,0x03ffffff ; color of work area RRGGBB - mov esi,0x80aabbcc ; color of grab bar RRGGBB,8->color gl - mov edi,0x00aabbcc ; color of frames RRGGBB - int 0x40 - - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x00ffffff ; color of text RRGGBB - mov edx,labeltext ; pointer to text beginning - mov esi,lte-labeltext ; text length - int 0x40 + mov edi,title ; WINDOW LABEL + mcall + mov eax,8 ; SEND CODE mov ebx,60*65536+160 mov ecx,181*65536+13 mov edx,2 mov esi,0x667788 - int 0x40 + mcall - mov eax,8 ; LEFT + ;mov eax,8 ; LEFT mov ebx,60*65536+75 mov ecx,197*65536+13 mov edx,3 - mov esi,0x667788 - int 0x40 + mcall - mov eax,8 ; RIGHT + ;mov eax,8 ; RIGHT mov ebx,148*65536+72 mov ecx,197*65536+13 mov edx,4 - mov esi,0x667788 - int 0x40 + mcall - mov eax,8 ; SEND EXECUTE + ;mov eax,8 ; SEND EXECUTE mov ebx,60*65536+160 mov ecx,213*65536+13 mov edx,5 - mov esi,0x667788 - int 0x40 + mcall cld + mov eax,4 mov ebx,25*65536+185 ; draw info text with function 4 mov ecx,0x000000 mov edx,text mov esi,40 newline: - mov eax,4 - int 0x40 + mcall add ebx,16 add edx,40 cmp [edx],byte 'x' @@ -312,7 +298,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -328,11 +314,10 @@ text: db ' LOCAL : 192.168.1.26 ' db ' REMOTE : 192.168.1.22 ' db ' REMOTE CODE AT THE END OF THIS FILE ' - db 'x <- END MARKER, DONT DELETE ' + db 'x' ;<- END MARKER, DONT DELETE -labeltext: db 'CLUSTER LOCAL' ; -lte: +title db 'CLUSTER LOCAL',0 socketNum dd 0x0 @@ -492,11 +477,11 @@ return_data: mov ebx,4 mov ecx,[0] mov edx,3*16 - int 0x40 + mcall mov eax,5 mov ebx,1 - int 0x40 + mcall popa diff --git a/programs/network/local/trunk/macros.inc b/programs/network/local/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/network/local/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/media/mp3s/trunk/build_en.bat b/programs/network/mp3s/trunk/build_en.bat similarity index 71% rename from programs/media/mp3s/trunk/build_en.bat rename to programs/network/mp3s/trunk/build_en.bat index cd7be9618d..f0269b26da 100644 --- a/programs/media/mp3s/trunk/build_en.bat +++ b/programs/network/mp3s/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm mp3s.asm mp3s +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/media/mp3s/trunk/build_ru.bat b/programs/network/mp3s/trunk/build_ru.bat similarity index 71% rename from programs/media/mp3s/trunk/build_ru.bat rename to programs/network/mp3s/trunk/build_ru.bat index 0d1e4b31ab..edda8b4d10 100644 --- a/programs/media/mp3s/trunk/build_ru.bat +++ b/programs/network/mp3s/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm mp3s.asm mp3s +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/media/mp3s/trunk/mp3s.asm b/programs/network/mp3s/trunk/mp3s.asm similarity index 87% rename from programs/media/mp3s/trunk/mp3s.asm rename to programs/network/mp3s/trunk/mp3s.asm index e96e977d14..6b236e15f6 100644 --- a/programs/media/mp3s/trunk/mp3s.asm +++ b/programs/network/mp3s/trunk/mp3s.asm @@ -1,791 +1,782 @@ -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; ; -; Tiny MP3 Shoutcast Server v0.1 (vt) ; -; ; -; Compile with FASM for Menuet ; -; ; -; Listening to port 8008 ; -; Connect with eg: 192.168.1.22:8008 ; -; ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -version equ '0.3' - - use32 - org 0x0 - db 'MENUET01' ; 8 byte id - dd 0x01 ; header version - dd START ; program start - dd I_END ; program image size - dd 0x80000 ; memory usage - dd 0x20000 ; stack - dd 0,0 - -include 'lang.inc' -include 'macros.inc' - -; 0x0+ program image -; 0x1ffff stack -; 0x20000 work area for file read -; 0x40000+ file send buffer ( 100 kb ) - - -START: ; start of execution - - mov [status],0 - call clear_input - call draw_window ; at first, draw the window - -still: - - mov eax,23 ; wait here for event - mov ebx,2 - int 0x40 - - call check_events - - call check_connection_status - - cmp [status],4 - je start_transmission - - jmp still - - -check_events: - - cmp eax,1 ; redraw request ? - jz red - cmp eax,2 ; key in buffer ? - jz key - cmp eax,3 ; button in buffer ? - jz button - - ret - -red: ; redraw - call draw_window - ret - -key: - mov eax,2 ; Just read it and ignore - int 0x40 - ret - -button: ; button - - mov eax,17 ; get id - int 0x40 - - cmp ah,1 ; close - jne no_close - mov eax,-1 - int 0x40 - no_close: - - cmp ah,2 ; button id=2 ? - jnz tst3 - ; open socket - mov eax,53 - mov ebx,5 - mov ecx,8008 ; local port # - http - mov edx,0 ; no remote port specified - mov esi,0 ; no remote ip specified - mov edi,0 ; PASSIVE open - int 0x40 - mov [socket], eax - mov [posy],1 - mov [posx],0 - mov [read_on],1 - call check_for_incoming_data - call draw_window - ret - tst3: - - cmp ah,4 - je close_socket - cmp ah,6 - je close_socket - jmp no_socket_close - close_socket: - mov edx,eax - ; Close socket - mov eax, 53 - mov ebx, 8 - mov ecx, [socket] - int 0x40 - mov esp,0x1fff0 - cmp dh,6 - je read_string - jmp still - no_socket_close: - - cmp ah,9 - jne no_bps_add - add [bps],8*1000 - call draw_window - ret - no_bps_add: - - cmp ah,8 - jne no_bps_sub - sub [bps],8*1000 - call draw_window - ret - no_bps_sub: - - - ret - - -clear_input: - - mov edi,input_text - mov eax,0 - mov ecx,60*40 - cld - rep stosb - - ret - - -read_string: - - mov [addr],dword filename - mov [ya],dword 95 - - mov edi,[addr] - mov eax,32 - mov ecx,30 - cld - rep stosb - - call print_text - - mov edi,[addr] - - f11: - mov eax,10 - int 0x40 - cmp eax,2 - jne read_done - mov eax,2 - int 0x40 - shr eax,8 - cmp eax,13 - je read_done - cmp eax,8 - jnz nobsl - cmp edi,[addr] - jz f11 - sub edi,1 - mov [edi],byte 32 - call print_text - jmp f11 - nobsl: - cmp eax,dword 31 - jbe f11 - cmp eax,dword 95 - jb keyok - sub eax,32 - keyok: - mov [edi],al - - call print_text - - add edi,1 - mov esi,[addr] - add esi,30 - cmp esi,edi - jnz f11 - - read_done: - - mov ecx,40 - mov eax,0 - cld - rep movsb - - call print_text - - jmp still - - -print_text: - - pusha - - mov eax,13 - mov ebx,56*65536+30*6 - mov ecx,[ya] - shl ecx,16 - mov cx,8 - mov edx,0xffffff - int 0x40 - - mov eax,4 - mov edx,[addr] - mov ebx,56*65536 - add ebx,[ya] - mov ecx,0x000000 - mov esi,30 - int 0x40 - - popa - ret - - -wait_for dd 0x0 - -transmission_start dd 0x0 -sentbytes dd 0x0 - -start_transmission: - - call clear_input - - mov eax,5 - mov ebx,50 - int 0x40 - - call check_for_incoming_data - call draw_window - - call send_header - - mov [fileinfo+4],dword 0 ; start from beginning - mov [read_to],0x40000 - mov [playpos],0x40000 - - mov ecx,1024 / 512 - - new_buffer: - - mov eax,[read_to] - mov ebx,1 - call read_file - - loop new_buffer - - - newpart: - - call check_connection_status - call draw_window - - mov eax,26 - mov ebx,9 - int 0x40 - mov [transmission_start],eax - mov [sentbytes],0 - - newblock: - - mov eax,[read_to] - mov ebx,2 - call read_file - - wait_more: - - mov eax,26 - mov ebx,9 - int 0x40 - - cmp eax,[wait_for] - jge nomw - - mov eax,5 - mov ebx,1 - int 0x40 - - jmp wait_more - - nomw: - - add eax,2 - mov [wait_for],eax - - mov eax,11 - int 0x40 - call check_events - - mov eax,53 - mov ebx,255 - mov ecx,103 - int 0x40 - - cmp eax,0 - jne wait_more - - ; write to socket - mov eax,53 - mov ebx,7 - mov ecx,[socket] - mov edx,[playadd] - mov esi,[playpos] - int 0x40 - - add [sentbytes],edx - - mov esi,[playpos] - add esi,[playadd] - mov edi,0x40000 - mov ecx,110000 / 4 - cld - rep movsd - - mov eax,[playadd] - sub [read_to],eax - - call check_for_incoming_data - call show_progress - call check_rate - - mov eax, 53 - mov ebx, 6 - mov ecx, [socket] - int 0x40 - cmp eax,4 - jne end_stream - - cmp [read_to],0x40000 - jge newblock - - end_stream: - - ; Close socket - - mov eax, 53 - mov ebx, 8 - mov ecx, [socket] - int 0x40 - - mov eax,5 - mov ebx,5 - int 0x40 - - ; Open socket - - mov eax,53 - mov ebx,5 - mov ecx,8008 ; local port # - http - mov edx,0 ; no remote port specified - mov esi,0 ; no remote ip specified - mov edi,0 ; PASSIVE open - int 0x40 - mov [socket], eax - mov [posy],1 - mov [posx],0 - mov [read_on],0 - - call draw_window - - jmp still - - -check_rate: - - pusha - - mov eax,[bps] - xor edx,edx - mov ebx,8*100 - div ebx - shl eax,1 - mov [playadd],eax - - mov eax,26 - mov ebx,9 - int 0x40 - - sub eax,[transmission_start] - shr eax,1 - - imul eax,[playadd] - - mov edx,0x00dd00 - - cmp [sentbytes],eax - jge sendok - - sub eax,20000 - cmp [sentbytes],eax ; a long buffer underrun correction - jge no_buffer_overrun ; actually leads to overrun - mov [sentbytes],eax - no_buffer_overrun: - - add [playadd],150 - mov edx,0xdd0000 - - sendok: - - mov eax,13 - mov ebx,320*65536+10 - mov ecx,105*65536+10 - int 0x40 - - mov eax,47 - mov ebx,4*65536 - mov ecx,[playadd] - mov edx,322*65536+106 - mov esi,0x000000 -; int 0x40 - - popa - - ret - - -show_progress: - - pusha - - mov eax,13 - mov ebx,236*65536+10*6 - mov ecx,107*65536+8 - mov edx,0xffffff - int 0x40 - - mov ecx,[fileinfo+4] - imul ecx,512 - - mov eax,47 ; file read - mov ebx,9*65536 - mov edx,236*65536+107 - mov esi,0x000000 - int 0x40 - - popa - ret - - -playpos dd 0x100000 -playadd dd 256000 / 8 / 100 - - -send_header: - - pusha - - mov [playpos],0x40000 - - mov esi,fileinfo+5*4 - mov edi,transname - mov ecx,30 - cld - rep movsb - - mov eax, 53 - mov ebx, 7 - mov ecx, [socket] - mov edx, headere-headers - mov esi, headers - int 0x40 - - popa - ret - - -read_file: - - cmp [read_to],0x40000+2000 - jg cache_ok - mov [read_on],1 - cache_ok: - - cmp [read_to],0x40000+95500 - jg no_read_1 - - mov [fileinfo+12],eax - mov [fileinfo+8],ebx - - mov eax,58 - mov ebx,fileinfo - int 0x40 - - cmp eax,0 - jne no_read_1 - - mov eax,[fileinfo+8] - add [fileinfo+4],eax - - add [read_to],512*2 - - ret - - no_read_1: - - mov [read_on],0 - - ret - - - -check_for_incoming_data: - - pusha - - mov eax, 53 - mov ebx, 2 - mov ecx, [socket] - int 0x40 - - cmp eax,0 - je _ret_now - - new_data: - - mov eax, 53 - mov ebx, 2 - mov ecx, [socket] - int 0x40 - - cmp eax,0 - je _ret - - mov eax,53 - mov ebx,3 - mov ecx,[socket] - int 0x40 - - cmp bl,10 - jne no_lf - inc [posy] - mov [posx],0 - jmp new_data - no_lf: - - cmp bl,20 - jb new_data - - inc [posx] - cmp [posx],60 - jbe xok - inc [posy] - mov [posx],0 - xok: - - cmp [posy],12 - jbe yok - mov [posy],1 - yok: - - mov eax,[posy] - imul eax,60 - add eax,[posx] - - mov [input_text+eax],bl - - jmp new_data - - _ret: - -; call draw_window - - _ret_now: - - popa - ret - - - -check_connection_status: - - pusha - - mov eax, 53 - mov ebx, 6 - mov ecx, [socket] - int 0x40 - - cmp eax,[status] - je .ccs_ret - mov [status],eax - add eax,48 - mov [text+20],al - call draw_window - .ccs_ret: - - popa - ret - - - - -; ********************************************* -; ******* WINDOW DEFINITIONS AND DRAW ******** -; ********************************************* - - -draw_window: - - pusha - - mov eax,12 ; function 12:tell os about windowdraw - mov ebx,1 ; 1, start of draw - int 0x40 - - mov eax,0 ; Draw Window - mov ebx,50*65536+410 - mov ecx,100*65536+141 - mov edx,0x03ffffff - mov esi,0x00405080 - mov edi,0x00405080 - int 0x40 - - mov eax,4 ; Window label - mov ebx,8*65536+8 - mov ecx,0x10ffffff - mov edx,wls - mov esi,wle-wls - int 0x40 - - mov eax,8 ; Start server - mov ebx,(25)*65536+21 - mov ecx,57*65536+10 - mov edx,2 - mov esi,0x409040 - int 0x40 ; Stop server - mov eax,8 - mov ebx,(25)*65536+21 - mov ecx,69*65536+10 - mov edx,4 - mov esi,0x904040 - int 0x40 - - mov esi,0x3366d0 - - mov eax,8 ; Enter filename - mov ebx,(25)*65536+21 - mov ecx,93*65536+10 - mov edx,6 - int 0x40 - mov eax,8 ; Decrease transfer rate - mov ebx,(25)*65536+10 - mov ecx,105*65536+10 - mov edx,8 - int 0x40 - mov eax,8 ; Increase transfer rate - mov ebx,(36)*65536+10 - mov ecx,105*65536+10 - mov edx,9 - int 0x40 - - mov ebx,10*65536+35 ; draw info text - mov ecx,0x00000000 - mov edx,text - mov esi,40 - newline: - mov eax,4 - int 0x40 - add ebx,12 - add edx,40 - cmp [edx],byte 'x' - jnz newline - - mov eax,4 ; Filename - mov ebx,56*65536+95 - mov ecx,0x000000 - mov edx,filename - mov esi,30 - int 0x40 - - mov eax,[bps] - xor edx,edx - mov ebx,1000 - div ebx - mov ecx,eax - - mov eax,47 - mov ebx,3*65536 - mov edx,58*65536+107 - mov esi,0x00000000 - int 0x40 - - mov [input_text+0],dword 'RECE' - mov [input_text+4],dword 'IVED' - mov [input_text+8],dword ': ' - - mov ebx,230*65536+35 ; draw info text - mov ecx,0x00000000 - mov edx,input_text - mov esi,28 - mov edi,7 - newline2: - mov eax,4 - int 0x40 - add ebx,10 - add edx,60 - dec edi - jnz newline2 - - mov eax,38 - mov ebx,210*65536+210 - mov ecx,22*65536+136 - mov edx,0x6699cc ; 002288 - int 0x40 - - mov eax,38 - mov ebx,211*65536+211 - mov ecx,22*65536+136 - mov edx,0x336699 ; 002288 - int 0x40 - - mov eax,12 ; function 12:tell os about windowdraw - mov ebx,2 ; 2, end of draw - int 0x40 - - popa - - ret - - - -; DATA AREA - -text: - db ' TCB status: 0 ' - db ' ' - db ' Activate - port 8008 ' - db ' Stop server ' - db ' ' - db ' > ' - db ' < > Kbps ' - db 'x'; <- END MARKER, DONT DELETE - -headers: - - db 'ICY 200 OK',13,10 - db 'icy-notice1:This stream requires Winamp or xmms',13,10 - db 'icy-url:http://www.menuetos.org',13,10 - db 'icy-pub: 1',13,10 - db 'icy-name: Menuet Mp3 Shoutcast Radio ',version,' - ' - transname: - db ' ',13,10,13,10 - -headere: - -wls: db 'MP3 shoutcast server ',version -wle: - -socket dd 0 -status dd 0 - -posy dd 1 -posx dd 0 - -read_on db 1 -read_to dd 0 - -addr dd 0 -ya dd 0 - -bps dd 128*1000 - -fileinfo: dd 0,0,0,0,0x20000 -filename: db '/RD/1/MENUET.MP3',0 -times 50 db 0 - -input_text: - -I_END: +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; ; +; Tiny MP3 Shoutcast Server v0.1 (vt) ; +; ; +; Compile with FASM for Menuet ; +; ; +; Listening to port 8008 ; +; Connect with eg: 192.168.1.22:8008 ; +; ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +version equ '0.3' + + use32 + org 0x0 + db 'MENUET01' ; 8 byte id + dd 0x01 ; header version + dd START ; program start + dd I_END ; program image size + dd 0x80000 ; memory usage + dd 0x20000 ; stack + dd 0,0 + +include 'lang.inc' +include '..\..\..\macros.inc' + +; 0x0+ program image +; 0x1ffff stack +; 0x20000 work area for file read +; 0x40000+ file send buffer ( 100 kb ) + + +START: ; start of execution + + mov [status],0 + call clear_input + call draw_window ; at first, draw the window + +still: + + mov eax,23 ; wait here for event + mov ebx,2 + mcall + + call check_events + + call check_connection_status + + cmp [status],4 + je start_transmission + + jmp still + + +check_events: + + cmp eax,1 ; redraw request ? + jz red + cmp eax,2 ; key in buffer ? + jz key + cmp eax,3 ; button in buffer ? + jz button + + ret + +red: ; redraw + call draw_window + ret + +key: + mov eax,2 ; Just read it and ignore + mcall + ret + +button: ; button + + mov eax,17 ; get id + mcall + + cmp ah,1 ; close + jne no_close + mov eax,-1 + mcall + no_close: + + cmp ah,2 ; button id=2 ? + jnz tst3 + ; open socket + mov eax,53 + mov ebx,5 + mov ecx,8008 ; local port # - http + mov edx,0 ; no remote port specified + mov esi,0 ; no remote ip specified + mov edi,0 ; PASSIVE open + mcall + mov [socket], eax + mov [posy],1 + mov [posx],0 + mov [read_on],1 + call check_for_incoming_data + call draw_window + ret + tst3: + + cmp ah,4 + je close_socket + cmp ah,6 + je close_socket + jmp no_socket_close + close_socket: + mov edx,eax + ; Close socket + mov eax, 53 + mov ebx, 8 + mov ecx, [socket] + mcall + mov esp,0x1fff0 + cmp dh,6 + je read_string + jmp still + no_socket_close: + + cmp ah,9 + jne no_bps_add + add [bps],8*1000 + call draw_window + ret + no_bps_add: + + cmp ah,8 + jne no_bps_sub + sub [bps],8*1000 + call draw_window + ret + no_bps_sub: + + + ret + + +clear_input: + + mov edi,input_text + mov eax,0 + mov ecx,60*40 + cld + rep stosb + + ret + + +read_string: + + mov [addr],dword filename + mov [ya],dword 95 + + mov edi,[addr] + mov eax,32 + mov ecx,30 + cld + rep stosb + + call print_text + + mov edi,[addr] + + f11: + mov eax,10 + mcall + cmp eax,2 + jne read_done + mov eax,2 + mcall + shr eax,8 + cmp eax,13 + je read_done + cmp eax,8 + jnz nobsl + cmp edi,[addr] + jz f11 + sub edi,1 + mov [edi],byte 32 + call print_text + jmp f11 + nobsl: + cmp eax,dword 31 + jbe f11 + cmp eax,dword 95 + jb keyok + sub eax,32 + keyok: + mov [edi],al + + call print_text + + add edi,1 + mov esi,[addr] + add esi,30 + cmp esi,edi + jnz f11 + + read_done: + + mov ecx,40 + mov eax,0 + cld + rep movsb + + call print_text + + jmp still + + +print_text: + + pusha + + mov eax,13 + mov ebx,56*65536+30*6 + mov ecx,[ya] + shl ecx,16 + mov cx,8 + mov edx,0xffffff + mcall + + mov eax,4 + mov edx,[addr] + mov ebx,56*65536 + add ebx,[ya] + mov ecx,0x000000 + mov esi,30 + mcall + + popa + ret + + +wait_for dd 0x0 + +transmission_start dd 0x0 +sentbytes dd 0x0 + +start_transmission: + + call clear_input + + mov eax,5 + mov ebx,50 + mcall + + call check_for_incoming_data + call draw_window + + call send_header + + mov [fileinfo+4],dword 0 ; start from beginning + mov [read_to],0x40000 + mov [playpos],0x40000 + + mov ecx,1024 / 512 + + new_buffer: + + mov eax,[read_to] + mov ebx,1 + call read_file + + loop new_buffer + + + newpart: + + call check_connection_status + call draw_window + + mov eax,26 + mov ebx,9 + mcall + mov [transmission_start],eax + mov [sentbytes],0 + + newblock: + + mov eax,[read_to] + mov ebx,2 + call read_file + + wait_more: + + mov eax,26 + mov ebx,9 + mcall + + cmp eax,[wait_for] + jge nomw + + mov eax,5 + mov ebx,1 + mcall + + jmp wait_more + + nomw: + + add eax,2 + mov [wait_for],eax + + mov eax,11 + mcall + call check_events + + mov eax,53 + mov ebx,255 + mov ecx,103 + mcall + + cmp eax,0 + jne wait_more + + ; write to socket + mov eax,53 + mov ebx,7 + mov ecx,[socket] + mov edx,[playadd] + mov esi,[playpos] + mcall + + add [sentbytes],edx + + mov esi,[playpos] + add esi,[playadd] + mov edi,0x40000 + mov ecx,110000 / 4 + cld + rep movsd + + mov eax,[playadd] + sub [read_to],eax + + call check_for_incoming_data + call show_progress + call check_rate + + mov eax, 53 + mov ebx, 6 + mov ecx, [socket] + mcall + cmp eax,4 + jne end_stream + + cmp [read_to],0x40000 + jge newblock + + end_stream: + + ; Close socket + + mov eax, 53 + mov ebx, 8 + mov ecx, [socket] + mcall + + mov eax,5 + mov ebx,5 + mcall + + ; Open socket + + mov eax,53 + mov ebx,5 + mov ecx,8008 ; local port # - http + mov edx,0 ; no remote port specified + mov esi,0 ; no remote ip specified + mov edi,0 ; PASSIVE open + mcall + mov [socket], eax + mov [posy],1 + mov [posx],0 + mov [read_on],0 + + call draw_window + + jmp still + + +check_rate: + + pusha + + mov eax,[bps] + xor edx,edx + mov ebx,8*100 + div ebx + shl eax,1 + mov [playadd],eax + + mov eax,26 + mov ebx,9 + mcall + + sub eax,[transmission_start] + shr eax,1 + + imul eax,[playadd] + + mov edx,0x00dd00 + + cmp [sentbytes],eax + jge sendok + + sub eax,20000 + cmp [sentbytes],eax ; a long buffer underrun correction + jge no_buffer_overrun ; actually leads to overrun + mov [sentbytes],eax + no_buffer_overrun: + + add [playadd],150 + mov edx,0xdd0000 + + sendok: + + mov eax,13 + mov ebx,320*65536+10 + mov ecx,105*65536+10 + mcall + + mov eax,47 + mov ebx,4*65536 + mov ecx,[playadd] + mov edx,322*65536+106 + mov esi,0x000000 +; mcall + + popa + + ret + + +show_progress: + + pusha + + mov eax,13 + mov ebx,236*65536+10*6 + mov ecx,107*65536+8 + mov edx,0xffffff + mcall + + mov ecx,[fileinfo+4] + imul ecx,512 + + mov eax,47 ; file read + mov ebx,9*65536 + mov edx,236*65536+107 + mov esi,0x000000 + mcall + + popa + ret + + +playpos dd 0x100000 +playadd dd 256000 / 8 / 100 + + +send_header: + + pusha + + mov [playpos],0x40000 + + mov esi,fileinfo+5*4 + mov edi,transname + mov ecx,30 + cld + rep movsb + + mov eax, 53 + mov ebx, 7 + mov ecx, [socket] + mov edx, headere-headers + mov esi, headers + mcall + + popa + ret + + +read_file: + + cmp [read_to],0x40000+2000 + jg cache_ok + mov [read_on],1 + cache_ok: + + cmp [read_to],0x40000+95500 + jg no_read_1 + + mov [fileinfo+12],eax + mov [fileinfo+8],ebx + + mov eax,58 + mov ebx,fileinfo + mcall + + cmp eax,0 + jne no_read_1 + + mov eax,[fileinfo+8] + add [fileinfo+4],eax + + add [read_to],512*2 + + ret + + no_read_1: + + mov [read_on],0 + + ret + + + +check_for_incoming_data: + + pusha + + mov eax, 53 + mov ebx, 2 + mov ecx, [socket] + mcall + + cmp eax,0 + je _ret_now + + new_data: + + mov eax, 53 + mov ebx, 2 + mov ecx, [socket] + mcall + + cmp eax,0 + je _ret + + mov eax,53 + mov ebx,3 + mov ecx,[socket] + mcall + + cmp bl,10 + jne no_lf + inc [posy] + mov [posx],0 + jmp new_data + no_lf: + + cmp bl,20 + jb new_data + + inc [posx] + cmp [posx],60 + jbe xok + inc [posy] + mov [posx],0 + xok: + + cmp [posy],12 + jbe yok + mov [posy],1 + yok: + + mov eax,[posy] + imul eax,60 + add eax,[posx] + + mov [input_text+eax],bl + + jmp new_data + + _ret: + +; call draw_window + + _ret_now: + + popa + ret + + + +check_connection_status: + + pusha + + mov eax, 53 + mov ebx, 6 + mov ecx, [socket] + mcall + + cmp eax,[status] + je .ccs_ret + mov [status],eax + add eax,48 + mov [text+20],al + call draw_window + .ccs_ret: + + popa + ret + + + + +; ********************************************* +; ******* WINDOW DEFINITIONS AND DRAW ******** +; ********************************************* + + +draw_window: + + pusha + + mov eax,12 ; function 12:tell os about windowdraw + mov ebx,1 ; 1, start of draw + mcall + + mov eax,0 ; Draw Window + mov ebx,50*65536+410 + mov ecx,100*65536+141 + mov edx,0x13ffffff + mov edi,title + mcall + + mov eax,8 ; Start server + mov ebx,(25)*65536+21 + mov ecx,57*65536+10 + mov edx,2 + mov esi,0x409040 + mcall ; Stop server +; mov eax,8 + mov ebx,(25)*65536+21 + mov ecx,69*65536+10 + mov edx,4 + mov esi,0x904040 + mcall + + mov esi,0x3366d0 + +; mov eax,8 ; Enter filename + mov ebx,(25)*65536+21 + mov ecx,93*65536+10 + mov edx,6 + mcall +; mov eax,8 ; Decrease transfer rate + mov ebx,(25)*65536+10 + mov ecx,105*65536+10 +; mov edx,8 + mcall +; mov eax,8 ; Increase transfer rate + mov ebx,(36)*65536+10 + mov ecx,105*65536+10 + mov edx,9 + mcall + + mov ebx,10*65536+35 ; draw info text + mov ecx,0x00000000 + mov edx,text + mov esi,40 + newline: + mov eax,4 + mcall + add ebx,12 + add edx,40 + cmp [edx],byte 'x' + jnz newline + + mov eax,4 ; Filename + mov ebx,56*65536+95 + mov ecx,0x000000 + mov edx,filename + mov esi,30 + mcall + + mov eax,[bps] + xor edx,edx + mov ebx,1000 + div ebx + mov ecx,eax + + mov eax,47 + mov ebx,3*65536 + mov edx,58*65536+107 + mov esi,0x00000000 + mcall + + mov [input_text+0],dword 'RECE' + mov [input_text+4],dword 'IVED' + mov [input_text+8],dword ': ' + + mov ebx,230*65536+35 ; draw info text + mov ecx,0x00000000 + mov edx,input_text + mov esi,28 + mov edi,7 + newline2: + mov eax,4 + mcall + add ebx,10 + add edx,60 + dec edi + jnz newline2 + + mov eax,38 + mov ebx,210*65536+210 + mov ecx,22*65536+136 + mov edx,0x6699cc ; 002288 + mcall + + mov eax,38 + mov ebx,211*65536+211 + mov ecx,22*65536+136 + mov edx,0x336699 ; 002288 + mcall + + mov eax,12 ; function 12:tell os about windowdraw + mov ebx,2 ; 2, end of draw + mcall + + popa + + ret + + + +; DATA AREA + +text: + db ' TCB status: 0 ' + db ' ' + db ' Activate - port 8008 ' + db ' Stop server ' + db ' ' + db ' > ' + db ' < > Kbps ' + db 'x'; <- END MARKER, DONT DELETE + +headers: + + db 'ICY 200 OK',13,10 + db 'icy-notice1:This stream requires Winamp or xmms',13,10 + db 'icy-url:http://www.menuetos.org',13,10 + db 'icy-pub: 1',13,10 + db 'icy-name: Menuet Mp3 Shoutcast Radio ',version,' - ' + transname: + db ' ',13,10,13,10 + +headere: + +title db 'MP3 shoutcast server ',version,0 + +socket dd 0 +status dd 0 + +posy dd 1 +posx dd 0 + +read_on db 1 +read_to dd 0 + +addr dd 0 +ya dd 0 + +bps dd 128*1000 + +fileinfo: dd 0,0,0,0,0x20000 +filename: db '/RD/1/MENUET.MP3',0 +times 50 db 0 + +input_text: + +I_END: diff --git a/programs/network/netsendc/trunk/build_en.bat b/programs/network/netsendc/trunk/build_en.bat index fe46a9eb3a..8ba32e1754 100644 --- a/programs/network/netsendc/trunk/build_en.bat +++ b/programs/network/netsendc/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm netsendc.asm netsendc +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/netsendc/trunk/build_ru.bat b/programs/network/netsendc/trunk/build_ru.bat index c669c2d5a6..10584e6328 100644 --- a/programs/network/netsendc/trunk/build_ru.bat +++ b/programs/network/netsendc/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm netsendc.asm netsendc +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/netsendc/trunk/macros.inc b/programs/network/netsendc/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/network/netsendc/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/netsendc/trunk/netsendc.asm b/programs/network/netsendc/trunk/netsendc.asm index 0427272eee..ab65fd3de9 100644 --- a/programs/network/netsendc/trunk/netsendc.asm +++ b/programs/network/netsendc/trunk/netsendc.asm @@ -25,7 +25,7 @@ use32 dd 0, 0 ; param, icon include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' START: ; start of execution @@ -34,7 +34,7 @@ START: ; start of execution mov ecx,0x4000 ; local port mov edx,0x5000 ; remote port mov esi,dword [remote_ip] ; node IP - int 0x40 + mcall mov [socketNum], eax @@ -44,7 +44,7 @@ red: still: mov eax,10 ; wait here for event - int 0x40 + mcall dec eax jz red @@ -53,21 +53,21 @@ still: key: mov al,2 - int 0x40 + mcall jmp still button: mov al,17 - int 0x40 + mcall dec ah ; button id=1 ? jnz noclose mov eax, 53 mov ebx, 1 mov ecx, [socketNum] - int 0x40 - mov eax,-1 - int 0x40 + mcall + or eax,-1 + mcall noclose: ; it was not close button, so it must be send code button @@ -84,7 +84,7 @@ send_xcode: mov ecx,[socketNum] mov edx,end_message-send_data mov esi,send_data - int 0x40 + mcall jmp still @@ -98,37 +98,31 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+250 ; [x start] *65536 + [x size] mov ecx,60*65536+150 ; [y start] *65536 + [y size] - mov edx,0x03ffffff ; color of work area RRGGBB - int 0x40 + mov edx,0x13ffffff ; color of work area RRGGBB + mov edi,title ; WINDOW LABEL + mcall - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x00ffffff ; color of text RRGGBB - mov edx,labeltext ; pointer to text beginning - mov esi,lte-labeltext ; text length - int 0x40 mov eax,8 ; SEND MESSAGE mov ebx,50*65536+145 mov ecx,47*65536+13 mov edx,2 mov esi,0x667788 - int 0x40 + mcall + mov eax,4 mov ebx,25*65536+50 ; draw info text with function 4 mov ecx,0x000000 mov edx,text mov esi,40 newline: - mov eax,4 - int 0x40 + mcall add ebx,16 add edx,esi cmp [edx],byte 'x' @@ -136,7 +130,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -161,8 +155,7 @@ text: db 'x' ; <- END MARKER, DONT DELETE end if -labeltext: db 'NetSend(Client)' ; -lte: +title db 'NetSend(Client)',0 remote_ip db 192,168,1,2 diff --git a/programs/network/netsends/trunk/build_en.bat b/programs/network/netsends/trunk/build_en.bat index 8a69422d5f..1e931e49b1 100644 --- a/programs/network/netsends/trunk/build_en.bat +++ b/programs/network/netsends/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm netsends.asm netsends +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/netsends/trunk/build_ru.bat b/programs/network/netsends/trunk/build_ru.bat index dc287436f7..85d45fd306 100644 --- a/programs/network/netsends/trunk/build_ru.bat +++ b/programs/network/netsends/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm netsends.asm netsends +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/netsends/trunk/macros.inc b/programs/network/netsends/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/network/netsends/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/netsends/trunk/netsends.asm b/programs/network/netsends/trunk/netsends.asm index 3d36b6bcc8..9d42363f53 100644 --- a/programs/network/netsends/trunk/netsends.asm +++ b/programs/network/netsends/trunk/netsends.asm @@ -12,18 +12,17 @@ ; use32 - - org 0x0 - - db 'MENUET00' ; 8 byte id - dd 38 ; required os - dd START ; program start - dd I_END ; program image size - dd 0x100000 ; required amount of memory - dd 0x00000000 ; reserved=no extended header + org 0x0 + db 'MENUET01' ; header + dd 0x01 ; header version + dd START ; entry point + dd I_END ; image size + dd I_END+0x10000 ; required memory + dd I_END+0x10000 ; esp + dd 0x0 , 0x0 ; I_Param , I_Path include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' remote_ip db 192,168,0,1 @@ -34,17 +33,18 @@ START: ; start of execution mov ecx, 0x5000 ; local port mov edx, 0xffff ; remote port mov esi, dword [remote_ip] ; remote IP - int 0x40 + mcall mov [socketNum],eax mov [0],eax ; save for remote code - + +red: call draw_window ; at first, draw the window still: mov eax,23 ; wait here for event mov ebx,1 - int 0x40 + mcall cmp eax,1 ; redraw request ? jz red @@ -56,20 +56,16 @@ still: mov eax,53 ; data from cluster terminal ? mov ebx,2 mov ecx,[socketNum] - int 0x40 + mcall cmp eax,0 jne data_arrived jmp still -red: - call draw_window - jmp still - key: mov eax,2 - int 0x40 + mcall jmp still button: @@ -77,16 +73,16 @@ button: mov eax,53 mov ebx,1 mov ecx,[socketNum] - int 0x40 - mov eax,-1 - int 0x40 + mcall + or eax,-1 + mcall data_arrived: mov eax,5 ; wait a second for everything to arrive mov ebx,10 - int 0x40 + mcall mov edi,I_END @@ -95,7 +91,7 @@ data_arrived: mov eax,53 mov ebx,3 mov ecx,[socketNum] - int 0x40 + mcall mov [edi],bl inc edi @@ -103,7 +99,7 @@ data_arrived: mov eax,53 mov ebx,2 mov ecx,[socketNum] - int 0x40 + mcall cmp eax,0 jne get_data @@ -114,7 +110,7 @@ data_arrived: mov ecx,0x000000 mov edx,I_END mov esi,100 - int 0x40 + mcall add [y],10 @@ -133,41 +129,26 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+300 ; [x start] *65536 + [x size] mov ecx,100*65536+330 ; [y start] *65536 + [y size] - mov edx,0x03ffffff ; color of work area RRGGBB - mov esi,0x80aabbcc ; color of grab bar RRGGBB,8->color gl - mov edi,0x00aabbcc ; color of frames RRGGBB - int 0x40 - - mov eax,8 - mov ebx,(286-19)*65536+12 - mov ecx,4*65536+12 - mov edx,1 - mov esi,0xaabbcc -; int 0x40 - - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x00ffffff ; color of text RRGGBB - mov edx,labeltext ; pointer to text beginning - mov esi,lte-labeltext ; text length - int 0x40 + mov edx,0x13ffffff ; color of work area RRGGBB + mov edi,title ; WINDOW LABEL + mcall + ; Re-draw the screen text cld + mov eax,4 mov ebx,10*65536+30 ; draw info text with function 4 mov ecx,0x000000 mov edx,text mov esi,40 newline: - mov eax,4 - int 0x40 + mcall add ebx,16 add edx,40 cmp [edx],byte 'x' @@ -176,7 +157,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -197,8 +178,7 @@ text: db 'x' ; <- END MARKER, DONT DELETE end if -labeltext: db 'NetSend(Server)' -lte: +title db 'NetSend(Server)',0 socketNum dd 0x0 diff --git a/programs/network/nntpc/trunk/build_en.bat b/programs/network/nntpc/trunk/build_en.bat index 3118879b19..26a6862ab9 100644 --- a/programs/network/nntpc/trunk/build_en.bat +++ b/programs/network/nntpc/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm nntpc.asm nntpc +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/nntpc/trunk/build_ru.bat b/programs/network/nntpc/trunk/build_ru.bat index 24718d9697..46d2d43cfc 100644 --- a/programs/network/nntpc/trunk/build_ru.bat +++ b/programs/network/nntpc/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm nntpc.asm nntpc +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/nntpc/trunk/macros.inc b/programs/network/nntpc/trunk/macros.inc deleted file mode 100644 index d599dea0e0..0000000000 --- a/programs/network/nntpc/trunk/macros.inc +++ /dev/null @@ -1,267 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/nntpc/trunk/nntpc.asm b/programs/network/nntpc/trunk/nntpc.asm index 7f7c839745..fdf51b97ee 100644 --- a/programs/network/nntpc/trunk/nntpc.asm +++ b/programs/network/nntpc/trunk/nntpc.asm @@ -8,7 +8,7 @@ version equ '0.1' include "lang.inc" -include "macros.inc" +include "..\..\..\macros.inc" use32 org 0x0 @@ -87,7 +87,7 @@ connection_status: mov eax,53 mov ebx,6 mov ecx,[socket] - int 0x40 + mcall cmp eax,[prev_state] je no_cos @@ -98,7 +98,7 @@ connection_status: mov ebx,435*65536+12*6 mov ecx,42*65536+10 mov edx,0xffffff - int 0x40 + mcall mov ecx,-14 mov eax,[prev_state] @@ -123,7 +123,7 @@ connection_status: mov ebx,435*65536+42 mov ecx,0x000000 mov esi,12 - int 0x40 + mcall no_cos: @@ -150,13 +150,13 @@ text_input: call draw_entries mov eax,10 - int 0x40 + mcall cmp eax,2 jne no_more_text mov eax,2 - int 0x40 + mcall cmp ah,8 jne no_bg @@ -225,7 +225,7 @@ send_group: mov ecx,[socket] mov edx,[grouplen] mov esi,group - int 0x40 + mcall mov [status],3 call clear_text call save_coordinates @@ -320,7 +320,7 @@ state_machine_write: mov ecx,[socket] mov edx,[statlen] ; -stat mov esi,stat - int 0x40 + mcall mov [status],5 call save_coordinates ret @@ -333,7 +333,7 @@ state_machine_write: mov ecx,[socket] mov edx,articlelen-article mov esi,article - int 0x40 + mcall mov [status],7 call save_coordinates ret @@ -485,7 +485,7 @@ wait_for_string: mov eax,5 mov ebx,10 - int 0x40 + mcall call check_for_incoming_data @@ -499,7 +499,7 @@ START: ; start of execution mov eax,40 mov ebx,10000111b - int 0x40 + mcall call clear_text @@ -512,7 +512,7 @@ still: mov eax,23 ; wait here for event mov ebx,5 - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -533,7 +533,7 @@ still: key: ; key mov eax,2 ; just read it and ignore - int 0x40 + mcall cmp ah,' ' jne no_space @@ -581,7 +581,7 @@ still: button: ; button mov eax,17 ; get id - int 0x40 + mcall shr eax,8 @@ -628,14 +628,14 @@ still: jne no_start call clear_text mov eax,3 - int 0x40 + mcall mov ecx,eax mov eax,53 mov ebx,5 mov edx,119 mov esi,dword [server_ip] mov edi,1 - int 0x40 + mcall mov [socket],eax mov [status],1 jmp still @@ -648,22 +648,22 @@ still: mov ecx,[socket] mov edx,quitlen-quit mov esi,quit - int 0x40 + mcall mov eax,5 mov ebx,10 - int 0x40 + mcall call check_for_incoming_data mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall mov eax,5 mov ebx,5 - int 0x40 + mcall mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall mov [status],0 jmp still no_end: @@ -671,7 +671,7 @@ still: cmp eax,1 ; button id=1 ? jne noclose mov eax,-1 ; close this program - int 0x40 + mcall noclose: jmp still @@ -687,7 +687,7 @@ check_for_incoming_data: mov eax,53 mov ebx,2 mov ecx,[socket] - int 0x40 + mcall cmp eax,0 je ch_ret @@ -695,7 +695,7 @@ check_for_incoming_data: mov eax,53 mov ebx,3 mov ecx,[socket] - int 0x40 + mcall and ebx,0xff @@ -728,7 +728,7 @@ check_for_incoming_data: mov eax,53 mov ebx,2 mov ecx,[socket] - int 0x40 + mcall cmp eax,0 jne check_for_incoming_data @@ -754,63 +754,46 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+520 ; [x start] *65536 + [x size] mov ecx,5*65536+470 ; [y start] *65536 + [y size] - mov edx,0x03ffffff ; color of work area RRGGBB,8->color gl - mov esi,0x805080d0 ; color of grab bar RRGGBB,8->color gl - mov edi,0x005080d0 ; color of frames RRGGBB - int 0x40 + mov edx,0x13ffffff ; color of work area RRGGBB,8->color gl + mov edi,title ; WINDOW LABEL + mcall mov eax,38 mov ebx,5*65536+515 mov ecx,101*65536+101 mov edx,0x99bbff - int 0x40 - mov eax,38 - mov ebx,5*65536+515 + mcall mov ecx,102*65536+102 mov edx,0x3366aa - int 0x40 + mcall - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x10ddeeff ; font 1 & color ( 0xF0RRGGBB ) - mov edx,labelt ; pointer to text beginning - mov esi,labellen-labelt ; text length - int 0x40 mov eax,8 mov ebx,238*65536+8 mov ecx,30*65536+8 mov edx,11 mov esi,0x88aadd - int 0x40 - mov eax,8 - mov ebx,238*65536+8 + mcall mov ecx,41*65536+8 mov edx,12 - int 0x40 - mov eax,8 - mov ebx,238*65536+8 + mcall mov ecx,52*65536+8 mov edx,13 - int 0x40 + mcall - mov eax,8 mov ebx,265*65536+75 mov ecx,39*65536+13 mov edx,14 - int 0x40 - mov eax,8 + mcall mov ebx,351*65536+75 - mov ecx,39*65536+13 mov edx,15 - int 0x40 + mcall call draw_entries @@ -818,7 +801,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall popa @@ -833,18 +816,16 @@ draw_entries: mov ebx,30*65536+200 mov ecx,30*65536+44 mov edx,0xffffff - int 0x40 + mcall + mov eax,4 mov ebx,30*65536+31 ; draw info text with function 4 mov ecx,0x000000 mov edx,text mov esi,66 mov edi,6 - newline2: - - mov eax,4 - int 0x40 + mcall add ebx,11 add edx,66 dec edi @@ -862,7 +843,7 @@ draw_text: mov eax,9 mov ebx,0x70000 mov ecx,-1 - int 0x40 + mcall mov eax,[0x70000+46] cmp eax,150 @@ -876,15 +857,15 @@ draw_text: dec edi mov [space],edi - + mov eax,4 mov ebx,20*65536+111 ; draw info text with function 4 mov ecx,0x000000 mov edx,[text_start] imul edx,80 add edx,nntp_text mov esi,80 - newline: - + + newline: pusha mov ecx,ebx shl ecx,16 @@ -892,11 +873,10 @@ draw_text: mov ebx,20*65536+80*6 mov cx,10 mov edx,0xffffff - int 0x40 + mcall popa - mov eax,4 - int 0x40 + mcall add ebx,10 add edx,80 dec edi @@ -922,9 +902,7 @@ text: textl: -labelt: - db 'NNTP client v',version -labellen: +title db 'NNTP client v',version,0 nntp_text: diff --git a/programs/network/popc/trunk/build_en.bat b/programs/network/popc/trunk/build_en.bat index 7c5d75bfbd..d0f044b79c 100644 --- a/programs/network/popc/trunk/build_en.bat +++ b/programs/network/popc/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm popc.asm popc +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/popc/trunk/build_ru.bat b/programs/network/popc/trunk/build_ru.bat index 6db69f6485..1b1e24b509 100644 --- a/programs/network/popc/trunk/build_ru.bat +++ b/programs/network/popc/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm popc.asm popc +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/popc/trunk/popc.asm b/programs/network/popc/trunk/popc.asm index 31840d7094..c76bc74aba 100644 --- a/programs/network/popc/trunk/popc.asm +++ b/programs/network/popc/trunk/popc.asm @@ -9,7 +9,7 @@ ;; Compile with FASM for Menuet ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - +include '..\..\..\macros.inc' version equ '0.1' use32 @@ -30,7 +30,7 @@ START: ; start of execution mov eax,70 mov ebx,filel - int 0x40 + mcall test eax,eax jz @f @@ -52,16 +52,18 @@ START: ; start of execution mov ebp,0 mov edx,I_END + +redraw: ; redraw call draw_window ; at first, draw the window still: mov eax,5 mov ebx,1 - int 0x40 + mcall mov eax,11 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw je redraw @@ -106,7 +108,7 @@ save_file: mov [ebx+12],eax mov eax,70 - int 0x40 + mcall popa @@ -150,7 +152,7 @@ send_request: mov eax,53 mov ebx,7 mov ecx,[socket] - int 0x40 + mcall mov [mcounter],0 cmp [esi],dword 'quit' @@ -175,28 +177,28 @@ close_fetch: mov ecx,[socket] mov edx,14 mov esi,quitc - int 0x40 + mcall mov [mcounter],0 mov eax,5 mov ebx,150 - int 0x40 + mcall call read_incoming_data mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall mov eax,5 mov ebx,2 - int 0x40 + mcall mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall mov [server_active],0 @@ -209,16 +211,10 @@ close_fetch: ;; -redraw: ; redraw - - call draw_window - jmp still - - key: mov eax,2 - int 0x40 + mcall jmp still @@ -226,20 +222,20 @@ key: button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,60 jne no_open mov eax, 70 mov ebx, tinypad_start - int 0x40 + mcall jmp still no_open: cmp ah,1 ; close program jne noclose mov eax,-1 - int 0x40 + mcall noclose: cmp ah,51 @@ -270,10 +266,10 @@ socket_commands: mov [ccounter],0 mov eax,3 - int 0x40 + mcall mov eax,3 - int 0x40 + mcall mov ecx,eax and ecx,0xffff @@ -282,7 +278,7 @@ socket_commands: mov edx,110 mov esi,dword [ip] mov edi,1 - int 0x40 + mcall mov [socket], eax ret @@ -294,7 +290,7 @@ socket_commands: mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall mov [header_sent],0 mov [mail_rp],0 mov [server_active],0 @@ -320,7 +316,7 @@ print_status: mov eax,53 mov ebx,6 mov ecx,[socket] - int 0x40 + mcall mov [status],eax @@ -335,7 +331,7 @@ print_status: mov ebx,200*65536+30 mov ecx,160*65536+10 mov edx,0xffffff - int 0x40 + mcall pop ecx @@ -346,7 +342,7 @@ print_status: mov ebx,3*65536 mov edx,200*65536+160 mov esi,0x000000 - int 0x40 + mcall nopr: @@ -449,11 +445,11 @@ read_string: f11: mov eax,10 - int 0x40 + mcall cmp eax,2 jne read_done mov eax,2 - int 0x40 + mcall shr eax,8 cmp eax,13 je read_done @@ -549,7 +545,7 @@ print_input_text: shl ecx,16 mov cx,9 mov edx,0xffffff - int 0x40 + mcall cmp [len],l3 je noprt @@ -560,7 +556,7 @@ print_input_text: add ebx,[ya] mov ecx,0x000000 mov esi,23 - int 0x40 + mcall noprt: @@ -778,7 +774,7 @@ read_incoming_byte: mov eax, 53 mov ebx, 2 mov ecx, [socket] - int 0x40 + mcall mov ecx,-1 @@ -788,7 +784,7 @@ read_incoming_byte: mov eax, 53 mov ebx, 3 mov ecx, [socket] - int 0x40 + mcall mov ecx,0 @@ -810,14 +806,14 @@ draw_window: mov eax,12 mov ebx,1 - int 0x40 + mcall mov eax,0 ; draw window mov ebx,5*65536+435 mov ecx,5*65536+232 mov edx,0x13ffffff mov edi,labelt - int 0x40 + mcall mov [old_status],300 @@ -826,14 +822,14 @@ draw_window: mov ecx,155*65536+10 mov edx,22 mov esi,0x44cc44 - int 0x40 + mcall ; mov eax,8 ; button: close socket mov ebx,295*65536+22 mov ecx,155*65536+10 mov edx,24 mov esi,0xcc4444 - int 0x40 + mcall ; mov eax,8 ; button: text entries mov ebx,243*65536+8 @@ -841,7 +837,7 @@ draw_window: mov edx,51 mov esi,0x4488dd newi: - int 0x40 + mcall inc edx add ecx,12*65536 cmp edx,53 @@ -852,13 +848,13 @@ draw_window: mov ecx,190*65536+14 mov edx,60 mov esi,0x5577dd - int 0x40 + mcall mov eax,38 ; line mov ebx,5*65536+430 mov ecx,114*65536+114 mov edx,0x000000 - int 0x40 + mcall mov ebx,5*65536+133 ; info text mov ecx,0x000000 @@ -866,7 +862,7 @@ draw_window: mov esi,70 newline: mov eax,4 - int 0x40 + mcall add ebx,12 add edx,70 cmp [edx],byte 'x' @@ -877,7 +873,7 @@ draw_window: mov eax,12 mov ebx,2 - int 0x40 + mcall popa @@ -902,12 +898,12 @@ draw_server_data: mov bx,word [rxs] imul bx,6 mov edx,0xffffff - int 0x40 + mcall popa push ecx mov eax,4 mov ecx,0 - int 0x40 + mcall add edx,[rxs] add ebx,10 pop ecx diff --git a/programs/network/ppp/trunk/build_en.bat b/programs/network/ppp/trunk/build_en.bat index 2053e0a55b..b234586acd 100644 --- a/programs/network/ppp/trunk/build_en.bat +++ b/programs/network/ppp/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm ppp.asm ppp +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/ppp/trunk/build_ru.bat b/programs/network/ppp/trunk/build_ru.bat index 920aafe4fe..6a62a1659a 100644 --- a/programs/network/ppp/trunk/build_ru.bat +++ b/programs/network/ppp/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm ppp.asm ppp +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/ppp/trunk/macros.inc b/programs/network/ppp/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/network/ppp/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/ppp/trunk/ppp.asm b/programs/network/ppp/trunk/ppp.asm index 5635cbf00c..3de0009ea2 100644 --- a/programs/network/ppp/trunk/ppp.asm +++ b/programs/network/ppp/trunk/ppp.asm @@ -60,20 +60,18 @@ MaxTx equ 1500 use32 - - org 0x0 - - db 'MENUET00' ; 8 byte id - dd 38 ; required os - dd STARTAPP ; program start - dd I_END ; program image size - dd 0x100000 ; required amount of memory - ; esp = 0x7FFF0 - dd 0x00000000 ; reserved=no extended header + org 0x0 + db 'MENUET01' ; header + dd 0x01 ; header version + dd STARTAPP ; entry point + dd I_END ; image size + dd I_END+0x10000 ; required memory + dd I_END+0x10000 ; esp + dd 0x0 , 0x0 ; I_Param , I_Path include "lang.inc" -include "macros.inc" +include "..\..\..\macros.inc" include "chat.inc" ; Hosts modem chatting routine @@ -87,7 +85,7 @@ STARTAPP: mov eax, 52 ; Stack Interface mov ebx, 0 ; read configuration word - int 0x40 + mcall mov ecx, eax shr ecx, 16 ; get the port address mov [comport], ecx @@ -109,13 +107,13 @@ appdsp: mov al, [welcomep_len] mov [prompt_len], al +red: call draw_window ; at first, draw the window - apploop: mov eax, 23 ; wait here for event mov ebx, 20 - int 0x40 + mcall cmp eax, 1 ; redraw request ? je red @@ -129,18 +127,14 @@ apploop: je flush_input ; Dont want serial data yet jmp apploop -red: ; redraw - call draw_window - jmp apploop - key: ; key - ignore mov eax, 2 ; just read it - int 0x40 + mcall jmp apploop button: ; button mov eax, 17 ; get id - int 0x40 + mcall cmp ah, 1 ; close program ? jne noclose @@ -152,8 +146,8 @@ button: ; button call disable_port - mov eax, -1 ; close this program - int 0x40 + or eax, -1 ; close this program + mcall jmp apploop noclose: @@ -173,10 +167,10 @@ noclose: flush_input: mov eax,42 mov ebx, [comirq] - int 0x40 + mcall mov eax,11 ; This will return 0 most of the time - int 0x40 + mcall mov ebx, [comirq] add ebx, 16 cmp eax, ebx @@ -200,7 +194,7 @@ dialloop: mov eax, 23 mov ebx, 100 - int 0x40 ; wait for 1s to display message + mcall ; wait for 1s to display message call PPPStateMachine ; This is the main code @@ -225,12 +219,12 @@ PPPStateMachine: PPPLoop: mov eax, 11 ; check event - int 0x40 + mcall cmp eax, 3 jne PPPLred ; button pressed mov eax, 17 ; get id - int 0x40 + mcall mov eax, hangp @@ -246,7 +240,7 @@ PPPLoop: call disable_port mov eax, -1 ; close this program - int 0x40 + mcall jmp PPPLoop PPPLred: @@ -267,7 +261,7 @@ PPPLoop0: mov eax, 42 mov ebx, [comirq] ; ecx will return 0 =data read, 1 =no data - int 0x40 ; or 2 =not irq owner + mcall ; or 2 =not irq owner inc dword [rxbytes] @@ -426,7 +420,7 @@ wait_txd2: mov eax,43 mov ecx, [comport] add ecx, 0x80000000 + 5 - int 0x40 + mcall and bl, 0x40 cmp bl, 0 jz wait_txd2 ; loop until free @@ -440,7 +434,7 @@ wait_txd2: mov ecx, [comport] mov eax, 43 - int 0x40 + mcall ppp_003: mov eax, [packet] @@ -698,7 +692,7 @@ ppp_005d: mov cl, [addr2] shl ecx, 8 mov cl, [addr1] - int 0x40 ; Set the stacks IP address + mcall ; Set the stacks IP address popa @@ -735,7 +729,7 @@ ppp_006: mov ebx, 6 mov edx, 1500 ; this should be exact amount mov esi, rx_str + 4 - int 0x40 + mcall ; Debugging output to debug board pusha @@ -883,7 +877,7 @@ ppp_012: ; 10ms Delay suggested by Ville mov eax,23 ; over here mov ebx,1 - int 0x40 + mcall @@ -902,7 +896,7 @@ ppp_012a: mov eax, 52 mov ebx, 8 mov esi, ip_buff - int 0x40 + mcall cmp eax, 0 je ppp_013 @@ -1225,13 +1219,13 @@ if DEBUG_PORT2_OUTPUT = TRUE and ecx, 0xFF0 mov edx, ecx or edx, 0x00F - int 0x40 + mcall end if mov eax, 45 ; free irq 4 mov ebx, 1 mov ecx, [comirq] - int 0x40 + mcall mov eax, 46 ; free port area mov ebx, 1 @@ -1240,7 +1234,7 @@ end if and ecx, 0xFF0 mov edx, ecx or edx, 0x00F - int 0x40 + mcall ret @@ -1263,49 +1257,49 @@ if DEBUG_PORT2_OUTPUT = TRUE and ecx, 0xFF0 mov edx, ecx or edx, 0x00F - int 0x40 ; reseve port memory to this process + mcall ; reseve port memory to this process mov eax, 45 ; reserve irq 3 mov ebx, 0 mov ecx, 3 - int 0x40 + mcall mov ecx, 0x2f8 ; data format register add ecx, 3 mov bl, 0x80 ; enable access to divisor latch mov eax, 43 ; send data to device - com port setup - int 0x40 + mcall mov ecx, 0x2f8 ; interrupt enable register inc ecx mov bl, 0 ; No interruts enabled mov eax, 43 ; send data to device (modem) - int 0x40 + mcall mov ecx, 0x2f8 ; Divisor latch LSB mov bl, BAUDRATE ; set baud rate mov eax, 43 ; send data to device (modem) - int 0x40 + mcall mov ecx, 0x2f8 ; Data format register add ecx, 3 mov bl, 3 ; 8 data bits mov eax, 43 ; send data to device (modem) - int 0x40 + mcall mov ecx, 0x2f8 ; Modem control register add ecx, 4 ; ** bl must be 0x0b for modem to dial! mov bl, 0x0b ; 0x08 -> out2 enabled. No handshaking. ; 0xb -> out2 enabled, RTS/DTR enabled mov eax, 43 ; send data to device (modem) - int 0x40 + mcall ; mov ecx, 0x2f8 ; interrupt enable register ; inc ecx ; mov bl, 1 ; rx data interrupt enabled, othrs not ; mov eax, 43 ; send data to device (modem) -; int 0x40 +; mcall end if @@ -1315,53 +1309,53 @@ end if and ecx, 0xFF0 mov edx, ecx or edx, 0x00F - int 0x40 ; reseve port memory to this process + mcall ; reseve port memory to this process mov eax, 45 ; reserve irq 4 mov ebx, 0 mov ecx, [comirq] - int 0x40 + mcall mov eax, 44 ; setup irq table mov ebx, irqtable mov ecx, [comirq] - int 0x40 + mcall mov ecx, [comport] ; data format register add ecx, 3 mov bl, 0x80 ; enable access to divisor latch mov eax, 43 ; send data to device - com port setup - int 0x40 + mcall mov ecx, [comport] ; interrupt enable register inc ecx mov bl, 0 ; No interruts enabled mov eax, 43 ; send data to device (modem) - int 0x40 + mcall mov ecx, [comport] ; Divisor latch LSB mov bl, BAUDRATE ; set baud rate mov eax, 43 ; send data to device (modem) - int 0x40 + mcall mov ecx, [comport] ; Data format register add ecx, 3 mov bl, 3 ; 8 data bits mov eax, 43 ; send data to device (modem) - int 0x40 + mcall mov ecx, [comport] ; Modem control register add ecx, 4 ; ** bl must be 0x0b for modem to dial! mov bl, 0x0b ; 0x08 -> out2 enabled. No handshaking. ; 0xb -> out2 enabled, RTS/DTR enabled mov eax, 43 ; send data to device (modem) - int 0x40 + mcall mov ecx, [comport] ; interrupt enable register inc ecx mov bl, 1 ; rx data interrupt enabled, othrs not mov eax, 43 ; send data to device (modem) - int 0x40 + mcall mov ecx, [comirq] add ecx, 16 @@ -1369,7 +1363,7 @@ end if shl ebx, cl add ebx, 111b mov eax,40 ; enable irq 4 data - int 0x40 + mcall popa ret @@ -1386,29 +1380,22 @@ end if draw_window: mov eax, 12 ; function 12:tell os about windowdraw mov ebx, 1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax, 0 ; function 0 : define and draw window mov ebx, 100*65536+250 ; [x start] *65536 + [x size] mov ecx, 100*65536+150 ; [y start] *65536 + [y size] - mov edx,0x03224466 ; color of work area RRGGBB - mov esi,0x00334455 ; color of grab bar RRGGBB - mov edi,0x00ddeeff ; color of frames RRGGBB - int 0x40 - ; WINDOW LABEL - mov eax, 4 ; function 4 : write text to window - mov ebx, 8*65536+8 ; [x start] *65536 + [y start] - mov ecx, 0x00ffffff ; color of text RRGGBB - mov edx, labelt ; pointer to text beginning - mov esi, labellen-labelt ; text length - int 0x40 + mov edx,0x13224466 ; color of work area RRGGBB + mov edi,title ; color of frames RRGGBB + mcall + ; DIAL BUTTON mov eax, 8 ; function 8 : define and draw button mov ebx, (50)*65536+40 ; [x start] *65536 + [x size] mov ecx, 130*65536+12 ; [y start] *65536 + [y size] mov edx, 2 ; button id mov esi, 0x5599cc ; button color RRGGBB - int 0x40 + mcall mov ebx, 55*65536+133 ; Draw button text mov ecx, 0x00FFFFFF @@ -1417,14 +1404,14 @@ draw_window: mov al, [button1_text_len] mov esi, eax mov eax, 4 - int 0x40 + mcall ; DISCONNECT BUTTON mov eax, 8 ; function 8 : define and draw button mov ebx, (150)*65536+65 ; [x start] *65536 + [x size] mov ecx, 130*65536+12 ; [y start] *65536 + [y size] mov edx, 3 ; button id mov esi, 0x5599cc ; button color RRGGBB - int 0x40 + mcall mov ebx, 155*65536+133 ; Draw button text mov ecx, 0x00FFFFFF @@ -1433,7 +1420,7 @@ draw_window: mov al, [button3_text_len] mov esi, eax mov eax, 4 - int 0x40 + mcall mov ebx, 5*65536+40 ; draw info text with function 4 mov ecx, 0x00FFFFFF @@ -1442,7 +1429,7 @@ draw_window: mov al, [prompt_len] mov esi, eax mov eax, 4 - int 0x40 + mcall ; Draw IP address mov edx, 10*65536+60 @@ -1450,25 +1437,25 @@ draw_window: mov ebx, 0x00030000 movzx ecx, byte [addr1] mov eax, 47 - int 0x40 + mcall mov edx, 31*65536+60 mov esi, 0x00FFFFFF mov ebx, 0x00030000 movzx ecx, byte [addr2] mov eax, 47 - int 0x40 + mcall mov edx, 52*65536+60 mov esi, 0x00FFFFFF mov ebx, 0x00030000 movzx ecx, byte [addr3] mov eax, 47 - int 0x40 + mcall mov edx, 73*65536+60 mov esi, 0x00FFFFFF mov ebx, 0x00030000 movzx ecx, byte [addr4] mov eax, 47 - int 0x40 + mcall ; Status byte mov edx, 100*65536+60 @@ -1476,7 +1463,7 @@ draw_window: mov ebx, 0x00010000 movzx ecx, byte [state] mov eax, 47 - int 0x40 + mcall ; bytes sent / received mov eax, 4 ; function 4 : write text to window @@ -1484,20 +1471,20 @@ draw_window: mov ecx, 0x00ffffff ; color of text RRGGBB mov edx, txmsg ; pointer to text beginning mov esi, txmsglen-txmsg ; text length - int 0x40 + mcall mov eax, 4 ; function 4 : write text to window mov ebx, 10*65536+100 ; [x start] *65536 + [y start] mov ecx, 0x00ffffff ; color of text RRGGBB mov edx, rxmsg ; pointer to text beginning mov esi, rxmsglen-rxmsg ; text length - int 0x40 + mcall call draw_window_limited mov eax, 12 ; end of redraw mov ebx, 2 - int 0x40 + mcall ret @@ -1508,26 +1495,23 @@ draw_window_limited: mov ebx,80*65536+10*6 mov ecx,80*65536+10 mov edx,0x03224466 - int 0x40 - mov eax,13 - mov ebx,80*65536+10*6 + mcall mov ecx,100*65536+10 - mov edx,0x03224466 - int 0x40 + mcall mov ebx, 0x000A0000 mov ecx, [txbytes] mov esi, 0x00ffffff ; color of text RRGGBB mov eax, 47 ; function 47 : write number to window mov edx, 80*65536+80 ; [x start] *65536 + [y start] - int 0x40 + mcall mov ebx, 0x000A0000 mov ecx, [rxbytes] mov esi, 0x00ffffff ; color of text RRGGBB mov eax, 47 ; function 47 : write number to window mov edx, 80*65536+100 ; [x start] *65536 + [y start] - int 0x40 + mcall ret @@ -1545,7 +1529,7 @@ settimer: push eax mov eax, 26 mov ebx, 9 - int 0x40 ; get 100th second counter + mcall ; get 100th second counter pop ebx sub eax, ebx ; This could have some funny side effecs if PPP ; called within ebx seconds of startup @@ -1566,7 +1550,7 @@ settimer: gettimer: mov eax, 26 mov ebx, 9 - int 0x40 ; get 100th second counter + mcall ; get 100th second counter sub eax, [timerValue] ret @@ -1624,7 +1608,7 @@ sw_000: ; any data from modem? mov eax,11 ; This will return 0 most of the time - int 0x40 + mcall mov ecx, eax pop edx pop eax @@ -1660,7 +1644,7 @@ sw_000a: push eax mov eax,42 mov ebx, [comirq] - int 0x40 + mcall pop eax pop edx @@ -1785,7 +1769,7 @@ sw_004: push edi mov eax, 5 mov ebx, 1 - int 0x40 ; 10ms delay + mcall ; 10ms delay pop edi ; send the character @@ -1796,7 +1780,7 @@ sw_004: inc eax push eax mov eax, 43 - int 0x40 + mcall pop eax pop edx @@ -1881,7 +1865,7 @@ txCom2: wait_txd2t: mov eax,43 mov ecx,0x80000000 + 0x2f8 + 5 - int 0x40 + mcall and bl, 0x40 cmp bl, 0 jz wait_txd2t ; loop until free @@ -1893,7 +1877,7 @@ wait_txd2t: mov ecx, 0x2f8 mov eax, 43 - int 0x40 + mcall ret @@ -1924,7 +1908,7 @@ end if mov eax,63 mov ebx, 1 push esi - int 0x40 + mcall pop esi inc esi jmp debug_print_string @@ -2159,8 +2143,7 @@ prompt dd 0 prompt_len db 0 ; Application Title -labelt db 'PPP Dialer' -labellen: +title db 'PPP Dialer',0 txmsg: db 'Tx bytes :' txmsglen: diff --git a/programs/network/rccc/trunk/build_en.bat b/programs/network/rccc/trunk/build_en.bat index 22a6363553..be07777d90 100644 --- a/programs/network/rccc/trunk/build_en.bat +++ b/programs/network/rccc/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm rccc.asm rccc +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/rccc/trunk/build_ru.bat b/programs/network/rccc/trunk/build_ru.bat index c4dac38feb..be1ccf7b75 100644 --- a/programs/network/rccc/trunk/build_ru.bat +++ b/programs/network/rccc/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm rccc.asm rccc +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/rccc/trunk/macros.inc b/programs/network/rccc/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/network/rccc/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/rccc/trunk/rccc.asm b/programs/network/rccc/trunk/rccc.asm index 4b893f7147..163e2f709e 100644 --- a/programs/network/rccc/trunk/rccc.asm +++ b/programs/network/rccc/trunk/rccc.asm @@ -25,7 +25,7 @@ use32 dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' START: ; start of execution @@ -34,7 +34,7 @@ START: ; start of execution mov ecx,0x6000 ; local port mov edx,0x6100 ; remote port mov esi,dword [remote_ip] ; remote IP - int 0x40 + mcall mov [socket], eax @@ -43,15 +43,16 @@ START: ; start of execution mov ecx,[socket] mov edx,1 mov esi,connect - int 0x40 + mcall +red: call draw_window ; at first, draw the window still: mov eax,23 ; wait here for event mov ebx,1 - int 0x40 + mcall cmp eax,1 ; redraw request ? jz red @@ -61,28 +62,23 @@ still: jz button jmp still - -red: - call draw_window - jmp still - key: mov eax,2 - int 0x40 + mcall jmp still button: mov eax,17 - int 0x40 + mcall cmp ah,1 ; button id=1 ? jnz noclose mov eax, 53 mov ebx, 1 mov ecx, [socket] - int 0x40 - mov eax,-1 - int 0x40 + mcall + or eax,-1 + mcall noclose: cmp ah,2 ; SEND SHUTDOWN COMMAND? @@ -118,7 +114,7 @@ send_shutdown: mov ecx,[socket] mov edx,1 mov esi,sen_shutdown - int 0x40 + mcall jmp still @@ -129,7 +125,7 @@ send_reboot: mov ecx,[socket] mov edx,1 mov esi,sen_reboot - int 0x40 + mcall jmp still @@ -140,7 +136,7 @@ send_savefi: mov ecx,[socket] mov edx,1 mov esi,sen_savefi - int 0x40 + mcall jmp still @@ -151,7 +147,7 @@ send_savehi: mov ecx,[socket] mov edx,1 mov esi,sen_savehi - int 0x40 + mcall jmp still @@ -162,7 +158,7 @@ send_hotreboot: mov ecx,[socket] mov edx,1 mov esi,sen_hotreboot - int 0x40 + mcall jmp still @@ -173,7 +169,7 @@ send_exit: mov ecx,[socket] mov edx,1 mov esi,sen_exit - int 0x40 + mcall jmp still @@ -182,7 +178,7 @@ send_exit: mov eax,53 mov ebx,3 mov ecx,[socket] - int 0x40 + mcall mov [edi],bl inc edi @@ -190,7 +186,7 @@ send_exit: mov eax,53 mov ebx,2 mov ecx,[socket] - int 0x40 + mcall cmp eax,0 jne get_data @@ -200,7 +196,7 @@ send_exit: mov ecx,0x000000 mov edx,I_END mov esi,15 - int 0x40 + mcall jmp still ; ********************************************* @@ -212,46 +208,37 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+250 ; [x start] *65536 + [x size] mov ecx,60*65536+280 ; [y start] *65536 + [y size] - mov edx,0x03ffffff ; color of work area RRGGBB - mov esi,0x80aabbcc ; color of grab bar RRGGBB,8->color gl - mov edi,0x00aabbcc ; color of frames RRGGBB - int 0x40 - - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x00ffffff ; color of text RRGGBB - mov edx,labeltext ; pointer to text beginning - mov esi,lte-labeltext ; text length - int 0x40 + mov edx,0x13ffffff ; color of work area RRGGBB + mov edi,title ; WINDOW LABEL + mcall + mov eax,8 ; CONTROL BUTTONS mov ebx,25*65536+9 mov ecx,113*65536+9 mov edx,2 mov esi,0x667788 - int 0x40 newbut: - int 0x40 + mcall add ecx,16*65536 inc edx cmp edx,8 jb newbut cld + mov eax,4 mov ebx,25*65536+50 ; draw info text with function 4 mov ecx,0x000000 mov edx,text mov esi,40 newline: - mov eax,4 - int 0x40 + mcall add ebx,16 add edx,40 cmp [edx],byte 'x' @@ -259,7 +246,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -303,8 +290,8 @@ else db 'x' ; <- END MARKER, DONT DELETE end if -labeltext: db 'Remote Control Center(Client)' ; -lte: +title db 'Remote Control Center(Client)',0 + socket dd 0x0 diff --git a/programs/network/rccs/trunk/build_en.bat b/programs/network/rccs/trunk/build_en.bat index 1210c1318f..8eba022ed7 100644 --- a/programs/network/rccs/trunk/build_en.bat +++ b/programs/network/rccs/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm rccs.asm rccs +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/rccs/trunk/build_ru.bat b/programs/network/rccs/trunk/build_ru.bat index e3c3e80416..af7caa124c 100644 --- a/programs/network/rccs/trunk/build_ru.bat +++ b/programs/network/rccs/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm rccs.asm rccs +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/rccs/trunk/macros.inc b/programs/network/rccs/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/network/rccs/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/rccs/trunk/rccs.asm b/programs/network/rccs/trunk/rccs.asm index 7179220579..9fc851bce1 100644 --- a/programs/network/rccs/trunk/rccs.asm +++ b/programs/network/rccs/trunk/rccs.asm @@ -25,7 +25,7 @@ use32 dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' remote_ip db 192,168,0,1 @@ -36,17 +36,18 @@ START: ; start of execution mov ecx, 0x6100 ; local port mov edx, 0x6000 ; remote port mov esi, dword [remote_ip] ; remote IP - int 0x40 + mcall mov [socket],eax mov [0],eax ; save for remote code - + +red: call draw_window ; at first, draw the window still: mov eax,23 ; wait here for event mov ebx,1 - int 0x40 + mcall cmp eax,1 ; redraw request ? jz red @@ -58,20 +59,16 @@ still: mov eax,53 ; data from cluster terminal ? mov ebx,2 mov ecx,[socket] - int 0x40 + mcall cmp eax,0 jne data_arrived jmp still -red: - call draw_window - jmp still - key: mov eax,2 - int 0x40 + mcall jmp still button: @@ -79,16 +76,16 @@ button: mov eax,53 mov ebx,1 mov ecx,[socket] - int 0x40 - mov eax,-1 - int 0x40 + mcall + or eax,-1 + mcall data_arrived: mov eax,5 ; wait a second for everything to arrive mov ebx,10 - int 0x40 + mcall mov edi,I_END @@ -97,7 +94,7 @@ data_arrived: mov eax,53 mov ebx,3 mov ecx,[socket] - int 0x40 + mcall mov [edi],bl inc edi @@ -105,7 +102,7 @@ data_arrived: mov eax,53 mov ebx,2 mov ecx,[socket] - int 0x40 + mcall cmp eax,0 jne get_data @@ -118,7 +115,7 @@ data_arrived: mov ecx,0x000000 mov edx,inp_con mov esi,inp_con.len - int 0x40 + mcall add [y],10 jmp still @@ -132,13 +129,13 @@ no_con: mov ecx,0x000000 mov edx,inp_shut mov esi,inp_shut.len - int 0x40 + mcall add [y],10 mov eax,18 mov ebx,9 mov ecx,2 - int 0x40 + mcall jmp still @@ -151,13 +148,13 @@ no_shut: mov ecx,0x000000 mov edx,inp_reb mov esi,inp_reb.len - int 0x40 + mcall add [y],10 mov eax,18 mov ebx,9 mov ecx,3 - int 0x40 + mcall jmp still no_reb: @@ -169,13 +166,13 @@ no_reb: mov ecx,0x000000 mov edx,inp_savefi mov esi,inp_savefi.len - int 0x40 + mcall add [y],10 mov eax,18 mov ebx,9 mov ecx,1 - int 0x40 + mcall jmp still no_savefi: @@ -187,13 +184,13 @@ no_savefi: mov ecx,0x000000 mov edx,inp_savehi mov esi,inp_savehi.len - int 0x40 + mcall add [y],10 mov eax,18 mov ebx,6 mov ecx,2 - int 0x40 + mcall jmp still @@ -206,13 +203,13 @@ no_savehi: mov ecx,0x000000 mov edx,inp_hotreb mov esi,inp_hotreb.len - int 0x40 + mcall add [y],10 mov eax,18 mov ebx,9 mov ecx,4 - int 0x40 + mcall jmp still no_hotreb: @@ -224,7 +221,7 @@ no_hotreb: mov ecx,0x000000 mov edx,inp_exit mov esi,inp_exit.len - int 0x40 + mcall add [y],10 call button @@ -237,7 +234,7 @@ no_com: mov ecx,0x000000 mov edx,inp_com mov esi,inp_com.len - int 0x40 + mcall add [y],10 jmp still @@ -251,41 +248,26 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+300 ; [x start] *65536 + [x size] mov ecx,100*65536+330 ; [y start] *65536 + [y size] - mov edx,0x03ffffff ; color of work area RRGGBB - mov esi,0x80aabbcc ; color of grab bar RRGGBB,8->color gl - mov edi,0x00aabbcc ; color of frames RRGGBB - int 0x40 + mov edx,0x13ffffff ; color of work area RRGGBB + mov edi,title ; WINDOW LABEL + mcall - mov eax,8 - mov ebx,(286-19)*65536+12 - mov ecx,4*65536+12 - mov edx,1 - mov esi,0xaabbcc -; int 0x40 - - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x00ffffff ; color of text RRGGBB - mov edx,labeltext ; pointer to text beginning - mov esi,lte-labeltext ; text length - int 0x40 ; Re-draw the screen text cld + mov eax,4 mov ebx,10*65536+30 ; draw info text with function 4 mov ecx,0x000000 mov edx,text mov esi,40 newline: - mov eax,4 - int 0x40 + mcall add ebx,16 add edx,40 cmp [edx],byte 'x' @@ -294,7 +276,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -315,8 +297,7 @@ else db 'x' ; <- END MARKER, DONT DELETE end if -labeltext: db 'Remote Control Center(Server)' -lte: +title db 'Remote Control Center(Server)',0 socket dd 0x0 y dd 0x10 diff --git a/programs/network/remote/trunk/build_en.bat b/programs/network/remote/trunk/build_en.bat index 28312b090d..089f5cbeab 100644 --- a/programs/network/remote/trunk/build_en.bat +++ b/programs/network/remote/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm remote.asm remote +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/remote/trunk/build_ru.bat b/programs/network/remote/trunk/build_ru.bat index 15c0efc5fd..c09b929159 100644 --- a/programs/network/remote/trunk/build_ru.bat +++ b/programs/network/remote/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm remote.asm remote +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/remote/trunk/macros.inc b/programs/network/remote/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/network/remote/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/remote/trunk/remote.asm b/programs/network/remote/trunk/remote.asm index 7fca446428..ae6c771974 100644 --- a/programs/network/remote/trunk/remote.asm +++ b/programs/network/remote/trunk/remote.asm @@ -6,18 +6,17 @@ use32 - - org 0x0 - - db 'MENUET00' ; 8 byte id - dd 38 ; required os - dd START ; program start - dd I_END ; program image size - dd 0x100000 ; required amount of memory - dd 0x00000000 ; reserved=no extended header + org 0x0 + db 'MENUET01' ; header + dd 0x01 ; header version + dd START ; entry point + dd I_END ; image size + dd I_END+0x10000 ; required memory + dd I_END+0x10000 ; esp + dd 0x0 , 0x0 ; I_Param , I_Path include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' remote_ip db 192,168,1,26 @@ -28,17 +27,18 @@ START: ; start of execution mov ecx, 0x3000 ; local port mov edx, 0xffff ; remote port mov esi, dword [remote_ip] ; remote IP - int 0x40 + mcall mov [socketNum],eax mov [0],eax ; save for remote code - + +red: call draw_window ; at first, draw the window still: mov eax,23 ; wait here for event mov ebx,1 - int 0x40 + mcall cmp eax,1 ; redraw request ? jz red @@ -50,20 +50,16 @@ still: mov eax,53 ; data from cluster terminal ? mov ebx,2 mov ecx,[socketNum] - int 0x40 + mcall cmp eax,0 jne data_arrived jmp still -red: - call draw_window - jmp still - key: mov eax,2 - int 0x40 + mcall jmp still button: @@ -71,16 +67,16 @@ button: mov eax,53 mov ebx,1 mov ecx,[socketNum] - int 0x40 - mov eax,-1 - int 0x40 + mcall + or eax,-1 + mcall data_arrived: mov eax,5 ; wait a second for everything to arrive mov ebx,10 - int 0x40 + mcall mov edi,I_END @@ -89,7 +85,7 @@ data_arrived: mov eax,53 mov ebx,3 mov ecx,[socketNum] - int 0x40 + mcall mov [edi],bl inc edi @@ -97,7 +93,7 @@ data_arrived: mov eax,53 mov ebx,2 mov ecx,[socketNum] - int 0x40 + mcall cmp eax,0 jne get_data @@ -110,7 +106,7 @@ data_arrived: mov ecx,0x000000 mov edx,I_END mov esi,23 - int 0x40 + mcall add [y],10 @@ -146,41 +142,26 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+286 ; [x start] *65536 + [x size] mov ecx,100*65536+330 ; [y start] *65536 + [y size] - mov edx,0x03ffffff ; color of work area RRGGBB - mov esi,0x80aabbcc ; color of grab bar RRGGBB,8->color gl - mov edi,0x00aabbcc ; color of frames RRGGBB - int 0x40 + mov edx,0x13ffffff ; color of work area RRGGBB + mov edi,title ; WINDOW LABEL + mcall - mov eax,8 - mov ebx,(286-19)*65536+12 - mov ecx,4*65536+12 - mov edx,1 - mov esi,0xaabbcc -; int 0x40 - - ; WINDOW LABEL - mov eax,4 ; function 4 : write text to window - mov ebx,8*65536+8 ; [x start] *65536 + [y start] - mov ecx,0x00ffffff ; color of text RRGGBB - mov edx,labeltext ; pointer to text beginning - mov esi,lte-labeltext ; text length - int 0x40 ; Re-draw the screen text cld + mov eax,4 mov ebx,10*65536+30 ; draw info text with function 4 mov ecx,0x000000 mov edx,text mov esi,40 newline: - mov eax,4 - int 0x40 + mcall add ebx,16 add edx,40 cmp [edx],byte 'x' @@ -189,7 +170,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -200,11 +181,10 @@ draw_window: text: db 'THIS NODE : 192.168.1.22 ' db 'LISTENING TO PORT : 0x3000 ' - db 'x <- END MARKER, DONT DELETE ' + db 'x' ;<- END MARKER, DONT DELETE -labeltext: db 'CLUSTER REMOTE' -lte: +title db 'CLUSTER REMOTE',0 socketNum dd 0x0 @@ -218,7 +198,6 @@ execute db 'MenuetRemote00' ; 00 header ; -> remote port 0x3000 db 2 ; 14 execute dd 0x0 ; 15 position ; 19 - I_END: diff --git a/programs/network/smtps/trunk/build_en.bat b/programs/network/smtps/trunk/build_en.bat index d432af1b7f..feb800c958 100644 --- a/programs/network/smtps/trunk/build_en.bat +++ b/programs/network/smtps/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm smtps.asm smtps +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/smtps/trunk/build_ru.bat b/programs/network/smtps/trunk/build_ru.bat index ed8912868a..333f206c03 100644 --- a/programs/network/smtps/trunk/build_ru.bat +++ b/programs/network/smtps/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm smtps.asm smtps +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/smtps/trunk/smtps.asm b/programs/network/smtps/trunk/smtps.asm index 975b3a3c29..fe11c9869e 100644 --- a/programs/network/smtps/trunk/smtps.asm +++ b/programs/network/smtps/trunk/smtps.asm @@ -23,7 +23,7 @@ use32 dd 0xffff0 dd 0,0 -include 'macros.inc' +include '..\..\..\macros.inc' save_file: @@ -38,7 +38,7 @@ save_file: mov [ebx+12],eax mov eax,70 - int 0x40 + mcall ret @@ -49,7 +49,7 @@ START: ; start of execution mov eax,70 mov ebx,filel - int 0x40 + mcall test eax,eax jz @f @@ -72,6 +72,8 @@ START: ; start of execution mov ebp,0 mov edx,I_END + +redraw: call draw_window ; at first, draw the window still: @@ -80,10 +82,10 @@ still: mov eax,5 mov ebx,1 - int 0x40 + mcall mov eax,11 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw je redraw @@ -130,28 +132,21 @@ check_header: mov ecx,[socket] mov edx,6 mov esi,r220 - int 0x40 + mcall mov [header_sent],1 jmp still - -redraw: ; redraw - - call draw_window - jmp still - - button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; close program jne noclose - mov eax,-1 - int 0x40 + or eax,-1 + mcall noclose: call socket_commands @@ -168,7 +163,7 @@ print_status: mov eax,53 mov ebx,6 mov ecx,[socket] - int 0x40 + mcall mov [status],eax @@ -183,7 +178,7 @@ print_status: mov ebx,360*65536+30 mov ecx,151*65536+10 mov edx,0xffffff - int 0x40 + mcall pop ecx mov eax,47 @@ -194,7 +189,7 @@ print_status: cmp [server_active],0 je no_print - int 0x40 + mcall no_print: @@ -208,7 +203,7 @@ socket_commands: cmp ah,22 ; open socket jnz tst3 mov eax,3 - int 0x40 + mcall mov [server_active],1 @@ -218,7 +213,7 @@ socket_commands: mov edx,0 ; no remote port specified mov esi,0 ; no remote ip specified mov edi,0 ; PASSIVE open - int 0x40 + mcall mov [socket], eax ret @@ -230,7 +225,7 @@ socket_commands: mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall mov [header_sent],0 mov [mail_rp],0 mov [server_active],0 @@ -246,7 +241,7 @@ socket_commands: key: mov eax,2 - int 0x40 + mcall jmp still @@ -349,7 +344,7 @@ analyze_command: mov ecx,[socket] mov edx,6 mov esi,r354 - int 0x40 + mcall mov [cmd],0 popa ret @@ -363,7 +358,7 @@ analyze_command: mov ecx,[socket] mov edx,6 mov esi,r250 - int 0x40 + mcall mov [cmd],0 popa ret @@ -390,26 +385,26 @@ analyze_command: mov ecx,[socket] mov edx,6 mov esi,r221 - int 0x40 + mcall mov [cmd],0 mov eax,5 mov ebx,5 - int 0x40 + mcall mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall mov eax,5 mov ebx,5 - int 0x40 + mcall mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall mov [header_sent],0 mov [mail_rp],0 @@ -418,7 +413,7 @@ analyze_command: mov eax,5 mov ebx,20 - int 0x40 + mcall mov eax,53 mov ebx,5 @@ -426,7 +421,7 @@ analyze_command: mov edx,0 ; no remote port specified mov esi,0 ; no remote ip specified mov edi,0 ; PASSIVE open - int 0x40 + mcall mov [socket], eax popa @@ -442,7 +437,7 @@ analyze_command: mov ecx,[socket] mov edx,6 mov esi,r250 - int 0x40 + mcall mov [cmd],0 popa ret @@ -596,7 +591,7 @@ read_incoming_byte: mov eax, 53 mov ebx, 2 mov ecx, [socket] - int 0x40 + mcall mov ecx,-1 @@ -606,7 +601,7 @@ read_incoming_byte: mov eax, 53 mov ebx, 3 mov ecx, [socket] - int 0x40 + mcall mov ecx,0 @@ -622,7 +617,7 @@ draw_window: mov eax,12 mov ebx,1 - int 0x40 + mcall mov [old_status],300 @@ -630,36 +625,35 @@ draw_window: mov ebx,5*65536+400 mov ecx,5*65536+200 mov edx,0x13ffffff - mov edi,labelt - int 0x40 + mov edi,title + mcall mov eax,8 ; button: open socket mov ebx,23*65536+22 mov ecx,169*65536+10 mov edx,22 mov esi,0x55aa55 - int 0x40 + mcall - mov eax,8 ; button: close socket + ; mov eax,8 ; button: close socket mov ebx,265*65536+22 - mov ecx,169*65536+10 mov edx,24 mov esi,0xaa5555 - int 0x40 + mcall mov eax,38 ; line mov ebx,5*65536+395 mov ecx,108*65536+108 mov edx,0x000000 - int 0x40 + mcall + mov eax,4 mov ebx,5*65536+123 ; info text mov ecx,0x000000 mov edx,text mov esi,70 newline: - mov eax,4 - int 0x40 + mcall add ebx,12 add edx,70 cmp [edx],byte 'x' @@ -670,7 +664,7 @@ draw_window: mov eax,12 mov ebx,2 - int 0x40 + mcall popa @@ -698,7 +692,7 @@ draw_channel_text: mov bx,word [rxs] imul bx,6 mov edx,0xffffff - int 0x40 + mcall popa push ecx mov eax,4 @@ -717,7 +711,7 @@ draw_channel_text: jne no_blue mov ecx,0x00ff00 no_blue: - int 0x40 + mcall add edx,[rxs] add ebx,10 pop ecx @@ -735,7 +729,6 @@ db ' The file can be fetched with TinyServer and a Html-browser. ' db ' Timeout is set to 15 seconds. ' db ' ' db ' Open SMTP server port 25 Close SMTP ' - db 'x' ; <- END MARKER, DONT DELETE @@ -830,6 +823,6 @@ scroll dd 1 numtext db ' ' -labelt db 'Tiny SMTP email server v ',version,0 +title db 'Tiny SMTP email server v ',version,0 I_END: diff --git a/programs/network/stackcfg/trunk/stackcfg.asm b/programs/network/stackcfg/trunk/stackcfg.asm index 420add476e..cc12660401 100644 --- a/programs/network/stackcfg/trunk/stackcfg.asm +++ b/programs/network/stackcfg/trunk/stackcfg.asm @@ -22,6 +22,8 @@ use32 dd PARAMS , 0x0 ; I_Param , I_Icon include 'lang.inc' +include '..\..\..\macros.inc' + START: ; start of execution cmp [PARAMS], byte 0 @@ -29,41 +31,34 @@ START: ; start of execution no_params: + red: call draw_window ; at first, draw the window still: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? - je red + jz red cmp eax,2 ; key in buffer ? - je key - cmp eax,3 ; button in buffer ? - je button - - jmp still - - red: ; redraw - call draw_window - jmp still + jnz button key: ; key - mov eax,2 ; just read it and ignore - int 0x40 + mov al,2 ; just read it and ignore + mcall jmp still button: ; button - mov eax,17 ; get id - int 0x40 + mov al,17 ; get id + mcall shr eax,8 cmp eax,1 ; button id=1 ? jne noclose - mov eax,-1 ; close this program - int 0x40 + or eax,-1 ; close this program + mcall noclose: cmp eax,2 @@ -282,27 +277,27 @@ read_stack_setup: mov eax,52 mov ebx,0 - int 0x40 + mcall mov [config],eax mov eax,52 mov ebx,1 - int 0x40 + mcall mov dword [ip_address],eax mov eax,52 mov ebx,9 - int 0x40 + mcall mov dword [gateway_ip],eax mov eax,52 mov ebx,10 - int 0x40 + mcall mov dword [subnet_mask],eax mov eax,52 mov ebx,13 - int 0x40 + mcall mov dword [dns_ip],eax mov eax,[config] ; unwrap com IRQ @@ -345,27 +340,27 @@ apply_stack_setup: mov eax,52 mov ebx,3 mov ecx,dword [ip_address] - int 0x40 + mcall mov eax,52 mov ebx,11 mov ecx,dword [gateway_ip] - int 0x40 + mcall mov eax,52 mov ebx,12 mov ecx,dword [subnet_mask] - int 0x40 + mcall mov eax,52 mov ebx,14 mov ecx,dword [dns_ip] - int 0x40 + mcall mov eax,52 mov ebx,2 mov ecx,[config] - int 0x40 + mcall ret jmp still @@ -390,11 +385,11 @@ read_string: mov edi,string f11: mov eax,10 - int 0x40 + mcall cmp eax,2 jne read_done mov eax,2 - int 0x40 + mcall shr eax,8 cmp eax,13 je read_done @@ -442,7 +437,7 @@ print_text: shl ecx,16 mov cx,8 mov edx,0xffffff - int 0x40 + mcall mov eax,4 mov ebx,[string_x] @@ -451,7 +446,7 @@ print_text: mov ecx,0x000000 mov edx,string mov esi,[string_length] - int 0x40 + mcall popa ret @@ -471,15 +466,15 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+330 ; [x start] *65536 + [x size] mov ecx,100*65536+157 ; [y start] *65536 + [y size] mov edx,0x13ffffff ; color of work area RRGGBB,8->color gl - mov edi,header ; WINDOW LABEL - int 0x40 + mov edi,title ; WINDOW LABEL + mcall mov eax,8 ; BUTTON : READ SETUP @@ -487,20 +482,20 @@ draw_window: mov ecx,127*65536+12 mov edx,2 mov esi,[button_color] - int 0x40 + mcall ;mov eax,8 ; BUTTON : APPLY SETUP mov ebx,163*65536+65 mov ecx,127*65536+12 mov edx,3 - int 0x40 + mcall ;mov eax,8 ; BUTTONS 11-14 : SELECT INTERFACE mov ebx,29*65536+8 mov ecx,39*65536+8 mov edx,11 interface_select: - int 0x40 + mcall add ecx,10*65536 inc edx cmp edx,11+4 @@ -513,19 +508,19 @@ draw_window: mov ecx,0xffffff mov edx,xx mov esi,1 - int 0x40 + mcall mov eax,8 ; BUTTONS 21-22 : SERVER / MANUAL IP mov ebx,143*65536+8 mov ecx,69*65536+8 mov edx,21 mov esi,[button_color] - int 0x40 + mcall ;mov eax,8 mov ebx,143*65536+8 mov ecx,79*65536+8 mov edx,22 - int 0x40 + mcall mov ebx,[assigned] ; PRINT SELECTED SERVER/MANUAL 'X' not ebx and ebx,1 @@ -535,21 +530,21 @@ draw_window: mov ecx,0xffffff mov edx,xx mov esi,1 - int 0x40 + mcall mov eax,47 ; COM ADDRESS mov ebx,3*65536+1*256 mov ecx,[com_add] mov edx,272*65536+40 mov esi,0x000000 - int 0x40 + mcall ;mov eax,47 ; COM IRQ mov ebx,1*65536+1*256 mov ecx,[com_irq] mov edx,(266+3*6)*65536+50 mov esi,0x000000 - int 0x40 + mcall mov edi,ip_address mov edx,205*65536+80 @@ -558,7 +553,7 @@ draw_window: ipdisplay: ;mov eax,47 movzx ecx,byte [edi] - int 0x40 + mcall add edx,6*4*65536 inc edi cmp edi,ip_address+4 @@ -571,7 +566,7 @@ draw_window: gipdisplay: ;mov eax,47 movzx ecx,byte [edi] - int 0x40 + mcall add edx,6*4*65536 inc edi cmp edi,gateway_ip+4 @@ -584,7 +579,7 @@ draw_window: sipdisplay: ;mov eax,47 movzx ecx,byte [edi] - int 0x40 + mcall add edx,6*4*65536 inc edi cmp edi,subnet_mask+4 @@ -597,7 +592,7 @@ draw_window: dipdisplay: ;mov eax,47 movzx ecx,byte [edi] - int 0x40 + mcall add edx,6*4*65536 inc edi cmp edi,dns_ip+4 @@ -609,35 +604,31 @@ draw_window: mov ecx,39*65536+8 mov edx,5 mov esi,[button_color] - int 0x40 + mcall ;mov eax,8 ; BUTTON 6 : SET IRQ - mov ebx,299*65536+8 mov ecx,49*65536+8 mov edx,6 - int 0x40 + mcall ;mov eax,8 ; BUTTON 7 : SET IP - mov ebx,299*65536+8 mov ecx,79*65536+8 mov edx,7 - int 0x40 + mcall ;mov eax,8 ; BUTTON 8 : SET gateway IP mov ebx,299*65536+8 mov ecx,89*65536+8 mov edx,8 - int 0x40 + mcall ;mov eax,8 ; BUTTON 9 : SET subnet - mov ebx,299*65536+8 mov ecx,99*65536+8 mov edx,9 - int 0x40 + mcall ;mov eax,8 ; BUTTON 10 : SET dns ip - mov ebx,299*65536+8 mov ecx,109*65536+8 mov edx,10 - int 0x40 + mcall mov ebx,31*65536+40 ; draw info text with function 4 mov edx,text @@ -650,7 +641,7 @@ draw_window: mov ecx,0xeeeeee nowhite: inc edx - int 0x40 + mcall add ebx,10 add edx,49 cmp [edx],byte 'x' @@ -658,7 +649,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -675,7 +666,7 @@ boot_set_settings: mov eax,52 mov ebx,0 - int 0x40 + mcall mov [config],eax shr eax,8 ; unwrap com IRQ @@ -690,7 +681,7 @@ boot_set_settings: call apply_stack_setup mov eax,-1 ; close this program - int 0x40 + mcall ;****************************************************************************** @@ -713,7 +704,7 @@ xx: db 'x' ;<- END MARKER, DONT DELETE button_color dd 0x2254b9 -header db 'STACK CONFIGURATION',0 +title db 'STACK CONFIGURATION',0 ;ENTER YOUR SETTINGS HERE: diff --git a/programs/network/telnet/trunk/build_en.bat b/programs/network/telnet/trunk/build_en.bat index a293aeadf4..5195411ba8 100644 --- a/programs/network/telnet/trunk/build_en.bat +++ b/programs/network/telnet/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm telnet.asm telnet +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/telnet/trunk/build_ru.bat b/programs/network/telnet/trunk/build_ru.bat index d204e44620..3e64ce994d 100644 --- a/programs/network/telnet/trunk/build_ru.bat +++ b/programs/network/telnet/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm telnet.asm telnet +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/telnet/trunk/macros.inc b/programs/network/telnet/trunk/macros.inc deleted file mode 100644 index 5527ff55c1..0000000000 --- a/programs/network/telnet/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a { ; mike.dld - if ~a eq - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; language for programs -lang fix ru ; ru en fr ge fi - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/telnet/trunk/telnet.asm b/programs/network/telnet/trunk/telnet.asm index 78edf9122d..109eecbbdb 100644 --- a/programs/network/telnet/trunk/telnet.asm +++ b/programs/network/telnet/trunk/telnet.asm @@ -17,7 +17,7 @@ use32 include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' START: ; start of execution @@ -37,7 +37,7 @@ still: mov eax,53 mov ebx,6 mov ecx,[socket] - int 0x40 + mcall mov ebx, [socket_status] mov [socket_status], eax @@ -45,12 +45,13 @@ still: cmp eax, ebx je waitev +red: call draw_window waitev: mov eax,23 ; wait here for event mov ebx,20 - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -64,7 +65,7 @@ waitev: mov eax, 53 mov ebx, 2 mov ecx, [socket] - int 0x40 + mcall cmp eax, 0 jne read_input @@ -77,7 +78,7 @@ read_input: mov eax, 53 mov ebx, 3 mov ecx, [socket] - int 0x40 + mcall pop ecx call handle_data @@ -86,7 +87,7 @@ read_input: mov eax, 53 mov ebx, 2 mov ecx, [socket] - int 0x40 + mcall pop ecx cmp eax, 0 @@ -133,7 +134,7 @@ state2: mov ebx,7 mov ecx,[socket] mov esi, telnetrep - int 0x40 + mcall ret hd001: @@ -200,14 +201,9 @@ hd001: newdata: ret - - red: ; REDRAW WINDOW - call draw_window - jmp still - key: ; KEY mov eax,2 ; send to modem - int 0x40 + mcall mov ebx, [socket_status] cmp ebx, 4 ; connection open? @@ -246,17 +242,17 @@ hd001: button: ; BUTTON mov eax,17 - int 0x40 + mcall cmp ah,1 ; CLOSE PROGRAM jne noclose mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall - mov eax,-1 - int 0x40 + or eax,-1 + mcall noclose: cmp ah, 2 ; Set IP jne notip @@ -376,7 +372,7 @@ tm_000: mov ebx,7 mov ecx,[socket] mov esi, tx_buff - int 0x40 + mcall pop bx mov al, [echo] cmp al, 0 @@ -405,7 +401,7 @@ disconnect: mov eax,53 mov ebx,8 mov ecx,[socket] - int 0x40 + mcall ret @@ -420,7 +416,7 @@ getlp: push ecx mov eax, 53 mov ebx, 9 - int 0x40 + mcall pop ecx cmp eax, 0 ; is this local port in use? jz getlp ; yes - so try next @@ -437,7 +433,7 @@ getlp: mov esi, edx movzx edx, word [port] ; telnet port id mov edi,1 ; active open - int 0x40 + mcall mov [socket], eax popa @@ -457,45 +453,45 @@ draw_window: mov eax,12 mov ebx,1 - int 0x40 + mcall xor eax,eax ; DRAW WINDOW mov ebx,100*65536+491 + 8 +15 mov ecx,100*65536+270 + 20 ; 20 for status bar mov edx,0x13000000 - mov edi,labelt - int 0x40 + mov edi,title + mcall ; draw status bar mov eax, 13 mov ebx, 4*65536+484 + 8 +15 mov ecx, 270*65536 + 3 mov edx, 0x00557799 - int 0x40 + mcall mov eax,8 ; BUTTON 2: SET IP mov ebx,4*65536+70 mov ecx,273*65536+12 mov esi, 0x00557799 mov edx,2 - int 0x40 + mcall mov eax,4 ; Button text mov ebx,6*65536+276 mov ecx,0x00ffffff mov edx,setipt mov esi,setiplen-setipt - int 0x40 + mcall + mov eax,47 mov edi,ip_address ; display IP address mov edx,78*65536+276 mov esi,0x00ffffff mov ebx,3*65536 ipdisplay: - mov eax,47 movzx ecx,byte [edi] - int 0x40 + mcall add edx,6*4*65536 inc edi cmp edi,ip_address+4 @@ -506,14 +502,14 @@ draw_window: mov ecx,273*65536+12 mov edx,3 mov esi, 0x00557799 - int 0x40 + mcall mov eax,4 ; Button text mov ebx,178*65536+276 mov ecx,0x00ffffff mov edx,setportt mov esi,setportlen-setportt - int 0x40 + mcall mov edx,216*65536+276 ; display port @@ -521,21 +517,21 @@ draw_window: mov ebx,4*65536 mov eax,47 movzx ecx,word [port] - int 0x40 + mcall mov eax,8 ; BUTTON 4: Connect mov ebx,250*65536+50 mov ecx,273*65536+12 mov esi, 0x00557799 mov edx,4 - int 0x40 + mcall mov eax,4 ; Button text mov ebx,255*65536+276 mov ecx,0x00ffffff mov edx,cont mov esi,conlen-cont - int 0x40 + mcall mov eax,8 ; BUTTON 5: disconnect @@ -543,7 +539,7 @@ draw_window: mov ecx,273*65536+12 mov edx,5 mov esi, 0x00557799 - int 0x40 + mcall mov eax,4 ; Button text @@ -551,7 +547,7 @@ draw_window: mov ecx,0x00ffffff mov edx,dist mov esi,dislen-dist - int 0x40 + mcall mov esi,contlen-contt ; display connected status @@ -566,7 +562,7 @@ pcon: mov eax,4 ; status text mov ebx,380*65536+276 mov ecx,0x00ffffff - int 0x40 + mcall mov eax,8 ; BUTTON 6: echo @@ -574,7 +570,7 @@ pcon: mov ecx,273*65536+12 mov edx,6 mov esi, 0x00557799 - int 0x40 + mcall mov edx,echot mov esi,echolen-echot @@ -588,7 +584,7 @@ peo: mov eax,4 ; Button text mov ebx,463*65536+276 mov ecx,0x00ffffff - int 0x40 + mcall xor eax,eax @@ -601,7 +597,7 @@ peo: mov eax,12 mov ebx,2 - int 0x40 + mcall popa @@ -636,7 +632,7 @@ draw_text: shl ebx, 16 mov bx, 6 mov eax, 13 - int 0x40 + mcall popa ; draw character @@ -652,7 +648,7 @@ draw_text: mov eax,4 mov edx,esi mov esi,1 - int 0x40 + mcall popa noletter: @@ -683,11 +679,11 @@ read_string: mov edi,string f11: mov eax,10 - int 0x40 + mcall cmp eax,2 jne read_done mov eax,2 - int 0x40 + mcall shr eax,8 cmp eax,13 je read_done @@ -735,7 +731,7 @@ print_text: shl ecx,16 mov cx,8 mov edx,0x00000000 - int 0x40 + mcall mov eax,4 mov ebx,[string_x] @@ -744,7 +740,7 @@ print_text: mov ecx,0x00ffffff mov edx,string mov esi,[string_length] - int 0x40 + mcall popa ret @@ -773,7 +769,7 @@ pos dd 80 * 1 scroll dd 1 dd 24 wcolor dd 0x000000 -labelt db 'Telnet v0.1',0 +title db 'Telnet v0.1',0 setipt db 'IP Address: . . .' setiplen: setportt db 'Port:' diff --git a/programs/network/terminal/trunk/build_en.bat b/programs/network/terminal/trunk/build_en.bat index 1145350a0f..9a0b418c56 100644 --- a/programs/network/terminal/trunk/build_en.bat +++ b/programs/network/terminal/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm terminal.asm terminal +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/terminal/trunk/build_ru.bat b/programs/network/terminal/trunk/build_ru.bat index caf47e0602..25c9c8f0a4 100644 --- a/programs/network/terminal/trunk/build_ru.bat +++ b/programs/network/terminal/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm terminal.asm terminal +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/terminal/trunk/macros.inc b/programs/network/terminal/trunk/macros.inc deleted file mode 100644 index 5527ff55c1..0000000000 --- a/programs/network/terminal/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a { ; mike.dld - if ~a eq - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; language for programs -lang fix ru ; ru en fr ge fi - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/terminal/trunk/terminal.asm b/programs/network/terminal/trunk/terminal.asm index c9332bcc52..acf6f48b8c 100644 --- a/programs/network/terminal/trunk/terminal.asm +++ b/programs/network/terminal/trunk/terminal.asm @@ -13,7 +13,7 @@ use32 dd 0x0 , 0x0 ; I_Param , I_Path include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' START: ; start of execution @@ -26,7 +26,7 @@ still: mov eax,23 ; wait here for event mov ebx,20 - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -45,7 +45,7 @@ read_input: push ecx mov eax,42 mov ebx,4 - int 0x40 + mcall pop ecx cmp bl,27 ; ESCAPE COMMAND @@ -121,7 +121,7 @@ read_input: mov [pos],eax newdata: mov eax,11 - int 0x40 + mcall cmp eax,16+4 je read_input call draw_text @@ -134,7 +134,7 @@ read_input: key: ; KEY mov eax,2 ; send to modem - int 0x40 + mcall shr eax,8 cmp eax,178 ; ARROW KEYS jne noaup @@ -164,25 +164,25 @@ read_input: mov ecx,0x3f8 mov bl,al mov eax,43 - int 0x40 + mcall jmp still button: ; BUTTON mov eax,17 - int 0x40 + mcall cmp ah,1 ; CLOSE PROGRAM jne noclose mov eax,45 ; FREE IRQ mov ebx,1 mov ecx,4 - int 0x40 + mcall mov eax,46 mov ebx,1 mov ecx,0x3f0 mov edx,0x3ff - int 0x40 - mov eax,-1 - int 0x40 + mcall + or eax,-1 + mcall noclose: jmp still @@ -208,10 +208,10 @@ to_modem: mov ecx,0x3f8 mov ebx,eax mov eax,43 - int 0x40 + mcall mov eax,5 mov ebx,5 - int 0x40 + mcall popa ret @@ -267,55 +267,55 @@ set_variables: mov ebx,0 mov ecx,0x3f0 mov edx,0x3ff - int 0x40 + mcall mov eax,45 ; reserve irq 4 mov ebx,0 mov ecx,4 - int 0x40 + mcall mov eax,44 mov ebx,irqtable mov ecx,4 - int 0x40 + mcall ; jmp noportint mov cx,0x3f8+3 mov bl,0x80 mov eax,43 - int 0x40 + mcall mov cx,0x3f8+1 mov bl,0 mov eax,43 - int 0x40 + mcall mov cx,0x3f8+0 mov bl,0x30 / 16 mov eax,43 - int 0x40 + mcall mov cx,0x3f8+3 mov bl,3 mov eax,43 - int 0x40 + mcall mov cx,0x3f8+4 mov bl,0xB mov eax,43 - int 0x40 + mcall mov cx,0x3f8+1 mov bl,1 mov eax,43 - int 0x40 + mcall noportint: mov eax,40 mov ebx,0000000000010000b shl 16 + 111b - int 0x40 + mcall popa @@ -334,14 +334,14 @@ draw_window: mov eax,12 mov ebx,1 - int 0x40 + mcall mov eax,0 ; DRAW WINDOW mov ebx,100*65536+491 mov ecx,100*65536+270 mov edx,0x13000000 - mov edi,labelt - int 0x40 + mov edi,title + mcall xor eax,eax mov edi,text+80*30 @@ -353,7 +353,7 @@ draw_window: mov eax,12 mov ebx,2 - int 0x40 + mcall popa @@ -412,7 +412,7 @@ draw_text: shl ebx,16 mov bx,6 mov eax,13 - int 0x40 + mcall popa pusha @@ -429,7 +429,7 @@ draw_text: mov eax,4 mov edx,esi mov esi,1 - int 0x40 + mcall popa noletter: @@ -458,12 +458,12 @@ esc_command: newescc: mov eax,42 mov ebx,4 - int 0x40 + mcall cmp ecx,0 je escok mov eax,5 mov ebx,1 - int 0x40 + mcall jmp newescc escok: mov [edi],bl @@ -613,7 +613,7 @@ draw_numbers: mov ebx,250*65536+100 mov ecx,8*65536+8 mov edx,0x000000 - int 0x40 + mcall mov eax,[escnumbers] xor edx,edx @@ -638,7 +638,7 @@ draw_numbers: mov ecx,0xffffff mov edx,numtext mov esi,10 - int 0x40 + mcall popa @@ -652,14 +652,14 @@ draw_event: mov ebx,150*65536+100 mov ecx,8*65536+8 mov edx,0xffffff - int 0x40 + mcall mov eax,4 mov ebx,150*65536+8 mov ecx,0x000000 mov edx,esccmd mov esi,20 - int 0x40 + mcall popa ret @@ -720,7 +720,7 @@ esccmd dd 0,0,0,0,0,0,0,0,0,0,0,0,0 escend db 'ZrhlABCDHfDME=>NmKJgincoyq',0 escnumbers dd 0,0,0,0,0 wcolor dd 0x000000 -labelt db 'TERMINAL FOR MODEM IN COM1 0.03',0 +title db 'TERMINAL FOR MODEM IN COM1 0.03',0 text: db ' ' @@ -735,8 +735,4 @@ db ' ' db ' ' I_END: - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/programs/network/tftpa/trunk/build_en.bat b/programs/network/tftpa/trunk/build_en.bat index 41283f331a..001b81bf48 100644 --- a/programs/network/tftpa/trunk/build_en.bat +++ b/programs/network/tftpa/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm tftpa.asm tftpa +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/tftpa/trunk/build_ru.bat b/programs/network/tftpa/trunk/build_ru.bat index b74829c33b..97a7a787ab 100644 --- a/programs/network/tftpa/trunk/build_ru.bat +++ b/programs/network/tftpa/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm tftpa.asm tftpa +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/tftpa/trunk/macros.inc b/programs/network/tftpa/trunk/macros.inc deleted file mode 100644 index 5527ff55c1..0000000000 --- a/programs/network/tftpa/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a { ; mike.dld - if ~a eq - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; language for programs -lang fix ru ; ru en fr ge fi - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/tftpa/trunk/tftpa.asm b/programs/network/tftpa/trunk/tftpa.asm index a0fe175e6a..193a9a05e1 100644 --- a/programs/network/tftpa/trunk/tftpa.asm +++ b/programs/network/tftpa/trunk/tftpa.asm @@ -18,7 +18,7 @@ use32 dd 0x0 , 0x0 ; I_Param , I_Path include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' delay dd 145 wait_for dd 0x0 @@ -27,13 +27,14 @@ START: ; start of execution mov dword [prompt], p9 mov dword [promptlen], p9len - p9 - + +red: call draw_window ; at first, draw the window still: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? jz red @@ -43,19 +44,14 @@ still: jz button jmp still - -red: ; redraw - call draw_window - jmp still - key: ; Keys are not valid at this part of the mov eax,2 ; loop. Just read it and ignore - int 0x40 + mcall jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jnz noclose @@ -65,13 +61,13 @@ button: ; button mov eax, 53 mov ebx, 1 mov ecx, [socketNum] - int 0x40 + mcall mov [socketNum], dword 0 - mov eax,0xffffffff ; close this program - int 0x40 + or eax,-1 ; close this program + mcall noclose: cmp ah,2 ; copy file to local machine? @@ -119,13 +115,13 @@ nocopyl: f11: mov eax,10 - int 0x40 + mcall cmp eax,2 jz fbu jmp still fbu: mov eax,2 - int 0x40 ; get key + mcall ; get key shr eax,8 cmp eax,8 jnz nobs @@ -162,7 +158,7 @@ print_text: shl ecx,16 mov cx,8 mov edx,0x224466 - int 0x40 + mcall mov eax,4 mov ebx,103*65536 @@ -170,7 +166,7 @@ print_text: mov ecx,0xffffff mov edx,[addr] mov esi,15 - int 0x40 + mcall ret @@ -309,7 +305,7 @@ copyFromRemote: ; Get a random # for the local socket port # mov eax, 3 - int 0x40 + mcall mov ecx, eax shr ecx, 8 ; Set up the local port # with a random # @@ -318,7 +314,7 @@ copyFromRemote: mov ebx, 0 mov edx, 69 ; remote port mov esi, [tftp_IP] ; remote IP ( in intenet format ) - int 0x40 + mcall mov [socketNum], eax @@ -328,12 +324,12 @@ cfr001: mov eax, 53 mov ebx, 3 mov ecx, [socketNum] - int 0x40 ; read byte + mcall ; read byte mov eax, 53 mov ebx, 2 mov ecx, [socketNum] - int 0x40 ; any more data? + mcall ; any more data? cmp eax, 0 jne cfr001 ; yes, so get it @@ -344,13 +340,13 @@ cfr001: mov ecx, [socketNum] mov edx, [tftp_len] mov esi, tftp_filename - int 0x40 + mcall cfr002: mov eax,23 ; wait here for event mov ebx,1 ; Time out after 10ms - int 0x40 + mcall cmp eax,1 ; redraw request ? je cfr003 @@ -363,7 +359,7 @@ cfr002: mov eax, 53 mov ebx, 2 mov ecx, [socketNum] - int 0x40 + mcall cmp eax, 0 je cfr002 @@ -385,12 +381,12 @@ cfr008: mov eax, 53 mov ebx, 3 mov ecx, [socketNum] - int 0x40 ; read byte + mcall ; read byte mov eax, 53 mov ebx, 3 mov ecx, [socketNum] - int 0x40 ; read byte + mcall ; read byte pop eax ; bl holds tftp opcode. Can only be 3 (data) or 5 ( error ) @@ -404,14 +400,14 @@ cfr008: mov eax, 53 mov ebx, 3 mov ecx, [socketNum] - int 0x40 ; read byte + mcall ; read byte mov [blockNumber], bl mov eax, 53 mov ebx, 3 mov ecx, [socketNum] - int 0x40 ; read byte + mcall ; read byte mov [blockNumber+1], bl @@ -419,7 +415,7 @@ cfr007: mov eax, 53 mov ebx, 3 mov ecx, [socketNum] - int 0x40 ; read byte + mcall ; read byte mov esi, [fileposition] mov [esi], bl @@ -429,7 +425,7 @@ cfr007: mov eax, 53 mov ebx, 2 mov ecx, [socketNum] - int 0x40 ; any more data? + mcall ; any more data? cmp eax, 0 jne cfr007 ; yes, so get it @@ -442,11 +438,11 @@ wait_more: mov eax,5 ; wait for correct timer position ; to trigger new play block mov ebx,1 - int 0x40 + mcall mov eax,26 mov ebx,9 - int 0x40 + mcall cmp eax,[wait_for] jb wait_more @@ -463,11 +459,11 @@ wait_more: mov eax,55 mov ebx,0 mov ecx,0x10000 - int 0x40 + mcall mov eax,55 mov ebx,1 - int 0x40 + mcall mov [fileposition],0x20000 @@ -486,7 +482,7 @@ get_more_stream: mov ecx, [socketNum] mov edx, ackLen - ack mov esi, ack - int 0x40 + mcall ; If # of chars in the frame is less that 516, ; this frame is the last @@ -500,7 +496,7 @@ get_more_stream: mov edx, [filesize] mov ecx, I_END + 512 mov esi, 0 - int 0x40 + mcall jmp cfrexit @@ -509,12 +505,12 @@ cfrerr: mov eax, 53 mov ebx, 3 mov ecx, [socketNum] - int 0x40 ; read byte + mcall ; read byte mov eax, 53 mov ebx, 2 mov ecx, [socketNum] - int 0x40 ; any more data? + mcall ; any more data? cmp eax, 0 jne cfrerr ; yes, so get it @@ -527,12 +523,12 @@ cfr003: ; redraw request cfr004: ; key pressed mov eax,2 ; just read it and ignore - int 0x40 + mcall jmp cfr002 cfr005: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne cfr002 ; If not, ignore. @@ -542,12 +538,12 @@ cfr006: mov eax, 53 mov ebx, 1 mov ecx, [socketNum] - int 0x40 + mcall mov [socketNum], dword 0 mov eax,-1 ; close this program - int 0x40 + mcall jmp $ @@ -556,7 +552,7 @@ cfrexit: mov eax, 53 mov ebx, 1 mov ecx, [socketNum] - int 0x40 + mcall mov [socketNum], dword 0 @@ -578,44 +574,31 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+230 ; [x start] *65536 + [x size] mov ecx,100*65536+170 ; [y start] *65536 + [y size] mov edx,0x13224466 ; color of work area RRGGBB - mov edi,labelt - int 0x40 - - - mov eax,8 ; COPY BUTTON - mov ebx,20*65536+190 - mov ecx,79*65536+15 - mov edx,3 - mov esi,0x557799 -; int 0x40 + mov edi,title + mcall mov eax,8 ; DELETE BUTTON mov ebx,20*65536+190 mov ecx,111*65536+15 mov edx,2 mov esi,0x557799 - int 0x40 + mcall - mov eax,8 mov ebx,200*65536+10 mov ecx,34*65536+10 mov edx,4 - mov esi,0x557799 - int 0x40 + mcall - mov eax,8 - mov ebx,200*65536+10 mov ecx,50*65536+10 mov edx,5 - mov esi,0x557799 - int 0x40 + mcall ; Copy the file name to the screen buffer @@ -642,13 +625,13 @@ draw_window: ; Re-draw the screen text cld + mov eax,4 mov ebx,25*65536+35 ; draw info text with function 4 mov ecx,0xffffff mov edx,text mov esi,40 newline: - mov eax,4 - int 0x40 + mcall add ebx,16 add edx,40 cmp [edx],byte 'x' @@ -657,7 +640,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -691,7 +674,7 @@ text: db 'x' ; <- END MARKER, DONT DELETE -labelt db 'TFTP Wave Player',0 +title db 'TFTP Wave Player',0 prompt: dd 0 promptlen: dd 0 @@ -739,4 +722,4 @@ I_END: - \ No newline at end of file + diff --git a/programs/network/tftpc/trunk/build_en.bat b/programs/network/tftpc/trunk/build_en.bat index 6e2ff687c5..24fdff3027 100644 --- a/programs/network/tftpc/trunk/build_en.bat +++ b/programs/network/tftpc/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm tftpc.asm tftpc +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/tftpc/trunk/build_ru.bat b/programs/network/tftpc/trunk/build_ru.bat index 6d37bca829..21b403ff00 100644 --- a/programs/network/tftpc/trunk/build_ru.bat +++ b/programs/network/tftpc/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm tftpc.asm tftpc +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/tftpc/trunk/macros.inc b/programs/network/tftpc/trunk/macros.inc deleted file mode 100644 index 5527ff55c1..0000000000 --- a/programs/network/tftpc/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a { ; mike.dld - if ~a eq - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; language for programs -lang fix ru ; ru en fr ge fi - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/network/tftpc/trunk/tftpc.asm b/programs/network/tftpc/trunk/tftpc.asm index 08d432a62d..2891c59be4 100644 --- a/programs/network/tftpc/trunk/tftpc.asm +++ b/programs/network/tftpc/trunk/tftpc.asm @@ -12,21 +12,22 @@ use32 dd 0x0 , 0x0 ; I_Param , I_Path include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' START: ; start of execution mov eax,40 ; Report events mov ebx,10000111b ; Stack 8 + defaults - int 0x40 + mcall mov dword [prompt], p1 mov dword [promptlen], p1len - p1 - + +red: call draw_window ; at first, draw the window still: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? jz red @@ -36,19 +37,15 @@ still: jz button jmp still - -red: ; redraw - call draw_window - jmp still - + key: ; Keys are not valid at this part of the mov eax,2 ; loop. Just read it and ignore - int 0x40 + mcall jmp still button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jnz noclose @@ -63,8 +60,8 @@ button: ; button mov [socketNum], dword 0 - mov eax,0xffffffff ; close this program - int 0x40 + or eax,-1 ; close this program + mcall noclose: cmp ah,2 ; copy file to local machine? @@ -127,13 +124,13 @@ nocopyh: f11: mov eax,10 - int 0x40 + mcall cmp eax,2 jz fbu jmp still fbu: mov eax,2 - int 0x40 ; get key + mcall ; get key shr eax,8 cmp eax,8 jnz nobs @@ -170,7 +167,7 @@ print_text: shl ecx,16 mov cx,8 mov edx,0x224466 - int 0x40 + mcall mov eax,4 mov ebx,103*65536 @@ -178,7 +175,7 @@ print_text: mov ecx,0xffffff mov edx,[addr] mov esi,15 - int 0x40 + mcall ret @@ -357,7 +354,7 @@ cfr001: cfr002: mov eax,10 ; wait here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? je cfr003 @@ -427,7 +424,7 @@ cfr007: mov eax, 53 mov ebx, 2 mov ecx, [socketNum] - int 0x40 ; any more data? + mcall ; any more data? cmp eax, 0 je no_more_data ; no @@ -435,7 +432,7 @@ cfr007: mov eax, 53 mov ebx, 3 mov ecx, [socketNum] - int 0x40 ; read byte + mcall ; read byte mov esi, [fileposition] mov [esi], bl @@ -473,7 +470,7 @@ no_more_data: mov edx, [filesize] mov ecx, I_END + 512 mov esi, 0 - int 0x40 + mcall jmp cfrexit @@ -500,12 +497,12 @@ cfr003: ; redraw request cfr004: ; key pressed mov eax,2 ; just read it and ignore - int 0x40 + mcall jmp cfr002 cfr005: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne cfr002 ; If not, ignore. @@ -520,7 +517,7 @@ cfr006: mov [socketNum], dword 0 mov eax,-1 ; close this program - int 0x40 + mcall jmp $ @@ -809,43 +806,40 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+230 ; [x start] *65536 + [x size] mov ecx,100*65536+170 ; [y start] *65536 + [y size] mov edx,0x13224466 ; color of work area RRGGBB - mov edi,labelt - int 0x40 + mov edi,title + mcall mov eax,8 ; COPY BUTTON mov ebx,20*65536+190 mov ecx,79*65536+15 mov edx,2 mov esi,0x557799 - int 0x40 + mcall - mov eax,8 ; DELETE BUTTON + ; mov eax,8 ; DELETE BUTTON mov ebx,20*65536+190 mov ecx,111*65536+15 mov edx,3 - mov esi,0x557799 - int 0x40 + mcall - mov eax,8 - mov ebx,200*65536+10 + ; mov eax,8 + ; mov ebx,200*65536+10 mov ecx,34*65536+10 mov edx,4 - mov esi,0x557799 - int 0x40 + mcall - mov eax,8 - mov ebx,200*65536+10 + ; mov eax,8 + ; mov ebx,200*65536+10 mov ecx,50*65536+10 mov edx,5 - mov esi,0x557799 - int 0x40 + mcall ; Copy the file name to the screen buffer @@ -872,13 +866,13 @@ draw_window: ; Re-draw the screen text cld + mov eax,4 mov ebx,25*65536+35 ; draw info text with function 4 mov ecx,0xffffff mov edx,text mov esi,40 newline: - mov eax,4 - int 0x40 + mcall add ebx,16 add edx,40 cmp [edx],byte 'x' @@ -887,7 +881,7 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -921,7 +915,7 @@ text: db 'x' ; <- END MARKER, DONT DELETE -labelt db 'TFTP Client',0 +title db 'TFTP Client',0 prompt: dd 0 promptlen: dd 0 diff --git a/programs/network/ym/trunk/build_en.bat b/programs/network/ym/trunk/build_en.bat index 8a2af3d7e9..057c7bd811 100644 --- a/programs/network/ym/trunk/build_en.bat +++ b/programs/network/ym/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm ym.asm ym +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/ym/trunk/build_ru.bat b/programs/network/ym/trunk/build_ru.bat index a46f5ce105..41ba85ed7b 100644 --- a/programs/network/ym/trunk/build_ru.bat +++ b/programs/network/ym/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm ym.asm ym +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/network/ym/trunk/ym.asm b/programs/network/ym/trunk/ym.asm index 8a0aa379a2..f5fc822eec 100644 --- a/programs/network/ym/trunk/ym.asm +++ b/programs/network/ym/trunk/ym.asm @@ -14,6 +14,7 @@ use32 ;E:. include 'lang.inc' +include '..\..\..\macros.inc' ;B+ Definitions v_sp equ 330 h_sp equ 400 @@ -31,6 +32,12 @@ text_zone equ sys_colors+4*10 START: ;B+ Main execution + + mov ebx,3 + mov ecx,sys_colors + mov edx,10*4 + mov eax,48 + mcall call clear_text @@ -39,7 +46,7 @@ red: still: mov ebx,50 mov eax,23 - int 0x40 + mcall cmp eax,1 je red @@ -54,7 +61,7 @@ still: key: mov eax,2 - int 0x40 + mcall cmp [is_connect],0 je still call send_key_string @@ -62,12 +69,12 @@ key: button: mov eax,17 - int 0x40 + mcall cmp ah,1 jne noclose - mov eax,-1 - int 0x40 + or eax,-1 + mcall jmp $ noclose: @@ -113,7 +120,7 @@ noclose: mov ecx,(v_sp-53) shl 16 + 10 mov edx,[sys_colors+4*5] mov eax,13 - int 0x40 + mcall popa ;show item @@ -145,30 +152,24 @@ noclose: draw_window: ;B+ Draw window - mov ebx,3 - mov ecx,sys_colors - mov edx,10*4 - mov eax,48 - int 0x40 - mov ebx,1 mov eax,12 - int 0x40 + mcall xor eax,eax ;DRAW WINDOW mov ebx,150*65536+h_sp mov ecx,100*65536+v_sp mov edx,[sys_colors+4*5] or edx,0x13000000 - mov edi,header - int 0x40 + mov edi,title + mcall ;B+ Friend panel mov ebx,(h_sp-fr_sp) shl 16 + 3 mov ecx,20 shl 16 + v_sp-31 -56 mov edx,[sys_colors+4*9] mov eax,13 - int 0x40 + mcall call show_friends ;E:. @@ -177,12 +178,12 @@ draw_window: mov ecx,(v_sp-31 -33-3) shl 16 + 3 mov edx,[sys_colors+4*9] mov eax,13 - int 0x40 + mcall mov ebx,(h_sp-(fr_sp-12)*8/6) shl 16 + 4 mov ecx,(v_sp-31-33) shl 16 + 30 - int 0x40 + mcall mov ebx,(h_sp-8) shl 16 + 4 - int 0x40 + mcall call show_a_friend call show_string ;E:. @@ -192,14 +193,14 @@ draw_window: mov ecx,(v_sp-35) shl 16 + 31 mov edx,[sys_colors+4*9] mov eax,13 - int 0x40 + mcall mov ebx,(5+2+8+(user_txt_end-user_txt)*6) shl 16 + 6*15+7 mov ecx,(v_sp-32) shl 16 + 12 mov edx,[sys_colors+4*5] - int 0x40 + mcall mov ebx,(171+2+8+(psw_txt_end-psw_txt)*6) shl 16 + 6*23+7 mov ecx,(v_sp-32) shl 16 + 12 - int 0x40 + mcall ;connect button mov ebx,(h_sp-128) shl 16 + (con_txt_end-con_txt)*6 + 7 @@ -207,21 +208,21 @@ draw_window: mov edx,101 mov esi,[sys_colors+4*6] mov eax,8 - int 0x40 + mcall ;disconnect button shl ebx,16 add ebx,(h_sp-128+3) shl 16 + (dis_txt_end-dis_txt)*6 + 7 mov edx,102 - int 0x40 + mcall ;user button mov ebx,8 shl 16 + (user_txt_end-user_txt)*6 + 5 mov ecx,(v_sp-18-15) shl 16 + 12 mov edx,103 - int 0x40 + mcall ;password button mov ebx,174 shl 16 + (psw_txt_end-psw_txt)*6 + 5 mov edx,104 - int 0x40 + mcall ;login text mov ebx,11 shl 16 + v_sp-15 @@ -229,27 +230,27 @@ draw_window: mov edx,login_txt mov esi,login_txt_end-login_txt mov eax,4 - int 0x40 + mcall ;user text mov ebx,11 shl 16 + v_sp-15-15 mov edx,user_txt mov esi,user_txt_end-user_txt - int 0x40 + mcall ;password text mov ebx,(174+5) shl 16 + v_sp-15-15 mov edx,psw_txt mov esi,psw_txt_end-psw_txt - int 0x40 + mcall ;connect text mov ebx,(h_sp-128+5) shl 16 + v_sp-15 mov edx,con_txt mov esi,con_txt_end-con_txt - int 0x40 + mcall ;disconnect text add ebx,((con_txt_end-con_txt)*6+8 + 3) shl 16 mov edx,dis_txt mov esi,dis_txt_end-dis_txt - int 0x40 + mcall call show_username call show_password @@ -259,7 +260,7 @@ draw_window: mov ebx,2 mov eax,12 - int 0x40 + mcall ret ;E:. @@ -282,7 +283,7 @@ show_friends: .next_button: call test_friend jc .no_b - int 0x40 + mcall inc edx .no_b: inc edi @@ -318,11 +319,11 @@ show_friends: call hi_light jne .no_online mov ecx,[sys_colors+4*7] - ;int 0x40 + ;mcall ;or ecx,0x10000000 .no_online: ;sub ebx,1 shl 16 - int 0x40 + mcall ;and ecx,not 0x10000000 .no_item: add ebx,15 @@ -352,7 +353,7 @@ show_friends: jne .no_group sub ebx,12 shl 16 .no_group: - int 0x40 + mcall add ebx,15 inc edi cmp edi,[last_friend_line] @@ -425,7 +426,7 @@ show_text: .next_line: cmp [edx-1],byte 0 jne .shift - int 0x40 + mcall .next: add ebx,10 add edx,45 @@ -435,7 +436,7 @@ show_text: ret .shift: add ebx,3 shl 16 - int 0x40 + mcall sub ebx,3 shl 16 jmp .next @@ -457,7 +458,7 @@ rep stosb mov ecx,(25-2) shl 16 + 24*10-2 +2 mov edx,[sys_colors+4*5] mov eax,13 - int 0x40 + mcall ;show text call show_text popa @@ -508,14 +509,14 @@ rep movsb mov edx,[.m_p] mov esi,line_wid mov eax,4 - int 0x40 + mcall add ebx,3 shl 16 .next_line: add ebx,10 add edx,line_wid cmp [edx-1],byte 0 je .good3 - int 0x40 + mcall jmp .next_line .good3: mov [.m_p],edx @@ -532,7 +533,7 @@ show_a_friend: mov edx,[f_name_b] mov esi,[f_name_l] mov eax,4 - int 0x40 + mcall ret f_name_b dd fnb @@ -570,7 +571,7 @@ send_key_string: mov edx,.this_c mov esi,1 mov eax,4 - int 0x40 + mcall ; cmp [.c_pl],41 je .new_line @@ -615,7 +616,7 @@ send_key_string: mov edx,.this_c mov esi,1 mov eax,4 - int 0x40 + mcall mov ebx,[.c_pl] mov [in_text+ebx],byte 0 jmp show_cursor @@ -649,7 +650,7 @@ rep stosd mov ecx,(v_sp-31 -33) shl 16 + 29 mov edx,[sys_colors+4*5] mov eax,13 - int 0x40 + mcall ;; move cursor mov ebx,7 shl 16 + v_sp-62 mov [send_key_string.xy],ebx @@ -671,16 +672,16 @@ show_cursor: mov edx,curs mov esi,1 mov eax,4 - int 0x40 + mcall add ebx,4 - int 0x40 + mcall mov ebx,[send_key_string.xy] mov [.old_xy],ebx sub ebx,3 shl 16 + 2 mov ecx,0xffffff;[sys_colors+4*8] - int 0x40 + mcall add ebx,4 - int 0x40 + mcall ret .old_xy dd 7 shl 16 + v_sp-62 @@ -692,13 +693,13 @@ show_string: mov edx,in_text mov esi,41 mov eax,4 - int 0x40 + mcall add ebx,2 shl 16 + 9 add edx,41 - int 0x40 + mcall add ebx,9 add edx,41 - int 0x40 + mcall call show_cursor ret @@ -837,7 +838,7 @@ rep stosb ;get enen mov eax,10 - int 0x40 + mcall cmp eax,1 je .end @@ -846,7 +847,7 @@ rep stosb ;key mov eax,2 - int 0x40 + mcall cmp ah,13 je .end @@ -887,7 +888,7 @@ rep stosb mov edx,f_password mov esi,4 mov eax,4 - int 0x40 + mcall jmp still .unp dd username @@ -897,14 +898,14 @@ show_username: mov ecx,(v_sp-15-15) shl 16 + 9 mov edx,[sys_colors+4*5] mov eax,13 - int 0x40 + mcall ;show mov ebx,(4+12*6) shl 16 + v_sp-15-15 mov ecx,[sys_colors+4*8] mov edx,username mov esi,16 mov eax,4 - int 0x40 + mcall ret username: times (16+1) db 0 @@ -925,12 +926,12 @@ rep stosb mov edx,f_password mov esi,4 mov eax,4 - int 0x40 + mcall .next: ;get enen mov eax,10 - int 0x40 + mcall cmp eax,1 je still @@ -939,7 +940,7 @@ rep stosb ;key mov eax,2 - int 0x40 + mcall cmp [.unp],password+24 je .no_next @@ -965,7 +966,7 @@ show_password: mov edx,f_password mov esi,4 mov eax,4 - int 0x40 + mcall .end: ret @@ -1047,7 +1048,7 @@ times 200 db 0 ;del ;del last_friend_line dd 0x6 ;del -header db 'Messenger (Yahoo Compatible)',0 +title db 'Messenger (Yahoo Compatible)',0 ;User / Password login_txt db 'STATUS: SESSION: ___.___.___.___' diff --git a/programs/other/archer/trunk/@RCHER.ASM b/programs/other/archer/trunk/@RCHER.ASM index 1af15e0f7a..2d9fbab0d3 100644 --- a/programs/other/archer/trunk/@RCHER.ASM +++ b/programs/other/archer/trunk/@RCHER.ASM @@ -77,7 +77,7 @@ if PARAM_PTR eq param end if ;match =meos,SYS ;{ - include "macros.inc" + include "..\..\..\macros.inc" ; purge mov include "debug.inc" include 'dump.inc' diff --git a/programs/other/archer/trunk/arcmacro.inc b/programs/other/archer/trunk/arcmacro.inc index 8347f895aa..238f0fd6c6 100644 --- a/programs/other/archer/trunk/arcmacro.inc +++ b/programs/other/archer/trunk/arcmacro.inc @@ -302,7 +302,7 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,1024+16 ; size - int 0x40 + mcall mcall 40,1000111b ; @@ -317,7 +317,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall dec eax jz mred dec eax @@ -360,11 +360,11 @@ mkey: jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still cmp [dlg_pid_get],dword 1 diff --git a/programs/other/archer/trunk/debug.inc b/programs/other/archer/trunk/debug.inc index f967f36cbe..0efb67985c 100644 --- a/programs/other/archer/trunk/debug.inc +++ b/programs/other/archer/trunk/debug.inc @@ -55,7 +55,7 @@ debug_outchar: ; al - char mov cl,al mov eax,63 mov ebx,1 - int 0x40 + mcall popad popf ret diff --git a/programs/other/archer/trunk/macros.inc b/programs/other/archer/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/other/archer/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/other/archer/trunk/sys.inc b/programs/other/archer/trunk/sys.inc index 3543a060f7..a1f9fdb590 100644 --- a/programs/other/archer/trunk/sys.inc +++ b/programs/other/archer/trunk/sys.inc @@ -168,7 +168,7 @@ ofstruc_end: add esi,30 mcall 67 mcall 7,outfile,[outfile.size],10 shl 16+15 - .ex: + .ext: ret MIN_WIDTH equ 300 diff --git a/programs/other/calc/trunk/calc.asm b/programs/other/calc/trunk/calc.asm index 236761a261..0169a8b0eb 100644 --- a/programs/other/calc/trunk/calc.asm +++ b/programs/other/calc/trunk/calc.asm @@ -1,14 +1,14 @@ ;; Calculator for MenuetOS (c) Ville Turjanmaa ;; -;; Compile with FASM for Menuet +;; Compile with FASM ;; -;; Pavel Rymovski (Heavyiron) - kolibri version +;; Pavel Rymovski (Heavyiron) - version for KolibriOS +;; ;; What's new: ;; Calc 1.1 ;; 1) changed design ;; 2) new procedure of draw window (10 decimal digits, 23 binary, "+" not displayed now) ;; 3) window with skin -;; 4) used macroses ;; Calc 1.2 ;; 1)added some useful functions, such as arcsin, arccos, arctg, 1/x, x^2 ;; Calc 1.31 @@ -31,7 +31,7 @@ use32 dd 0x1000 ; esp dd 0x0,0x0 ; I_Param , I_Icon -include 'macros.inc' +include '..\..\..\macros.inc' START: @@ -39,29 +39,30 @@ START: mov ebx,3 mov ecx,sc mov edx,sizeof.system_colors - int 0x40 + mcall -red: + red: call draw_window -still: + still: push 10 pop eax - int 40h - dec eax + mcall + + dec eax jz red dec eax jz key -button: + button: mov al,17 ; получить идентификатор нажатой кнопки - int 0x40 + mcall shr eax,8 jmp testbut -key: + key: mov al,2 ; получить ASCII-код нажатой клавиши - int 0x40 + mcall shr eax,8 mov edi,asci ; перевод ASCII в идентификатор кнопки mov ecx,18 @@ -78,7 +79,7 @@ key: cmp eax,1 ; кнопка 1 - закрытие программы jne noclose or eax,-1 - int 0x40 + mcall noclose: cmp eax,2 @@ -649,15 +650,15 @@ draw_window: mov eax,12 mov ebx,1 - int 0x40 + mcall xor eax,eax mov ebx,200 shl 16+255 mov ecx,200 shl 16+180 mov edx,[sc.work] or edx,0x33000000 - mov edi,header - int 0x40 + mov edi,title + mcall mov eax,8 mov ebx,19 shl 16+28 @@ -672,7 +673,7 @@ draw_window: mov ebx,19 shl 16+28 add ecx,20 shl 16 no_new_row: - int 0x40 + mcall add ebx,30 shl 16 inc edx cmp edx,39 @@ -687,7 +688,7 @@ draw_window: mov edx,text mov esi,33 newline: - int 0x40 + mcall add ebx,20 add edx,33 cmp [edx],byte 'x' @@ -697,7 +698,7 @@ draw_window: mov eax,12 mov ebx,2 - int 0x40 + mcall ret @@ -712,7 +713,7 @@ print_display: mov edx,calc mov esi,1 mov edi,[sc.work] - int 0x40 + mcall mov ebx,198 shl 16+8 mov edx,[display_type] @@ -720,7 +721,7 @@ print_display: add edx,display_type_text mov esi,3 mov edi,[sc.work] - int 0x40 + mcall cmp [dsign],byte '+' je positive @@ -728,7 +729,7 @@ print_display: mov ecx,0x0 mov edx,dsign mov esi,1 - int 0x40 + mcall positive: cmp [display_type],0 @@ -740,20 +741,20 @@ positive: mov ecx,0x0 mov edx,dot mov esi,1 - int 0x40 + mcall mov eax,47 mov ebx,10 shl 16 mov ecx,[integer] mov edx,120 shl 16+22 mov esi,0x0 - int 0x40 + mcall mov ebx,6 shl 16 mov ecx,[decimal] mov edx,187 shl 16+22 mov esi,0x0 - int 0x40 + mcall popa ret @@ -763,7 +764,7 @@ whole: mov ecx,0x0 mov edx,dot mov esi,1 - int 0x40 + mcall cmp [integer],0 je null @@ -773,7 +774,7 @@ whole: mov ecx,[integer] mov edx,160 shl 16+22 mov esi,0x0 - int 0x40 + mcall popa ret @@ -789,7 +790,7 @@ whole: mov ecx,[integer] mov edx,173 shl 16+22 mov esi,0x0 - int 0x40 + mcall popa ret @@ -803,7 +804,7 @@ whole: mov ecx,[integer] mov edx,32 shl 16+22 mov esi,0x0 - int 0x40 + mcall popa ret @@ -814,7 +815,7 @@ whole: mov ecx,0 mov edx,214 shl 16+22 mov esi,0x0 - int 0x40 + mcall popa ret @@ -843,34 +844,34 @@ clear_all: ;data -header db appname,version,0 +title db appname,version,0 display_type dd 0 ; 0 = decimal, 1 = hexadecimal, 2= binary entry_multiplier dd 10 display_type_text db 'dec hex bin' dot db '.' -calc db ' ' -integer dd 0 -decimal dd 0 -kymppi dd 10 +calc db ' ' +integer dd 0 +decimal dd 0 +kymppi dd 10 ten dd 10.0,0 -tmp dw 1,0 -sign db 1,0 -tmp2 dq 0x0,0 -exp dd 0x0,0 -new_dec dd 100000,0 -id db 0x0,0 +tmp dw 1,0 +sign db 1,0 +tmp2 dq 0x0,0 +exp dd 0x0,0 +new_dec dd 100000,0 +id db 0x0,0 res dd 0 -trans1 dq 0 -trans2 dq 0 -controlWord dw 1 -multipl: dd 10,16,2 +trans1 dq 0 +trans2 dq 0 +controlWord dw 1 +multipl: dd 10,16,2 dsign: -muuta1 db '+0000000000.000000' -muuta2 db '+0000000000.000000' -muuta0 db '+0000000000.000000' +muuta1 db '+0000000000.000000' +muuta2 db '+0000000000.000000' +muuta0 db '+0000000000.000000' text: db ' A B C D E F C ' @@ -885,4 +886,4 @@ butid: db 12,13,14,19,20,21,26,27,28,34,15,39,22,36,29,35,35,1 I_END: -sc system_colors +sc system_colors \ No newline at end of file diff --git a/programs/other/calc/trunk/macros.inc b/programs/other/calc/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/other/calc/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/other/mhc/trunk/macros.inc b/programs/other/mhc/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/other/mhc/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/other/mhc/trunk/mhc.asm b/programs/other/mhc/trunk/mhc.asm index 01d4e937fc..36f289a6a0 100644 --- a/programs/other/mhc/trunk/mhc.asm +++ b/programs/other/mhc/trunk/mhc.asm @@ -40,7 +40,7 @@ use32 dd 0x0 include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' ; CODE AREA ENTRANCE: @@ -53,7 +53,7 @@ ENTRANCE: still: mov eax,10 ; wait for event - int 0x40 + mcall cmp eax,1 ; redraw? jnz no_redraw @@ -72,7 +72,7 @@ ENTRANCE: key: mov eax,2 ; read it - int 0x40 + mcall shr eax,8 cmp byte [editstate],0 @@ -132,12 +132,12 @@ ENTRANCE: button: mov eax,17 - int 0x40 + mcall cmp ah,1 jnz no_quit mov eax,-1 - int 0x40 + mcall no_quit: cmp ah,4 @@ -181,7 +181,7 @@ ENTRANCE: pusha mov eax,32 mov ebx,iofile - int 0x40 + mcall popa no_delete_io: @@ -190,7 +190,7 @@ ENTRANCE: pusha mov eax,32 mov ebx,cmfile - int 0x40 + mcall popa no_delete_archive: @@ -202,7 +202,7 @@ ENTRANCE: mov eax,12 ; Start redrawing mov ebx,1 - int 0x40 + mcall xor eax,eax ; Define window mov ebx,100*65536+240 @@ -210,25 +210,25 @@ ENTRANCE: mov edx,0x03AAAAAA mov esi,0x80777777 mov edi,0x00777777 - int 0x40 + mcall mov eax,4 ; Draw all needed texts mov ebx,8*65536+8 mov ecx,0x00FFFFFF mov edx,title mov esi,arclab-title - int 0x40 + mcall xor ecx,ecx mov edx,arclab mov esi,unplab-arclab add ebx,10*65536+28 - int 0x40 + mcall mov edx,unplab mov esi,fin_text-unplab add ebx,18 - int 0x40 + mcall pusha @@ -237,35 +237,35 @@ ENTRANCE: ; mov ecx,6*65536+10 ; mov edx,1 ; mov esi,0x555555 -; int 0x40 +; mcall mov eax,8 mov ebx,15*65536+100 mov ecx,70*65536+13 mov edx,2 - int 0x40 + mcall inc edx add ebx,110*65536 - int 0x40 + mcall inc edx mov ebx,214*65536+11 mov ecx,33*65536+11 - int 0x40 + mcall inc edx add ecx,18*65536 - int 0x40 + mcall inc edx mov ebx,15*65536+100 mov ecx,86*65536+13 - int 0x40 + mcall inc edx add ebx,110*65536 - int 0x40 + mcall popa @@ -273,18 +273,18 @@ ENTRANCE: mov edx,keylab mov esi,dellab-keylab add ebx,19 - int 0x40 + mcall mov edx,dellab mov esi,title-dellab add ebx,16 - int 0x40 + mcall call draw_info mov eax,12 ; Finish redrawing mov ebx,2 - int 0x40 + mcall ret @@ -298,7 +298,7 @@ ENTRANCE: mov ebx,127*65536+85 mov ecx,33*65536+33 mov edx,0x00AAAAAA - int 0x40 + mcall mov eax,4 ; Draw filenames mov ebx,134*65536+36 @@ -309,7 +309,7 @@ ENTRANCE: jnz no_active_1 mov ecx,activecolor no_active_1: - int 0x40 + mcall xor ecx,ecx cmp byte [editstate],2 jnz no_active_2 @@ -317,13 +317,13 @@ ENTRANCE: no_active_2: add ebx,18 add edx,12 - int 0x40 + mcall mov eax,13 ; Clean info area mov ebx,14*65536+210 mov ecx,107*65536+14 mov edx,0x00AAAAAA - int 0x40 + mcall cmp byte [msgid],0 ; Draw info string jz notype @@ -338,7 +338,7 @@ ENTRANCE: mov dx,ax add edx,msgtable mov eax,4 - int 0x40 + mcall notype: popa ; Restore registers @@ -409,7 +409,7 @@ ENTRANCE: mov edx,ecx not edx mov esi,ifile - int 0x40 + mcall cmp eax,0xFFFFFFFF jnz compress_filefound ; i/o file not found @@ -429,14 +429,14 @@ ENTRANCE: mov eax,32 mov ebx,cmfile - int 0x40 + mcall mov eax,33 pop edx mov ebx,cmfile mov ecx,ofile xor esi,esi - int 0x40 + mcall mov byte [msgid],0 call draw_info @@ -454,7 +454,7 @@ ENTRANCE: mov edx,ecx not edx mov esi,ofile - int 0x40 + mcall cmp eax,0xFFFFFFFF jnz decompress_filefound ; *.mhc file not found @@ -481,14 +481,14 @@ ENTRANCE: mov eax,32 mov ebx,iofile - int 0x40 + mcall mov eax,33 pop edx mov ebx,iofile mov ecx,ifile xor esi,esi - int 0x40 + mcall mov byte [msgid],0 call draw_info diff --git a/programs/other/period/trunk/MACROS.INC b/programs/other/period/trunk/MACROS.INC deleted file mode 100644 index 14185dbfce..0000000000 --- a/programs/other/period/trunk/MACROS.INC +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/other/period/trunk/period.asm b/programs/other/period/trunk/period.asm index 111ee25440..7116860628 100644 --- a/programs/other/period/trunk/period.asm +++ b/programs/other/period/trunk/period.asm @@ -9,7 +9,7 @@ ;; ;; макрос для создания массива указателей на ASCIIZ-строки -include 'macros.inc' +include '..\..\..\macros.inc' macro strtbl name,[string] { common @@ -36,32 +36,40 @@ use32 re_ID dd 0x00000001 ;для хранения номера текущего выводимого элемента START: + + mov eax,48 + mov ebx,3 + mov ecx,sc + mov edx,sizeof.system_colors + mcall + red: call draw_window still: ;основной цикл программы - push 10 ;ожидание события + push 10 ;ожидание события pop eax - int 0x40 - dec eax + mcall + + dec eax je red dec eax jne button key: mov al,2 - int 0x40 + mcall jmp still button: mov al,17 ;получаем ID нажатой кнопки - int 0x40 + mcall shr eax,8 ; eax=24-битный ButtonID cmp eax,1 ;нажата ли "Закрыть" [x] jne noclose or eax,-1 - int 0x40 + mcall noclose: cmp eax,200 @@ -70,91 +78,85 @@ noclose: no_H: mov [re_ID],eax ;; - call VYVOD + call draw_text ;; jmp still draw_window: - mov eax,48 - mov ebx,3 - mov ecx,sc - mov edx,sizeof.system_colors - int 0x40 - - mov eax,12 ;begin drawing + mov eax,12 ;begin drawing xor ebx,ebx inc ebx - int 0x40 + mcall ; DRAW WINDOW xor eax,eax - mov ebx,50*65536+550 ;x - mov ecx,30*65536+450 ;y + mov ebx,50*65536+555 ;x + mov ecx,30*65536+455 ;y mov edx,[sc.work] - or edx,0x13000000 ;style - mov edi,Caption - int 0x40 + or edx,0x33000000 ;style + mov edi,caption + mcall -Nadpisi_v_okne: +text_in_window: mov eax,4 ;вывод текста mov ecx,0x80000000 ;asciiz, ЦВЕТ !!! - mov ebx,40*65536+225 ;лантаноиды + mov ebx,40*65536+200 ;лантаноиды mov edx,Lantanoid_text - int 0x40 + mcall add ebx,20 ;актиноиды mov edx,Actinoid_text - int 0x40 + mcall - mov ebx,150*65536+280 - mov edx,Por_nomer - int 0x40 + mov ebx,150*65536+255 + mov edx,number + mcall add ebx,15 - mov edx,Nazvanie - int 0x40 + mov edx,name + mcall add ebx,15 - mov edx,Angl_nazv - int 0x40 + mov edx,eng_name + mcall add ebx,15 mov edx,Atomic_massa - int 0x40 + mcall add ebx,15 - mov edx,Plotnost_caption - int 0x40 + mov edx,density + mcall add ebx,15 mov edx,Step_okisl - int 0x40 + mcall add ebx,15 mov edx,Electrootr - int 0x40 + mcall add ebx,15 mov edx,T_pl - int 0x40 + mcall add ebx,15 mov edx,T_kip - int 0x40 + mcall add ebx,15 mov edx,Raspr - int 0x40 + mcall add ebx,15 mov edx,Otkrytie - int 0x40 + mcall ; ВЫВОД НОМЕРОВ ПЕРИОДОВ - mov ebx,30*65536+68 + mov ebx,30*65536+43 mov edx,Period_text ;1 - int 0x40 + mcall call @f ;2 call @f ;3 @@ -167,393 +169,393 @@ Nadpisi_v_okne: @@: add ebx,20 add edx,4 ;т.к. строка = 4 байтам(с нулём) - int 0x40 + mcall ret Table: ;Отрисовка таблицы в виде конопочек - table_rjad_1: + table_row_1: shl eax,1 mov ebx,50*65536+25 - mov ecx,60*65536+20 + mov ecx,35*65536+20 mov edx,200 mov esi,0xE19123 - int 0x40 + mcall He_: mov ebx,491*65536+25 mov esi,0x0f0c314 mov edx,2 - int 0x40 - table_rjad_2: + mcall + table_row_2: Li: mov ebx,50*65536+25 - mov ecx,81*65536+20 + mov ecx,56*65536+20 mov esi,0xE19123 inc edx - int 0x40 + mcall Be: mov ebx,76*65536+25 inc edx - int 0x40 + mcall B_: mov ebx,361*65536+25 inc edx mov esi,0x0f0c314 - int 0x40 + mcall mov edi,4 - table_rjad_2_loop: + table_row_2_loop: add ebx,26*65536 inc edx - int 0x40 + mcall dec edi - jns table_rjad_2_loop - table_rjad_3: + jns table_row_2_loop + table_row_3: Na: mov ebx,50*65536+25 - mov ecx,102*65536+20 + mov ecx,77*65536+20 mov esi,0xE19123 inc edx - int 0x40 + mcall mov ebx,76*65536+25 inc edx - int 0x40 + mcall mov ebx,361*65536+25 inc edx mov esi,0x0f0c314 - int 0x40 + mcall mov edi,4 - table_rjad_3_loop: + table_row_3_loop: add ebx,26*65536 inc edx - int 0x40 + mcall dec edi - jns table_rjad_3_loop + jns table_row_3_loop - Table_rjad_4: + Table_row_4: K_: mov ebx,50*65536+25 - mov ecx,123*65536+20 + mov ecx,98*65536+20 mov esi,0xE19123 inc edx - int 0x40 + mcall Ca: mov ebx,76*65536+25 inc edx - int 0x40 + mcall Sc: mov ebx,102*65536+25 inc edx mov esi,0x559beb - int 0x40 + mcall mov edi,8 - Table_rjad_4_loop1: + Table_row_4_loop1: add ebx,26*65536 inc edx - int 0x40 + mcall dec edi - jns Table_rjad_4_loop1 + jns Table_row_4_loop1 mov ebx,361*65536+25 inc edx mov esi,0x0f0c314 - int 0x40 + mcall mov edi,4 - table_rjad_4_loop2: + table_row_4_loop2: add ebx,26*65536 inc edx - int 0x40 + mcall dec edi - jns table_rjad_4_loop2 + jns table_row_4_loop2 - Table_rjad_5: + Table_row_5: Rb_: mov ebx,50*65536+25 - mov ecx,144*65536+20 + mov ecx,119*65536+20 mov esi,0xE19123 inc edx - int 0x40 + mcall Sr_: mov ebx,76*65536+25 inc edx - int 0x40 + mcall Y_: mov ebx,102*65536+25 inc edx mov esi,0x559beb - int 0x40 + mcall mov edi,8 - Table_rjad_5_loop1: + Table_row_5_loop1: add ebx,26*65536 inc edx - int 0x40 + mcall dec edi - jns Table_rjad_5_loop1 + jns Table_row_5_loop1 mov ebx,361*65536+25 inc edx mov esi,0x0f0c314 - int 0x40 + mcall mov edi,4 - table_rjad_5_loop2: + table_row_5_loop2: add ebx,26*65536 inc edx - int 0x40 + mcall dec edi - jns table_rjad_5_loop2 + jns table_row_5_loop2 - Table_rjad_6: + Table_row_6: Cs_: mov ebx,50*65536+25 - mov ecx,165*65536+20 + mov ecx,140*65536+20 mov esi,0xE19123 inc edx - int 0x40 + mcall Ba_: mov ebx,76*65536+25 inc edx - int 0x40 + mcall La_: mov ebx,102*65536+25 inc edx mov esi,0x559beb - int 0x40 + mcall mov edx,71 mov edi,8 - Table_rjad_6_loop1: + Table_row_6_loop1: add ebx,26*65536 inc edx - int 0x40 + mcall dec edi - jns Table_rjad_6_loop1 + jns Table_row_6_loop1 mov ebx,361*65536+25 inc edx mov esi,0x0f0c314 - int 0x40 + mcall mov edi,4 - table_rjad_6_loop2: + table_row_6_loop2: add ebx,26*65536 inc edx - int 0x40 + mcall dec edi - jns table_rjad_6_loop2 + jns table_row_6_loop2 - Table_rjad_7: + Table_row_7: Fr_: mov ebx,50*65536+25 - mov ecx,186*65536+20 + mov ecx,161*65536+20 mov esi,0xE19123 inc edx - int 0x40 + mcall Ra_: mov ebx,76*65536+25 inc edx - int 0x40 + mcall Ac_: mov ebx,102*65536+25 inc edx mov esi,0x559beb - int 0x40 + mcall mov edx,103 mov edi,8 - Table_rjad_7_loop1: + Table_row_7_loop1: add ebx,26*65536 inc edx - int 0x40 + mcall dec edi - jns Table_rjad_7_loop1 + jns Table_row_7_loop1 mov ebx,361*65536+25 inc edx mov esi,0x0f0c314 - int 0x40 + mcall mov edi,2 - table_rjad_7_loop2: + table_row_7_loop2: add ebx,26*65536 inc edx - int 0x40 + mcall dec edi - jns table_rjad_7_loop2 + jns table_row_7_loop2 - Rjad_1: + row_1: Cerium_: mov ebx,102*65536+25 - mov ecx,215*65536+20 + mov ecx,190*65536+20 mov edx,58 mov esi,0x73beeb - int 0x40 + mcall mov edi,12 - Rjad_1_loop: + row_1_loop: add ebx,26*65536 inc edx dec edi - int 0x40 - jns Rjad_1_loop - Rjad_2: + mcall + jns row_1_loop + row_2: dgfsfHe_: mov ebx,102*65536+25 - mov ecx,236*65536+20 + mov ecx,211*65536+20 mov edx,90 - int 0x40 + mcall mov edi,12 - Rjad_2_loop: + row_2_loop: add ebx,26*65536 inc edx dec edi - int 0x40 - jns Rjad_2_loop + mcall + jns row_2_loop -Nadpisi_na_knopkah: - nadp_rjad1: +text_on_buttons: + text_row1: ;H shr eax,1 - mov ebx,62*65536+68 + mov ebx,62*65536+43 mov ecx,0x00000000 mov edx,Symbols mov esi,3 - int 0x40 + mcall ;Ne - mov ebx,500*65536+68 + mov ebx,500*65536+43 add edx,3 - int 0x40 - nadp_rjad2_1: - mov ebx,60*65536+88 + mcall + text_row2_1: + mov ebx,60*65536+63 add edx,3 - int 0x40 + mcall - mov ebx,85*65536+88 + mov ebx,85*65536+63 add edx,3 - int 0x40 - nadp_rjad2_2: - mov ebx,374*65536+88 + mcall + text_row2_2: + mov ebx,374*65536+63 add edx,3 - int 0x40 + mcall mov edi,4 - nadp_rjad2_2_loop: + text_row2_2_loop: add ebx,25*65536 add edx,3 - int 0x40 + mcall dec edi - jns nadp_rjad2_2_loop - nadp_rjad3_1: - mov ebx,60*65536+108 + jns text_row2_2_loop + text_row3_1: + mov ebx,60*65536+83 add edx,3 - int 0x40 + mcall - mov ebx,85*65536+108 + mov ebx,85*65536+83 add edx,3 - int 0x40 - nadp_rjad3_2: - mov ebx,374*65536+108 + mcall + text_row3_2: + mov ebx,374*65536+83 add edx,3 - int 0x40 + mcall mov edi,4 - nadp_rjad3_2_loop: + text_row3_2_loop: add ebx,25*65536 add edx,3 - int 0x40 + mcall dec edi - jns nadp_rjad3_2_loop - nadp_rjad4: - mov ebx,60*65536+129 + jns text_row3_2_loop + text_row4: + mov ebx,60*65536+104 add edx,3 - int 0x40 + mcall mov edi,16 - nadp_rjad4_loop: + text_row4_loop: add ebx,26*65536 add edx,3 - int 0x40 + mcall dec edi - jns nadp_rjad4_loop - nadp_rjad5: - mov ebx,60*65536+150 + jns text_row4_loop + text_row5: + mov ebx,60*65536+125 add edx,3 - int 0x40 + mcall mov edi,16 - nadp_rjad5_loop: + text_row5_loop: add ebx,26*65536 add edx,3 - int 0x40 + mcall dec edi - jns nadp_rjad5_loop - nadp_rjad6: - mov ebx,60*65536+171 + jns text_row5_loop + text_row6: + mov ebx,60*65536+146 add edx,3 - int 0x40 + mcall mov edi,16 - nadp_rjad6_loop: + text_row6_loop: add ebx,26*65536 add edx,3 - int 0x40 + mcall dec edi - jns nadp_rjad6_loop - nadp_rjad7: - mov ebx,60*65536+192 + jns text_row6_loop + text_row7: + mov ebx,60*65536+167 add edx,3 - int 0x40 + mcall mov edi,9 - nadp_rjad7_loop: + text_row7_loop: add ebx,26*65536 add edx,3 - int 0x40 + mcall dec edi - jns nadp_rjad7_loop + jns text_row7_loop mov edi,4 - nadp_rjad7_loop2: + text_row7_loop2: add ebx,24*65536 add edx,3 - int 0x40 + mcall dec edi - jns nadp_rjad7_loop2 + jns text_row7_loop2 - nadp_rjad8: - mov ebx,111*65536+222 + text_row8: + mov ebx,111*65536+197 add edx,3 - int 0x40 + mcall mov edi,12 - nadp_rjad8_loop: + text_row8_loop: add ebx,26*65536 add edx,3 - int 0x40 + mcall dec edi - jns nadp_rjad8_loop + jns text_row8_loop - nadp_rjad9: - mov ebx,111*65536+242 + text_row9: + mov ebx,111*65536+217 add edx,3 - int 0x40 + mcall mov edi,12 - nadp_rjad9_loop: + text_row9_loop: add ebx,26*65536 add edx,3 - int 0x40 + mcall dec edi - jns nadp_rjad9_loop + jns text_row9_loop ;; - короче выносим в отдельную процедуру - call VYVOD + call draw_text ;; finish: mov eax,12 ;end drawing mov ebx,2 - int 0x40 + mcall ret -VYVOD: +draw_text: ; 1 вывод порядкового номера [optmzd-mem] ; 2 вывод русского названия [optmzd-mem] @@ -570,22 +572,21 @@ VYVOD: ;; - закраска, что-бы не было наложения при прорисовке текста mov eax,13 mov ebx,320*65536+210 - mov ecx,280*65536+(15*11) + mov ecx,255*65536+(15*11) mov edx,[sc.work] - int 0x40 + mcall ;; push edi ; чтобы оптимизировать изменения ebx ; 1 вывод порядкового номера [optmzd-mem] - xor ebx,ebx - or ebx,00000000000000110000000000000000b + mov ebx,0x30000 ;выводить 3 цифры mov ecx,[re_ID] - mov edx,320*65536+280+15*0 + mov edx,320*65536+255 xor esi,esi mov eax,47 - int 0x40 + mcall ;ВНИМАНИЕ! ЗДЕСЬ ЗАДАЁТСЯ ЦВЕТ ВСЕГО ОСТАЛЬНОГО ТЕКСТА! [сделано для сокращения кода на 20 байт :)))] mov ecx,[sc.work_text] ; ЦВЕТ @@ -594,7 +595,7 @@ VYVOD: ; 2 вывод РУССКОЕ НАЗВАНИЕ [optmzd-mem] mov edi,Rus_nazv ;указатель на начало массива указателей ;) - mov ebx,320*65536+280+15*0 ;здесь вносятся координаты, дальше будет лишь add ebx,15 + mov ebx,320*65536+255 ;здесь вносятся координаты, дальше будет лишь add ebx,15 call out_asciiz_item xor ecx,ecx ;color @@ -606,7 +607,7 @@ VYVOD: imul edi,esi ;считаем указатель на нужную строку add edx,edi add ebx,15 ; увеличиваем y-координату текста на 15 пикселей - int 0x40 + mcall ; 4 вывод атомной массы [optmzd-spd] mov edx,MassNo @@ -616,7 +617,7 @@ VYVOD: imul edi,esi ;считаем указатель на нужную строку add edx,edi add ebx,15 - int 0x40 + mcall mov ecx,0x80000000 ;asciiz, ЦВЕТ !!! ; 5 вывод ПЛОТНОСТЬ [optmzd-mem] @@ -636,7 +637,7 @@ VYVOD: shl edi,2 add edx,edi add ebx,15 - int 0x40 + mcall mov ecx,0x80000000 ;asciiz, ЦВЕТ !!! ; 8 вывод ТЕМПЕРАТУРА ПЛАВЛЕНИЯ [optmzd-mem] @@ -665,7 +666,7 @@ out_asciiz_item: shl edx,2 ;умножить на 4 (размер указателя) mov edx,[edx+edi] ;указатель на строку в edx add ebx,15 - int 0x40 + mcall ret ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -674,18 +675,18 @@ ret ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;---- begin ---- Данные для ГЛАВНОГО окна -------------------------- -Caption db 'Периодическая система Д.И.Менделеева by [navanax] & [Johnny_B]',0 -Plotnost_caption db 'Плотность',0 +caption db 'Периодическая система Д.И.Менделеева by [navanax] & [Johnny_B]',0 +density db 'Плотность',0 Atomic_massa db 'Атомная масса',0 -Nazvanie db 'Название',0 -Angl_nazv db 'Англ. название',0 +name db 'Название',0 +eng_name db 'Англ. название',0 T_pl db 'Температура пл.',0 T_kip db 'Температура кип.',0 Electrootr db 'Электроотрицательность',0 Raspr db 'Распределение в земн. коре',0 Step_okisl db 'Степень окисления',0 Otkrytie db 'Открытие',0 -Por_nomer db 'Порядковый номер',0 +number db 'Порядковый номер',0 Period_text: db ' I',0 db ' II',0 @@ -948,12 +949,12 @@ db 'Lr ' ;АТОМНАЯ МАССА MassNo: ;116 элементов -db '1.00797' ; 1 +db '1.00794' ; 1 db '4.0026 ' -db '6.939 ' -db '9.0122 ' +db '6.941 ' +db '9.01218' db '10.811 ' -db '12.0112' +db '12.0107' db '14.0067' db '15.9994' db '18.9984' @@ -961,21 +962,21 @@ db '20.179 ' ; 10 db '22.9898' db '24.305 ' db '26.9815' -db '28.086 ' +db '28.0855' db '30.9738' db '32.066 ' db '35.453 ' db '39.948 ' -db '39.102 ' -db '40.08 ' ; 20 -db '44.958 ' +db '39.0983' +db '40.078 ' ; 20 +db '44.9559' db '47.88 ' -db '50.942 ' +db '50.9415' db '51.996 ' db '54.938 ' db '55.847 ' db '58.9332' -db '58.69 ' +db '58.6934' db '63.546 ' db '65.39 ' ; 30 db '69.723 ' diff --git a/programs/other/rtfread/trunk/ascl.inc b/programs/other/rtfread/trunk/ascl.inc index 2810598da0..b3d4ce915c 100644 --- a/programs/other/rtfread/trunk/ascl.inc +++ b/programs/other/rtfread/trunk/ascl.inc @@ -48,14 +48,14 @@ open: mov dword [fileinfo+8],1 ; how many blocks to read (1) mov eax,58 mov ebx,fileinfo - int 0x40 + mcall mov eax,[file_load_area+2] shr eax,9 ; поделим на 512 и прибавим 1 - получим число блоков inc eax mov dword [fileinfo+8],eax mov eax,58 mov ebx,fileinfo - int 0x40 + mcall } @@ -90,7 +90,7 @@ asd: mov edx,id mov esi,bcolor mov eax,8 - int 0x40 + mcall mov eax,asd-lab ;calc size mov ebx,6 @@ -115,7 +115,7 @@ asd: mov edx,lab mov esi,asd-lab ;calc size mov eax,4 - int 0x40 + mcall } @@ -144,7 +144,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -178,12 +178,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,1024+16 ; size - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -191,7 +191,7 @@ new_d: mov eax,70 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -199,7 +199,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall dec eax jz mred dec eax @@ -213,14 +213,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -245,15 +245,15 @@ mred: jmp getmesloop mkey: mov eax,2 - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -355,7 +355,7 @@ mov [dlg_pid_get],0 mov eax,9 mov ebx,procinfo mov ecx,-1 - int 0x40 + mcall ; convert eax bin to param dec mov eax,dword [procinfo+30] ;offset of myPID @@ -389,12 +389,12 @@ new_d: mov ebx,1 ; define IPC mov ecx,path ; offset of area mov edx,1024+16 ; size - int 0x40 + mcall ; change wanted events list 7-bit IPC event mov eax,40 mov ebx,01000111b - int 0x40 + mcall ; ; STEP 3 run SYSTEM XTREE with parameters @@ -402,7 +402,7 @@ new_d: mov eax,70 mov ebx,run_fileinfo - int 0x40 + mcall call redproc @@ -410,7 +410,7 @@ new_d: getmesloop: mov eax,23 mov ebx,50 ;0.5 sec - int 0x40 + mcall dec eax jz mred dec eax @@ -424,14 +424,14 @@ getmesloop: mov ebx,procinfo mov ecx,-1 mov eax,9 - int 0x40 + mcall mov ebp,eax loox: mov eax,9 mov ebx,procinfo mov ecx,ebp - int 0x40 + mcall mov eax,[DLGPID] cmp [procinfo+30],eax ;IF Dialog find je dlg_is_work ;jmp to dlg_is_work @@ -456,15 +456,15 @@ mred: jmp getmesloop mkey: mov eax,2 - int 0x40 ; read (eax=2) + mcall ; read (eax=2) jmp getmesloop mbutton: mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne getmesloop mov eax,-1 ; close this program - int 0x40 + mcall mgetmes: ; If dlg_pid_get then second message get jmp to still @@ -617,7 +617,7 @@ rxproc: macro scank { mov eax,10 - int 0x40 + mcall } macro putpix x,y,color @@ -626,7 +626,7 @@ macro putpix x,y,color mov ecx,y mov edx,color mov eax,1 - int 0x40 + mcall } macro puttxt x,y,offs,size,color @@ -639,7 +639,7 @@ macro puttxt x,y,offs,size,color mov edx,offs mov esi,size mov eax,4 - int 0x40 + mcall } macro outcount data, x, y, color, numtype @@ -651,7 +651,7 @@ macro outcount data, x, y, color, numtype wordstoreg edx,x,y mov esi,color mov eax,47 - int 0x40 + mcall } ; SCEVENT - Scan event @@ -659,7 +659,7 @@ macro outcount data, x, y, color, numtype macro scevent red,key,but { mov eax,11 - int 0x40 + mcall dec eax jz red dec eax @@ -673,7 +673,7 @@ macro scevent red,key,but macro wtevent red,key,but { mov eax,10 - int 0x40 + mcall dec eax jz red dec eax @@ -688,7 +688,7 @@ macro timeevent xfps,noevent,red,key,but { mov eax,23 mov ebx,xfps - int 0x40 + mcall cmp eax,0 je noevent dec eax @@ -705,7 +705,7 @@ macro timeevent xfps,noevent,red,key,but macro close { mov eax,-1 - int 0x40 + mcall } ; DELAY - Create delay 1/100 sec @@ -716,7 +716,7 @@ macro delay arg1 { mov eax,5 mov ebx,arg1 - int 0x40 + mcall } ; WINDOW - Draw window @@ -731,7 +731,7 @@ macro window arg1,arg2,arg3,arg4,arg5 wordstoreg ecx,arg2,arg4 mov edx,arg5 mov eax,0 - int 0x40 + mcall } macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 @@ -742,7 +742,7 @@ macro colorwindow arg1,arg2,arg3,arg4,arg5,arg6,arg7 mov esi,arg6 mov edi,arg7 mov eax,0 - int 0x40 + mcall } @@ -752,7 +752,7 @@ macro startwd { mov eax,12 mov ebx,1 - int 0x40 + mcall } ; ENDWD - End window draw @@ -761,29 +761,13 @@ macro endwd { mov eax,12 mov ebx,2 - int 0x40 + mcall } ; LABEL - Put text to frame ; (SYNTAX) LABEL Xstart,Ystart,'Text',Color ; (SAMPLE) LABEL 10,12,'Hello World!',cl_Green+font_Big -macro label arg1,arg2,arg3,arg4 -{ -local asd,lab - jmp asd -lab db arg3 ;arg label -asd: -; mov ebx,arg1 ;arg1=y arg2=x -; shl ebx,16 -; add ebx,arg2 - wordstoreg ebx,arg1,arg2 - mov ecx,arg4 ;arg4 color - mov edx,lab - mov esi,asd-lab ;calc size - mov eax,4 - int 0x40 -} ;Key's key_Up equ 178 diff --git a/programs/other/rtfread/trunk/bgifont.inc b/programs/other/rtfread/trunk/bgifont.inc index c32527e35b..1678a00ba1 100644 --- a/programs/other/rtfread/trunk/bgifont.inc +++ b/programs/other/rtfread/trunk/bgifont.inc @@ -239,7 +239,7 @@ _BGIfont_Prepare: if ~ BGI_LEVEL eq KERNEL mov eax, 70 mov ebx, .fontattr - int 0x40 + mcall test eax, eax jnz .fail dps2 '1' @@ -247,7 +247,7 @@ if ~ BGI_LEVEL eq KERNEL mov [.fsize], eax mov ebx,.fontinfo mov eax,70 - int 0x40 ; ebx - file size + mcall ; ebx - file size else push edi esi edx mov eax,.font @@ -454,7 +454,7 @@ if ~ BGI_LEVEL eq KERNEL mov eax,9 mov ebx,BGI_PRC_INFO mov ecx,-1 - int 0x40 + mcall popa end if end if @@ -587,14 +587,14 @@ if ~ BGI_LEVEL eq KERNEL and edx, 0xFFFFFF ; \end{diamond}[18.08.2006] mov eax,38 - int 0x40 + mcall test ebp,BGI_BOLD jz .nobold test ebp,BGI_FREE jnz .free5 .free5: add ebx,1 shl 16+1 - int 0x40 + mcall .nobold: pop eax else diff --git a/programs/other/rtfread/trunk/debug.inc b/programs/other/rtfread/trunk/debug.inc index f967f36cbe..b1bb13cd13 100644 --- a/programs/other/rtfread/trunk/debug.inc +++ b/programs/other/rtfread/trunk/debug.inc @@ -55,7 +55,7 @@ debug_outchar: ; al - char mov cl,al mov eax,63 mov ebx,1 - int 0x40 + mcall popad popf ret @@ -67,7 +67,7 @@ debug_outstr: mov cl,[edx] test cl,cl jz @f - int 40h + mcall inc edx jmp @b @@: diff --git a/programs/other/rtfread/trunk/macros.inc b/programs/other/rtfread/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/other/rtfread/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/other/rtfread/trunk/rtfread.asm b/programs/other/rtfread/trunk/rtfread.asm index 6ea318923f..c39dc971ae 100644 --- a/programs/other/rtfread/trunk/rtfread.asm +++ b/programs/other/rtfread/trunk/rtfread.asm @@ -52,7 +52,7 @@ syms equ 12 dd fname_buf ; адрес буфера для параметров (не используется) dd 0x0 ; зарезервировано -include 'MACROS.INC' ; макросы облегчают жизнь ассемблерщиков! +include '..\..\..\MACROS.INC' ; макросы облегчают жизнь ассемблерщиков! include 'debug.inc' if ~ RENDER eq PIX TOP=TOP+4 @@ -94,7 +94,7 @@ START: mov eax, 70 and [fileattr+32], 0 mov ebx, attrinfo - int 0x40 + mcall mov ebx, [fileattr+32] test eax, eax jz .sizok @@ -132,11 +132,6 @@ still: je red ; если да - на метку red cmp eax,3 ; нажата кнопка ? je button ; если да - на button - cmp eax,2 ; нажата клавиша ? - je key ; если да - на key - - jmp still ; если другое событие - в начало цикла - ;--------------------------------------------------------------------- @@ -315,13 +310,13 @@ draw_window: mcall 0, <10,WINW>, <100,WINH>, WIN_COLOR,0x805080D0, 0x005080D0 mcall 9,procinfo,-1 - mov eax,[procinfo.x_size] + mov eax,[procinfo.box.left] cmp eax,1 ja .temp12345 ret .temp12345: - mcall 4, <8,8>, 0x10DDEEFF, header, headersize-header + mcall 4, <8,8>, 0x10DDEEFF, title, titlesize-title mov esi,ecx mcall 47,0x30000,isymImplemented,<114,8> add edx,36 shl 16 @@ -483,10 +478,10 @@ end if ; интерфейс программы многоязычный ; Вы можете задать язык в MACROS.INC (lang fix язык) -procinfo process_information -header: + +title: db 'RTF READER v1. ( ):' -headersize: +titlesize: btn_text: if RENDER eq FREE db '+ - ' @@ -606,6 +601,8 @@ szKeyword rb 31 szParameter rb 21 block_end dd ? I_END: ; метка конца программы + +procinfo process_information rb RTFSIZE esp1: rb ESPSIZE diff --git a/programs/develop/tinypad/trunk/struct.inc b/programs/struct.inc similarity index 97% rename from programs/develop/tinypad/trunk/struct.inc rename to programs/struct.inc index fea1819aa6..947a84e89a 100644 --- a/programs/develop/tinypad/trunk/struct.inc +++ b/programs/struct.inc @@ -1,180 +1,180 @@ - -; Macroinstructions for defining data structures - -macro struct name - { fields@struct equ name - match child parent, name \{ fields@struct equ child,fields@\#parent \} - sub@struct equ - struc db [val] \{ \common fields@struct equ fields@struct,.,db, \} - struc dw [val] \{ \common fields@struct equ fields@struct,.,dw, \} - struc du [val] \{ \common fields@struct equ fields@struct,.,du, \} - struc dd [val] \{ \common fields@struct equ fields@struct,.,dd, \} - struc dp [val] \{ \common fields@struct equ fields@struct,.,dp, \} - struc dq [val] \{ \common fields@struct equ fields@struct,.,dq, \} - struc dt [val] \{ \common fields@struct equ fields@struct,.,dt, \} - struc rb count \{ fields@struct equ fields@struct,.,db,count dup (?) \} - struc rw count \{ fields@struct equ fields@struct,.,dw,count dup (?) \} - struc rd count \{ fields@struct equ fields@struct,.,dd,count dup (?) \} - struc rp count \{ fields@struct equ fields@struct,.,dp,count dup (?) \} - struc rq count \{ fields@struct equ fields@struct,.,dq,count dup (?) \} - struc rt count \{ fields@struct equ fields@struct,.,dt,count dup (?) \} - macro db [val] \{ \common \local anonymous - fields@struct equ fields@struct,anonymous,db, \} - macro dw [val] \{ \common \local anonymous - fields@struct equ fields@struct,anonymous,dw, \} - macro du [val] \{ \common \local anonymous - fields@struct equ fields@struct,anonymous,du, \} - macro dd [val] \{ \common \local anonymous - fields@struct equ fields@struct,anonymous,dd, \} - macro dp [val] \{ \common \local anonymous - fields@struct equ fields@struct,anonymous,dp, \} - macro dq [val] \{ \common \local anonymous - fields@struct equ fields@struct,anonymous,dq, \} - macro dt [val] \{ \common \local anonymous - fields@struct equ fields@struct,anonymous,dt, \} - macro rb count \{ \local anonymous - fields@struct equ fields@struct,anonymous,db,count dup (?) \} - macro rw count \{ \local anonymous - fields@struct equ fields@struct,anonymous,dw,count dup (?) \} - macro rd count \{ \local anonymous - fields@struct equ fields@struct,anonymous,dd,count dup (?) \} - macro rp count \{ \local anonymous - fields@struct equ fields@struct,anonymous,dp,count dup (?) \} - macro rq count \{ \local anonymous - fields@struct equ fields@struct,anonymous,dq,count dup (?) \} - macro rt count \{ \local anonymous - fields@struct equ fields@struct,anonymous,dt,count dup (?) \} - macro union \{ fields@struct equ fields@struct,,union,< - sub@struct equ union \} - macro struct \{ fields@struct equ fields@struct,,substruct,< - sub@struct equ substruct \} - virtual at 0 } - -macro ends - { match , sub@struct \{ restruc db,dw,du,dd,dp,dq,dt - restruc rb,rw,rd,rp,rq,rt - purge db,dw,du,dd,dp,dq,dt - purge rb,rw,rd,rp,rq,rt - purge union,struct - match name=,fields,fields@struct \\{ fields@struct equ - make@struct name,fields - fields@\\#name equ fields \\} - end virtual \} - match any, sub@struct \{ fields@struct equ fields@struct> \} - restore sub@struct } - -macro make@struct name,[field,type,def] - { common - if $ - display 'Error: definition of ',`name,' contains illegal instructions.',0Dh,0Ah - err - end if - local define - define equ name - forward - local sub - match , field \{ make@substruct type,name,sub def - define equ define,.,sub, \} - match any, field \{ define equ define,.#field,type, \} - common - match fields, define \{ define@struct fields \} } - -macro define@struct name,[field,type,def] - { common - local list - list equ - forward - if ~ field eq . - name#field type def - sizeof.#name#field = $ - name#field - else - rb sizeof.#type - end if - local value - match any, list \{ list equ list, \} - list equ list - common - sizeof.#name = $ - restruc name - match values, list \{ - struc name value \\{ - match any, fields@struct \\\{ fields@struct equ fields@struct,.,name, \\\} - match , fields@struct \\\{ label . - forward - match , value \\\\{ field type def \\\\} - match any, value \\\\{ field type value - if ~ field eq . - rb sizeof.#name#field - ($-field) - end if \\\\} - common \\\} \\} \} } - -macro enable@substruct - { macro make@substruct substruct,parent,name,[field,type,def] - \{ \common - \local define - define equ parent,name - \forward - \local sub - match , field \\{ match any, type \\\{ enable@substruct - make@substruct type,name,sub def - purge make@substruct - define equ define,.,sub, \\\} \\} - match any, field \\{ define equ define,.\#field,type, \\} - \common - match fields, define \\{ define@\#substruct fields \\} \} } - -enable@substruct - -macro define@union parent,name,[field,type,def] - { common - virtual at 0 - forward - if ~ field eq . - virtual at 0 - parent#field type def - sizeof.#parent#field = $ - parent#field - end virtual - if sizeof.#parent#field > $ - rb sizeof.#parent#field - $ - end if - else if sizeof.#type > $ - rb sizeof.#type - $ - end if - common - sizeof.#name = $ - end virtual - struc name [value] \{ \common - label .\#name - last@union equ - forward - match any, last@union \\{ virtual at .\#name - field type def - end virtual \\} - match , last@union \\{ match , value \\\{ field type def \\\} - match any, value \\\{ field type value \\\} \\} - last@union equ field - common rb sizeof.#name - ($ - .\#name) \} } - -macro define@substruct parent,name,[field,type,def] - { common - virtual at 0 - forward - if ~ field eq . - parent#field type def - sizeof.#parent#field = $ - parent#field - else - rb sizeof.#type - end if - local value - common - sizeof.#name = $ - end virtual - struc name value \{ - label .\#name - forward - match , value \\{ field type def \\} - match any, value \\{ field type value - if ~ field eq . - rb sizeof.#parent#field - ($-field) - end if \\} - common \} } + +; Macroinstructions for defining data structures + +macro struct name + { fields@struct equ name + match child parent, name \{ fields@struct equ child,fields@\#parent \} + sub@struct equ + struc db [val] \{ \common fields@struct equ fields@struct,.,db, \} + struc dw [val] \{ \common fields@struct equ fields@struct,.,dw, \} + struc du [val] \{ \common fields@struct equ fields@struct,.,du, \} + struc dd [val] \{ \common fields@struct equ fields@struct,.,dd, \} + struc dp [val] \{ \common fields@struct equ fields@struct,.,dp, \} + struc dq [val] \{ \common fields@struct equ fields@struct,.,dq, \} + struc dt [val] \{ \common fields@struct equ fields@struct,.,dt, \} + struc rb count \{ fields@struct equ fields@struct,.,db,count dup (?) \} + struc rw count \{ fields@struct equ fields@struct,.,dw,count dup (?) \} + struc rd count \{ fields@struct equ fields@struct,.,dd,count dup (?) \} + struc rp count \{ fields@struct equ fields@struct,.,dp,count dup (?) \} + struc rq count \{ fields@struct equ fields@struct,.,dq,count dup (?) \} + struc rt count \{ fields@struct equ fields@struct,.,dt,count dup (?) \} + macro db [val] \{ \common \local anonymous + fields@struct equ fields@struct,anonymous,db, \} + macro dw [val] \{ \common \local anonymous + fields@struct equ fields@struct,anonymous,dw, \} + macro du [val] \{ \common \local anonymous + fields@struct equ fields@struct,anonymous,du, \} + macro dd [val] \{ \common \local anonymous + fields@struct equ fields@struct,anonymous,dd, \} + macro dp [val] \{ \common \local anonymous + fields@struct equ fields@struct,anonymous,dp, \} + macro dq [val] \{ \common \local anonymous + fields@struct equ fields@struct,anonymous,dq, \} + macro dt [val] \{ \common \local anonymous + fields@struct equ fields@struct,anonymous,dt, \} + macro rb count \{ \local anonymous + fields@struct equ fields@struct,anonymous,db,count dup (?) \} + macro rw count \{ \local anonymous + fields@struct equ fields@struct,anonymous,dw,count dup (?) \} + macro rd count \{ \local anonymous + fields@struct equ fields@struct,anonymous,dd,count dup (?) \} + macro rp count \{ \local anonymous + fields@struct equ fields@struct,anonymous,dp,count dup (?) \} + macro rq count \{ \local anonymous + fields@struct equ fields@struct,anonymous,dq,count dup (?) \} + macro rt count \{ \local anonymous + fields@struct equ fields@struct,anonymous,dt,count dup (?) \} + macro union \{ fields@struct equ fields@struct,,union,< + sub@struct equ union \} + macro struct \{ fields@struct equ fields@struct,,substruct,< + sub@struct equ substruct \} + virtual at 0 } + +macro ends + { match , sub@struct \{ restruc db,dw,du,dd,dp,dq,dt + restruc rb,rw,rd,rp,rq,rt + purge db,dw,du,dd,dp,dq,dt + purge rb,rw,rd,rp,rq,rt + purge union,struct + match name=,fields,fields@struct \\{ fields@struct equ + make@struct name,fields + fields@\\#name equ fields \\} + end virtual \} + match any, sub@struct \{ fields@struct equ fields@struct> \} + restore sub@struct } + +macro make@struct name,[field,type,def] + { common + if $ + display 'Error: definition of ',`name,' contains illegal instructions.',0Dh,0Ah + err + end if + local define + define equ name + forward + local sub + match , field \{ make@substruct type,name,sub def + define equ define,.,sub, \} + match any, field \{ define equ define,.#field,type, \} + common + match fields, define \{ define@struct fields \} } + +macro define@struct name,[field,type,def] + { common + local list + list equ + forward + if ~ field eq . + name#field type def + sizeof.#name#field = $ - name#field + else + rb sizeof.#type + end if + local value + match any, list \{ list equ list, \} + list equ list + common + sizeof.#name = $ + restruc name + match values, list \{ + struc name value \\{ + match any, fields@struct \\\{ fields@struct equ fields@struct,.,name, \\\} + match , fields@struct \\\{ label . + forward + match , value \\\\{ field type def \\\\} + match any, value \\\\{ field type value + if ~ field eq . + rb sizeof.#name#field - ($-field) + end if \\\\} + common \\\} \\} \} } + +macro enable@substruct + { macro make@substruct substruct,parent,name,[field,type,def] + \{ \common + \local define + define equ parent,name + \forward + \local sub + match , field \\{ match any, type \\\{ enable@substruct + make@substruct type,name,sub def + purge make@substruct + define equ define,.,sub, \\\} \\} + match any, field \\{ define equ define,.\#field,type, \\} + \common + match fields, define \\{ define@\#substruct fields \\} \} } + +enable@substruct + +macro define@union parent,name,[field,type,def] + { common + virtual at 0 + forward + if ~ field eq . + virtual at 0 + parent#field type def + sizeof.#parent#field = $ - parent#field + end virtual + if sizeof.#parent#field > $ + rb sizeof.#parent#field - $ + end if + else if sizeof.#type > $ + rb sizeof.#type - $ + end if + common + sizeof.#name = $ + end virtual + struc name [value] \{ \common + label .\#name + last@union equ + forward + match any, last@union \\{ virtual at .\#name + field type def + end virtual \\} + match , last@union \\{ match , value \\\{ field type def \\\} + match any, value \\\{ field type value \\\} \\} + last@union equ field + common rb sizeof.#name - ($ - .\#name) \} } + +macro define@substruct parent,name,[field,type,def] + { common + virtual at 0 + forward + if ~ field eq . + parent#field type def + sizeof.#parent#field = $ - parent#field + else + rb sizeof.#type + end if + local value + common + sizeof.#name = $ + end virtual + struc name value \{ + label .\#name + forward + match , value \\{ field type def \\} + match any, value \\{ field type value + if ~ field eq . + rb sizeof.#parent#field - ($-field) + end if \\} + common \} } diff --git a/programs/system/board/trunk/board.asm b/programs/system/board/trunk/board.asm index eaa1dc8304..48eb41421e 100644 --- a/programs/system/board/trunk/board.asm +++ b/programs/system/board/trunk/board.asm @@ -25,7 +25,7 @@ include 'lang.inc' dd i_end+0x2000 ; memory for app (4 Kb) dd i_end+0x2000 ; esp dd 0x0 , 0x0 ; I_Param , I_Icon -include 'MACROS.INC' +include '..\..\..\MACROS.INC' include 'debug.inc' purge newline MAXSTRINGS = 16 @@ -293,7 +293,7 @@ draw_window: mov ecx,MAXSTRINGS*10+45 ; [y start] *65536 + [y size] mov edx,[sc.work] ; color of work area RRGGBB,8->color gl or edx,0x13000000 - mov edi,header ; WINDOW LABEL + mov edi,title ; WINDOW LABEL mcall mov ecx,4 @@ -516,11 +516,11 @@ dump_cell_size dw HSPACE,VSPACE,6,VSPACE ; 11,11 > 0,-1 ; 5,11 > 0,-1 if lang eq ru - header db 'Доска отладки и сообщений',0 + title db 'Доска отладки и сообщений',0 else if lang eq en - header db 'General debug & message board',0 + title db 'General debug & message board',0 else - header db 'Allgemeines debug- & nachrichtenboard',0 + title db 'Allgemeines debug- & nachrichtenboard',0 end if krnl_cnt dd 0 vmode dd 0 diff --git a/programs/system/board/trunk/macros.inc b/programs/system/board/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/system/board/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/calendar/trunk/calendar.asm b/programs/system/calendar/trunk/calendar.asm index 190568691a..77a9eab3b1 100644 --- a/programs/system/calendar/trunk/calendar.asm +++ b/programs/system/calendar/trunk/calendar.asm @@ -64,8 +64,8 @@ use32 ; dd 0x0 ; адрес буфера для строки параметров (не используется) dd 0x0 ; зарезервировано include 'lang.inc' -include 'macros.inc' ; уменьшает размер программы -;include 'debug.inc' +include '..\..\..\macros.inc' ; уменьшает размер программы + macro ShowFocus field,reg @@ -107,7 +107,7 @@ else if lang eq de db 9 db 'Januar ' db 'Februar ' - db 'M┴rz ' + db 'M+rz ' db 'April ' db 'Mai ' db 'Juni ' @@ -138,8 +138,8 @@ else if lang eq fi db 'Maaliskuu' db 'Huhtikuu ' db 'Toukokuu ' - db 'Kes┴kuu ' - db 'Hein┴kuu ' + db 'Kes+kuu ' + db 'Hein+kuu ' db 'Elokuu ' db 'Syyskuu ' db 'Lokakuu ' @@ -414,9 +414,8 @@ day_bounds db -1,0,7,0,-7,0,1,0 ; left,down,up,right cmp ah,80 je reset - ;jmp still - - + cmp ah,81 + je set_date cmp ah,2 ; drop down list jne no_dropdn @@ -607,6 +606,36 @@ minus_me: jmp still +set_date: + + mov eax,0x00000000 + mov ebx,[day_sel] + call additem + shl eax,8 + mov ebx,[Month] + add ebx,1 + call additem + shl eax,8 + mov ebx,[Year] + call additem + mov ecx,eax + mov eax,22 + mov ebx,1 + mcall + + jmp still + +additem: + + add eax,1 + daa + sub ebx,1 + cmp ebx,0 + jne additem + + ret + + ; ********************************************* ; ******* ОПРЕДЕЛЕНИЕ И ОТРИСОВКА ОКНА ******* ; ********************************************* @@ -625,12 +654,10 @@ draw_clock: shr ecx,8 add edx,20*65536 - ;mov eax,47 mcall shr ecx,8 add edx,20*65536 - ;mov eax,47 mcall ret @@ -649,7 +676,7 @@ draw_window: mov ecx,WIN_Y-15 end if mov edx,0x13aabbcc ; цвет рабочей области RRGGBB,8->color gl - mov edi,header ; заголовок + mov edi,title ; заголовок mcall call draw_week @@ -660,63 +687,49 @@ draw_window: mov edx,72 mcall - ;mov eax,8 mov ebx,212*65536+7 - ;mov ecx,290*65536+10 - ;mov esi,0x005555dd inc edx mcall - ;mov eax,8 mov ebx,205*65536+7 mov ecx,300*65536+10 - ;mov esi,0x005555dd inc edx mcall - ;mov eax,8 mov ebx,212*65536+7 - ;mov ecx,300*65536+10 - ;mov esi,0x005555dd inc edx mcall - ;mov eax,8 mov ebx,224*65536+7 mov ecx,290*65536+10 - ;mov esi,0x005555dd inc edx mcall - ;mov eax,8 mov ebx,231*65536+7 - ;mov ecx,290*65536+10 - ;mov esi,0x005555dd inc edx mcall - ;mov eax,8 mov ebx,224*65536+7 mov ecx,300*65536+10 - ;mov esi,0x005555dd inc edx mcall - ;mov eax,8 mov ebx,231*65536+7 - ;mov ecx,300*65536+10 - ;mov esi,0x005555dd inc edx mcall - ;mov eax,8 mov ebx,243*65536+14 mov ecx,290*65536+20 mov esi,0x00dd7777 inc edx mcall - mov eax,8 + mov ebx,10*65536+100 + mov ecx,290*65536+20 + mov esi,0x00d5d5d5 + inc edx + mcall + mov esi,0x05080d0 if SKIP eq 0 mov ebx,B_DATE_X @@ -756,20 +769,21 @@ draw_window: mov edx,sys_text mcall - ;mov eax,4 mov ebx,149*65536+302 - ;mov ecx,0x800000ff mov edx,minus mcall - ;mov eax,4 mov ebx,137*65536+292 mov ecx,0x80ff0000 mov edx,plus mcall + mov ebx,15*65536+298 + mov ecx,0x00000000 + mov esi,15 + mov edx,setd + mcall - ;mov eax,4 mov ecx,0x10ddeeff ; шрифт 1 и цвет ( 0xF0RRGGBB ) if SKIP eq 0 @@ -1040,7 +1054,7 @@ calculate: day_count db 3,0,3,2,3,2,3,3,2,3,2,3 Fkeys db 210,211,212,213,214,215,216,217,208,209,228,159 -header: ; строка заголовка +title: ; строка заголовка if lang eq ru db 'КАЛЕНДАРЬ',0 else if lang eq ge @@ -1102,10 +1116,10 @@ focus dd 3 new_style dd 1 dropped db 0 -co_text: db 'время сессии',0 sys_text: db 'системное время',0 plus: db 'добавить(+)',0 minus: db 'убрать(-)',0 +setd: db 'Установить дату',0 I_END: ; конец программы firstday dd ? @@ -1117,4 +1131,4 @@ all_days dd ? datestr dd ? leap_year dd ? number dd ? -year_input dd ? +year_input dd ? \ No newline at end of file diff --git a/programs/system/calendar/trunk/macros.inc b/programs/system/calendar/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/system/calendar/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/cpu/trunk/cpu.asm b/programs/system/cpu/trunk/cpu.asm index 54c720769e..0d33030b64 100644 --- a/programs/system/cpu/trunk/cpu.asm +++ b/programs/system/cpu/trunk/cpu.asm @@ -18,7 +18,7 @@ STACK_SIZE=1024 dd 0x0 , 0x0 ; I_Param , I_Icon include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' display_processes=32 ; number of processes to show START: ; start of execution ; calculate window position @@ -311,9 +311,9 @@ draw_next_process: int 0x40 ;show window xy size - mov ecx,[process_info_buffer.x_size] + mov ecx,[process_info_buffer.box.left] shl ecx,16 - add ecx,[process_info_buffer.y_size] + add ecx,[process_info_buffer.box.top] add edx,60*65536 int 0x40 @@ -480,7 +480,7 @@ draw_window: mov ebx,[winxpos] ; [x start] *65536 + [x size] mov ecx,[winypos] ; [y start] *65536 + [y size] mov edx,0x13ddffdd ;ffffff ; color of work area RRGGBB,8->color - mov edi,header ; WINDOW CAPTION; + mov edi,title ; WINDOW CAPTION; int 0x40 @@ -594,7 +594,7 @@ tbts_2 db '>' tbts_3 db 'START' tbte_2: -header db 'Prozesse - Ctrl/Alt/Del',0 +title db 'Prozesse - Ctrl/Alt/Del',0 else if lang eq et text: @@ -608,7 +608,7 @@ tbts_2 db '>' tbts_3 db 'START' tbte_2: -header db 'Protsessid - Ctrl/Alt/Del',0 +title db 'Protsessid - Ctrl/Alt/Del',0 else text: @@ -622,7 +622,7 @@ tbts_2 db '>' tbts_3 db 'RUN' tbte_2: -header db 'Processes - Ctrl/Alt/Del',0 +title db 'Processes - Ctrl/Alt/Del',0 end if diff --git a/programs/system/cpu/trunk/macros.inc b/programs/system/cpu/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/system/cpu/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/cpuid/trunk/CPUID.ASM b/programs/system/cpuid/trunk/CPUID.ASM index 8ebdc0904d..3a3ddc31f1 100644 --- a/programs/system/cpuid/trunk/CPUID.ASM +++ b/programs/system/cpuid/trunk/CPUID.ASM @@ -28,21 +28,14 @@ use32 dd 0x0 dd 0x0 -macro udata -{ -} +include '..\..\..\macros.inc' ; useful macroses +include 'draw.inc' +include 'brand.inc' ;Brand ID decoding +include 'caches.inc' ;(L1 and L2 cashes decoding for Intel) +include 'multipli.inc' ;(multiplier decoding) +include 'features.inc' ;(features decoding) -include 'mos_uzel.inc' -; useful macroses and Brand ID decoding -include 'caches.inc' -;(L1 and L2 cashes decoding for Intel) -include 'multipli.inc' -;(multiplier decoding) -include 'features.inc' -;(features decoding) - -include 'gif2img.inc' -; include macros to convert gif to img +include 'gif2img.inc' ;macros to convert gif to img include 'rsatest.inc' include 'variable.inc' @@ -55,7 +48,7 @@ CYCLES: ; CPU speed mov eax, 18 mov ebx,5 - int 0x40 + mcall mov [total1],eax ;in Hz, example 1600490000 xor edx,edx mov ebx,1000000 @@ -464,7 +457,7 @@ Text 75,70,0x00000000,AMDn, AMDnlen-AMDn mov esi, amd call load_gif -PutImage 125,107,201,49,img_area+8 +PutImage 135,97,201,49,img_area+8 ; place size ; Relax, man. AMD made PRETTY SIMPLE cache detection routine @@ -1065,7 +1058,7 @@ Text 110,70,0x00000000,PF0, PF0len-PF0 ; mov ecx,dword 0x00000000 ; mov edx,PF0c ; mov esi,PF0clen-PF0c - ; int 0x40 + ; mcall ;jmp MMXtest ;.ppF1: Text 110,70,0x00000000,PF0, PF0len-PF0 @@ -1580,7 +1573,7 @@ event_wait: mov eax, 18 mov ebx, 16 - int 0x40 + mcall shr eax, 10 @@ -1588,7 +1581,7 @@ event_wait: mov eax, 18 mov ebx, 17 - int 0x40 + mcall shr eax, 10 @@ -1603,12 +1596,10 @@ event_wait: ;============================== - mov ebx,50 ; цфхьё 1 ёхъ mov eax,23 ; ЇєэъЎш  23: юцшфрэшх ёюс√Єш  - int 0x40 + mov ebx,50 ; цфхьё 0.5 ёхъ + mcall -; mov eax,10 -; int 0x40 ; cmp eax,1 ; je red ; redraw cmp eax,2 ; @@ -1618,11 +1609,11 @@ event_wait: jmp still ; key: ; mov eax,2 ; а - int 0x40 ; + mcall ; jmp still ; button: ; mov eax,17 ; - int 0x40 ; + mcall ; cmp ah,1 ; = 1 ? je close ; close @@ -1681,7 +1672,7 @@ noclose: close: mov eax,-1 - int 0x40 + mcall ;**************************** THREAD-SECOND WINDOW thread_start: @@ -1700,12 +1691,12 @@ thread_start: ;length of module - 256 bit mov eax,26 mov ebx,9 - int 0x40 + mcall add eax,100 ;test lasts 1 second. push eax .loop: mov ecx,4 ;do 4 iterations - push ecx ;this reduces number of calls int 0x40. + push ecx ;this reduces number of calls mcall. .loop1: call rsa_test ;this procedure change all registers dec dword [esp] @@ -1713,7 +1704,7 @@ thread_start: pop ecx mov eax,26 mov ebx,9 - int 0x40 + mcall cmp eax,dword [esp] ;Is time changed? jl .loop pop eax @@ -1733,7 +1724,7 @@ window_2: still_2: mov eax,10 - int 0x40 + mcall cmp eax,1 je window_2 ; window_2 @@ -1746,12 +1737,12 @@ still_2: key_2: ; mov eax,2 ; а 2 - int 0x40 ; + mcall ; jmp still_2 ; button_2: ; mov eax,17 ; 17 - int 0x40 ; + mcall ; cmp ah,1 ; = 1 ? jne noclose_2 ; noclose @@ -1759,7 +1750,7 @@ still_2: mov [num_win2],0 ; or eax,-1 ; - int 0x40 + mcall noclose_2: @@ -1768,7 +1759,7 @@ still_2: draw_window_2: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1h ; 1, start of draw - int 0x40 + mcall Window 250,250,420,390, 0x33FFFFFF, 0x805080d0, standard @@ -1874,7 +1865,7 @@ Number 95,350,0,5,dword [iter],0x000000; RSA test results mov eax,12 mov ebx,2h - int 0x40 + mcall ret @@ -1885,9 +1876,9 @@ num_win2 db 0 draw_window: mov eax,12 mov ebx,1h - int 0x40 + mcall - Window 150,150,350,385, 0x33FFFFFF, 0x805080d0, header + Window 150,150,350,385, 0x33FFFFFF, 0x805080d0, title ; place size Button 15,330,92,23,2,0x03FFFFFF ; button "press for more" @@ -1901,7 +1892,7 @@ PutImage 15,330,93,24,img_area2+8 ; image "press for more" mov eax,12 mov ebx,2h - int 0x40 + mcall Text 130,270,0x00000000,instruct, instructlen-instruct @@ -1987,7 +1978,7 @@ load_gif2: ; DATA AREA -header db 'CPUID 2.19 by S.Kuzmin & the KolibriOS team',0 +title db 'CPUID 2.2 by S.Kuzmin & the KolibriOS team',0 tsum: db 'Frequency: . MHz' @@ -2512,7 +2503,7 @@ myname: mynamelen: align 4 - udata + thread2_stack_area rb 64 thread2_esp = $ U_END: diff --git a/programs/system/cpuid/trunk/amd.gif b/programs/system/cpuid/trunk/amd.gif index a79cf5dd0e8d1a358e668fc2dde33fd5098a1472..00b16a17d810a61ae74160e8efd4b097dc146128 100644 GIT binary patch delta 1593 zcmV-92FCfx6Y~&%M@dFFH(|*DF#zWP000001Ox;K2nY-e3=j|y6ciK~7#JKJ93UVd zBqSs#C@3r}EHE%IG&D3gI5<2!JU~D|L_|bLNJvafOi)lzR8&-0SXf+KTwq{eWMpJ$ zXlQI~Y;bUJbaZrhczAq#d=ijjI--1lfPjRAgoucUjEsz3kdTm+l$4m5n4FxPprD|n zq@<{*sI084p}4HDu&}hWw79sqyu7@w*vP=Zz{JGF$jHdd%*@cx(A3n_*x1t+x zlN$pge?y8KNwVa}5GYfsT*AiM4PsbQrM$#}JBF zvqIgqbGwZPm4&1 z;`ig>tQQ11o;)gZgb_~u8z8-q^@D^KtgFV(n!@GoNWUBGF&r&J)&aI3ynPzD@W3X} ze;}ZMFQ_oW1Oi01!h7)Lv>bCH442q_h9xLi3R3=;V77o zhIP0jL*W^A-f;~HshNBPU2xb7I~;ZZe|ZQUroxJWwMEbn0|+*N3^@kpAwz#1)fFGum&b;LgyBtKtp*|8y}b*9QFZ0 zbQ*SmLTVDRC}1iK6oa(wI;(C&IgH2{z(BkTW`oFe%2i*XUGlZ>R0U%Vi*$bgOMgRh+r;fVClon*Q)T1e27!H^ReJ4ZC8Rh^&pcf@Nir?kQUSu5` zWcAg8;Vl>e17&V!>k1`l7zVtDezu>?c{Y4x0=P-g@&6XlfMM>{?)CFvFO;QVP#@HL zPrrlkuu!&bFIfr3(=9n`f9>ntEXhM-$l4B*gX;P2dYs}+?(D~yceze~Vw+v_YzIAr z%nUFNbf5JYf<4ZxkAb~;s|XZpNcf7dfIbE$U=?Ew^G--X5CX;kZ!@4?6j>98aYjtKgUBOu zNCYktAw7o)q7eTlf5z=0AU6wvAyi0dki0aqB!PNbMCu4Cfwv3TU7NH!>)ZL)yuccajZwf66FL rD5?{SB29i84QWhXq7sj)%$g!iXgwtk7#N|rtSy;r!NI}u^70apV{L714h{}%iFgqu96F+WuGq-T=iXmmU+nkuRaI30 z9uxTa`6wtT-|*`2`1J+{2C?BR0+H}^4lDow007AVF#rGv{{RV-BLgFU4_c@|vO(*Ff%ifq^!f><=g+s=^u)=2z zzy}Kd7*0Mwh6WDBy1u&l@Or7zr)TU9TEJX}lr={{udqP=${gH(Cy;jKeRjZY3U#0w zVOJsMT2%4LcTooA@wd=_l}%uwK@AZ2mE*kg_YjR%^B!D(ikSpo=P z-Ec!Tgd&Sr8R?#Xi%VXFK!M=lN8SJ?3Pd4!KN8^KWdwE500a?$wp&9Lyq8##?4g+^ zMI8{RL7ybz_N0k24rg1ImEmbn0(1Ii6QB=d0F{fKX5}fUsi_v>p%6*QC}d$O^yP3+ z68{t_X!}tL*`Eh>_+6X{p_r9mQ$h8qgRGs3YD4rrHbAm}j!nR8K~iegDzl$WP^X8j z9)#&<*(UgGK?^`9)r-eQl<8x;VY|?)4OFDUiA?)PR)EHiST(2rckjRmPT^ zPyw1@DS?*X3KXq=2f!O|o##5%?Lm!cMkPTBP+-8k3Hi(1Q~?VtlEVR%RxxA)aBL8} zLX!L$2ON8Uh-*RzTf9&LP+d$A04b&xvd9I^>ev7Rb?_N?2T3`A%b$7p8$nh=W+_4q zaGM|kQ>lDVxTRY4GtfnQ$lb}xDkLQUYZiE%elbhSPzO>@Ob`N5WuUb|9w+%V*whC9 zaGQ5FBXl+a5hGl+Zy{P)zJg@e^-ar?=I^m5c#Bu<;br5yIz%8I3f_E~my0($0b~m_WKCpP^ z2o*r`0tHd4L1{^AhFt->2Y@93oQS?jzz$o@R~VYr5KU`^cCbOXL=n0^41{CK@Ve6n%O|e78!miOnU@bfRoCXLEw?k zG7KRY{?rF7#4Im^(20rzA6T@w9i(Pc%3i$&@-E0cPaptEdD)Kv4-v*F@E)AedO|)A6Ft{@g5@d6KAF9*uK)4Y4ZHFKYC{$_`2!QrDkA(#h zU63Nu0L(Xk zkV~4UAY(dAR&2s60mW`LNjww`QCXP*xKDp#B8~uWm5>D3G5|EHKp%THI|fkTn%A@@ z1+19>L3SmWOM)9QK|>?4nTC$bd<-7dR{`pLtsx?XiEjEPnHq5OI04-VR^_8MsddYRg*=Xn?DKxw361C6Cfb=79audeJ@1D``+|Q6u$M%uX?fDtF9%fQ{7#N1tbWz z^0Jq_j*Q59JD}d%EV#T8VXr3<+{gusw*#KsuS8lms0RhOKLp07h(ppCO_>1YC+8ip TidW3y7Q6VxFpe=r0s;U#yfqug diff --git a/programs/system/cpuid/trunk/MOS_UZEL.INC b/programs/system/cpuid/trunk/brand.inc similarity index 54% rename from programs/system/cpuid/trunk/MOS_UZEL.INC rename to programs/system/cpuid/trunk/brand.inc index 8fdaf02724..a08ad7e92b 100644 --- a/programs/system/cpuid/trunk/MOS_UZEL.INC +++ b/programs/system/cpuid/trunk/brand.inc @@ -1,158 +1,3 @@ -; optimize the code for size -macro add arg1,arg2 - { - if arg1 in - if arg2 eqtype 0 - if arg2 = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if arg2 eqtype 0 - if arg2 = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if arg1 in - if arg2 eqtype 0 - if arg2 = 0 - xor arg1,arg1 - else if arg2 = 1 - xor arg1,arg1 - inc arg1 - else if arg2 = -1 - or arg1,-1 - else if arg2 > -128 & arg2 < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -; Interface - -macro Window xStart,yStart,xSize,ySize,bColor,gColor,fColor -{ - mov ebx,xStart - shl ebx,16 - add ebx,xSize - mov ecx,yStart - shl ecx,16 - add ecx,ySize - mov edx,bColor - mov esi,gColor - mov edi,fColor - xor eax,eax - int 0x40 -} - - -;WriteTextToWindow -macro Text xStart,yStart,rgbColor,pText,nTextLen -{ - mov ebx,xStart - shl ebx,16 - add ebx,yStart - mov ecx,rgbColor - mov edx,pText - mov esi,nTextLen - mov eax,4 - int 0x40 -} - -;DisplayNumber -macro Number xStart,yStart,nPrintType,noOfDigits,Data,rgbColor -{ - - mov edx,xStart - shl edx,16 - add edx,yStart - mov ebx,noOfDigits - shl ebx,16 - or ebx,nPrintType - mov ecx,Data - mov esi,rgbColor - mov eax,47 - int 0x40 -} - -macro DrawLine xStart,xEnd,yStart,yEnd,rgbColor -{ - mov ebx,xStart - shl ebx,16 - add ebx,xEnd - mov ecx,yStart - shl ecx,16 - add ecx, yEnd - mov edx,rgbColor - mov eax,38 - int 0x40 -} - -macro PutImage xPos,yPos,xImage,yImage,pImage -{ - mov ecx,xImage - shl ecx,16 - add ecx, yImage - mov edx,xPos - shl edx,16 - add edx,yPos - mov ebx,pImage - mov eax,7 - int 0x40 -} - -macro Button xStart,yStart,xSize,ySize,nID,rgbColor -{ - mov ebx,xStart - shl ebx,16 - add ebx,xSize - mov ecx,yStart - shl ecx,16 - add ecx,ySize - mov edx,nID - mov esi,rgbColor - mov eax,8 - int 0x40 -} - -macro CreateTread EntryPoint,StackPos -{ - xor ebx,ebx - inc ebx - mov ecx,EntryPoint - mov edx,StackPos - mov eax,51 - int 0x40 -} - - ;////////////////////////////////////////////// ;Decoding Brand ID for Intel @@ -180,7 +25,7 @@ je cnnn1 rr: mov byte [brand], bl ; -Text 270,190,0x00000000,abrand00, abrand00len-abrand00 +Text 60,250,0x00000000,abrand00, abrand00len-abrand00 jmp B000 ;jmp comppp @@ -202,15 +47,15 @@ jae res3 res1: -Text 270,190,0x00000000,abrand0, abrand0len-abrand0 +Text 60,250,0x00000000,abrand0, abrand0len-abrand0 jmp B000 res2: -Text 270,190,0x00000000,abrand1, abrand1len-abrand1 +Text 60,250,0x00000000,abrand1, abrand1len-abrand1 jmp B000 res3: -Text 270,190,0x00000000,abrand2, abrand2len-abrand2 +Text 60,250,0x00000000,abrand2, abrand2len-abrand2 jmp B000 ;;;;;;;;;;;;;;;;;;;;; intel brand intel_br: diff --git a/programs/system/cpuid/trunk/cyrix.gif b/programs/system/cpuid/trunk/cyrix.gif index 2ffc6535c302334853b4668d63e4556400f14f2f..a5eb1cc440aa5f565f1cc896cafa944c51fa15b4 100644 GIT binary patch delta 1528 zcmY+6eLT|%9LG1a(ZXglCMy0DqYS+?2FQPybI{1HS-Y_r0;dfSf@m zK_GjO5|!qb5&}x8u6j6C@IOk2!~NTAcTj2NZ33tCDiSwkAY7s{Nc^%<>8*95(yQQa z-X!vs0sqTJrMK36rB^YydBY!627_NVD!sKHRC*PP&6`1mGEn@tF;wZTwL<9?igGN( z1qFW8R!^>^h-68kAL=OQWtTza@elxfw!9Ox%a=YYb{Vgnng0 z(vDc5%mv%(hccy{9ky&~f$_KgW&}y93}NfnO_Z1@m}3?CrX5V`1yj>WwpWP2B@j-T zH}@eH(KvCDEa%dZ{0t~m>Zy+!XV`+e-Wo+Y)Kf#SpueH@u?x=UEeY&uU?*N6XT@G7 ze2(!2*gNFblT}d6HeqGFT)IFdcg*#B%4f2z@l^y7kI#AuJz5IUnd4Tq&{nxvZKHM` zL$M>7=JBxf&hrZy?_8N_+4m$f2>@C>Ir>T&P)HOD=!LdrM(p5R(qV;l+4)l#3xiDm zg$4Qz$8XXNLSVX$DFA)xJxdpV4Vb^=UrWcE6NU}~Jg@q%`ceQUT>rJ$UPwpP#GfLg z>JoSnyr}!Mr^gz`f7_SPw&<4B?4OAOp83n4tSx!29ju2EUZ-K4#PDO!rmh~K?F;Qd zYil)&flg}4<2&?0)Z<+}$>H$TvUW<8$)PO2DAcfMsh9V_iGyZciass!KD4hgjlKc1 zDzh0%NNH|JC{*vM74+)EM)ucKkEYa=U3UXtC~_<&!XUR&YW>$_VS4ng znSLz0a8|=KgjE&9@W3wS*iN6@)4NVg+iB%ShxLCf>us9zlNYoySxABI{<^MZe(@d#J0>OI?4#>E znylEyQJ^M;Wq4H@ww$>cVzQzptIDS$K{X!(@gkb$ucQ`B=g}S;C%X8jEI*dh0CIxv zFI*mnXP%8Eev;iTdDY9YRulG})>OOSN~_~SyETvsKNoK!R4;~gs@p4C$m!5hN5`!| zJXn%i9;s2yWtH&rnHV#8b87tFXM#REUuo&Fy6ebQaJXI`j*~1%-zBN)+onO(Om>IZ zv6*V2E2Bk>AUhwKjH;t>(yrcspj!-MJfejL;gV5=TmZxHY>=Xjd3VWMw1uKo+o7uu zb8-sC6t&(+BxU$Xo)9xdGYA`a0?TOJ%jaZdzD0Q5?!$%PsfY$4w74OIl+#(^MS9oA z`qXXL(BPZQ%&MTNzt9<*E>W}1YW~f_ZvwojbKI<_u{&3C+Fz?k0=GM)ec(XgQ(A=Jdp5g*MxSl|Xhljw01safl5b{TvDD-|R0 z=><*n*ntjlh}R_{>;S^DNhElKFy)Wf-LkpKlAS|l>y^+}oX3)iW*LgE!XI_Ui@v{} zcOxsk@2z`4(9w~3=cdWqS{u=E{O_u1CFZ=vmAN+W&gnH*q&fM-^1$Snc!YRHyE#UK OJk?_~;Q|JO_WuLbvw#!; delta 2269 zcmW+&c~leE8Xxu$MI(ewQ5Ho*KtzThs030IC}2b&Q55Sz!9i28z*B2E>O`9$&`?=K z7(^L0|-h5i~|1rkBDoiohreqiBpm%qWdxG=b3+M$;J05MT($5P=~ILo~24 zzzj5C!7y|qh6l$<94By`!f_hM5yJ}=LEr?16EsdBMh0wB1Wr*nMdK7=R6#FI;53EP zG)^NB38Oe7a75vV#u3nhYybn*AQN=K9xwwoKm!&GBgPTbBms*e2$~=e;}CeEq9}r* z2?{ZWK?ZEn6hYGjjle&sf?fhq1fmH91|bp93DXb=BmgSFBgh6YPz^Gn6@&mYU;{K@ zAtpO!n}ipzXo^Bimf#S0p`vMuMi4C+1{ttPA(}!EC4>zTfG}u>tidm&35kGCn1(<= z6j%n2ARE9yHB5po5CY7A4bX@=C8nDo86svOI5o%;90D&?G~5r#UJ~qPTBl@PRRJCJ$%?O%4x`>=!(l(~nI-DI!Hlav67Ihqy3Z{*!mYnZ$L`oGW7abk5b> zUH7N0h?;77@>0V-@j#Mosp@SKzHIt~P3X_t_KwKyUBZv7&hJmf&bjVeQZMcfP7r3l z8JT#KOw1Y>Xcu}VJGR?y7=3U!?7yM+wNAFlJ(8@8oWAx$^7Htj$HfPBcg)CeaK7jC zY|^LjGu_Eu&B~?#wbPZgnl19TfoIE7xwCF$r+DT6Rdp`$V3_RMNOkm?h*?>||4aJU z9C7EhGy%%Wh%=6VvPz;)G44I@{(MytEzfT)`nR0?pyBjoUmV?c_s(Ovpw?Z>S+*); zZhyMGl;8hPlJwyLZdI0`n60;Xp=DoXtsMOvUX&>RB1(1d6 z`?kgLg81PO>87)+&gf;C<9A5Q-di7>P|+9t=xJyPYABh~W?Q&K-ou(JbR4m43LIN= zzC4J0JSxxPZ%Liww{JwYCNb|zy;tbpFRZspal@$FD;G<`&;JshHn5{lJLB~S_FVzjb5dJ+zL^=qm8>Z8 z^It!~2DP`UTEZk#g2p@NEtNag2-1{dp9)0w*`IT{lE$`*sf~?!&CSrX7A(p#bG&f= z^wp3|kER1F7G=6zBu6=k){SkPqvpbsvee0H1MQYttBy|*d#+Ud=N0QdXR^~;b@-Hi zO4IS1&xG$i^zZLR4A>OoUaAtS7Mqz-tsRl}bxev4RLqwcb`bjtr|A=GONlN!y* zz(LWC9VwpdV;fWFJvr3o8`)c&QCG_u^!%1z$*J;@SyU8NMfR{ncIhcG`t@&k zTGpMZqkj~R39h-0DJ98Yy0{8Mub{DOH$Ox-e~d2PtzEoy+TB3*P=i;<9~viNWQ`q} z*XP&3S|WUH9v5^acb2O*w~y8G?I)dA2>)`PQ^Q=lB-V+Em^UZ>)nH?WK|}f-ro|^e<~;eVA|V>g~SgU>mP?=>9K3@8q2kzI=~Z=k!G( z{?#s9+D>sdFQ1*`A2@7W7fk*gvr2Wjm|x;|JUipw@e8jrFLs4>9vcl{_ctki>fYhV z9}9T$I_L8xgWZX3?Y|s^kAekL*Wa|t!SrUAWl6p+88Ne(y)*{_>zwkx07pY_oBbcoEhCM(Bp=XnV(MK2L@?%OSlNInv$R^&Yx zS8cJ-V3zvbfXxy^ufq=p>jf8f$>O^H+7mQ5Q<2qS?*FG}Zom?6Nmhr=&PUHxc>&%X n{ExY}Dm=VDKP;P9bG&rAy~RXh^DRx~>HX*F7yih@16%Najqe=e diff --git a/programs/system/cpuid/trunk/draw.inc b/programs/system/cpuid/trunk/draw.inc new file mode 100644 index 0000000000..0c0a381378 --- /dev/null +++ b/programs/system/cpuid/trunk/draw.inc @@ -0,0 +1,96 @@ +; Interface + +macro Window xStart,yStart,xSize,ySize,bColor,gColor,fColor +{ + mov ebx,xStart + shl ebx,16 + add ebx,xSize + mov ecx,yStart + shl ecx,16 + add ecx,ySize + mov edx,bColor + mov esi,gColor + mov edi,fColor + xor eax,eax + mcall +} + + +;WriteTextToWindow +macro Text xStart,yStart,rgbColor,pText,nTextLen +{ + mov ebx,xStart + shl ebx,16 + add ebx,yStart + mov ecx,rgbColor + mov edx,pText + mov esi,nTextLen + mov eax,4 + mcall +} + +;DisplayNumber +macro Number xStart,yStart,nPrintType,noOfDigits,Data,rgbColor +{ + + mov edx,xStart + shl edx,16 + add edx,yStart + mov ebx,noOfDigits + shl ebx,16 + or ebx,nPrintType + mov ecx,Data + mov esi,rgbColor + mov eax,47 + mcall +} + +macro DrawLine xStart,xEnd,yStart,yEnd,rgbColor +{ + mov ebx,xStart + shl ebx,16 + add ebx,xEnd + mov ecx,yStart + shl ecx,16 + add ecx, yEnd + mov edx,rgbColor + mov eax,38 + mcall +} + +macro PutImage xPos,yPos,xImage,yImage,pImage +{ + mov ecx,xImage + shl ecx,16 + add ecx, yImage + mov edx,xPos + shl edx,16 + add edx,yPos + mov ebx,pImage + mov eax,7 + mcall +} + +macro Button xStart,yStart,xSize,ySize,nID,rgbColor +{ + mov ebx,xStart + shl ebx,16 + add ebx,xSize + mov ecx,yStart + shl ecx,16 + add ecx,ySize + mov edx,nID + mov esi,rgbColor + mov eax,8 + mcall +} + +macro CreateTread EntryPoint,StackPos +{ + xor ebx,ebx + inc ebx + mov ecx,EntryPoint + mov edx,StackPos + mov eax,51 + mcall +} diff --git a/programs/system/cpuid/trunk/idt.gif b/programs/system/cpuid/trunk/idt.gif index f57ad246aa641f896c815f48dff7b3186455428b..8aec392eeea1de05ab8d0ec6157a8b88669d6d72 100644 GIT binary patch literal 1901 zcmX|>2~-o;8i4;S3=;@~iVzhQgII{5=meBSNq|CVElm|$TJaGp4g`HlkwOd7hOMLu z)*kKA*dQp&3yTd!cnTCjKsKi|ya(k4p$(@Zi^xG97F_D|GM;0WnaRxe-TU1+XA%+` zyuFo0*xJnwmm$ z0-+fnA0HhZB?w|A{i?d|O?EiFw=O$`kV*RNmK z>-7~C6*`@+xVU(Bc2=v^R##V-l#~#lA%LLi7XTh;T__bWKY(`uHZdpN0N4QT=qkWw zfEa)+03R?vR|0IM>AwKB(ez7{3YeM^-IA_2S@@*^;JWJHvK6qJEt5bVIfA0ZgvFoFTlDz*c# z0Cq4;IG7)0#Md!s`3SaS;BW?3BA6M?8-N4g!`zK9Fu%!&uQQN{MqbLmVE_m|f?($3 z3t$G|$A~h(xs14-=|>qzL@=KrWdI09NqzuQfSmw1z%GV43b>pRUj-lxU3!fnWfuU_ z{h6U8j3Q;GI0Cqq5nlzMF;NVHQ5%9$qyzv3qv=q503!x6q7v|NMtl{3V6=P$qZ^B0 zr5kzxVDVW1oCXf=Age08ory0OMRrzQY0a^5dP^(&@#>w^0wQjx^GByZ76-R=QJ5qw zF78(z*;PFn%;MR)T?{?3F%vV3oE+-9{zm#GNsL#lqai)h99usZ*0XQk5IiZG-J}iuKLe=5dYx&Kp;#h8sS6WLNq94gCQY+cEND z=YW2s^|L!Z4yxO3`zqK(TfW~@mmu>qF#&7U-o($il`v6I-z+h+mf0u$N!33f@8D*! z3PZ{REaUu%j(3LRYmEb}lLOcw1hTCyvaOT(4qnq`cfC!&UQ1PRa=O#mzubz9}nMhkosukg7)Ooi7`PK zPZaUpiB#!8K98F(QKZhSxfzwY1gm9dYd>9Z%wkJbYttMpvRbnHtUT-khI+*X>Tu6^ ziCWw(yDB+6ap7Zdt&-(itlHLbP#)+UIvBs1D=7Nnh4-i`>yN)WGtTy{j5VCIq!#u| zh1x9Xp-Q8@_Py9r*WV9rxHNA1#$EB@fq=-Ar-FR5ny*-2embp|v)*_nGgu}(@B+Sv zP-Zyy9v1Q-!-AhAFZjZaEB(ger6BN1y>tD@)dJB5)$S+Xg(yq3W}|sDxZnw_L5F6)b!2fW#>69PN8ldt(M!{Dh~-_rv{r@y83d7k3zfmr^#dY zwg&ze%Vsq@H073exh$*6>=r(Z_dYND0P={=*}<<70ISu)^5$$PIA(#_I!PBWvyhR zVA^>4+`ZgMGwT9}tmv_%VV|MrR*(+%ef#WsNG0g|tcoVxYuUAqZH>hjrakk#%1a+L zpV+iUQZZ&B-!STptzfbEJKve@Se}sd!~M25K0(l!5f3e#ah2G$QL>+?hRgtQ4ukNF1g zzPfC0j>;nUtZ+$$aOvvNI`)t#n!8lR0X!(I-zGPRiqLXfE@`3L?fkyuZ}`2R&wS3j^Sao+A^X~pY>7|?e}5+|2F zCzl>4L3UCS4<04q zFpj`D3gZ}zgROuy00X1}OF#?Mz+!+6paB*b#wCIzIS3R%Fa*IR`oLO{p(ui42#QPO z0v4c%p$LW{7!K3}QlJ;XQ3S^j9LNKH0GePL*a7qd5aSX+QkHBeQ0N@4Mfzd!MuoCzIXo6{A z2jBz*1BHM!00X4KB%lR&fW-hCK;x1VNxDH9On2iAfNTYAYPzAoKcQd~Nr z#O9@|NP3rymbkv;on&;$4#^Rg6iSemNK0Wa!6Ob&}w_=S;-R0I~S%n{unuM4CO#HQ)R_Ib+(wU(KhmH5tmv*1iu}{CUASmm- zu)MZfFV~nWVpsqADe_h-?<-)czWU(X7+_(4;>cT)UqX$)|F^zH{@c`wro~dZxq640bB@l_nMZy&ymeDXx-^W4G|Rv~Z8}>r~=6bc0K$)IL?P z1lI%N0(Z#@?HqmFI_NZtvE`(LaRmE`3@O=)fsle8uBa?@d$7%$a>`O!o@+4Yypkm7 zg4R)v+C)~OA+M|7qGwAnkX3 zL2c+qG_F7X``_Um3)OZn?(oR*oW`+hJ7#kTp|SxsO1pRmlVlGXKh0*PV&(B~iv7*< zIw-DV58_7B)e4?Oz#QIdawmNM+clGd!rkx=A)E0i^-EGWEh8=bB1^uaUHZSdm*U??VUX5&!E{LtH{Y%OSz6~38(z$L-W3s78F%*z z;e{J}N`^gpf49nOd2bPsFNGdnI8{#V4?3RL=i}0{ygG^4={vNOU_@Y>ST{LopCYQv zI9h#gh#|l`yim@)j+@jWRa?JJz;dh~TWB-b)N*_k zZ?R3^R6MGQ`Pt3&#utCNImfXLsu$T+;TPee z__xC7{u(KxoaA$13sa8b%TJc8S8Uv~vo2bxHebPFK_NaXjPpAE@y{KOPF(YL7ztei zkyD9rWCvzl^W>o#yOkd;LcMIp#s3Y$a(^~o6V^nIjHdEy%NA$78`afR6Ay{Li)vh_ z(jWg@!PC7zeUSgRHP-8q;ykwI5mWv`hJRHyQLV>`;Zc&L{nI(iPQ~Qp4Zd6Z?8d9J zV%Ok{Exu6g1o7c+m&~uIzpHWJwZ)tC*r+=*RJ}^0qUQ(XZ)|q4_>tF*L^N1&%mcrK zSacgvrxp6v?D>#`Fh8pVYwWwSug8XFVPesqsgOK5{lXxp=VRExMuwc-mwB9&&Unpt zXr(6Dv}ftBn(<3n=DYLttG0VMrUQ(kmX?xTk8e@I7;Fvs=^2Dns%wW0|3r{Lt7BYEE~1il@%#gqoT) zZOtMY>Duf{*cJU*p|Hg*{Js6&$hEIGehKNalB(`{f5M4=a!aM+I6T3_YBa?kuLpcD zF(kAPQV;b7pQ`ldGG+PR}$9o%c29WItwz50ivhX)f3;gcnI$F@SPezEw~uG~vge`!gZ zn|``S%C@%u@MduSTv<|1W{IY0bwgRYIEs@0?WdM^IajkkD~W%7?K$ee$d&U-q$oqy zY4?IQE{PS*R5r+r5WjMq^p(BwX?*1?9kEhv)g0Z}T5h_yp-IDyq(8de{odIa)$y*c zqB{oKFVx_)l$j&>e0!4WdTIIczlZmyYV1E{s;`-7DSg2Ovp?{XW*~LYaFbNrAb%~X z+(S2wH}-b_<3i^GnT=w_eY%kfhnA103q3R0uA=G}=p^qfr(~*rW$d2Y)mnPdaPhLf zT7gslAY(x1IA>se#Lv3WEz(SizWd7#6SmyyBwYo+$)VJrdn3#F_-e(Y+OvbDqlMgX z!*IUb80$M6{vXX6ncIC~6>1xNC6)0!%1^l7vsxTJmEaWDmf2X~yp_b(iNOvu8=Cu@ z*nTeBlHHS5WF_wTn$bm^;v-0b_p^|w%QB177Tv}<4>y%Pnrfe0MtBeB3!Q7FL~GS; zGsYKv4-};mI2{yWdab67hV(<;ut#y+FXpEab9ZL` zi{;16?v4w|=#lcGnTa~)r@$g}?dEvHHaFFsEvH+??N4dcr?+R>O)z+kEj_U!yYzdV zSij;+m0Lt5QPxpxs9JC?#Bat7xepN{S$U&=gW6DrdeN&EXXhJAEjEYSpVpP#t*tolV%6ar*)(E zU(0p2otdo@pq^Fwel&$|%o3=LB`|yDY-+9>SZSA;WPcjo@NRP(tE2z&&@{EUwJz+k zBjt${&+_^5FV~tqy4w0iBYwY!Zi}E(=-bRykH+N88_8!O)g<*h)8gr3S8$mV3_1O%lIOiuA8iw3WZXp(}Cqb1C>8GH9wDDW(Ib#7ZQ4kxXeP#|I272NFMT5_3(i=@H6ScLUo^Vt0mdch36mi8_ z26xGUbFJ0~nZbrmHrmhNdr~Po{jqOsPubvo&nd+PiN|9c&5e7Zmy? zi1K36@MZTnIssv%xY*hG)79c8lp_`t>O5pi$~p7)fqVJsGCX)e#<{Z6bDX0z0Rx}^301#Ob$`9uw7Y7S6`eUhEGPln2yb(q=f07m@GG|?^K_DLoRhb zPxf2Az&n)rjOvnh;NUW)={K>Q7&2AQH^s0-S3WmF0gW(oBoF6mKPd}XJr`lGY`zKA MTIZ*@Y#C(zKmCz|L;wH) diff --git a/programs/system/cpuid/trunk/multipli.inc b/programs/system/cpuid/trunk/multipli.inc index 85ac12a97a..c6a9bcda20 100644 --- a/programs/system/cpuid/trunk/multipli.inc +++ b/programs/system/cpuid/trunk/multipli.inc @@ -130,7 +130,7 @@ multipl: mov eax, 68 ; AMD-K6 (p.30) mov ebx, 3 mov edx, 0x0C0000087 - int 0x40 ; eax - low dword + mcall ; eax - low dword and eax, 111b mov cl, [athloncoef3 + eax] cmp eax, 6 @@ -152,7 +152,7 @@ noAMDK6:cmp byte [f], 6 @@: mov eax, 68 ; Athlon/AthlonXP mov ebx, 3 mov edx, 0x0C0010015 - int 0x40 + mcall mov ebx, eax shr ebx, 24 and ebx, 0x0F @@ -165,7 +165,7 @@ noAMDK6:cmp byte [f], 6 AMDK7M: mov eax, 68 ; AthonXP-M mov ebx, 3 mov edx, 0xC0010042 - int 0x40 + mcall and eax, 0x1F mov cl, [athlonmcoef + eax] ret @@ -180,7 +180,7 @@ noAMDK7:cmp byte [f], 0xF mov eax, 68 ; Athon64 mov ebx, 3 mov edx, 0xC0010015 - int 0x40 + mcall shr eax, 24 and al, 0x3F shr al, 1 @@ -193,7 +193,7 @@ noAMDK7:cmp byte [f], 0xF AMDK8M: mov eax, 68 ; Athon64-M mov ebx, 3 mov edx, 0xC0010042 - int 0x40 + mcall and al, 0x3F shr al, 1 add al, 4 @@ -211,7 +211,7 @@ noAMD: cmp dword [smallvendor], 'ntel' ; Check for International Electronics CPU mov eax, 68 ; Pentium M mov ebx, 3 mov edx, 0x2A - int 0x40 + mcall shr eax, 22 and eax, 0x1F mov dl, 10 @@ -223,7 +223,7 @@ noAMD: cmp dword [smallvendor], 'ntel' ; Check for International Electronics CPU mov eax, 68 ; Pentium 4 / Xeon (model < 2) Willamete mov ebx, 3 mov edx, 0x2A - int 0x40 + mcall shr eax, 8 and eax, 0x0F mov cl, [p4coef + eax] @@ -231,7 +231,7 @@ noAMD: cmp dword [smallvendor], 'ntel' ; Check for International Electronics CPU @@: mov eax, 68 ; Pentium 4 / Xeon (model >= 2) NorthWood mov ebx, 3 mov edx, 0x2C - int 0x40 + mcall shr eax, 24 and eax, 0x1F mov dl, 10 @@ -244,7 +244,7 @@ noIntelP4: mov eax, 68 ; Pentium Pro / Pentium II / Pentium III mov ebx, 3 mov edx, 0x2A - int 0x40 + mcall shr eax, 22 test al, 0x20 jz @f diff --git a/programs/system/cpuid/trunk/rsatest.inc b/programs/system/cpuid/trunk/rsatest.inc index da67b46e26..76de551afb 100644 --- a/programs/system/cpuid/trunk/rsatest.inc +++ b/programs/system/cpuid/trunk/rsatest.inc @@ -596,12 +596,9 @@ module: ;p=1042128803351525332193283695592003066548124262686459610611886292768993621049491 ;q=1273712981880077616387281148672409277231717442781838063285512054053473668300963 ;n=1327372985619988354987062708438042005329282516404896732667039640816200186465366322016844458439816997285872910403676793109807015096535910981266920474905959833 -macro udata -{ - udata + num1 rd 40 num2 rd 40 num3 rd 40 iter rd 1 - openkey rd 1 -} \ No newline at end of file + openkey rd 1 \ No newline at end of file diff --git a/programs/system/cpuid/trunk/via.gif b/programs/system/cpuid/trunk/via.gif index 16a614bf31ab512143c22fab6e3576d011f51449..29975a331bf77c0142ca7fef62ef2ae0fdde4db6 100644 GIT binary patch literal 2262 zcmb7^c{H2(8po4J)GjE3*dj$*R8@#tZfuEVbljRMt!af&%e54zNwuR9OJZV;t%43} z2^G{bwap!C#a2sIW2vPYHEKGz!)eXElN-mmj?a za4`L0cTt!TU_!`^(;KI=Mh~Qz05B{L zcWNlBDU(?WI9=T#B3?mGv`VXV1e2K=ThgL#M4&oVN#6<5WFrddX8^u zoI$uZR*vc!MX%2fHfgCx?oKyP9+QQ)qElfnn?JCto+bP{)uq@ax2E@o2`$~^{;jae!O<(#~9JcZq(oDi+X8OCzXOI ztIJF&H7CP4L_Dtnzfm|dtw@p(JekF6)2?zF= zZw_minB+cex_%e==XT8IfaX}=)jHDp4UsgDMFpn%@t1CP^LmTa2Xc5Q=7TkkV!c#= zr-X6t?f6*45Xm0#lF9n+iM0NFP)eKyeq4FgdQ07k)~`DrkB-+bqsJImUAw~{nVOGY zX?|Z6o1w^`Q`l=D`O~54ByC$ZdO$O%z7(ICzS>gunu&;guK{$E?o$d=kpJC@VYQb( zo9APM>Z3$T|KcC=Gv~RVpUABgcwv}PTd}v*)0yI;RqFxSu#8RKo3gVqYcH|XC>$Uo zQe*Xb=pB<;z3fX_0|j$UFH_ULS<=$t#Z}Y%un`*uc-k*i6S)(L@$kReI@zUsVvRs$unCr6Y4~rW1 zGk&9np2Lq_b}7;s?Y=K8plK&kzHRym#j9w;CMvhJB_03zd{*BYq8Uwei1x~cW~`k% z&+nC^)ZQa0^~Hva)!4|rIkBT)^?1IeA{6rm&4JfnaJA9l-3@cv>oTuCWo3^y?B}Y^ zKF+tiE4nuSt7_~E)8K1jYH{Olt9P3IV_%Vx6Kls#GYXuVvaj^D*!jbC77Q|&^@@mt zsAPK+f6p{m9Jy-f=WD^+WeL<1snz0|AfVW(4~`Dj?d_LxHIU`W;BkW*R?$pjB{WjX z*cwGImAdZKt77sn8Pm6HAI0s3G5?XkS{_jqY;2j5VG|mT6I#%GdghCgAwbFngu*du zs`6JiaKBzo04`-w$DEN00A3bjn(3ggOwK=!~q+^e+W6g&V(R^>B&-#&>v7E z6Yzj3tkN>iL0X@HCnoyCsa9Zs>GD9=Mtny2>m5_=fRSIE`~MWYrhLF1;OYA)oUu~0Y!10sZO<6$r*taM z(l@}81eI~y@YO092b*|xbueyAAQd{XIL({x2^YO6@=9Jw1~QLCjHHn87=SxWP>>S7 z4rcnmXzD7 zzskyFMe3R?ajB7ATTuI!GRJT2Xpqcic%zr2BSc&tt=d{xSwB2I z)adlHva@$~c51NO?Ck7-yWqLm?lCSeNS@QQv$Gh5$4^a7ZEI|Xg@(bw!Sne0kHqAr zrKQm2^S<2gCnP1|?)O`$*sap*4S&T)L`8MA-a0lnJ($pcV_{-{eSM9>-n$}K4>x7h6?AR!2S z#9&@uakJfsz~VD7F;k@0Ac@LVQd5qNjjpY&#NP0=*Xm4x3;z(h{FGqA($&?~@$vD-#l=fVNoQnby}Z38jLYHS;iI9V4uHjaxZla*@^ZA@#^CXn$mV0N z+UxZCd3Sh#et&dwbCi>l@%Q`8%giJpAv7^EJvuwMx43a`Z?M$sIhN0!%jcb&oGOmY zF_O-IrqAgFd&6n3+u7>&z1#0mPEUx2hmyqQUa8ngM@MMZ)@G2)Lfq#H? zb99xHl=1icCnF>_GBiFrJaKPuvDNH5m(ZWf=g)3I^Z)<P>GcbK#UqQ#s?qA-?e~|*<(tXp_xk-uozpUt&f4qthrZ%Yq0|$C$9A?G z-aeVp!rt(**6c5l&F=R5i^1b800000$pA5v6$2`N5Ex04z#4uUQ>t9avSq>)@E$QD z@T4TknKNsSbjh=)&z}Y9u&}qLl|Fdjz)fR>v!u?FkAO-&$PZqMFW`_Og_%if)l4bC zIUI*HDbh^fz9tQe)@llZU3Bt3o^t2RIoHT1&RXXF1Sh)41ohjb!~ zE_}GT`_v zL4i$|8IKJTFwQ{ZWH;N92C*=i5IDvtC2~a)c2i*m9!OzyB=KlZj`Rh%-blHX(+W<1 zw3!r?jz!v7rj$~OY131K!6m1a9gbAs7q{hyS%*(xSk7W|X2zXB)7X}sif}e65DTrv zN0^OF3Zxo`0V=AeoghL-q-X`2DB?{uA!Soe`uynVss;wfAW3CD|2HOU0}`MraYfSF zCx|2x1R#+_o=Q?HZ?f9xnRDhE)j))Qs#cp*BYip0j9lt!Wp(ORTO&!+80+mo#o@W> zK>uk9pmv!FN~pC1K1HwP~t35I?nM3Kfj_ zdaGrNj9`e_r}*hwoo#52s_0Cdy2ztw_cr|Pj04*i)g$tGYA&n<&9iT^Emm584rtnr zB*YrGimbD4PGx3Kpdcq^KKxBoqv$si>3|z21=E)jCoiV+u zkOb&cPB;Rs3$S5NKe~pOQyZI!%6+0puyK~fo!@jqaDDg9C>j5h0-Mt@+;)tO^hU3% zSFVQbp9$miRL=UX0S|-%rC`8+a{x1v_u#7vVWFg#zB+U{i3<36mr*WQQY&ef(+JIo zOIIN0QWnP=*7^ardD**;=r|(@(&61;t&m;NIMntz@VO%iN_&Lm3hOoV91k=hy(J%R zGd#~3z$ig17;t!pC9gbE-_H{+seY$Z2V}v%-S+GnnNXg>Bc6XfAJRB~31NKt5t5C+ z3^$T@38XymDPQ@Xpbv(z0B}od5o55{D*z%U6CfE#ZRjMLClqL1{)*phh*c04zynz; zv)X)ewXvFv&VoH*LH8aNAPzM}C*@$$I2Kr~R%GI7GDMsT|7-QH20g1Lf`eg7K*%kD z90+&NDF_EYH-Sd9E{BPK(-hdAkhgFt3`9?Pf)ZI04sdueGeR(+jZZ-X-nYy+{fZapo7RJSf2_O<#MSIaI8&N0h^{liY6I18o+=UT!ZbR zqmzpX5tEY9=7c1eDI4{Jnhg;k%$%o?Akp)LT658sqGbQ35OHuzGf5&AH>9M@fD)dq z98zr#^^oH1t{kF&N><9c#Lz*R4rBTx06z~xD5lYdPCDrpLJI=HXT38bDR@GqB08DI zRInUxYpG+-qs<)2)G;C3BpwS{lZskLpaV$(3sL}O-o^)l9Hps&s%VRFTTmk?KZ1!NQU~vNDZ-6WRkQH8rbT2?DJyY4K(T zc!Xc(st{znfUnk^sR69=KZ#@l0Gr^9CN`l0fgnQ@TzJDK0I&l90N@3c%7ig2Ygt~r zp&W1E1!n z;Kd%wds$h;_PQ*X>>&=piyB;a8k^XJEL5NgUhKDi!{rHVDY4iW@PfXHJ*;~7K#4cJ zp$`K|FW0WS1L;P12jS4f4#=emWUzo28}<(`kkN;K9n@eI7NCR$Rw0W+?0^dc2?rgH zgjoN$F~BRaEf>bY*(1@xva5iH3SO{@Jq$#)o3OwkCc6V30{|IHu0d>_%p`aq7QFx% zhcolor or edx,0x13000000 - mov edi,header ; WINDOW LABEL - int 0x40 + mov edi,title ; WINDOW LABEL + mcall if lang eq ru load_w = (5*2+6*9) @@ -823,78 +823,78 @@ end if mov ecx,212*65536+10 mov edx,0x4000000B mov esi,[w_grab_button] ; button color RRGGBB - int 0x40 + mcall ; mov eax,8 ; LOAD BUTTON mov ebx,15*65536+load_w mov ecx,(30+18*11)*65536+14 mov edx,12 mov esi,[w_work_button] - int 0x40 + mcall ; mov eax,8 ; SAVE BUTTON add ebx,(load_w+2)*65536-load_w+save_w inc edx - int 0x40 + mcall ; mov eax,8 ; 3D ; mov ebx,15*65536+35 ; mov ecx,(30+18*12)*65536+14 mov ebx,(340-t1.size*6-13)*65536+(5*2+6*4) inc edx - int 0x40 + mcall ; mov eax,8 ; FLAT add ebx,(5*2+6*4+2)*65536-(5*2+6*4)+flat_w inc edx - int 0x40 + mcall ; mov eax,8 ; APPLY BUTTON add ebx,(flat_w+6+2)*65536-flat_w+apply_w inc edx - int 0x40 + mcall ; mov eax,8 ; LOAD SKIN BUTTON mov ebx,(336+(555-335)/2-t2.size*6/2)*65536+load_w inc edx - int 0x40 + mcall ; mov eax,8 ; APPLY SKIN BUTTON add ebx,(load_w+6+2)*65536-load_w+apply_w inc edx - int 0x40 + mcall mov eax, 4 mov ebx, (339-t1.size*6-12)*65536+(30+18*11+4) mov ecx, [w_work_button_text] mov edx, t1 mov esi, t1.size - int 0x40 + mcall mov ebx,(336+(555-335)/2-t2.size*6/2)*65536+(30+18*11+4) mov edx,t2 mov esi,t2.size - int 0x40 + mcall ; mov eax, 4 ; mov ebx, 277*65536+(30+18*12+4) ; mov edx, t2 ; mov esi, t2.size -; int 0x40 +; mcall mov eax,38 ; R G B COLOR GLIDES mov ebx,266*65536+285 mov ecx,30*65536+30 mov edx,0xff0000 .newl: - int 0x40 + mcall pusha add ebx,20*65536+20 shr edx,8 - int 0x40 + mcall add ebx,20*65536+20 shr edx,8 - int 0x40 + mcall popa sub edx,0x020000 add ecx,0x00010001 @@ -909,7 +909,7 @@ end if mov esi,[w_work_button] newb: mov eax,8 - int 0x40 + mcall add ecx,18*65536 inc edx cmp edx,40 @@ -921,7 +921,7 @@ end if mov esi,32 newline: mov eax,4 - int 0x40 + mcall add ebx,18 add edx,32 cmp [edx],byte 'x' @@ -951,7 +951,7 @@ end if mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -1029,11 +1029,11 @@ lsz button_text,\ sz default_skn, '/RD/1/DEFAULT.SKN',0 if lang eq ru - header db 'НАСТРОЙКА ОКОН',0 + title db 'НАСТРОЙКА ОКОН',0 else if lang eq et - header db 'AKNA SEADED - VALI V─RV JA VAJUTA OBJEKTILE',0 + title db 'AKNA SEADED - VALI V─RV JA VAJUTA OBJEKTILE',0 else - header db 'WINDOWS SETTINGS - DEFINE COLOR AND CLICK ON TARGET',0 + title db 'WINDOWS SETTINGS - DEFINE COLOR AND CLICK ON TARGET',0 end if diff --git a/programs/system/desktop/trunk/macros.inc b/programs/system/desktop/trunk/macros.inc deleted file mode 100644 index 29976779fc..0000000000 --- a/programs/system/desktop/trunk/macros.inc +++ /dev/null @@ -1,276 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -; structure definition helper -macro struct name, [arg] - { - common - name@struct equ name - struc name arg { - } - -macro struct_helper name - { - match xname,name - \{ - virtual at 0 - xname xname - sizeof.#xname = $ - xname - name equ sizeof.#xname - end virtual - \} - } - -ends fix } struct_helper name@struct - -; structures used in MeOS -struct process_information - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) -ends - -struct system_colors - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? -ends - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/docpack/trunk/build.bat b/programs/system/docpack/trunk/build.bat index 76cc3acacb..18c60bc04f 100644 --- a/programs/system/docpack/trunk/build.bat +++ b/programs/system/docpack/trunk/build.bat @@ -1,3 +1,2 @@ fasm docpack.asm docpack -mtappack docpack pause \ No newline at end of file diff --git a/programs/system/docpack/trunk/docpack.asm b/programs/system/docpack/trunk/docpack.asm index 258829dd9f..8b6c609e06 100755 --- a/programs/system/docpack/trunk/docpack.asm +++ b/programs/system/docpack/trunk/docpack.asm @@ -31,7 +31,7 @@ appname equ 'Doc Pack' dd I_END+0x400 ; memory for app dd I_END+0x400 ; esp dd my_param , 0x0 ; I_Param , I_Icon -include 'MACROS.INC' +include '..\..\..\MACROS.INC' start: cmp [my_param],0 @@ -90,7 +90,7 @@ red: mov ebx,3 mov ecx,sc mov edx,sizeof.system_colors - int 0x40 + mcall mcall 12,1 @@ -99,8 +99,8 @@ red: mov ecx,30*65536+FILECOUNT*16+35 mov edx,[sc.work] or edx,0x33000000 - mov edi,header - int 0x40 + mov edi,title + mcall mov ecx,FILECOUNT mov ebx,5 shl 16+100 @@ -159,7 +159,7 @@ still: movzx ecx,ah jmp start.open -header db appname,0 +title db appname,0 fileinfo: dd 7 diff --git a/programs/system/docpack/trunk/macros.inc b/programs/system/docpack/trunk/macros.inc deleted file mode 100644 index 14185dbfce..0000000000 --- a/programs/system/docpack/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/end/trunk/end.asm b/programs/system/end/trunk/end.asm index 9367242656..ca7750db0d 100644 --- a/programs/system/end/trunk/end.asm +++ b/programs/system/end/trunk/end.asm @@ -6,7 +6,7 @@ ; the same about ebx,ecx,edx include "lang.inc" -include "macros.inc" +include "..\..\..\macros.inc" meos_app_start code @@ -17,14 +17,14 @@ do_draw: mov ebx,3 mov ecx,sc mov edx,sizeof.system_colors - int 0x40 + mcall mov al,12 ; eax=12 - tell os about redraw start mov bl,1 - int 0x40 + mcall mov al,14 ; eax=14 - get screen max x & max y - int 0x40 + mcall movzx ecx,ax @@ -40,7 +40,7 @@ do_draw: mov edx,[sc.work] mov esi,edx mov edi,edx - int 0x40 + mcall mov edx,0x444444 mov al,13 @@ -71,37 +71,37 @@ do_draw: mov ecx,[sc.work_text] ; 8b window nro - RR GG BB color or ecx,0x90000000 mov edx,label1 ; pointer to text beginning - int 0x40 + mcall mov ebx,15*65536+101 mov edx,label4 - int 0x40 + mcall mov ecx,0x90eeeeee ; 8b window nro - RR GG BB color mov ebx,25*65536+30 mov edx,label2 ; pointer to text beginning - int 0x40 + mcall mov ebx,20*65536+64 mov edx,label3 - int 0x40 + mcall mov ebx,45*65536+41 mov edx,label5 - int 0x40 + mcall mov ebx,40*65536+75 mov edx,label6 - int 0x40 + mcall mov al,12 ;end of redraw mov ebx,2 - int 0x40 + mcall still: mov eax,10 ; wait here for event - int 0x40 + mcall dec eax jz do_draw @@ -109,7 +109,7 @@ still: jnz button key: mov al,2 ; now eax=2 - get key code - int 40h + mcall mov al,ah cmp al,13 jz restart @@ -123,7 +123,7 @@ still: button: mov al,17 ; now eax=17 - get pressed button id - int 0x40 + mcall xchg al,ah dec eax jz power_off @@ -138,7 +138,7 @@ still: ; jnz still close_1: or eax,-1 - int 40h + mcall power_off: push 2 @@ -158,7 +158,7 @@ mcall_and_close: run_rdsave: mov eax,70 mov ebx,rdsave - int 0x40 + mcall jmp still data diff --git a/programs/system/end/trunk/macros.inc b/programs/system/end/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/system/end/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/icon/trunk/icon.asm b/programs/system/icon/trunk/icon.asm index 74c8436bcb..26f6a44f97 100644 --- a/programs/system/icon/trunk/icon.asm +++ b/programs/system/icon/trunk/icon.asm @@ -19,13 +19,13 @@ ICON_STRIP equ '/RD/1/ICONSTRP.GIF' use32 org 0x0 db 'MENUET01' ; 8 byte id - dd 0x01 ; header version + dd 0x01 ; title version dd START ; start of code dd I_END ; size of image dd icon_data+0x30000 ; memory for app dd icon_data+0x30000 ; esp dd I_Param , 0x0 ; I_Param , I_Icon -include 'macros.inc' +include '..\..\..\macros.inc' include 'lang.inc' COLOR_ORDER equ MENUETOS include 'gif_lite.inc' @@ -55,7 +55,7 @@ START: ; start of execution still: mov eax,10 ; wait here for event - int 0x40 + mcall dec eax ; redraw request ? jz red @@ -64,7 +64,7 @@ still: button: ; button mov al,17 ; get id - int 0x40 + mcall shr eax,8 @@ -139,13 +139,13 @@ still: mov esi,iconlst call lst_path mov eax,70 - int 0x40 + mcall ; (2) terminate all icons mov eax,9 mov ebx,I_END or ecx,-1 - int 0x40 + mcall mov edi,[ebx+30] newread2: mov esi,1 @@ -154,7 +154,7 @@ still: mov eax,9 mov ebx,I_END mov ecx,esi - int 0x40 + mcall cmp edi,[ebx+30] je newread cmp esi,eax @@ -171,7 +171,7 @@ still: mov eax,18 mov ebx,2 mov ecx,esi - int 0x40 + mcall jmp newread2 @@ -206,7 +206,7 @@ finfo: mov esi, iconname call lst_path mov eax, 70 - int 0x40 + mcall jmp still no_apply: @@ -219,14 +219,14 @@ finfo: mov ecx,0xc0ff0000 mov edx,add_text mov edi,0xffffff - int 0x40 + mcall mov eax,10 - int 0x40 + mcall cmp eax,3 jne still mov eax,17 - int 0x40 + mcall shr eax,8 cmp eax,40 jb no_f @@ -285,14 +285,14 @@ finfo: mov ecx,0xc0ff0000 mov edx,rem_text mov edi,0xffffff - int 0x40 + mcall mov eax,10 - int 0x40 + mcall cmp eax,3 jne no_f;ound mov eax,17 - int 0x40 + mcall shr eax,8 cmp eax,40 jb red;no_f;ound @@ -406,7 +406,7 @@ print_strings: mov ebx,100*65536+180 mov ecx,(278+12)*65536+40 mov edx,0xffffff - int 0x40 + mcall xor edi,edi mov eax,4 ; icon text @@ -419,7 +419,7 @@ print_strings: add edx,[positions+edi*4] movzx esi,byte[str_lens+edi] inc edi - int 0x40 + mcall add ebx,14 pop ecx loop .ll @@ -504,13 +504,13 @@ read_string: pop edi f11: mov eax,10 - int 0x40 + mcall cmp eax,2 jz fbu jmp rs_done fbu: mov eax,2 - int 0x40 + mcall shr eax,8 cmp eax,13 je rs_done @@ -548,7 +548,7 @@ read_string: key: ; key mov al,2 ; just read it and ignore - int 0x40 + mcall jmp still ; ********************************************* @@ -560,64 +560,64 @@ draw_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW xor eax,eax mov ebx,210*65536+300 mov ecx,30*65536+390-14 mov edx,0x13ffffff - mov edi,header ; WINDOW LABEL - int 0x40 + mov edi,title ; WINDOW LABEL + mcall mov eax,13 ; WINDOW AREA mov ebx,20*65536+260 mov ecx,35*65536+200 mov edx,0x3366cc - int 0x40 + mcall mov eax,38 ; VERTICAL LINE ON WINDOW AREA mov ebx,150*65536+150 mov ecx,35*65536+235 mov edx,0xffffff - int 0x40 + mcall mov eax,38 ; HOROZONTAL LINE ON WINDOW AREA mov ebx,20*65536+280 mov ecx,135*65536+135 mov edx,0xffffff - int 0x40 + mcall mov eax,8 ; TEXT ENTER BUTTONS mov ebx,20*65536+72 mov ecx,(275+1+14)*65536+13-2 mov edx,11 mov esi,[bcolor] - int 0x40 + mcall inc edx add ecx,14*65536 - int 0x40 + mcall inc edx add ecx,14*65536 - int 0x40 + mcall ; mov eax,8 ; APPLY AND SAVE CHANGES BUTTON mov ebx,20*65536+259 mov ecx,(329+2)*65536+15-4 mov edx,21 mov esi,[bcolor] - int 0x40 + mcall ; mov eax,8 ; ADD ICON BUTTON mov ebx,20*65536+129-2 add ecx,14*65536 inc edx - int 0x40 + mcall ; mov eax,8 ; REMOVE ICON BUTTON add ebx,(130+2)*65536 inc edx - int 0x40 + mcall mcall ,<20-14,8>,<260-23,32>,30+1 shl 30 ; IMAGE BUTTON inc edx @@ -645,7 +645,7 @@ draw_window: newline: mov ecx,[edx] add edx,4 - int 0x40 + mcall add ebx,14 add edx,47 cmp [edx],byte 'x' @@ -673,7 +673,7 @@ draw_btns: push eax mov eax,8 - int 0x40 + mcall pop eax no_button: @@ -702,7 +702,7 @@ draw_btns: call draw_icon mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -778,10 +778,10 @@ if lang eq ru db 255,255,255,0, ' ДОБАВИТЬ УДАЛИТЬ ' db 0,0,0,0, 'НАЖМИТЕ НА ПОЗИЦИЮ ИКОНКИ ДЛЯ РЕДАКТИРОВАНИЯ ' db 'x' ; <- END MARKER, DONT DELETE -add_text db 'НАЖМИТЕ НА ПОЗИЦИЮ НЕИСПОЛЬЗУЕМОЙ ИКОНКИ ',0 -rem_text db 'НАЖМИТЕ НА ПОЗИЦИЮ ИСПОЛЬЗУЕМОЙ ИКОНКИ ',0 -header db 'Менеджер иконок',0 +add_text db 'НАЖМИТЕ НА ПОЗИЦИЮ НЕИСПОЛЬЗУЕМОЙ ИКОНКИ ',0 +rem_text db 'НАЖМИТЕ НА ПОЗИЦИЮ ИСПОЛЬЗУЕМОЙ ИКОНКИ ',0 +title db 'Менеджер иконок',0 else if lang eq ge text: @@ -792,10 +792,10 @@ else if lang eq ge db 255,255,255,0, ' HINZUFUEGEN ENTFERNEN ' db 0,0,0,0, 'AUF BUTTON KLICKEN, UM ICON ZU EDITIEREN ' db 'x' ; <- END MARKER, DONT DELETE -add_text db 'AUF UNBENUTZTE ICONPOSITION KLICKEN ',0 -rem_text db 'ICON ANKLICKEN; DAS GELOESCHT WERDEN SOLL',0 -header db 'Icon Manager',0 +add_text db 'AUF UNBENUTZTE ICONPOSITION KLICKEN ',0 +rem_text db 'ICON ANKLICKEN; DAS GELOESCHT WERDEN SOLL ',0 +title db 'Icon Manager',0 else text: @@ -806,10 +806,9 @@ else db 255,255,255,0, ' ADD ICON REMOVE ICON ' db 0,0,0,0, 'CLICK BUTTON ON ICON POSITION FOR EDIT ' db 'x' ; <- END MARKER, DONT DELETE -add_text db 'CLICK ON A NOT USED POSITION ',0 - -rem_text db 'CLICK ICON POSITION; YOU WANT TO DELETE',0 -header db 'Icon Manager',0 +add_text db 'CLICK ON A NOT USED POSITION ',0 +rem_text db 'CLICK ICON POSITION; YOU WANT TO DELETE ',0 +title db 'Icon Manager',0 end if @@ -835,12 +834,12 @@ rep_text_len: get_bg_info: mov eax,39 mov ebx,4 - int 0x40 + mcall mov [bgrdrawtype],eax mov eax,39 ; get background size mov ebx,1 - int 0x40 + mcall mov [bgrxy],eax mov ebx,eax @@ -860,6 +859,7 @@ calc_icon_pos: movzx ebx,[warea.left] add eax,ebx jmp x_done + no_left: sub eax,9 sal eax,6 ;imul eax,64 @@ -867,7 +867,6 @@ calc_icon_pos: movzx ebx,[warea.right] add eax,ebx x_done: -; mov [xpos],eax mov [ebp-12],eax movzx eax,byte [ebp-20+1] ; y position @@ -886,7 +885,6 @@ calc_icon_pos: movzx ebx,[warea.bottom] add eax,ebx y_done: -; mov [ypos],eax mov [ebp-8],eax ret @@ -899,7 +897,7 @@ load_icon_list2: mov [warea.by_y],ebx mov eax,14 - int 0x40 + mcall add eax,0x00010001 mov [scrxy],eax @@ -917,13 +915,9 @@ apply_changes2: mov eax,51 mov ebx,1 mov ecx,thread -; mov edx,[thread_stack] mov edx,ebp -; sub edx,4 -; mov [edx],esi mov dword[ebp-4],esi - int 0x40 -; add [thread_stack],0x100 + mcall add ebp,0x100 mov eax,5 @@ -931,7 +925,7 @@ apply_changes2: wait_thread_start: ;wait until thread draw itself first time cmp [create_thread_event],bl jz wait_thread_end - int 0x40 + mcall jmp wait_thread_start wait_thread_end: dec [create_thread_event] ;reset event @@ -942,7 +936,7 @@ wait_thread_end: jnz start_new close: or eax,-1 - int 0x40 + mcall thread: ; pop ebp ;ebp - address of our icon @@ -953,19 +947,17 @@ thread: mov [create_thread_event],1 mov eax,40 mov ebx,010101b - int 0x40 + mcall still2: mov eax,10 - int 0x40 + mcall cmp eax,1 je red2 cmp eax,3 je button2 - cmp eax,5 - jne still2 call get_bg_info mov eax,5 @@ -985,10 +977,10 @@ still2: call calc_icon_pos add ebp,-12 mcall 9,I_END,-1 - mov eax,[I_END+process_information.x_start] + mov eax,[I_END+process_information.box.left] cmp eax,[ebp+0] jne @f - mov eax,[I_END+process_information.y_start] + mov eax,[I_END+process_information.box.top] cmp eax,[ebp+4] je .lp1 @@: call get_bg_info @@ -997,15 +989,9 @@ still2: .lp1: call draw_window2 jmp still2 - key2: - mov al,2 - int 0x40 - - jmp still2 - button2: mov al,17 - int 0x40 + mcall mov esi,[ebp+8] @@ -1020,13 +1006,9 @@ still2: jne .no0 and dword[finfo_start+8],0 .no0: -; lea ebx,[ebp+19] mov ebx,finfo_start mov eax,70 - int 0x40 -; dph eax -; cmp eax,1024 -; jae still2 + mcall jmp still2 fill_paths: @@ -1035,7 +1017,6 @@ fill_paths: movzx ecx,byte[str_lens+ebx] add esi,[positions+ebx*4] push esi -; mov edx,esi add esi,ecx .l1: @@ -1077,7 +1058,6 @@ atoi: ret itoa: -; mov esi,[current_icon] add esi,2 mov ebx,10 mov ecx,3 @@ -1088,7 +1068,6 @@ itoa: mov [esi],dl dec esi loop .l0 -; and byte[esi],0 ret draw_picture: @@ -1138,7 +1117,6 @@ no_correction_pixpos: stretch: cmp [bgrdrawtype],dword 2 jne nostretch -; mov eax,[ypos] mov eax,[ebp+4] add eax,ecx imul eax,[bgry] @@ -1147,7 +1125,6 @@ no_correction_pixpos: div ebx imul eax,[bgrx] push eax -; mov eax,[xpos] mov eax,[ebp+0] add eax,[esp+8] imul eax,[bgrx] @@ -1163,7 +1140,6 @@ no_correction_pixpos: cmp [bgrdrawtype],dword 1 jne notiled -; mov eax,[ypos] mov eax,[ebp+4] add eax,ecx cdq @@ -1172,7 +1148,6 @@ no_correction_pixpos: mov eax,edx imul eax,[bgrx] push eax -; mov eax,[xpos] mov eax,[ebp+0] add eax,[esp+8] movzx ebx,word [bgrxy+2] @@ -1187,7 +1162,7 @@ no_correction_pixpos: lea ecx,[eax+eax*2] mov eax,39 mov ebx,2 - int 0x40 + mcall nobpix: @@ -1234,7 +1209,7 @@ no_correction_pixpos: mov ebx,0x3000 mov ecx,52 shl 16 + 52 xor edx,edx - int 0x40 + mcall .ex: mov [load_pic],0 ret @@ -1244,20 +1219,20 @@ draw_text: mov esi,[ebp+8] add esi,3 push edi - mov edi,header + mov edi,title mov ecx,8 cld rep movsb pop edi - mov eax,header + mov eax,title news2: cmp [eax],byte 33 jb founde inc eax - cmp eax,header+8;11 + cmp eax,title+8;11 jb news2 founde: - sub eax,header + sub eax,title mov [tl],eax mov eax,[tl] @@ -1269,31 +1244,31 @@ draw_text: mov eax,4 xor ecx,ecx ; black shade of text - mov edx,header + mov edx,title mov esi,[tl] add ebx,1 shl 16 ;*65536+1 - int 0x40 + mcall inc ebx - int 0x40 + mcall add ebx,1 shl 16 - int 0x40 + mcall inc ebx - int 0x40 + mcall sub ebx,1 shl 16 - int 0x40 + mcall dec ebx sub ebx,1 shl 16 - int 0x40 + mcall sub ebx,1 shl 16 dec ebx - int 0x40 + mcall dec ebx add ebx,1 shl 16 - int 0x40 + mcall inc ebx mov ecx,0xffffff - int 0x40 + mcall mov [draw_pic],0 ret @@ -1306,24 +1281,22 @@ draw_window2: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW xor eax,eax ; function 0 : define and draw window -; mov ebx,[xpos-2] mov ebx,[ebp+0-2] -; mov ecx,[ypos-2] mov ecx,[ebp+4-2] add ebx,[yw] ; [x start] *65536 + [x size] add ecx,51 ; [y start] *65536 + [y size] mov edx,0x01000000 ; color of work area RRGGBB,8->color gl - int 0x40 + mcall mov eax,8 ; button mov ebx,51 mov ecx,50 mov edx,0x40000001 - int 0x40 + mcall mov eax,5 mov ebx,1 @@ -1331,7 +1304,7 @@ draw_icon2: xchg [load_pic],bl test bl,bl je draw_icon_end - int 0x40 + mcall jmp draw_icon2 draw_icon_end: @@ -1341,21 +1314,21 @@ draw_icon_2: xchg [draw_pic],bl test bl,bl je draw_icon_end_2 - int 0x40 + mcall jmp draw_icon_2 draw_icon_end_2: mov eax,9 mov ebx,process_table mov ecx,-1 - int 0x40 + mcall call draw_picture call draw_text mov eax,12 mov ebx,2 - int 0x40 + mcall ret @@ -1364,26 +1337,18 @@ yw dd 51 ya dd 0 cur_btn dd 40 -;xpos dd 15 -;ypos dd 185 draw_pic db 0 load_pic db 0 create_thread_event db 0 image dd 0x3000 -;thread_stack dd 0x5000 - -;icons dd 0 - I_Param: icon_data = I_END+0x1400 process_table = I_END+0x2400 -;I_END: - bgrx dd ? bgry dd ? param_str rb 31 @@ -1411,8 +1376,5 @@ sel_icon1 rd 1 icon_count rd 1 gif_file rb GIF_SIZE strip_file rb RAW_SIZE -;I_Param: - -; icon_data = I_END+256 I_END: diff --git a/programs/system/icon/trunk/icons.dat b/programs/system/icon/trunk/icons.dat index 53c680b9db..baec301cd6 100644 --- a/programs/system/icon/trunk/icons.dat +++ b/programs/system/icon/trunk/icons.dat @@ -1,14 +1,26 @@ -AA-Sysxtree-004-/RD/1/SYSXTREE - * -AB-CMD -023-/RD/1/CMD - * -AC-RDsave -001-/RD/1/RDSAVE - * -BB-Fasm -012-/RD/1/FASM - * -CA-Copy -008-/RD/1/copy2 - * +AA-SYSXTREE-004-/RD/1/SYSXTREE - * +AB-COPY -008-/RD/1/COPY2 - * +AC-RDSAVE -020-/RD/1/RDSAVE - * +BB-CALC -006-/RD/1/CALC - * +CA-TINYPAD -011-/RD/1/TINYPAD - * +CB-KFM -007-/RD/1/KFM - * JA-VRR -009-/RD/1/VRR - * -IA-Board -022-/RD/1/BOARD - * -BA-KFAR -016-/RD/1/kfar - * -JB-Animage -018-/RD/1/ANIMAGE - * -CB-Tinypad -011-/RD/1/TINYPAD - * -IB-AC97 -002-/RD/1/AC97WAV - * -JC-Docpack -010-/RD/1/DOCPACK - * -BC-Calc -006-/RD/1/CALC - * -HA-MTDBG -029-/RD/1/MTDBG - * +II-C4 -005-/RD/1/GAMES/C4 - * +JI-MINE -017-/RD/1/GAMES/MINE - * +IH-TETRIS -021-/RD/1/GAMES/TETRIS - * +JH-MBLOCKS -013-/RD/1/GAMES/MBLOCKS - * +HI-PONG -026-/RD/1/GAMES/PONG3 - * +GI-15 -000-/RD/1/GAMES/15 - * +HH-LIFE2 -015-/RD/1/DEMOS/LIFE2 - * +BA-FASM -012-/RD/1/DEVELOP/FASM - * +JB-ANIMAGE -018-/RD/1/ANIMAGE - * +CC-CMD -023-/RD/1/CMD - * +IA-BOARD -022-/RD/1/DEVELOP/BOARD - * +JC-DOCPACK -010-/RD/1/DOCPAK - * +BC-KFAR -027-/RD/1/KFAR - * +HA-MTDBG -029-/RD/1/DEVELOP/MTDBG - * +AH-PIPES -030-/RD/1/GAMES/PIPES - * +AI-FARA -031-/RD/1/GAMES/FARA - * +BI-ARC-II -014-/RD/1/GAMES/ARCANII - * +BH-XONIX -024-/RD/1/GAMES/XONIX - * +GH-CHECKERS-002-/RD/1/GAMES/CHECKERS - * diff --git a/programs/system/icon/trunk/iconstrp.gif b/programs/system/icon/trunk/iconstrp.gif index 41e8f08760fdd29e48c6da3724dc62b210b58253..8ab3617b925247b599b3ab18799cda8b0bbf1d71 100644 GIT binary patch delta 15031 zcmW+-2{hE-`~J+>#=bAv8ar9r$G(M85)zYjY&F&h8S9LFEHMZ}k*EyWLbk-%Cp#&V zEQ5$_gUVDi|L^bro_p>&_c`}G&$;Kh=brPv=f3|uN5e4|mgX>R4=4bzL;!%yZ)Oni zU#R_Wg8ql4{{IqSFc|+s0006sKma;~PUka%i;3|;p<>F)%34}*7z~C$*dP!Hv=|>6 zPeBvNI4llFq!0)MB9YiY2yP>_k;!Dre?g^eY;4eh|2QCUI2?mRXwhgJXf#@xPYVJ} zqTqZGB18)YgDdl)P$&XnlHAsSq>CYf$^Xf>wNWN1G!$x5Ss8BwgW#|b91hn;W>C>^ zBnl4?ZlEjk5gHf(nj|KMgS0`!_)rKWLJL8F{HM7=32viPHyFhKw22Tx!z2twfMHNX z9GV27P{g3n281#l2cg@Dp$WkaI2#CnhnGRi5PS_NWeQ~jy1^HWMxcol6haGv#v&0! z8ijys`0pqHk%)$1alxpD4II1-%||Dr;6`Os0*cy(CzGjSP;?s_rVOPcux&`V793TE zgYn^TBqDJVkHe54c)Sgqi1;5J5r?uN5XoqCTLVgrJ_)1KCy@{c3fF)pv`u1BR5}4d zCKKQgT3fJ$rwT~j6fih2=Gaw4W$90WkW!r8i-h7mY54KTmBjV|(Ni8h`3{hr; z!UvP-G!mLdX`?qZ@DTwmvX~JX4>y9rZGsUnF(gzOWduc2=s5C!_l!;^(>ErG8x%4e zNkHQ8L<+sF0n+xLG#T}umjon=MARa+l~E`VIt2?u5D)|cl01nb5>XUNFbzX*z{2Po zWGDh*ge1U`!Eh82g+q|ZcnT3gr=zscXcS5d!T>}elJJJIoqhJ;vpbKhE}BhqwKu-VRyGI# z=l?!W9Dk~(olv9lA&EEbiByS>u=ePcTltbNtj+SUOj4>cq@T7?)_Py&MmMeQU`q zcU*4>TELmNJGBz2Sw(rBOj3G6GM))rxxpTJE}Z8-sHY1eT0ccPe$$Gz+-xLmdQtpl zYa*FMH|1`w4E0_2*7+>n4zK(W`Az7p_T?@1JYi-i+o|M8#X&WCo*uI#!rq&>oFe&P zWBDp1Sy|Q?^a!<*ru>q)lCD-D)}Nt1Nc7~>{%UlU@7%f=@bJ?29HuOtMzWkr6vXCz zw(&SZE(e^%*PCOcxVe&Rb{`93yCJKxhL3vQo7ccB1{S-LH_R-BQIZVi8dfTP0M=Q{ z&OG-W^(;bK9IW7^;pA)Z@E5KszslYdbq2h#JeqNl)pqk$jQ}I+CD2^_$ESMyE0vsK zj5|D2G0rSNej)kX^V)@2$RsCQ)$|4~<6SSP`b9iUC8Gk2?!f_HrmIt%(#@|0Lc~#g zy>B`ms2E+CLUU?h(lyiNtoc3`I0r%cUcRk++fhgMfA?$galM?`r7!h(S?>m8(yx_k zt524s=Vkp*1(RrMyD&9k|5>|$koM5F)l50@P_>F7ac^qo`Q6d-{U$rR8e_ik`MjPH zyJC0<>k&aWcwEVD`|E@eTZz_`nZ!xZv~oHXGHPX^9-gI(u@8JRb4&Eu&ri3M-X(sz zl%(GBNf$T?=l8hxu!Y?de`^D0lvs#g287l1lH|o4j%H1I$tB%0BssJ9ht}>G+#v1?wf9 z^@bsyU(`T}clxvi&hcNLk_|6VFq$l!NVjkwDB7>3k7Ua@@~+^Srl5CM|C z6vASYDXTtdl;Sy0O?SM)a;BVYrY!Or=Xxbs_@0)zDk7fOnh2Kf5F5}m;7=DRlRdSL z8;~I6@M3N$_lOkqm|urqsXSi7uX zIeb+SU{Qt}t2J--^Tr5f4505`u&}fYEk7()A!1J(TQbPHE3f$!2*xTCY2!lPG9q!0 z5>9QQ%$jT`xlgPsI95UIRXg?a2QeLI$-?@ zI$Y8cR^`!f$GW!2F3hQk<8pAXb!7Tvp~+dUnIxiph)$wqP<$op$I9E!+A`zoKE5(n zH`by?**r+d$=Jg7OVElx2z2&T>y0I_9RI-#YB)hTv(bHAJo_ox))!vi#t*1}c|WK; zxYAhgrpDOuHD&DInGS!`3lO@in6 z9sKJuHg%LGt{wCgcD^`%bi-U%oLtdB(qYYs=cSoUiJ12*UmDxAj&>5l$Wkl}&oyMY zBE>;CzT|4hvF{EyWM@u@q)S>Qo0gP6pW4R5m9fD*y!KFu<`$Z~iSf3l#23nA>Kis` zYywgaDG-v?(p>p2O%F$vzWxTjcJB1{5H+* z`cZk~&e&UfGLxEe-K9_#<~caL2XN$`PK4l+DXA8BK%tP7TZ}fG8ze0o?d=9(Eui2qu(V8KS`Iudd?OSMPt9mctDvMk zZc9p~r`0`6cS5JW5KGS@;9`|Q&A7CybWD1ia#|fB6+y@-rKc0g8BbuDUGVf?bSjx1 zdJCQ*fXu)tXNZt8$Kjc|xQuB?MiCA$<;>xq!|bCS;biWrQhbT!-N*+OoDO zSzB!>pkVL;Ec*u{`xh!(8z(E*n9aryaM~zI(z3&4@xX07$QRGl0~&1uFr&&KW_J8l zz8sN0JhuwyDwL0-3NK`t!FyYYzlvG#c8*9|jsQ(TViV8$9(4Lt?x`xg=vEq#_o5%=jVJ+?E(+WeAX$vcRLUSPm*Xa2;B6%r;^V(33?D& zh%PFO)GkD9;;jz~v8M7qiylW7i!>CxC?b@7F0{eiF3^w6KXWRFla|x@ z`Egg(wm6CS+0=|+kVF>!*Dbd~UAFztyU5fr6dqT2Yx3z3q9D^W4Q zIg6ESF*Zs9;3WpA60BH~38i2@4aZ}nA!1Z&O2}nVDXpNF?x)Efz6b5n6=ow#f47&q zPbdA`ETyGAJ;0~{KiKg+TBWyeWq+#5IKMyrc*1ooB4R&t!|s zPJPd+AUu;2FLQ*H%M_Q(4?k7xz$yPJlkO;2EIsaD0$Eq;~%XwR}7PBb3IJl~Ie@mb}W+g##j_7^+w z(k0(g^6e*To~bjUfTvjD{Xc*w4)h?Z5?x#w)ln&ER0(dV#EKKqbCu!gprAjY7(Zg1 zU!@=eU}dEd@#0mvXR45RVv=7KD>5ywqY7VLRnS39nX7uDQYoD^^lCk-M51=JlD{VewZjezhGsHFG*Ola&MmRaDp0tLrPyyn2~lN4Q$Y5U;|No@vPZUeDs+Fn6Z%3a%kR{PhNw zCy}F?UxFy;{Mr*uoH_zPGyp2mD688j@7xG|CF@<#c;;=R+G9Djzm47^jcN&o7o3|e zFkYSCXiJSd1n$f=WuO|3B%0-4J@xB&`B@vpk8i&Ew%KZ=SrGd&0M~q7_l^DE<}1$4 zW~xaTt%f%)U*5R=edGECytoNy8NIoq`^NLt8-DDYp;I8=$4NfdT9CS}E~+g-x-B8j zEq60oc!FE~uC>@ZYxI&@<2YOWU$x$R1xozV{NQhkEurKhrH@AAa~?Pw}oA6efqZ*x787G z?d{{YZ?CDg3_V{heNPFj(w++#4Q;(a+zjW{*JLX=!d;hny z@k?SC!@2XLMAvFYyPtE{m~P9Lw_RJhEld8*w)8HSV%d8%*164w5J49&lfcz7+0EE$TDzY?qcbxHkT!^^adc*`OtuqFa3iIx0+K8+N}9ImNuwu-(yb27pT;mSw``p&v=xlMLk0}pM)*lv~eN!0L6 zO?KNMU((oF5c-4*oT|oMkcsKtVt<+e z=jR2$L@Umpe8Uy6;fI|`kYMh6c(&9SP$5?~-+Y!(4%?jf{>a3(~rKD8p&QQ34l<>u`)ZpW3_Kq|cFkL>T{Wl^yWszTS{2?3*|@Ux1ED z_^IHD!x~p^s`%0T#3}p)#?o`*-}VH+9r9NX#8fiLu$mAtkKs6(WEpc~JDC)EH>oT; zNuLMA-%WAjrKa;8GG|orxk2iS1ozxd%$GLxi+%0cij9Eq$rtu_ zz`GKVoXz}T>^!+-erSxP*HyMl9}MSPfRmUe)fZ;e7e45NX%|6qr1?Gu_rfT8VVQfe z8NOgRwy?M}-~W&~XmW9OVKIodxLdn`r!0)^WN*33X$LR-!Hg|k^ju6&Ts%6N*R!Fr z7=T&hsO;7YMt7H%YUlZ+mp30SeUw_54P2PJ?l%8$VMc#>;vw@Y_sUxB0`B^vz~nMh z*CI`QY5)4tBglg4F7-S2!pZejM(qM9X!Wo9s!$gdQc9JZq#Eol_e(9CXU$(R09QAB ztwyp7mo7*eV89==);<6ry?^u7Hr!6TUuEM~6s;FN1ao-?tyz|?IrFR@jx8Qat$W3- z_1ALD@O^V}TZP-K2E=iBm#)Ym*<;4P83s`?anzx2>lSVs10`Q=8RK8C|NAN$w4AiK zHWRr1k+ddbu!xgh%^hDmTeq&BwQ-T>+x@!LfA3Z;cQLE6yWb29zD5OYSXh5`p?z*(}<{}{-EBbz{($#a=#Vt4#?o$I*VIJU z&e1MQUC8!O*Upm0f%uK>L7ts?>jM+UHb(Ux=)>YJpXT9Q*AF+FAJ-Y%P~P2-JbT=e zhYpNG(CME;T?Y{yKNarnxYzFxX@^1C`%BjQ5$XGn2;1vHAm3o-bfX`l8I>Y7EFr<( z%UK8MWk;}JcHC2XdN(~Sn+coEl;XGjuMYC4o5er)H{t2;B2CsO?tn9mF2=`t8Iuh% z{s`zBi6du$5G^LW=AQ^dPzWEJv)11x##T%Blrz+3uJqT5^q-j1G?ZqT^8{{AHCKzWaQx{rPKLZPRBy7KN>GEVPAcVyko{sn6|adY3b);z)v zAK0DVmel_{dzzKT%P=9m?V{ywBwu@*JDXZShhlEobc-;jB-Aymsh|(L80Z_5R3d zMRF0yk5$3x!q>?pIR6<}jtf;EUS5qf57+s*dHtC|mF%0jTdz!NoJCVuwlMc=J~!$- ztaHVYcAVQn*2W)3lXhJ@BY7e1s{MQJq##}~s7o7-+9xlh>7bT$RTFK9bD_g z%AU~O0!n+d#L?n|}|xYJ2_?Kz!eTX~65MhN#8$l~1A&_~qY8+$Cp^y~5C z3we~6caeSofV;scjCHek`=z*UGqzDC_SUX z^qW-sF>R}1=)rk;0QtO}9lg!40ot~8Eh}zEA_wfdHPGM@hboC zmWt1k?qAi(p2uqF9VYoF>i+z3Q$yf8Uvn0iRbgh5VZtKp#c@{Lb;kDWJV)5%6_(oO zEES>H8C!Fylf#?sXYOYxV_FT+KztD&9h)m!Kmuu`FJ2|rUV%j#Cu@w8K&eP^ql;Ku z2@`7k*EB1&L79Qo#aF@^tL$c)~8c4w*mvjzx((~&wV|cY3;e~ zzQAG5QhT>ZA@N?9EhgGCm*wT3jk|)z`SC(J`@hrE{_cKRM5$hiVz*W%-CFcn;uZ_E z4hVEfR_)Rj4XBtvJV`j~ZR4?GoojT8I&iHN7OG3En>(zYK)2jR`-thLO)~NPotKVk zAnd;O+3?_Y_xL@)b1K1I)^nv0eaUt9=7c`_6!JEeaz%ru>jy@m+PxgLUg>ypdwmun z0%DE(Z1C;#-9iKUY*XQ~=nIeiOKIl~3K>6U+wXRFe7w-v5&-pxuhAx+Y#M!wK54!>7~2OsMI^pUPZs* z{O`eQQ3t2fMEx;HX%gx(iLY0dzepA7EDmI}%6q1q6YG0BncoKmPsyAKbSUp zPZLjs)bbISf7zauhfrjsnkoExub-z;NM@%(;+bLqTOYv?&P#v{h#h5|<%E@k2Jdsd zjkU$Z;{lc~8Vd)r9sWL7zm!E=|J@(^*`YHDP$?AF4N|eNxN{Eg)F1~X z;(!2zKwh!Df)eN~&qEn%Hdfw8^)fp|onq=MKu=Hv&Vn2|?DC!@nYWNC*{`EOf(jH9 z=>4h@W4|78pFHg43pvRGNKZmGUGCgv#%~t&;EI4^C>zTi+8D~ylM_pPsUfk+9i&y3 zwusRhlIzk=6zC7-Gy-~I!?&-hZsld9)(oJ zE+b}kz=M@ZDitEV&sNse^YX=`O$+1AQH;5hfap)=UK#A48D#&D(z9#krkJ#`=S~8A zr|G5~D`Jp>mJ4D6V%4X=#a~5oUwjqs;(gKo6r>U?42CsSiHtt8Mo#r)`-iWczDct$ z1B1oal_i)E?`OOGmO9~u3kFB#baC7xBdz9V+|W)Nme?yb8VqGnD19}#0fP;= z>-_$GBxyCTr_A)UlEm$vaj)D4;0o00FTAJvk}OYbg*O}f`-ttE*>hL>&j*8WbF8v_ zWV0YWN!|IDNe&4*dhmQri0f^WBN-3xYZ34My3$e{J6Csh*+!!m54-w1Pa*F`fA(K| z6a!^C2(OPe#N*k&I(GkEtB?DZ;f4X0BEZ@*4Zu0Ac(xcUNszAr`16+vIt}Xqm)%W{ z52mu-fU-%f2d8QWAemL^y*ux;5}CA++@Ua#>YWhqC9V~AXF{o%!RtibCxGl%*pS9J zC{x(Q{a3NrfHvxEhGwtV>6;A1;05V(S>aYm%#yzc1Vmm(Uwh&qoBe#?CWhyAuKK9A zgvD<;y?l;&(9UB*Ur2Q7dZXk4d5yD>Sd)1cKgS+2(Z=I@blCVo&@%?j}(NSRXJ21u~s$L2?tM0nx7g9L{Kv2n5|{5k%vd|1+gIgne%tbkDg-Z(TS$a?D5Le#X-A zYoq&=wm+`CY4Z(9@C7t z12lP((kwB5(;lJ$F?f$q07%%yIK82n%g7j(ASd#~m>m@_I&UP_&?ElDSaJp;^|eRp zM~|dXkIeHPxlZGBLbC|UL@B0MF(6H_pCpnLFMgfnNt&MfYQo_E(JS9+a#77R17<4swdX%n8{>j=%($Q&01~2`8iheb#QKddfK1f- z)nn+(`|Y-`SZDU# zXg0K!H@kXa!10Qiy^Gl|e>1D30jtcu+stOR7eMaEX2>6AMv~^9Nr0E0xuxC}Q~N=) z08GDy6%zz)j(XJZ95&$6Z|cM~5YRke*K96GF>{zV_uC$HW*%}98nUe!yl-#jc4Y_| zV<8AN7lN5b)mU(Haj=msV&^U5wk_iH;**21dJ^P^1ORIfiOS#IK}wr{yy)DWqLC_)1K+!S9mtFWzN_4 zE{Ne$z4wojh6|owB|Ks(`ubiMU@gxi*SWkWJ{c}-9@d|#3`!WX5yFH`(3LGfAq$a3D(D>H%{hnY<5~Oj&A@g zHXkKy!0I;Ov9oZw1h&c7EY~NMqHXxeXZiV3oK0<511DMEOtQr`K9U7Y- zHv9`VQd^U}W|J1GQ~a*Bg84S=CpI90u6V7jL~T1eye;FrjkHuYUS;K$W=YjIA9NVwLg2y&U(jQ`Q41o#Sie0_QvWTO|IX% zrGM*!`bVqSTZoT#j%IC7<;hO(Y+c_>8PwizU#OSnc97B6$v%D4))iIfyiUl0Ba({J|mU=O-KCS!U?0@5Na^{ZGLc zu>paf0$m*=T+e$4ehM0Md=UF7{G+2Ei=&mtEE?SBBRU1M928 z=UyhidsXXH zscSLjFD@)d%_oF4VCK}x)7M=-axdh;=hs*kzq-1vsFTa37MI2rsL6|KC5t(9*RLn? zUrr$Ffo@x|i?@wm?|fWbSzFu+%-G9cd}8B%Fi`v}d}$}#ZBN~e#_hgpwn)!kV)1el zYFgSUc3&B*-yB%j6<*w6S%OL|EpxblHQdM)0%L>vfvb)RG(bU9i1$v9Co?BiWu~;dCufM|P zIB1^s86KxZybXd@P43*FKk?9U`-*5^y;|2&-S^e%PW{nyryJwmS07B|I>+0JpXzVyPdKrU9RTz&~jRn?)vI@2@2(l=fE!KhWeZpz<|X5wH^Fjek4}Fj%w#70sQ2( z76c0yBsH5oRTz=19=x7!8Gnn2Wk)1i(1gz>-0>a1>}TGZD^?&x)_nR0>rYz0&HpU} z!p4PQiEt~r)pnO3CR}6$Bt|ER#HI1yk+V64`at453&SQFY%Dc!CYx_`2J@yo*kF8U z$mlb|Y?wbojRa@!He`OFpvG`q!&+GUC9d?+ja&`ihl{ApUmMvDS#S9^hoPIB)QwHr z!$-SW`M)-pV0b2F*Qft{%M=$17kwcznLHH8Fx>COB8~^@i!aTr;PI=<`u^@naQPrb1j^$Z4hQY?7Sk1p*IzX zSsDynEa3biy<4KVoA95nEj!eIk8b-0)r15g<9F>nQ@l2@UhVN-`&h62crVKouc8Fe z@*w2vAY@Mvaw-V99E98tLW1rEda%;XvD0Q)A2VRs2z&Jk)|+yVxq;t3;okSsy+2)h z$BXy&e(l}%U}34e_urli=wRkx7IusU;6)5(MsP9XK-@j%chDFL2uN{>Dq3YP~Jb{DJGqL8>Y4y7b}M2_uFkhAq_fV(0~n z(2Mo9yp8}Y`w+$eBmxhMqeHbPLiP88oBR*;8HX@;tX{qL`P4&R68K8$p?hC~p=Kj& z!iWVC1|CQNJ^aC96n0fK3}yi_>;7S85q4wf$2GQ}R^4x4-@?o)!(f$R4!q%xLqFh# zKLN-OyL;izM`7M0VYinsSbL>#yVE}%x-TMT!wlKNv>9&@g`p;*p-p|EUK61@jF3AK zp^*u4L@5KNZ1ho*}$ToMnu*} zL{&zJqmGi$N71bjn7s%HIU?dI7nTu`m>m(n6p>(vPU${M;sr2_xVv;#6g}z&J>u#2 zv^{`jlAa<;$L&SHCNv>7*qkML!o*Pq?{~cB!oyj50x#O@Nha(F%Tx9{zwij38k%Ae z$xETLPex92|7O=R2LXSo)+2cdz+*?CnDHAX3KZ2xR#iq;?*XMpz9p%L85@x=FAuhx zM^#N6zAuZ%z_O2u?_sO!qaLM(R^N@{#r`Rbj(%Am`O@)ERsHWbccWh}Me&x!=LiCg zmC-B>f16vQyu$ueo{oNL5#5-5c-#?P{VlSk8v;}M+xjhPXlS9g^7ku8farKU^6k$_ z!f{pM@nmaEEAR1GYE1Ut?}^sqa>wKM-7&=alP*!SFwD_0qiZR;=-zRW(#aP`^vl%P zVZurIx7aTjG;S|)W$*8x((zNJn9kXwwWr7A{6o;&i9?KOyx|6E9zljjG;ELJ5C zYa+ENK~2~s`6~H#?p+qntNC51IeRnP64@LL*Y7hb_7%`7Cpvo=akA3ZFb6^@c z{=ekA%tS4VSK1HACX_8B9_S%{czk-vTcKF zKR(XY{PtNiNaLB{gV!87*C^-q-nOB98cd)1?eRGJ4Zd0#%A4RY(EI&kWh`QQ{Ifpg zwG<}sQ`kQ@ozQhBrb?>|lIm`0Vzblmvd`-Rf%OY_a^t&XaL)HQQ=0i8!Y1G}VF#>H zwom}fc3DFCQG*$~H38*m776J!PmZMY!qwkM%6Q4#8|53~x6nJ=CnFt)kTFd`64)Tl z0U+zs+S1P;9L`uRxzjr3K!UKM10=yD0RzcR6~x;!#MmHH^6$Obp(rai;Dl%T%nSUco{pf zFS6%uDd&1=`$_iutSOVs4Mg^}GGv0>uDt~>YnIWV5OkL5r24N<7OGp+c z>M-xz+iRQzSAURPTw2`T$cl`QLv%1pWrw zHK_%BL-TLliEv4Arh9)^O4ozTB*P~3O^Z;H%gT@&v}Z=&U$0xs&p6z5>g7s6O91jW z>^=T+jk29whTMaDbbVY4#q7PS$le&!pB&|6WTXiB1obFQ?wrR!j)iE?_w%#SB~hlk zBC}lrL`})D#AJV=7sGU1QaQH&X0PqYsj_|r%(>TT)?r5c`GiCj zyVvOso#g_mD_F@ZWf^YAvSK}iM0JxK8D}mz@hRA#N`bA+jTkw}c9{A3-m^U!$ZM>B4d(8n*f6}j59 z$21ahvv{=bstz_gE8ItXM(&)ikE`25}l1D?qQ|MXP3_uks$oZ#ai zJ!KQ&tCK0LaMzJSS`}}XQp-K zjSOU$sa#=4fW>I$L$%Bs0YspR^WQmU3_29tD0L?ArmE9$U3e=P zwtMfDfXi}vflRAHEz2V@ifQ?;mQU|?L$7_g_5G8`+r{MF2bZ0{$YnXaz4{^$%rO$r zjCEAueT_Y1|LpVos1~MQ?=<5+`@3;=UhX=)1-bjd8F5lv@RpsVnV?&?w0Mrt!|G5U z=Xhq3S@~J7NLK?UE|G&ea-YyB{!a^MsaEc6Xn)y6!I91fQUmmb!9(?9$@9;|V$ zByirxh;1&*KghUbl`GLy(`gKMCyaGBW5f6ZjENlkUs#o@^mfXP$k9T#qg*AawS30V;c9+RWZu!cO|7Nl5pKia_$K{T2qqwR zRXZ}(LT|;=?fiR9jlZ#mP=L2he>b%L@514~Um_qdEm8A$nYX+0oVLM1UiNX>neN|1 zm&+m6nkVRV(yxkcgZt6-Cp&uvON)%IBT?wTeN0~W@wy@AcUtg(%8EAIcTD%6*>0?) z8WOyc-Tilg5%;SV!#Js2IsUu^ral!uIelDv`ef=U00x*Yl`$DWnZW?76_xo?8J!(q zEqlsZzI2%#%BlhUlDf_2hGg|z0;8}Q5226(Dtl=e&<5r5GvXXZa#d5=x}cD*GA_(6 z^nTiDj&W+pXDH_`m1_{m|A~4whXI9vWw@l5c?F)aLOgg|g|s6Tz5 z@&1BxWR;4TEQh?Iigpo%J!LXpJQJ4|vKM;qDe$6PVr^Re4pud5MO0*0S1TUQwigHPXZaHIh{D9xo#I1RJ{Two@2H?V)4%wp8i!Yp~9kA z$n>|pVbpUi?z}V7Q%3*fWXCY_H+;Pm+*WVyRKU0&Ar+=>^xE63&$#)lsG2;!D7_}( zBc$3QbN`}|)Y+ToTHN}t8!?f+H59z$&QbC_6quh2IF=$TV||!r@&saiEH47iEias_ z3B4Cdu!jnk7meQfytr+>=1~2@`Iiqpa~Q0ApeRIc}dN8&BUORwTJ7Y#+9e{1O;cTi_sIIZs7{qw@tZ{4#4;gBnY z>QMA+yyINp<5H@4E@urswr&#gLVR5@&}prBps@eFPt1;wfgGBr!dTXO8wVKNKiqf28-KS1<4)x=$6W8@#j%G{GBp(nlqKL zi%N0pm9f^O7#$-`t0k}fO81kyY$#IfDO7xcfF!9$s6Ad{UPJ(DEc8n$UWAzJL`*n` z;(;kAT_s|Rr!e3Rm)MQdCzS&2`AlV~bU!S6Gm%~E_Qn3$q`}G<%pmd1C^2pwm38pV zX}=Paj&k1LNc)4rNzV%ss^UF=6P=egHuX7kSvT2#Y_K0I_iAtA%s0~oe4V8>oupI> z8}qYyHXn)jszh$)`C*Gpsvg<-7RhcFmRFtX^wm@GP51MCJSbQgSM|htBln!jlLu9g z4OE&DD%sYWN%*Ue7#vPxcMK8NREoL{`dSl)j3_hNwOPB nQQy7Z`x577i9E{qgv}V)+=yN0SBsBp#;ZHueKTQZ26X=qOlDDf literal 12670 zcmW-nX*?9(_s3_(V8%MKuU}-Vkc!AsV;}pFW$dHKWLK844+dl3GxjYSYf~v>D?|-h zM%Kud6e1KFTYmlj=fS=A!Fj#zx#xZ!-1EN2(8xed)lD1#0EYqq@_>K#f9s@w^V!*% zoSfXu(hLlaKvamM=>iZEM2;$lB?jO~0T2p=K*j}NQ3NXXpAm2b3<0HtA|e9FN=PD+ zL|t3k+1Xk9XOwOVoxX#>R4lF05g3vhszMG)M4*XSB89$2+3Cj8X=*z=bYcZ*XNE|p zVP+*#02w7$fr4dWQ6v%xgMeXBN)%ESQVl{xKoD}UZc4=(5hWl1 zTcTv45lUnN5`)1I30N{QAOM5hp_9fDF5AYhPW0z3dIM<5We0x$s>h6I2J2oUIUFbIH*LLrsZ)aU>JmPl2@kmvvi z1VD$-k=U#m+RP3rfQrOYb|?WmBsDq#vNJ=Wq9NTRr8OFff>k4^!RTvL8V-Yit3d!+ zG(^SPlAORA8Qm>M01%Xv5NJ#mwSq<`LBugM0dXt@M}Yi`X>APxph0G4{>?Kp5DFOr zp;93f3M4CwLYX08yVc+bB9Vqhkr42T01O$0CI0hOQzOd#OA?lhM3Axw-Bc=_K$=lQ z1gNQD5y$`pIsii;V@We`OcsH>h9+c*qfl8CdH|JJrL`FB$o zB{T%`PXuUjxqyFeJ9IRah9VM`uvl?%0Styl_?I4WIvpuMqpeY?OJwptB~Y`ns02bc z21CYTDQGk)Ab^7U7bK!WNr@;RE?$9!5pa;TnSWc-1c-DZhPXr}DiJZ_YcMiSjflno z06+jR8~^|TfD!*cMncX2j1Un7xuPeYky*}(O0ImH#KOoS4u4kFpDJ*TFALF)Gh|?v ziw0l#b(fkU1NGri8Uw_EA?8B3Lijxpql*4VwzlW1abQ*-Q2yaH(nz`Hjkv}Ozq?~g zL`&6q2bSPA`64yu(iQveb}6nA_e4yls%D;JuB3=wxF&6!>3i#r$EPbm(?WI;c%@8+2ugvWTBpM7WaA-5>q6aaxE`a?@m2)nQ^D^eem;J~87UJ4K@0jFq6PB?} zHj}p{?WcG=)QzV93oZARar0cOdGbh)(VeuMC=#-^Yz#?|lhg*}VZJ2G)snuX$Ul}r|xc{=PSY5qAS1TvN(UC{JnCVVW>N(ub#cDA;thYu0Bi;*<0wY08bsy=msa<}6`Wgwf z`*GF45}XcT?xREOixdNsEyfFv1A1PzhX{5<&SO~>Q!dB-6UXEu$DfREYde}d+MB7~ zT?Y%r+syjc=bmP9l9b@x2VYE9N*2XFOL|{Kcki&stI3o4u2}g5wkeR8dYFYC%2&U? zKw64rmT#=sePLx)5(gHeRP=tZDndMCQ6y>vjL2GTejSA~mnx0v3!nOZl)JeD95OXj z2+p`{?fY`V=559Pl#T3Z+|(7k!mFvvfKwGVH~;hyHg}W5{h2#2v_d{<-|Kocd;cwM zKl$q3*_LX`<-UNB&tc5ws(`4`3i_9*VgbsMXM=O_Owfl4HFlzBGleZ9)%WFOSpnvd zjdRim(vfos>ZW4Hc6x6@jFIhmrvGe z|D+#oW}KB({rYfhrnLu{Q8--g;pWshi059ozBu8zps|I1(G|Qr?wA>M;QfI;boTQH zOz6UTuJfDYZQ-)$&+gnM$>%)PSG2bSXIF$k`k^h2xxpx2s0!F}HIq z+0T67eUd`E1ca$1m%mb=YAgUUZ_ZRp9a&Hrxr%8 z$Y`{gNQ+kjO>iOX_^$z>vjWYMxnjG zi!I5q5|#thTcE2@eYno0Md+xUGMpt5A18dgW)LDXQOcI?$smNLUa;P)o^|q2Y#Tr( zT<@+-)C9rcLSRFttCc(Q7tWO}Au}?#nf*IGOb(Ng30HrYvgm_&uM066n@d0&Og9iw zvu6H$+7M;wi_(F}1SiR$x+}gQWJ1MY3xZzdE=;@~AYKEvV@MkX806?%Dhj*#J1*=Z&Mz1#rd2}#YK20dQ@7hA;ptLG|# z)>zOv@(w=NPx(2!QqScdM(^c~mtU0aH|oAn`ZOl?szr^e&1dc~E_XIFRS^97l20HU zER5(;vFcWke{UcEMd%NOYUcMKwyy7+dT6o=u`1|^hCVOXk{(aC5Rj1N45|PyelimR zVpO=cqwQFihd*KO>tB+@EO#ujZ|hqHIdeA^bhTIkyJ=d{Qf z^QXsYtqCvdgl1(H?{T9B3aFa`u5|zDzw)YwVB~Y>WERba`1VXdV8~T~I~Kwq{wsFg zgz2hW;Q%YgZf=d~C1Fe@o9F>qUJH z+8@O@bcGGfHmr(|*g0{!BG%%}H*iG&H*9>Pr`ZpO0*T2$a*qgHbmJ=hXu6x@K(Ga# zq(0Nl(RmOcIMTg&Ph;-Ween=cS_R&nyMirjd1c#6#OYq1VFaIu?BBA>4hZ0Lj5Qc0Z-oZsrjtRg46~@l>3j4^1+qMQ90@ zL=kD}b_SB$7H?D`#D38>GFsI+!^Ls^SHz@JhTJ%W&n()`>5SY-OT-GrMm&4nqRjS!#Zy-{34E?to#@`9Eo|o zUGTp1o6%y}sGZn;9p}kL&u#k0^MChz|3s{a-U^?cj{cPw(=|P>c+hq$dI$eBYBoMo z_-RbnhPz?(uh!Qg>($a5)1K`It)r(uBmO(~0Ny&YC!3#c7>XWQZ>#HXzCL+*tCZd^ z8!;af6Y=`{->v6QG`83;ANIX<*?(b(eWe=KD;xZ58rvm{YkCsONWoU}6#-uxd$YxkM*o zkP9N|HYyR1xr{+2xuFONSVBCB;BiJJB(D(?>F#>nN%z+h^00}8gk+15#Q2@$M+8C% zD!H1JT)LKI$WMquBtNF6)FM)>A<3jQp%-e2xV4meY;q2UfTyKaswGea(u%REaRQ0G z*c6IDYCkGv2%FYKNy7=GBfckeAs}xAk~HU$N`k{+|4O&uI3UDcmbEa8 zqb`f{2222%4nn5mX<1Nvh|v8jy!W&5NC@akHutCOE<$#2Rdzymw%B2|gb~D5Cx`zq zO8}R1@j?zaGzW6Fp2L4XTjo$&xe&x_FWW`Pm2Au9xsZEHFi$ZoSHV6=4 zk7qp_1Scrn$TPFgVY~smG>~)SF#pbtN0W$r_pnE|+ww7OkM6ZS@~L~|d>_X5=@BR( z$qbPbbid$wVu9lYK;ljTPLLRPffyjjT)6vYS@l|zd>1am+Y>7an3Z2Rm6qr8T&?8in$WFv6UdQnbc zQDR}f-~BxFja;D%06F`TcVQ)O?MnjNN3ORV1AjGH_AG(&POGvj>OZa$LGM0?L zphTE!lbkpkNc5W_EEh_qBNAtgGQZm=&4=L^3kk*)e29Hnwg6;R2fQ_azq+3FV<3fI zS1#9EE)bCE3M$*VP_cI?ZHuk=Q&{=8e*$npX%EX~Uwf?cek-L@pV*;wi>d0MfwtP>nMxXT9roJ3~ zu}nC;)W+nk>b=zcotxk5CC69N)aL@ zo^3o440wV_B4vh?VpxFj0T5zQT~T{ou{tDYmQ)@NDW}#wE~=|Os>?ef)jHIdgx3*M z>N8k?LJrTUhlx?rV-s`@&zP<>lCO>X0{s4f#d& z&yO01H|nd48d|~|-q+WEQg7@jYMQBUm{V_RKWbQ1ZyZu@9ujJUz z7SGi|5=w;-x=D5Q&r$}TiFG7q)kpm+{V-Y2FLpeapL?!Y{QP3?y{j58lpSB(IJ0`8 z_Tk>e50dR;FK!;cfHw%Mb7$h|0J-B@gh}${juz9o=M3skf-aW9vLM!uFKr`U+OYxy z9g=RRzH~W$>2TbFWPNEug4~OEg(-gJmHH|*pe(im;ws$gGWW`(7;=}jG#TD%1!?u~ zcoiM-%D1@H??Y?ArPhbSkT}Oy|Kpddy^y40N`!Z7!jG31mMAD;N_ay8Ubr>?m{RDN zRP0SDNTrl_P*N|o+oiU}d$*?2+MAEt$*diZJK95w@mURRByUR1ht`)7_*T~Toa5G* zhV~SVwzf-@H{R{$WuI`{lZZ}gM@PE;s2jK>l(1A3fr-8SS@zQGjxnI3*NsJMJG z0@W+C36UED+ho<)QF~>Ez?VgOcL|Bv=w4BIXfCchPpPMk2-X;Ss~G@-h=4y46Y|Bu z`aZomN+1XuqkmDkJpzyq@6-I;lb*!@*(6{PTt*fBnw<=}G{&qYuz^?qfj;2wNna+7 z!5j?*b~C2Tbn|5QTYP4?p#_hmlG;6;gXg?T= zlcz4rrCh-E1BPr0mKbu;&{WgJ^b*478YX}fqqg{frwDaljoOY<)D9iA5g*8c4PG-X zKQv0_iDj};`fvjcZ5&EzP8+aB0Ej!_Q1OA=;)92jo&y9|=nfdH1a68PSihgZy9>4r z_^?B);nmK38#(L&0kSlvQRI^+H3wOTlr}m?5@&{tydNJzvi6)tPf<_Q?1Hp;f|@It z25QecKLLTZM!(cBHA~PSO(1Zo6tI*A?V<^K(qKz8o+jGarrWUHm=OEep7fZ|=@?(S zB)b;P3;9u|iAidU1{)sbKBbwVJ_0LfP<9~rY&e9ciRp^-*rD|J#ekr{P9ePM@6J!1bbfSe0zH@?B^E(_oj)Q(gCZVH-!Pks@|_OZ za+}hhL7I&xiOz_0%|Oh?gHLBvM8`nGlhRQ$*$U?ae5bquX85}#wV7xBip(Z0O;?-E zhKdGN4J*fO&DPC-vU)H@YMQ+nI@iLkT+=nz>HD$4`N8_6r1V@AUk=~XD-%AUv=3Ti z!%d(M?DGRrK_AWLN2BJaPK7wk0CV&6(6ixrh;P*U;rOM>&)-Vt*S0>74}bnXys+*( zza+Y_ps=`jI?;zADM$72p4^)Km#;!h?suq+HvRhA3`u&i?cKPdieEdy?gZOmt^ulq6n8Cfsq03JoV zA(GZ@ceY=fugkD+G-hndE(sAc)*Cr~{C@p2KYG1#VPpU1ZpFy99(?1q*iVKx8zM0v zzU|!#vF&Gm8$HcT95KIOXP37mGuKZzND}_rPdI)z{A7Tg{a)wzvC2VOUq~*B{-L)7 zu7W{%IiJTGgLRNl3z;8>Vo(!Kmg=m1hd299PxmWe`xQH+g1?*D$O8j73#R*+xa z?Er@cqsxJ|xE;YPYp*5d$JrrXNGJk!@Gx@^hJ@y$!FUULRy1A47tHc zvfn1}f8|p)9=`cKvanaGwtaDXx4Gxn@91qN(e3QZhb8{M4f(evw}16C?^c{d)CxSGSyWdh=IK^hbQ=kuB_`=kjig|HksdI-&gJ{pjY<;>pO_2`zK< z3|JxgJyY`V>DjKoIpN)$sM0;HHS-8naC!3Z_@*!0%$2oQv6{llhphcy`*W(~RT_Rd zMA2E<=I#u6TQUF4Nw|J>Ft(}QV5m)T<8$SrL5(9H@5cBe$E}}rl+g7RYW(Gx##aB` zkJMa-+Kiy9L4&ic3>$w%PdsN*yVSDHvfGY{#dsYj?o&-{hkzuP;JAn4p0qK0r=Xs{a+2;l?m=q2m zq)IidKGYrj%Q8=RcuvVBR4j(RnP+}QScYrmuD&u;&0DGNS4?YJk zAYSipk_ZiUVceqpNQJ?{(+$qrIl7s^su>-3tAT?xu zJgd&L8opafr8Nc4A?pc`oP41B;`aBF8Tr`Md#i_lrxc0tw16@dcZRK?k8(~e-ZN62WP^|X<{ z8Q-@vB}TrnKX`yKTz09V;A~fzCLtB}@C)W}RCo^~@T#LDhm| zt3ji&T%1Lmpw?2?pDE4V4&7;Kf#ldLDg_QBQ>R-UMo&I-mg}39@_z}t(Shyum`>ms z=ViaQ>QGg1^JpR8^CmskV?FA4CV#s)Bo9J%KI~iGKmGICs3&@1h|#XBz}QWpYrBs* zDa88QBxfSeVD@Un;T}+z&&_+Gdjh~#M7a1z>yrtdY8V5 z?_~u_LrZ-VzXB-L5>s>g$})1Z1TEav8)vQ5VZJWBGTS$vxU2 z$V#f4$X($N2sU>@Dga@6M|cZiaEIr-;JNdCSMs#kAQQV8cjZ^E>LjRp$W;pr{X?ia z;#BRc&jf}sf)XW_X-qt^f@zOI=gu3wyUVj8sBoJ}IXV_>?Uf^FAf718d|%&FbA_8X z$UvEdGnV4fE-;|Q@ntO=tMV}jeW-93ssyq+eR&SCtN>lhCbJ?^o(YVg5|!_rfl@H0 z)lg$ZEuT>L5EF8RWvugya=B%C;b)N03xW<8B^fWP2`~Ex6jd54(=_;W1;2O7DCY&H zdBb#A5onpKVsJ(;sXgdf(8|rR!gnSPyQ!@^HGJeOWSWb1dH2NkYmLcNr14&A9|fpV zRq+-!Fiq^n7$R7%=N@@lQWhdC)%MgaP6rE;a)OV;xnK3*5i7GO-1$rJcM zF!*rO@_m)iO92eR>v~HdRpf76dby^gL^GP*8?zk!Lg|h*bF!X}-d*8831+t#qp{sx;2tMvL zfi~|rhT?k#60f9@#)9xL0JI>u%w8M4_X9Lt|NY#`TIC)a3$;%yj~nuh-U9} zU9Jl4?sfK!7af`fkN)X|)&?Z-YPzv{QaV^ed{s41+&EQxgwM-dNq#f8I29+*C#e{i zY%#RV)1cO;5E2;VHk8gAL+qDt-u1RjyDK`1?bE#eEWOgiQ84r@o~m5il*!-eD0sQ> zU6V>PzK-=P?>MF3dLbbHZi$Bif7{@C!t)gGORHQD4}0x6t`fVn-BldJD6X~-xPwl< zNxv@~3gXx;eA)P2_V=e@$8Yb54C$+KNrE&NgO);G=QTxF`?q}8_k4;q?;B6^y)6C~ zWCEt$&y92dl=DIAERWa4f#?Yk{4L2M)$8PW_+)b;cjNX4FO{@*&W>6YQy(n=?@~Jy zBu;HU-br_P@pYO3cKsReFLuoNxd}o0kQbu~Pvi6)XD7r6EPm;UP8!D`pn&SD_w2rw zxkuyI#X;I}?0za05)9Qcp*8VnP z%fR(Z%RekaWWh`P#t`R&z!=Ypc~#e7Dx;V`?x~Oj2(8Lhg$wY^oLw{U#5UwMc@@ry zvoNfw(V$oN!y1;BZOcRIuKWyY=GI;kko_}w4Yy}wsQuHV;KuCe&EKhA{K`; zcIBLK^Md5qsq*MR&)lx<)J)LSr>^~8Pv@VSh7|ThtsnM(w6@LdwC6o;hP@pX5~&i` zTJMnn44b&@*sFF5vBhA4c?)|_rX$CzE8=SB#2G3I&NMd4#Q>i&XSbWDjsQP@?#WU9 zt`{-CmQzF?xpz41;A0|xX}reXiNCwIl6dpwwDX^VW0&8v|7oq4TO1=}gmylZYXHic zPb~|?{-zryH+-@4Yf?xbw^IOB_w-)jee8LN&EY}S{0-3C1!QhvSKHbcl zEfDu^=+_pOpl(p45+j?EKE0dM2@GTFxi$b-M&d;VCAdtrbx`x8zDbWyqdc5rf<`*N)pOC(j;9CcPIn(t)?bG z>+@S#eD5thNIC$dBh{w`gD{`~`c8nGPI?AGx(fI{ZK+!UYI*=fpT19@X`Y@@5XiVi z&(vDaj7Q&`?X8j2Eo4xiWu)Hi%{~hr0s}$czN8=3qU+e%uSL~&*6X|Z^{oqApSHZ7 z>|;#A|0BJK)ILNIjT+r( z_{hfy%L5KVB&GAwkr!Cd8}ypn-nG;^6AwVr3-v6FFbkZ};fsCm!0N-D0J=RDNIAy0Ii=AlrH{$7hgY&0JYx6hdX}Xff{UGk%fx;UQtLFt500$mID~lP0|(lC_C8 zH6es-^8WLOMop79X@kurMju)}JewGLyEzoBHr&4XK7__NCT~hfGac6)?k*WPb}*U7 zn~sfDkN!!((S`I5vvqo#NKscpNjb zSs2nP6TmEGW)-S-ZT5@hf2)?Ytbj1dk4}ysr9G_VgRMjoaB>iwi%z^GFYc1oiz`~! z6izLHSlk%^&Y&PpP*S)puQD#yZ`n2uQewXiB;3~0x-IA2v{0|6HaRX+dRzIlDTRAN zOWIm)UhTa8gxc!u*kTn!vk6&Vid3n!alfT>|Ae8b_rG}4=Y6QtKt?TizZ9wnlV{l3)j=h{RvCA;jzCy@6V@?!zahZP`3BB zfX2khYu-~HHTckqCU>(b8AQr#k*)FCR48d`w%u07nPv8itv{pPZRu$lB|9&DJ8%7| zKrOs)@RXmg9k$=fCwR(#-Y&FsGGukyi`UM)-xd>W9oui^D}7sA3pHzHmr!bxRBD|# zYor z?^WXu@Nf>wl2#r)k=Wy5($s>9cqT*Og^dtkq%F`I_nZh~R*PiGsN9G)}IJr{L+VdmK4JlCi-*SMt_i=V^gIgVD(wO_LB+_ET| zQP$MvSu*7=CO|>RQA40PlZaDqIyVHD)bHU`gu^lUI1Q{;y-Q&J5d67E8o(>?`9qfz z1ST=E<@C;Zl(ywW)vq4hchW`8PoA2Md3+vbFQ0hnbl~GWrZo@E`MlUS5JxvV(?yNG z&4(_1HiV#^sp<0^akvF`z^cc>g37|uurmSodEIw@E#LY3)_l$C{Fj$5Uqy-Ed?6c6 z3yWPYmQdFO0oUDqmx*DQEne4e9hb^RzD`pm#($at?kis{rpr_7sS} zyDUO-d()4TGXEkib4OC3sb?4$cpD-u_C}PP2qE z><&U^W#k3$ngN5qj%yv16bgy~|dAJ;o(*%-wDY=QYpYY|@X# zr3vHMuz)*!`SMg8R;>Wr9V@RC=QFh`M+FJvaPk!(U2O%>%r`%oR)0kev`h1%CP}y( zA85cGDnr0h{}EkJ=MhkBG(Z)o0wSnhtdMwZv&M0eJIN)rOpfvFb`~aCCasjTmVA)> ziL#b@XUzh6pzG?h~D zE-m+6T2ICOG4gueb;fT>j8kS_H7*;IllQBeGaf79ljn;!7kE6Z2T~eOEo@|)%eoSR~_jBX@>whghJ|#>WrOolLvhI(L zY!=IG{KF(Pv5hglt&wj&<6>SD&Fhn5zLkk-)33H>-=)q?ZJkwIbXHjfdT z7lzF8&1@!}2JAgv{zq7_4nyxg}z5NXzRRF@8vr>OgwZ}$a_NE+OMv#6j{t4xioZA&m2zqbKGKak`{9^ zWQYy@9yyV8-0B(m`tm8|X%v;8FqIi`Ho6`D$^ZEMQ~FfQDdjA3wmf3?O%#C{H{a@% z*BV~=-$^GkHnsftgFa+cA*!eKG$je!)*6i`MSOdCw3S4scv^h({rl_k>F)RFIsdcf zH_=-K(fEMSKmIX2xBl*zpY_GeZ+JS5F%q-@Oy}ewXwF_d3%{cB8mv2ya8A~$5wk1# zE=@@F!RFfT-9BMS!yF#y)hZzcPTROy-XE(bNH2IT9=%e_&ix|fr#n)Qz%d`X$1|9IxjwM;XxHn#)SF-F8g}mUgN;wR(#)&D;dM}$$my>y{ZBS{FQkUfP@YE@ zeehv|@fgS$K1myX1<$pOV$eHhJag#DivTP!@Z?2bV1y1~5k`FaoxeF? zHCNwC)jT>17$~>11u{Z~nF66Q^37^e^)VNL-FY@kkS{PPJr;c)`sX9ab7d=sfo31| z^&d&MzOF!?2d4bWNTa&U;o}W$V;Qy6;kymV84#}Iw8pdxEHLVW+=ilIka%M@5ZjbLwr^D9@N{?p1d?0ks(D`hD(uIm&I%Cv?*F`hy+_#Y*88|ax zhYJ0mOA_0i(q3mGeJw)*+EuW8NOqsJ>TF*#%X!LzZxkdQ<$;JfCC2DWl!BL$C!Q4Cy8p(&pLMLtSp1v$H z;>2Gl5n}#PH>Vnqt;=!OvuVHRLOkWwsD9^gKNKkv*sB48`GpQT-&%Vpt=k<1V!2HR z^d;uyuyh$Z#-=TIp|6IjB~h2<(rlq|G>LmJm$=A8NPnbWkYmR;_Bd7?EjoOW{5j!s&qmKvz?;?+1eC>9qwLO - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/icon_new/trunk/build_icon.bat b/programs/system/icon_new/trunk/build_icon.bat new file mode 100644 index 0000000000..6331f98afa --- /dev/null +++ b/programs/system/icon_new/trunk/build_icon.bat @@ -0,0 +1,5 @@ +@erase lang.inc +@echo lang fix ru >lang.inc +@fasm icon.asm @icon +@erase lang.inc +@pause \ No newline at end of file diff --git a/programs/system/icon_new/trunk/build_iconmngr.bat b/programs/system/icon_new/trunk/build_iconmngr.bat new file mode 100644 index 0000000000..b3f854f933 --- /dev/null +++ b/programs/system/icon_new/trunk/build_iconmngr.bat @@ -0,0 +1,5 @@ +@erase lang.inc +@echo lang fix ru >lang.inc +@fasm iconmngr.asm iconmngr +@erase lang.inc +@pause \ No newline at end of file diff --git a/programs/system/icon_new/trunk/debug-fdo.inc b/programs/system/icon_new/trunk/debug-fdo.inc new file mode 100644 index 0000000000..9da8ecdc1d --- /dev/null +++ b/programs/system/icon_new/trunk/debug-fdo.inc @@ -0,0 +1,424 @@ +; +; Formatted Debug Output (FDO) +; Copyright (c) 2005-2006, mike.dld +; Created: 2005-01-29, Changed: 2006-11-10 +; +; For questions and bug reports, mail to mike.dld@gmail.com +; +; Available format specifiers are: %s, %d, %u, %x (with partial width support) +; + +; to be defined: +; __DEBUG__ equ 1 +; __DEBUG_LEVEL__ equ 5 + +macro debug_func name { + if used name + name@of@func equ name +} + +macro debug_beginf { + align 4 + name@of@func: +} + +debug_endf fix end if + +macro DEBUGS _sign,[_str] { + common + local tp + tp equ 0 + match _arg:_num,_str \{ + DEBUGS_N _sign,_num,_arg + tp equ 1 + \} + match =0 _arg,tp _str \{ + DEBUGS_N _sign,,_arg + \} +} + +macro DEBUGS_N _sign,_num,[_str] { + common + pushf + pushad + local ..str,..label,is_str + is_str = 0 + forward + if _str eqtype '' + is_str = 1 + end if + common + if is_str = 1 + jmp ..label + ..str db _str,0 + ..label: + add esp,4*8+4 + mov edx,..str + sub esp,4*8+4 + else + mov edx,_str + end if + if ~_num eq + if _num eqtype eax + if _num in + mov esi,_num + else if ~_num eq esi + movzx esi,_num + end if + else if _num eqtype 0 + mov esi,_num + else + local tp + tp equ 0 + match [_arg],_num \{ + mov esi,dword[_arg] + tp equ 1 + \} + match =0 =dword[_arg],tp _num \{ + mov esi,dword[_arg] + tp equ 1 + \} + match =0 =word[_arg],tp _num \{ + movzx esi,word[_arg] + tp equ 1 + \} + match =0 =byte[_arg],tp _num \{ + movzx esi,byte[_arg] + tp equ 1 + \} + match =0,tp \{ + 'Error: specified string width is incorrect' + \} + end if + else + mov esi,0x7FFFFFFF + end if + call fdo_debug_outstr + popad + popf +} + +macro DEBUGD _sign,_dec { + local tp + tp equ 0 + match _arg:_num,_dec \{ + DEBUGD_N _sign,_num,_arg + tp equ 1 + \} + match =0 _arg,tp _dec \{ + DEBUGD_N _sign,,_arg + \} +} + +macro DEBUGD_N _sign,_num,_dec { + pushf + pushad + if (~_num eq) + if (_dec eqtype eax | _dec eqtype 0) + 'Error: precision allowed only for in-memory variables' + end if + if (~_num in <1,2,4>) + if _sign + 'Error: 1, 2 and 4 are only allowed for precision in %d' + else + 'Error: 1, 2 and 4 are only allowed for precision in %u' + end if + end if + end if + if _dec eqtype eax + if _dec in + mov eax,_dec + else if ~_dec eq eax + if _sign = 1 + movsx eax,_dec + else + movzx eax,_dec + end if + end if + else if _dec eqtype 0 + mov eax,_dec + else + add esp,4*8+4 + if _num eq + mov eax,dword _dec + else if _num = 1 + if _sign = 1 + movsx eax,byte _dec + else + movzx eax,byte _dec + end if + else if _num = 2 + if _sign = 1 + movsx eax,word _dec + else + movzx eax,word _dec + end if + else + mov eax,dword _dec + end if + sub esp,4*8+4 + end if + mov cl,_sign + call fdo_debug_outdec + popad + popf +} + +macro DEBUGH _sign,_hex { + local tp + tp equ 0 + match _arg:_num,_hex \{ + DEBUGH_N _sign,_num,_arg + tp equ 1 + \} + match =0 _arg,tp _hex \{ + DEBUGH_N _sign,,_arg + \} +} + +macro DEBUGH_N _sign,_num,_hex { + pushf + pushad + if (~_num eq) & (~_num in <1,2,3,4,5,6,7,8>) + 'Error: 1..8 are only allowed for precision in %x' + end if + if _hex eqtype eax + if _hex in + if ~_hex eq eax + mov eax,_hex + end if + else if _hex in + if ~_hex eq ax + movzx eax,_hex + end if + shl eax,16 + if (_num eq) + mov edx,4 + end if + else if _hex in + if ~_hex eq al + movzx eax,_hex + end if + shl eax,24 + if (_num eq) + mov edx,2 + end if + end if + else if _hex eqtype 0 + mov eax,_hex + else + add esp,4*8+4 + mov eax,dword _hex + sub esp,4*8+4 + end if + if ~_num eq + mov edx,_num + else + if ~_hex eqtype eax + mov edx,8 + end if + end if + call fdo_debug_outhex + popad + popf +} + +;----------------------------------------------------------------------------- + +debug_func fdo_debug_outchar +debug_beginf + pushad + mov cl,al + mov ebx,1 + mov eax,63 + int 0x40 + popad + ret +debug_endf + +debug_func fdo_debug_outstr +debug_beginf + mov eax,63 + mov ebx,1 + .l1: dec esi + js .l2 + mov cl,[edx] + or cl,cl + jz .l2 + int 0x40 + inc edx + jmp .l1 + .l2: ret +debug_endf + +debug_func fdo_debug_outdec +debug_beginf + or cl,cl + jz @f + or eax,eax + jns @f + neg eax + push eax + mov al,'-' + call fdo_debug_outchar + pop eax + @@: push 10 + pop ecx + push -'0' + .l1: xor edx,edx + div ecx + push edx + test eax,eax + jnz .l1 + .l2: pop eax + add al,'0' + jz .l3 + call fdo_debug_outchar + jmp .l2 + .l3: ret +debug_endf + +debug_func fdo_debug_outhex + __fdo_hexdigits db '0123456789ABCDEF' +debug_beginf + mov cl,dl + neg cl + add cl,8 + shl cl,2 + rol eax,cl + .l1: rol eax,4 + push eax + and eax,0x0000000F + mov al,[__fdo_hexdigits+eax] + call fdo_debug_outchar + pop eax + dec edx + jnz .l1 + ret +debug_endf + +;----------------------------------------------------------------------------- + +macro DEBUGF _level,_format,[_arg] { + common + if __DEBUG__ = 1 & _level >= __DEBUG_LEVEL__ + local ..f1,f2,a1,a2,c1,c2,c3,..lbl + _debug_str_ equ __debug_str_ # a1 + a1 = 0 + c2 = 0 + c3 = 0 + f2 = 0 + repeat ..lbl-..f1 + virtual at 0 + db _format,0,0 + load c1 word from %-1 + end virtual + if c1 = '%s' + virtual at 0 + db _format,0,0 + store word 0 at %-1 + load c1 from f2-c2 + end virtual + if c1 <> 0 + DEBUGS 0,_debug_str_+f2-c2 + end if + c2 = c2 + 1 + f2 = %+1 + DEBUGF_HELPER S,a1,0,_arg + else if c1 = '%x' + virtual at 0 + db _format,0,0 + store word 0 at %-1 + load c1 from f2-c2 + end virtual + if c1 <> 0 + DEBUGS 0,_debug_str_+f2-c2 + end if + c2 = c2 + 1 + f2 = %+1 + DEBUGF_HELPER H,a1,0,_arg + else if c1 = '%d' | c1 = '%u' + local c4 + if c1 = '%d' + c4 = 1 + else + c4 = 0 + end if + virtual at 0 + db _format,0,0 + store word 0 at %-1 + load c1 from f2-c2 + end virtual + if c1 <> 0 + DEBUGS 0,_debug_str_+f2-c2 + end if + c2 = c2 + 1 + f2 = %+1 + DEBUGF_HELPER D,a1,c4,_arg + else if c1 = '\n' + c3 = c3 + 1 + end if + end repeat + virtual at 0 + db _format,0,0 + load c1 from f2-c2 + end virtual + if (c1<>0)&(f2<>..lbl-..f1-1) + DEBUGS 0,_debug_str_+f2-c2 + end if + virtual at 0 + ..f1 db _format,0 + ..lbl: + __debug_strings equ __debug_strings,_debug_str_,<_format>,..lbl-..f1-1-c2-c3 + end virtual + end if +} + +macro __include_debug_strings dummy,[_id,_fmt,_len] { + common + local c1,a1,a2 + forward + if defined _len & ~_len eq + _id: + a1 = 0 + a2 = 0 + repeat _len + virtual at 0 + db _fmt,0,0 + load c1 word from %+a2-1 + end virtual + if (c1='%s')|(c1='%x')|(c1='%d')|(c1='%u') + db 0 + a2 = a2 + 1 + else if (c1='\n') + dw $0A0D + a1 = a1 + 1 + a2 = a2 + 1 + else + db c1 and 0x0FF + end if + end repeat + db 0 + end if +} + +macro DEBUGF_HELPER _letter,_num,_sign,[_arg] { + common + local num + num = 0 + forward + if num = _num + DEBUG#_letter _sign,_arg + end if + num = num+1 + common + _num = _num+1 +} + +macro include_debug_strings { + if __DEBUG__ = 1 + match dbg_str,__debug_strings \{ + __include_debug_strings dbg_str + \} + end if +} diff --git a/programs/system/icon_new/trunk/icon.asm b/programs/system/icon_new/trunk/icon.asm new file mode 100644 index 0000000000..e220a7409b --- /dev/null +++ b/programs/system/icon_new/trunk/icon.asm @@ -0,0 +1,539 @@ +; +; ICON APPLICATION +; +; Compile with FASM for Menuet +; +; August 12, 2004 - 32-bit ICO format support (mike.dld) +; March 14, 2007 - rewriten for KolibriOS (heavyiron) + +use32 + + org 0x0 + db 'MENUET01' ; 8 byte id + dd 0x01 ; header version + dd START ; start of code + dd I_END ; size of image + dd 0x8000 ; memory for app + dd 0x8000 ; esp + dd I_PARAM , 0x0 ; I_Param , I_Icon + +; params 4 xpos 4 ypos 30 iconfile 30 startfile 10 label +; +0 +4 +8 +38 +68 + +include '..\..\..\macros.inc' +;__DEBUG__ fix 1 +;__DEBUG_LEVEL__ fix 1 +;include 'debug-fdo.inc' +flipdelay = 5 + +START: ; start of execution + + cmp [I_PARAM],byte 0 + jne nohalt + or eax,-1 + mcall + nohalt: + + mov eax,[I_PARAM+0] + sub eax,0x01010101 + mov [xpos],eax + mov eax,[I_PARAM+4] + sub eax,0x01010101 + mov [ypos],eax + + mov esi,I_PARAM+8 + mov edi,fname + mov ecx,30 + cld + rep movsb + call fill_paths + +;DEBUGF 1,"fname: '%s'\n",fname + + mov esi,I_PARAM+8+30 + mov edi,start_file + mov ecx,30 + rep movsb + call fill_paths + + mov esi,I_PARAM+8+30+30 + mov edi,labelt + mov ecx,10 + cld + rep movsb + + mov eax,40 ; get also event background change + mov ebx,10101b + mcall + + + call get_bg + + red: ; redraw + call draw_window + +still: + + mov eax,10 ; wait here for event + mcall + + cmp eax,1 ; redraw request ? + jz red + cmp eax,3 ; button in buffer ? + jz button + + check: + call get_bg + call draw_icon + mcall 5,80 + jmp still + + button: ; button + mov al,17 ; get id + mcall + + mov eax,70 + mov ebx,finfo_start + mcall + + call flip_icon + + jmp still + +flip_icon: + + mov eax,1 + call flip + mov eax,2 + call flip + mov eax,3 + call flip + mov eax,4 + call flip + mov eax,5 + call flip + mov eax,4 + call flip + mov eax,3 + call flip + mov eax,2 + call flip + mov eax,1 + call flip + mov eax,0 + call flip + + ret + +flip: + mov [iconstate],eax + call get_bg + call draw_icon + mov eax,5 + mov ebx,flipdelay + mcall + ret + +fill_paths: + dec edi + mov ecx,30 + std + mov al,' ' + repe scasb + cld + mov byte[edi+2],0 + ret + +draw_window: + + mov eax,12 ; function 12:tell os about windowdraw + mov ebx,1 ; 1, start of draw + mcall + + ; DRAW WINDOW + xor eax,eax ; function 0 : define and draw window + mov ebx,[xpos-2] + mov ecx,[ypos-2] + add ebx,[yw] ; [x start] *65536 + [x size] + add ecx,67 ; [y start] *65536 + [y size] + mov edx,0x01000000 ; color of work area RRGGBB,8->color gl + mcall + + mov eax,8 ; button + mov ebx,51 + mov ecx,67 + mov edx,0x60000001 + mcall + + call draw_icon + + mov eax,12 + mov ebx,2 + mcall + + ret + +get_bg: + + mov eax,14 + mcall + add eax,0x00010001 + mov [scrxy],eax + + mov eax,39 ; get background type + mov ebx,4 + mcall + mov [bgrdrawtype],eax + + mov eax,39 ; get background size + mov ebx,1 + mcall + mov [bgrxy],eax + + mov eax,70 + mov ebx,finfo + mcall + + mov [itype],0 + cmp word[I_END+256],'BM' + je @f + inc [itype] + @@: + + mov ebx,[yw] + xor ecx,ecx ; 10608 = 52*68*3 - bg image + mov esi,I_END+256+9662 ; 9662 - icon file image + mov edi,51*3 + + newb: + + push ebx ecx + + yesbpix: + + cmp [bgrdrawtype],dword 2 + jne nostretch + + mov eax,[ypos] + add eax,ecx + xor edx,edx + movzx ebx,word [bgrxy] + mul ebx + xor edx,edx + movzx ebx,word [scrxy] + div ebx + xor edx,edx + movzx ebx,word [bgrxy+2] + mul ebx + push eax + + mov eax,[xpos] + add eax,[esp+8] + xor edx,edx + movzx ebx,word [bgrxy+2] + mul ebx + xor edx,edx + movzx ebx,word [scrxy+2] + div ebx + add eax,[esp] + add esp,4 + + nostretch: + + cmp [bgrdrawtype],dword 1 + jne notiled + + mov eax,[ypos] + add eax,ecx + xor edx,edx + movzx ebx,word [bgrxy] + div ebx + mov eax,edx + movzx ebx,word [bgrxy+2] + xor edx,edx + mul ebx + push eax + + mov eax,[xpos] + add eax,[esp+8] + movzx ebx,word [bgrxy+2] + xor edx,edx + div ebx + mov eax,edx + add eax,[esp] + add esp,4 + + notiled: + + lea ecx,[eax+eax*2] + + mov eax,39 + mov ebx,2 + + mcall + + nobpix: + + pop ecx ebx + + mov [esi+edi+0],al + mov [esi+edi+1],ah + shr eax,16 + mov [esi+edi+2],al + sub edi,3 + + dec ebx + jge newb + mov ebx,[yw] + + add esi,52*3 + mov edi,51*3 + inc ecx + cmp ecx,68 + jne newb + +;***************************************************************************** + + mov esi,I_END+256+9662+10608-17*52*3+3 ;! 54+32*3*33-3 + mov eax,[iconstate] + mov eax,[add_table0+eax*4] + add esi,eax + mov edi,I_END+256+62 + cmp [itype],0 + jne @f + mov edi,I_END+256+54 + @@: + xor ebp,ebp + mov [pixl],0 + newp: + + virtual at edi + r db ? + g db ? + b db ? + a db ? + end virtual + virtual at esi+ebp + ar db ? + ag db ? + ab db ? + end virtual + + movzx ecx,[a] + + push ebp + cmp [iconstate],3 + jb @f + neg ebp + @@: + + cmp [itype],0 + jne @f + mov eax,[edi] + and eax,$00FFFFFF + jnz @f + jmp no_transp + @@: + + movzx eax,[r] + cmp [itype],0 + je @f + movzx ebx,byte[ar] + sub eax,ebx + imul eax,ecx + xor edx,edx + or ebx,$0FF + div ebx + movzx ebx,[ar] + add eax,ebx + @@: + mov [esi+ebp+0],al + + movzx eax,[g] + cmp [itype],0 + je @f + movzx ebx,[ag] + sub eax,ebx + imul eax,ecx + xor edx,edx + or ebx,$0FF + div ebx + movzx ebx,[ag] + add eax,ebx + @@: + mov [esi+ebp+1],al + + movzx eax,[b] + cmp [itype],0 + je @f + movzx ebx,[ab] + sub eax,ebx + imul eax,ecx + xor edx,edx + or ebx,$0FF + div ebx + movzx ebx,[ab] + add eax,ebx + @@: + mov [esi+ebp+2],al + + no_transp: + + pop ebp + + movzx eax,[itype] + imul eax,6 + add eax,[iconstate] + push eax + mov eax,[add_table1+eax*4] + add edi,eax + + add ebp,3 + pop eax + mov eax,[add_table2+eax*4] + add [pixl],eax + cmp [pixl],48 + jl newp + xor ebp,ebp + mov [pixl],0 + + sub esi,52*3 + cmp esi,I_END+256+9662+52*4*3 + jge newp + +;***************************************************************************** + + ret + +draw_picture: + mov eax,7 + mov ebx,I_END+256+9662 + mov ecx,52 shl 16 + 68 + xor edx,edx + mcall + ret + +draw_icon: + call draw_picture + call draw_text + ret + +draw_text: + + mov eax,labelt ;text_length + news: + cmp [eax],byte 40 + jb founde + inc eax + cmp eax,labelt+11 + jb news + founde: + sub eax,labelt + + lea eax,[eax+eax*2] ; eax *= char_width/2 + shl eax,16 + mov ebx,26*65536+58 + sub ebx,eax + movzx ecx,byte [I_PARAM+8+30+30+10] + shl ecx,16 + add ebx,ecx + +; replaced - delete commented lines below if you like that style + mov eax,4 ; white text + + xor ecx,ecx + mov edx,labelt + mov esi,labellen-labelt + add ebx,1 shl 16 ;*65536+1 + mcall + inc ebx + mcall + add ebx,1 shl 16 + mcall + inc ebx + mcall + sub ebx,1 shl 16 + mcall + dec ebx + sub ebx,1 shl 16 + mcall + sub ebx,1 shl 16 + dec ebx + mcall + dec ebx + add ebx,1 shl 16 + mcall + inc ebx + mov ecx,0xffffff + mcall + + ;xor ecx,ecx ; black shade of text + ;mov edx,labelt + ;mov esi,labellen-labelt + ;add ebx,1*65536+1 + ;mcall + ;sub ebx,1*65536+1 + ;mov ecx,0xffffff + ;mcall + + ret + + +; DATA AREA + +itype db 0 + +align 4 + +tl dd 2 +yw dd 51 + +xpos dd 15 +ypos dd 185 + +bgrxy dd 0x0 +scrxy dd 0x0 +bgrdrawtype dd 0x0 + +iconstate dd 0 + +add_table0 dd (24-6*4)*3,(24-6*2)*3,(24-6*1)*3,\ + (24+6*1)*3,(24+6*2)*3,(24+6*4)*3 + +add_table1 dd 3,6,12,12,6,3 + dd 4,8,16,16,8,4 + +add_table2 dd 1,2,4,4,2,1 + dd 1,2,4,4,2,1 + +finfo_start: + dd 7 + dd 0 + dd 0 + dd 0 + dd 0 + db 0 + dd start_file + +finfo: + dd 0 + dd 0 + dd 0 + dd 9662 + dd I_END+256 + db 0 + dd fname + +start_file rb 30 +fname rb 30 + +labelt: + rb 10 +labellen: + +pixl dd ? + +;include_debug_strings +I_PARAM: + +I_END: diff --git a/programs/system/icon_new/trunk/iconmngr.asm b/programs/system/icon_new/trunk/iconmngr.asm new file mode 100644 index 0000000000..465d9c5973 --- /dev/null +++ b/programs/system/icon_new/trunk/iconmngr.asm @@ -0,0 +1,780 @@ +; +; DESKTOP ICON MANAGER +; +; Compile with FASM for Menuet +; + +use32 + + org 0x0 + + db 'MENUET01' ; 8 byte id + dd 0x01 ; header version + dd START ; start of code + dd I_END ; size of image + dd 0x4000 ; memory for app + dd 0x4000 ; esp + dd I_Param , 0x0 ; I_Param , I_Icon + +include '..\..\..\macros.inc' +include 'lang.inc' + +START: ; start of execution + + call load_icon_list + + call check_parameters + + red: ; redraw + call draw_window ; at first, draw the window + +still: + + mov eax,10 ; wait here for event + mcall + + dec eax ; redraw request ? + jz red + dec eax ; key in buffer ? + jz key + + button: ; button + mov al,17 ; get id + mcall + + shr eax,8 + + cmp eax,1 ; button id=1 ? + jne noclose + or eax,-1 ; close this program + mcall + noclose: + + cmp eax,11 + jb no_str + cmp eax,13 + jg no_str + call read_string + jmp still + no_str: + + + cmp eax,21 ; apply changes + jne no_apply + + ; (1) save list + + mov eax,70 + mov ebx,finfo + mov dword[ebx],2 + mov edx,78 + imul edx,dword [icons] + mov dword[ebx+12],edx + mcall + + + ; (2) terminate all icons + + mov esi,1 + newread: + inc esi + mov eax,9 + mov ebx,I_END + mov ecx,esi + mcall + cmp esi,eax + jg all_terminated + + cmp [I_END+10],dword '@ICO' + jne newread + + mov eax,18 + mov ebx,2 + mov ecx,esi + mcall + + mov esi,1 + + jmp newread + + all_terminated: + + apply_changes: + + ; (3) start icons from icon_data + + mov edi,[icons] + mov esi,icon_data + start_new: + + push edi + push esi + + movzx eax,byte [esi] ; x position + cmp eax,'E' + jg no_left + sub eax,65 + imul eax,70 + add eax,15 + jmp x_done + no_left: + sub eax,65 + mov ebx,9 + sub ebx,eax + imul ebx,70 + push ebx + mov eax,14 + mcall + pop ebx + shr eax,16 + sub eax,51+15 + sub eax,ebx + x_done: + add eax,0x01010101 + mov [icon_start_parameters],eax + + movzx eax,byte [esi+1] ; y position + cmp eax,'E' + jg no_up + sub eax,65 + imul eax,80 + add eax,12 + jmp y_done + no_up: + sub eax,65 + mov ebx,9 + sub ebx,eax + imul ebx,80 + push ebx + mov eax,14 + mcall + pop ebx + and eax,0xffff + sub eax,-1+20 + sub eax,ebx + y_done: + add eax,0x01010101 + mov [icon_start_parameters+4],eax + + mov esi,[esp] ; icon picture + add esi,3 + mov edi,icon_start_parameters+8 + mov ecx,30 + cld + rep movsb + + mov esi,[esp] ; icon application + add esi,34 + mov edi,icon_start_parameters+8+30 + mov ecx,30 + cld + rep movsb + + mov esi,[esp] ; icon text + add esi,65 + mov edi,icon_start_parameters+8+30+30 + mov ecx,10 + cld + rep movsb + + mov byte[edi],0 ; ASCII -> ASCIIZ + + mov eax,70 + mov ebx,finfo_start + mcall + + pop esi edi + + add esi,76+2 + + dec edi + jnz start_new + + cmp [I_Param],byte 0 + je still + + or eax,-1 + mcall + + no_apply: + + + cmp eax,22 ; user pressed the 'add icon' button + jne no_add_icon + + mov eax,13 + mov ebx,19*65536+260 + mov ecx,225*65536+10 + mov edx,0xffffff + mcall + mov eax,4 + mov ebx,19*65536+225 + mov ecx,0xff0000 + mov edx,add_text + mov esi,add_text_len-add_text + mcall + + mov eax,10 + mcall + cmp eax,3 + jne still + mov al,17 + mcall + shr eax,8 + cmp eax,40 + jb no_f + sub eax,40 + + xor edx,edx ; bcd -> 10 + mov ebx,16 + div ebx + imul eax,10 + add eax,edx + + mov ebx,eax + add ebx,icons_reserved + cmp [ebx],byte 'x' + je no_f + mov [ebx],byte 'x' + + xor edx,edx + mov ebx,10 + div ebx + add eax,65 + add edx,65 + mov [icon_default+0],dl + mov [icon_default+1],al + + inc dword [icons] + mov edi,[icons] + dec edi + imul edi,76+2 + add edi,icon_data + + mov [current_icon],edi + + mov esi,icon_default + mov ecx,76+2 + cld + rep movsb + + no_f: + + call draw_window + + jmp still + + no_add_icon: + + + cmp eax,23 ; user pressed the remove icon button + jne no_remove_icon + + mov eax,13 + mov ebx,19*65536+260 + mov ecx,225*65536+10 + mov edx,0xffffff + mcall + mov eax,4 + mov ebx,19*65536+225 + mov ecx,0xff0000 + mov edx,rem_text + mov esi,rem_text_len-rem_text + mcall + + mov eax,10 + mcall + cmp eax,3 + jne no_found + mov al,17 + mcall + shr eax,8 + cmp eax,40 + jb no_found + sub eax,40 + + xor edx,edx + mov ebx,16 + div ebx + imul eax,10 + add eax,edx + + mov ebx,eax + add ebx,icons_reserved + cmp [ebx],byte 'x' + jne no_found + mov [ebx],byte ' ' + + xor edx,edx + mov ebx,10 + div ebx + shl eax,8 + mov al,dl + + add eax,65*256+65 + + mov esi,icon_data + mov edi,76+2 + imul edi,[icons] + add edi,icon_data + news: + cmp word [esi],ax + je foundi + add esi,76+2 + cmp esi,edi + jb news + jmp no_found + + foundi: + + mov ecx,edi + sub ecx,esi + + mov edi,esi + add esi,76+2 + + cld + rep movsb + + dec [icons] + + mov eax,icon_data + mov [current_icon],eax + + no_found: + + call draw_window + + jmp still + + + + no_remove_icon: + + + cmp eax,40 ; user pressed button for icon position + jb no_on_screen_button + + sub eax,40 + mov edx,eax + shl eax,4 + and edx,0xf + mov dh,ah + add edx,65*256+65 + + mov esi,icon_data + mov ecx,[icons] + cld + findl1: + cmp dx,[esi] + je foundl1 + add esi,76+2 + loop findl1 + jmp still + + foundl1: + + mov [current_icon],esi + + call print_strings + + jmp still + + no_on_screen_button: + + + jmp still + + + key: ; key + mov al,2 ; just read it and ignore + mcall + jmp still + +current_icon dd icon_data + + +print_strings: + + pusha + + mov eax,13 ; clear text area + mov ebx,95*65536+180 + mov ecx,253*65536+40 + mov edx,0xffffff + mcall + + mov eax,4 ; icon text + mov ebx,95*65536+253 + mov ecx,0x000000 + mov edx,[current_icon] + add edx,65 + mov esi,10 + mcall + + ;mov eax,4 ; icon application + add ebx,14 + mov edx,[current_icon] + add edx,34 + mov esi,30 + mcall + + ;mov eax,4 ; icon file + add ebx,14 + mov edx,[current_icon] + add edx,3 + mov esi,30 + mcall + + popa + + ret + + +load_icon_list: + + ;pusha + + mov eax,70 + mov ebx,finfo + mov dword[ebx],0 + mov dword[ebx+12],4096 ; max size of icons.dat (in current format) is 4 kb + mcall + + mov eax,ebx + add eax,2 + xor edx,edx + mov ebx,76+2 + div ebx + mov [icons],eax + + mov edi,icons_reserved ; clear reserved area + mov eax,32 + mov ecx,10*10 + cld + rep stosb + + mov ecx,[icons] ; set used icons to reserved area + mov esi,icon_data + cld + ldl1: + movzx ebx,byte [esi+1] + sub ebx,65 + imul ebx,10 + movzx eax,byte [esi] + add ebx,eax + sub ebx,65 + add ebx,icons_reserved + mov [ebx],byte 'x' + add esi,76+2 + loop ldl1 + + ;popa + + ret + + +check_parameters: + + cmp [I_Param],dword 'BOOT' + je chpl1 + ret + + chpl1: + mov eax,21 + jmp apply_changes + + +positions dd 65,34,3 + +read_string: + + ;pusha + + sub eax,11 + shl eax,2 + add eax,positions + mov eax,[eax] + + mov esi,[current_icon] + add esi,eax + mov [addr],esi + + mov edi,[addr] + mov eax,'_' + mov ecx,30 + cld + rep stosb + + call print_strings + + mov edi,[addr] + f11: + mov eax,10 + mcall + cmp eax,2 + jz fbu + jmp rs_done + fbu: + mov eax,2 + mcall + shr eax,8 + cmp eax,13 + je rs_done + cmp eax,8 + jnz nobsl + cmp edi,[addr] + jz f11 + dec edi + mov [edi],byte ' ' + call print_strings + jmp f11 + nobsl: + cmp eax,31 + jbe f11 + + keyok: + mov [edi],al + call print_strings + + add edi,1 + mov esi,[addr] + add esi,30 + cmp esi,edi + jnz f11 + + rs_done: + + mov ecx,[addr] + add ecx,30 + sub ecx,edi + mov eax,32 + cld + rep stosb + + call print_strings + + ;popa + + ret + + + +; ********************************************* +; ******* WINDOW DEFINITIONS AND DRAW ******** +; ********************************************* + + +draw_window: + + mov eax,12 ; function 12:tell os about windowdraw + mov ebx,1 ; 1, start of draw + mcall + + ; DRAW WINDOW + xor eax,eax + mov ebx,210*65536+300 + mov ecx,30*65536+390 + mov edx,0x33ffffff + mov edi,title + mcall + + mov eax,13 ; WINDOW AREA + mov ebx,15*65536+260 + mov ecx,10*65536+200 + mov edx,0x3366cc + mcall + + mov eax,38 ; VERTICAL LINE ON WINDOW AREA + mov ebx,145*65536+145 + mov ecx,10*65536+235 + mov edx,0xffffff + mcall + + ;mov eax,38 ; HOROZONTAL LINE ON WINDOW AREA + mov ebx,15*65536+280 + mov ecx,110*65536+110 + mov edx,0xffffff + mcall + + mov eax,8 ; TEXT ENTER BUTTONS + mov ebx,15*65536+72 + mov ecx,250*65536+13 + mov edx,11 + mov esi,[bcolor] + mcall + inc edx + add ecx,14*65536 + mcall + inc edx + add ecx,14*65536 + mcall + + ;mov eax,8 ; APPLY AND SAVE CHANGES BUTTON + mov ebx,15*65536+259 + mov ecx,304*65536+15 + mov edx,21 + mov esi,[bcolor] + mcall + + ;mov eax,8 ; ADD ICON BUTTON + mov ebx,15*65536+129 + add ecx,14*2*65536 + inc edx + mcall + + ;mov eax,8 ; REMOVE ICON BUTTON + add ebx,130*65536 + inc edx + mcall + + xor eax,eax ; DRAW BUTTONS ON WINDOW AREA + mov ebx,15*65536+25 + mov ecx,10*65536+19 + mov edi,icon_table + mov edx,40 + newbline: + + cmp [edi],byte 'x' + jne no_button + + mov esi,0x5577cc + cmp [edi+100],byte 'x' + jne nores + mov esi,0xcc5555 + nores: + + push eax + mov eax,8 + mcall + pop eax + + no_button: + + add ebx,26*65536 + + inc edi + inc edx + + inc al + cmp al,9 + jbe newbline + mov al,0 + + add edx,6 + + ror ebx,16 + mov bx,15 + ror ebx,16 + add ecx,20*65536 + + inc ah + cmp ah,9 + jbe newbline + + mov ebx,19*65536+225 + mov ecx,0xffffff + mov edx,text + mov esi,37 + mov eax,4 + newline: + mov ecx,[edx] + add edx,4 + mcall + add ebx,14 + add edx,37 + cmp [edx],byte 'x' + jne newline + + call print_strings + + mov eax,12 ; function 12:tell os about windowdraw + mov ebx,2 ; 2, end of draw + mcall + + ret + + +; DATA AREA + +bcolor dd 0x335599 + +icon_table: + + times 4 db 'xxxx xxxx' + times 2 db ' ' + times 3 db 'xxxx xxxx' + times 1 db ' ' + +icons_reserved: + + times 10 db ' ' + + +text: + db 0,0,0,0, 'CLICK ON ICON POSITION TO EDIT ' + db 0,0,0,0, ' ' + db 255,255,255,0 , ' ICON TEXT ' + db 255,255,255,0 , ' ICON APP ' + db 255,255,255,0 , ' ICON FILE ' + db 0,0,0,0, ' ' + db 255,255,255,0, ' SAVE AND APPLY ALL CHANGES ' + db 0,0,0,0, ' ' + db 255,255,255,0, ' ADD ICON REMOVE ICON' + db 'x' ; <- END MARKER, DONT DELETE + + +title db 'Icon manager',0 + +icons dd 0 + +addr dd 0 +ya dd 0 + +add_text db 'PRESS BUTTON OF UNUSED ICON POSITION' +add_text_len: + +rem_text db 'PRESS BUTTON OF USED ICON' +rem_text_len: + +finfo_start: + dd 7 + dd 0 + dd icon_start_parameters + dd 0 + dd 0 + db 0 + dd icon_path + +icon_path db '/rd/1/@ICON',0 + +finfo: + dd 0 + dd 0 + dd 0 + dd 0 + dd icon_data + db 0 + dd icon_list + +icon_list db '/rd/1/icons.dat',0 + +icon_start_parameters: + db 25,1,1,1 + db 35,1,1,1 + db '/rd/1/icons/fs.ico',0 + rb 12 + db '/rd/1/kfar',0 + rb 20 + db 'KFAR ' + +icon_default: + db 'AA-/rd/1/icons/fs.ico -/rd/1/kfar -KFAR *',13,10 + +icon_data: ; data length 76+2 + +rb 4096 + +I_Param: + +I_END: diff --git a/programs/system/icon_new/trunk/icons.dat b/programs/system/icon_new/trunk/icons.dat new file mode 100644 index 0000000000..e1172ec8f8 --- /dev/null +++ b/programs/system/icon_new/trunk/icons.dat @@ -0,0 +1,8 @@ +AA-/rd/1/icons/FS.ICO -/rd/1/KFAR -FAR * +BA-/rd/1/icons/FASM.ICO -/rd/1/develop/FASM -Fasm * +CA-/rd/1/icons/WRITE.ICO -/rd/1/TINYPAD -Tinypad * +AB-/rd/1/icons/FLOPPY.ICO -/rd/1/RDSAVE -RDsave * +BB-/rd/1/icons/CALC.ICO -/rd/1/CALC -Calc * +HA-/rd/1/icons/BUG.ICO -/rd/1/develop/MTDBG -Debuger * +IA-/rd/1/icons/BOARD.ICO -/rd/1/develop/BOARD -Board * +JA-/rd/1/icons/VRR.ICO -/rd/1/VRR -VRR * diff --git a/programs/system/icon_new/trunk/icons/board.ico b/programs/system/icon_new/trunk/icons/board.ico new file mode 100644 index 0000000000000000000000000000000000000000..dc1020d2179fb527d60bc40af232134b616d9911 GIT binary patch literal 9662 zcmeI0X;hTg8OL93tV-L&gHfyo&1uwFtH&j3)wr-U;sy%HGJuGR;L0Z30K>3If!Q~P zfpJ)6F(Prnu&DDg1M&jO4A0fHQDe+$PjgOAdwTk@A9_yu++i?8C&>(o?FTOB$Me7U zeV=*%^Kj>K=Q7L`{8_!4!QbyP%}W?&F2gX(5FBD+5IRm<9$uSllNIh1k zV$Y1T$!$-*cx?Xr*N^-E`h-}%dTb?>rw=XQigrF{2p;|UKFQA&kbqsjsW0PSQe3!B zCN4Gp^KYM-^|7A)>PUBsD$<=$6cO&=igq?f&U1&m9hIc6x{8GE-<9oz|2OcS>4+Ob z*T-jMrY3KbmX?^m`EuxvhUYdQ4Pq>kAcoioWWXg&^PI>L?PH+-x{}n_RFm+)pY%_C z)AgLLi*${mJEvzv@j`=3i_Z1`<#TR89pQFQ5zbg;VGK+p(qIO-YYM2VsfLK)AN4;C zz0O8{i)=!+BHPBY^CRE*qWpa8ll$gjWu)7%B9a+aMlpnf8eGxN=18$V1NQp!0{wn$ z{>((Lo(T2sa6SKnk5^)0o)8`lv!Fic2I?4Q!cj!v{IS=c7r4Wrf3aLND=jrSGA1fA zD1(>C(k!uA#opT3=g3>S}9%#!+Zrt&o!fp#UBMi_dl=x)W2O;>1)!aaB8; zQ+9NU?emNCpE#O7Qki%ot|`W^|M87U$F^|t_Iiu7tri?nV30w9AO{{=StyTt3-k$Y z6Ha;DOyI7{p|-jTctJ1DADKeptJi7SfiLfyXP(-~O^aJ^opx*;nHIYaY>{ev|J`HW zy{%HHKCcHy{#E6w zXZ82w@8FhX@3t=H?;?x&J7FYJJ<{Khx}W6dWW$5O4q`}{N9wcQfeYE5gyO1pHm53i zF7#X$k*f2R4(mVG|9gVn+{*j_>k6SiS&{1xwn(+Tzcup!$^fvmkllL|>7tDuC#Y^CdbTwR8 zZG;=z?a;2<0UedQp!2*xbQ%2NX4QThU4{VLSf_pubX54kjdE{jQ-26oWozMb=`y%j z=m|~vbMf_OLrwZDFgBfo%5p7)JMynp`c~rl(~s-V%A)<;7D=e}Ls1CXED8Y{N1=Vc zJRTA9`EalM3aQJSN3JT~M}M2i?V6p0y$}d&V=!SGf>7@VwjmHT@T{+@GD zB$uBF_e|GFyUq)rwG+CVc9HHT^xx=*dZ*Lc*_=-O7BDvF6P-r$L;ig#v>GG#1u?A? zhj4yn(Uu+RC~(BS;%E?LX2Jmb33TYTKzF0pgwv&82VD)hpjE3J&L0J?|GF|Y+xHmE z8{}c!ZvA2F?utWXm+lbII123tiDO7kW(IJ#FO$xSEu_0~JD8ij2*p+HY!3C`c|kzR zR7!{SS7_wE+`_O9MqzdQ!YmQp?RvjUG4M)HhskZkI$d8ch^mORyyf{(*p{Lm! z%uQayG*WJzUq9Slmj$>#!~KIFANR)I$Qs1fW^9cYh%F? z2b8fu{j)b3p}idEPs8?C$#8G8m*vhy@4I~;dk>DnR&N;WypTPJ^Jg$NI`}x6rr%E% zjJRhQxmxC1rc$t`&j!t#brIaY=6GvBV;u2sI0pVS+S%6_51|#uNpiwzV7uB#tL6~7 zq=G|!d?{-_KaZbqt5A)!dYb|Ni0Yv2?a?&qpSLa;1o$0 zq?5GdL^ymf@+L1dq$!FQRu>x+U3U6-oCwdC3dfS2mXubKpRwY5#_b)sQtG3UOO5>x z?wOKrOSs$twI!!d0Y3?+gq(2_f1?1(uGE5BE`zYJpi;C#&(-L6ZF*+#E5zxB{(Y4) z33~?y%t`1!XHa9!?pF~$z6Tmd8SRh8=kIZ4JnlvTQGZfHlrkv z=|=r4q++($+HX!WO8W$NHACnP#`+oSb?o?fHTAD-sUixg1cE|s{^@xEJvUg0%y8N~ z-YAuceB=_5(KOW8onn&r2(9J)IfLq<96FCCi1^Mzi=xF~!N0qO7tPB@8yk_O2t9kE zXY)=sk*L^LCMspS@Ak6sZN=Tmth6`rmbfqBrij9gVYELQ>9uj`gRKIt>}nl{Yhqvg zskk#}maga2J3W_osg;%#tr2GPS&r*v+j_c;*LynIE8U-(5tBVqJ+?n~eB63qkTd5A zvP@?)Qs{X;J@*?|lgY(X($6MkWM`z^EIC(Td@U3e8U_4}TWKkYg{3NyOY_~)o0O;| zZ-~{BIg&D|hpbZRA*)h*NUD^G>J@{peO~1u)=E7@8p&L-O6>A{apZq;Y_bBA6_~8R zWCfhBz_+%>Fs{dLhItF~{)5lL|C+XlJC+yXzwtU9e=h!uTEy|M{+AJb+n$f_gT_VQ SIv2Ow@1xQ6y3vg9^8O1<4guu= literal 0 HcmV?d00001 diff --git a/programs/system/icon_new/trunk/icons/bug.ico b/programs/system/icon_new/trunk/icons/bug.ico new file mode 100644 index 0000000000000000000000000000000000000000..8b08c8c19f52064a68409ba31a9c6f68bbf75419 GIT binary patch literal 9662 zcmeHLc~sQb*}e=Y7Q_u#TtEdEKtYrphGE}iS9V!slSMXH2#QAIRy7*esEDQ}(WYse zv^5%Z23cfhxHqN!#FJ|BDdX6*HBG*go-`+Z&pXWM#FJF0Cg~r&p2z!JE_0vv-sfHJ zk1+%Mb97|*--?~LVQeB}Y#x9|ECZnD)VAQ=kI)P;=aZ292t0-|CGi~ri~+_2Q=R}l zqjxlh#{Q=?;_?%~9IygxfyICe;Hm{()3f=2B`_8sJAUjv83qoc0pjEUcmRGtAQ18d z=o!6p2NnQR0W;vo+Kb_sdmJ!_Nrro}v9?icqH_Y9VK9Em10~P?qf$y^!GwH=D zqwwaoDODf!SnN>o@!M70^hFgn+)P{n;-7bevr1eOe;w$)=tIu@uPE7){rf;tUrRFF zlTT9&`(AuuT=s_s!^4^ijU(IJY5FP1$>4`_*OS^X!$ye_t}nTh)T;E#Eze3$?j12ne| z2DlzdBhHj#rUO$(IF(s2zvefrHh$FNboi5QhXZPEzfZ+&_o;==Pu0R|mx^ol0XB@t z1OEc}FZo0HM;!hwnCyyRp$%Fe$8)kFg>&Y1{vBpKHUe|dK9Da^{;&dQZnA^&$|PW@ zenECm11KjgGLpSrHZqAfFFF38eeo-5rNh3vd}>KA9~s}uP2yVkxV#Vej2-=){K0fp zFCSKTW5B1QTR8K2?=hlVAN#|`yPO5rE16wI73R?Ci1GsYffZl}P|mgi%z#0)b>$^A zj`ol0m&JyrlLMLb@>QGd{q2j7{<&-6-n-l+x(WMFye8u}z9&W(^m3Ep zK4H35C0H2NoZf54urT~xC1NbCKWQuXhG1@QU1ky^U2X`(oU{kT+gp2WjouV^YFk@Y zYyoU2E?Gmlh4P}!h((p zTpFGMjp&a}#l3!9+JHR>RPbRoNd=fIWc*~S#Dw_xnm~Ww4Y-#9 z6W8=XONgy{ap@a5PM<%;BG^x#C^7FEl`MFs=OT$7ofsQ>u_4c6F9^*6(+@pc3 z>&lDkoD)vwNg}!%=AC-bZhQQ`a=}r=$yGhj#H9gUcwXeggB5({h8x`Jpo%-Ztm0F^ zf6AI0h^@#E6qjIwIpw&mdO42PUSCJjOI@+4rOmYV8EGrt9W!Q(6lADA9WlUa@c*wV zD=`KRfWN{o{jl65qp!i{%;(K>PyD58{!vxWf}?6NchARS#>W5QbGF?QPKQ)t@gWsQ zToO(I#ieO$`-CR8K9S>w=l(&UwiC=3@ieKMV$pz>LYjC)YL&>(%Tn4eT(S~uDfUop z`){?(f=#yI|GrCNt-`eIj$+o&zG$>Q^=Zf4W9lAT@FyD_uosJtfb(Gj_@gHqrj_>c z8SDClJ+!2s<0fwY__6Qk;!z&r4{0g7je9NM$s=QvPl2!um;=zc;@@sXrR&$&FMC5i zvQjOde(oQQGf#ioHv70*ITyUK51h2*aD;47apI4C;It3K-x7KvEm4k}r^(aM(I(_F z{a8fTR4b8=;ybxx)Xv5+7IPCpnBpeY)X!8$_^m!`J}>UAH%+SVD<;1FWy91npS4-O zdcS+tG3W;%8{pH}2elZm0qc)Fm|oV)tv2*&wB$%OU>|JvQl3`vQ5ikR#dYxa_k|>; zl}oBnmr|Zi?%|_ccO3y|%3~CFtbjqs9gO|fHaxU#!>||BiZO5e^V-BSpSN0^_;a`A zakZFDHh}*lEot@vI)a|2m4pArn;I=S9l#zPP;0a_un+gd^sRRUv?R>8^`map)_lqE z1;@QFg9P!X^8nQ?R0BLyGYIKiEm^0Mo4o$d`Z4g~2`4}4ntBXz1+YF2Z2-2ow%2OO z33h1sSM+JLL@`NY!xLJ16qk@6sP;C9Z{uviwjCfF1kkyXa@Mo*H)5eJDJ=J9gW=D< zY%n?Vf7eH!{7c7#SJiynraoaD)5MLJUK3;Udc@p=ci|5MTAH>7`mezHlV5A&lI=?$ ziJ282@_D=N3}}h!R&C8^j+##r)yxg-%GZN4)enmRs$Hn&p}LLEl?K328reRY`JRek zab4Hh>Cdhk*8IKA1nY0Q8-7R{*7zcFm)9jRCZ`+wFc6n4h=1ixjh4u-r%#6#%oK&~aS!@nKxtDZAbtvTl2{713zGG=*6&}KT z>RQ;5``zsL{cgi!YUQx%n~(FCHlB<~Y~k~uqxryO@Sg$wkWV|l($5Y2u6!fzj7(_# zMqHX&jrG7e-)O8&9Ok4N+7F-@MCTd$)-oR;8-~K)1mmX}nT~g1Zom39tG?C6j(?&g z8ze{W^{`~J<`~GZzdb!^n53ex}?@F^Kq+FVJ34E~7Kazig;|#;q+Yam~spToN9)(#16> z(RF%A%`U|0>#XLp7Ix~>R(9gAon*uCowvBj_FKaImAhgp{8$&4#)H4b3pXF-xX~$X z8jWf6hP*YS{EwR0O8LQV-#uXx+afGHs}9*Xc%?bI`o#r>M#TmO1dtu19Xiv~cSq9C zQyc1@QmWl_SW{ATHGNg3f`xWmV<*12#?E}vwBVNy+GOwCS57{y;wI3`Xka{`i%aI< zKe@6`qa}(<_V8_sk`MUUj1E4l0(H_Wh)LSGG-vBAZX~p#Afz3%?ry>x@N#qIUal^}li=b^;2thZ z_&ob1FM@{;K<8XK^F8}9 z3E&D)&Z68q4S25lhd%6!3-T@o`}=pqMn!c&KdtBAe7&iva%1z#^t6uj)D-16^b`B9 z_2cc~!NY=sx|hesY{5C5_|5`!cFe@}Gu8h1`$w&$D1XwL($yErONyFSrmv{;@$_uS z&&h6j?M&^pb7#*smJ}9T&s>q(k(Qj)1N~_A|K0k5cDR?DTUTDr%J$OL1@*bvnMs(8 z&gpdCwE`vrLyG$t|E&$NY$R|Pki&*cnQ1A$GH>sq(7-@N<%ae0UtGALIQi=FhJxIj z=Jb^0j?}~iCG_93Jnq~12l@MPPj~lD4_B9p)dhLA_{|2&F?rdUR4-7?LhDZ4pNsy% z+kv8{AIQ2Dm%YWaopZ^~c50#abtbGy{y1lbDDIFT~cQWzo^;aZyp} z(Gg4IBSJ%+as6Cl`445&f9Lt{3jC+8z(Y-A?7RD~EFV6k_qUA)`Yi?nJv{@yW~`d} zuTZ#adrRv7fsYo{KfuQqz5eUl_=sQ4*w-1_-U=&2_vjdn)Ad{Mp@;5ueLWH}-G5hq zTl-$GH>UBprym79%{;oEcxm42_<^s6r;hiNy>8sc+HoqzTIl!xw#DFY)IY2@e5mOk Sj2`H}@)_u9W$FF5_x}$Pk%Hj> literal 0 HcmV?d00001 diff --git a/programs/system/icon_new/trunk/icons/calc.ico b/programs/system/icon_new/trunk/icons/calc.ico new file mode 100644 index 0000000000000000000000000000000000000000..8a71b08e9d93065ff5e613eaafc56c5ec2ec245b GIT binary patch literal 9662 zcmeHNd32Q36_2fLwVNJni{b)D1+}$RQF|;^L5Ro>){3Gaf(s<9vIvUoNH!*b1V{o| z$x0Fkkd-8}e3Q(Q%*;3UPL|0=fUqNK?Y}+8{_Z0)Ko7Q!8UFG3aellv@B4W3yZ7Du zyYGENSlCVY^Z4Uo_}^2CqnSec-{uw0o(};2oYp1ne*3x*b{17#NR&$?gEAYLxDd7&j5evBV-PlOXifh z#gft5by*r0tg3Q0>*?0GMCIb0+8<*2>b#Fg$?41y9eHP--t&ZerW1b zLx;Zi)RRNszXn6`xtAC+c<>u{_V51+=DykoV#g@pNkC%r7N9TJ&C}m_{f{%>d^2JC zwAZxv-w&4T}U(u|d}0Ss;)H==Sbf5HV+0 zeomI=^|&2QyWL}~uA;2W49dZGVO%(>^(Z}Zh%(btDI52S3i3(TLQuFrkFqi{C?hR} z4i_IJSqrnVhB8yO(OyF&rSINEN6X99xZF$JwUgd>?bQ;n46MO(=syUEcJ%7nym9^D zmCKfxNcUJ-_c)z)o1U4Liny_o(^khOV-4qJXAx}T{du|UsH;`uC5MXn@WBIgr1&70 z94-!y=jUd#a7|B+;*9kJ`C$B0T$(tEQnr7H7&EFkGgckt`4Mw?=o62>1F~Yn^MLUG z70|0|&8m;aZjFmI`I{Q8KCkWsPrU~7lUFAnd09|cu%Ez{VOww<_Hsd9E*0eGvGfDa z%QFWH3n(#a66bE}ulScGO`@X2xm=DM5dR}@czsvp0+n}x2d(c z$?7BBS!cEA6=kK|*4j!PZEa}%iho(j5w;;80^>d+F5I6_Mf>w%BL&B8$a$;@?TLS% zb2i=?7C$OTUw9d-t0^~oAHfGySyn}a?8TbiBFa;2YQgJw2!@qr@Npe>$;daT2K zm8T}eRDNDgFn{xNbEM9Z)D4L-tO0Voij!jA;kX^J;}zd&JGRy9qje$qUE_+&>rj?upc07D#-1sCs~u6eVJ-p zY8SYZ*dY5K(JHxDdiaoVS22>A97TKMW>EUhRj485vhN7O5ED(I@_*XiWYh6uoz`~0 z-|2O`_1vsX_zK_Uuwid(Qu_p{`H1!4cqMAI*dujW`hn*UBF3afWF~LmeH-ox)?d*d z_+Hk4kYj9!i3w5sESZ)L{wKg68tTLzS(o|*-604OJgK%Ca7k?^eys$y?@f zdh{4hi+_(w4iz$Lqv(Ok`S`dH`Cs^_3jgEQV;ybIrbeIcW3PM{>TDg8$IUnw5cby6 zs`wTCK%Ovkir{-`l`e|Dc-$_AR^gvDa0B?t`3%o1{S^(Cd>19p`a*6D0*VZAc-RX&msP9-~EWS_f6G)UHhwZf&B#}mTYRkJ(DzX5&q zJjN|}29K+_I%H(N{cja~+mtdIGOLE`-S7eGh{RTC`KK7qoa)xPj&(ZPTU&H@&2BQ~ zEhPJqjffZMC=5_=93*qzBGL+$Q!~}6*g{@Vv$s}_$vw6oP_YG)+O zp+6}e{|1;~h@h7Z^VwuGiykXmwk!XS@ALU(NiXEgphpc;sMK7kbXejG{=Yi@zw`U6mCF@>)5QxHtk6)0v0m}# z9{&93$1igae;)SfG``G#28SEoV&Ok_$4nlVFpGu%_@vo9e(!7+{$n#{^Go|?ad`Gj zR{Y~%=5nn{VoJr<_IQc^p#O#cAfVUp-vazEUA$;Hed?6m?5cCa|2Kxe75q_4Bu75G z!e8Eh%5NI?0KI;HEAo+pE}74tJ!{oG_WA*fMtg5W{FG_c!d+o|yde-jBf{(m)$&=2mt}b_1XQv0}V^3#$yQiZE*zbF;pcVZqz&le9>WBjBp$G3K z75vRjs>M4-*X)@ya`F8V^TPe+0GIF5Zru|1*ph_{O0X|9i4BM)%a>n#VSy&qL04^O z&z!NHIeprG2Kf!xPIq_P1*f{ZZ2;PncG!x(v?m0xUE1SzXfn`c1MH~pcASH3_`RWe zeniA@aJ{9k+ynL^j$Xhzl;K=%1Se$&Y>}AK#1=sN;?gAzIbxAKfnI5!U$|faG}x)Z zPS|@M{qyLbvjEa6oIiKg(%$OVaK6{(&3UhK!@9Ndn^DNG#9ayZF8^TBYWxmXv~=+T zF=a2hzU^xTo&RGpZkj&(}e8)FXHo(_iMqKJkX}{$b)DJn((=z&Gj&3;WjgU-;qp z8{GdYEbM2}9!DXR){OtyBJH{>ZCKA|)rzy^^Y^8No!8ih&&qytk3Ww0_y>NvP3-<( Ie(kycZ)se*)c^nh literal 0 HcmV?d00001 diff --git a/programs/system/icon_new/trunk/icons/fasm.ico b/programs/system/icon_new/trunk/icons/fasm.ico new file mode 100644 index 0000000000000000000000000000000000000000..c39e84a6bb76a65cb3f2731cc9aaf09139e3c7a2 GIT binary patch literal 9662 zcmeI1O>9(E6vr=u>4!)cZI#xvC27POv7$9bqLD8RCKwZ!R2D=NNC*qMkOf_|8#a(w zHf;FZurPdt4J3S1EKo?S3s^`DglSV-+RQxJNz`=w|6bpjT&8b2(}9*rCVS2%Y^$F@ku|CzQMq?e^qXqAGfmw3~#_uY1G z^bhC8?mCz1a4v{^XxDjsCh9_~BMK zoiM|gzbE^yv_>Mf>&YAOKP*9h*vXYf>3ylayuAFX>?X-_`)l||N{`>zmx%QvX+uRt z#hr~CHwIYkTW)+K{@=wvHck9jsXs9w7IV>zotS?iZIHHzJF$85X804@H~x0<-yc@) z|D8MkKUaTp?sW+tUXo_38T*<=ixv%3RaGV6jTFT3t7ayKoJ&5IlJVo0Tw}a^C{afl zPqWc7>o_#{@7SqFX#`XTFHM0 z{ybQ$UsKr6ojVttK7Bgq?(PmcIywT6-^KtwOvfLdS0CfY`g1Y!nLiKuKIv4!EtWlw zf7`Zgp&yLn>gsC7@eeuTALtx;M<07v@UN5@%dbeUO7#-+Ahwvi%E_M1UsqQb?Ay05 z!16vA3-TeM@f*bC5AP_5saK4HwWs1awy&=*xOeYfuzUCJj1Ly~BKU0#v@<4($SdJy8nIs?_Ft%xKC^AZJ~T8GV5vc; zPMr#N?b?;`V}|^UWgEx2=D~bY+o2#?GHVpYr+G&c*Kc^ZkIoMf2J~RD-ns52E#dpt(C!uNcSl z#d`BdLQsX|)mssKb$xyPmBWV*k6yfZaSDGS?7knCQ^c4t+$>(CA|A$@I-6au@WJCR zG_O8}zp}Ejdi(b6x6htEJB2@v{n)W%0rHu%w|N(=F_e!1V+p}coKal8f3595AJh zTKsvg&%?e69^%EkMlG^9_;tzRZGE|y#X6hcUti&)o->8NtE=nwg9i^rZr!>ydinC@ zhnFs08dEJD*Ie*~AMlgMJa=GVAd?4-OA{=x5_4lW%Q4Pb{$sf(zH&YHwJ~n*0A{OK z_!h^%b?eqEJv}`mXU?1%>Fw+ikl$@>Z6W{Y=xCt6nH;fPG2S>!f38a= zlcBZit==9va%9Sy#NJ63{|e<%*lKHQm*RusaT^~L_i6pWhjr`Lg+9QMYrMqq)0g$% z;NW0r?OJ=cSbI;|Yb%fcOMy2>_@QAQ!w=161^FQ#QrSKb%jpCwqIQwjSUW~c$P@U@ z?`%J!{Qp(J{N`Wi^V{}J{9vsoA5x43Vwz7kZ{7@<8AGfgu=oHcIf)O(?pw}NgBCAd z3_IUlVCTDK&Q_=&2M-<`*Rzv~XNs8S6U@emWuI%Xe(ZgI`e|KXFuU(mA%2`Zd2;N; zi4)_;j~`EpAqB^D^4a`;{&CxW8upp`5m&E_qZs?F*q?_Vv%x-Be#|!eZ2B>m?9bYd z=f(ase(-x6X)a0e-A4D~+g0BB?mu%jwhO7dR0WU2{=ol#c@TD$%bAHiYMBqgP{$~+Lr_+C? z)6U73P1=e1@%G2)_<~705!uI)eH7V*n-^Z+%RQxT=en?pD|SNmd)a?wSIg>e!@9t^ zN7x>H?8KHi*DLFCS^bqFJg>j5=CcXi#;HHg!Sa0W3zw^sO~^LM(qW}69lB)cAg;7J hz?W8s`JtU~WuZ-XS54YP)1-a8a?&c4^rz*w{{bF*m5=}c literal 0 HcmV?d00001 diff --git a/programs/system/icon_new/trunk/icons/floppy.ico b/programs/system/icon_new/trunk/icons/floppy.ico new file mode 100644 index 0000000000000000000000000000000000000000..59c9637feb762a3dfc6ea59dcfa6066dc62755f0 GIT binary patch literal 9662 zcmeHNc~DeW_I{w^f^jr48a0a@>}h+dz+)6Jq;Vs{v>~uQ zyY{5oaC~D5_zYpj6TAdgqH}5hOmGv8=FKJZ<|5^SS%Kw?WSdfH+Xh2B-;G>Kz$UID(1fcV4+2aKs{KqRRv$N+T7AT1UiI|tms>dVK8dr? zpuyfg;4J#Oxy@ps!PI#cL~`UDSYEN*ovJVS^9QEQl$<~hLa(s2d@+di0ns2}D!YGB&_e&DvW7aLCd)g0K`vwg?v#$#KWosm)eZi9Ha zH7BNh$fBOQFbbDGuAQ_AmG@$F(**a^@N&y@|U9jSp#Xo{I*S9@pZU;6Z%$ zpau-L(mG6hkV~WD&s!UsCR%bW*$$jo8)>R;Np_T)c_(N|cE({lmVOiO3^tx6#J!KW zQ_hg?jQa~N1Gv@7O4ee+rDn&HMAe@=h2_YE+kALJhsK}=7Q4?a6+m7 ze6cn4sJbQTh}0x^faW9z9JZtFU#9nZ1SSJ#-hZF_KBjv=Fz!pdneJNH6gG&vqX*Gm zu7x*fEvB1Q$%!o6!)pmI5GD{F+u|*_*b5GvP;ufF<@qBostWzqNR0^}L5Cs&Znc%b z?e?lsBO&_=814C%?NKn;N4kGR+?_SB#A^T;catzJm`7{DE>R0EnOb-|XaJrutKy05 zR>GTv=N?OZ$RWXk(vr0 z4EO>UPN)uDqHIb0Kvf@WD|OeW0OLDavX?t!m?apy?)X{7sHCk-t2ys!Hvrn~IE z?oJt6VBBB#)WFOg4J}5-vsoQw&$l-Stp4lO680GIMQ%nyP1tg=InG91cXqD?O&L1f z_0^oMPiLEeuOI!2xYJ%`y6bXg02i}-54uOXGwy?ECnw#ByKCk>eA#ILU)@sxPFr8B zCbH}qFed&A&ly5Z_)4)U#!_7)vyh-MeN_ChqXkWTdv!U(*)Z-JoWpb<<{mnTyGZvB z5(m*KV-OFgXkqT5eq3*tg$WLGz<2ZXaqu_fOT3>K>cUqm8>4rrsv~zuQseni<&N9A z8~1a@nsVmDewahgrbU!9tAn)gUZ@sy+!M6mn63qT+Ox*{`@qsE9SVZiK)T~|;BPu* zT>Q&?UlQsf{wOxcwyQ6lHj|`=)KTeQST5qM{daK^Jx}L458xs%Ev^cr8mZHL5Si|b z`_41>(AfGLbn=LR%7|@P^2r*^beRtUrW41^KhbgmUlFiKs6YL-SQoWLT@_&}Nwj}Q zQ*)SaLPkAKw&;cD9R`T|J=}PT>3*O4(ey#waB={ix4(KxXc)8FJ`L43&^n0p`unkgo-RSC1d!qvUz1+boEFY#>e+Nq`cXpo9!v1(I zIHYP}t^a_oE-5ONz+#t$ZqT9hP$pIT4+dA;># z+03hMnN4C<=sI<2$XcnhLZ%o0YYhryx~K9<*x7Lni}G?I;JAk_muB02 z3$qSt(8RA-S6hc`vAR;m@*YY;))N1BG2dr31aBEn{!ilT!#4;`GE-&6$v0IOPpp*c z-7 zx5meR?-&qbeOA7hIm=7CSo2!Hl|7K_DH1TIGwpV^A=O;{AP0ZxoZ|Gh?hQ`C0h@;NiH zEa)|LvHxPJ&~Gsm`z^*I|JUd~%jllVhVHoxGyK+}m-B~^o|=r^T`E)*6@Zu10ZjK< z{lI6W|M2@+EEbbtIDTb>2`WyQjEldV_%}!I7Mf$WDN6$vs)~GHkqUfXhKC`|YdLs2 z+Cyq`59Tcl(6)o0=!%gBOkgKFGTKyoT#11@TmTOj>+vOL7vxatd26niU>a<-ZNBk`w3EKQ#Q1eL_uv%0OZ6vfv4-oke-qPw?6NIvXYB%+`|Pj z!p)&r_Wr1FA@p6yIb#8d_7fn-{TZk}vkj`w*b@IqV}Ab1t)}qT(wu}=`EIe$Yl=G2 z&OnlsrO@4`z^eQ+q_ZPtXQpHC&Cj7!QH(+Ueh88TgM)*}pw(*stN(THb(Gr50F>p( zaI>>s=hu+shPg5eOt3S63vN@eHhKrvoINmZ{+(Iw!WG^|40m}~?RmsT^7C?oKwnSv za&v|YSsB=S>vJqGEdfu;_m0-uhjJb{7iIZr%nCOH0<%~Yx%JolKj0wS)e!4qc4BR; z!$|(@oR58fVP~XzwM46_ygJ86D2NXfLxKX;x!GA#-i2%^%+0}yk`lP{WiM8im!h}3 zGvviOU~kubEq_aYWknRSJjs>qA-(sYLbmf){Nwg>kmbx_ecWzrNOXoz%#4Qfhw*1; zt$OoM*gKVP&+!)mz1_v4{5(~4Ri)HaUk6>Cop9%?+i+D>g15U1G+)YsDfl%Uty75Q=TR>pjC z$VY!Z9d_zkT}}0Mkhfxy1I z>vi@+eq5;I=FrH9uvT?vN5^+}zq!GlO;_7mp@*sr<%pzKbxQtTu2O4NywqG6BK2Nx z)Lmy|j{@b7lpAd&<;W~`p#0JKQvOJkPZFK4N-2jqNty2}T{^p8@-;O|B`T{3a|!G> z8NFKUXTiVo_3|igtgC6&^xeIBs|UK;uZrDY+`4(=`|k&@1As~vd0HKN+E*=B$Et*) zVD;B1sDJq32i1>1{-|bnSiiI8tomZ2y{b6QR$Ultqb`dv*ZH;Nd8!NPj399zN8hvm zq`uQ$s!l#UufuQ0oC8F7HbL(*XEwo;LB7^;=c0xFyWa{_XOuU4@Y=n5+D_u%k(?yI z7I55M%#05fl~vJVXI+d^c`-;F_)-*q`spX-&p-bxGCZs=HN}eMG4Crc%C?BbQ6^&5 zxy?F1QQ;$&CEAF!GIOQ&^G5Mf$I6D1UPEbFu~cJS_Mh z_bLu|F*_Bve@<+I%?v)ldOE?FPqd!K%WbCfyzLA=+woOC*KHY}=e~l^_gMLBxWB>Y zxh>a?=N?|GyT6JW5HD%95XM{D08?KbzMt9LFr1Kbyy7vcGI%3X;_|{q4U2&Y1N+ literal 0 HcmV?d00001 diff --git a/programs/system/icon_new/trunk/icons/fs.ico b/programs/system/icon_new/trunk/icons/fs.ico new file mode 100644 index 0000000000000000000000000000000000000000..5c1394f6149920ddc1d3d03d2e64636ab4f502d7 GIT binary patch literal 9662 zcmeHN33yc18ND-;nIsrl6toBeq5^IOslftD1X(PbsCB`D*dm3ZD2tE{$U<1cA_PJ< zLc%ImirUW>^%ExvF$|MTGPySa4QpoJyf;|@lZL>XNr0YzWCMdRAd_J1=1Iw%PMf`B%F9?$~+ zD=iR2y8z_Mp1@teZ2;*p05`H08f%(nG{uGhPXdnvKLWju-+oX`#H_3A6*qYvj5AYV%vDPG<9}Hu+D@jtG40wMk5;9}Pmpzd11o?AkYKo1dtYg;6E}~Zi!Kcvaq`SuYFi+n)Ok2(bNx|d{nB;doGcxPa~hUIM4)I;c-MA%8X3(g(-gf!l#wfq$D8zZg}cTc|E!3u<#mWt_=> zYfq&W5QH~(JNfTFtPmqo6wxhK;(l|>t(vLkJwX$aq62#leg(XKOv^xAe-t1scLN=P zf4LTItlE)<)$e7owRyn_RfXVP+?;>&{*+x6B4nc??uxc^{X0hw`c2LIAZXm$NdK<= zUj(rao7*`a4sPrB3TijQPwzVeAR$ze#!U<)XQk zNjodV6N!qrW09S+H;?26zLCAX?U?1ETK}Lc=L+d+^4L@8H))|7M*gCj{nOh*HD3GP z*<9VaGxJIpAsJ7_mOMHBWlTX}H zAtr7Iwt*Y^zafC*q@9&wGGT|4zlQkQ`@l{opMv=MF1qIA<2O6S!>eS`Hq2(#zIixD zKl$_Yz#;SAYC+3L@ct#x6`(c$`df@Tj>XpR*Kevd>60pp*t<6VM54@z_e)!ye8Ogh zPssG*ImG8Oo&0&=1;Q35|26Pp6L3F$hVZg44og;euVoG%xWLBQ^wO^kuk1;SvAG^6i%-mfeMx{FW$g~RKL8`)^LH}2q zD#SDBk47Aw4s1dnaST2)HeKQ45IxAK5aXeLJmRy!pbawbv`7-VY37fZM*Ay}C0|j^ zeE=X2U02gAb=?NF(k<;o=Q^q&}63|(0C6+d^!b4b&BCQ9)UO_6=RU1@TYKp-~vemge-U)WQqUN z0PU@4e|UW@T77}VdAxIwyhHr8$aPSdo%dTK^GVwkK6AIiU)-wj$JWWb|5};QA4Pn0t%A?f7$~Akj6>+Be3=2V#GgQWLfY2`0Ih18 zWv(tPyzWcCG>>zyr@z<~S^6wny5W(veF=>awQB$a{pccVDNs1tCJ(fwl$8uTR zvqBah|l?YREfQ4|n2^T(kLh-UfC2PV9X~rOEJ*jGE%b%iCl=VT;V4OhPU&wq4>R z&wW3`y`6oy3$Y6U*Sh*}_fm;>^MRhrW*jnV+jpM;&NTj1gJ>;lRSnX_yR>YfnxaiO zn@e?vyo2!WdTM4Lqt?~bv2Jdyk)^Jg=iVuA-Ue{PFYpq_fp4^LA> zNV0-?D)W(>6frE-dpsx+{z;HUANYx4zuec;PJ{`8*I3!uHxH5=Bf zo@}xDnct>!R5!`{9^RMv$2vHhV;AgQAQW{wOcI)K)Qm_w@45`W+8~3cgOA><2oKV| z{V^Ge7z2$I$NDfXL+0bq$C~K5MjG2hf&Xk9*9K3Y4ze`mvivZoLIAFHjkELq>m)ubMdDAV zN_@BvBM?WVc`*`kWSZkLhNWOFqdf+mryI38!pEO#XkVapH8eua(4{nH>9@Lb44LP> z^(VQ?Q-7NK2pUBHrDZ(weXAH4UnbhjI{_`o$!y>q=%O3}`uR5AB~}uB*E+-#NfPF` zLkvlFz)ut<9+HASf%-TXv{3Sn|4VxkeEjJ>=rMra;jX=xi&XdNGcRNrwqGzBwz~Hl z((4WylB+#)_!P~_}p#9;*q6CM8MpWUM-}@lOwOLTf%Jo zfmMRr-!q2ZK|M;ah8j*u+eR|yi zeR8#D{k`lV%w@J%;?pt@aZA3L7nseYgPTnUxG67>@A~{8|3e1n_eLM}dWw(8E@m0FsJZZvNuP46z~dw6 z@LT8Pw}#ooK642#EfJzbZ~+~hd$bgKwG{ZYATQ*x>|B!w-EO7%4jp#UDXL}u53cd? zpLM)I^T2acz?sIMYG`kubu~2J<>60rK)X_FbsF9DY|DlKIoX0=2P8Mqh z&V37AfEIr2NXuH9du(!g*=7D1=VI+#JHHJzr}s)bACM?p2d7qA0>YgZHd`)Y zukKwBva|;s4)g=)eYn+4yUMN8#JL{QELNu>A3NFN`u!~8OkUh)m4%8T7fX_zOLn`k z*~&$WTFS1>i{MYLKH*)v-;prJjzTuK!oub#MQo02(T7!=+s2$Zz(Q-jX78Rhv6`I)u$|#m6cYfq7*B#%pDGiba1=P#%<;0loO7e z@Z-mhamvflvNC?8>|0)X=rC`ypq%U0$i>?Dib583`XF0yCJ$V_z;8?}^lT20%|h#P z*!=HygA48b3FQ52uV1*SrPgJoI<(``b6@1!&VPOO>{(N7ZEgOkQ>QG|)zwyLDJCs| zkY$Hx$_w;-FE87&F?UfrwJV)gee!qtere}(vDf+n8fLQ4+9c$7FObE;&l^24Lfz-% zVrYp|YtMCvQ~UZaRzLmZ+Y4C@4Gr1AewWKdI`V*nO zyYZs&;>C+b(&Bczb5vE$J$LS0UR_b~k1Q#uacLchu05Ztd+Jo~Ti zTZd=32LEiCy0C4mx@SO&%NUc>n04Pe*S;RB)X8)9x;0mR=0-i9@n?7YkWH?kotCPL z+s3F*fgD9D$o7aNQ$-brOxSR>vCO{WaaapR3V%V>yfRJg1zs^F>_1 zbF&#Pcw;+X)KQGa|4Z^kMv<7e5HHgCD8{agjlT0&i=O*Ke9vtuM&ki=zT6kpD`E}) m!ODBxt3zepc!~LYbX_X<>b%tGiL)>}rf=SKZaPYRrmQKxK4<0Y$(;DFY0}0ucnI z29Y{Q6QoF+ffM1svTeXaIkp23*YyVo#rX6u-A-g+h-ZJxo{)5cJ@Vv#m)6Hpqmg#@N!Vq$4Ez+!5A38)!m;kNkzYnvGXj zZ`R5;UOm)XS7*rgAXGIDybpN)M)j8X2+w7DLQdcCup?hdi}ON@DrsJM1<5C`wW3Z5AR-V`RTemE!wio!$LV}Kz3KH>yR$&2St#V=pJkUV?#G+&zPEcLX~xtN>mR$L^F zDle2olJv7qRLJ{?q>2vGJ9lo=TeohJpYGmPq(+(*+iqrpp({Mo@a*V~q}uC;at&ur zaWL+4I>c>(tWuFId(hG>^B2r3kfk5KSgFjG(~^v`a(OC2GUA=d54LkjLtP~)%8w#` zj`Pa+hJ8fet(=1UKgJ%{?Fe8vFsvQii||~*YpNslg-)>li2$Cbv-Cb5@jEjEZ7cqk zekty}v6mdSYnBvb`IS~Ea>{9GmV%aKQbdyGO%54pQfKa%vV9x-LJ%RH&PT$Y0n75N!{ z#9{-Jw{+pS-2=2VRzo}7^Zx|kzWEK%(N`xMuki&i0l@pv(}edEpIvajQ0?0t`M?2v zSHqcgp&&beUZqls`zYp!EX$w3UUOmKfPSdGqs<%GxUb^+#x?R*>CDk3Lk^n_wR7bT zPH;3Cl6G+WP%+zr##US_D_pSX(Mf z4mXt_Fl3b01`M&;#8BjQHu%2Qr*r$bkX`h0xtK)x8Bx(bE8ihgMK}==?`$6&B=%|7vFBYB2A6jD~D?; zP|xe|;?IOE; z8-Ex>$NcGPyYY1BwaOy)IqlA!JG8FmGWD>~eU(4XFSaf*j7O`l77O>5wl-zyMnR@2I+-Z8@as^qp&k#NLL(p_WM=YoBABu#*pOj zeWVWFea;4P32(Fd^anZXb8_NrBoFW3lx4-)%00|RD&6)BCoa1NP-hc(rZnkK0$mo; z(t=plZYygm?`oIGMD)a=ndF!9Hb246{xmhpnqG%B6BlAid0Qr{E&f5y^El!JTM4{h z$+8m;$wS<~Rz~`KM8T6RtC)C4y9C0`Okh<*| zMP2udBAC}ymC^dzDB|kzT8m2|+tZV(<=%NK%fG zn@tUH?<;BN@~(EQp8>|6HZ|6hv?v?uZ9Rz|x7MRSSm_Z@xL+6I>|oEjL6X8Osl`?` z#$WgaC-0o2SsHZ#g{*o_*hQ_{SKhN8T4C${%Pu)KdgQM=zlEBJMSWoJi1sJ@4JR1_^qLc%1#d4 z*kN}r?`$Ur8L&R_zTeWwBY&WQ_S0y9-BfbYR*z=JJF;g+QkXU9pRPvz3n2ai@uNqN zr1_~rd8GRsMXc8%@+xv-%t>K}=f9C1ZPu-Sgu6cZ(Qyh1I5d%fes*mngjo@F>JJgJ z`q}tP(_G~dF1pHS_sK+bcnU?j+NpsnXk)|Gj`R0=9i=I!mUZhN<1v|ryXe9g#?$OX z!8?inuk<@RMY^-a(d#JgOU+GnG&6K*w?3-&Q9?};CK&Y2^ar=apPfG# z|43&>5hG+k|Em!}T~Ydek{7%7wSKBT!UYV;N)U86e|r4>9^AfupFVvmEl77Oj1Vy8 zkxq;<%84Ne*lga_j&{-Lw!E{ys!f;!Lty@}`eFUz{P%|U$K}A6fG+UX-%s%Q4c4#Z z`Sa)bwG~;iERm@^Bbr+bl(tjS0~`A&$%x{XR+OJFZE0yKIUmU{<(o_sf@b`l{wXjL zckHGr~ypO;;ioi=YG0dCi4Vo`sqQ4V>Il~ArfANaE-3R?#@ATtaw><$EifF=kesld1-lBT9eSfUJ|rPeDgO?&!EEyXP}M4yTa zBB%)nvW3c)3d}Go%P_x-xdNiR7$(XVc;~!x^1a^gvKV}%S&7ASPs`H?{0~Nehnk)Q+$ZcSAD=Hm z91y1`02|7d$Pnal7Xdy{jCdpCk)S8QIDF;^#0oJ%9#>)Uutj{4U}Od|>j}V~8;G#J zW$}6}#msiD$U+=FMrixu9HGsGNON0>^gcEcsjwR}Yl)O0u#!mm43R`?iVU$tEF@AB zgl8_1a)lBphar$i34eSf;RxoS(4Kfmubh76P#> z7#J3KeGleX?~U0x9WhHhNw}7wsP`pgEW*YYn;!;Mh6P>Y56mB( zct;wk$9yAod8L)wzia^W>8+F(+)9b$A3$6*wZuH~Z4?`Vu<>O*DB;~Vi+$)wVyBf& zTi>DDeDb^MjmM0zeAgWsxvl{s);7{tS2xmERyM%w<&AXa+l}JVH{MU!uWK+;ILFMLDE#1_=At|7wECHQA2BkqV< zw}e3%(XeW%srMDxy5tT`?8!FW>?L({?M69GPg6i^_4GI`>@yuW?O8%H6}mzL9TD|4F;c(~&WVJu>JreByN*!Y@A;@?pDTd-~n#uoYMJC0}W1^Q~&id|>v^)O+r^akYwi zhiEDBssq05%C#tX8sdjA{ezCbgBM7MV~uRtfezKSwC`#{BDK)ePwdso!;qEr4rFI7 zhk|n(ps-*Q6c@)rS=p{mw3?%E^IBfwa$)mYbGm5-m!3Vp4Yb-4T2`J#i;9my zaY-_b-y1-W91Nsq&%O_vcNS1iKqIwuOv&SLd9zXEOyosm0>aiwXN0Z8Z0#J7AHyWq zxjai{%BZMs6}z&2)Gpt7TfhIHykGq+uZjvc&^_^EX;V`JG&a`Lt5+^ly{;NcOHb3J zLlRn=yMpGYOJQ^DWI8%@2X%IPKOXhG)LDq@6ux_1O@#HDu_fcPu56m(@SUycf*j|g}6k8J>$p>q9T`13!%2y}?DnU%s z4|&jxBfik(OYnVP&Zo|!N&CmvtXd^X4Hzd}@_-*x@%UMUjfaO8w~5y|#7vPtZpB?i zT+WY`i#OcVXPi-X<_?Ry2DLNIk3w=v44f@k4+rCiLF!>wNZd`}*d7x&vCk5|NN|L- zLmrTE#1FEP0wE`P3b203Juwp!c6(PZTV{69%8DC?Vp)GoLOhUu1X+M34KUUTMIk4xY4*zEGYBiY-%VRi?gK(TL~Qb zjObGSPO45N45>VsU|GX_!5qVW@rCzR@KaIq6l5gA=Aefb*GV_H0(9TeI_+W_X=yHqfBB^Fk1`Qn%r;fT_xA-i9lBH;wK%-_}shI^WOa$*G&yv zt&`ERud@GeoIaQ{4;$A-=d-C_NE!{AvjpCI(^Ru(qn*AaGeUblHCTCkmswfjRw6t4 zDN!WtB z^dC>jq(cMGQ@%@{#&d-G(ufF)&p%#GN|QcyS6|Ftpvpe_ymH@1L>0f0sQL)3@2I#=yj$*EfX9?3N|<*@aa?T6Ud9fdF-*k0lfi;Lu%3D;8j z#i+$?75mQpRJCe%lYV~!&Ntn8Gmtpd&b^`D`Lo^^_?wKH8@Y@_Ce z*~Gsz!*-iUWERfax|xcW?MvA^WuIeUSl|^8Vx=m1WoL(CZ~onySC<21o%tx5;=THXbcc1l~tZeErA%|Lf7gN4y-rF3mMJR`B9?Inj5wlR9iJ%J}T7=6T!uE7* z?s*zdsaGzPpwRp1%S(W+)kh_|*gPWAUweH&_tqqdru z7GEHOt!(b>ckXcsx@tm%ih_VuKPV5JyIUE(R;5o!_`Uv%#o4fJdoFeII7@|Ya&Vh{ zhq~dn1gAL$u$j?H1yfroXA-`P2N@^{L;}8nPWxc}!Q-Cmf?9z*cdLfjDKtb-bdm^D znD#!$D~owgaq_S8BMw#aMf=-Tahc84FGuIW*}Sa#@z2lAp|itT{})oHNtdZlqya`R zG*Yh!BONi%0B&=Q)NytzwSLI}rtF)@MCJqf!n8i9_rYVPKfs_T9(C2k?4q0q^WP=H zRsHVMdbBeubkr{8`CXT7$^20ro2b`?N2T4*{n)KJVDFj_0*?xCf2|q3V+`OEWdL7> zl=)!*ulWY>L_b`^3@{YG?TDruV8|5IKY{sxbZTTeA0QBQk7?2oJEfMG6@Ni&PP2LD zkz(GX-#PFy&(ubBz;(W%VrSYd?aJ+n+7JGgN?D%29QGyU*%g6s;@8wEvIX3tjnoqv zh2Nt_#~7&(*1P;L($NdB9sTf_XQabITdBh=16WMMZ&WW}A4q!jMNj-$%ss!ZCc+El zIF?ou>&-Sjng(L+eQWJ8_Y0?P{Gno7GH924SXMhfI+HpL&!@z-f|8eS10TPei7?I% zQX_SaGScA~`w^(!3w;=kzW8?ff&Q@mKtG)pc*;EaCQ&uXQ@kQU%hMn8fKI6hkS z#Q$~;u~%0Teqjc&%VXbs1{Cw&{t2D6A;bkrm+rYG+i;*xIc~bF62EiSkbo;X@@kuo zyw(LLqD?1Q(5ADBY}1LO+H@|_Z94auHr>cYZ8~qn2l2yWKWz7vV%tJIHy^JFZ__!4 zw&`qVw$%tizO5#sZfJ?{l8jguttO(C?0*S^DqKs&UwQttG-h3$%+_5YC$2gLne)Ax zM0BXh0wkhc)oB-WS#D&9+DzK6vW@9bJ1*)_yDn~5dA{DE_Ijg3?ej*v$`9>xc>El; z`{6Y{(hl{r3)@vrGrv=txagEPM$?Hy5qlr}(=qSuFvq+imglT2<=AM-$b{B168Y~^ z5_wO4pM}53I_o`_os<3|Gl{+@w^(#fZnyXsne&o+^5IMG$ww~zMK*fbJ-Ht;2J8OV zKJwLex!u@C8OKt2iDRXB-_-MFzx(*!`ueMz+AGHpzWfZaP?ZuZ%>dBiwSCe39QI7U zJln)tvq9)~neD-zNa2aKmOK}onCni(+)-D>9G`kI&TC>a?hex2#dx#`2jK=Zi%kNX z#eBp(s97wMG>fefy9v!=2V^MLhX&miJB(`*+l^@$bdEm}r=LFbX#}1|;AsT@&m!<^ zXCY+Z7GH#Z#ryt+FQLr-i2qdRZJWB=`?BTT_xG}$&%tBDo)e2UxZApQTYL+^Q=MOJ ze`ncw){gc+Xe7a1c5=53#*_ED&;QQi`Of3bgrFOp`k7@qn6>J*ZfMaxvbo#-+SSfu NcHnVicl>tWe*u#DMG^o2 literal 0 HcmV?d00001 diff --git a/programs/system/icon_new/trunk/readme.txt b/programs/system/icon_new/trunk/readme.txt new file mode 100644 index 0000000000..2844577751 --- /dev/null +++ b/programs/system/icon_new/trunk/readme.txt @@ -0,0 +1,3 @@ +Для использования этой версии ICON необходимо заменить icons.dat в образе, закинуть туда всю папку icons, +скомпилированные @icon и iconmngr, поправить autorun.dat (ICON заменить на ICONMNGR), перекомпилировать @RB, +заменив в исходнике ICON на ICONMNGR. Вроде все :) Формат иконок *.ico - 48X48X32 bit (прозрачность поддерживается) \ No newline at end of file diff --git a/programs/system/kbd/trunk/kbd.ASM b/programs/system/kbd/trunk/kbd.ASM index 605a319c79..feeb6f36af 100644 --- a/programs/system/kbd/trunk/kbd.ASM +++ b/programs/system/kbd/trunk/kbd.ASM @@ -6,7 +6,7 @@ ; ; -include 'macros.inc' +include '..\..\..\macros.inc' memsize = 1000h org 0 @@ -18,7 +18,7 @@ version equ ' 1.1 ' use32 ; включить 32-битный режим ассемблера db 'MENUET01' ; 8 byte id - dd 0x01 ; header version + dd 0x01 ; title version dd START ; start of code dd I_END ; size of image dd memsize ; memory for app @@ -43,49 +43,49 @@ drawwindow: mov ebx,3 mov ecx,sc mov edx,sizeof.system_colors - int 0x40 + mcall mov eax, 12 mov ebx, 1 ; start redraw - int 0x40 + mcall mov eax, 0 ; window mov ebx, 100 shl 16 + 300 mov ecx, 100 shl 16 + 90 mov edx, [sc.work] or edx, 0x13000000 - mov edi, header - int 0x40 + mov edi, title + mcall mov eax, 4 mov ebx, 17 shl 16 + 30 mov ecx, [sc.work_text] mov edx, msg_nb mov esi, 14 - int 0x40 + mcall mov ebx, 105 shl 16 + 30 mov edx, [nb_name] movzx esi, byte[edx] inc edx - int 0x40 + mcall mov ebx, 17 shl 16 + 40 mov edx, msg_stat mov esi, 8 - int 0x40 + mcall mov ebx, 102 shl 16 + 50 mov edx, msg_divs mov esi, 32 - int 0x40 + mcall mov ebx, 17 shl 16 + 62 mov edx, msg_hdd mov esi, 10 - int 0x40 + mcall mov ebx, 17 shl 16 + 72 mov edx, msg_sgd - int 0x40 + mcall call get_divs mov eax, 47 @@ -96,14 +96,14 @@ drawwindow: mov ecx, edx mov edx, 80 shl 16 + 62 mov esi, [sc.work_text] - int 0x40 + mcall mov ecx, [val_sgd] mov edx, 8 shl edx, cl mov ecx, edx mov edx, 80 shl 16 + 72 - int 0x40 + mcall call get_bd_stat @@ -119,7 +119,7 @@ drawwindow: jz @f mov edx, msg_en @@: mov eax, 4 - int 0x40 + mcall ; Создаём кнопку mov ecx, 27 shl 16 + 20 @@ -127,7 +127,7 @@ drawwindow: mov ebx, 220 shl 16 + 70 mov esi, [sc.work_button] mov edx, 2 - int 0x40 + mcall ; И ещё 14 ;) mov edi, 7 @@ -136,7 +136,7 @@ drawwindow: mov ebx, 105 shl 16 + 25 mov edx, 3 -@@: int 0x40 +@@: mcall inc edx add ebx, 27 shl 16 dec edi @@ -145,7 +145,7 @@ drawwindow: add ecx, 12 shl 16 mov ebx, 105 shl 16 + 25 mov edi, 7 -@@: int 0x40 +@@: mcall inc edx add ebx, 27 shl 16 dec edi @@ -153,21 +153,21 @@ drawwindow: end_dr: mov eax, 12 mov ebx, 2 ; end redraw - int 0x40 + mcall ; Wait for event ... mov eax, 10 - int 0x40 + mcall cmp al, 3 jne not_bt mov eax, 17 ; get id - int 0x40 + mcall cmp ah, 1 jne no_exit mov eax, -1 ; close this program - int 0x40 + mcall no_exit: cmp ah, 2 jne no_ch_bt @@ -200,7 +200,7 @@ no_hdd_bt: not_bt: cmp al, 2 jne drawwindow mov eax, 2 ; пока клава не поддерживается - читаем и забываем - int 0x40 + mcall jmp drawwindow ;-------------------------------------------------------------------------- bus_num: db 2 ; Номер шины @@ -354,7 +354,7 @@ find_north_bridg: nbus: mov bh, [bus_num] ndevfn: mov ch, [devfn] mov eax, 62 - int 0x40 + mcall cmp eax, 0xffffffff je bd_next ;--------- @@ -398,7 +398,7 @@ get_bd_stat: mov ch, [devfn] mov cl, al mov eax, 62 - int 0x40 + mcall pop edx and al, dh jnz @f @@ -426,20 +426,20 @@ bd_ss_nxt: mov ch, [devfn] mov cl, al mov eax, 62 - int 0x40 + mcall mov bl, 8 test edi, edi jz @f or al, dl mov dl, al mov eax, 62 - int 0x40 + mcall jmp bd_ss_nxt @@: not dl and al, dl mov dl, al mov eax, 62 - int 0x40 + mcall jmp bd_ss_nxt bd_ss_end: ret @@ -452,22 +452,22 @@ set_stat_nforce2: mov ch, [devfn] mov cl, 0x6f mov eax, 62 - int 0x40 + mcall and al, 0x1F mov dl, al mov bl, 8 mov eax, 62 - int 0x40 + mcall pop eax test eax, eax jz @f or dl, 0x10 mov eax, 62 - int 0x40 + mcall ret @@: and dl, 0xef mov eax, 62 - int 0x40 + mcall ret ;-------------------------------------------------------------------------- ; x8 x16 x32 x64 x128 x256 x512 @@ -491,7 +491,7 @@ set_divs: mov eax, 68 mov ebx, 3 mov edx, 0xC001001b - int 0x40 + mcall mov al, [div_hdd + esi] mov ah, [div_sgd + edi] and eax, 0xFFFBFFFF @@ -502,7 +502,7 @@ set_divs: mov esi, ebx mov eax, 68 mov ebx, 4 - int 0x40 + mcall ret get_divs: @@ -511,7 +511,7 @@ get_divs: mov eax, 68 mov ebx, 3 mov edx, 0xC001001b - int 0x40 + mcall mov ecx, 7 @@: cmp [div_hdd + ecx - 1], al je @f @@ -549,7 +549,7 @@ boot_bd_enable: ;-------------------------------------------------------------------------- -header db appname,version,0 +title db appname,version,0 msg_divs db ' x8 x16 x32 x64 x128 x256 x512' msg_hdd db 'Hatl Disc.' diff --git a/programs/system/kbd/trunk/macros.inc b/programs/system/kbd/trunk/macros.inc deleted file mode 100644 index 14185dbfce..0000000000 --- a/programs/system/kbd/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/launcher/trunk/build_en.bat b/programs/system/launcher/trunk/build_en.bat index f929ea4882..46ba2dfbdc 100644 --- a/programs/system/launcher/trunk/build_en.bat +++ b/programs/system/launcher/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm launcher.asm launcher +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/system/launcher/trunk/build_ru.bat b/programs/system/launcher/trunk/build_ru.bat index 986b3fa2ba..3f93ac66ce 100644 --- a/programs/system/launcher/trunk/build_ru.bat +++ b/programs/system/launcher/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm launcher.asm launcher +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/system/launcher/trunk/launcher.asm b/programs/system/launcher/trunk/launcher.asm index bf99ca840c..52d4fd2a82 100644 --- a/programs/system/launcher/trunk/launcher.asm +++ b/programs/system/launcher/trunk/launcher.asm @@ -6,7 +6,7 @@ ; ; Компилируйте с помощью FASM 1.52 и выше ; -include "MACROS.INC" +include "..\..\..\MACROS.INC" use32 org 0x0 @@ -24,13 +24,13 @@ START: ; start of execution ; mov eax, 5 ; mov ebx, 10 -; int 0x40 +; mcall mcall 18,15 mov eax, 70 ; load AUTORUN.DAT mov ebx, autorun_dat_info - int 0x40 + mcall call get_number mov [number_of_files], eax @@ -54,7 +54,7 @@ START: ; start of execution exit: or eax, -1 - int 0x40 + mcall run_program: ; time to delay in eax @@ -63,7 +63,7 @@ START: ; start of execution pop ebx mov eax, 5 - int 0x40 + mcall ret diff --git a/programs/system/launcher/trunk/macros.inc b/programs/system/launcher/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/system/launcher/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/menu/trunk/build_en.bat b/programs/system/menu/trunk/build_en.bat index 900d8bcbe8..dc59328a31 100644 --- a/programs/system/menu/trunk/build_en.bat +++ b/programs/system/menu/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm menu.asm @menu +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/system/menu/trunk/build_ru.bat b/programs/system/menu/trunk/build_ru.bat index 2c8c376c2c..8dd6cc7b3d 100644 --- a/programs/system/menu/trunk/build_ru.bat +++ b/programs/system/menu/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm menu.asm @menu +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/system/menu/trunk/macros.inc b/programs/system/menu/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/system/menu/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/menu/trunk/menu.asm b/programs/system/menu/trunk/menu.asm index 31cc9645de..31e5c114d8 100644 --- a/programs/system/menu/trunk/menu.asm +++ b/programs/system/menu/trunk/menu.asm @@ -5,7 +5,7 @@ ; Compile with FASM for Menuet ;****************************************************************************** include "lang.inc" - include "macros.inc" + include "..\..\..\macros.inc" BTN_HEIGHT = 22 TXT_Y = (BTN_HEIGHT)/2-5 @@ -27,11 +27,11 @@ START: ; start of execution mov ebx, 3 mov ecx, sc mov edx, sizeof.system_colors - int 0x40 + mcall mov eax, 70 ; load MENU.DAT mov ebx, fileinfo - int 0x40 + mcall test eax, eax ; error ? jz @f cmp eax,6 @@ -89,7 +89,7 @@ START: ; start of execution jmp newprocess search_end1: mov eax, 14 - int 0x40 + mcall sub ax, 20 mov [menu_data + y_end], ax mov [menu_data + x_start], 5 @@ -106,14 +106,14 @@ START: ; start of execution mov eax, 40 ; set event mask mov ebx, 100111b ; mouse + button + key + redraw - int 0x40 + mcall call draw_window still: mov eax, 23 ; wait here for event mov ebx, 5 - int 0x40 + mcall test [close_now], 1 ; is close flag set? jnz close @@ -147,7 +147,7 @@ still: key: ; mov eax, 2 - int 0x40 + mcall mov al, [edi + rows] ; number of buttons @@ -189,7 +189,7 @@ still: button: ; BUTTON HANDLER mov eax, 17 ; get id - int 0x40 + mcall button1: mov esi, edi @@ -238,7 +238,7 @@ still: mov byte [edi], 0 ; store terminator mov eax, 70 ; start program mov ebx, fileinfo_start - int 0x40 + mcall ; mcall 5,100 or [close_now], 1 ; set close flag pop edi @@ -306,7 +306,7 @@ thread_stack_not_full: mov ebx, 1 mov ecx, thread mov edx, [thread_stack] - int 0x40 + mcall jmp searchexit @@ -314,12 +314,12 @@ thread_stack_not_full: mouse: ; MOUSE EVENT HANDLER mov eax, 37 mov ebx, 2 - int 0x40 + mcall test eax, eax ; check buttons state jnz click mov eax, 37 mov ebx, 1 - int 0x40 + mcall ror eax, 16 ; eax = [ Y | X ] relative to window cmp ax, 140 ; pointer in window? ja noinwindow @@ -363,7 +363,7 @@ thread_stack_not_full: close: or eax, -1 ; close this thread mov [edi + child], al ; my child is not mine - int 0x40 + mcall backconvert: ; convert from pointer to process id @@ -409,7 +409,7 @@ draw_window: mov eax, 12 ; function 12:tell os about windowdraw mov ebx, 1 ; 1, start of draw - int 0x40 + mcall movzx ebx, [edi + rows] imul eax, ebx, BTN_HEIGHT ; eax = height of window @@ -424,13 +424,13 @@ draw_window: xor eax, eax ; function 0 : define and draw window mov edx, 0x01000000 ; color of work area RRGGBB,8->color gl mov esi, edx ; unmovable window - int 0x40 + mcall call draw_all_buttons mov eax,12 mov ebx,2 - int 0x40 + mcall ret @@ -479,7 +479,7 @@ draw_window: add esi, 0x1a1a1a .nohighlight: or edx, 0x20000000 - int 0x40 + mcall movzx edx, dl dec dl @@ -504,7 +504,7 @@ draw_window: mov ecx, [sc.work_text] mov eax, 4 mov esi, 21 - int 0x40 + mcall pop edx;ad ret diff --git a/programs/system/menu/trunk/readme.txt b/programs/system/menu/trunk/readme.txt index 2d76297cfa..41b7a5e095 100644 --- a/programs/system/menu/trunk/readme.txt +++ b/programs/system/menu/trunk/readme.txt @@ -47,6 +47,8 @@ English text is below ╤ єтрцхэшхь, ╠шїршы ╦шёютшэ +11.07.06 - Mario79, яЁшыюцхэшх шёяюы№чєхЄ ЇєэъЎш■ 70. + NEW MAIN MENU Requirements: MENUET 0.76, color monitor WHAT'S NEW? @@ -70,4 +72,6 @@ TINYPAD (sometimes it cuts end marker). It is recommended to compile MMENU.ASM as MENU. So, you can run it from standard panel. All the comments and bugreports send to lisovin@26.ru -Michail Lisovin. \ No newline at end of file +Michail Lisovin. + +11.07.06 - Mario79, application used function 70. diff --git a/programs/system/menu/trunk/readme2.txt b/programs/system/menu/trunk/readme2.txt deleted file mode 100644 index 288b9b5267..0000000000 --- a/programs/system/menu/trunk/readme2.txt +++ /dev/null @@ -1,6 +0,0 @@ -Changes: -11.07.06 - Mario79, application used function 70. -Earlier changes were made: -Ivan Poddubny, Mario79 and Halyavin - - diff --git a/programs/system/mgb/trunk/mgb.asm b/programs/system/mgb/trunk/mgb.asm index 611a0f1cc2..b82a403d9a 100644 --- a/programs/system/mgb/trunk/mgb.asm +++ b/programs/system/mgb/trunk/mgb.asm @@ -35,7 +35,7 @@ use32 dd 0 dd 0 -include 'macros.inc' +include '..\..\..\macros.inc' ;__CPU_type equ p6 ; charge it include 'proc32.inc' diff --git a/programs/system/panel/trunk/@PANEL.ASM b/programs/system/panel/trunk/@PANEL.ASM index 95eab48dae..27efe44979 100644 --- a/programs/system/panel/trunk/@PANEL.ASM +++ b/programs/system/panel/trunk/@PANEL.ASM @@ -15,7 +15,7 @@ use32 dd 0x0,0x0 ; param, icon include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' width dd 305 buttons dd 1 ; 0 no frames ; 1 frames diff --git a/programs/system/panel/trunk/build_en.bat b/programs/system/panel/trunk/build_en.bat index 8b89e53024..a736c1d45a 100644 --- a/programs/system/panel/trunk/build_en.bat +++ b/programs/system/panel/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm @panel.asm @panel +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/system/panel/trunk/build_ru.bat b/programs/system/panel/trunk/build_ru.bat index b3c5a994ce..d3170f094a 100644 --- a/programs/system/panel/trunk/build_ru.bat +++ b/programs/system/panel/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm @panel.asm @panel +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/system/panel/trunk/macros.inc b/programs/system/panel/trunk/macros.inc deleted file mode 100644 index 1d153e8723..0000000000 --- a/programs/system/panel/trunk/macros.inc +++ /dev/null @@ -1,266 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & (arg2 eqtype 0) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - rb (1024-52) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/pcidev/trunk/PCIDEV.ASM b/programs/system/pcidev/trunk/PCIDEV.ASM index 053b06c9c8..e4a09588cc 100644 --- a/programs/system/pcidev/trunk/PCIDEV.ASM +++ b/programs/system/pcidev/trunk/PCIDEV.ASM @@ -136,7 +136,7 @@ ; * detect Revision, Class and Subclass of Device, ; * and make Description based on Class ;------------------------------------------------------------- -include 'macros.inc' +include '..\..\..\macros.inc' MEOS_APP_START CODE call draw_window @@ -152,13 +152,13 @@ still: mcall 10 ; wait here for event red: ; redraw mcall 9, Proc_Info, -1 ; window redraw requested so get new window coordinates and size - mov eax, [Proc_Info.x_start]; store the window coordinates into the Form Structure + mov eax, [Proc_Info.box.left]; store the window coordinates into the Form Structure mov [Form + 2], ax ; x start position - mov eax, [Proc_Info.y_start]; + mov eax, [Proc_Info.box.top]; mov [Form + 6], ax ; ystart position - mov eax, [Proc_Info.x_size] ; + mov eax, [Proc_Info.box.width] ; mov [Form], ax ; window width - mov eax, [Proc_Info.y_size] ; + mov eax, [Proc_Info.box.height] ; mov [Form + 4] ,ax ; window height call draw_window ; go redraw window now jmp still diff --git a/programs/system/pcidev/trunk/macros.inc b/programs/system/pcidev/trunk/macros.inc deleted file mode 100644 index ba07eb1105..0000000000 --- a/programs/system/pcidev/trunk/macros.inc +++ /dev/null @@ -1,356 +0,0 @@ - -;~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- -macro iglobal { - IGlobals equ IGlobals, - macro __IGlobalBlock { } - -macro uglobal { - UGlobals equ UGlobals, - macro __UGlobalBlock { } - -endg fix } ; Use endg for ending iglobal and uglobal blocks. - - -macro IncludeIGlobals{ - macro IGlobals dummy,[n] \{ __IGlobalBlock - purge __IGlobalBlock \} - match I, IGlobals \{ I \} } - -macro IncludeUGlobals{ - macro UGlobals dummy,[n] \{ - \common - \local begin, size - begin = $ - virtual at $ - \forward - __UGlobalBlock - purge __UGlobalBlock - \common - size = $ - begin - end virtual - rb size - \} - match U, UGlobals \{ U \} } - -uglobal -endg - -iglobal -endg - -;~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - IncludeIGlobals - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - IncludeUGlobals - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - -; macro for defining multiline text data -struc mls [sstring] { - forward - local ssize - virtual at 0 - db sstring ; mod - ssize = $ - end virtual - db ssize - db sstring - common - - db -1 ; mod -} - - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -__CPU_type equ p5 -SYSENTER_VAR equ 0 - -macro mcall a,b,c,d,e,f { ; mike.dld, updated by Ghost for Fast System Calls - local ..ret_point - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - - if __CPU_type eq p5 - int 0x40 - else - if __CPU_type eq p6 - push ebp - mov ebp, esp - push ..ret_point ; it may be 2 or 5 byte - sysenter - ..ret_point: - pop edx - pop ecx - - else - if __CPU_type eq k6 - push ecx - syscall - pop ecx - else - display 'ERROR : unknown CPU type' - int 0x40 - end if - end if - end if -} - - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/rb/trunk/@RB.ASM b/programs/system/rb/trunk/@RB.ASM index 0956445b65..523c8184d9 100644 --- a/programs/system/rb/trunk/@RB.ASM +++ b/programs/system/rb/trunk/@RB.ASM @@ -8,23 +8,29 @@ ; Compile with flat assembler ; include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' meos_app_start code + mov eax, 48 ; получить системные цвета + mov ebx, 3 + mov ecx, sc ; адрес структуры + mov edx, sizeof.system_colors ; и ее размер + mcall + mov eax,40 ; установим маску событий mov ebx,100000b ; нас интересует только мышь - int 0x40 + mcall still: ; главный цикл основного процесса mov eax,10 ; ждём события - int 0x40 + mcall mov eax,37 ; какие нажаты кпопки? mov ebx,2 - int 0x40 + mcall cmp eax,2 ; если не правая, возврат jne still @@ -33,7 +39,7 @@ still: ; ; mov eax,37 ; это для отладки - если мышь в точке (0;0), закроемся ; xor ebx,ebx -; int 0x40 +; mcall ; test eax,eax ; курсор в точке (0;0), т.е. eax = 0 ; je exit @@ -41,7 +47,7 @@ still: ; mov eax,9 ; получим число процессов в системе mov ebx,procinfo xor ecx,ecx - int 0x40 + mcall inc eax ; теперь в eax содержится число процессов + 1 mov [processes],eax @@ -51,10 +57,10 @@ still: ; pushad mov eax,9 ; получим информацию о процессе; номер - в ecx mov ebx,procinfo - int 0x40 + mcall mov eax,37 ; координаты курсора xor ebx,ebx - int 0x40 + mcall mov ebx,eax ; eax = cursor_x shr eax,16 ; ebx = cursor_y and ebx,0xffff @@ -65,12 +71,12 @@ still: ; test [procinfo.wnd_state], 2 jnz ne_goden ; \end{diamond}[18.09.2006] - mov eax,[procinfo.x_start] ; eax = wnd_x_start - mov ebx,[procinfo.y_start] ; ebx = wnd_y_start + mov eax,[procinfo.box.left] ; eax = wnd_x_start + mov ebx,[procinfo.box.top] ; ebx = wnd_y_start - mov ecx,[procinfo.x_size] + mov ecx,[procinfo.box.width] add ecx,eax ; ecx = wnd_x_end - mov edx,[procinfo.y_size] + mov edx,[procinfo.box.height] add edx,ebx ; ecx = wnd_y_end cmp eax,[curx1] ; wnd_x_start > cursor_x => курсор левее окна @@ -96,13 +102,13 @@ ne_goden: ; @@: ; подождём, пока пользователь не отпустил правую кнопку мыши mov eax,37 mov ebx,2 ; функция 37-2: - int 0x40 ; нажаты ли кнопки мыши? + mcall ; нажаты ли кнопки мыши? cmp eax,ebx ; если отпустил, (eax != 2) jnz @f ; идём в начало главного цикла mov eax,5 ; иначе mov ebx,2 ; подождём 2 мс - int 0x40 + mcall jmp @b ; и проверим мышь опять @@: @@ -113,7 +119,7 @@ ne_goden: ; je @f mov eax,5 mov ebx,3 ; ждём 3 мс - int 0x40 + mcall jmp @b @@: @@ -121,7 +127,7 @@ ne_goden: ; mov ebx,1 ; создаём поток (thread) mov ecx,start_wnd ; точка входа потока mov edx,stack_wnd ; вершина стэка для потока - int 0x40 + mcall jmp still @@ -131,7 +137,7 @@ exit_menu: ; mov [menu_opened],0 exit: ; сюда мы идём, когда выходим из основного процесса or eax,-1 ; eax = -1 - int 0x40 + mcall @@ -141,7 +147,7 @@ start_wnd: mov [menu_opened],1 mov eax,40 ; установим маску желаемых событий для этого процесса mov ebx,100101b ; меню + кнопки + перерисовка - int 0x40 + mcall red: call draw_window @@ -149,7 +155,7 @@ red: still2: ; главный цикл процесса меню mov eax,10 ; ждём события - int 0x40 + mcall cmp eax,1 ; перерисовка? je red @@ -165,7 +171,7 @@ still2: ; mouse: ; когда пользователь нажмёт кнопку мыши, закроемся mov eax,37 mov ebx,2 ; какие кнопки нажаты? - int 0x40 + mcall test eax,eax ; никакие? - тогда прекрасно! вернёмся в гланый цикл jz still2 jmp exit_menu ; а если всё-таки нажаты - закроем окно @@ -174,7 +180,7 @@ mouse: ; ; НАЖАТА КНОПКА button: mov eax,17 ; получить идентификатор нажатой кнопки - int 0x40 + mcall sub ah,10 ; сравниваем с 10 jl nofuncbtns ; если меньше - закрываем меню @@ -192,7 +198,7 @@ button: ; mov eax,5 ; подождём, пока программа запуститься ; mov ebx,1 ; а то её окно не будет отрисовано (баг в ядре???) -; int 0x40 ; раскомментируйте эти строки, если у вас проблемы +; mcall ; раскомментируйте эти строки, если у вас проблемы ; с отрисовкой nofuncbtns: ; закрываем меню @@ -200,18 +206,18 @@ nofuncbtns: ; -_BTNS_ = 7 ; количество кнопок ("пунктов меню") +_BTNS_ = 6 ; количество кнопок ("пунктов меню") if lang eq ru font = 0x00000000 string_length = 20 ; длина строки wnd_x_size = 133 ; ширина окна - header_pos = 36 shl 16 + 7 + title_pos = 36 shl 16 + 7 else font = 0x10000000 string_length = 12 ; длина строки wnd_x_size = 105 ; ширина окна - header_pos = 23 shl 16 + 7 + title_pos = 23 shl 16 + 7 end if ;******************************* @@ -222,7 +228,7 @@ draw_window: mov eax,12 ; начинаем "рисовать" mov ebx,1 - int 0x40 + mcall mov eax,[curx1] ; текущие координаты курсора mov [curx],eax ; запишем в координаты окна @@ -231,7 +237,7 @@ draw_window: ; теперь будем считать координаты окна, чтобы оно за край экрана не вылезло mov eax,14 ; получим размер экрана - int 0x40 + mcall mov ebx,eax shr eax,16 ; в eax - x_screen and ebx,0xffff ; в ebx - y_screen @@ -248,12 +254,6 @@ draw_window: add [cury], -_BTNS_*15-21 .oky: - mov eax, 48 ; получить системные цвета - mov ebx, 3 - mov ecx, sc ; адрес структуры - mov edx, sizeof.system_colors ; и ее размер - int 0x40 - xor eax, eax ; функция 0 - создать окно mov ebx, [curx] ; ebx = [координата по x] shl 16 + [ширина] shl ebx, 16 @@ -265,10 +265,10 @@ draw_window: mov esi, [sc.grab] ; цвет заголовка or esi, 0x81000000 mov edi, [sc.frame] ; цвет рамки - int 0x40 + mcall mov eax, 4 ; заголовок - mov ebx, header_pos ; [x] shl 16 + [y] + mov ebx, title_pos ; [x] shl 16 + [y] mov ecx, [sc.grab_text]; шрифт и цвет (серый) or ecx, 0x10000000 ; add ecx, -0x333333 @@ -283,12 +283,12 @@ draw_window: inc edx jnp .dec_color pop ecx - mov edx, header ; адрес заголовка - mov esi, header.size ; длина заголовка ("M E N U") - int 0x40 + mov edx, title ; адрес заголовка + mov esi, title.size ; длина заголовка ("M E N U") + mcall pop ecx add ebx, 1 shl 16 ; сдвинем вправо на 1 - int 0x40 + mcall mov ebx, 1*65536+wnd_x_size-2 ; начинаем делать кнопки mov ecx, 20*65536+15 @@ -298,7 +298,7 @@ draw_window: newbtn: ; начало цикла mov eax,8 ; создаём кнопку - int 0x40 + mcall ; пишем текст на кнопке pushad ; спасаем регистры @@ -313,7 +313,7 @@ draw_window: add edx, text ; edx += text; теперь в edx адрес строки mov esi, string_length ; в esi - длина строки mov eax, 4 ; функция 4 - вывод текста - int 0x40 + mcall popad inc edx ; номер кнопки++; @@ -323,7 +323,7 @@ draw_window: mov eax,12 ; закончили "рисовать" mov ebx,2 - int 0x40 + mcall ret ; возврат @@ -345,18 +345,16 @@ DATA strtbl startapps ,\ <"/RD/1/PIC4",0> ,\ - <"/RD/1/SKINSEL",0> ,\ <"/RD/1/DESKTOP",0> ,\ - <"/RD/1/ICON",0> ,\ + <"/RD/1/ICON",0>,\ <"/RD/1/SETUP",0> ,\ <"/RD/1/VRR",0> ,\ <"/RD/1/CPU",0> - sz header, "KolibriOS" + sz title, "KolibriOS" lsz text,\ en, 'Background ',\ - en, 'Change skin ',\ en, 'Desktop ',\ en, 'Icon manager',\ en, 'Device setup',\ @@ -364,7 +362,6 @@ DATA en, 'Processes ',\ \ ru, 'Генератор обоев ',\ - ru, 'Смена скина ',\ ru, 'Настройка окон ',\ ru, 'Управление иконками ',\ ru, 'Настройка устройств ',\ diff --git a/programs/system/rb/trunk/macros.inc b/programs/system/rb/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/system/rb/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/rdsave/trunk/macros.inc b/programs/system/rdsave/trunk/macros.inc deleted file mode 100644 index 14185dbfce..0000000000 --- a/programs/system/rdsave/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/rdsave/trunk/rdsave.asm b/programs/system/rdsave/trunk/rdsave.asm index f75c67aeb7..7539cc6ce1 100644 --- a/programs/system/rdsave/trunk/rdsave.asm +++ b/programs/system/rdsave/trunk/rdsave.asm @@ -8,7 +8,7 @@ ; ;--------------------------------------------------------------------- include 'lang.inc' -include 'macros.inc' +include '..\..\..\macros.inc' appname equ 'RDsave ' version equ '1.2' @@ -20,13 +20,13 @@ version equ '1.2' dd 0x01 ; версия заголовка (всегда 1) dd START ; адрес первой команды dd I_END ; размер программы - dd 0x1000 ; количество памяти - dd 0x1000 ; адрес вершины стэка + dd 0x2000 ; количество памяти + dd 0x2000 ; адрес вершины стэка dd 0x0 ; адрес буфера для параметров (не используется) dd 0x0 ; зарезервировано include '..\..\..\develop\examples\editbox\trunk\editbox.inc' -use_edit_box +use_edit_box structure_of_potock,22,5 ;--------------------------------------------------------------------- ;--- НАЧАЛО ПРОГРАММЫ ---------------------------------------------- @@ -35,7 +35,7 @@ use_edit_box START: mov eax, 40 mov ebx, 100111b - int 0x40 + mcall red: ; перерисовать окно call draw_window ; вызываем процедуру отрисовки окна @@ -46,7 +46,7 @@ red: ; still: push 10 pop eax - int 40h + mcall dec eax ; перерисовать окно? jz red ; если да - на метку red @@ -61,12 +61,12 @@ mouse: button: mov al,17 ; получить идентификатор нажатой кнопки - int 0x40 + mcall cmp ah,1 ; кнопка с id=1("закрыть")? jne noclose or eax,-1 ; функция -1: завершить программу - int 0x40 + mcall noclose: cmp ah,2 @@ -74,7 +74,7 @@ noclose: call clear_err mov al,16 mov ebx,1 - int 0x40 + mcall call check_for_error jmp still path_2: @@ -83,7 +83,7 @@ noclose: call clear_err mov al,16 mov ebx,2 - int 0x40 + mcall call check_for_error jmp still path_3: @@ -93,7 +93,7 @@ noclose: mov al,18 mov ebx,6 mov ecx,path3 - int 0x40 + mcall call check_for_error jmp still path_4: @@ -101,13 +101,13 @@ noclose: mov eax,18 mov ebx,6 mov ecx,path4 - int 0x40 + mcall call check_for_error jmp still key: mov al,2 - int 0x40 + mcall key_edit_boxes editbox,editbox_end jmp still @@ -163,7 +163,7 @@ err10: mov eax,4 ;надписи mov ebx,20 shl 16 + 148 or ecx,0x80000000 - int 0x40 + mcall ret clear_err: @@ -171,7 +171,7 @@ clear_err: mov ebx,15 shl 16 + 240 mov ecx,145 shl 16 +15 mov edx,[sc.work] - int 0x40 + mcall ret ;--------------------------------------------------------------------- @@ -184,11 +184,11 @@ draw_window: mov ebx,3 mov ecx,sc mov edx,sizeof.system_colors - int 0x40 + mcall mov eax,12 ; функция 12: сообщить ОС об отрисовке окна mov bl,1 ; 1 - начинаем рисовать - int 0x40 + mcall ; СОЗДАЁМ ОКНО xor eax,eax ; функция 0 : определить и отрисовать окно @@ -196,90 +196,90 @@ draw_window: mov ecx,200 shl 16 + 190 ; [y старт] *65536 + [y размер] mov edx,[sc.work] ; цвет рабочей области RRGGBB,8->color gl or edx,0x33000000 - mov edi,header ; ЗАГОЛОВОК ОКНА - int 0x40 + mov edi,title ; ЗАГОЛОВОК ОКНА + mcall -draw_edit_boxes editbox,editbox_end ;рисование edit box'ов +draw_edit_boxes editbox,editbox_end,use_f9,structure_of_potock ;рисование edit box'ов mov al,13 ;отрисовка теней кнопок mov ebx,194 shl 16 + 60 mov ecx,34 shl 16 +15 mov edx,0x444444 - int 0x40 + mcall add ecx,20 shl 16 - int 0x40 + mcall add ecx,20 shl 16 - int 0x40 + mcall add ecx,40 shl 16 - int 0x40 + mcall mov eax,8 ;отрисовка кнопок sub ebx,4 shl 16 sub ecx,4 shl 16 mov edx,5 mov esi,[sc.work_button] - int 0x40 + mcall sub ecx,40 shl 16 dec edx - int 0x40 + mcall sub ecx,20 shl 16 dec edx - int 0x40 + mcall sub ecx,20 shl 16 dec edx - int 0x40 + mcall mov al,4 ;надписи mov ebx,45 shl 16 + 12 mov ecx,[sc.work_text] or ecx,0x80000000 mov edx,label1 - int 0x40 + mcall mov ebx,150 shl 16 + 35 mov edx,path1 - int 0x40 + mcall add ebx,20 mov edx,path2 - int 0x40 + mcall mov ebx,75 shl 16 + 75 mov edx,path3 - int 0x40 + mcall mov ebx,30 shl 16 + 97 mov edx,label2 - int 0x40 + mcall mov ebx,40 shl 16 + 135 mov edx,label3 - int 0x40 + mcall mov ecx,[sc.work_button_text] or ecx,0x80000000 mov ebx,195 shl 16 + 35 mov edx,save - int 0x40 + mcall add ebx,20 - int 0x40 + mcall add ebx,20 - int 0x40 + mcall add ebx,40 - int 0x40 + mcall mov al,12 ; функция 12: сообщить ОС об отрисовке окна mov ebx,2 ; 2, закончили рисовать - int 0x40 + mcall ret ; выходим из процедуры @@ -288,18 +288,12 @@ draw_edit_boxes editbox,editbox_end ; ;--- ДАННЫЕ ПРОГРАММЫ ---------------------------------------------- ;--------------------------------------------------------------------- -header db appname,version,0 +title db appname,version,0 editbox: -edit1 edit_box 170,10,113,0xffffff,0,0,0,512,path4,ed_focus,26 +edit1 edit_box 170,10,113,0xffffff,0xaabbcc,0,0,0,512,path4,ed_focus,26,26 editbox_end: -path1 db '/fd/1/',0 -path2 db '/fd/2/',0 -path3 db '/hd0/1/kolibri.img',0 -path4 db '/hd0/1/kolibri/kolibri.img',0 ;для резервного сохранения -rb 513 - if lang eq ru save db 'Сохранить',0 label1 db 'Выберите один из вариантов:',0 @@ -329,10 +323,20 @@ error11 db 'Device error',0 end if mouse_flag: dd 0x0 -structure_of_potock: -rb 100 -;--------------------------------------------------------------------- +path1 db '/fd/1/',0 +path2 db '/fd/2/',0 +path3 db '/hd0/1/kolibri.img',0 +path4 db '/hd0/1/kolibri/kolibri.img',0 ;для резервного сохранения + +;--------------------------------------------------------------------- I_END: ; метка конца программы +rb 514 + sc system_colors + +structure_of_potock: +rb 100 + + diff --git a/programs/system/setup/trunk/macros.inc b/programs/system/setup/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/system/setup/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/setup/trunk/setup.asm b/programs/system/setup/trunk/setup.asm index cc960c8c58..ed4eeeb368 100644 --- a/programs/system/setup/trunk/setup.asm +++ b/programs/system/setup/trunk/setup.asm @@ -14,14 +14,13 @@ use32 org 0x0 db 'MENUET01' ; 8 byte identifier - dd 0x01 ; header version + dd 0x01 ; title version dd START ; pointer to program start dd I_END ; size of image dd 0x4000 ; reguired amount of memory dd 0x4000 ; stack pointer (esp) dd I_PARAM,0 ; parameters, reserved -; include 'lang.inc' - include 'macros.inc' + include '..\..\..\macros.inc' ;****************************************************************************** LLL equ (56+3) @@ -174,7 +173,7 @@ set_language_and_exit: mov eax,26 mov ebx,2 mov ecx,9 - int 0x40 + mcall ; cmp eax,5 ; jne @f ; xor eax,eax @@ -194,7 +193,7 @@ set_syslanguage_and_exit: mov eax,26 mov ebx,5 ; mov ecx,9 - int 0x40 + mcall cmp eax,6 jne temp ;@f xor eax,eax @@ -254,13 +253,13 @@ still: cmp word [blinkpar],0 jne blinker mov eax,29 ;get system date - int 0x40 + mcall cmp eax,[date] je gettime mov [date],eax gettime: mov eax,3 ;get system time - int 0x40 + mcall cmp ax,[time] je sysevent mov [time],ax @@ -269,7 +268,7 @@ still: sysevent: mov eax,23 mov ebx,8 ; wait here for event with timeout - int 0x40 + mcall cmp eax,1 jz red @@ -364,7 +363,7 @@ incdecdate: key: ;mov eax,2 - int 0x40 + mcall cmp ah,27 jne still mov dword [blinkpar],0 @@ -374,7 +373,7 @@ incdecdate: button: mov eax,17 - int 0x40 + mcall cmp ah,112 je incdectime @@ -429,7 +428,7 @@ no_apply_all: jne no_close close: or eax,-1 - int 0x40 + mcall no_close: cmp ah,11 ; SET MIDI BASE @@ -717,15 +716,15 @@ close: mov ebx,2 mov ecx,1 mov edx,en_keymap - int 0x40 + mcall mov eax,21 inc ecx mov edx,en_keymap_shift - int 0x40 + mcall mov eax,21 mov ecx,9 mov edx,1 - int 0x40 + mcall call alt_gen nosetkeyle: cmp [keyboard],1 @@ -734,15 +733,15 @@ close: mov ebx,2 mov ecx,1 mov edx,fi_keymap - int 0x40 + mcall mov eax,21 inc ecx mov edx,fi_keymap_shift - int 0x40 + mcall mov eax,21 mov ecx,9 mov edx,2 - int 0x40 + mcall call alt_gen nosetkeylfi: cmp [keyboard],2 @@ -751,15 +750,15 @@ close: mov ebx,2 mov ecx,1 mov edx,ge_keymap - int 0x40 + mcall mov eax,21 inc ecx mov edx,ge_keymap_shift - int 0x40 + mcall mov eax,21 mov ecx,9 mov edx,3 - int 0x40 + mcall call alt_gen nosetkeylge: cmp [keyboard],3 @@ -768,16 +767,16 @@ close: mov ebx,2 mov ecx,1 mov edx,ru_keymap - int 0x40 + mcall mov eax,21 inc ecx mov edx,ru_keymap_shift - int 0x40 + mcall call alt_gen mov eax,21 mov ecx,9 mov edx,4 - int 0x40 + mcall nosetkeylru: cmp [keyboard],4 ;french jnz nosetkeylfr @@ -785,19 +784,19 @@ close: mov ebx,2 mov ecx,1 mov edx,fr_keymap - int 0x40 + mcall mov eax,21 inc ecx mov edx,fr_keymap_shift - int 0x40 + mcall mov eax,21 inc ecx mov edx,fr_keymap_alt_gr - int 0x40 + mcall mov eax,21 mov ecx,9 mov edx,5 - int 0x40 + mcall nosetkeylfr: cmp [keyboard],5 jnz nosetkeylet @@ -805,15 +804,15 @@ close: mov ebx,2 mov ecx,1 mov edx,et_keymap - int 0x40 + mcall mov eax,21 inc ecx mov edx,et_keymap_shift - int 0x40 + mcall mov eax,21 mov ecx,9 mov edx,6 - int 0x40 + mcall call alt_gen nosetkeylet: ret @@ -822,7 +821,7 @@ close: mov eax,21 mov ecx,3 mov edx,alt_general - int 0x40 + mcall ret @@ -836,15 +835,15 @@ draw_buttons: mov ebx,(350-50)*65536+46+BBB mov eax,8 - int 0x40 + mcall mov ebx,(350-79)*65536+9 inc edx - int 0x40 + mcall mov ebx,(350-67)*65536+9 inc edx - int 0x40 + mcall popa ret @@ -862,24 +861,24 @@ draw_window: mov eax,12 mov ebx,1 - int 0x40 + mcall xor eax,eax ; DRAW WINDOW mov ebx,40*65536+355+BBB mov ecx,40*65536+320 mov edx,0x93111199 - mov edi,header - int 0x40 + mov edi,title + mcall mov eax,8 ; APPLY ALL mov ebx,(350-79)*65536+100 mov ecx,282*65536+12 mov edx,100 mov esi,0x005588dd - int 0x40 + mcall add ecx,16*65536 ; SAVE ALL dec edx - int 0x40 + mcall mov esi,0x5580c0 @@ -943,7 +942,7 @@ draw_window: mov eax,12 mov ebx,2 - int 0x40 + mcall popa ret @@ -1140,7 +1139,7 @@ text_out: mov ebx,175*65536+85 mov ecx,40*65536+225 mov edx,0x80111199-19 - int 0x40 + mcall mov edx,text00 mov ebx,10*65536+45 @@ -1149,7 +1148,7 @@ text_out: mov esi,LLL mov ebp,text1_strings newline: - int 0x40 + mcall add ebx,8+8 add edx,esi dec ebp @@ -1157,7 +1156,7 @@ text_out: mov ebp,text2_strings add ebx,8+8 @@: - int 0x40 + mcall add ebx,8+8 add edx,esi dec ebp @@ -1229,63 +1228,63 @@ _midibase: mov eax,21 mov ebx,1 mov ecx,[midibase] - int 0x40 + mcall ret _cdbase: mov eax,21 mov ebx,3 mov ecx,[cdbase] - int 0x40 + mcall ret _hdbase: mov eax,21 mov ebx,7 mov ecx,[hdbase] - int 0x40 + mcall ret _sound_dma: mov eax,21 mov ebx,10 mov ecx,[sound_dma] - int 0x40 + mcall ret _lba_read: mov eax,21 mov ebx,11 mov ecx,[lba_read] - int 0x40 + mcall ret _pci_acc: mov eax,21 mov ebx,12 mov ecx,[pci_acc] - int 0x40 + mcall ret _f32p: mov eax,21 mov ebx,8 mov ecx,[f32p] - int 0x40 + mcall ret _sb16: mov eax,21 mov ebx,4 mov ecx,[sb16] - int 0x40 + mcall ret _syslang: mov eax,21 mov ebx,5 mov ecx,[syslang] - int 0x40 + mcall ret _mouse_speed: @@ -1293,7 +1292,7 @@ _mouse_speed: mov ebx,19 mov ecx,1 mov edx,[mouse_speed] - int 0x40 + mcall ret _mouse_delay: @@ -1301,7 +1300,7 @@ _mouse_delay: mov ebx,19 mov ecx,3 mov edx,[mouse_delay] - int 0x40 + mcall ret loadtxt: @@ -1375,7 +1374,7 @@ text1_strings = 14 db 'SAVE YOUR SETTINGS BEFORE QUIT KOLIBRI SAVE ALL ' text2_strings = 2 -header db 'SETUP',0 +title db 'SETUP',0 hex db '0123456789ABCDEF' diff --git a/programs/system/skinsel/skinsel.asm b/programs/system/skinsel/skinsel.asm index ea4fd8e011..bd7a1e2d25 100644 --- a/programs/system/skinsel/skinsel.asm +++ b/programs/system/skinsel/skinsel.asm @@ -1,3 +1,4 @@ +include '..\..\macros.inc' use32 db 'MENUET01' dd 1 @@ -10,14 +11,14 @@ start: push 70 pop eax mov ebx, fileinfo - int 0x40 + mcall cmp ebx, max_file_size jz exit cmp ebx, -1 jnz @f exit: or eax, -1 - int 0x40 + mcall @@: mov esi, filebuf xor ecx, ecx @@ -45,7 +46,7 @@ scan1done: jecxz exit push 3 pop eax - int 0x40 + mcall ror eax, 16 mov edx, 1024 @@: @@ -83,7 +84,7 @@ newline2: push 48 pop eax mov bl, 8 - int 0x40 + mcall jmp exit fileinfo: diff --git a/programs/system/vrr/trunk/Warning.txt b/programs/system/vrr/trunk/Warning.txt deleted file mode 100644 index dab3ef602e..0000000000 --- a/programs/system/vrr/trunk/Warning.txt +++ /dev/null @@ -1,7 +0,0 @@ - -Warning! -~~~~~~~~~~~~ - -This version requared of MeOS with supports driver model. Also for coorect work your system requared -video driver VMODE.MDR - diff --git a/programs/system/vrr/trunk/build_en.bat b/programs/system/vrr/trunk/build_en.bat index 171b24decd..6aec0d1be3 100644 --- a/programs/system/vrr/trunk/build_en.bat +++ b/programs/system/vrr/trunk/build_en.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix en >lang.inc @fasm vrr.asm vrr +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/system/vrr/trunk/build_ru.bat b/programs/system/vrr/trunk/build_ru.bat index 32804b46fc..828c11e731 100644 --- a/programs/system/vrr/trunk/build_ru.bat +++ b/programs/system/vrr/trunk/build_ru.bat @@ -1,4 +1,5 @@ @erase lang.inc @echo lang fix ru >lang.inc @fasm vrr.asm vrr +@erase lang.inc @pause \ No newline at end of file diff --git a/programs/system/vrr/trunk/infoform.txt b/programs/system/vrr/trunk/infoform.txt deleted file mode 100644 index 56e707deeb..0000000000 --- a/programs/system/vrr/trunk/infoform.txt +++ /dev/null @@ -1,25 +0,0 @@ -Vertical Refresh Rate v.2.0 -Information Card. - - -Monitor (Screen size, Vendor, trademark): - -VideoCard (Vendor, trademark, Memory Size): - - -Mode 1280x1024 (Enable/Disable): -Enable refresh rate: -Notes: - -Mode 1024x768 (Enable/Disable): -Enable refresh rate: -Notes: - -Mode 800x600 (Enable/Disable): -Enable refresh rate: -Notes: - -Mode 640x480 (Enable/Disable): -Enable refresh rate: -Notes: - diff --git a/programs/system/vrr/trunk/macros.inc b/programs/system/vrr/trunk/macros.inc deleted file mode 100644 index 14185dbfce..0000000000 --- a/programs/system/vrr/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/vrr/trunk/vrr.asm b/programs/system/vrr/trunk/vrr.asm index d282a8d4ed..c321af952d 100644 --- a/programs/system/vrr/trunk/vrr.asm +++ b/programs/system/vrr/trunk/vrr.asm @@ -12,18 +12,18 @@ use32 org 0x0 db 'MENUET01' ; 8 byte id - dd 0x01 ; header version + dd 0x01 ; title version dd START ; start of code dd I_END ; size of image dd 0x5000 ; memory for app dd 0x4ff0 ; esp dd 0x0 , 0x0 ; I_Param , I_Icon -include 'macros.inc' +include '..\..\..\macros.inc' START: ; start of execution mov eax,14 - int 40h + mcall mov ebx,eax shr ebx,16 mov [oldX],ebx @@ -36,7 +36,7 @@ START: ; start of execution mov ebx,13 mov ecx,1 mov edx,drvinfo - int 40h + mcall cmp eax,0FFFFFFFFh ; = -1 - error or not installed jne vrr_00 call warning_info @@ -54,7 +54,7 @@ red: still: mov eax,10 ; check here for event - int 0x40 + mcall cmp eax,1 ; redraw request ? je red @@ -67,7 +67,7 @@ still: key: ; key mov al,2 ; just read it - int 0x40 + mcall cmp ah,'1' jne key_loc_00 call safekey @@ -141,12 +141,12 @@ key_loc_07: button: ; button mov al,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne noclose mov eax,-1 ; close this program - int 0x40 + mcall noclose: cmp ah,2 ;'+' screen width jne button_loc_01 @@ -194,15 +194,15 @@ dw_continue: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WINDOW mov eax,0 ; function 0 : define and draw window mov ebx,100*65536+400 ; [x start] *65536 + [x size] mov ecx,100*65536+200 ; [y start] *65536 + [y size] mov edx,0x130020C0;0x00000040 ; color of work area RRGGBB,8->color glide - mov edi,header - int 0x40 + mov edi,title + mcall ; BUTTONS mov eax,8 @@ -211,29 +211,29 @@ dw_continue: mov ecx,84*65536+48 mov dl,2 mov esi,0x5599cc ; button color RRGGBB - int 40h ; Button '+'Width + mcall ; Button '+'Width add ebx,30*65536 mov dl,3 - int 40h ; Button '-'Width + mcall ; Button '-'Width mov ebx,22*65536+85 mov ecx,170*65536+15 inc dl ;dl=4 - int 40h ; Button 'Ok' + mcall ; Button 'Ok' add ebx,90*65536 inc dl ;dl=5 - int 40h ; Button 'Cancel' + mcall ; Button 'Cancel' add ebx,90*65536 inc dl ;dl=6 - int 40h ; Button 'Return' + mcall ; Button 'Return' add ebx,90*65536 inc dl ;dl=7 - int 40h ; Button 'Default' + mcall ; Button 'Default' call draw_face mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall ret @@ -246,7 +246,7 @@ restore_mode: mov eax,21 mov ebx,13 mov ecx,4 - int 40h + mcall pop edx pop ecx pop eax @@ -267,7 +267,7 @@ set_my_mode: mov eax,21 mov ebx,13 mov ecx,3 - int 40h + mcall mcall 5,50 mcall 15,3 pop edx @@ -284,7 +284,7 @@ inc_dec_rate: mov eax,21 mov ebx,13 mov ecx,5 - int 40h + mcall pop edx pop ecx pop ebx @@ -295,7 +295,7 @@ get_pid: mov ebx,buffer xor ecx,ecx dec ecx - int 40h + mcall mov [totp],eax mov eax,[ebx+30] mov [mypid],eax @@ -310,7 +310,7 @@ get_vert_rate: mov al,21 mov bl,13 mov cl,2 - int 40h + mcall mov [initrr],ebx mov [refrate],ebx ror ecx,16 @@ -328,15 +328,15 @@ draw_table: mov ebx,9*65536+303 mov ecx,59*65536+87 xor edx,edx - int 40h + mcall mov ebx,10*65536+300 mov ecx,60*65536+24 mov edx,00FF00FFh - int 40h + mcall mov ebx,10*65536+36 mov ecx,72*65536+72 mov edx,0000FFFFh - int 40h + mcall mov eax,38 mov edx,00FFFFFFh mov ebx,10*65536+310 @@ -347,7 +347,7 @@ draw_table: dt_loc_hor_line: push ecx mov ecx,edi - int 40h + mcall add edi,esi pop ecx loop dt_loc_hor_line @@ -355,14 +355,14 @@ dt_loc_hor_line: mov edi,60*65536+144 mov esi,66*65536+66 mov ecx,edi - int 40h + mcall add ebx,36*65536+36 xor ecx,ecx mov cl,5 dt_loc_vert_line: push ecx mov ecx,edi - int 40h + mcall add ebx,esi pop ecx loop dt_loc_vert_line @@ -371,16 +371,16 @@ dt_loc_vert_line: mov ecx,000000FFh mov edx,_m1280x1024 mov esi,9 - int 40h + mcall add edx,9 add ebx,66*65536 - int 40h + mcall add edx,9 add ebx,66*65536 - int 40h + mcall add edx,9 add ebx,66*65536 - int 40h + mcall xor eax,eax mov ebx,eax mov ecx,eax @@ -395,7 +395,7 @@ dt_loc_vert_line: dt_loc_00: push ecx mov ecx,edi - int 40h + mcall inc edi add dx,12 pop ecx @@ -409,7 +409,7 @@ dt_loc_00: dt_loc_01: push ecx mov ecx,edi - int 40h + mcall inc edi add edx,66*65536 pop ecx @@ -419,11 +419,11 @@ dt_loc_01: mov ecx,000000FFh mov edx,_mk mov esi,4 - int 40h + mcall shl ecx,16 add bx,12 add edx,4 - int 40h + mcall retn ;IN: ah=keycode @@ -490,24 +490,24 @@ draw_rect: mov edi,ecx shr edi,16 mov cx,di - int 40h + mcall pop ecx push ecx mov edi,ecx ror ecx,16 mov cx,di - int 40h + mcall pop ecx push ebx mov edi,ebx shr edi,16 mov bx,di - int 40h + mcall pop ebx mov edi,ebx ror ebx,16 mov bx,di - int 40h + mcall pop edi pop edx pop ecx @@ -524,7 +524,7 @@ protect_and_return: mov al,5 xor ebx,ebx mov bx,300 - int 40h + mcall call get_pid xor eax,eax mov ebx,eax @@ -532,7 +532,7 @@ protect_and_return: mov al,18 mov ebx,3 mov cx,[mypno] - int 40h + mcall pop ecx pusha call draw_window @@ -541,10 +541,10 @@ protect_and_return: mov al,5 xor ebx,ebx mov bx,300 - int 40h + mcall xor eax,eax mov al,11 - int 40h + mcall cmp eax,1 jne par_loc_00 pusha @@ -555,7 +555,7 @@ par_loc_00: mov ebx,eax mov al,23 mov bx,700 - int 40h + mcall cmp eax,0 jnz par_loc_02 ; mov [ftr_eax],eax @@ -575,10 +575,10 @@ debug_ftr: ; mov ecx,[ftr_eax] ; mov edx,20*65536+180 ; mov esi,00FFFFFFh -; int 40h +; mcall ; mov ecx,[ftr_ebx] ; add edx,54*65536 -; int 40h +; mcall retn print_cur_vm: @@ -587,9 +587,9 @@ print_cur_vm: mov ecx,0000FF00h mov edx,curmode mov esi,cmlen - int 40h + mcall mov al,14 - int 40h + mcall mov esi,00FFFFFFh mov edi,eax shr eax,16 @@ -601,21 +601,21 @@ print_cur_vm: shl ebx,16 mov edx,104*65536+40 mov eax,47 - int 40h + mcall add edx,30*65536 mov cx,di inc ecx - int 40h + mcall add edx,30*65536 mov ecx,[initrr] sub ebx,1*65536 - int 40h + mcall mov al,4 mov ebx,200*65536+40 mov ecx,0000FF00h mov edx,selmode mov esi,cmlen - int 40h + mcall mov ax,[vmselect] cmp ax,0 jz pcv_loc_00 @@ -625,7 +625,7 @@ print_cur_vm: mov ebx,284*65536+54 mov ecx,40*65536+10 mov edx,000020C0h - int 40h + mcall pop eax push eax xor ecx,ecx @@ -640,7 +640,7 @@ print_cur_vm: mov esi,9 mov ebx,284*65536+40 mov ecx,00ff0000h - int 40h + mcall pop eax cmp ah,0 jz pcv_loc_00 @@ -653,7 +653,7 @@ print_cur_vm: mov ebx,344*65536+18 mov ecx,40*65536+10 mov edx,000020C0h - int 40h + mcall pop eax push eax mov bx,ax @@ -682,7 +682,7 @@ print_cur_vm: xor eax,eax mov al,47 mov esi,00ff0000h - int 40h + mcall pop eax pop ecx pop edx @@ -747,7 +747,7 @@ print_noherz: mov edx,noherz xor esi,esi mov si,3 - int 40h + mcall pop esi pop edx pop ecx @@ -771,7 +771,7 @@ print_herz: mov esi,00FFFFFFh xor eax,eax mov al,47 - int 40h + mcall pop esi pop edx pop ecx @@ -863,13 +863,13 @@ draw_face: mov ebx,182*65536+36 mov ecx,26*65536+5 mov edx,000020C0h - int 40h + mcall mov ebx,173*65536+54 mov ecx,153*65536+7 - int 40h + mcall mov ebx,337*65536+36 mov ecx,62*65536+10 - int 40h + mcall mov al,4 shr ecx,16 mov bx,cx @@ -877,41 +877,41 @@ draw_face: mov ecx,00FF0000h mov edx,width mov esi,5 - int 40h + mcall xor ecx,ecx add edx,5 xor esi,esi inc esi mov ebx,335*65536+104 - int 40h + mcall add ebx,36*65536 inc edx - int 40h + mcall mov edx,tmode mov ecx,00FF0000h mov ebx,182*65536+24 mov esi,6 - int 40h + mcall mov edx,actions mov ebx,173*65536+152 mov esi,9 - int 40h + mcall xor ecx,ecx mov edx,button1 mov ebx,59*65536+174 mov esi,2 - int 40h + mcall add edx,esi mov esi,6 add ebx,78*65536 - int 40h + mcall add edx,esi add ebx,90*65536 - int 40h + mcall add edx,esi mov esi,7 add ebx,87*65536 - int 40h + mcall call rect_select ; call debug_ftr call print_cur_vm @@ -926,7 +926,7 @@ warning_info: warning_window: mov eax,12 ; function 12:tell os about windowdraw mov ebx,1 ; 1, start of draw - int 0x40 + mcall ; DRAW WARNING WINDOW xor eax,eax ; function 0 : define and draw window mov ebx,[oldX] @@ -941,8 +941,8 @@ warning_window: shl ecx,16 mov cx,200 mov edx,0x13808080 ; color of work area RRGGBB,8->color glide - mov edi,header - int 0x40 + mov edi,title + mcall ; WARNING TEXT mov eax,4 ; function 4 : write text to window @@ -951,31 +951,31 @@ warning_window: mov ecx,0xf0ff0000 ; color of text RRGGBB mov edx,warn00 ; pointer to text beginning mov esi,len_warn00 ; text length -; int 0x40 +; mcall ; inc ebx - int 40h + mcall add ebx,1*65536 - int 40h + mcall mov ebx,(200-(len_warn01/2)*6)*65536+100 mov edx,warn01 mov esi,len_warn01 - int 40h + mcall mov edx,button1 add ecx,0ffffh mov ebx,(200-6)*65536+(160-4) mov esi,2 - int 40h + mcall mov eax,12 ; function 12:tell os about windowdraw mov ebx,2 ; 2, end of draw - int 0x40 + mcall retn warning_loop: mov eax,5 mov ebx,13 - int 0x40 + mcall mov eax,11 - int 40h + mcall cmp eax,1 ; redraw request ? je warning_red cmp eax,2 ; key in buffer ? @@ -995,30 +995,30 @@ warning_loop: shl ecx,16 mov edx,warn01 mov esi,len_warn01 - int 40h + mcall sub ebx,1*65536 - int 40h + mcall jmp warning_loop warning_red: ; redraw call warning_window jmp warning_loop warning_key: ; key mov eax,2 ; read key - int 0x40 + mcall cmp ah,01h jne warning_loop xor eax,eax dec eax ; Terminate application - int 40h + mcall jmp warning_loop warning_button: ; button mov eax,17 ; get id - int 0x40 + mcall cmp ah,1 ; button id=1 ? jne warning_loop xor eax,eax dec eax ; close this program - int 0x40 + mcall jmp warning_loop retn @@ -1045,7 +1045,7 @@ blinkcol dd 0ffh ;_m3 dw 0,0,0,0,0 ;_m4 dw 0,0,0,0,0 -header db 'Vertical Refresh Rate v2.0 (C) 2003 TRANS',0 +title db 'Vertical Refresh Rate v2.0 (C) 2003 TRANS',0 _m1280x1024 db '1280x1024' _m1024x768 db '1024x768 ' diff --git a/programs/system/vrr_m/trunk/macros.inc b/programs/system/vrr_m/trunk/macros.inc deleted file mode 100644 index 0ddc650b65..0000000000 --- a/programs/system/vrr_m/trunk/macros.inc +++ /dev/null @@ -1,269 +0,0 @@ -; new application structure -macro meos_app_start - { - use32 - org 0x0 - - db 'MENUET01' - dd 0x01 - dd __start - dd __end - dd __memory - dd __stack - - if used __params & ~defined __params - dd __params - else - dd 0x0 - end if - - dd 0x0 - } -MEOS_APP_START fix meos_app_start - -macro code - { - __start: - } -CODE fix code - -macro data - { - __data: - } -DATA fix data - -macro udata - { - if used __params & ~defined __params - __params: - db 0 - __end: - rb 255 - else - __end: - end if - __udata: - } -UDATA fix udata - -macro meos_app_end - { - align 32 - rb 2048 - __stack: - __memory: - } -MEOS_APP_END fix meos_app_end - - -; macro for defining multiline text data -struc mstr [sstring] - { - forward - local ssize - virtual at 0 - db sstring - ssize = $ - end virtual - dd ssize - db sstring - common - dd -1 - } - - -; strings -macro sz name,[data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if used name - db data - end if - common - if used name - .size = $-name - end if -} - -macro lsz name,[lng,data] { ; from MFAR [mike.dld] - common - if used name - label name - end if - forward - if (used name)&(lang eq lng) - db data - end if - common - if used name - .size = $-name - end if -} - - - -; easy system call macro -macro mpack dest, hsrc, lsrc -{ - if (hsrc eqtype 0) & (lsrc eqtype 0) - mov dest, (hsrc) shl 16 + lsrc - else - if (hsrc eqtype 0) & (~lsrc eqtype 0) - mov dest, (hsrc) shl 16 - add dest, lsrc - else - mov dest, hsrc - shl dest, 16 - add dest, lsrc - end if - end if -} - -macro __mov reg,a,b { ; mike.dld - if (~a eq)&(~b eq) - mpack reg,a,b - else if (~a eq)&(b eq) - mov reg,a - end if -} - -macro mcall a,b,c,d,e,f { ; mike.dld - __mov eax,a - __mov ebx,b - __mov ecx,c - __mov edx,d - __mov esi,e - __mov edi,f - int 0x40 -} - - - -; optimize the code for size -__regs fix - -macro add arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - inc arg1 - else - add arg1,arg2 - end if - else - add arg1,arg2 - end if - } - -macro sub arg1,arg2 - { - if (arg2 eqtype 0) - if (arg2) = 1 - dec arg1 - else - sub arg1,arg2 - end if - else - sub arg1,arg2 - end if - } - -macro mov arg1,arg2 - { - if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) - if (arg2) = 0 - xor arg1,arg1 - else if (arg2) = 1 - xor arg1,arg1 - inc arg1 - else if (arg2) = -1 - or arg1,-1 - else if (arg2) > -128 & (arg2) < 128 - push arg2 - pop arg1 - else - mov arg1,arg2 - end if - else - mov arg1,arg2 - end if - } - - -macro struct name - { - virtual at 0 - name name - sizeof.#name = $ - name - end virtual - } - -; structures used in MeOS -struc process_information - { - .cpu_usage dd ? ; +0 - .window_stack_position dw ? ; +4 - .window_stack_value dw ? ; +6 - .not_used1 dw ? ; +8 - .process_name rb 12 ; +10 - .memory_start dd ? ; +22 - .used_memory dd ? ; +26 - .PID dd ? ; +30 - .x_start dd ? ; +34 - .y_start dd ? ; +38 - .x_size dd ? ; +42 - .y_size dd ? ; +46 - .slot_state dw ? ; +50 - dw ? ; +52 - reserved - .client_left dd ? ; +54 - .client_top dd ? ; +58 - .client_width dd ? ; +62 - .client_height dd ? ; +66 - .wnd_state db ? ; +70 - rb (1024-71) - } -struct process_information - -struc system_colors - { - .frame dd ? - .grab dd ? - .grab_button dd ? - .grab_button_text dd ? - .grab_text dd ? - .work dd ? - .work_button dd ? - .work_button_text dd ? - .work_text dd ? - .work_graph dd ? - } -struct system_colors - - -; constants - -; events -EV_IDLE = 0 -EV_TIMER = 0 -EV_REDRAW = 1 -EV_KEY = 2 -EV_BUTTON = 3 -EV_EXIT = 4 -EV_BACKGROUND = 5 -EV_MOUSE = 6 -EV_IPC = 7 -EV_STACK = 8 - -; event mask bits for function 40 -EVM_REDRAW = 1b -EVM_KEY = 10b -EVM_BUTTON = 100b -EVM_EXIT = 1000b -EVM_BACKGROUND = 10000b -EVM_MOUSE = 100000b -EVM_IPC = 1000000b -EVM_STACK = 10000000b \ No newline at end of file diff --git a/programs/system/vrr_m/trunk/vrr_m.asm b/programs/system/vrr_m/trunk/vrr_m.asm index 2a13fa5562..256f5c30d8 100644 --- a/programs/system/vrr_m/trunk/vrr_m.asm +++ b/programs/system/vrr_m/trunk/vrr_m.asm @@ -27,7 +27,7 @@ dd 0x0 ; адрес буфера для параметров (не используется) dd 0x0 ; зарезервировано -include 'MACROS.INC' ; макросы облегчают жизнь ассемблерщиков! +include '..\..\..\macros.inc' ; макросы облегчают жизнь ассемблерщиков! ;--------------------------------------------------------------------- ;--- НАЧАЛО ПРОГРАММЫ ----------------------------------------------