# HG changeset patch # User Edgar Simo # Date 1246485812 0 # Node ID ac6bc19a2dfb4d22f0fad73dec7fc7a556eadf89 # Parent 3c9d9c052c8f2a399eb62d8404fdcaab823b00f4 Added surfarce blend rendering functions testcase. diff -r 3c9d9c052c8f -r ac6bc19a2dfb test/automated/surface/blend.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/automated/surface/blend.c Wed Jul 01 22:03:32 2009 +0000 @@ -0,0 +1,660 @@ +/* GIMP RGB C-Source image dump (alpha.c) */ + +static const SurfaceImage_t img_blend = { + 80, 60, 3, + "\1\201\0\4\277\2\5\322\1\21\335\11A\3610?\351/\0\20\0@\3520@\35209\323*\372" + "\377\370\372\377\370\372\377\370\372\377\370\372\377\370\0-\0\372\377\370" + "\372\377\370\305\324\303\372\377\370\370\376\367\370\377\367\370\376\367" + "\370\376\367\0G\0\370\376\367\370\376\367\251\306\250\370\376\367\370\376" + "\367\370\377\367\370\376\367\370\376\367\0b\0\370\376\367\370\376\367\216" + "\277\216\370\376\367\370\376\367\370\377\367\370\376\367\370\376\367\0}\0" + "\370\376\367\370\376\367t\276t\370\376\367\370\376\367\370\377\367\370\376" + "\367\370\376\367\0\230\0\370\376\367\370\376\367Z\302Z\370\376\367\370\376" + "\367\370\377\367\370\376\367\370\376\367\0\263\0\370\376\367\370\376\367" + "@\315?\370\376\367\370\376\367\370\377\367\370\376\367\370\376\367\0\316" + "\0\370\376\367\370\376\367%\334%\370\376\367\370\376\367\370\377\367\370" + "\376\367\370\376\367\0\351\0\370\376\367\1\276\0\1\220\0\1\257\0\5\320\2" + "\2\310\0\5\322\1\22\335\11\20\335\11A\3610?\351/\21\335\11\21\335\11C\361" + "2C\3612C\3612A\3511A\3511A\3511A\3511A\3511B\3522B\3522B\3522B\3522B\352" + "2B\3522B\3522B\3522B\3522B\3522\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\23\345\12\4\307\2\2" + "\267\1\1\270\0\5\322\1\23\345\12\24\345\12\20\335\11\22\335\11C\3612?\351" + "/@\3520\21\335\11C\3612C\3612A\3511A\3511B\3522B\3522B\3522\372\377\370\372" + "\377\370\372\377\370\372\377\370\372\377\370\370\376\367\370\376\367\370" + "\376\367\370\376\367\370\376\367A\3511A\3511A\3511B\3522B\3522B\3522B\352" + "2B\3522B\3522B\3522B\3522B\3522B\3522B\3522B\3522B\3522B\3522B\3522B\352" + "2B\3522\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377A\3610\2\310\0\5\322\1\0\7\0\2\310\0\6\322\1\4\304\0A\3610\21\335\11" + "\23\337\12C\3612?\351/\3!\2C\3612A\35117\306*B\3522@\3520\374\377\372\372" + "\377\370A\3511\3""9\2A\3511A\35112\273&B\3522B\3522E\3775\377\377\377\377" + "\377\377\14Z\14\377\377\377\377\377\377\234\302\233\372\377\370\370\376\367" + "\375\377\374\370\376\367\370\376\367\13t\13\370\376\367\370\376\367\202\276" + "\201\370\376\367\370\376\367\376\377\375\370\376\367\377\377\377\14\220\14" + "\377\377\377B\3522!\270\33B\3522B\3522I\3779B\3522B\3522\3\234\2B\3522B\352" + "2\33\303\26B\3522B\3522J\377:B\3522B\3522\3\265\2B\3522B\3522\25\324\22\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\14\341\14\377\377" + "\377\377\377\377\40\353\40\377\377\377?\351/\5\322\1\21\335\11\24\345\12" + "\6\322\1\4\322\1\20\335\11\24\345\12A\3610C\3612\21\335\11C\3612@\3520C\361" + "2A\3511B\3522@\3520\372\377\370A\3511A\3511B\3522B\3522B\3522\377\377\377" + "\372\377\370\372\377\370\370\376\367\370\376\367A\3511A\3511B\3522B\3522" + "B\3522B\3522B\3522B\3522\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\370\376\367\370\376\367\370\376\367\370\376\367\370\376\367" + "\370\376\367\370\376\367\370\376\367\370\376\367\370\376\367\370\376\367" + "\370\376\367\370\376\367\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "B\3522B\3522B\3522B\3522B\3522B\3522B\3522B\3522B\3522B\3522@\3520\20\335" + "\11\20\335\11\20\335\11\20\335\11\20\335\11\21\335\11\4\312\1\22\335\11\22" + "\335\11?\351/C\3612?\351/C\3612A\3511@\3520\372\377\370A\3511A\3511B\352" + "2\372\377\370\372\377\370\370\376\367A\3511A\3511B\3522B\3522B\3522\377\377" + "\377\377\377\377\372\377\370\372\377\370\370\376\367\370\376\367\370\376" + "\367\370\376\367A\3511B\3522B\3522B\3522B\3522B\3522B\3522B\3522\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\370\376\367\370\376\367\370\376" + "\367\370\376\367\370\376\367\370\376\367\370\376\367\370\376\367\370\376" + "\367\370\376\367\370\376\367\370\376\367\370\376\367\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\6\0\4A\361" + "0\22\335\11\20\325\10A\3610\22\335\11\22\336\12\24\345\12\21\335\11\6\31" + "\4C\3612\21\335\11:\315-C\3612A\3511D\3614C\3612A\3511\6""1\4\372\377\370" + "A\35115\276)B\3522B\3522\377\377\377\372\377\370\370\376\367\27P\27A\351" + "1B\35222\266(B\3522B\3522\377\377\377\377\377\377\377\377\377\30l\30\370" + "\376\367\370\376\367\221\276\220\370\376\367\370\376\367\377\377\377\377" + "\377\377B\3522\6{\4B\3522B\3522)\266\"B\3522B\3522P\377@\377\377\377\377" + "\377\377\30\242\30\377\377\377\377\377\377d\306d\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\30\275\30\377\377\377\377\377\377K\322" + "K\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\30\330\30\370" + "\376\367\370\376\3672\3432\370\376\367\370\376\367\377\377\377\370\376\367" + "@\3520?\351/C\3612\21\335\11?\351/\21\335\11?\351/C\3612\22\335\11\20\325" + "\11\21\335\11@\3520A\3511C\3612A\3511\372\377\370A\3511B\3522\372\377\370" + "A\3511B\3522B\3522\372\377\370\370\376\367A\3511B\3522B\3522\377\377\377" + "\377\377\377\372\377\370\370\376\367\370\376\367\370\376\367B\3522B\3522" + "B\3522B\3522B\3522\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\370\376\367\370\376\367\370\376\367\370\376\367\370\376\367\370\376" + "\367\370\376\367\377\377\377\377\377\377B\3522B\3522B\3522B\3522B\3522B\352" + "2B\3522B\3522\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\372\377\370\21\335\11?\351/A\3511C\361" + "2\21\335\11@\3520?\351/C\3612\21\335\11\22\335\11>\352/A\3511C\3612B\352" + "2C\3612B\3522\372\377\370A\3511B\3522\372\377\370\370\376\367A\3511B\352" + "2\377\377\377\372\377\370\370\376\367A\3511B\3522B\3522B\3522\377\377\377" + "\377\377\377\372\377\370\370\376\367\370\376\367\370\376\367\370\376\367" + "B\3522B\3522B\3522B\3522\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\370\376\367\370\376\367" + "\370\376\367\370\376\367\370\376\367\370\376\367\377\377\377\377\377\377" + "\377\377\377\377\377\377B\3522B\3522B\3522B\3522B\3522B\3522B\3522B\3522" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\372\377\370C\3612\21\335\11A\3521@\3520?\351/\11\20\6A\3511A\3511>\331/" + "C\3612\21\335\11\26\342\16C\3612@\3520\11*\7@\3520C\3612;\303.\372\377\370" + "A\3511J\371:B\3522\372\377\370\11A\6A\3511B\3522\271\307\271\372\377\370" + "\370\376\367\377\377\377A\3511B\3522\11Z\7B\3522\377\377\377\242\300\242" + "\377\377\377\370\376\367\377\377\377\370\376\367\370\376\367\11s\7B\3522" + "B\35222\265*B\3522\377\377\377\377\377\377\377\377\377\377\377\377$\231$" + "\377\377\377\377\377\377s\303s\377\377\377\370\376\367\377\377\377\370\376" + "\367\370\376\367#\263\"\370\376\367\370\376\367\\\316\\\377\377\377\377\377" + "\377\377\377\377\377\377\377B\3522\11\275\7B\3522B\3522(\331%B\3522B\352" + "2a\377Q\377\377\377\377\377\377$\352$\377\377\377\372\377\370C\3612C\361" + "2C\3612C\3612C\3612C\3612C\3612C\3612C\3612C\3612C\3612C\3612\20\325\11@" + "\3520A\3511\372\377\370A\3511@\3520A\3511B\3522\372\377\370\370\376\367A" + "\3511B\3522\377\377\377\370\376\367A\3511B\3522B\3522\377\377\377\377\377" + "\377\370\376\367\370\376\367\370\376\367B\3522B\3522B\3522\377\377\377\377" + "\377\377\377\377\377\377\377\377\370\376\367\370\376\367\370\376\367\370" + "\376\367\370\376\367B\3522B\3522B\3522B\3522B\3522\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\370\376\367\370\376\367\370\376\367" + "\370\376\367\370\376\367\370\376\367\370\376\367\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377B\3522B\3522B\3522B\3522" + "\372\377\370C\3612A\3511A\3511A\3511B\3522@\3520@\3520\372\377\370C\3612" + "C\3612A\3511A\3511A\3511?\351/@\3520C\3612B\3522\372\377\370B\3522\372\377" + "\370A\3511B\3522\377\377\377\370\376\367A\3511B\3522\377\377\377\372\377" + "\370\370\376\367A\3511B\3522B\3522\377\377\377\377\377\377\370\376\367\370" + "\376\367\370\376\367B\3522B\3522B\3522B\3522\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\370\376\367\370\376\367\370\376\367\370" + "\376\367\377\377\377B\3522B\3522B\3522B\3522B\3522\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\370\376\367" + "\370\376\367\370\376\367\370\376\367\370\376\367\370\376\367\377\377\377" + "\377\377\377\377\377\377\377\377\377\372\377\370A\3511A\3511\14\10\11@\352" + "0\372\377\370?\3310A\3511B\3522E\3545\372\377\370C\3612\14\40\11A\3511B\352" + "2<\307/\20\325\11@\3520K\364;\372\377\370A\3511\14""9\11\372\377\370A\351" + "1<\2730\377\377\377\370\376\367P\377@B\3522B\35220Z0\370\376\367\370\376" + "\367:\2650B\3522B\3522\377\377\377\377\377\377\370\376\367.t.\370\376\367" + "\370\376\3678\2640B\3522B\3522\377\377\377\377\377\377\377\377\3770\2200" + "\377\377\377\377\377\377\177\300~\370\376\367\370\376\367\377\377\377\377" + "\377\377\377\377\377\14\234\11B\3522B\35224\303/B\3522\377\377\377\377\377" + "\377\377\377\377\377\377\3770\3060\377\377\377\377\377\377V\330V\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\3770\3410\370\376\367\370" + "\376\367@\352@\370\376\367\372\377\370A\3511B\3522\372\377\370C\3612A\351" + "1B\3522@\3520\372\377\370A\3511B\3522@\3520\372\377\370A\3511A\3511@\352" + "0C\3612A\3511B\3522C\3612B\3522\372\377\370A\3511B\3522\372\377\370A\351" + "1B\3522\377\377\377\372\377\370\370\376\367B\3522B\3522\377\377\377\372\377" + "\370\370\376\367\370\376\367B\3522B\3522B\3522\377\377\377\377\377\377\377" + "\377\377\370\376\367\370\376\367\370\376\367B\3522B\3522B\3522B\3522\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\370" + "\376\367\370\376\367\370\376\367\370\376\367\370\376\367\377\377\377\377" + "\377\377B\3522B\3522B\3522B\3522B\3522\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\372\377\370A\3511B\3522" + "\372\377\370A\3511B\3522\372\377\370A\3511B\3522@\3520\372\377\370A\3511" + "B\3522\372\377\370A\3511B\3522\372\377\370C\3612A\3511@\3510\372\377\370" + "A\3511B\3522\370\376\367B\3522\377\377\377\372\377\370A\3511B\3522\377\377" + "\377\372\377\370\370\376\367B\3522B\3522\377\377\377\377\377\377\370\376" + "\367\370\376\367\370\376\367B\3522B\3522\377\377\377\377\377\377\377\377" + "\377\377\377\377\370\376\367\370\376\367\370\376\367\377\377\377B\3522B\352" + "2B\3522B\3522\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\370\376\367\370\376\367\370\376\367\370\376\367" + "\377\377\377\377\377\377\377\377\377B\3522B\3522B\3522B\3522B\3522\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377:\0:B\3522\372\377\370@\3401B\3522\372\377\370E\3525B\352" + "2\372\377\370\17\30\13B\3522\372\377\370?\3152B\3522\372\377\370K\360;B\352" + "2\372\377\370\17""1\13B\3522@\3510?\2773\370\376\367B\3522\377\377\377A\351" + "1B\3522O\246\2\11/\2\11/Hc\377\14\22\361\370\376\367i\230" + "h\377\377\377B\3522\\\273V\377\377\377\377\377\377\377\377\377\377\377\377" + "\370\376\367i\263h\377\377\377B\3522a\310\\\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377l\317l\370\376\367\370\376\367\200\334\200\377" + "\377\377\377\377\377\241\377\221B\3522B\3522l\352l\377\377\377\370\376\367" + "\377\377\377B\3522\370\376\367\377\377\377B\3522\370\376\367\377\377\377" + "B\3522\372\377\370B\3522\370\376\367\377\377\377B\3522\370\376\367\377\377" + "\377B\3522\370\376\367\377\377\377B\3522\370\376\367\377\377\377B\3522\370" + "\376\367\377\377\377\2\11/\13\21\350\14\22\361\3\20.\14\22\361\2\11/\13\21" + "\350\14\22\361\2\11/\13\21\350\14\22\361\2\11/\13\21\350\2\11/\14\22\361" + "\14\22\361\13\21\350\2\11/\2\11/\14\22\361\14\22\361\13\21\350\12\12\360" + "\2\11/\12\12\360\377\377\377\377\377\377\370\376\367\370\376\367\377\377" + "\377B\3522B\3522\377\377\377\377\377\377\377\377\377\377\377\377\370\376" + "\367\370\376\367\377\377\377B\3522B\3522B\3522\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\370\376\367\370\376\367\370" + "\376\367\377\377\377\377\377\377B\3522B\3522\370\376\367\377\377\377B\352" + "2\370\376\367\377\377\377B\3522\370\376\367\377\377\377B\3522\370\376\367" + "\377\377\377B\3522\370\376\367\377\377\377B\3522\370\376\367\377\377\377" + "B\3522\370\376\367\377\377\377B\3522\370\376\367\377\377\377B\3522\370\376" + "\367\14\22\361\2\11/\13\21\350\14\22\361\3\20.\14\22\361\2\11/\13\21\350" + "\14\22\361\2\11/\13\21\350\14\22\361\2\11/\13\21\350\2\11/\2\11/\14\22\361" + "\13\21\350\13\21\350\2\11/\12\12\360\14\22\361\13\21\350\13\21\350\2\11/" + "B\3522\377\377\377\377\377\377\377\377\377\370\376\367\370\376\367\377\377" + "\377B\3522B\3522\377\377\377\377\377\377\377\377\377\377\377\377\370\376" + "\367\370\376\367\377\377\377\377\377\377B\3522B\3522\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\370\376" + "\367\370\376\367\377\377\377\377\377\377\370\376\367\377\377\377B\3522t\10" + "t\377\377\377B\3522\356\355\355\377\377\377B\3522\377\377\377\377\377\377" + "B\3522t#t\377\377\377B\3522\341\330\340\377\377\377B\3522\377\377\377\377" + "\377\377B\3522t>t\377\377\377B\3522\322\312\322\14\22\361\2\11/1*\377\14" + "\22\361\2\11/\5\6m\15\31\351\3\20///J\15\31\351\3\20/5=`\15\31\351\3\20/" + "\1\7\25\13\21\350\2\11/AG\264\14\22\361\13\21\350APn\2\11/\14\22\361\5\12" + "q\13\21\350\370\376\367b\270\\B\3522\377\377\377\377\377\377\377\377\377" + "\370\376\367t\252t\377\377\377B\3522g\303b\377\377\377\377\377\377\377\377" + "\377\377\377\377\370\376\367t\305t\377\377\377\377\377\377m\324jB\3522\377" + "\377\377\377\377\377\377\377\377\377\377\377x\341x\377\377\377\377\377\377" + "\202\352\202\370\376\367\370\376\367\377\377\377B\3522\370\376\367\377\377" + "\377B\3522\370\376\367\377\377\377B\3522\370\376\367\377\377\377\377\377" + "\377B\3522\370\376\367\377\377\377B\3522\370\376\367\377\377\377B\3522\370" + "\376\367\377\377\377B\3522\370\376\367\377\377\377B\3522\13\21\350\14\22" + "\361\2\11/\13\21\350\14\22\361\2\11/\12\12\360\13\21\350\14\22\361\2\11/" + "\13\21\350\14\22\361\2\11/\13\21\350\14\22\361\2\11/\13\21\350\2\11/\12\12" + "\360\14\22\361\13\21\350\13\21\350\2\11/\12\12\360\14\22\361\377\377\377" + "\370\376\367\377\377\377B\3522B\3522\377\377\377\377\377\377\377\377\377" + "\370\376\367\370\376\367\377\377\377B\3522B\3522\377\377\377\377\377\377" + "\377\377\377\377\377\377\370\376\367\370\376\367\370\376\367\377\377\377" + "B\3522B\3522B\3522\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\370\376\367\377\377\377B\3522\370\376\367\377\377\377B\352" + "2\377\377\377\370\376\367\377\377\377B\3522\370\376\367\377\377\377B\352" + "2\370\376\367\377\377\377B\3522\370\376\367\377\377\377B\3522\377\377\377" + "\370\376\367\377\377\377B\3522\370\376\367\377\377\377\2\11/\13\21\350\14" + "\22\361\2\11/\13\21\350\14\22\361\2\11/\12\12\360\13\21\350\14\22\361\2\11" + "/\13\21\350\14\22\361\2\11/\13\21\350\14\22\361\2\11/\13\21\350\2\11/\2\11" + "/\14\22\361\12\12\360\13\21\350\2\11/\2\11/\377\377\377\377\377\377\370\376" + "\367\370\376\367\377\377\377B\3522\377\377\377\377\377\377\377\377\377\377" + "\377\377\370\376\367\370\376\367\377\377\377B\3522B\3522\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\370\376\367\370\376\367\377" + "\377\377\377\377\377B\3522B\3522\377\377\377\377\377\377\377\377\377\377" + "\377\377\200\0\177\377\377\377B\3522\363\365\362\377\377\377\377\377\377" + "K\353;\370\376\367\377\377\377\"\30\31\370\376\367\377\377\377J\315<\370" + "\376\367\377\377\377\377\377\377B\3522\370\376\367\2046\204B\3522\370\376" + "\367\340\317\340B\3522\370\376\367\377\377\377\14\22\361\2\11/\5\5x\14\22" + "\361\2\11/5*\304\14\22\361\2\11/=0\377\13\21\350\14\22\361\1\3\30\13\21\350" + "\14\22\361=9U\13\21\350\14\22\361DNp\3\20.\13\21\350\1\4\30\14\22\361\14" + "\22\361NX\256\13\21\350B\3522\377\377\377\377\377\377\377\377\377\200\241" + "\177\370\376\367B\3522m\277h\377\377\377\377\377\377\377\377\377\377\377" + "\377\370\376\367\200\274\177\377\377\377B\3522t\315q\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\200\327\177\370\376\367\377\377" + "\377\222\344\222B\3522B\3522\377\377\377\377\377\377\370\376\367\377\377" + "\377B\3522\370\376\367\377\377\377\377\377\377B\3522\370\376\367\377\377" + "\377B\3522\370\376\367\377\377\377\377\377\377B\3522\370\376\367\377\377" + "\377B\3522\370\376\367\377\377\377\377\377\377B\3522\370\376\367\377\377" + "\377B\3522\370\376\367\14\22\361\12\12\360\2\11/\13\21\350\14\22\361\2\11" + "/\13\21\350\14\22\361\2\11/\12\12\360\13\21\350\14\22\361\2\11/\13\21\350" + "\14\22\361\2\11/\13\21\350\13\21\350\14\22\361\2\11/\13\21\350\2\11/\12\12" + "\360\14\22\361\12\12\360\370\376\367B\3522B\3522\377\377\377\377\377\377" + "\377\377\377\370\376\367\377\377\377B\3522B\3522\377\377\377\377\377\377" + "\377\377\377\377\377\377\370\376\367\377\377\377\377\377\377B\3522B\3522" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\370\376\367" + "\370\376\367\377\377\377\377\377\377B\3522B\3522\370\376\367\377\377\377" + "B\3522\377\377\377\370\376\367\377\377\377B\3522\370\376\367\377\377\377" + "B\3522\377\377\377\370\376\367\377\377\377B\3522\370\376\367\377\377\377" + "\377\377\377B\3522\370\376\367\377\377\377B\3522\370\376\367\377\377\377" + "\377\377\377B\3522\13\21\350\14\22\361\2\11/\13\21\350\12\12\360\14\22\361" + "\2\11/\13\21\350\14\22\361\2\11/\12\12\360\13\21\350\14\22\361\2\11/\13\21" + "\350\14\22\361\2\11/\2\11/\13\21\350\14\22\361\2\11/\13\21\350\2\11/\2\11" + "/\14\22\361\377\377\377\370\376\367\377\377\377B\3522\377\377\377\377\377" + "\377\377\377\377\370\376\367\370\376\367\377\377\377B\3522\377\377\377\377" + "\377\377\377\377\377\377\377\377\370\376\367\370\376\367\377\377\377\377" + "\377\377B\3522B\3522\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\370\376\367\370\376\367\377\377\377\377\377\377\370\376\367\377" + "\377\377B\3522\377\377\377\370\376\367\377\377\377%\20\34\370\376\367\377" + "\377\377\363\346\363B\3522\370\376\367\377\377\377B\3522\377\377\377\214" + ",\213\377\377\377B\3522\341\323\340\377\377\377\377\377\377e\371U\370\376" + "\367\377\377\377%B\34\12\12\360\13\21\3505%\321\2\11/\13\21\350<)\377\14" + "\22\361\2\11/\6\6\203\14\22\361\2\11/A2\306\13\21\350\14\22\361D>q\13\21" + "\350\14\22\361\6\10\210\2\11/\13\21\350QO\275\2\11/\3\20.\\b\377\2\11/\377" + "\377\377\220\231\220\370\376\367\370\376\367s\273mB\3522\377\377\377\377" + "\377\377\377\377\377\370\376\367\214\263\213B\3522B\3522\254\316\254\377" + "\377\377\377\377\377\377\377\377\370\376\367\370\376\367\220\317\220\377" + "\377\377B\3522\203\331\200\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\214\351\213\370\376\367\370\376\367\377\377\377\377\377\377" + "B\3522\370\376\367\377\377\377B\3522\377\377\377\370\376\367\377\377\377" + "B\3522\370\376\367\377\377\377\377\377\377B\3522\370\376\367\377\377\377" + "\377\377\377B\3522\370\376\367\377\377\377B\3522\377\377\377\370\376\367" + "\377\377\377\2\11/\13\21\350\12\12\360\14\22\361\2\11/\13\21\350\14\22\361" + "\12\12\360\2\11/\13\21\350\14\22\361\2\11/\12\12\360\13\21\350\14\22\361" + "\2\11/\13\21\350\12\12\360\14\22\361\2\11/\13\21\350\14\22\361\14\22\361" + "\2\11/\13\21\350B\3522B\3522\377\377\377\377\377\377\370\376\367\377\377" + "\377B\3522\377\377\377\377\377\377\377\377\377\377\377\377\370\376\367\377" + "\377\377B\3522B\3522\377\377\377\377\377\377\377\377\377\377\377\377\370" + "\376\367\370\376\367\377\377\377\377\377\377B\3522B\3522\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\370\376\367\377\377\377\377" + "\377\377B\3522\370\376\367\377\377\377B\3522\377\377\377\370\376\367\377" + "\377\377B\3522\377\377\377\370\376\367\377\377\377B\3522\370\376\367\377" + "\377\377\377\377\377B\3522\370\376\367\377\377\377\377\377\377B\3522\370" + "\376\367\377\377\377\12\12\360\2\11/\13\21\350\14\22\361\12\12\360\2\11/" + "\13\21\350\14\22\361\2\11/\12\12\360\13\21\350\14\22\361\2\11/\12\12\360" + "\13\21\350\14\22\361\2\11/\13\21\350\13\21\350\14\22\361\2\11/\13\21\350" + "\12\12\360\14\22\361\2\11/\370\376\367\377\377\377B\3522\377\377\377\377" + "\377\377\370\376\367\370\376\367B\3522B\3522\377\377\377\377\377\377\377" + "\377\377\370\376\367\370\376\367\377\377\377B\3522B\3522\377\377\377\377" + "\377\377\377\377\377\377\377\377\370\376\367\370\376\367\377\377\377\377" + "\377\377B\3522B\3522\377\377\377\377\377\377\377\377\377\370\376\367\377" + "\377\377\377\377\377(\10\36\370\376\367\377\377\377\370\356\370B\3522\370" + "\376\367\377\377\377\377\377\377B\3522\227#\227\377\377\377\377\377\377Q" + "\307D\370\376\367\377\377\377\377\377\377B\3522\370\376\367\234?\234B\352" + "2\377\377\377\335\312\335\14\22\361\2\11/;#\377\13\21\350\14\22\361\1\3\34" + "\12\12\360\13\21\350C1\317\2\11/\12\12\360M>\377\14\22\361\2\11/\6\4\222" + "\13\21\350\14\22\361NBd\12\12\360\13\21\350^Y\377\2\11/\13\21\350\6\11\215" + "\14\22\361B\3522\300\300\277\370\376\367B\3522\377\377\377\377\377\377\377" + "\377\377\227\252\227\377\377\377B\3522\201\303|\377\377\377\377\377\377\377" + "\377\377\370\376\367\370\376\367\234\306\234B\3522\377\377\377\256\330\256" + "\377\377\377\377\377\377\377\377\377\370\376\367\370\376\367\234\341\234" + "\377\377\377B\3522\224\351\223\377\377\377\370\376\367\377\377\377\377\377" + "\377B\3522\370\376\367\377\377\377\377\377\377B\3522\370\376\367\377\377" + "\377\377\377\377B\3522\370\376\367\377\377\377\377\377\377B\3522\370\376" + "\367\377\377\377\377\377\377B\3522\370\376\367\377\377\377\377\377\377B\352" + "2\370\376\367\12\12\360\14\22\361\2\11/\13\21\350\12\12\360\10\21\225\1\10" + "\35\6\11\224\7\20\217\10\21\225\1\10\35\6\11\224\7\20\217\10\21\225\1\10" + "\35\6\11\224\7\20\217\10\21\225\1\10\35\6\11\224\7\20\217\10\21\225\1\10" + "\35\1\10\35\7\20\217\240\377\237(\344\36(\344\36\232\370\231(\344\36(\344" + "\36\240\377\237\240\377\237\232\370\231\232\370\231\236\371\236(\344\36\236" + "\371\236\240\377\237\236\371\236\236\371\236\232\370\231\236\371\236(\344" + "\36(\344\36\236\371\236\240\377\237\240\377\237\236\371\236\236\371\236\370" + "\376\367\370\376\367\377\377\377\377\377\377B\3522\370\376\367\377\377\377" + "\377\377\377B\3522\370\376\367\377\377\377\377\377\377B\3522\370\376\367" + "\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377\377\377B\3522" + "\377\377\377\370\376\367\377\377\377B\3522\377\377\377\370\376\367\377\377" + "\377\377\377\377B\3522\13\21\350\14\22\361\12\12\360\2\11/\13\21\350\6\11" + "\224\10\21\225\1\10\35\7\20\217\6\11\224\10\21\225\1\10\35\6\11\224\7\20" + "\217\10\21\225\1\10\35\6\11\224\7\20\217\10\21\225\1\10\35\1\10\35\7\20\217" + "\10\21\225\6\11\224\1\10\35\232\370\231\240\377\237\240\377\237(\344\36\232" + "\370\231\236\371\236(\344\36\236\371\236\240\377\237\236\371\236\232\370" + "\231\236\371\236(\344\36(\344\36\240\377\237\240\377\237\236\371\236\232" + "\370\231\232\370\231\236\371\236(\344\36(\344\36\236\371\236\240\377\237" + "\240\377\237\377\377\377\377\377\377\370\376\367\370\376\367\377\377\377" + "\243\0\242\377\377\377\377\377\377D\3415\370\376\367\377\377\377\377\377" + "\377B\3522\377\377\377\243\32\242\377\377\377B\3522\362\340\362\370\376\367" + "\377\377\377\377\377\377B\3522\370\376\367\2506\250\377\377\377B\3522\343" + "\316\342\377\377\377\377\377\377q\376a\12\12\360\13\21\350\7\5\236\2\11/" + "\12\12\360?)\227\10\21\225\6\11\224B.^\7\20\217\6\11\224\5\7b\1\10\35\7\20" + "\217P9\235\10\21\225\1\10\35YG\347\7\20\217\10\21\225\3\4a\1\10\35\7\20\217" + "aX\236\6\11\224(\344\36\376\377\375\236\371\236\240\377\237\32\220\23\232" + "\370\231\232\370\231}\275y\236\371\236\240\377\237\377\377\377\232\370\231" + "\232\370\231h\270h(\344\36\236\371\236\245\322\245\240\377\237\236\371\236" + "\377\377\377\236\371\236\236\371\236\32\301\23\236\371\236\236\371\236\262" + "\344\262\377\377\377\377\377\377\377\377\377\370\376\367\370\376\367\377" + "\377\377\377\377\377B\3522\370\376\367\377\377\377\377\377\377B\3522\377" + "\377\377\370\376\367\377\377\377\377\377\377B\3522\370\376\367\377\377\377" + "\377\377\377B\3522\370\376\367\377\377\377\377\377\377B\3522\377\377\377" + "\370\376\367\377\377\377\377\377\377\2\11/\13\21\350\12\12\360\14\22\361" + "\2\11/\6\11\224\7\20\217\10\21\225\6\11\224\1\10\35\7\20\217\10\21\225\6" + "\11\224\1\10\35\7\20\217\6\11\224\10\21\225\1\10\35\6\11\224\7\20\217\10" + "\21\225\6\11\224\1\10\35\7\20\217\10\21\225\240\377\237(\344\36\232\370\231" + "\232\370\231\240\377\237(\344\36(\344\36\232\370\231(\344\36(\344\36\240" + "\377\237\240\377\237\236\371\236\232\370\231\236\371\236(\344\36(\344\36" + "\236\371\236\240\377\237\236\371\236\232\370\231\232\370\231\236\371\236" + "(\344\36(\344\36\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\370\376\367\377\377\377\377\377\377B\3522\370\376\367\377\377\377\377" + "\377\377B\3522\377\377\377\370\376\367\377\377\377\377\377\377B\3522\370" + "\376\367\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377\377\377" + "\377\377\377B\3522\370\376\367\377\377\377\377\377\377\2\11/\12\12\360\13" + "\21\350\14\22\361\12\12\360\1\10\35\7\20\217\6\11\224\10\21\225\1\10\35\6" + "\11\224\7\20\217\10\21\225\6\11\224\1\10\35\7\20\217\6\11\224\10\21\225\1" + "\10\35\6\11\224\7\20\217\10\21\225\6\11\224\1\10\35\7\20\217\236\371\236" + "\240\377\237(\344\36\236\371\236\232\370\231\240\377\237\236\371\236(\344" + "\36\232\370\231\236\371\236(\344\36\236\371\236\240\377\237\236\371\236\232" + "\370\231\232\370\231\236\371\236(\344\36\236\371\236\240\377\237\240\377" + "\237\236\371\236\232\370\231\232\370\231\236\371\236B\3522B\3522\377\377" + "\377\377\377\377\377\377\377\370\376\367\377\377\377\377\377\377H\3528\377" + "\377\377\370\376\367\264\22\264\377\377\377B\3522\360\345\357\377\377\377" + "\377\377\377[\357K\377\377\377\370\376\367\264-\264\377\377\377B\3522\351" + "\323\350\377\377\377\377\377\377n\371^\377\377\377\370\376\367\264H\264\12" + "\12\360\2\11/@$\327\12\12\360\14\22\361E(\323\1\10\35\7\20\217\4\3h\10\21" + "\225\1\10\35O2\241\7\20\217\10\21\225X>\346\1\10\35\7\20\217\4\4h\10\21\225" + "\1\10\35aK\244\7\20\217\10\21\225kZ\371\1\10\35\232\370\231o\225o\240\377" + "\237(\344\36\253\300\253\232\370\231\240\377\237\377\377\377(\344\36\232" + "\370\231l\257l(\344\36\236\371\236\256\316\256\240\377\237\236\371\236\377" + "\377\377\236\371\236(\344\36\34\271\25\236\371\236\240\377\237\260\334\260" + "\236\371\236\232\370\231\377\377\377\377\377\377B\3522.\326#\377\377\377" + "\370\376\367\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377\377" + "\377\377\377\377B\3522\370\376\367\377\377\377\377\377\377B\3522\377\377" + "\377\370\376\367\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377" + "\377\377\377\377\377B\3522\370\376\367\377\377\377\14\22\361\12\12\360\2" + "\11/\13\21\350\12\12\360\10\21\225\1\10\35\6\11\224\7\20\217\10\21\225\6" + "\11\224\1\10\35\7\20\217\6\11\224\10\21\225\6\11\224\1\10\35\7\20\217\6\11" + "\224\10\21\225\1\10\35\6\11\224\7\20\217\10\21\225\6\11\224(\344\36\232\370" + "\231\232\370\231\240\377\237(\344\36(\344\36\232\370\231\236\371\236\240" + "\377\237(\344\36\236\371\236\232\370\231(\344\36(\344\36\236\371\236\240" + "\377\237\236\371\236\232\370\231\232\370\231\236\371\236(\344\36\236\371" + "\236\240\377\237\240\377\237\236\371\236\370\376\367\370\376\367\377\377" + "\377\377\377\377B\3522\370\376\367\377\377\377\377\377\377B\3522\377\377" + "\377\370\376\367\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377" + "\377\377\377\377\377B\3522\370\376\367\377\377\377\377\377\377\377\377\377" + "B\3522\370\376\367\377\377\377\377\377\377B\3522\377\377\377\370\376\367" + "\14\22\361\12\12\360\2\11/\12\12\360\13\21\350\10\21\225\6\11\224\1\10\35" + "\7\20\217\6\11\224\10\21\225\6\11\224\1\10\35\7\20\217\6\11\224\10\21\225" + "\1\10\35\6\11\224\7\20\217\6\11\224\10\21\225\1\10\35\6\11\224\7\20\217\10" + "\21\225\236\371\236(\344\36\236\371\236\232\370\231\240\377\237\236\371\236" + "(\344\36\232\370\231\236\371\236\240\377\237(\344\36(\344\36\232\370\231" + "\236\371\236(\344\36\236\371\236\240\377\237\240\377\237\236\371\236\232" + "\370\231\236\371\236(\344\36(\344\36\236\371\236\240\377\237\377\377\377" + "\377\377\377\370\376\367\370\376\367\377\377\377\370\376\367\377\377\377" + "\377\377\3771\10%\377\377\377\370\376\367\372\356\372\377\377\377B\3522\377" + "\377\377\370\376\367\377\377\377\300$\300B\3522\377\377\377\355\330\354\377" + "\377\377\377\377\377j\365Z\377\377\377\370\376\367\300?\300\377\377\377B" + "\3522\347\312\347\12\12\360\14\22\361F#\377\2\11/\13\21\350\4\3o\10\21\225" + "\6\11\224J*[\7\20\217\6\11\224Y>\346\1\10\35\6\11\224\5\7k\6\11\224\10\21" + "\225^Bl\6\11\224\7\20\217kP\371\10\21\225\1\10\35\4\5o\7\20\217\240\377\237" + "\262\276\262(\344\36\236\371\236\377\377\377\240\377\237\236\371\236\36\230" + "\26\232\370\231\232\370\231\266\312\265\236\371\236(\344\36\377\377\377\232" + "\370\231(\344\36\36\261\26\236\371\236\240\377\237\270\326\270\232\370\231" + "\236\371\236\377\377\377(\344\36\236\371\236\300\341\300\377\377\377\377" + "\377\377\305\353\305\370\376\367\370\376\367\377\377\377\377\377\377B\352" + "2\377\377\377\370\376\367\377\377\377\377\377\377B\3522\377\377\377\370\376" + "\367\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377\377\377\377" + "\377\377B\3522\377\377\377\370\376\367\377\377\377\377\377\377B\3522\377" + "\377\377\13\21\350\12\12\360\14\22\361\2\11/\12\12\360\7\20\217\6\11\224" + "\10\21\225\1\10\35\6\11\224\7\20\217\6\11\224\10\21\225\1\10\35\6\11\224" + "\7\20\217\6\11\224\10\21\225\1\10\35\6\11\224\7\20\217\6\11\224\10\21\225" + "\1\10\35\6\11\224\232\370\231\240\377\237\240\377\237(\344\36\236\371\236" + "\232\370\231\240\377\237\240\377\237(\344\36\236\371\236\232\370\231\240" + "\377\237\240\377\237(\344\36\236\371\236\232\370\231\236\371\236(\344\36" + "\236\371\236\240\377\237\236\371\236\232\370\231\232\370\231\236\371\236" + "(\344\36B\3522\377\377\377\377\377\377\377\377\377\377\377\377\370\376\367" + "\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377\377\377\377\377" + "\377B\3522\377\377\377\370\376\367\377\377\377\377\377\377\377\377\377B\352" + "2\370\376\367\377\377\377\377\377\377\377\377\377B\3522\370\376\367\377\377" + "\377\377\377\377\377\377\377B\3522\370\376\367\377\377\377\377\377\377\377" + "\377\377B\3522\236\371\236\232\370\231\240\377\237\236\371\236(\344\36\236" + "\371\236\232\370\231\240\377\237\236\371\236(\344\36\236\371\236\232\370" + "\231\240\377\237\236\371\236(\344\36\236\371\236\232\370\231\240\377\237" + "\236\371\236(\344\36\236\371\236\232\370\231\236\371\236\240\377\237(\344" + "\36\236\371\236\232\370\231\236\371\236\240\377\237(\344\36\236\371\236\232" + "\370\231\236\371\236\240\377\237(\344\36(\344\36\232\370\231\236\371\236" + "(\344\36\236\371\236\240\377\237\240\377\237\236\371\236\232\370\231\236" + "\371\236\377\377\377B\3522\377\377\377\377\377\377\377\377\377\306\0\305" + "\377\377\377\377\377\377F\3417\377\377\377\370\376\367\377\377\377\377\377" + "\377\377\377\3774\30(\370\376\367\377\377\377\367\340\367\377\377\377B\352" + "2\377\377\377\370\376\367\377\377\377\3146\314B\3522\377\377\377\354\316" + "\353\377\377\377\377\377\377{\376k\377\377\377\370\376\367\314Q\314\377\377" + "\377B\3522\256\300\256\232\370\231\236\371\236\357\377\356\236\371\236(\344" + "\36{iz\236\371\236\240\377\237\262\273\262(\344\36\232\370\231\377\377\377" + "\240\377\237\236\371\236\40x\30\236\371\236\232\370\231\270\300\270\236\371" + "\236(\344\36\377\377\377\232\370\231\236\371\236\200\242\177(\344\36\236" + "\371\236\272\303\272\236\371\236\240\377\237\270\377\256(\344\36\232\370" + "\231~\270~\240\377\237\236\371\236\246\313\244\232\370\231\232\370\231\315" + "\377\303(\344\36\236\371\236\200\330\177\236\371\236\232\370\231\321\343" + "\321\377\377\377B\3522\375\377\355\377\377\377\370\376\367\377\377\377\377" + "\377\377\377\377\377B\3522\370\376\367\377\377\377\377\377\377\377\377\377" + "B\3522\377\377\377\370\376\367\377\377\377\377\377\377B\3522\377\377\377" + "\370\376\367\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377\377" + "\377\377\377\377\377\377\377B\3522\370\376\367\377\377\377\377\377\377\377" + "\377\377(\344\36\236\371\236\232\370\231\240\377\237\236\371\236(\344\36" + "\236\371\236\232\370\231\236\371\236\240\377\237\236\371\236(\344\36\232" + "\370\231\236\371\236\240\377\237\236\371\236(\344\36\236\371\236\232\370" + "\231\240\377\237\236\371\236(\344\36\236\371\236\232\370\231\236\371\236" + "\240\377\237(\344\36\236\371\236\232\370\231\236\371\236\240\377\237\236" + "\371\236(\344\36\232\370\231\232\370\231\240\377\237\236\371\236(\344\36" + "\236\371\236\232\370\231\236\371\236(\344\36\236\371\236\240\377\237\240" + "\377\237\377\377\377\370\376\367\377\377\377\377\377\377B\3522\370\376\367" + "\377\377\377\377\377\377\377\377\377B\3522\370\376\367\377\377\377\377\377" + "\377\377\377\377B\3522\377\377\377\370\376\367\377\377\377\377\377\377B\352" + "2\377\377\377\370\376\367\377\377\377\377\377\377\377\377\377B\3522\377\377" + "\377\370\376\367\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377" + "\377\377\377\377\377\236\371\236(\344\36\232\370\231\236\371\236\240\377" + "\237\236\371\236(\344\36\236\371\236\232\370\231\236\371\236\240\377\237" + "(\344\36\236\371\236\232\370\231\236\371\236\240\377\237\236\371\236(\344" + "\36\236\371\236\232\370\231\240\377\237\236\371\236(\344\36\236\371\236\232" + "\370\231\236\371\236\240\377\237(\344\36(\344\36\232\370\231\236\371\236" + "\240\377\237\236\371\236(\344\36\236\371\236\232\370\231\240\377\237\240" + "\377\237(\344\36\236\371\236\232\370\231\236\371\236(\344\36\236\371\236" + "\236\371\236\377\377\377\377\377\377\370\376\367\370\376\367\377\377\377" + "\370\376\367\377\377\377\377\377\377\377\377\377B\3522\370\376\367\330\22" + "\330\377\377\377\377\377\377Q\323B\377\377\377\370\376\367\377\377\377\377" + "\377\377\377\377\3777)*\370\376\367\377\377\377\366\324\366\377\377\377B" + "\3522\377\377\377\370\376\367\377\377\377\330H\330\377\377\377B\3522\355" + "\306\354\377\377\377\377\377\377\352\377\352(\344\36\236\371\236\202`\201" + "\236\371\236\240\377\237\266\274\266(\344\36\232\370\231\377\377\377\240" + "\377\237\236\371\236!p\31\236\371\236\232\370\231\274\274\274\240\377\237" + "\236\371\236\241\377\227\232\370\231\236\371\236\207\231\206\236\371\236" + "(\344\36\302\300\302\232\370\231\236\371\236\377\377\377\236\371\236(\344" + "\36\202\257\201\236\371\236\240\377\237\310\314\310(\344\36\236\371\236\377" + "\377\377\236\371\236\240\377\237!\271\31(\344\36\232\370\231\315\333\315" + "(\344\36(\344\36\377\377\377\377\377\377\377\377\377\330\352\330\370\376" + "\367\370\376\367\377\377\377\377\377\377\377\377\377B\3522\377\377\377\370" + "\376\367\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377\377\377" + "\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377\377\377\377\377" + "\377\377\377\377B\3522\370\376\367\377\377\377\377\377\377\377\377\377B\352" + "2\377\377\377\370\376\367\377\377\377\377\377\377\377\377\377B\3522\377\377" + "\377\370\376\367\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377" + "\377\377\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377\377\377" + "\377\377\377B\3522\377\377\377\370\376\367\377\377\377\377\377\377\377\377" + "\377B\3522\377\377\377\370\376\367\377\377\377\377\377\377\377\377\377B\352" + "2\370\376\367\370\376\367\377\377\377\377\377\377B\3522\377\377\377\370\376" + "\367\377\377\377\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377" + "\377\377B\3522\377\377\377\377\377\377\377\377\377\377\377\377\370\376\367" + "\377\377\377\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377\377" + "\377\377\377\377B\3522\377\377\377\370\376\367\377\377\377\377\377\377\377" + "\377\377B\3522\377\377\377\370\376\367\377\377\377\377\377\377\377\377\377" + "B\3522\377\377\377\370\376\367\377\377\377\377\377\377\377\377\377B\3522" + "\370\376\367\377\377\377\377\377\377\377\377\377B\3522\377\377\377\370\376" + "\367\377\377\377\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377" + "\377\377\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377\377\377" + "\377\377\377B\3522\377\377\377\370\376\367\377\377\377\377\377\377\377\377" + "\377B\3522\377\377\377\370\376\367\377\377\377\377\377\377\377\377\377B\352" + "2\377\377\377\370\376\367\377\377\377\377\377\377B\3522B\3522\370\376\367" + "\377\377\377\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377\377" + "\377B\3522\377\377\377\377\377\377\377\377\377\370\376\367\377\377\377\377" + "\377\377\344\11\344B\3522\377\377\377\366\355\365\377\377\377\377\377\377" + "\377\377\377B\3522\377\377\377\335#\334\377\377\377\377\377\377^\307Q\377" + "\377\377\370\376\367\377\377\377\377\377\377\377\377\377;9,\377\377\377\370" + "\376\367\367\313\367\377\377\377\377\377\377\212\377z\377\377\377\370\376" + "\367\344Z\344\377\377\377\377\377\377\200\265v\377\377\377\370\376\367\377" + "\377\377\377\377\377\377\377\377;k,\377\377\377\370\376\367\361\277\361\377" + "\377\377B\3522\377\377\377\370\376\367\377\377\377\344\220\344\377\377\377" + "B\3522\356\301\356\370\376\367\377\377\377\377\377\377\377\377\377B\3522" + "\344\253\344\370\376\367\377\377\377\353\312\353\377\377\377B\3522\377\377" + "\377\370\376\367\377\377\377\344\306\344\377\377\377B\3522\347\327\347\370" + "\376\367\377\377\377\377\377\377B\3522B\3522\335\340\334\370\376\367B\352" + "2\326\351\325\377\377\377\370\376\367\377\377\377\377\377\377\377\377\377" + "B\3522\377\377\377\370\376\367\377\377\377\377\377\377\377\377\377B\3522" + "\377\377\377\370\376\367\377\377\377\377\377\377\377\377\377B\3522\377\377" + "\377\370\376\367\377\377\377\377\377\377\377\377\377B\3522\377\377\377\370" + "\376\367\377\377\377\377\377\377\377\377\377B\3522\370\376\367\377\377\377" + "\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377\377\377\377\377" + "\377\377\377\377B\3522\377\377\377\370\376\367\377\377\377\377\377\377\377" + "\377\377B\3522\377\377\377\370\376\367\377\377\377\377\377\377\377\377\377" + "B\3522\377\377\377\370\376\367\377\377\377\377\377\377\377\377\377B\3522" + "\377\377\377\370\376\367\377\377\377\377\377\377\377\377\377B\3522\377\377" + "\377\370\376\367\377\377\377\377\377\377\377\377\377B\3522\377\377\377\370" + "\376\367\377\377\377\377\377\377\377\377\377B\3522\377\377\377\370\376\367" + "\377\377\377B\3522\370\376\367\377\377\377\377\377\377\377\377\377B\3522" + "\377\377\377\370\376\367\377\377\377\377\377\377\377\377\377B\3522\377\377" + "\377\370\376\367\377\377\377\377\377\377\377\377\377B\3522\377\377\377\370" + "\376\367\377\377\377\377\377\377\377\377\377B\3522\377\377\377\370\376\367" + "\377\377\377\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377\377" + "\377\377\377\377\377\377\377B\3522\377\377\377\370\376\367\377\377\377\377" + "\377\377\377\377\377B\3522\377\377\377\370\376\367\377\377\377\377\377\377" + "\377\377\377B\3522\377\377\377\370\376\367\377\377\377\377\377\377\377\377" + "\377B\3522\377\377\377\370\376\367\377\377\377\377\377\377\377\377\377B\352" + "2\377\377\377\370\376\367\377\377\377\377\377\377\377\377\377B\3522\377\377" + "\377\370\376\367\377\377\377\377\377\377\377\377\377B\3522\377\377\377\370" + "\376\367\377\377\377\377\377\377\377\377\377B\3522\377\377\377\370\376\367" + "\377\377\377", +}; + diff -r 3c9d9c052c8f -r ac6bc19a2dfb test/automated/surface/surface.c --- a/test/automated/surface/surface.c Wed Jul 01 10:22:28 2009 +0000 +++ b/test/automated/surface/surface.c Wed Jul 01 22:03:32 2009 +0000 @@ -36,6 +36,7 @@ * Pull in images for testcases. */ #include "primitives.c" +#include "blend.c" /** @@ -176,6 +177,90 @@ /** + * @brief Tests the SDL primitives with alpha for rendering. + */ +static void surface_testPrimitivesAlpha (void) +{ + int ret; + int i, j; + SDL_Rect rect; + SDL_Surface *testsur; + + SDL_ATbegin( "Primitives Alpha Test" ); + + /* Create the surface. */ + testsur = SDL_CreateRGBSurface( 0, 80, 60, 32, + RMASK, GMASK, BMASK, AMASK ); + + /* Create some rectangles for each blend mode. */ + ret = SDL_BlendRect( testsur, NULL, SDL_BLENDMODE_NONE, 255, 255, 255, 0 ); + if (SDL_ATassert( "SDL_BlendRect", ret == 0)) + return; + rect.x = 10; + rect.y = 25; + rect.w = 40; + rect.h = 25; + ret = SDL_BlendRect( testsur, &rect, SDL_BLENDMODE_ADD, 240, 10, 10, 75 ); + if (SDL_ATassert( "SDL_BlendRect", ret == 0)) + return; + rect.x = 30; + rect.y = 40; + rect.w = 45; + rect.h = 15; + ret = SDL_BlendRect( testsur, &rect, SDL_BLENDMODE_BLEND, 10, 240, 10, 100 ); + if (SDL_ATassert( "SDL_BlendRect", ret == 0)) + return; + rect.x = 25; + rect.y = 25; + rect.w = 25; + rect.h = 25; + ret = SDL_BlendRect( testsur, &rect, SDL_BLENDMODE_MOD, 10, 10, 240, 125 ); + if (SDL_ATassert( "SDL_BlendRect", ret == 0)) + return; + + /* Draw blended lines, lines for everyone. */ + for (i=0; iw; i+=2) { + ret = SDL_BlendLine( testsur, 0, 0, i, 59, + (((i/2)%3)==0) ? SDL_BLENDMODE_BLEND : + (((i/2)%3)==1) ? SDL_BLENDMODE_ADD : SDL_BLENDMODE_MOD, + 60+2*j, 240-2*j, 50, 3*j ); + if (SDL_ATassert( "SDL_BlendLine", ret == 0)) + return; + } + for (i=0; ih; i+=2) { + ret = SDL_BlendLine( testsur, 0, 0, 79, i, + (((i/2)%3)==0) ? SDL_BLENDMODE_BLEND : + (((i/2)%3)==1) ? SDL_BLENDMODE_ADD : SDL_BLENDMODE_MOD, + 60+2*j, 240-2*j, 50, 3*j ); + if (SDL_ATassert( "SDL_BlendLine", ret == 0)) + return; + } + + /* Draw points. */ + for (j=0; jh; j+=3) { + for (i=0; iw; i+=3) { + ret = SDL_BlendPoint( testsur, i, j, + ((((i+j)/3)%3)==0) ? SDL_BLENDMODE_BLEND : + ((((i+j)/3)%3)==1) ? SDL_BLENDMODE_ADD : SDL_BLENDMODE_MOD, + j*4, i*3, j*4, i*3 ); + if (SDL_ATassert( "SDL_BlendPoint", ret == 0)) + return; + } + } + + /* See if it's the same. */ + if (SDL_ATassert( "Primitives output not the same.", + surface_compare( testsur, &img_blend )==0 )) + return; + + /* Clean up. */ + SDL_FreeSurface( testsur ); + + SDL_ATend(); +} + + +/** * @brief Entry point. */ int main( int argc, const char *argv[] ) @@ -186,7 +271,7 @@ SDL_Init(0); surface_testPrimitives(); - /*surface_testPrimitivesAlpha();*/ + surface_testPrimitivesAlpha(); /* Exit SDL. */ SDL_Quit();