REM "Bugs" version 1.02 by David Williams, 2006 REM Based on the 2006 Flash game 'Ladybug Sumo' REM Adapted for BBCSDL by Richard Russell, 2022 ProgTitle$ = "Bugs v1.02" ON CLOSE PROCCleanup : QUIT ON ERROR PROCCleanup : IF ERR = 17 CHAIN @lib$ + "../examples/tools/touchide" ELSE \ \ MODE 8 : PRINT '"An error has occurred: "; : REPORT : PRINT : END IF INKEY$(-256) = "W" THEN SYS "GetWindowLong", @hwnd%, -16 TO ws% SYS "SetWindowLong", @hwnd%, -16, ws% AND NOT &50000 MODE 8 `GetTicks` = SYS("GetTickCount") `SetTitle` = SYS("SetWindowText") `Affinity` = FALSE INSTALL @lib$ + "hqsound" PROC_hqinit PROC_voice(1,1) PROC_voice(2,6) PROC_voice(3,3) ELSE MODE 8 WinW% = 640 : WinH% = 512 `GetTicks` = SYS("SDL_GetTicks") `SetTitle` = SYS("SDL_SetWindowTitle") `Affinity` = @memhdc% *VOICE 1,1 *VOICE 2,6 *VOICE 3,3 *STEREO 0,-127 *STEREO 1,-43 *STEREO 2,43 *STEREO 3,127 *HEX 64 ENDIF INSTALL @lib$ + "imglib" : PROC_imgInit OFF SYS `SetTitle`, @hwnd%, ProgTitle$, `Affinity` MaxBugs% = 40 DIM Weed{(99)x%,y%}, Tune%%(3), Index%(3), Total%(3) DIM Tune%%(0) 2400, Tune%%(1) 2400, Tune%%(2) 2400, Tune%%(3) 2400 DIM Background%% 640*512+1078 DIM Bug{(MaxBugs%-1) active%,xpos,ypos,angle,spin,speed,flashing%} PROCPleaseWait PROCLoadData("HEADER", Background%%, 1078) PROCLoadData("TUNE1", Tune%%(1), 2018) PROCLoadData("TUNE2", Tune%%(2), 1036) PROCLoadData("TUNE3", Tune%%(3), 1046) PROCLoadData("TUNE4", Tune%%(0), 2382) PROCSaveData("BUGSLOGO", @tmp$ + "bugslogo.gif", 7260) PROCSaveData("BUG", @tmp$ + "bugsprite.gif", 1913) PROCGenerateBackgroundBitmap(Background%% + 1078) Display$ = "MDISPLAY " + STR$~Background%% Bug%% = FN_imgLoad(@tmp$ + "bugsprite.gif") Logo%% = FN_imgLoad(@tmp$ + "bugslogo.gif") *TEMPO 1 ENVELOPE 1, 1, 0, 0, 0, 1, 1, 1, 32, 0, 0, -2, 126, 64 ENVELOPE 2, 1, 0, 0, 0, 1, 1, 1, 32, 0, 0, -8, 96, 64 ENVELOPE 3, 1, 0, 0, 0, 1, 1, 1, 128, -2, -1, -8, 112, 96 ENVELOPE 4, 1, 0, 0, 0, 1, 1, 1, 32, -8, -8, -8, 32, 0 ENVELOPE 5, 1, 0, 0, 0, 1, 1, 1, 64, -8, -8, -8, 64, 0 ENVELOPE 6, 1, 0, 0, 0, 1, 1, 1, 96, -16, -16, -8, 96, 0 ENVELOPE 7, 1, 0, 0, 0, 1, 1, 1, 128, -16, -16, -8, 126, 0 ENVELOPE 8, 1, 5, -10, 4, 1, 1, 1, 32, 0, 0, -32, 96, 0 ENVELOPE 9, 1, 0, 0, 0, 1, 1, 1, 126, -4, -4, -32, 126, 64 ENVELOPE 10, 6, 5, -10, 5, 1, 1, 1, 32, 0, 0, -32, 96, 0 ENVELOPE 11, 6, 5, -10, 4, 1, 1, 1, 32, 0, 0, -32, 96, 0 ENVELOPE 12, 5, 5, -10, 4, 1, 1, 1, 32, 0, 0, -32, 96, 0 SOUND 0, 0, 0, 0 NumBugs% = 2 *REFRESH OFF REPEAT SYS `SetTitle`, @hwnd%, ProgTitle$, `Affinity` SOUND OFF PROCTitlePage PROCPleaseWait Index%() = 0 : Total%() = 0 ON TIME PROCPlayMusic : RETURN PROCMain ON TIME OFF PROCGameOver UNTIL FALSE END DEF PROCMain LOCAL flashtime%,flashphase%,bugsflashing%,bugsremaining%,newlevel%,gameover% LOCAL refx%,refy%,cmpx%,cmpy%,frames%,tick1%,tick2%,msx%,msy%,msbtn%,dist%,I%,J% SYS `GetTicks` TO tick1% REPEAT flashtime% = 0 flashphase% = TRUE bugsflashing% = FALSE bugsremaining% = NumBugs% newlevel% = FALSE gameover% = FALSE PROCNewGame(NumBugs%) REPEAT MOUSE msx%,msy%,msbtn% IF msbtn%<>0 AND bugsremaining%>1 THEN FOR I% = 0 TO NumBugs%-1 IF Bug{(I%)}.active% THEN Bug{(I%)}.xpos += Bug{(I%)}.speed*SINRAD(-Bug{(I%)}.angle) Bug{(I%)}.ypos += Bug{(I%)}.speed*COSRAD(-Bug{(I%)}.angle) dist% = SQR((Bug{(I%)}.xpos-320)^2+(Bug{(I%)}.ypos-256)^2) IF dist%>220 THEN gameover% = TRUE ENDIF ENDIF NEXTI% FOR I% = 0 TO NumBugs%-1 IF Bug{(I%)}.active% THEN refx% = Bug{(I%)}.xpos refy% = Bug{(I%)}.ypos FOR J% = 0 TO NumBugs%-1 IF J%<>I% AND Bug{(J%)}.active% THEN cmpx% = Bug{(J%)}.xpos cmpy% = Bug{(J%)}.ypos dist% = SQR((refx%-cmpx%)^2+(refy%-cmpy%)^2) IF dist%<=28 THEN PROCCollide bugsremaining% -= 1 IF RND(2)-2 THEN Bug{(I%)}.active% = FALSE Bug{(J%)}.flashing% = 30 ELSE Bug{(J%)}.active% = FALSE Bug{(I%)}.flashing% = 30 ENDIF ENDIF ENDIF NEXT J% ENDIF NEXT I% ENDIF bugsflashing%=FALSE OSCLI Display$ FOR I% = 0 TO NumBugs%-1 IF Bug{(I%)}.active% THEN IF msbtn%=0 THEN IF RND(10)=1 THEN Bug{(I%)}.spin += (-2+RND(3))/10 ENDIF IF bugsremaining%>1 THEN IF ABSBug{(I%)}.spin<1 THEN Bug{(I%)}.spin = SGNBug{(I%)}.spin ENDIF Bug{(I%)}.angle += Bug{(I%)}.spin ENDIF IF Bug{(I%)}.angle>=360 Bug{(I%)}.angle -= 360 IF Bug{(I%)}.angle<0 Bug{(I%)}.angle += 360 ENDIF IF Bug{(I%)}.flashing%>0 THEN bugsflashing%=TRUE ENDIF IF Bug{(I%)}.flashing%=0 OR (Bug{(I%)}.flashing%>0 AND flashphase%) THEN PROC_imgPlot(Bug%%, 2*Bug{(I%)}.xpos, 2*(@size.y%-Bug{(I%)}.ypos), 1.0, 1.0, Bug{(I%)}.angle) IF Bug{(I%)}.flashing%>0 THEN Bug{(I%)}.flashing% -= 1 IF Bug{(I%)}.flashing%<0 THEN Bug{(I%)}.flashing%=0 ENDIF ENDIF ENDIF ENDIF NEXT I% flashtime% -= 1 IF flashtime%<0 THEN flashphase% = NOTflashphase% flashtime% = 2 ENDIF IF bugsremaining%<2 AND NOT bugsflashing% THEN newlevel% = TRUE ENDIF frames% += 1 SYS `GetTicks` TO tick2% IF tick2%-tick1% >= &3E8 THEN SYS `SetTitle`, @hwnd%, ProgTitle$ + " | FPS=" + STR$frames%, `Affinity` frames% = 0 SYS `GetTicks` TO tick1% ENDIF *REFRESH IF INKEY(-256)=&57 WAIT 1 UNTIL newlevel% OR gameover% IF newlevel% THEN IF NumBugs%2 NumBugs% -= 1 SOUND &11,0,0,0 : SOUND &12,0,0,0 SOUND 1,10,200,30 SOUND 1,11,200,80 SOUND 2,12,250,100 ENDPROC DEF PROCCollide ON TIME LOCAL OFF SOUND &10,9,5,30 : SOUND &11,8,204,30 : SOUND &12,0,0,30 : SOUND &13,0,0,30 PROCResumeMusic ENDPROC DEF PROCPlayMusic LOCAL chan%,pitch%,dur% FOR chan% = 0 TO 3 WHILE ADVAL(-5-chan%) pitch% = Tune%%(chan%)?Index%(chan%) : Index%(chan%) += 1 dur% = Tune%%(chan%)?Index%(chan%) : Index%(chan%) += 1 IF pitch% THEN IF chan% THEN SOUND chan%, chan%, pitch%, dur% ELSE SOUND 0, pitch%, 5, dur% ENDIF ELSE SOUND &1000 + chan%, chan%, 0, dur% ENDIF Total%(chan%) += dur% IF Index%(chan%) >= 2400 THEN Index%() = 0 : Total%() = 0 SOUND &10,0,0,0:SOUND &11,0,0,0:SOUND &12,0,0,0:SOUND &13,0,0,0 ENDIF ENDWHILE NEXT ENDPROC DEF PROCResumeMusic LOCAL chan%,min% min% = &7FFFFFFF FOR chan% = 0 TO 3 IF Total%(chan%) < min% min% = Total%(chan%) NEXT FOR chan% = 0 TO 3 WHILE Total%(chan%) >= min% Index%(chan%) -= 2 Total%(chan%) -= Tune%%(chan%)?(Index%(chan%) + 1) ENDWHILE Total%(chan%) += Tune%%(chan%)?(Index%(chan%) + 1) Index%(chan%) += 2 NEXT chan% FOR chan% = 0 TO 3 SOUND chan%, 0, 0, Total%(chan%) - min% NEXT PROCPlayMusic ENDPROC DEF PROCPleaseWait COLOR 0,0,51,0 GCOL 0 CLG VDU 5 MOVE 540,586 GCOL 2 OSCLI "FONT """ + @lib$ + "DejaVuSans"", 12, B" PRINT "Please wait..." *FONT VDU 4 GCOL 0 *REFRESH ENDPROC DEF PROCTitlePage LOCAL go%,invert%,phase%,msx%,msy%,msbtn%,t$ GCOL 0 CLG PROC_imgPlot(Logo%%, 640, 700, 1.0, 1.0, 0.0) VDU 5 OSCLI "FONT """ + @lib$ + "DejaVuSans"", 14" GCOL 3 t$ = "Make the bugs walk into each other." MOVE 640-WIDTH(t$) DIV 2,440 : PRINT t$; t$ = "If any fall off the playing area, then it's Game Over." MOVE 640-WIDTH(t$) DIV 2,370 : PRINT t$; GCOL 6 OSCLI "FONT """ + @lib$ + "DejaVuSans"", 10" t$ = "Click mouse button or touch to make the bugs move." MOVE 640-WIDTH(t$) DIV 2,260 : PRINT t$; *FONT OSCLI "FONT """ + @lib$ + "DejaVuSans"", 24, B" REPEAT MOUSE msx%, msy%, msbtn% IF TIME>40 THEN TIME = 0 invert% = TRUE ENDIF IF invert% THEN invert% = FALSE phase% EOR=1 VDU 5 GCOL phase% + 2 MOVE 550,156 : PRINT "GO !"; VDU4 ENDIF IF msbtn%<>0 AND msx%>570 AND msx%<716 AND msy%>90 AND msy%<156 THEN go%=TRUE ENDIF *REFRESH UNTIL INKEY(1)=0 OR go% AND msbtn%=0 SOUND 1,-10,220,5 ENDPROC DEF PROCGameOver LOCAL pts%,t$,wide%,high% GCOL 1 VDU 5 pts% = 72 REPEAT OSCLI Display$ OSCLI "FONT """ + @lib$ + "DejaVuSans""," + STR$pts% t$ = "GAME OVER" wide% = WIDTH(t$) DIV 2 high% = @char.y% MOVE 2*(320-wide%/2),2*(302-high%/2) : PRINT t$; *FONT pts% -= 2 *REFRESH IF INKEY(-256)=&57 WAIT 1 UNTIL pts%<28 VDU 4 PROCDelay(1000) ENDPROC DEF PROCNextLevel LOCAL pts%,Z%,high%,wide%,t$ ON TIME LOCAL OFF GCOL 3 VDU 5 pts% = 2 REPEAT OSCLI Display$ OSCLI "FONT """ + @lib$ + "DejaVuSans""," + STR$pts% t$ = "NEXT LEVEL" wide% = WIDTH(t$) DIV 2 high% = @char.y% MOVE 2*(320-wide%/2),2*(348-high%/2) : PRINT t$; *FONT pts% += 4 *REFRESH IF INKEY(-256)=&57 WAIT 1 UNTIL pts%>=48 VDU 4 SOUND &10,0,0,0 : SOUND &11,0,0,0 : SOUND &12,0,0,0 : SOUND &13,0,0,0 FOR Z% = 220 TO 252 STEP 4 SOUND 1,-15,Z%,5 NEXT Z% SOUND &11,0,0,0 PROCResumeMusic ENDPROC DEF PROCNewGame(numbugs%) LOCAL I%,dist%,angle%,separation%,apart%,x%,y%,J% FOR I% = 0 TO numbugs%-1 Bug{(I%)}.active% = TRUE Bug{(I%)}.angle = 360*RND(1) Bug{(I%)}.speed = 3+0.5*RND(1) Bug{(I%)}.flashing% = 0 Bug{(I%)}.spin = 2+5*RND(1) IF RND(2)-2 Bug{(I%)}.spin *= -1 IF I%=0 THEN dist% = RND(180) angle% = RND(360) Bug{(0)}.xpos = 320+dist%*SINRADangle% Bug{(0)}.ypos = 256+dist%*COSRADangle% ELSE REPEAT apart% = TRUE dist% = RND(180) angle% = RND(360) x% = 320+dist%*SINRADangle% y% = 256+dist%*COSRADangle% FOR J% = 0 TO numbugs%-1 IF J%<>I% THEN separation% = SQR((x%-Bug{(J%)}.xpos)^2+(y%-Bug{(J%)}.ypos)^2) IF separation%<=40 THEN apart% = FALSE J% = numbugs% ENDIF ENDIF NEXT J% UNTIL apart% Bug{(I%)}.xpos = x% Bug{(I%)}.ypos = y% ENDIF NEXT I% ENDPROC DEF PROCGenerateBackgroundBitmap(dib%%) LOCAL I%,J%,R%,dist%,angle%,angle,x%,y% R% = 210 FOR I% = 0 TO 99 angle% = RND(360) dist% = R%+RND(160) Weed{(I%)}.x% = 320+dist%*SINRADangle% Weed{(I%)}.y% = 256+dist%*COSRADangle% NEXT I% FOR I% = 0 TO 81920-1 dib%%!(4*I%) = &FFFFFFFFCBCBCBCB NEXT I% FOR I% = 1 TO 100 FOR J% = 0 TO 99 Weed{(J%)}.x% += 2*(-2+RND(3)) Weed{(J%)}.y% += 2*(-2+RND(3)) IF Weed{(J%)}.x%>=0 AND Weed{(J%)}.x%<640 AND Weed{(J%)}.y%>=0 AND Weed{(J%)}.y%<512 THEN dib%%?(Weed{(J%)}.x%+640*Weed{(J%)}.y%)=176 ENDIF NEXT J% NEXT I% FOR angle = 0 TO 180 STEP 0.25 x% = 316-R%*SINRADangle y% = 252+R%*COSRADangle FOR I% = 0 TO 2*ABS(316-x%) dib%%?(x%+I%+&280*y%) = 0 NEXT I% NEXT angle FOR angle = 0 TO 180 STEP 0.25 x% = 320-R%*SINRADangle y% = 256+R%*COSRADangle FOR I% = 0 TO 2*ABS(320-x%) dib%%?(x%+I%+&280*y%) = &80 NEXT I% NEXT angle FOR I% = 1 TO 5 FOR angle% = 0 TO 360 x% = 320+34*I%*SINRADangle% y% = 256+34*I%*COSRADangle% dib%%?(x%+640*y%) = 85 dib%%?(x%-2+640*(y%+2)) = 176 NEXT angle% NEXT I% FOR angle% = 0 TO 15 FOR dist% = 0 TO R%-1 STEP 4 x% = 320+dist%*SINRAD(22.5*angle%) y% = 256+dist%*COSRAD(22.5*angle%) dib%%?(x%+640*y%) = 85 dib%%?(x%-2+640*(y%+2)) = 176 NEXT dist% NEXT angle% dist% = R% FOR I% = 0 TO 16 FOR angle% = 0 TO 360 x% = 320+dist%*SINRADangle% y% = 256+dist%*COSRADangle% IF x%>=0 AND x%<640 AND y%>=0 AND y%<512 THEN dib%%?(x%+640*y%) = 0 ENDIF NEXT angle% dist% += 2*I% NEXT I% ENDPROC DEF PROCLoadData(label$, addr%%, size%) LOCAL byte%,dat$ PROCFindData(label$) REPEAT READ dat$ FOR byte% = 0 TO LEN(dat$) DIV 2 - 1 ?addr%% = EVAL("&" + MID$(dat$, 2*byte% + 1, 2)) addr%% += 1 : size% -= 1 NEXT byte% UNTIL size% <= 0 ENDPROC DEF PROCSaveData(label$, file$, size%) LOCAL file%,byte%,dat$ PROCFindData(label$) file% = OPENOUT(file$) IF file% = 0 ERROR 0, "Couldn't create file " + file$ REPEAT READ dat$ FOR byte% = 1 TO LEN(dat$) DIV 2 BPUT#file%, EVAL("&" + MID$(dat$, 2*byte% - 1, 2)) size% -= 1 NEXT byte% UNTIL size% <= 0 CLOSE #file% ENDPROC DEF PROCFindData(label$) LOCAL dat$ RESTORE REPEAT READdat$ UNTIL dat$=label$ OR dat$="-/-" IF dat$="-/-" THEN ERROR0,"DATA statement label ("+label$+") not found" ENDPROC DEF PROCDelay(delay%) LOCAL tick1%,tick2% SYS `GetTicks` TO tick1% REPEAT SYS `GetTicks` TO tick2% UNTIL INKEY(1)=0 OR (tick2%-tick1%)>=delay% ENDPROC DEF PROCCleanup VDU 4 *REFRESH ON SOUND OFF PROC_imgExit ENDPROC DATA "HEADER" DATA 424D380405000000000036040000280000008002000000020000010008000000000000000000120B0000120B0000000000 DATA 000000000000000000CCFFFF0099FFFF0066FFFF0033FFFF0000FFFF00FFCCFF00CCCCFF0099CCFF0066CCFF0033CCFF00 DATA 00CCFF00FF99FF00CC99FF009999FF006699FF003399FF000099FF00FF66FF00CC66FF009966FF006666FF003366FF0000 DATA 66FF00FF33FF00CC33FF009933FF006633FF003333FF000033FF00FF00FF00CC00FF009900FF006600FF003300FF000000 DATA FF00FFFFCC00CCFFCC0099FFCC0066FFCC0033FFCC0000FFCC00FFCCCC00CCCCCC0099CCCC0066CCCC0033CCCC0000CCCC DATA 00FF99CC00CC99CC009999CC006699CC003399CC000099CC00FF66CC00CC66CC009966CC006666CC003366CC000066CC00 DATA FF33CC00CC33CC009933CC006633CC003333CC000033CC00FF00CC00CC00CC009900CC006600CC003300CC000000CC00FF DATA FF9900CCFF990099FF990066FF990033FF990000FF9900FFCC9900CCCC990099CC990066CC990033CC990000CC9900FF99 DATA 9900CC99990099999900669999003399990000999900FF669900CC66990099669900666699003366990000669900FF3399 DATA 00CC33990099339900663399003333990000339900FF009900CC00990099009900660099003300990000009900FFFF6600 DATA CCFF660099FF660066FF660033FF660000FF6600FFCC6600CCCC660099CC660066CC660033CC660000CC6600FF996600CC DATA 99660099996600669966003399660000996600FF666600CC66660099666600666666003366660000666600FF336600CC33 DATA 660099336600663366003333660000336600FF006600CC00660099006600660066003300660000006600FFFF3300CCFF33 DATA 0099FF330066FF330033FF330000FF3300FFCC3300CCCC330099CC330066CC330033CC330000CC3300FF993300CC993300 DATA 99993300669933003399330000993300FF663300CC66330099663300666633003366330000663300FF333300CC33330099 DATA 333300663333003333330000333300FF003300CC00330099003300660033003300330000003300FFFF0000CCFF000099FF DATA 000066FF000033FF000000FF0000FFCC0000CCCC000099CC000066CC000033CC000000CC0000FF990000CC990000999900 DATA 00669900003399000000990000FF660000CC66000099660000666600003366000000660000FF330000CC33000099330000 DATA 663300003333000000330000FF000000CC0000009900000066000000330000000000000009050F0035111900502020000E DATA 0606001A0B0A0000151C00007EC5000088DE00002852000054C800001533000042BB00003AAC00002A900000247B000013 DATA 4D00000823000026E40000116200000311000022D000001FBF00001BAF0000199E0000168F0000137E0000127000000F5C DATA 00000D5300000C4C00000A420000083400000D6900000108000002540000024C0000027A0000025D00000142000B0B3600 DATA "BUG" DATA 47494638396130003000F70031000000FFFFCCFFFF99FFFF66FFFF33FFFF00FFCCFFFFCCCCFFCC99FFCC66FFCC33FFCC00 DATA FF99FFFF99CCFF9999FF9966FF9933FF9900FF66FFFF66CCFF6699FF6666FF6633FF6600FF33FFFF33CCFF3399FF3366FF DATA 3333FF3300FF00FFFF00CCFF0099FF0066FF0033FF0000CCFFFFCCFFCCCCFF99CCFF66CCFF33CCFF00CCCCFFCCCCCCCCCC DATA 99CCCC66CCCC33CCCC00CC99FFCC99CCCC9999CC9966CC9933CC9900CC66FFCC66CCCC6699CC6666CC6633CC6600CC33FF DATA CC33CCCC3399CC3366CC3333CC3300CC00FFCC00CCCC0099CC0066CC0033CC000099FFFF99FFCC99FF9999FF6699FF3399 DATA FF0099CCFF99CCCC99CC9999CC6699CC3399CC009999FF9999CC9999999999669999339999009966FF9966CC9966999966 DATA 669966339966009933FF9933CC9933999933669933339933009900FF9900CC99009999006699003399000066FFFF66FFCC DATA 66FF9966FF6666FF3366FF0066CCFF66CCCC66CC9966CC6666CC3366CC006699FF6699CC66999966996666993366990066 DATA 66FF6666CC6666996666666666336666006633FF6633CC6633996633666633336633006600FF6600CC6600996600666600 DATA 3366000033FFFF33FFCC33FF9933FF6633FF3333FF0033CCFF33CCCC33CC9933CC6633CC3333CC003399FF3399CC339999 DATA 3399663399333399003366FF3366CC3366993366663366333366003333FF3333CC3333993333663333333333003300FF33 DATA 00CC33009933006633003333000000FFFF00FFCC00FF9900FF6600FF3300FF0000CCFF00CCCC00CC9900CC6600CC3300CC DATA 000099FF0099CC0099990099660099330099000066FF0066CC0066990066660066330066000033FF0033CC003399003366 DATA 0033330033000000FF0000CC0000990000660000330000000F050919113520205006060E0A0B1A1C1500C57E00DE880052 DATA 2800C85400331500BB4200AC3A00902A007B24004D1300230800E42600621100110300D02200BF1F00AF1B009E19008F16 DATA 007E13007012005C0F00530D004C0C00420A00340800690D000801005402004C02007A02005D0200420100360B0B21F904 DATA 09000000002C00000000300030000008FE0001081C48B0A0C18308132A5C98AFE1BA7AF6ECAD6B986FA1458BF9D6DDDB68 DATA 8F5E3D7A1B374EBC489260468E11EDCDA3372FA53D91154B32BC17B1DE477A38D5D1D389D323C49731651AD458B3E7BCA3 DATA F876AA3BDAF3E7BDA025B70D246A93E551755875E2CB7A74A5CD97EB064A55B84DDBAA6DF968569DA70E9FBCB770E7C185 DATA BBD52BC4A7DB56691B7BB0ECAA6CFFECDDEC0A379E6179720DC77B8BAFAB4F7BFFB2E9E57B909BB6C08259D2D347CFAD62 DATA C3EAE299532C0F1F67CDF422FED3C60D634DB6F466CDF2B7AF5F3C78B8E5D9BB8D3B5EBF7DFE66EF9CF7136AC275999702 DATA F747BB1FBE77D0E3DD8B07FD9D3C7DFA98D3660A31EC428D37B1FE2EF7879D5FF578FEA843E7875DFB3EAC38EBDDF38E90 DATA 284B75A5E791D7F7E8113F7700C6B31B80EEF0F3483FEDF5F3D652A9CD97905AF7C9138F69FC3D429D3BEDB4038F3FF064 DATA E8CE3BFCF083A03EF82CC6E05D0F0AC69667F1F4E7DF1A1866088F3D1D7AB84688FD1D56178A07E523583DCCD523213CEF DATA 1019233B48C253CF3B48B2E32174BDC5A38F3DB308668F7102F908A46CE9E1F60E8019B6D3E486F0A48364981F16098F3C DATA C1550911960068790F3AB3C9E3259862B2934E3AEF2CB9A7991E02D85B70E8F8F3E641C8D934DB3EBC7D8921927FF6F9CE DATA 9F670208653CC0B9299141697D545568773EAA673A1DBCB3CFA41D98E9A4A5BDE9C4994DFE4F15D4294BF894186A9E7FF2 DATA E927A5AB7ED85BAD5EC56AD23D1FCDE3196E447E0969A4BBAA7A449A51BE15AC71B3EE44977FFCC0B86CA9A792AAAA3B37 DATA F2830F3F8CF1241F54DB6C834D726EF58320B68F323BE99EABE2881D89F2E8041136E90A94975EECD2B35F7FD9AE21E69E DATA A6CE9BCE116BDCD89F3EC091A8AF3D929D259036DA6493D951C0ED536188DA26594F9948828BE388DB794531C662A5BB71 DATA 76CCE9D30FC10D37F98E3D4C22D9B081078EA7D9BEFD16A4D64ADAEDD70FC861CE58633B208AD85E70FEB0C4E341100A3C DATA 1B6D32FBF76586E8C563A381082E37CB3EF1BD741C4D38EDC3E5C0E61128603C0482F8C8D3C1DD049642E0E154B4FEC7B7 DATA 55B7E16CC91679DD7864C34ADF711B6FD68FB1C8E2860FD4F8340E0F3EEE9EE6D1A6AEA9D856AD86E10624957446B44F6F DATA 8CED18119C88A21DA1B4F69033CE0E35D4F0CD0EE390A352B92BA586F94569FD781F56B3A833CE38E17C637C38C3E3830E DATA 5765A3837A7D6A15BB123AF2B8FEFA0EB4D72ECF2CC33DE6A05000FC133D3DEBCC538639EA9433FC38E5CC534E19EAACE3 DATA FD3FE00F041866F53C540EFA6590E30E39F0334739C8F7937F44A67E00C84B36B241137BA0C31EE6988739C8418E77D4CE DATA 1CE73047FE22728F055AAC7EACC9D23AD0A1910996831CF02843FFCC310B8D8C0400964160020B32427494617F6548613C DATA CA510E7490B0205A94912100D631117494431E4794903904D88D8C1C4E8853491F00CD811C732CAE1FE690883956183F28 DATA 12641DEA2843387A384462E9433E61316238E0F74428A223115F10C740F251A55904451C5F48043ABCC8C73EFA31210101 DATA 003B DATA "BUGSLOGO" DATA 47494638396140013C00F7D731FFFFFFFFFFCCFFFF99FFFF66FFFF33FFFF00FFCCFFFFCCCCFFCC99FFCC66FFCC33FFCC00 DATA FF99FFFF99CCFF9999FF9966FF9933FF9900FF66FFFF66CCFF6699FF6666FF6633FF6600FF33FFFF33CCFF3399FF3366FF DATA 3333FF3300FF00FFFF00CCFF0099FF0066FF0033FF0000CCFFFFCCFFCCCCFF99CCFF66CCFF33CCFF00CCCCFFCCCCCCCCCC DATA 99CCCC66CCCC33CCCC00CC99FFCC99CCCC9999CC9966CC9933CC9900CC66FFCC66CCCC6699CC6666CC6633CC6600CC33FF DATA CC33CCCC3399CC3366CC3333CC3300CC00FFCC00CCCC0099CC0066CC0033CC000099FFFF99FFCC99FF9999FF6699FF3399 DATA FF0099CCFF99CCCC99CC9999CC6699CC3399CC009999FF9999CC9999999999669999339999009966FF9966CC9966999966 DATA 669966339966009933FF9933CC9933999933669933339933009900FF9900CC99009999006699003399000066FFFF66FFCC DATA 66FF9966FF6666FF3366FF0066CCFF66CCCC66CC9966CC6666CC3366CC006699FF6699CC66999966996666993366990066 DATA 66FF6666CC6666996666666666336666006633FF6633CC6633996633666633336633006600FF6600CC6600996600666600 DATA 3366000033FFFF33FFCC33FF9933FF6633FF3333FF0033CCFF33CCCC33CC9933CC6633CC3333CC003399FF3399CC339999 DATA 3399663399333399003366FF3366CC3366993366663366333366003333FF3333CC3333993333663333333333003300FF33 DATA 00CC33009933006633003333000000FFFF00FFCC00FF9900FF6600FF3300FF0000CCFF00CCCC00CC9900CC6600CC3300CC DATA 000099FF0099CC0099990099660099330099000066FF0066CC0066990066660066330066000033FF0033CC003399003366 DATA 0033330033000000FF0000CC0000990000660000330000000132000232010332020533020634030935040B37050E3B0713 DATA 410A1A490D2B6015254E132A56155EBD2F4C992634691A64C83261C23160C0305CB82E59B32D56AC2B51A2294A9425458A DATA 234182213F7F203D7B1F38701C1D3B0F3B761D63C5314F9D2743852123451154A72A488F24305F18203F101C370E2C0000 DATA 000040013C000008FE00A30914D8ED9B4170E0C285FBE6CDDBB66C03234A9C48B1A2C58B18336ADCC8B1A3C78F20438A1C DATA 4972A2366E05BF2144180EDC368EDDC0F59B79CEDEBC79F4E8D9B4278E9CB89E08BF71DBA60D5BC9A348932A5DCAB4A9D3 DATA 8DDEC8D1B467EF9CCE79F1C66DDC168E9CD578F0F8F17B67CEDC3B77EFDE8585974F5EBC78F6E8D53C276EDCB896DEBA11 DATA 35FAB4AFDFBF800387C4B68D9BB7950A13774D0CCEE0B770F46E86158BCF2C3E78E13482B38A155F3B76FBD6AD63279A5D DATA B972ECD8B57387CF1D5A7E66D3B29D6733E74F72E418EB15CCBBB7EFDF1DB1C54C38B39FDCC858E1C9CBC72F1ED67CF026 DATA 5BDEB7AF5DBBD1A5CD7DC3D86D1C3D79FCF0FEB153A7AEDC3D74E8D3DDB383CE4EBA72E5CB896E275F356B7CD4F1E17B07 DATA 9B3F3CE7F2F024CE427C0167E08108327518385259650F7462BDA31F7EFAE5875F6AA97D46DA3AE8A4E3613AEAA0530E3F DATA 1055944D38F6C4C3CF67E6DDA39E3A2EAEA31E7AF7AC77DE8DE8DC03A38EEABCB72169ED58781F3FD1F1B45D824826E911 DATA 364C66B3CD36DD348450374E6953904FFD9C330F78E6B416248BF0AD538E87A7A523DA9863AA775E7CEAAC734F39ED6855 DATA D137DF99131A99EB04B98F6B12B6561D86F2B909623A34125A237A6CA6435A6AA351E71A3FE78053524ADEA8A45838E304 DATA E55837DA9C4454894AFE85CD49517E13653705753314A8267D438E5DFEC5E94495384C6153294DF4A8585968628278687A DATA 2E1EEA9E876F9E862168EEEC695D3BF8BC34D189F6C0B30FA122A295CF4D7265995364604D76966B9F8956DA9835EAE861 DATA 8E3ABAD8A38FFB9873CE912071E32A6E565D258F3C58E1EB1C5539D5760E5D3ED5955B38549AA44D614FA29AD7934F76CA DATA 70C3D91CCC70C49D1EEC54360525449C55F56E7B9C5C3F8DF38DB30265932567F9C403DD5AF01E25AFB6F3E4F34E752CA2 DATA 67F37BEFB5992769A77D49DD3E69B535CFBFFD82F58E9C127953D33BF4BDB74F3EF6F4F3AA3FF5D4A38F5DFEE8831B6EE2 DATA 686B93CA605136A175188A39668F367798A739487B24534D318795566B14BA56196564F1C39CFE58D1DD1B0F3D0547B40D DATA 38B04A35935C1DC785B84EC7295E15E27479935436F22274724E31AB181D6CE610997778662947974BDDA408CFDCC97ED9 DATA 8E3C490D6E5CB45D9A56A387E3E6E95A976CBDC596DE6FEDF4AFD4E4E873B5F03EDDC4AA4056BA3A4F74EF64158E3FFF40 DATA FFCF3F55D7337DF4FE50AD4FD676E136CEE5C761951CE7EE842B268D3AB243CE47DC6419AD9FCB9A2D2ECF678A9927D9A0 DATA E9E70E3C240FF40DC737491178C4121BB298C51C93E90F9198A796FF6486241853895474E29CB0D949438B52CD7540739D DATA 75B8E63E69B9609052239F1A91671FDC384A4C8C23B3EB84C80E6F528D7EFE0335C40DAC2733918A54EC328EED518F7AFE DATA D6B31EF5C8410F4971841B41145EF684B7BDA1304C2F187B124AE4C5C4EEBDAA6BE2209A3C98678EEBC8C73CED782047C0 DATA 410FE6B88334E752578FCE53284311CA8DEFA98F3928228E001ACD35D4518D1EF324A69FEDE3587FFC4C90DC35928C5D2E DATA 66FC608D3B6AB78E101DCA576AA2DD6836041FF8A8A93D9744873A6845126E40265AC922978BD8B11FA8D9A3250CD18B36 DATA 24E2A48715461BD5ABDAD5B277BD7F90C3881BE1C6F4FC819B9365A91F2DBB0844B0E1A48545898959EB654DB66827F3B8 DATA A37F18D1C638E431B346AA894766224D9BCA432CF9C0A843E7395B39E041910745073F9F8191237F65B31EC1275D392B47 DATA 8EDEC33A906CC31BE1FE38877196030FCFD0078DDF248F3B61743635C5878D396A0FBACC851AB235921F24199C964E371E DATA 18DAEE5AF458C8C842E2B064E6701CD2AB073802174D5DFA631C28BB565C82099256EE7289E3F04A8ACC211A4E6AE47FD4 DATA 1CCF7BE6E38EB270AE327DDA13B80239C9D3ACC3A603E14622F1E3A6B4A9AB4C3382678DCA34BBF494E31C1F31A496C062 DATA 27B3291467E16CD43E2834562F91ED9D1F72679EC61A9DFF84051FFC58E5606402CA7684A85AF0A0473F162257086EA65E DATA 55C1CDF6F441D28BE8F21FDF8B96013B178FE3898430DDF861F5104B4478B803A25BC1673FDC120F7C59451E90FB973EB5 DATA F513AB88C31E6E81D05870391070948F57685AFE147556F3C120256BB67F024D75C414A78E6443B35F91D01FA9353B38DD DATA EE1DF238C72D0FF298BB9CA35B049CD07E641320BDEAD02B35915C48BAD18F79ACE89D70E247D4C6C18DBE1EE51BC6494E DATA 8094DB448D40897A898DC759F44348A59C4488B5AC074A55E6B257612D7B00D6C7378EF730C3B0341AE0005B5BFF438F9F DATA 88032C5B820B6D6CB2A5A1712C2EA683076B31C20D995C251FC992913CD985964875C3B116C15857BED3D96D49AD87F865 DATA 2239B40B12C824D23C66BA0C3D40CA8D0221851BE340A47FC6FB8F87640453FAA85A65BBF8997D1C9824DD0030F484580F DATA 5E8EC3C7214122D5F01BBDAAA5D029E8DD9A15EDA20F1A8FE465330D65FE7151630E79CCD8650761500F6B49677F98B923 DATA DB1087B438840E0FCAA31FE328329691B219C9740EB4E768EF45B0919371586FBF4C4B8D3B504C126F5C2DA6FEDD5E959F DATA EC116F54B96AD363A2F0EEAC146E082F96559BF2971FAB927E3C8869A2594F3A98F50E7A7C63D047A1DC3676B93D1E06BA DATA C821F9464E65ED8E7CF4437A942E8934D33B16E5D0831CFE587545C2F18E7C9C037ABCA4473FAB434EA674E36A0DFAD7D4 DATA EA01CD9078637A56D31ABD66B2E152670FBFA94EB2B43F920D0FABE88F9514D36523F5976C442FA61CD3E7F6CABD1170E4 DATA 031FE6C9533EC8815F821F051B40DEECE99A338F7EE863DE138947BBEC016DFDF64366AE695B52FEB891BDEFF54B9FC173 DATA B86FBF41358F52102EED1E797EB9A7434E67041BF92CA38464770F52BE431C365F8AA9519A2B7C0D6D1C85E508B5D9E1A2 DATA 76C023D1B22407C6479EB58946E76F204D7634F601A77804EF1FFAF8B865CD31750846D6E39189CED0C0A1F5ADF810B159 DATA E26773628E946EC4788254B187C83B0299E5CDCC926B9B473848DD17531351659B1BAF7939320E73B0E33DEED8B12CB344 DATA F7F352ED7BCF016D0F171F116E307D1DEF3887A3C30E96CB30C5938EAE3211A34524C11F45CEBB24623ECA7299A08FC41B DATA D2BB1A676888D48EFC2F664C334F79CC918F8C72DE2F51262278E8FB3772A8FC22AE0D53E8B5E7EAE43E8570DCE8B0D78A DATA FEE8108B80633CA4E478F6C43140AC4E2E1CD7B2387C6B22167EC8A3F21DD1D2B1AD460ED4D2FE1D65B73CBABD13B3D8AC DATA 8FDEE7101D766228ECD066C0747CC80776AE061B3D050F15977F86E50E3D330F0CA75FE70021F05748CE424C5264641731 DATA 0E4CA70EFB300F8E7652F3C01F6214518DF719E2D5715AA37390D2761B4124CFF668E7200F78640E085812D91053FA106A DATA 37487BF8D07B1B310E63E178E5E01EEDC00F7A350E3BD817917535DDA5407F46781A210F3DB20F89A680CBB31FE7907408 DATA 720EECD021FBE075D9430E5BA46123612BE1B067E4510EF8100FA207765E011BF600811CB10DD4616C2DB7596471594FE1 DATA 0D38113C561384E5E30EFE449811DBE05DE5B32E4BB86384051CE0E00FAAE20DDDF51650F36620F10D5C870F5BE81DE081 DATA 16828787BD910F4C570EEEA077D12371F0A0772E714FE1200FE6902C4CD813B7D1135E011D17422D30C40EA1F783D99632 DATA 569855A9810FF49064FA650F64810FF5D414E1600EF1006854537F0CF80E29B811E8E77837520EEEE268FFF0847DE10D7D DATA 4539A82214CF9711E4E08B16C74BAF065772A82AA8B20DB8C61BF0F078E9E00E89963553A837E3956D345523AAD12E0DA4 DATA 16658147D5D122A3546BC088529AA8428FD70E7A073DDE9137F4F014E300347AA5648A85167B9711E77063395280A21744 DATA 32182A1C5146EB380EB08340D15865FA1080ACB1FE702E51924AC10FF2740F913758FDB0390E183C27450F2B124EF5B11A DATA 8E42366473576BB20F7FD67279B114E0C021EC108D49567F6B9188480182C5D60F36B84597718D1A110F8EA71EF7C871BB DATA 746B26891427120ED6F3925B44247FE6923B691AEFB184FF113503B212063114D9A70D347911DA800F84A20EE6706C3F09 DATA 0F5DE27EE2008C01382DEEC14D3AF3453A531EDF3497B55681A45863A7080FC7865865A4375E9914E4902790926428B53C DATA D0988113C10D07D754EBA099D2731767596ADE8044E4901CAD280ED8B693F4314FF953169DB33CFBC22F2C6634F93020E0 DATA 3811DB600EEBD19A0CC78E9CE380EA976D33B3236C343B2E42231D6254A4FE94893FF88DCEF878DCA895D9B645F9F09957 DATA 291AC60852DFB31C7A839A4903626EC28DF4306561679EB129124E4227FC448153E615D2021FD93949D6811F5DB22766C1 DATA 80D66136A0C10FE4954BFB90234A996461370FB35819C5D79C5AE35D17B22E3D222EF0E14EAA8140E3056A76B1107DA911 DATA E1F078A0D79C286598D6F814292A82E21776ECF97E1EF10DF9401F70C29FFAC871F7C9145CA125A0657193074A320222E8 DATA 821E63C2333E924ED5891E4A880FF9000EF39854EEF01EF8600F12DA0FF1902CAC618049A42DCBD7533D358B654116FE91 DATA 5C52736A3D6A1BE1709C05E726EAA8641FD939F65912E3204FAB036DA4773A537AA3E61022EB608CFED0F38243531285B1 DATA 201A931098921831952B67B12C40230F77611095C220DA962CE62712DA000E59246E5B1676B9328BD7F1460A6507DF843E DATA D6992350255BFC70A7DC302DA4748C277581F8411D9D237AC87869E116707A255A5BF32A3E7486AE7613CED10FDE70A216 DATA 91A26FC20FEB488DC477A724110E5049A956D35DD0910FB627119CF826EDB07040B81C155969E03615B41119CB91320218 DATA 2E30326BC4571553A12BE6D16D2441182A0152D8066E5A121EFE241AE4614D1F2A623BD226A8C1411B328208A8876DE22E DATA A4690F89741DFB40832DA12A09A330A9D4100DA130187B3D55F33D5B05361C77714331ADF2C40EF0006DFEC0429E09A31C DATA D2FE0E24C885A7130FEE1911DD8A8A14183DB9285E25F10D31557DCC71A065B127AD513E5F342622721938B12DF2358B8F DATA 970F4BE130E468775AA32DF9001D69D17EB4C71ACAB22CC9425F15C228EF4078D8E00EC3776DC97816D581740F51A51A41 DATA 1828617288141670016DD1D3126C8B114FA9286E963DAED6371D8914CCCA0EF95082DD753AF330B303A18766828FBD9676 DATA EF300F97097DFF629AE8142EA6511EBD422C6A0227D5C62F366198E1629549D1242851100A613827E3B914761329F3356D DATA C11C64B10FE4F10EC7870F6DE2AC2547A17FB40FC3C8518F613A07AA79D6936DE7A0AC03E10DEDD0730B576553C816A25B DATA 12D47A0F651868F5407E86FE290FDB2A111238A85087520364A3238122D444B4E5612EE7822E6BA423A31124CD815A3AB1 DATA 453BB70E7FEB174CC281071325978A10D7F52A0DF2BE86798A9B1A11B6CB0EFCD09CE40096039ABD1FF13F9B8351285B0F DATA 44640EFFC73EC9CB0E6EA6642AA23713CC14D47A8FD6FA924603BE1D610F62F20E5A09C1A8151DE54912E4C01CC3759DC3 DATA 522E20A20E19324863712FDBA24F35C116AE21AD07223176976E27855217E878EAD00EE5060F34ECAC55B35917840F3E2C DATA 1279C61C35449888750E9D13B9AC3486824B0ED4C3A563519C16D948A908526CC91622CC11DF701DA309C1F01B1DE2708E DATA 18410EFF6B3F82F441F777A02AAC38BF2466B89113FE6E21C7090259A0A63D449748EC30AE11710E657B86CA581D88E817 DATA E1802D52937BB5F97321B10FCACBA712A71601BC14E4601EFB708CD1F35C5787B811518F26ECC8A7E380EF52488CEA3D2D DATA C1120A8118C4D135DE834C5983B10CA1106D672B959218A7B532F110C52581444104445248A14E2B11E1302683A97A146A DATA 1DEE300FF4FB57FA0452D493B26F1112EF70C4CBEB0FE4C737E770B722610F21B23AA377816271B89B7819DD1B80B09157 DATA DD2718D9804C9FC6B1DD60CEC8D9B35A327BE3E122E5A0C87D4118D7B36555C64BDE3511DED048F8B09941E6197FF40E7F DATA D11D5B335812A925609811F440C359A17A6928875AEC11EFA0239147BD1FA7FE16F3A0C012310ED67686014816AD485870 DATA 8A14D8406592A56A206189C1156236530EF3FBB4E8365842C44B9F2C10ED900E0C8BC2FC305BE620C823910DC9446673E6 DATA 711B8D11DFA01A17ACD061517CA8CC11DEE00E3572D25516D34F37D212715A3DB49E12D27CF51013683D1874163D83350E DATA BDEB7D3D7DB9C4B20E57BD14DB0060BD346E554611F0B00EDD188CD5B10FF0C0D22D453DC403683066357D7D11EF40C084 DATA 589B6D9551718D118C96D4822979290B21CF9B1127D24357A36DFC78C23185747EE16FBCA6355D437920E11DF2B55B3302 DATA A182B16B1EE74BD0C60D288695A267D4327398C62C12418CB352F362F5E0DB21310EFB43A42AD97E51FEF30D35DDB6E180 DATA 70A881BB8598ADC56D220DA18F2A0217F327CEFDF4854FA10D3FC44BD8651394FA1179A62B3A6542E5D1CC7F917D8EED15 DATA 27D79012D10DA011B2DF2333611CD425C120DD097788736C9B3D106039872FD9565571714F82A846C874E8E0743EE915E0 DATA D18C247112E3D916C16D8195BD846FCA14E81D75CB743A12FC11E07082676423F5D12EDD6DDCE1C0A6EB59B543C3693343 DATA 81CCAB8C6251CCFCCC3ECC8C9B40885A4383AC857474C994AEA0E5C5B53A20CA0A719E2A8B7CE60ED148357DBBC2367D4F DATA 0E7274C35B9B77D275E1D06325414C2457A486793B5F1D0DE2101E476A5C44722DE4B0CF7D010E3631876067CA34987FE2 DATA F0ADFE7C2A0E9D497CFD90E016C10DF4C07586BD63A1E66AD01135939D11DE00631D2E873F08C1072769F2B010AAE24412 DATA 6360CDA5E8F8C067EA90A520E5C605CC14BFA52D02075F997A57EBD02ECD31208E618E1A7BA92D71BA59F41390BD965338 DATA 8B40D3E812810DF3503E32E2416DF16CC023350443E285DE0EC4E7C5ABE85DFCB1C1A909571D8752C4FCCACAF6BB12D81E DATA 225871C3DBB7EE470F829EB80D614BD69B57DEF892EFC021341C93F7121780E53829021BF224228ACD709C49A93FBE24AD DATA 867253E6BDFF3855F6E1539CD3451B22A0A92154FBD18A53338DCFC580F4AAC64DDDA1FB4317A35E72C61116EF62BCCF42 DATA 6D49580E11BB85B6B43C9092FE113243B72FB93743736786515EF7941786D1182A91100EB659BA781D6B12955A59CADEC5 DATA 16D23E12098352295271C8E81D462CD0C8729807341612523EA4D11EF7F088D49B1B69EE11D9C0B36B5AA8E35047E2C167 DATA 39B3411804237630F6ACAA1E93E441C4A75754634B01881FEFF0F319D10FA1A149043C927516768FAC1AF02032CA5A6F7A DATA F6E9634FC3E640CA88152DF330D9D8E0D2EA77C6EE1729D9070E382869BFD92F5B9277A82516B3D71A4CFB21ADBE94772E DATA 5F8FCBD819A10DE8A52538E18D292B8B149E23045BB0194242A2412DB3C684F81E25D51D5195827B42447A89E4AF84621E DATA 1DD22377D51E643F4F62D2263D25DED22315E31BB656FEBF221C728F90B8CD27957B5C1F9FA0516D7779B118DB108FE113 DATA 0168274FDF21B3FA6BDE210E77564C9E1A69ED329FD1F31D692187109D0F5CE71EA3315D0444244CFF417F521D48C92C00 DATA 618FDCBF7FE4CEC97B170F5C34860D1D3E8418B121B66FE1C69D3B376E1C417FE4E8E5DB572E9DBA7BE9D2A14389F2DEBD DATA 72E8D48D4CC76E1F3F7AE4BC6DCB864DE24E9E3D1F6EEB76F39FBF71FDFACDE367AEDD3A752253DA416707AA4A93E5AC96 DATA 63D70E1F3F7BF4C4E92378D15E3C78F474FA7418EEDD3A96FBE0F5AB578FA83871FDC8F9FB574F5FBF7CEDCAADC4EAEEDD DATA 3B7EF1E6D99B174FB13C79F9E03DCEC7EF5D3B764C5DB27B979120B870DB1E72FEFB46AE9FBDC9F7D0AD33470FACBE73F3 DATA 06C3B3D70FAFBF73EFD8A114A92EEBBE7DECB22EF5ED9B294B922BD7B983770EAF3E7288E77D431B5DE236CEE0F4D52358 DATA CFA0EB7D7E578E34BD52DDBA72E4B3BE9317EE9B36E9EDDD33C4964D1B50E6FDE8C5E387CF9DDF72EA5E7E2F6F1D0183EB DATA 6E1F73F2A1A71F7DB661F09B6FBCE986BDF7CE31E7B672CCB167A37A8ABAAFABBBF22A0A1E77FE42E79E7508DCC71D77F0 DATA 19CC1C17DDE18D37EF4A8CC99C7914EC861BCF20E2A6287BE4C1879D92DAE1E79CD546938C1F04372A881E739852472596 DATA 44320DA574AA2CD13F137D3BF01C72AEDB4B9C70B879AF4C86B4E9A61B06BB21CABE7CDE3147C5EEDA69FE07467CCC6191 DATA 9FB2C2F1E62C33FF8C0E1B6FC0E1EC1C7AE4E147C5156154B4C01459844749AFF8CC065087B60152A4723203B31F79E071 DATA 912BB8C23A279FFD862B49BC74B0A2B3D5A502F4AFB8E3E2E9071C6E2A95089B703EE2671FB6CA71271FE5FED90B4815F1 DATA A115AC8E90C287AD7B482A912AFF3435E9447604E3679E8CF4F1C71B0777B4F44F6CB0D9E61BCEC6A1EB1C7B0CB5471C2F DATA C301E7A670E7752F1BA0C021872E77D565CC5079E8A1671C78BDE993DE87D4DAE75976E0B98B397BE089E71D7CF0814D1C DATA 7FE4DAEB23772A63EBA4A8564229CA945442271D6B911BE71B70770A07D190483A4EA0B82E8A58BF99BC242863D2F091F1 DATA B7761EFE9DD81D17DFC9C7307ACEE9671C35B7D10657839F860F6AA90D1E77EA9EB239C79D755C72671E0D8F1AA75C79CC DATA 21BA26BC4024671E78E0A453C02BB5BC523C92B062C71C3DC524132D6FE669964677681AC79F8C93E2D9C078329A4D9FA2 DATA 0C9DE7B0C6E5390C60C99116871CF51EDCC64FAB37E7BC73CFFFF48642ADDB792769B9E8F2B34771C6F9F26CB958E7D7B1 DATA 778ED5AF5139ED1636E595D112679F74EC88E91D81FC21AAD4FD76B3FBC6C0091A4A718D58D7C7416F1F4C9369F934FF3C DATA 7BEDB7E73E1A7B07558F9BA6B7F156226EB82198C1BCF4619F75D1D495FCD079209F543DD0DD1989F4E1F56A2E1F9E653A DATA 563E62F320F18D4F7CD9C849F75A14B8400636F03D3959939AB4813E0775C341E68A979AB067A6738CC71DB43ADB45E411 DATA 0FB2918D1F5C19073822E44016B6D0852F7C2137E2140FDD69034DE0B8A0F83608431EF6D0873F7C9AB9BAB1432016D188 DATA 4744224F0202003B DATA "TUNE1" DATA 230030300018301828300018141800181418001814181C1814181C18281830300018301828300018141800181418001814 DATA 181C1814181C18281830300018301828300018141800181418001814181C1814181C182818303000183018283000181418 DATA 00181418001814181C1814181C18281830300018301828300018141800181418001814181C1814181C1828183030001830 DATA 1828300018141800181418001814181C1814181C18281830300018301828300018141800181418001814181C1814181C18 DATA 281830300018301828300018141800181418001814181C1814181C18281830300018301828300018141800181418001814 DATA 181C1814181C18281830300018301828300018141800181418001814181C1814181C182818303000183018283000181418 DATA 00181418001814181C1814181C18281830300018301828300018141800181418001814181C1814181C1828183030001830 DATA 1828300018141800181418001814181C1814181C1828181C3000181C1814300018140C000C14181C18001814181418140C DATA 000C1418141830300018301828300018141800181418001814181C1814181C1828181C3000181C1814300018140C000C14 DATA 181C18001814181418140C000C1418141830300018301828300018141800181418001814181C1814181C18281830300018 DATA 301828300018141800181418001814181C1814181C18281830300018301828300018141800181418001814181C1814181C DATA 18281830300018301828300018141800181418001814181C1814181C182818303000183018283000181418001814180018 DATA 14181C1814181C18281830300018301828300018141800181418001814181C1814181C1828183030001830182830001814 DATA 1800181418001814181C1814181C18281830300018301828300018141800181418001814181C1814181C18281830300018 DATA 301828300018141800181418001814181C1814181C18281830300018301828300018141800181418001814181C1814181C DATA 18281830300018301828300018141800181418001814181C1814181C182818303000183018283000181418001814180018 DATA 14181C1814181C18281830300018301828300018141800181418001814181C1814181C1828181C3000181C181430001814 DATA 0C000C14181C18001814181418140C000C1418141830300018301828300018141800181418001814181C1814181C182818 DATA 1C3000181C1814300018140C000C14181C18001814181418140C000C141814183030001830182830001814180018141800 DATA 1814181C1814181C18281830300018301828300018141800181418001814181C1814181C18281830300018301828300018 DATA 141800181418001814181C1814181C18281830300018301828300018141800181418001814181C1814181C182818303000 DATA 18301828300018141800181418001814181C1814181C18281830300018301828300018141800181418001814181C181418 DATA 1C18281830300018301828300018141800181418001814181C1814181C1828183030001830182830001814180018141800 DATA 1814181C1814181C18281830300018301828300018141800181418001814181C1814181C18281830300018301828300018 DATA 141800181418001814181C1814181C18281830300018301828300018141800181418001814181C1814181C182818303000 DATA 18301828300018141800181418001814181C1814181C18281830300018301828300018141800181418001814181C181418 DATA 1C1828181C3000181C1814300018140C000C14181C18001814181418140C000C1418141830300018301828300018141800 DATA 181418001814181C1814181C1828181C3000181C1814300018140C000C14181C18001814181418140C000C141814183030 DATA 0018301828300018141800181418001814181C1814181C18281830300018301828300018141800181418001814181C1814 DATA 181C18281830300018301828300018141800181418001814181C1814181C18281830300018301828300018141800181418 DATA 001814181C1814181C18281830300018301828300018141800181418001814181C1814181C182818303000183018283000 DATA 18141800181418001814181C1814181C18281830300018301828300018141800181418001814181C1814181C1828183030 DATA 0018301828300018141800181418001814181C1814181C18281830300018301828300018141800181418001814181C1814 DATA 181C18281830300018301828300018141800181418001814181C1814181C18281830300018301828300018141800181418 DATA 001814181C1814181C18281830300018301828300018141800181418001814181C1814181C182818303000183018283000 DATA 18141800181418001814181C1814181C1828181C3000181C1814300018140C000C14181C18001814181418140C000C1418 DATA 141830300018301828300018141800181418001814181C1814181C1828181C3000181C1814300018140C000C14181C1800 DATA 1814181418140C000C141814180418040C040C2C0C0418040C0418040C040C2C0C0418040C0418040C040C2C0C0418040C DATA 0418040C040C2C0C0418040C2C182C0C2C0C200C2C182C0C2C182C0C2C0C200C2C182C0C2C182C0C2C0C200C2C182C0C2C DATA 182C0C2C0C200C2C182C0C2418240C240C1C0C2418240C2418240C240C1C0C2418240C2418240C240C1C0C2418240C2418 DATA 240C240C1C0C2418240C2018200C200C180C2018200C2018200C200C180C2018200C2018200C200C180C2018200C201820 DATA 0C200C180C2018200C DATA "TUNE2" DATA 000000307C187424000C6C30746000A87C1874306C30903080307C0C800C7C1874186C186818601800187C187424000C6C DATA 30746000486060740C7C0C74306C0C0024903080307C0C800C7C18740C000C6C0C000C681800FE00FE00FE00FE00FE00FE DATA 003C7C187424000C6C30746000A87C1874306C30903080307C0C800C7C1874186C0C000C681860307C187424000C6C3074 DATA 6000A87C1874306C30903080307C0C800C7C1874186C0C000C681802000030901888307C180060901888307C1800609018 DATA 88307C18006090187C3074180060901888307C180060901888307C180060901888307C18006090187C307418040000607C DATA 187424000C6C30746000A87C1874306C30903080307C0C800C7C1874186C186818601800187C187424000C6C3074600048 DATA 6060740C7C0C74306C0C0024903080307C0C800C7C18740C000C6C0C000C681800FE00FE00FE00FE00FE00FE003C7C1874 DATA 24000C6C30746000A87C1874306C30903080307C0C800C7C1874186C0C000C681860307C187424000C6C30746000A87C18 DATA 74306C30903080307C0C800C7C1874186C0C000C681802000030901888307C180060901888307C180060901888307C1800 DATA 6090187C3074180060901888307C180060901888307C180060901888307C18006090187C307418040000607C187424000C DATA 6C30746000A87C1874306C30903080307C0C800C7C1874186C186818601800187C187424000C6C30746000486060740C7C DATA 0C74306C0C0024903080307C0C800C7C18740C000C6C0C000C681800FE00FE00FE00FE00FE00FE003C7C187424000C6C30 DATA 746000A87C1874306C30903080307C0C800C7C1874186C0C000C681860307C187424000C6C30746000A87C1874306C3090 DATA 3080307C0C800C7C1874186C0C000C681802000030901888307C180060901888307C180060901888307C18006090187C30 DATA 74180060901888307C180060901888307C180060901888307C18006090187C307418040000607C187424000C6C30746000 DATA A87C1874306C30903080307C0C800C7C1874186C186818601800187C187424000C6C30746000486060740C7C0C74306C0C DATA 0024903080307C0C800C7C18740C000C6C0C000C681800FE00FE00FE00FE00FE00FE003C7C187424000C6C30746000A87C DATA 1874306C30903080307C0C800C7C1874186C0C000C681860307C187424000C6C30746000A87C1874306C30903080307C0C DATA 800C7C1874186C0C000C681802000030901888307C180060901888307C180060901888307C18006090187C307418006090 DATA 1888307C180060901888307C180060901888307C18006090187C30741804000060B418B00C0024A80C0018A80CB0D80018 DATA A80CB00CB418B030A80C0024C430BC18B018AC0C000CA80C000CA00C000CA00C000C94180030B418B00C0024A80C0024A8 DATA 18B054B40CB060 DATA "TUNE3" DATA 0B000030AC18A424000C9C30A46000A8AC18A4309C30C030B030AC0CB00CAC18A4189C0C000C9848AC18A424000C9C30A4 DATA 6000A8AC18A4309C30C030B030AC0CB00CAC18A4189C0C000C9818AC30A4189C4898189048881890607C0C880C90189C18 DATA 981890188830A40CAC0CA448A40CAC0CA40C980C9C18981890188818AC30A4189C48981890489C1890607C0C880C90189C DATA 189818900CB80C880CB40C840CAC0C7C0CA80C780CA40C7418600C680C6C1860306C186060AC18A424000C9C30A46000A8 DATA AC18A4309C30C030B030AC0CB00CAC18A4189C0C000C9848AC18A424000C9C30A46000A8AC18A4309C30C030B030AC0CB0 DATA 0CAC18A4189C0C000C98FE00FE00FE00FE00FE00FE0054AC18A424000C9C30A46000A8AC18A4309C30C030B030AC0CB00C DATA AC18A4189C0C000C9848AC18A424000C9C30A46000A8AC18A4309C30C030B030AC0CB00CAC18A4189C0C000C9818AC30A4 DATA 189C4898189048881890607C0C880C90189C18981890188830A40CAC0CA448A40CAC0CA40C980C9C18981890188818AC30 DATA A4189C48981890489C1890607C0C880C90189C189818900CB80C880CB40C840CAC0C7C0CA80C780CA40C7418600C680C6C DATA 1860306C186060AC18A424000C9C30A46000A8AC18A4309C30C030B030AC0CB00CAC18A4189C0C000C9848AC18A424000C DATA 9C30A46000A8AC18A4309C30C030B030AC0CB00CAC18A4189C0C000C98FE00FE00FE00FE00FE00FE0054AC18A424000C9C DATA 30A46000A8AC18A4309C30C030B030AC0CB00CAC18A4189C0C000C9848AC18A424000C9C30A46000A8AC18A4309C30C030 DATA B030AC0CB00CAC18A4189C0C000C9818AC30A4189C4898189048881890607C0C880C90189C18981890188830A40CAC0CA4 DATA 48A40CAC0CA40C980C9C18981890188818AC30A4189C48981890489C1890607C0C880C90189C189818900CB80C880CB40C DATA 840CAC0C7C0CA80C780CA40C7418600C680C6C1860306C186060AC18A424000C9C30A46000A8AC18A4309C30C030B030AC DATA 0CB00CAC18A4189C0C000C9848AC18A424000C9C30A46000A8AC18A4309C30C030B030AC0CB00CAC18A4189C0C000C98FE DATA 00FE00FE00FE00FE00FE0054AC18A424000C9C30A46000A8AC18A4309C30C030B030AC0CB00CAC18A4189C0C000C9848AC DATA 18A424000C9C30A46000A8AC18A4309C30C030B030AC0CB00CAC18A4189C0C000C9818AC30A4189C489818904888189060 DATA 7C0C880C90189C18981890188830A40CAC0CA448A40CAC0CA40C980C9C18981890188818AC30A4189C48981890489C1890 DATA 607C0C880C90189C189818900CB80C880CB40C840CAC0C7C0CA80C780CA40C7418600C680C6C1860306C186060AC18A424 DATA 000C9C30A46000A8AC18A4309C30C030B030AC0CB00CAC18A4189C0C000C9848AC18A424000C9C30A46000A8AC18A4309C DATA 30C030B030AC0CB00CAC18A4189C0C000C DATA "TUNE4" DATA 07180518061805180718051806180618071805180618051807180518061805180718051806180518071805180618061807 DATA 180518061806180718060C040C050C040C050C040C07180518061805180718051806180618071805180618051807180518 DATA 06180518071805180618051807180518061806180718051806180618071807180618060C050C0618051806180518071805 DATA 18061806180718051806180518071806180618061806180518061805180718051806180618071806180618051807180618 DATA 06180618061805180618051807180518061806180718051806180518071806180618061806180518061805180718051806 DATA 18061807180618061805180718060C050C0618061806180518061805180718051806180618071805180618051807180618 DATA 06180618061805180618051807180518061806180718061806180518071806180518061806180518061805180718051806 DATA 1806180718051806180518071806180618060C050C06180518061805180718051806180618071806180618051807180618 DATA 06180618061805180618051807180518061806180718051806180518071806180618061806180518061805180718051806 DATA 18061807180618061805180718061806180618061805180618051807180518061806180718051806180518071806180618 DATA 06180618051806180518071805180618061807180618061805180718061806180618001805180618051807180518061806 DATA 18071805180618051807180518061805180718051806180518071805180618061807180518061806180718060C040C050C DATA 040C050C040C07180518061805180718051806180618071805180618051807180518061805180718051806180518071805 DATA 18061806180718051806180618071807180618060C050C0618051806180518071805180618061807180518061805180718 DATA 06180618061806180518061805180718051806180618071806180618051807180618061806180618051806180518071805 DATA 1806180618071805180618051807180618061806180618051806180518071805180618061807180618061805180718060C DATA 050C0618061806180518061805180718051806180618071805180618051807180618061806180618051806180518071805 DATA 18061806180718061806180518071806180518061806180518061805180718051806180618071805180618051807180618 DATA 0618060C050C06180518061805180718051806180618071806180618051807180618061806180618051806180518071805 DATA 18061806180718051806180518071806180618061806180518061805180718051806180618071806180618051807180618 DATA 06180618061805180618051807180518061806180718051806180518071806180618061806180518061805180718051806 DATA 18061807180618061805180718061806180618001805180618051807180518061806180718051806180518071805180618 DATA 05180718051806180518071805180618061807180518061806180718060C040C050C040C050C040C071805180618051807 DATA 18051806180618071805180618051807180518061805180718051806180518071805180618061807180518061806180718 DATA 07180618060C050C0618051806180518071805180618061807180518061805180718061806180618061805180618051807 DATA 18051806180618071806180618051807180618061806180618051806180518071805180618061807180518061805180718 DATA 0618061806180618051806180518071805180618061807180618061805180718060C050C06180618061805180618051807 DATA 18051806180618071805180618051807180618061806180618051806180518071805180618061807180618061805180718 DATA 061805180618061805180618051807180518061806180718051806180518071806180618060C050C061805180618051807 DATA 18051806180618071806180618051807180618061806180618051806180518071805180618061807180518061805180718 DATA 06180618061806180518061805180718051806180618071806180618051807180618061806180618051806180518071805 DATA 18061806180718051806180518071806180618061806180518061805180718051806180618071806180618051807180618 DATA 06180618001805180618051807180518061806180718051806180518071805180618051807180518061805180718051806 DATA 18061807180518061806180718060C040C050C040C050C040C071805180618051807180518061806180718051806180518 DATA 0718051806180518071805180618051807180518061806180718051806180618071807180618060C050C06180518061805 DATA 18071805180618061807180518061805180718061806180618061805180618051807180518061806180718061806180518 DATA 07180618061806180618051806180518071805180618061807180518061805180718061806180618061805180618051807 DATA 1805180618061807180618061805180718060C050C06180618061805180618051807180518061806180718051806180518 DATA 07180618061806180618051806180518071805180618061807180618061805180718061805180618061805180618051807 DATA 180518061806180718051806180518071806180618060C050C061805180618051807180518061806180718061806180518 DATA 07180618061806180618051806180518071805180618061807180518061805180718061806180618061805180618051807 DATA 18051806180618071806180618051807180618061806180618051806180518071805180618061807180518061805180718 DATA 0618061806180618051806180518071805180618061807180618061805180718061806180618060C060C060C060C060C06 DATA 0C060C060C070C060C060C060C060C060C060C060C070C060C060C060C060C060C060C060C070C060C060C060C060C060C DATA 060C060C070C060C060C060C060C060C060C060C070C060C060C060C060C060C060C060C070C060C060C060C060C060C06 DATA 0C060C070C060C060C060C060C060C060C060C060C060C060C060C060C060C060C060C070C060C060C060C060C060C060C DATA 060C070C060C060C060C060C060C060C060C070C060C060C060C060C060C060C060C060C060C060C060C060C060C060C06 DATA 0C070C060C060C060C060C060C060C060C070C060C060C060C060C060C060C060C070C060C060C060C060C060C060C060C DATA 000C060C060C060C060C060C060C060C060C060C060C060C060C060C060C DATA "-/-"