Hey @bplus, I had a little time to code today (very little) and added a 'shadow' when the cups raise off the table. Small addition but believe it adds a lot visually. First I thought to use the filled eclipse routine you posted on the old forum for a shadow, but realized RotoZoom3 can do it as image x & y can be scaled. Used a copy of the ball image since it is round, and used _SETALPHA. Worked out pretty well for a shadow I think.
- Dav
- Dav
Code: (Select All)
_TITLE "Shell Game $5" 'b+ mod 2022-05-09
'Dav added shadow on 2022-05-10
'============
'FINDBALL.BAS
'============
'Classic Cups & Ball game (shell game)
'Coded by Dav, MAY/2022
'Cups will shuffle. Click the cup with the ball.
'If selected correctly, screen flashes green. If not,
'screen will flash red. This could be turned into a
'game easy, with score keeping and speed changes.
'For now it just loops over and over.
RANDOMIZE TIMER
SCREEN _NEWIMAGE(1000, 600, 32)
_SCREENMOVE 200, 60
cup& = BASIMAGE1& 'decode cup image to use
ball& = BASIMAGE2& 'decode ball image to use
shadow& = _COPYIMAGE(ball&) 'use ball shape for shadow
_SETALPHA 35, 1 TO -1, shadow& 'set alpha for shadow&
'=== draw background
CLS , _RGB(232, 232, 255)
LINE (0, 350)-(_WIDTH, _HEIGHT), _RGB(128, 255, 128), BF
'=== grab background image
back& = _COPYIMAGE(_DISPLAY)
speed = 75 'speed for _LIMIT
moves = 15 'how many shuffle moves to do
COLOR &HFF000000
_PRINTMODE _KEEPBACKGROUND
DIM winnings AS LONG
DO
_PUTIMAGE , back&, 0
LOCATE 2, 2: PRINT "Winnings: $"; winnings
LOCATE 10, 39: INPUT "Enter to Pay $5 to Play Shell Game, any other quits "; yes$
IF LEN(yes$) THEN END
cupball = INT(RND * 3) + 1 'make random cupball number (1,2,or 3)
GOSUB ShowBall 'show where ball is first
'shuffle the cups
FOR m = 1 TO moves
SELECT CASE INT(RND * 6) + 1 'random move
CASE 1: GOSUB move1to2
CASE 2: GOSUB move1to3
CASE 3: GOSUB move2to1
CASE 4: GOSUB move2to3
CASE 5: GOSUB move3to1
CASE 6: GOSUB move3to2
END SELECT
NEXT
GOSUB PlaceCups 'make sure they are placed right
selected = 0 'not selected yet
DO
WHILE _MOUSEINPUT: WEND
IF _MOUSEBUTTON(1) THEN
mx = _MOUSEX: my = _MOUSEY
'clicked cup 1
IF mx > 114 AND mx < 316 AND my > 146 AND my < 439 THEN
IF cupball = 1 THEN selected = 1
EXIT DO
END IF
'clicked cup 2
IF mx > 378 AND mx < 600 AND my > 146 AND my < 439 THEN
IF cupball = 2 THEN selected = 1
EXIT DO
END IF
'clicked cup 3
IF mx > 694 AND mx < 911 AND my > 146 AND my < 439 THEN
IF cupball = 3 THEN selected = 1
EXIT DO
END IF
END IF
LOOP
'make sure mouse button up to continue
DO UNTIL _MOUSEBUTTON(1) = 0: m = _MOUSEINPUT: LOOP
'flash screen based on selection
IF selected = 0 THEN
'flash red - wrong one
LINE (0, 0)-(_WIDTH, _HEIGHT), _RGBA(255, 0, 0, 100), BF
winnings = winnings - 5
_DISPLAY
_DELAY 1
ELSE
'flash green - selected right
LINE (0, 0)-(_WIDTH, _HEIGHT), _RGBA(0, 255, 0, 100), BF
winnings = winnings + 5
_DISPLAY
_DELAY 1
END IF
GOSUB ShowBall 'show where ball is
IF winnings > 50 THEN speed = speed + 5
LOOP
END
'===================================================================
PlaceCups: 'shows all cups in place
'=========
'Place all cups first
_PUTIMAGE (0, 0), back&
RotoZoom3 200, 300, cup&, 1, 1, 0
RotoZoom3 500, 300, cup&, 1, 1, 0
RotoZoom3 800, 300, cup&, 1, 1, 0
_DISPLAY
RETURN
'=====
'===================================================================
ShowBall: 'Raises cup to show ball
'=======
'make sure showing all cups first
GOSUB PlaceCups
_DISPLAY: _DELAY 1
shadowgrow = 0
'raise a cup based on cupball number
SELECT CASE cupball
CASE IS = 1 'raise cup 1
_PUTIMAGE (0, 0), back&
FOR y = 300 TO 175 STEP -7
_PUTIMAGE (0, 0), back&
RotoZoom3 500, 300, cup&, 1, 1, 0
RotoZoom3 800, 300, cup&, 1, 1, 0
RotoZoom3 210, 425, shadow&, 1 + shadowgrow, 1, 0
RotoZoom3 210, 400, ball&, 1, 1, 0 'ball first
RotoZoom3 200, y, cup&, 1, 1, 0 'cup over
shadowgrow = shadowgrow + .13
_DISPLAY
_LIMIT 50
NEXT
CASE IS = 2 'raise cup 2
_PUTIMAGE (0, 0), back&
FOR y = 300 TO 175 STEP -7
_PUTIMAGE (0, 0), back&
RotoZoom3 200, 300, cup&, 1, 1, 0
RotoZoom3 800, 300, cup&, 1, 1, 0
RotoZoom3 510, 425, shadow&, 1 + shadowgrow, 1, 0
RotoZoom3 510, 400, ball&, 1, 1, 0 'ball first
RotoZoom3 500, y, cup&, 1, 1, 0 'cup over
shadowgrow = shadowgrow + .13
_DISPLAY
_LIMIT 50
NEXT
CASE IS = 3 'raise cup 3
_PUTIMAGE (0, 0), back&
FOR y = 300 TO 175 STEP -7
_PUTIMAGE (0, 0), back&
RotoZoom3 200, 300, cup&, 1, 1, 0
RotoZoom3 500, 300, cup&, 1, 1, 0
RotoZoom3 810, 425, shadow&, 1 + shadowgrow, 1, 0
RotoZoom3 810, 400, ball&, 1, 1, 0 'ball first
RotoZoom3 800, y, cup&, 1, 1, 0 'cup over
shadowgrow = shadowgrow + .13
_DISPLAY
_LIMIT 50
NEXT
END SELECT
_DELAY 1 'pause to see ball
'now lower the same a cup
SELECT CASE cupball
CASE IS = 1 'lower cup 1
_PUTIMAGE (0, 0), back&
FOR y = 175 TO 300 STEP 7
_PUTIMAGE (0, 0), back&
RotoZoom3 500, 300, cup&, 1, 1, 0
RotoZoom3 800, 300, cup&, 1, 1, 0
RotoZoom3 210, 425, shadow&, 1 + shadowgrow, 1, 0
RotoZoom3 210, 400, ball&, 1, 1, 0 'ball first
RotoZoom3 200, y, cup&, 1, 1, 0 'cup over
shadowgrow = shadowgrow - .13
_DISPLAY
_LIMIT 50
NEXT
CASE IS = 2 'lower cup 2
_PUTIMAGE (0, 0), back&
FOR y = 175 TO 300 STEP 7
_PUTIMAGE (0, 0), back&
RotoZoom3 200, 300, cup&, 1, 1, 0
RotoZoom3 800, 300, cup&, 1, 1, 0
RotoZoom3 510, 425, shadow&, 1 + shadowgrow, 1, 0
RotoZoom3 510, 400, ball&, 1, 1, 0 'ball first
RotoZoom3 500, y, cup&, 1, 1, 0 'cup over
shadowgrow = shadowgrow - .13
_DISPLAY
_LIMIT 50
NEXT
CASE IS = 3 'lower cup 3
_PUTIMAGE (0, 0), back&
FOR y = 175 TO 300 STEP 7
_PUTIMAGE (0, 0), back&
RotoZoom3 200, 300, cup&, 1, 1, 0
RotoZoom3 500, 300, cup&, 1, 1, 0
RotoZoom3 810, 425, shadow&, 1 + shadowgrow, 1, 0
RotoZoom3 810, 400, ball&, 1, 1, 0 'ball first
RotoZoom3 800, y, cup&, 1, 1, 0 'cup over
shadowgrow = shadowgrow - .13
_DISPLAY
_LIMIT 50
NEXT
END SELECT
RETURN
'=====
'===================================================================
move1to2: 'moves cup 1 over to cup 2
'=======
cup1z = 1: cup2z = 1: cup3z = 1
FOR move = 1 TO 300 STEP 15
_PUTIMAGE (0, 0), back& 'redraw background
'cup 3 stays in place
RotoZoom3 800, 300, cup&, cup3z, cup3z, 0
'cup 2 shrinks, going under cup 1, moving left
RotoZoom3 500 - move, 300 - cup2z, cup&, cup2z, cup2z, 0
IF move > 150 THEN cup2z = cup2z + .03 ELSE cup2z = cup2z - .03
'cup 1 enlarges, going over cup 2, moving right
RotoZoom3 200 + move, 300 * cup1z, cup&, cup1z, cup1z, 0
IF move > 150 THEN cup1z = cup1z - .03 ELSE cup1z = cup1z + .03
_DISPLAY
_LIMIT speed
NEXT
'swap ball placement
SELECT CASE cupball
CASE 1: cupball = 2
CASE 2: cupball = 1
END SELECT
RETURN
'=====
'===================================================================
move1to3: 'move cup 1 over to cup 3
'=======
cup1z = 1: cup2z = 1: cup3z = 1
FOR move = 1 TO 300 STEP 8
_PUTIMAGE (0, 0), back&
'cup 3 shrinks, moves left two places
RotoZoom3 800 - (move * 2), 300 - cup3z, cup&, cup3z, cup3z, 0
IF move > 150 THEN cup3z = cup3z + .02 ELSE cup3z = cup3z - .02
'cup 2 stays in place
RotoZoom3 500, 300, cup&, cup2z, cup2z, 0
'cup 1 enlarges, moving right two places
RotoZoom3 200 + (move * 2), 300 * cup1z, cup&, cup1z, cup1z, 0
IF move > 150 THEN cup1z = cup1z - .02 ELSE cup1z = cup1z + .02
_DISPLAY
_LIMIT speed * 1.7
NEXT
SELECT CASE cupball
CASE 1: cupball = 3
CASE 3: cupball = 1
END SELECT
RETURN
'=====
'===================================================================
move2to1: 'move cup 2 over to cup 1
'=======
cup1z = 1: cup2z = 1: cup3z = 1
FOR move = 1 TO 300 STEP 15
_PUTIMAGE (0, 0), back&
'3rd cup stays in place
RotoZoom3 800, 300, cup&, cup3z, cup3z, 0
'cup 1 shrinks, moving right
RotoZoom3 200 + move, 300 - cup1z, cup&, cup1z, cup1z, 0
IF move > 150 THEN cup1z = cup1z + .03 ELSE cup1z = cup1z - .03
'cup 2 enlarges, moving left
RotoZoom3 500 - move, 300 * cup2z, cup&, cup2z, cup2z, 0
IF move > 150 THEN cup2z = cup2z - .03 ELSE cup2z = cup2z + .03
_DISPLAY
_LIMIT speed
NEXT
SELECT CASE cupball
CASE 1: cupball = 2
CASE 2: cupball = 1
END SELECT
RETURN
'=====
'===================================================================
move2to3: 'move cup 2 over to cup 3
'=======
cup1z = 1: cup2z = 1: cup3z = 1
FOR move = 1 TO 300 STEP 15
_PUTIMAGE (0, 0), back&
'cup 1 stays in place
RotoZoom3 200, 300, cup&, cup1z, cup1z, 0
'cup 3 shrinks under, moves left 1 cup,
RotoZoom3 800 - move, 300 - cup3z, cup&, cup3z, cup3z, 0
IF move > 150 THEN cup3z = cup3z + .03 ELSE cup3z = cup3z - .03
'cup 2 enlarges over, moves right 1 cup
RotoZoom3 500 + move, 300 * cup2z, cup&, cup2z, cup2z, 0
IF move > 150 THEN cup2z = cup2z - .03 ELSE cup2z = cup2z + .03
_DISPLAY
_LIMIT speed
NEXT
SELECT CASE cupball
CASE 2: cupball = 3
CASE 3: cupball = 2
END SELECT
RETURN
'===================================================================
move3to1: 'move cup 3 over to cup 1
'=======
cup1z = 1: cup2z = 1: cup3z = 1
FOR move = 1 TO 300 STEP 8
_PUTIMAGE (0, 0), back&
'cup 1 shrinks under, moving right two cup places,
RotoZoom3 200 + (move * 2), 300 - cup1z, cup&, cup1z, cup1z, 0
IF move > 150 THEN cup1z = cup1z + .02 ELSE cup1z = cup1z - .02
'cup2 stays in place
RotoZoom3 500, 300, cup&, cup2z, cup2z, 0
'cup 3 enlarges over, moving left two cup places,
RotoZoom3 800 - (move * 2), 300 * cup3z, cup&, cup3z, cup3z, 0
IF move > 150 THEN cup3z = cup3z - .02 ELSE cup3z = cup3z + .02
_DISPLAY
_LIMIT speed * 1.7
NEXT
SELECT CASE cupball
CASE 3: cupball = 1
CASE 1: cupball = 3
END SELECT
RETURN
'=====
'===================================================================
move3to2: 'move cup 3 over to cup2
'=======
cup1z = 1: cup2z = 1: cup3z = 1
FOR move = 1 TO 300 STEP 15
_PUTIMAGE (0, 0), back&
'cup1 stays in place
RotoZoom3 200, 300, cup&, cup1z, cup1z, 0
'cup 2 shrinks under, moves right 1 cup
RotoZoom3 500 + move, 300 - cup2z, cup&, cup2z, cup2z, 0
IF move > 150 THEN cup2z = cup2z + .03 ELSE cup2z = cup2z - .03
'cup 3 enlarges over, moves left 1 cup,
RotoZoom3 800 - move, 300 * cup3z, cup&, cup3z, cup3z, 0
IF move > 150 THEN cup3z = cup3z - .03 ELSE cup3z = cup3z + .03
_DISPLAY
_LIMIT speed
NEXT
SELECT CASE cupball
CASE 3: cupball = 2
CASE 2: cupball = 3
END SELECT
RETURN
SUB RotoZoom3 (X AS LONG, Y AS LONG, Image AS LONG, xScale AS SINGLE, yScale AS SINGLE, radianRotation AS SINGLE)
' This assumes you have set your drawing location with _DEST or default to screen.
' X, Y - is where you want to put the middle of the image
' Image - is the handle assigned with _LOADIMAGE
' xScale, yScale - are shrinkage < 1 or magnification > 1 on the given axis, 1 just uses image size.
' These are multipliers so .5 will create image .5 size on given axis and 2 for twice image size.
' radianRotation is the Angle in Radian units to rotate the image
' note: Radian units for rotation because it matches angle units of other Basic Trig functions
' and saves a little time converting from degree.
' Use the _D2R() function if you prefer to work in degree units for angles.
DIM px(3) AS SINGLE: DIM py(3) AS SINGLE ' simple arrays for x, y to hold the 4 corners of image
DIM W&, H&, sinr!, cosr!, i&, x2&, y2& ' variables for image manipulation
W& = _WIDTH(Image&): H& = _HEIGHT(Image&)
px(0) = -W& / 2: py(0) = -H& / 2 'left top corner
px(1) = -W& / 2: py(1) = H& / 2 ' left bottom corner
px(2) = W& / 2: py(2) = H& / 2 ' right bottom
px(3) = W& / 2: py(3) = -H& / 2 ' right top
sinr! = SIN(-radianRotation): cosr! = COS(-radianRotation) ' rotation helpers
FOR i& = 0 TO 3 ' calc new point locations with rotation and zoom
x2& = xScale * (px(i&) * cosr! + sinr! * py(i&)) + X: y2& = yScale * (py(i&) * cosr! - px(i&) * sinr!) + Y
px(i&) = x2&: py(i&) = y2&
NEXT
_MAPTRIANGLE _SEAMLESS(0, 0)-(0, H& - 1)-(W& - 1, H& - 1), Image TO(px(0), py(0))-(px(1), py(1))-(px(2), py(2))
_MAPTRIANGLE _SEAMLESS(0, 0)-(W& - 1, 0)-(W& - 1, H& - 1), Image TO(px(0), py(0))-(px(3), py(3))-(px(2), py(2))
END SUB
FUNCTION BASIMAGE1& 'cup.png
v& = _NEWIMAGE(235, 336, 32)
DIM m AS _MEM: m = _MEMIMAGE(v&)
A$ = ""
A$ = A$ + "haIkM^Z\ULK50=O66UZ<`h1KZ=gP;dLGYlg`DVIP13l0SQikHh14H0Q5BZ:h"
A$ = A$ + "4JZ9gn<GecFZgjEgB]N]0[JNN?W^E_GmFB]d^odWndOhC000L9nOoWomW<lO"
A$ = A$ + "oWoeRbojS?^d?_lH[e]C0DKTaknla=Wj<l?n;o9_lgocoX:nno7jk1G661RU"
A$ = A$ + "c;G?JgKNlR5o]?lMQignf3lago^RSegQhkOoHeagce_acQBRVOjjQ6OK;>f4"
A$ = A$ + "WokodgHa_nSOmdQllCee=N]`YCaUaI1G2iPblQblObLKbhBO^i_l3oaZA[Me"
A$ = A$ + "#^[?7f=?M>iXaUG;TnYd9=i4U^fV?lcOoGU5ed=kI?EbI>?dlLY[od[OeWaK"
A$ = A$ + "W7BY?[?cEZdWEILF^>:^jiLE]c9ON\9_\<?\_l^h`m;^i;gmagj[J\nUfcNi"
A$ = A$ + "8iYUfOmM>kVkeTgeh_Tg]?`=gYjllhhXYjU]boVE7]Fn^Vk:ck:ciRgf67Ej"
A$ = A$ + "VKNY_aI:mbFkHhVg;76W[`MaI[WKjjWVnfjVcLDcER[FFLKkTmCfeIaK;SSJ"
A$ = A$ + "=^CWlWb[;mlh:aIKW[jfnY=fFcmoaG_VSn\?^:i?G5o4W]\>[i_?DNfF7o?2"
A$ = A$ + "4J<XVfmEa7?S_R7W?BOe<oah[nAV7mYSnKOkd?6dBk\alHh8Vf:[i>6O=ZSj"
A$ = A$ + ">GAaLDLedLH8^[Zi[dOHM?eMlXmnJ#HdXe>aXPKoQgR=K]WdJliYKaES`j5J"
A$ = A$ + "DYe^#_Sel3oJL9c=lGV3Y[hYhZh[e`EUkoW]aU]b^jfinEjg;^:^J]`Moj]j"
A$ = A$ + "^jF>eWkm<ajdM;6Zgg?;c2]f7jEdfS][\[J6WjfhfUk1][hZcZcFjHALe`]9"
A$ = A$ + "J^jFLjZ>G`bWQJYMeIbKe^WOY8D<k8B9SILmEcL1_RiFMG_3VfT]hUBjZSZ_"
A$ = A$ + "6ZoIedE7EO]da<K]3ba\^b?WE;GED[R^bl;MG>K9n>JMOG;aaaMd>Mg>ZaCU"
A$ = A$ + "[72ijj7Ge^fIFCO=gHVJM?QBi7gmWAZ^J_L]h\NjQJZ:^ZU[^GC0cH=0G;W]"
A$ = A$ + "VnOYbcNGLgikJQSJ^68mDI=Z4Gm;^jQJG]ccai^^VECOLdLfJM>fj[MJG7?D"
A$ = A$ + "WeLZSjhZnMEI>fLZg3m\OfJg[7miFN]dT7eJLYNR3aE?f7HIMLFn^RXde1dJ"
A$ = A$ + "hY]dI>clmf;^lMO=DjXk[?OUH>j3LV^ZX]c]ff[Ekc^K7m>M_LMdcncg:_]f"
A$ = A$ + "^YEmAc=?ZBl6^JR^ZFKXkkU2AoS;]cfC>J[HDMFO>ZUOj9^bgkl;LeS?cVLl"
A$ = A$ + "E]L]YlNTY7mdFkUg]cNEOemJQkalQgG>nbQVPWR[VQ[V1aN?#icIKiHAK];f"
A$ = A$ + "bL\ij]QjG[d;;J\4^JELeH>K<^khDLEo]1IoNQ]Fa#hZEeE3RWgYgV[?YdOj"
A$ = A$ + "FjYSlgKXS1O_WFC]?[U6Le>fECHL;aN_QgjlOm4Nco5jmRn5^>Q[>Q^JTH2i"
A$ = A$ + "kWgHhK^Y?;nRece?>[CMfnPj[?YbfgCe^NS^9^j0hZ>>kIME[[abl7GdOSVO"
A$ = A$ + "bC^:OoOZnaRWWEnEKGaEk0G]2c;#?A:nC87B]m9cn1hmiM5Y_0Q>NkVkaFk["
A$ = A$ + "K\oEG6GmP_V2alQ2hZN_?BV7[]^]5G]^\G33kYn03P0]n0_Re`5=G]eGK69T"
A$ = A$ + "]IYVkSfi;d>S[niJ>:a#W:ni:djcQA1CkUimlh:kZTGmla?hZgGKm:WG=imI"
A$ = A$ + "34=>27]n]a[jL;9kokcfS0k9O0J9kc3lSGFbn1_o^ah3OGeFge0D2T?;[]ol"
A$ = A$ + ":UKeTCehYbebVFMY2PFR97R<nLEb]J6WZaC=ki2b[2i`MllXT[52inoI5b]:"
A$ = A$ + "7Wjfi]LO6CoPQD8Wi#[Tc[V\_O[`hFU?W6CNEcnnWa]2Y#9N>Ei6O]moG>F]"
A$ = A$ + "]o^EbEMOGHX]>eaIQFR\?`bm9hfofF^eI^O`K^jncYA<gBKnZjNkPWE8L38O"
A$ = A$ + "^<FoMRaZ:SA=[SYIfE=?[6IKAfk3;UmTE[_F3c3JcWdQWGa2iZZi9C`=mjdT"
A$ = A$ + "_5^0^aQAgKm;Z[j[m:emRMdJS0^;88DNRD[;=[R[VjnE=TgVMM51gMj9ii3>"
A$ = A$ + "ch9_a#_67_4^JRSe\h]g9Fc3JML7DVHR[F[Ylfg_gZC4C_[nhUTMeT_NUCOH"
A$ = A$ + "BLnZ`Sk#O<Sa7MF7E^fOmNLmfon:iZ1_VUH=\cgea;=obW`UKMlm8bIbAV[c"
A$ = A$ + "UZ;kN]=hal2jZU>6o\m;:WHScT;NUMjBUSl\>J>gc=icU9gEgGcBEdE;am]C"
A$ = A$ + "mnhU>_lXjj9MLGPLT9gnGafAGGMFGWQ]`E;I\eIMeRf?l6h`Ga5;QSVKKa]4"
A$ = A$ + "k\P^J[c9TE\i9m[RWG^2iZ;Y7FdkOeQm_H5Lemj[DWkZIk`96CGEG]RL;7gM"
A$ = A$ + "V?VS[>SSIMdMe;iaE:odMjXWfE[dH7aE_9GM0_6M;nL7ilUL^LJMKO=^>>[^"
A$ = A$ + "jFOjefS=]^MOdXY>lRhRYN=HkgKFC`cdHF?DSAG`[agAlC=YeWSm2^^j\=oB"
A$ = A$ + "hZ`\`\kZVaZR[2S>J^j<=VENOH0c4ka`Chk=3LEHVHfMEjo;<;X=G`]fa`EQ"
A$ = A$ + "NTF7o<k^jNoOW\e\4\NH57?Ie72LEHVHjMe7_H]6HJMk=0W5ij4Kk?S[2#Ob"
A$ = A$ + "<kZbggZhZ`XSaE=ej`]hkFkHhZ0L4LE063`E1H<HFMEcN\1G5V5dLeIH_fP["
A$ = A$ + "2c6hZ0<6<[^ZI?fHEWA`EQ16gHiIH_fHZcBF^:[MOH`aZ6G9LeA>g:^:<S\B"
A$ = A$ + "^J[K[1hZ<[^jfNl3G5V9Tacc#]7EFo2aEQI2GGMdW;HLEHFIfLEI]6Uj2=<C"
A$ = A$ + "8SWWQJ?:^:<[<[^Z\FSR[2c0FacC#]7M_n5R[2C6^^jXG?3eZeXhZ`<PKll<"
A$ = A$ + "jZ]^=6PBa\iZKm?`ml2PI0[Hj1_fSJEGPaEQ93ga\>l^ZkiD7d63#9`=^6G5"
A$ = A$ + "PnTIbEOn\EOl2k5>H:A^ghfncSL=BSm]:<cX]?FK]cE:G]e]]0DJ`E1H<H6L"
A$ = A$ + "EIm;Tn03c8Jm1N4gGLF^:N:<Y8S_aE1XOI6LE[JR6n:<Qh6K?Zk;>[JR6^:<"
A$ = A$ + "Qh6K?R[Oo3e_#lDHBAcE7Yn1C]K1F56mJiRV[fjfD0Z5hZ0<6<3^ZL_[fjfC"
A$ = A$ + "0Z5SL=B3G5F96MGe]n5fjfC0Z5SLm<dZVXajf7VLTkQeAcE=momii1^:<i8M"
A$ = A$ + "ECoPK]3VU[n`No2ejfC0Z5^aihZ0dW<j^jna?^:<ih6[S[2#Ob`kZ_NLoago"
A$ = A$ + ">LEHjahZVhmAcEg>^aEQE0Y[^1^:0m9SZ[JZM;hZ`ZPV[>2kQELEHeHDMEcj"
A$ = A$ + "f7G5F5dLeAHM6JF;`k^:N:\0\5WKRi7Qe4\EMFb<7fhZ`2PaEgRk7Qj^T[[B"
A$ = A$ + "oOQE1ijQ0G5Pn5LE0636=GMkh3G5FAdLeNNnU\ZOQhZ`2Q[[fk?g6LEHE1G5"
A$ = A$ + "PaPAeEUe_#LEH5`:NO0ZmXJeJDLEH5`eEkme^4^:\Z<\^ZkaN7dF2#=a=N_g"
A$ = A$ + "ME[j2<^:\#L8N_c[C`Jc[4^:\2L8VO4LE]Sk>X]4PJRF<oXiZ]^=4Pk2LE06"
A$ = A$ + "36=GUno2[:^anhZ0dW<:^ZYn5R[2[:J^J?^7FaEQEWAbEO^oJ`EQ55gHo=OX"
A$ = A$ + "7Memj11^:\XXiZmhj<DcEKMK70g=m^[JECd`EQ56=G]Wj7\?G5O5F9le7hNc"
A$ = A$ + "Eg[M;hY`2S[[fKc5\EMF2G5FHdLeNJ<[DWU0hcX]_hjFGm]JG8^:\R\kZ_j1"
A$ = A$ + "hZ0d_<2^jNMFRJ2<\h\kZ?j_j^TINUNNLR[2;>^^J?]OK`E1h;dk^jNm;4G5"
A$ = A$ + "FLT^J_ESd\NN=hZ`RSU7dA^ZI=;9?6KMK50]6I>[NI];I]7cOkmTE[KW0Xe8"
A$ = A$ + "O?9R[2#oB_jZF__EaE1`b7jUj3QdEohkO7^:0?Nab7jFGUi06PWN#_iZVeGh"
A$ = A$ + "fa5^:0O6S[^A_\>3aE1h8hZ0<6P[2`H#_iZFe4=acCZe]C0dJT[gPNX6YQ[2"
A$ = A$ + "P>hZ0<6dK^ZEm;4G5PMLMeFG;G>DWU`E1h9F[?n>X^;Q[2P>hZ0<6de^:e`K"
A$ = A$ + "0fYgZYghZ0XC?jZke_#LE0fae7JmJGbZFSR[2`>J^J[ZAJbgSSJ7K0\bhcEK"
A$ = A$ + "ajQH_n5JZ;`hZ0\c1Oh]a\fJGUgUi0Hc1WX7LE]S[>X]2PFRVCdK^J[KS0XG"
A$ = A$ + "XWLEVG90lSfl;eBGUno2P>^^1^:0m9mR[^_7caE1#5=G]5[M9=G]e]=0dKdE"
A$ = A$ + "^jKk3>LE0>b^[:ZU;]`EgggZhZ0XRdEgl5LE0jCJ][JZOQhZ046=Gm>W;H[e"
A$ = A$ + "2<^:0NaeE_ke^dQj\4^:0ZXiZgIoPgMe7_P[2#0\Le7_P[2#WB?jZ]^=1PNU"
A$ = A$ + "FjZFe^5LE02RdE_kj^4^:0YC[Le3e4=LE02RV[N7?g6LE0bSFkZke4=LE02R"
A$ = A$ + "UWLS[72LE0bSFiZ7N_HlF^M00o8cYMGk=>[mH^iMFG7dF0#?SlMN:^:0m;MQ"
A$ = A$ + "[bHE18:BOi>MEN?V3#NHe?dKJ?WS[2#nd<GmaWkom7Ook`E181flTWnbKc_c"
A$ = A$ + "MjZKO_hZ0T66GMS]olMkZd7H0B3COP_;GejM37SG5PTamILFke^4^:0W3LE0"
A$ = A$ + "63^KGm#]K1G5PT#cE[iHFaE1hLP[2`H`MjZVg;6hZ0T?nLeJ<VEEGUj2<09Q"
A$ = A$ + "_j4l]hZl>B6PTaeGZ][JECd`E18ILmUJFSdT^Zlk5G5Phhj<hZ0dWLW^ZI\Z"
A$ = A$ + "hZ0T?nLeJlLK\NW[R[2#FL`IZhkRe3eJDLE0B6=WYFeM9O^J[K30HD0G5PaP"
A$ = A$ + "kdEI\Z0LNd6cJEMEaJ;4G5PdabE[Hm<DFo2aE18O>hZ?ZCMGbZVXQ[2#f8mV"
A$ = A$ + "JFSd`E1hJLG^ZIoe8MeFO^3`XQ[[^iEebEIO[2`iAKO\FB?m#m;4G5PCQV[F"
A$ = A$ + "be_?^:0UQJkZDkF0X<h[F^DJGM_n>Q[2`Y#jZKoJ9MEIMF2G5P[Q?G]4m3fh"
A$ = A$ + "ZkkaLLE0>=^^ZImkG2Gm#mP0G5PCSV[FZn1S[2#i0G5PaPk`EggkZhZ0LJLM"
A$ = A$ + "eBFgU`E1XLDKGeZf]`kK:0^4^NDYZU;F^:_Kh0hb\kZ_]fU:][BoO1X<hkI\"
A$ = A$ + "F2GUaZ2#i#K<[U`E]N7>R[2`UiP[nX<kSE]gSihZ0LN\Le2^Wc=[IoWe^5LE"
A$ = A$ + "0^<BGeDCT:V[Jn<aE1hbL`EOmGaE1XoX6^ZYf]\miI0G5P[Q\F6JhZeb5LE0"
A$ = A$ + ":?hZ0<6DJGMkWceEIlZ0LML7_ZdE?S_:[cBhZ0D>liZW]F^HECdHNP1XHhKN"
A$ = A$ + "PaE1X_XF^jcmH3^:053=Gm:ec`]O>LE0:?QLec\OK\Z9JhZ0D<liZW]F^hjZ"
A$ = A$ + "\?K0X<h^?K`E1X?YF^jcJ21^:053=Gm:ec#LE0Z3e`EOFo2U^Zik0G5PCSdS"
A$ = A$ + "T^jI[AJnZeXhY0LMdZS;WaE=[Iom?CbY2#Ai#^EA=B;ee3QjkKEbY2#ai`hF"
A$ = A$ + "o#N_?FgWCY77kk;^:0U3ea]nhUTVS9IOOef7LhZ0D>LMESc]m_5Z_`J[EOgJ"
A$ = A$ + "1Q;]nL5PA3O^TU_5I]l;ONZbO>LE0:7YhZ?c]6hi]j^>maE1XlTZ[JVW9gJA"
A$ = A$ + "ZILZbOVOoWn6LE0:<YjZn6gjf_OcQUNZQ#^:n:0YC8?BcE=SKEjZViD:V[Zm"
A$ = A$ + "mejcO065dLW#^j6bebTLnO?S[R_2#Lli=YTGe<O`J^ZdGaE1hjTS[jKM<9gC"
A$ = A$ + "iJ^j6QjW=^:0a9V3M`EOk_G^7dmmLEoeOl[ObCGeI];Q[2#N4dEMGkAbeO_h"
A$ = A$ + "i\6cEg#K]6R[2#jTZWJe7HWmP^?GM;OZdE3i[]^M0PNWchY^^jnjeGI]5^i["
A$ = A$ + "ob?l7SVK]e]30dk4J<ZbeMT_lZVWaZ_e\_9gjV_^?W`h[0T5abY6bEM[E4BG"
A$ = A$ + "ePlciWon_JgGINV08=bI<ZYjZbe3\V_Jb]^A\iI2W5FMbI>O3>NeGoo[]?Fg"
A$ = A$ + "[_X2OeML[YdGHlEHU9TSV[WJ6[JXJgRfWSGO=an4So2c6nRa?USjTcMkccgn"
A$ = A$ + "Ge]VXiji^c;\eNV;QWmZV[Rk2S4Ja_NMeLLDWn7_mkSESddZgBk[7HQ_:GCC"
A$ = A$ + "Yj[idoHb13]RLR??KNd#NZ<WJ\JIXEM<<#nE=OEkHh\]EhZ#;8Wh_LWgXDbW"
A$ = A$ + "^miVck:3gj>ZkgQkcNEeI_P_AOUQkTLRg:J^d?lMFoKKOnin>]A^oKf?nn]_"
A$ = A$ + "=Z_j[Oaid>4[]YeGGQiQHaFAS7MF?PihXFmIe9OJZeMOOef#gk18ocBW=VgN"
A$ = A$ + "Un6OU[7Gic0j;l=G8WmcjDOgW]o^>o\?on_`k8>Oc?lcSEWkUX=6FScVbL6G"
A$ = A$ + "j[MnV;;b;?n4L>M^`LINZ_OWeOP\f<h>>#OiRgn<ciMRAfm9fImBhn\Qdba:"
A$ = A$ + "?Gl^f7c\=Eno=e[QhZS=iLMfgemLSaliWJNJ`e9TWei#9mD]n47:7[_kg8ck"
A$ = A$ + "jj_WaK3Uo<deeF7_1egES5GTegCRnI\nljV;]4mi=UL\knZ97[km=lh[^^Jb"
A$ = A$ + "iLCHm<R[>oDR[oA9`l45:FegcRa:gcK_?TcimfHYba:ccjNN6;7[[kj;WKXl"
A$ = A$ + "^aLALeiRLj[KbnJ2i=SiX7b[hTSa]V9MG>Z_aa^g_h0]1Ydgh#NKXkSMf[_]"
A$ = A$ + ">nKeidiobhJIXlValbH>J\iNAjYgI^dH>[Vg6kl;FOT3i_U`IKM\jZC=MD[?"
A$ = A$ + "O5o<DOibaA]Nn;>nI_hXI=NfCT_eGNgHS[G;6#N][eaW#HG=eO^HGCeRgBI^"
A$ = A$ + ">C>7ZkaMS6?jEAVWmPkVhcA>dmibY?;7bknjaQYMERi_o996GEkn_e;nc]NN"
A$ = A$ + ";^>hmJTcaZKLS_WKH:aFYjYBg\eS7]TN[ilAmic6hinLEWFK\4^a4YjZ]8F^"
A$ = A$ + "dnM[?VCjHGaEEMd4F;>nF_j9?fC?cGTiiSN7?kUk6gadjV_ednWBkF>]iiBb"
A$ = A$ + "?SX;NlLfkAYMlM9O=bm<_jmAE?OSdV6jNbYL?j[>^cmSi?lUnQ9cO>2S5]6i"
A$ = A$ + "KeFO5Q^>7jJOXl7Qb5WT;UHldMAZ[KT#NIY>FZQWh>VBgLU^[kLOcMQil>Fk"
A$ = A$ + "XfOoFkG?llFj52U_eZo?:cEPJoJC8F]dNC^gO?7R=7UYj1elHl\WGQVSOge;"
A$ = A$ + "CB?oMUhP#^ZKNC3[Lnc[h`FmE>R_Jm[1j_EBmA<QnS5;><ghD=dbW4:7C^ol"
A$ = A$ + "iL\TjcD;Wc[DOFj1c;ZLm:DOgUgOgM^Q`9_V_VENg#g7=B>Hg?3OmG<eL6Ge"
A$ = A$ + "C;Q_F;G]4NZFoHU^ZI>L>#\lU:ckO\lVhYeeSEcmJ^FjLMdmjGBNMTafEbnn"
A$ = A$ + "MeHMghmDLfkfASegmHcmZln\n^nI6WYfcCa4cdjHgEVHiNCjIVNaWED[6GH?"
A$ = A$ + "<VjBN<kKl;aNn>abIfjHD8<VkSjKn[>hcAjKE?BdW5b=m\^:jiSWn_jN]Cfg"
A$ = A$ + "EbI>O4J<`n67\aQ?eJ=X#?ObTleCl<;;bm8llmWJkU<7Y_aEbH;1Y3k3I<R?"
A$ = A$ + "7?enM?BinbNnd3dODO>WF^AGJM\1<fTS3k^VFeh\^]jLX5ImTLFg;4ihT]nJ"
A$ = A$ + "70BB9o\?O_Gagi0i110P_`o7c`W^%%%0"
btemp$ = ""
FOR i& = 1 TO LEN(A$) STEP 4: B$ = MID$(A$, i&, 4)
IF INSTR(1, B$, "%") THEN
FOR C% = 1 TO LEN(B$): F$ = MID$(B$, C%, 1)
IF F$ <> "%" THEN C$ = C$ + F$
NEXT: B$ = C$: END IF: FOR j = 1 TO LEN(B$)
IF MID$(B$, j, 1) = "#" THEN
MID$(B$, j) = "@": END IF: NEXT
FOR t% = LEN(B$) TO 1 STEP -1
B& = B& * 64 + ASC(MID$(B$, t%)) - 48
NEXT: X$ = "": FOR t% = 1 TO LEN(B$) - 1
X$ = X$ + CHR$(B& AND 255): B& = B& \ 256
NEXT: btemp$ = btemp$ + X$: NEXT
btemp$ = _INFLATE$(btemp$,m.SIZE)
_MEMPUT m, m.OFFSET, btemp$: _MEMFREE m
BASIMAGE1& = _COPYIMAGE(v&): _FREEIMAGE v&
END FUNCTION
FUNCTION BASIMAGE2& 'ball.png
v& = _NEWIMAGE(100, 99, 32)
DIM m AS _MEM: m = _MEMIMAGE(v&)
A$ = ""
A$ = A$ + "haIkM^SSULL45EK5jB#j#j#K^1X?g3L=X=S\4Xf3bAN22#0bAK1jC718d2i8"
A$ = A$ + "L8>jP8cZNmlYkIdHTXNeWg_hVghNS8[ne?mdCo^Wn8Jl[ojonY7mj^kcicS7"
A$ = A$ + "37niOnGNjWnYoiCOkgnGNjkn^ojCOogogNj7oaoaK6[Sch7nQonK6L>6[Woj"
A$ = A$ + "eiGnUoeKfnILjnanePhmJ;ajenP7L\eiiJhjIo5^hWkjh[S]N=Fk3flBoMne"
A$ = A$ + "fPHBSIlHfB\MM^_iKncoF\gL2oLlSGl3S]`ghinILioR34?Fah6G1CFaNNlj"
A$ = A$ + "LLm[S_h:6o<Wal4b[ak1SbSFSoO0Khk8iS#3PHZWccSGKoj_n?mK7O]e77L0"
A$ = A$ + "\TLIFSYhDaTV?cL8`V?Ua77g0;J>V_j[nS_I0^\Rm>?5KiiKL4L[ijHdg;[3"
A$ = A$ + "EO0\oWJhajk3cWGOoH>oJ[c]\fWcicclOOLh5`7<N`ila<6DMWV_bL6kQkC1"
A$ = A$ + "LQio<?VHIe\]NPSUFOQ[5>bjJIh[Qg_6kW`2^^VcZibFjo<nH5GPC`lJ`Sef"
A$ = A$ + "_l;o3o?j1Mn]SINn^7P9h3^NcjnljHLfh>hajc4HE[YiS9=O[IcgEVo1>HMF"
A$ = A$ + "66Chk^a:N<n[hh53Lle_g4OMLfl8S?L=>nk]`AFWOEob;M<o:lXnR<W`NT#["
A$ = A$ + "`i_LlKYWcccaGWCSg7k9XNPkFc]Vh7UghSaaMN\efGjhn^QW;_RWV?\3?jS;"
A$ = A$ + "6Jl`ajeS9FiJ8Jm:E?gL1beE<QGGV3<EkB[KiU>fGN1cG17:oPib;M3Vkcn["
A$ = A$ + "]niQ^`jHe?\WWRnTc_\N^[hSeE\6d47Qc3NJl`nPkk??VJmO=XYPGFW_`iR\"
A$ = A$ + "gDcAje0NDM2b7I^1WOM>fjjnJn?S9^F3cOZ?\ZW=i?cjkXYlBS9N^b:V^V_c"
A$ = A$ + "LNc1ji:7aOGao5N`\7Gh46;L]KT7cNQiHegKk;cTWRbGVZ]deX\`UG:NQ[;f"
A$ = A$ + "iK86kloCnEij<naSA3bJ?>>^>VcQKM5S[CnMM]ifCUmT]c;\emme1N\^n?de"
A$ = A$ + "X#o`]_DV_kh[i5P;LN?0;9>ae3G`ccWVW2FD_34OmjVh1H2_^Xghn]H?FmmU"
A$ = A$ + "i2UO`[k72L0]k>oN:7ediikD?GcAINW[Qca:[oC>:RYXEhHF[C1<\LGN^]Nm"
A$ = A$ + "jMXc9<?1\im9?1]Kc5\F\e8^3nhLCLMPcNOdGLLScI\ShWkkEm2kLB`KlaL^"
A$ = A$ + ">[a<M=Ci]\NRGGbg7h1a]El1N]cg<EC1h5HXW[GM3O=P1]F2l137S_oT?[nJ"
A$ = A$ + "MmfnJ\nSk=Yi3Pa6;]oH[1IlP_OPg_?jIo2WGOf8>eikkh7nlClSRa^>Ub3J"
A$ = A$ + "ODLmUPG]WTMnKi34[K_RWZmXi]LLg7W??_?l1K=3g3SV7JbK[c[17bJ?niHn"
A$ = A$ + "6aIZ7T_O^ol`SJOiiL=7Ue6\VMmmB>8g3IS5>?f4oYH6Hek:O`P5NN\kAKi1"
A$ = A$ + "TOZJ3NOO<SaCh2ji6?LmO4C\gFc=L=l>GFkSYS]6?VZiPSgJJ#cXjj_;efa?"
A$ = A$ + "X[YXLRF_AgWL863m[UgjN]hGofWBfB\cm6YJbV;dLknh>>jNhkJB0G;_Y[[8"
A$ = A$ + "_7P_LM_]LS9O#]7DCa`6gGO7nR_hg?VcRSGOIF[`NKkajlI^^FOX_?Q0K[n="
A$ = A$ + "eb<M?MiNTdj5mLQbChinf`AH=<H>Xk_Ti8lmRhjTVM7[[cl2Z3O5;\O1oJCL"
A$ = A$ + "_lYV;bHVi7fSUaTCjd=fglFFKcNOkmdRgOMm?7oFN]<#K]iS:_ahAmJI^ROM"
A$ = A$ + "<WYL3cA\nQeI\7;?GaJg>7_WokJk9Nfm;_`7OjNO`jk5C`[ecAKO]fGFgce1"
A$ = A$ + "F=4??gjkFKOGmP>6Jn`dLL`4?_dcEF7gehhJ48nHN1JSlhNO<<iEfnfZGHSm"
A$ = A$ + "mn8RmG_O?7lXaT9OCEcM:WD[=_ihhj]_:Z3H:gUO\i0lIbHg^J4LOZJMe>ob"
A$ = A$ + "^Jm:gYNb<G\m\Q]?bm6^[]bi=8>K_>CiVFG3i^J^]jCKb_\a57WI>Q_oi`C;"
A$ = A$ + "iI\6m^jUGGSi0f[TciH_JWdBlj<feVWgCS7`G^;g0Mcj_MZWjWh6\MB7W7kn"
A$ = A$ + "oB]6`1H[mRaaMnYFWNS;fkZa1N>63J>^^FiMM2]6R[i_HYeUNTeh5Ml67WlK"
A$ = A$ + "JmK7k=NhAe>\7PbA8V?E3Ze<J=RnnmRH#7XohLCP;PAfCTSQMoNOcIO^VSJ<"
A$ = A$ + "5]mkLoY#<Qi]4;[o5VSklH>?e4F`cah8io[?FkOXn]#GQlZlLZfQmCanPONm"
A$ = A$ + ":ZoDjE7iijlJkcZiiVlkJN67WgS[dAXWQ5CfYKK?[>7d>^1c]]>Ni2nhTCZn"
A$ = A$ + "j#W_N;Z?Wfk9RAT_kT6Na:[QDoC>VkgO`=SU<FGcMbEe_S^nPFgPa6S3E3_i"
A$ = A$ + "NVRm]>4k3NZ70f?3jl]7F6;JM7=fajnfn4bfYJgM]7]o8<gHB3RS][f`ngRA"
A$ = A$ + "[=PhBcgH=3`Sj_]i\VdULlgLYRW^n2S9]OiN[cOG]SF;Q_?M9W5m6Xi\:7ae"
A$ = A$ + "WG=WjgV?CWZ5aeefJ;LLNZ^^CNZZ^OaVR3<O`H2iiVZGTL?NhN\he`]aD?_W"
A$ = A$ + "jWK?1I=aWdfieXN\=6<i9cO6fU[Zc3kjMdHoT>Bef[>dT_=O==7W?>n`;VdN"
A$ = A$ + "WS^=l0FCaYNP`lId:\647SccXiTLN#_F:EGYikhLCi[lkAScCNHW`Vb30?kc"
A$ = A$ + "amj]l3jYH7CmX1_7CHR[W0]UYid6;lJNgijklSI<^i7giAfhgJkT_GdkVR1C"
A$ = A$ + "ik;fd7?QUV3ihkjHF?X_gX7cSYnJ[kKn\WoiLF4cZ_FR=`9hhCmC\nFKO6M="
A$ = A$ + "oXUK\OjeI:WEe^mlmYhnD<_hada>U_ceH2?Uh??Vjm<F\nnhG3lcjih4[0O\"
A$ = A$ + "WFhF`=VbAI]4WgJWOFS7W`eMJ85;HnfD\KBo^HDm2<EoMeThjJOR[>6a?R7\"
A$ = A$ + "n9N=XjmHGkiT[ScaG7o[f#aRYHMa7kg]mGaioZ6bT?c9L`aZCeSGn#iCCJD^"
A$ = A$ + "nS^N8lHjY1KiiiiJPM^GF^>mMnT<NhJcMl]L3[7ILZeWLE=;UOdoNFMlgcCg"
A$ = A$ + "YY_;WfEiYVl=dN;F_g>g:GgTVZeh[gO[KPfIeVMl_lXZEG=jZ]DNAW3dOcEl"
A$ = A$ + "mHVSYf_IcYM:f_;of4^HMn9<Rgkf3;^6h4MMX<7QScl[YN;eloCcgW6f[PGO"
A$ = A$ + "4ZAehe4NDnab_5i8LOXJ^nMnYVdD^3_HGo`f]F_X5cn>7T[K`miemNWJc]fC"
A$ = A$ + "a3h0=7h9\`[cB[=deA^[g`^6Mn]cQGg9>`ELRChd^lJnjFOGVhR5GHNVcQiJ"
A$ = A$ + "dmn^_DN0NI?^FGfmKdj4f3l^NkF?0=Wf4V`SK]P`g[VaEH`^LEChDaEl]Bm7"
A$ = A$ + "CNl\f5O>]N_mNI\HZWRM=YVjUUkGKaP9]W9lYHbM`3[OPomYk7QMnJ?YQgmi"
A$ = A$ + "eag7Y6gJMSN=A0gJ^:gW=OOGH\`[52eNH>C[93mTfCFGkA[UKROdjj_:OeJD"
A$ = A$ + "lPiX>G`DLNW6nMh>ne`g;kU;jkW1`WN<c7LoBXgRnNN`J<CmZ]e8<]n9=6Fn"
A$ = A$ + "a^QcQ]cSejL>O5n][?ZMj0Mnm9OEk`Dc=\>2_oCanZognNRn7?o^N]L=FKWW"
A$ = A$ + "CWcGNcDl_i[V`7SmklF=Q7^?RCha>_BCLQMJ?^Fm9mofC`nnEo_nm0ojd;G`"
A$ = A$ + "5G?a>mNO]Fk`e\?5cgQ7Ga5JmU5?FSeW1jk`^ii=?oSZc_S;IlJmnG_FM\[g"
A$ = A$ + "l<_Wmm_S34Wih>?V[Aam4_m:L:VOWLFneZ[?b^nUh_GWl4M7oCGQ3khHMn#k"
A$ = A$ + "EBmeJo1>Vje]ZeT<U_ae`ihV_?_#gN2G>UCbeW<igjDoBVFkY9>a9Na9?0dO"
A$ = A$ + "BkgZigLlOGmifOUel]_:[=P_17o\FcTW7RaLM^O8]^V[l?=QIEKZ[=hdgARI"
A$ = A$ + "kd3jlmkTkj4?aiS:FP^=L2VojW7OnWhB>NRf^[=dSf?hYj:?YG\cWeT7]Yj1"
A$ = A$ + "MoMM>[YNafN:NEM9nLljjlCClRZIEoFnNJLJm[LmOU;`iLn0l1H]V9nd9=4c"
A$ = A$ + "=Z7gN]5oW^W6FO?X^#VGMU^jEiX>]n9CHLaTR=]O:^?m`MljWkLGV?hn2ihN"
A$ = A$ + "koD[5gcYkLoYadjmfJcYF`ZW_>Oio4;gMoB_C;ac]?Yi?eGGkWXNJgMOJQ70"
A$ = A$ + "VoklE<ggHBgWhWo]C[j0Ge?ZCiY>mJ]>o^koZ^NMG=_NG>[9<M]UeSMgLn[N"
A$ = A$ + "?mJP`nhWbJ7nJL]<^>NkkbeRSnn^eEdahCe6^kjVdkgMon<ekRYNR_SG\3;Z"
A$ = A$ + "7]9lSLj`KfmgaC_?7lehLAnnU`eNHM4h2>_2LZYNW_[FlMhb>OGNoCgCengS"
A$ = A$ + "5RGkF3ZYl?Wd#Vb?aa?E3:i_jW3goTnlMmQ\_[U`mC1>2j\DWQaQnk;`9oEC"
A$ = A$ + "[ga4NLRKDO_liMBGm4OH7WaL\nl\_YeW_MiYhcE[?RmKoNjejeRfmAdeoeN8"
A$ = A$ + "FOEWFSYR7WbAI_gW`SePL0ecc^hn4?IjlWZoHW^nJ;N<jJd>E3YcA]R1]OE`"
A$ = A$ + "CFa2>6cCkmjhD]l6;fUGJG=9Cn1X^SCo=7PgAgkd9]f[h9mJfYI?QgP1ncAi"
A$ = A$ + "I4KK=k>V^>6aNbOimmm7TeDjnUgdjgiLklF1nD<i>o=4b_emkddWl3]S[L2C"
A$ = A$ + "L_WVjKBe4:oXO^Xf9nnKMJd88ninIe[gecio^0[G;>NoMJhD=R]nS[`2cAfU"
A$ = A$ + "3OBGO27:>E?CgQWHmh9mJ[=`ekJ^K=SP5eg[a3d^]n^i4lJhJh;FDmTF32_f"
A$ = A$ + "g5?H^VeJWbK_37:FLjJ?i]ZL3dfL_XaW<WWcQnAm0gn>Jo`Nn^kaKc=A]SU?"
A$ = A$ + "hlBCJ<>OeSlkc0go?Cl46m_9]MNIgUoJJ>o9>9HQe\I;aLN<HR[WgeThk78S"
A$ = A$ + "?mN?iD?5_ZG96K:oHmJMG\PaZ7GCOo?UcJga>Ec^SKnlnmU7glGLL_^96Clm"
A$ = A$ + "5Q_ON1oLmFL<RO>GVebkJI=QGClQW;g`3gOK[WOE?>fi9k46iib=6?U_dKml"
A$ = A$ + "OgG:N<eMklE]fkMeNH_0Wh1WZo[jh?GlPkC_VoHZ__]?RGY_L:?5[ij4W`J_"
A$ = A$ + "]O]L>_68DgW_o]\f=HU[Ygj6kZ=\SYjEVFCZgVOCbhnjm^i\JoZNTad_mR4G"
A$ = A$ + "m[;mkc[OQiB^f?bk0FhNQhNX#\bhl4VLEoBVjWnSF?nMeAlJfEOFG]>7EgOJ"
A$ = A$ + "=7_Rc0g0^YkOUmo26dkEGgk:kgU[Uh=iVV`RMieVjQeD_ZNGmKJ9cMJ>[CLT"
A$ = A$ + "N\MheSR;=o5mS2^1l1[U0ND__eOeTnb9naDOfGSYkcdgUoNF^f>e_X7M<ekg"
A$ = A$ + "VcZgCYkd_M>=WoghBe5PkhNTHoA^W_CNMWh9]NLkAci[NGP55GJ=fWF;g7E_"
A$ = A$ + "h>LVMn[ZWFSKeSUe80?PchLFfck>LXm>am:fJj__nmY6o9kRICnP_;VE=YF;"
A$ = A$ + "Ji>E;caNfgL7gO4g;AWcbl8S=eOl^OKA=VlXm4ii<Fe]OEOh;NLG>a9nQa:l"
A$ = A$ + "6i1jKESWSeOW\ZFQSo5[fE3Xa2G;^kWnkSlDCSk\fjk`TCHDm\i[clUE\XeT"
A$ = A$ + "KlXl4cGL_D:g`iWfYG0nP_k9?_L]O8`26>VMelnCmRgHaTfT?6aoNoGiof7Q"
A$ = A$ + "7dj2WZS\[32aiMm\jT7;GCnjeh3mogRH]MW`RWSo[YJJ>MM=GUa<Zecjgf?E"
A$ = A$ + "eBLN9?__gOLk`3[K\^^Gbo7B=e[fkP;CmhjAmEQ6?i^lJKB\dh1LPZOKlZ[]"
A$ = A$ + "adm8Wi:eSk;mo?_N4mTkb=fQY^WVClUjUbkG]4ogSSoo2BSc5;Ln\ZOlJ0;H"
A$ = A$ + "<M_^m^HH_]^fRfgUZQkHOkCRmG1gXo__Ym:LGM7nnBhedH=g0lhdjH]S3<e?"
A$ = A$ + "aFSQeamlMOO?HmlbEjS]nQ[5Qh]m3_KlBmog^k>FOnfMOdMUf\i4ChSO=K_A"
A$ = A$ + "le<U_Zm#YeKHmMk[eeJknd^>n[moO2K^bEiN^SfOe>lPed`l3n]<YeKDNAm="
A$ = A$ + "a_g<U_d17o>ggD_67k^O3_S7<j5eD_AZnMa]YjnJ=PP=C[IKcGiJDnHQC<aA"
A$ = A$ + ">aEN>N`8oTi0ESOWg:hCCnJWjI5l4gG`?FaRMhcMmOeenKJ^_eb=6ioWC#<e"
A$ = A$ + "eUglBFGIJ]VN=jMjM5N`h^hBej]V^cI]fgiE<6eofKVZi^m]RJ?nHCOhiR;\"
A$ = A$ + "Uee[LSM[;UmmBlfJ==7Ui9FSgnJ13Ho?Ei3?:_I57Vh=E3_LUjSMbS[[kfL4"
A$ = A$ + "NmH=Sno1n`EHAOlJk:OadmgK__kWlIinG=]N8XWlJ[o6O<<\V3[=Ia9b]=eG"
A$ = A$ + "4^VeSGNSl[g;mg]?U7Cl\??nlh]MlOPD%%L2"
btemp$ = ""
FOR i& = 1 TO LEN(A$) STEP 4: B$ = MID$(A$, i&, 4)
IF INSTR(1, B$, "%") THEN
FOR C% = 1 TO LEN(B$): F$ = MID$(B$, C%, 1)
IF F$ <> "%" THEN C$ = C$ + F$
NEXT: B$ = C$: END IF: FOR j = 1 TO LEN(B$)
IF MID$(B$, j, 1) = "#" THEN
MID$(B$, j) = "@": END IF: NEXT
FOR t% = LEN(B$) TO 1 STEP -1
B& = B& * 64 + ASC(MID$(B$, t%)) - 48
NEXT: X$ = "": FOR t% = 1 TO LEN(B$) - 1
X$ = X$ + CHR$(B& AND 255): B& = B& \ 256
NEXT: btemp$ = btemp$ + X$: NEXT
btemp$ = _INFLATE$(btemp$,m.SIZE)
_MEMPUT m, m.OFFSET, btemp$: _MEMFREE m
BASIMAGE2& = _COPYIMAGE(v&): _FREEIMAGE v&
END FUNCTION