From 7198d2623dd882bdd159b7a6620bd86c0ddffe7c Mon Sep 17 00:00:00 2001 From: treeform Date: Fri, 11 Feb 2022 21:08:33 -0800 Subject: [PATCH] add test sutie images --- .../bmp/bmpsuite/ spaces in filename.bmp | Bin 0 -> 230454 bytes tests/fileformats/bmp/bmpsuite/1bpp-1x1.bmp | Bin 0 -> 66 bytes .../bmp/bmpsuite/1bpp-320x240-color.bmp | Bin 0 -> 9662 bytes .../bmpsuite/1bpp-320x240-overlappingcolor.bmp | Bin 0 -> 9662 bytes .../fileformats/bmp/bmpsuite/1bpp-320x240.bmp | Bin 0 -> 9662 bytes .../fileformats/bmp/bmpsuite/1bpp-321x240.bmp | Bin 0 -> 10622 bytes .../fileformats/bmp/bmpsuite/1bpp-322x240.bmp | Bin 0 -> 10622 bytes .../fileformats/bmp/bmpsuite/1bpp-323x240.bmp | Bin 0 -> 10622 bytes .../fileformats/bmp/bmpsuite/1bpp-324x240.bmp | Bin 0 -> 10622 bytes .../fileformats/bmp/bmpsuite/1bpp-325x240.bmp | Bin 0 -> 10622 bytes .../fileformats/bmp/bmpsuite/1bpp-326x240.bmp | Bin 0 -> 10622 bytes .../fileformats/bmp/bmpsuite/1bpp-327x240.bmp | Bin 0 -> 10622 bytes .../fileformats/bmp/bmpsuite/1bpp-328x240.bmp | Bin 0 -> 10622 bytes .../fileformats/bmp/bmpsuite/1bpp-329x240.bmp | Bin 0 -> 10622 bytes .../fileformats/bmp/bmpsuite/1bpp-330x240.bmp | Bin 0 -> 10622 bytes .../fileformats/bmp/bmpsuite/1bpp-331x240.bmp | Bin 0 -> 10622 bytes .../fileformats/bmp/bmpsuite/1bpp-332x240.bmp | Bin 0 -> 10622 bytes .../fileformats/bmp/bmpsuite/1bpp-333x240.bmp | Bin 0 -> 10622 bytes .../fileformats/bmp/bmpsuite/1bpp-334x240.bmp | Bin 0 -> 10622 bytes .../fileformats/bmp/bmpsuite/1bpp-335x240.bmp | Bin 0 -> 10622 bytes .../bmp/bmpsuite/1bpp-topdown-320x240.bmp | Bin 0 -> 9662 bytes tests/fileformats/bmp/bmpsuite/24bpp-1x1.bmp | Bin 0 -> 58 bytes .../fileformats/bmp/bmpsuite/24bpp-320x240.bmp | Bin 0 -> 230454 bytes .../fileformats/bmp/bmpsuite/24bpp-321x240.bmp | Bin 0 -> 231414 bytes .../fileformats/bmp/bmpsuite/24bpp-322x240.bmp | Bin 0 -> 232374 bytes .../fileformats/bmp/bmpsuite/24bpp-323x240.bmp | Bin 0 -> 233334 bytes .../bmp/bmpsuite/24bpp-imagesize-zero.bmp | Bin 0 -> 230454 bytes .../bmp/bmpsuite/24bpp-topdown-320x240.bmp | Bin 0 -> 230454 bytes .../bmp/bmpsuite/32bpp-101110-320x240.bmp | Bin 0 -> 307266 bytes tests/fileformats/bmp/bmpsuite/32bpp-1x1.bmp | Bin 0 -> 58 bytes .../fileformats/bmp/bmpsuite/32bpp-320x240.bmp | Bin 0 -> 307254 bytes .../32bpp-888-optimalpalette-320x240.bmp | Bin 0 -> 307290 bytes .../bmpsuite/32bpp-optimalpalette-320x240.bmp | Bin 0 -> 307278 bytes .../bmp/bmpsuite/32bpp-topdown-320x240.bmp | Bin 0 -> 307254 bytes tests/fileformats/bmp/bmpsuite/4bpp-1x1.bmp | Bin 0 -> 82 bytes .../fileformats/bmp/bmpsuite/4bpp-320x240.bmp | Bin 0 -> 38478 bytes .../fileformats/bmp/bmpsuite/4bpp-321x240.bmp | Bin 0 -> 39438 bytes .../fileformats/bmp/bmpsuite/4bpp-322x240.bmp | Bin 0 -> 39438 bytes .../fileformats/bmp/bmpsuite/4bpp-323x240.bmp | Bin 0 -> 39438 bytes .../fileformats/bmp/bmpsuite/4bpp-324x240.bmp | Bin 0 -> 39438 bytes .../fileformats/bmp/bmpsuite/4bpp-325x240.bmp | Bin 0 -> 39438 bytes .../fileformats/bmp/bmpsuite/4bpp-326x240.bmp | Bin 0 -> 39438 bytes .../fileformats/bmp/bmpsuite/4bpp-327x240.bmp | Bin 0 -> 39438 bytes .../bmp/bmpsuite/4bpp-topdown-320x240.bmp | Bin 0 -> 38478 bytes tests/fileformats/bmp/bmpsuite/8bpp-1x1.bmp | Bin 0 -> 82 bytes .../fileformats/bmp/bmpsuite/8bpp-1x64000.bmp | Bin 0 -> 256078 bytes .../fileformats/bmp/bmpsuite/8bpp-320x240.bmp | Bin 0 -> 76878 bytes .../fileformats/bmp/bmpsuite/8bpp-321x240.bmp | Bin 0 -> 77838 bytes .../fileformats/bmp/bmpsuite/8bpp-322x240.bmp | Bin 0 -> 77838 bytes .../fileformats/bmp/bmpsuite/8bpp-323x240.bmp | Bin 0 -> 77838 bytes .../bmp/bmpsuite/8bpp-colorsimportant-two.bmp | Bin 0 -> 76878 bytes .../bmp/bmpsuite/8bpp-colorsused-zero.bmp | Bin 0 -> 77878 bytes .../bmp/bmpsuite/8bpp-topdown-320x240.bmp | Bin 0 -> 76878 bytes .../bmp/bmpsuite/misleadingextension.jpg | Bin 0 -> 230454 bytes 54 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/fileformats/bmp/bmpsuite/ spaces in filename.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-1x1.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-320x240-color.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-320x240-overlappingcolor.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-320x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-321x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-322x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-323x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-324x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-325x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-326x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-327x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-328x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-329x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-330x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-331x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-332x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-333x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-334x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-335x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/1bpp-topdown-320x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/24bpp-1x1.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/24bpp-320x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/24bpp-321x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/24bpp-322x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/24bpp-323x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/24bpp-imagesize-zero.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/24bpp-topdown-320x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/32bpp-101110-320x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/32bpp-1x1.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/32bpp-320x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/32bpp-888-optimalpalette-320x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/32bpp-optimalpalette-320x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/32bpp-topdown-320x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/4bpp-1x1.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/4bpp-320x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/4bpp-321x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/4bpp-322x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/4bpp-323x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/4bpp-324x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/4bpp-325x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/4bpp-326x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/4bpp-327x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/4bpp-topdown-320x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/8bpp-1x1.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/8bpp-1x64000.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/8bpp-320x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/8bpp-321x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/8bpp-322x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/8bpp-323x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/8bpp-colorsimportant-two.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/8bpp-colorsused-zero.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/8bpp-topdown-320x240.bmp create mode 100644 tests/fileformats/bmp/bmpsuite/misleadingextension.jpg diff --git a/tests/fileformats/bmp/bmpsuite/ spaces in filename.bmp b/tests/fileformats/bmp/bmpsuite/ spaces in filename.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9d4a9837bc30b532fa674614df5cafe3edf82f07 GIT binary patch literal 230454 zcmeI!QF7Y^0EA(8xCBSw1bt?B=T;n+M{ZD*dLj(Yw3&RF)?0o})2fnpBk#W(=eOTK z{_)f0>G*hj{c?Q$`r&f<>-hJ><>%w?<2dgBdA#K5tD^);;D<=yQ%4Duz+eK`A3w)~ zUoQQ5Qvz=i74|iO!lMM9X8Uxs-?#txA^>mywm-&CfWo5$+ON-m0JL8R@IQ8FzYf3s zLINOla{CVL*BMqpNC2cxZr`E(I>Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn z@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK z_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~X zliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz z467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w? zonaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d z`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx z0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+P zBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRL zf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke z?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djo zVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=< zGpvG;07#wOzC-(UhE)&}0I8GPcWA%PunIx~Aa!#44(-<&RzXMrq)u+%q5V3;DhLUH z)XD8Tv|ndf1t9^DI=Ov^_UjC*AS3`%C%5m=ew|?zgakn9g4tv{PK&6M&0< z|7nN9qXfRV-%rnX&(G!K%JsOta-QFxJiq+u-|O8MuiOjI7r%6i-tqen=D{9kYtDs7 z3Ea%;ekteZ?$>nQI#2H9$CdlLueows-M{$rEqcf8_n`*;BVnJ<@W#p literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/1bpp-1x1.bmp b/tests/fileformats/bmp/bmpsuite/1bpp-1x1.bmp new file mode 100644 index 0000000000000000000000000000000000000000..508b73ce867d480be69cec38dff535686c4532a4 GIT binary patch literal 66 pcmZ?rbz*=3J0PV2#EftZVlgnV0PzcE2xbC{K#2eU|1;DB2>_Vv36TH* literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/1bpp-320x240-color.bmp b/tests/fileformats/bmp/bmpsuite/1bpp-320x240-color.bmp new file mode 100644 index 0000000000000000000000000000000000000000..282498dd369d9b37afbd9380e1b29f47a87cb905 GIT binary patch literal 9662 zcmeIuF-`(u07PLJ8Y}e(HYOgy!sx_C8{?5MYGLP%yn@%TB(Vo~z(**IY(Y7{fqCk> zi{I_T$N6M^u7~%F;pORMvKV$ceC0e1zyF$TURwWTcw4L{s}sK2zw_0ov-Iw*Zg&4B zpJ;pJZ4S}v(2%KYUC@xJY+cZhscc=)kg054(2%KYUC@xJY+cZhscc=)kg054(2%KY zUC@xJY+cZhscc=)kg054(2%KYUC@xJY+cZhscc=)kg054(2%KYUC@xJY+cZhscc=) zkg054(2%KYUC@xJY+cZhscc=)kg054(2%KYUC@xJY+cZhscc=)kg054(2%KYUC@xJ zY+cZhscc=)kg4n;TwdO0pJ%6=yZ(2-*Lxiu^twkKUyge2^T_9py6*1#T_;z|{r~Ug Sii2G@UyVAyA8hyGfArcwa1Esyeb&Cjmq}sRBIWy&yl+^$ z@w>izJDsi1<@kO!zC54JKF6JpUpWus?>`osm)1WS--aRIlh1OPbXMNITyKbx(utKt28c==#9`x^FO_{#M-{Qh%3zO??y__kWDw!Yh)i{bEuYw7LVTyOtH zKGEiqH#tPlp&?V*x}YIb*}9-1Q`x$pAye79pdnM)x}YIb*}9-1Q`x$pAye79pdnM) zx}YIb*}9-1Q`x$pAye79pdnM)x}YIb*}9-1Q`x$pAye79pdnM)x}YIb*}9-1Q`x$p zAye79pdnM)x}YIb*}9-1Q`x$pAye79pdnM)x}YIb*}9-1Q`x$pAye79pdnM)x}YIb z*}9-1Q`x$pAye6XxIDkkKTc1^yY9N*%bgDQdhS6-7n7d*H1WBU&fR{$>G*Q_|NlFl S*xR|qYSQ)l!L}d%cmDu1!n`N| literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/1bpp-321x240.bmp b/tests/fileformats/bmp/bmpsuite/1bpp-321x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..754c829779b7e9c65b11ab5e327a66945739b80e GIT binary patch literal 10622 zcmeI0Jr2S!3`Wy*VFGSYMz{e3LWKnu#Eqx~3~U^YYcL|QB7$Qxc&fs{_FN_XiCaZa zpPkg}-C-8gmeNn9t*Q_na<1ga*2?(3wifk?btxrx*MHfGb8aQpiBs!8*Z8+yex$-z zalpY;0S7pcA2eN(CvDY$100M19N?gfLjwmmxNQP@Fc@%vgA0p*9?%1Npr&9NfCC(S zHb4*P0X^uiBsC_*kl+9ZBLD|D=;F}80S<1PfF2A69N^%>f?C@b25~`L5EoWkIbG`8 uWL&0)^EM9t;=7N-dGQ>MKg^-nck{f)(c)dk;ZNG>Qki8xKZU;Q?E3*?8tlXX literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/1bpp-322x240.bmp b/tests/fileformats/bmp/bmpsuite/1bpp-322x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..caedf4be97ebe099a21869a8d95396025142f921 GIT binary patch literal 10622 zcmeI%F%E(-6oBCZi<5c-9Q6hcMhJ^8#v5s(4sITaBX|u*6IWw>BJl~$OqcVm~zOtvGbi;i~gU9PAB(d>|jl2bm-T^JY}QK^1Vo!TFCt+;e|W4IFS#0UU5hYe$a* z4(4A3`Jfm$;9!OY>&Z6;#jEORa1zM1ly~h&M8z7Iq%ZYuH7wH_rY*MvJf(Y2=%*KiQpx z<>k$r-K=(psqwaydLm_=8S{`flgn8t^Y=Uy>qkP>G>y9J?iS))NlCF`|KUjq)274RVd0S@30L&7)k0Y1P7zlqQ=kT)Y5=mYwo0|P$52lzm~Xph~WXMOYm zeLx@32lPRrpin4${S!qe(Mfa?om2{;>A?Sohz2@|PU^sb5AXp#kT=Pj5(S(uf)s!Q zIOwDRAK=43^Wk*KZ{tzgH$HFepcmi09nO>2aQtBn$-bNC)fS6a8V)`2p;8->u5K-p KdI?>9Ctq*eL6#o? literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/1bpp-325x240.bmp b/tests/fileformats/bmp/bmpsuite/1bpp-325x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..314eec28ec83180642fa833cf6eeceaa5573b310 GIT binary patch literal 10622 zcmeI2u?oU45Qfuq(8;>FI_euZh!jC|5#PvyI=K00zJ{aV(9L*FGMr1B4o-fN)YzP* z{CxKxSGwLG=f;nf9A`2&nK4iK&g9dKQuZHtnAV>O2j`sn)xI1^a3wQk)Dl$c%N1Y$ z(mQ5Ctk(k_0v70i4%#5#0UqGN*H0}2bu+4gKj05KG2j6n;DLIfI!=uPbu+4gPvVn0 zG2j6n;DNeH-IOfgd3CS?bU+7P6yO0K;DH`8GC(Avt#Yy4hm+PSZgfXP0I@Vk?!5ZOd9V^<~@E H%{!4FB~yR^ literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/1bpp-326x240.bmp b/tests/fileformats/bmp/bmpsuite/1bpp-326x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..4a077fe64d0249bc0d7581f6e992d8cd5383b9dc GIT binary patch literal 10622 zcmeI2F$%&!5JfjhBM8PLSn3TdM1qCdh&M8z7Iq%ZYgh`Ff^o8&;@c#f!pgU@>za%q zeBS(FLRP!O%=xjjb!u~+IQOvc#6I;X?EF0oGxbNpQdO1wYTsrST-uBoFAFO4a{1T4 z^o$!4>-9i~fCW0BgBk=pzymz^`l&KdHybtZ2mC=310LW39;g@6aVief%|;D;5}(w> zfCqSh2kItu)3Si))xiqT0Ufj`zymzM13hHJ06jwx0v*snZ4n;e0Uqe3>7^|T{<&v3 zU9#I`9IT*Ahx0Za{3Ldtj^@$#aO`mp(XpH7HO&|AI33hDyEN+&TS_vvZR>Xz^|EdI H`klxR-h*`U literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/1bpp-327x240.bmp b/tests/fileformats/bmp/bmpsuite/1bpp-327x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..18eed54db5ae91734e0067d6ce4cf579b602b83d GIT binary patch literal 10622 zcmeI2I|{-;5Qg(Wv{H{?sW-3?2{y42Z)89%?7UKL;594-YmGBI2F50j!tUF!k7Oqy zeEc)X4!hYM7Evf`Y3EY&IEo(9$8u=NWd5F7O~Msxs;Y8l&BIuX3#nboON=uAxZ%%T zrJovL8*sqEQ~?J#5FbLkEa3nL_vJ(n1_KUoaBfkd2lRj*^k;!}mQsL&QGf#+$is*R z$SIg3zyS_*NYoxZpa=92mJTHx;NTXK=)qvX0S?YB$hCc8;1~D>exW~2vx`r(@ZOudo~9UAl2cM6Mui=2{PR|A zyBxL=2OLxtaDW5zL!2*bIKaWIoajMezyS`%Ej)Ta59lFm7C2`G3UE*gaDW4G7|{SR z1$6{Cz@eQILyaEL1A2%@hZ+uWFo#I=pfKP72jdpR+P*OG3;Y7V2%9Eij)4LklmZ;! zK+I7z5MwKsTmD$gRS|vj3%&y$3G<7ZeBMxUcS>fH2xFnE@nM!E4x~^ MwZ+g5+u9b}5A3U*UH||9 literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/1bpp-330x240.bmp b/tests/fileformats/bmp/bmpsuite/1bpp-330x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..cabb99f686ffcf5eba2221324f59f2256b04f822 GIT binary patch literal 10622 zcmeI0I|{-;5J1>X!!2w5Amf_860{*$mg zUNXD8-0r6?#6q_dT{k`F?z->k;-l32x7^k&T(OOaL}wj`g-E3jBt(3T5BT5<2lc{JfP+zh103j2T4jI(9O6C#KHvjBFm`GjsF{ZeDBxg5 zzyS`;zrpYE0Uz)|G?-)Z6yRVK-~b24(pDMZ0Ef7bfDib94~(4}2WsY+0tz^o5pZZZ z9MAc6JhJnyx_Me>{lDbyvcW954Tmq_2LQE>N}R?l^V(HZ$hw%FJy(O85Mc>u$pxJ%~tj)p1&g99@N^s71>7b@^8< z-?TO=asv!Fs1tC2L;H0w1|RSNAH)Uyrl$Z0r2q#wFs{~~0S<78#|Zd<5BR{`sd1oU zjVYjjgBk$`I5gh|U*ZEk;DfkejmcAhgHnJ49GFXM&j1HF#A5_}zz2L_?$kI?vBnfo zz(I}h9M0GLJ{jwESATKY*uh_N_jWi>Zo{cZ8*u*gNsPM3PmzVl E2ek;Nga7~l literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/1bpp-332x240.bmp b/tests/fileformats/bmp/bmpsuite/1bpp-332x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..de3c493dc617ce36964287d2ebf1814e774f6806 GIT binary patch literal 10622 zcmeI2y$*sf7)482oWw_P)XCMs7~-OX#y65g9o&30U&9R(cRyRcG*kyEgWD)FFa8?c)z%wWbIKUyy37?|} z^zf~R(SqKT;GhKH00*BN@E4jP;Q$9E00%f2)>hsk zz(XnsIKUyE7tsTHKo8zSv8I5R#!LIT01v4%A{^kL1mFM%ymX@hJcE*e100%n!q?~l zJ$&ooaLO-}k+!ydPaZe6|CiXU9n6!TVc+2yl4IBRvmGv;X&hpPZOl5vRKj>52R9$h*KiaZ72~C6;dE%@;P$07O_OUW zAAfWGOXjQX*i~gF^+@)0=G;||nQXBXGJeT*_f?NpAp~>Q(#%6B<$|Pg523KP%Ra7p z*df;?w&DQ?l?5E&U?&LlfF968OrYdV{fvME9FzbY;1F{I{z5Y(9N?e?-~b25zm>NL z@Q?}u4sfvZB6>g%=plM2{wd(4@zQZFz(eYc2nRSQ0XV<`FI{T@&!8mW0EhaWh)48* z9=`RkKj!D*KzrN1Cl5>C`Ah7^_a@2Du>0W|l4BRQlkZQTX&fxWHfBG>me$=hwPo$1 Ly=`M#)a9@^o=a2gPV`$Yd8w7YP{*SaB*nU!R@59N%K>} z;p#vVa2|Y=A%y=m9;%<&$+&KO*1&2PFUpIK;I9f1xWR9N?e?-~b25-pW@5 zct`~S2RPWch#t@bdWas1Jq5fpUOL7CJfucMIKV*(zyS_;=|%&11|%+UjS z_|?PloL{FCt?l}rJZ=5(FMUftS|rcm&|?nCeK(JbA1~i&94x~wWeD^ln<$ZFt7A@%S*; z<2}B{TQqm>_WMmImz!bVspGxeJsq8{4mkIqFk~wO~STS9wA!EgKp@xhV(}fx`R!kRa$XGF5 zs3Bv;bfJcf71M>iW!=wOc7IqJpZs_K0lKKZMF0Q* literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/24bpp-1x1.bmp b/tests/fileformats/bmp/bmpsuite/24bpp-1x1.bmp new file mode 100644 index 0000000000000000000000000000000000000000..fa6c104e5c3fac6d997644d7aa8271a2dfd3c59f GIT binary patch literal 58 lcmZ?rwPJt(Ga#h_#Eft(0hV9^k}sGc7%TuJ{xdL~0RU%h1n2+& literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/24bpp-320x240.bmp b/tests/fileformats/bmp/bmpsuite/24bpp-320x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9d4a9837bc30b532fa674614df5cafe3edf82f07 GIT binary patch literal 230454 zcmeI!QF7Y^0EA(8xCBSw1bt?B=T;n+M{ZD*dLj(Yw3&RF)?0o})2fnpBk#W(=eOTK z{_)f0>G*hj{c?Q$`r&f<>-hJ><>%w?<2dgBdA#K5tD^);;D<=yQ%4Duz+eK`A3w)~ zUoQQ5Qvz=i74|iO!lMM9X8Uxs-?#txA^>mywm-&CfWo5$+ON-m0JL8R@IQ8FzYf3s zLINOla{CVL*BMqpNC2cxZr`E(I>Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn z@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK z_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~X zliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz z467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w? zonaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d z`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx z0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+P zBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRL zf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke z?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djo zVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=< zGpvG;07#wOzC-(UhE)&}0I8GPcWA%PunIx~Aa!#44(-<&RzXMrq)u+%q5V3;DhLUH z)XD8Tv|ndf1t9^DI=Ov^_UjC*AS3`%C%5m=ew|?zgakn9g4tv{PK&6M&0< z|7nN9qXfRV-%rnX&(G!K%JsOta-QFxJiq+u-|O8MuiOjI7r%6i-tqen=D{9kYtDs7 z3Ea%;ekteZ?$>nQI#2H9$CdlLueows-M{$rEqcf8_n`*;BVnJ<@W#p literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/24bpp-321x240.bmp b/tests/fileformats/bmp/bmpsuite/24bpp-321x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9925d29945907d8e44489fdb9d3b4e884d328fa1 GIT binary patch literal 231414 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 literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/24bpp-323x240.bmp b/tests/fileformats/bmp/bmpsuite/24bpp-323x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..c5138f434b1aafdfcf7591c6fa32a21339c71bbc GIT binary patch literal 233334 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 MffD%Y1dc8L1N$8J#Q*>R literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/24bpp-imagesize-zero.bmp b/tests/fileformats/bmp/bmpsuite/24bpp-imagesize-zero.bmp new file mode 100644 index 0000000000000000000000000000000000000000..578eaf5e385d3a8aa26941281083e29b305d627d GIT binary patch literal 230454 zcmeI!QF7Y^0EA(8xCBSw1bt?B=T;n+M{ZD*dLj(Yw3&RF)?0o})2fnpBk#W(=eOTK z{_)f0>G*hj{c?Q$`r&f<>-hJ><>%w?>+$FDlBchZ5-5QmB7sjGB~Su`30!~t91niE z^yf_pyh&8p*8~cW5_p>J)6st4{^N@Py#3q$7(W3Dj}mCVJ_7>KejUL7*rEM8{Pqh8 zfYizDJG5VCSOp;gkUF`2hxY3Xs~{u*QYW|X(0-j^6@&yp>g4tv+OIRLf{*}6o!q`d z`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx z0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+P zBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRL zf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke z?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djo zVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=< zGpvG;07#wOzC-(UhE)&}0I8GPcWA%PunIx~Aa!#44(-<&RzXMrq)u+%q5V3;DhLUH z)XD8Tv|ndf1t9^DI=Ov^_UjC*AS3`%C%5m=ew|?zgakn9g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_ zzs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{ z08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM( z1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@ z5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVm zeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz; zx9`w?onaM(1VHNK_8r=NY)myavgW zGpqZhoTIy6(|PMWxtAYT?(e?l%4v1~;?K9}9k<_y8u){;e5h<*@i6W86(N0P@>LKL z0I8GPcX*He9-ores-^#Odj@>-f{c&(Y>R?gRy+aclJ%J+ONl41t9^DI=Ov^oBf`@ YsdiEVC9smf!~T}sgOxxDye5Ia0UvJVZ~y=R literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/24bpp-topdown-320x240.bmp b/tests/fileformats/bmp/bmpsuite/24bpp-topdown-320x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..b50375e6d06c0658ff85cd5a85265a0472e8d08f GIT binary patch literal 230454 zcmeI#QBorX0EA(-ynv4$!4vGW<-51?u-*cL$dDzd$d|>m`=^#-GMVlq{dXtq&%b>B z^}D-=+vn5IkEfrXKHc4Ye}8}f>F$Sz(|32L$A3Fr^6=BG1WMq4k-%x;-AbSY<`Q`P z_&L4oozJ1uOTDFkxAauQYU~cT?eDDDA=?ae$XusIMlbirt|Knuq^%Nc@aE<+*zGNS7 zPv4Kvzfb3%@BDG}bnWx`%QJ`MQvT?1TcsxexAj&&e*1+-2|VrV)up^Rd4BgeJ`Rr2 zogZ92`j#_?!{x>8_v0t_RiBaC`>lWYJ^zpO)up^Rd4BgeJ`Rr2ogZ92`j#_?!{x>8 z_p7eye?G)dG+`Al?~gk2V4aq0gyVmeTOghTbA!i;9a8q z>Rjg!nZlz4+OH3Z09kO+P zBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRL zf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke z?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djo zVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=< zGpvG;07#wOzC-(UhE)&}0I8GPcWA%PunIx~Aa!#44(-<&RzXMrq)u+%q5V3;DhLUH z)XD8Tv|ndf1t9^DI=Ov^_UjC*AS3`%C%5m=ew|?zgakn9g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_ zzs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{ z08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM( z1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@ z5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVm zeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz; zx9`w?onaM(1VHNK_8r=g4tv+OIRLf{*}6 zo!q`d`*ns@5E1~XliPP_zs|4Ram34qke?K`wz zXIKRx0gyVmeTVkz467g{08%Hn@6djoVHJb~KQkPx!00msBfe)ejZ4l zXZ-H>cYpkRxqZF69=~3X-`-p`~ z_{Tr~6|7oxn!- z{No@0__wg7kjX#(@sEE6s}>#k$3On@Z(&OzlYji=d@{fP~<6pt5MMwVekAM7I*iy*kAOHBrzk*eZj{M^v z|M<7CrI5)#{_&501*;Yv`Nu#0@o!;EA(Man;~)PDRxLX6kAM8*-@=wcCja=yKmHZ0 zT6E+e|M`~_{Tr~6|7oxn!-{No@0__wg7kjX#( z@sEE6s}>#k$3On@Z(&OzlYji=d@{fP~<6pt5MMwVekAM7I*iy*kAOHBrzk*eZj{M^v|M<7CrI5)#{_&50 z1*;Yv`Nu#0@o!;EA(Man;~)PDRxLX6kAM8*-@=wcCja=yKmHZ0T6E+e|M`~_{Tr~6|7oxn!-{No@0__wg7kjX#(@sEE6s}>#k$3On@ zZ(&OzlYji=d@{fP~ z<6pt5MMwVekAM7I*iy*kAOHBrzk*eZj{M^v|M<7CrI5)#{_&501*;Yv`Nu#0@o!;E zA(Man;~)PDRxLX6kAM8*-@=wcCja=yKmHZ0T6E+e|M`~_{Tr~6|7ox-|G~UfB)z6?3u6gk$+A9j{8Q}=lg$iV{W_$ VzK{37>s+U4Wd_WE8Td9c@Gr*7BXj@& literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/32bpp-1x1.bmp b/tests/fileformats/bmp/bmpsuite/32bpp-1x1.bmp new file mode 100644 index 0000000000000000000000000000000000000000..d1b33e41e43507fbfd07dba75d1515cb26329f06 GIT binary patch literal 58 lcmZ?rwPJt(Ga#h_#EfvP0Aw*RumJH3W(Wog0Ez!V3;<`51S9|e literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/32bpp-320x240.bmp b/tests/fileformats/bmp/bmpsuite/32bpp-320x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9b635739b0158e2964c5dac2fd5c253ebd0ece4c GIT binary patch literal 307254 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 K&cOdW1AhaxpXONr literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/32bpp-888-optimalpalette-320x240.bmp b/tests/fileformats/bmp/bmpsuite/32bpp-888-optimalpalette-320x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..77deadbf33558202ae0e3a1d8f3cd516874b1ba8 GIT binary patch literal 307290 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 literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/32bpp-topdown-320x240.bmp b/tests/fileformats/bmp/bmpsuite/32bpp-topdown-320x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..e8a388cbea472e9e1ea349ad1424b2e39b2afa3c GIT binary patch literal 307254 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 Oas^xgSKueU0{;U-Vd!=M literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/4bpp-1x1.bmp b/tests/fileformats/bmp/bmpsuite/4bpp-1x1.bmp new file mode 100644 index 0000000000000000000000000000000000000000..edc72d8b6beccc47a65671d4e637f4062d2bbe3a GIT binary patch literal 82 wcmZ?r4Pt-*KOm(6#Efvv0+s-gFPI^i4J^XI@E-^v07yd+!~g&P861Fu05H@GcK`qY literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/4bpp-320x240.bmp b/tests/fileformats/bmp/bmpsuite/4bpp-320x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9f952944faedd386b33e2c084a579d078dd0dd55 GIT binary patch literal 38478 zcmeIyJ#Ld>6hz@K0@1th2B_%S077Yr9p-0{Ix$m z^y{$yc*pDWJ+J3`UOpex_wYUIr(Yg8CX-Brd;FqwqtRx_}F z5I0=0qo019Edi5Bh;B6l`v-Bu6+8Or$Jr7vnS|(8Gq8UUH(ar!pMIPz0h39HZZ!k@ z2XVs{JNoIz*%C0Bgy>c?uzwIYT(P5{ew-}Brd;FqwqtRx_}F5I0=0qo019Edi5Bh;B6l z`v-Bu6+8Or$Jr7vnS|(8Gq8UUH(ar!pMIPz0h39HZZ!k@2XVs{JNoIz*%C0Bgy>c? zuzwIYT(P5{ew-}Brd;FqwqtRx_}F5I0=0qo019Edi5Bh;B6l`v-Bu6+8Or$Jr7vnS|(8 zGq8UUH(ar!pMIPz0h39HZZ!k@2XVs{JNoIz*%C0Bgy>c?uzwIYT(P5{ew-}Brd;Fqwqt zRx_}F5I0=0qo019Edi5Bh;B6l`v-Bu6+8Or$Jr7vnS|(8Gq8UUH(ar!pMIPz0h39H zZZ!k@2XVs{JNoIz*%C0Bgy>c?uzwIYT(P5{ew-}uto>+AY{Jb#?y`N4Uho51g!g!tXf;P>ip&U;qx_o z&wu%?_w|Ce-s<)7hdwi#6Zz8RzqPEIVKK z^U#OWzSnlf4>zoj54Wtx8`f9PSWw@9@llQi;bx}hgbw+1wcSI4p}XujCr3Hv#;$ui+|1OR&>^3$wtGl0 zbeA3HpHA5)9pC$2mF5F*kPI+u>%W=7bLUbhX_>f}y+YI44Ir*3Qn39d2f7 zPUw(NSKB=#7`n@jb8?hpZtS|Z!_7?12_5q3YP*L7LwDJ6PL6V{ot+&!+|1OR&>^3$ zwtGl0beA3HY9OYO$J3Dr`nW;IULq1(?_mE)d zE<4W2QI5H>>)sAGGc_l4$fv9A9uf@QWyd)=%CUBKcIf}y+YI44Ir=Ekmj zJKW6FoX{bkuC{wfFm#t4=j15I+S%E$!_7?12_5q3YP*L7LwDJ6PL6WSja~P4xS6Rr zp+i1hZTFC1=q@|X$x)8Av$JD|o0*yuI^@&Ub`J@L?y}>Y9OalByYB69GgEUyhkUx) z?jga@U3Q$4qa15zXU7gVGc_l4$fv9A9uf@QWyiVyhvRZ(<<7b6U%Gp)9C5jvDZgLg zjK^g;9hdo>@6-BOvGvbg$~j^#*U{IPZ9aIIn$v_R2AC zIi8;J>izP^r@KC!)-cZtzTEW|?P(tOlE^Rt_Ahlyz7@S@;d literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/4bpp-322x240.bmp b/tests/fileformats/bmp/bmpsuite/4bpp-322x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..dc8479251b9ff9099b71bc2b6f033dfc133e43c8 GIT binary patch literal 39438 zcmeIyF>2gU6a`S3gp>glvw^rtpB)&t38#!V>#)TPGt2~u8kk{*naU&zm|=#Q zAW;J|%rH}#L;*9*FcTzdV1^lHDw8N+h8bppL=DU^!%Sro1QH88^rGnGjcFvAQpL81m`m|>FvCn`5(UgK!%UEL3@2t08%==e=|6exhT=xpLS-;cbe4rkec|I@mc#hBW zdaYki<33c6r_s{d*!s9$dfa>S_V-@i$7LMaX`S(Qh-2*II_f$89rXC3$NjnP?Otbn uI>j1ZG1Mck^?iKv43F}Q(c>Ss8yoQe literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/4bpp-323x240.bmp b/tests/fileformats/bmp/bmpsuite/4bpp-323x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..158fcab99ac8e1856888e30b92616a42f4005f5b GIT binary patch literal 39438 zcmeH{J#G|15JuYq5h72p7l4G^HvkiYw80(@PQ!5sxxvykqX}M>S(P^MF4Al7kH2yS ztvCMO=Wp+Sj`e(>pP%OY%flFd=J&&RyUu_87~}Vw?fq_@jB%bn+nL|nYn;#LvE2K4 z9OH1h^AmUcaK-ufbj^9b=6v;zne{aopXHb_KFKjx-(KT?!p_*4T#=IPjGZYp!2o=^ zLHB@Rgf2Sl$x)8Q*?FMD?M$f&2H?{Tx(5s+bkSi?j&jV(E?I}$nNkxBz^5B@4;V)1 zqQjmXuz%W7=9rolX$E@sXw|pu_DWVNZ^7%*rlVhufJ_6AZwo8*~pCM(Co$o*d;^oSg?c+|HDmU;sYdpnJeD zLKhwOi3ohdcJ0DQVZ_kdx9E;{VVQI5sgd7#7XOsNS5;L{Dd2Mi;0(P2-H za?HvuS%=%1QWFforyFz+7)I!#!=4=FSe%^)I^52bnqUAv-JpBGFhUm{_T(tXtn89? zxSc6A!2o=^LHB@Rgf2Sl$x)8Q*?FMD?M$f&2H?{Tx(5s+bkSi?j&jV(E?I}$nNkxB zz^5B@4;V)1qQjmXuz%W7=9rolX$E@s{UO8@0dHeK^7auSF zxIOE`Dat$_@cyjVYR}>Eo_an14_`jJYx4IE-1G7U=QQ7K&#!&Q`B3lrJdW{ChWGM^ GdB?vtW*_PR literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/4bpp-324x240.bmp b/tests/fileformats/bmp/bmpsuite/4bpp-324x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..b5416d54ca50e413d46d5c43402d93f9889e8d3f GIT binary patch literal 39438 zcmeIyL2eUK5QO0ufmkBV!WUr0o*STSLGr?fgVS&vmfXO+8D}D;e^=4+Y9wk1F|Rrj zPv2DM>$i_T$M$@m-#^d4&rf6gnV(PN{g(gwF~;wAx4$2@WQ^KktcVA^&^bWag5_XR~~Rf1)Cz3x)G&R7t)jAd9OGEm z7-tZ*0^2(^OdnyZsB9j`IAV`$0HRi4d#8r!BWx9w&Epuyy2dzzs1?}WsbTsETSaB_ zIK~lsTmulb0^2(^OdnyZsB9j`IMy}B8APqX_D&7cN7yPVo5wMZ*y9?2s1?}WsbTsE zTSaB_IL5KAG0q@r1-5r;m_EW*QQ16>al{_i07R|8_D&7cN7yPVo5wMZb&YWbQ7f>$ zQ^WKTwu;K;af~DOxCS6<1-5r;m_EW*QQ16>aja{MGl*J&?VTE?kFZr#HjiT*vBxz4 zQ7f>$Q^WKTwu;K;ag1YKW1Kl)(>qE=vgr-tbxY!#Kw;}}QmaScG!3T*GxFnxrrqOy4$<5<@iXArdl+dDN(A7QJg zY#zrrVvlP8qE=vgr-tbxY!#Kw;~2-f#yEqh71-XXVfqMLMP>6i#u0m50}!EIQxa?QLXX{G% zA$1L#zufV>ESK{#zt7Lh`nCRZy*%!=2l($>fxU|wzTWXPue4rl{dW7x9TnQ0{Eg#$ z#~b2&?epuXj;}9z{v&t1^G;Q?z3bCuUFP|M_jkRm_6*NQ+Uxmd??3ym8ho~X)!>H| lmCavv=Kcj|io5Lr{`*#7@1ln59p_6u^fT`$4G%LI<1an7O4k4Y literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/4bpp-325x240.bmp b/tests/fileformats/bmp/bmpsuite/4bpp-325x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..b768df906a09b57fa988eb2ee81c81941848bc8f GIT binary patch literal 39438 zcmeIyL2eUK5QO0ufmou=Qvizr#RN#2T?1CV;pS<^1BCnWWCfdj&ZEN zYH$WoD^QiQdHM)j>!pTqj3f5A1|Vt$s&Y0@A7N{~)G&^5tZR%jh+2WFoXyim*jg_& zjAI!pTqjALD6oI%tIROM`*KEl>|sbL)Bh&`?Wh+2WFoXyim z*jg_&jAI<@8siM2R-h_p^Yjt6)=LfJ7)R`J4M5ZiROM`*KEl>|sbL)BSl1Y55VZnT zIh&`Cu(e)l7{@qbk81#;R-h_p^Yjt6)=LfJ7{|KCID@DasLI(qeT1#`Qo}gL5qn$% z5VZnTIh&`Cu(e)l7{@r)HO3i4tw2@I=IJABt(O|cF^<^d8i1%3sLI(qeT1#`Qo}gL zv92-BAZi7wayCyNVQanAFphD=9@hXwtw2@I=IJABt(O|cF^+YOaRyNV;r%^H2_g7P?fWJ z`UqR=rG{~gV_jpMLDULVV;t)m;|!u! zpekqc^bxk!OAX@~N9=J8K-3CU=_72dmm0<~j@aWGfT$Iy%Go@9gst^b!#KvVt})IaY6YrtHcua6 zYrWJkj&Z~u*8oJVKvmA>=_72dmm0<~j&+T322m?em9u&J2wUr=hH;D|_P7QhY6Yrt zHcua6YrWJkj&ZDOj5CN@fvTL%(?{4^FExzg|K+%t2m5>tK-3CUtEN)<8Idg|9vY^*Rc899S`$L>&4a|m#^H>%H0lc z9OpaU5a(;3Uwd_Yd(rbRx#R8Yw5RP|A5QBs&lh}s*V}5(@VKYFo^SU3=lZJ#pRHdt o_(#@D4PSTW{R_?%ce@7o?^}VohRxSI&X>CH=W$5G-3%VbKe_r&&;S4c literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/4bpp-326x240.bmp b/tests/fileformats/bmp/bmpsuite/4bpp-326x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..1dd42b7113d83714cd94c93e3252c6b7c9e6b7bc GIT binary patch literal 39438 zcmeIyO^TCY6hz^#Q5*^xWCM1te#LwC@=N$4PlRC&oL;EDZL_cr+P zq;7xy`u@juetlbCKd#R&Puuo;eSg~Cp65TmZ`-dom(O?S$+o?$f0x(#e)-s5US77{ z&%V6rK66$1O5&7W_Tma z6q@DUyR@~B)J;--uA`2;V`d7?a_?Q*+DGapsXo_HN8T|rg=V?;E^X~2b(2(|>!>5| zn3+Pe+T?}+ zc~50rqC?+-leU5q;8Vxa~*Z$9WzsCmV58g);>}< zN%gsoI`WR0DKyKycWG-MshgzwTt^*w$IKL(<=(rrwU5+IQhlzYj=W=L3e9rwUE115 z>L#f^*HK5_F*Ai`x%Vz@?IU%QRG;gpBk!1*LbKd^m$vqix=E_fb<~k}%uJzK?!8M} z`$*j+)#p0u$UA1H&@A`frLBFWZj$PA9d+a#GgD}md+*ZLK2kSH^|_8Z@{XA)G|Rnr zX=@*;o22?&M;&>`%oLjC-n+E5kJL?4eXgU9yklkx&2sNu+S*6zCaFHxQAge}Glgck z_bzSiBXyHhpX;b2@0giFv)p@^w)T;_Nvh9v)RA}0Orcrsy-QpBNZlmW=Q`@hJ7%WP zEcf1}t$n0!lIn9Eb>tm0Q)rfZ@6y&jQa4HUxsE#Wj+rSm%e{ALYagkbr21S(9eKyh z6q@DUyR@~B)J;--uA`2;V`d7?a_?Q*+DGapsXo_HN8T|rg=V?;E^X~2b(2(|>-b+e z?#heje9aV^<=(rrU41N%xVt_Rf0#WJe=9vjpI@Hwu-hFEyY+Q_Kb}5LKb{_*k9N)c z-)Ff$OWM9Z<9A_B4E+0N)GP^bZ+i|_eXTK0nm^^TV?Is_%#8^>O~=+p_$8b$Y)!PL}0RKc`dQr`K{g9G30< zpUrN6_h++vcg=bKc-48j=6v#w9riUCpXAsvKFYC`-(K@y!p_*4R*@0yjGY-R;edd` zq+#a+Kqcb{pt$J2P6s0Re?c_Yh*GkQ~?KD95Jk5p}qo87<*}fWoAE2(eN~ zj%#w1+#a+Kqc zb{pt$J2P6s0Re?c_Yh*GkQ~?KD95Jk5p}qo87<*}fWoAE2(eN~j%#w1+#a+Kqcb{pt$J2P6s0Re?c z_Yh*GkQ~?KD95Jk5p}qo87<*}fWoAE2(eN~j%#w1+#a+Kqcb{pt$J2P6s0Re?c_Yh*GkQ~?KD95Jk z5p}qo87<*}fWoAE2(eN~j%#w1+#a+Kqcb{pt$J2P6s0Re?c_Yh*GkQ~?KD95Jk5p}qo87<*}fWoAE z2(eN~j%#w1+# za+Kqcb{pt$J2P6s0Re?c_Yh*GkQ~?KD95Jk5p}qo87<*}fWoAE2(eN~j%#w1mwm$27zrNOA zclB;JJI8-<$6Z}%z1aG3dU;1S_j0OUAK|SW>lq&*)?=^Ny>dJ~<?e*Y#QN z_G_8z0snc{$7dN?@9~s}vBjbBL&2OET@mRObU7n+u z?eD{x{x!eL`HrI=W8C5V#)1 z`hR(UzO|2Q-`QVo-0N~}Mz?zNGrzh9GLpN}^>>-$U31Hi&CmS$PJNllJs)yO-IcDt z%ZTrqTYhYQ=ErX|bn?LmAMGLyAAIl;4V`@O!AHAD!v`OHL_;SZeDKjO((u6tAJNds z2OoU2i!^-j!ACT7^1%lm?IH~yeDDzsoqX`YN4rSF2OoSyLnj}6@X;>P@WBTk(a^~U zAAGcnG<@*EM>KTu!3Q7hA`KsW@DUB2eDJ|XyGX+aAACeZCm($9(Js>P!3Q7F(8&iM ze6))+eDJ|XG<5R82OsSs4Ig~)5e=Pu@WDsBNW%vod_+ShAAIo9F4FM92OrVU$p;^N zw2L%+@WDqkbn?LmAMGLyAAIl;4V`@O!AHAD!v`OHL_;SZeDKjO((u6tAJNds2OoU2 bi!^-j!ACT7^1%lm?IO*(9Cp3ddFSg7$DaIV literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/8bpp-1x1.bmp b/tests/fileformats/bmp/bmpsuite/8bpp-1x1.bmp new file mode 100644 index 0000000000000000000000000000000000000000..27ec19a1da04c71a3638571a2f63835f881f3bc9 GIT binary patch literal 82 wcmZ?r4Pt-*KOm(6#Efvv0hV9^k}sGcm<=q#!0;akApl525X1lf{~17P0WiD^KL7v# literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/8bpp-1x64000.bmp b/tests/fileformats/bmp/bmpsuite/8bpp-1x64000.bmp new file mode 100644 index 0000000000000000000000000000000000000000..47ce803f4d6918c4a794725b4fe43ffc8870f186 GIT binary patch literal 256078 zcmeIw!3}^Q3Fl!;S#yr6b46yxR!#8-3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# zzyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d| z0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdb zFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?0 z00Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u< z3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs#zyJdbFu(u<3^2d|0}L?000Rs# MzyJdbF!0B~2k@o#F8}}l literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/8bpp-320x240.bmp b/tests/fileformats/bmp/bmpsuite/8bpp-320x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..0b4d52cdbbe0ffec801a98467354ed0d9cfd1b90 GIT binary patch literal 76878 zcmeIzO>Wa*00!Z>Nf1Y2!66WPdjBJ^;Kd3b~{a-V*=OC0fA|{zC7ui zpLQ-!JJA4ePFx-y25nrTfh`p3UX)TrS(+ s+x?z=W_tmRIA`MvjS{>^v$1Gznyy*UB*$hL;SPjs-6!2kdN literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/8bpp-321x240.bmp b/tests/fileformats/bmp/bmpsuite/8bpp-321x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..e3157dd25862439cfe44622a366970a0f9275f17 GIT binary patch literal 77838 zcmeIzO_I`J00!X%2FsP_aHm($y`I_Qxbz12C8Q9nnzor(toj=ne%^K#PX+k;?ZfAJ zTF&=z`#5f2#?xQpexBZs-_!Kt(>(n=PV4R6`pPt&$Is=A`^&%Sd_GTeXP>}8oll)T z0?XArpAOGD$LF1wXPr}qyQwqWP56>whVb#aA4mR$u0sh0S%!ckrwk<&WEldEoHCS9 zkYxxsa>`IbL6#xl$SFe!1zCoGBc}`{6l56!j+`=-P>^K^IC9ERLP3@x;K(UM2?be( zfFq|2B@|>C0*;(Alu(dm2sm=eP(neLA>ha`IbL6#xl$SFe!1zCoGBc}`{ z6l56!j+`=-P>^K^IC9ERLP3@x;K(UM2?be(fFq|2B@|>C0*;(Alu(dm2sm=eP(neL zA>ha`IbL6#xl$SFe!1zCoGBc}`{6l56!j+`=-P>^K^IC9ERLP3@x;K(UM z2?be(fFq|2B@|>C0*;(Alu(dm2sm=eP(neLA>ha`IbL6#xl$SFe!1zCoG zBc}`{6l56!j+`=-P>^K^IC9ERLP3@x;K(UM2?be(fFq|2B@|>C0*;(Alu(dm2sm=e zP(neLA>ha`IbL6#xl$SFe!1zCoGBc}`{6l56!j+`=-P>^K^IC9ERLP3@x z;K(UM2?be(fFq|2B@|>C0*;(Alu(dm2sm=eP(neLA>ha`IbL6#xl$SFe! z1zCoGBc}`{6l56!j+`=-P>^K^IC9ERLP3@x;K(UM2?be(fFq|2B@|>C0*;(Alu(dm z2sm=eP(neLA>ha`IbL6#xl$SFe!1zCoGBc}`{6l56!j+`=-P>^K^IC9ER zLP3@x;K(UM2?be(fFq|2B@|>C0*;(Alu(dm2sm=eP(neLA>haVpji=Lce|fyTFrJSm+wZmbGe3G69-em@9{1zO zzi@XQu5KIPjp6Ecd47F$dywI9&QM-#kiBkrc}rj4wwI@Wy*PIr{_8rtegED*zQSg> zT%NCAhgYauz3pT0`jyjlcxSkL@s6{8122B-Vw*F(GhDbHJ{e{>1oofp Y^Kf}z>% literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/8bpp-322x240.bmp b/tests/fileformats/bmp/bmpsuite/8bpp-322x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..dc8774a930b0a47f1bc4f6b9c66c274fbaec05c4 GIT binary patch literal 77838 zcmeIzO>z=p00!Z2LdJ6CIo#i0=+cbWk#&-L(y)wpm`Pt9%d;d4i=ku642L%@QxpPQh zxqhel=~3tOxbyt5GiP|%I>W<+&lzUOpRdPl>|f|Qv{Kw<$ToJ#&`NQaA=}s`Lo3By zhHPV(46PJ*8M2LCGPF|MWym&m$9W%kcji&fC>E&+G5~@%qB@e0g%Y-->_py_ezB<1WL~aU1&= zZm+}5?E-jXxVi1mudiMnWVkwKXsE_pU5D>ohqv$F+s9Yf47ZCD zufr?Ut={Eh@cNb0b@=K!T)%jivwZ`ve%s^a!Q~tJy6wef&hVAt%60e2FvIQR?C{z=p00!Z2LaYN^To*#G486L*Y@G#+Xh8f}q>~R|X7rG8L6^0oijUF=8R2XK6G4P z(&!;WO@(2GNTY`gH5G;#B8?t0)KnN|h%|c0P*Y);A=2m}LrsNYhDf7_3^f&o86u4y zGSpNUW{5O;$WT*Zm?6^WAwx}tVTMSfhYU3ph8ZG_9x~Ka7-onxddN^yVVEJ(=pjQ* zg<*zBqlXMN6^0oijUF=8R2XK6G4P(&!;WO@(2GNTY`gH5G;#B8?t0)KnN| zh%|c0P*Y);A=2m}LrsNYhDf7_3^f&o86u4yGSpNUW{5O;$WT*Zm?6^WAwx}tVTMSf zhYU3ph8ZG_9x~Ka7-onxddN^yVVEJ(=pjQ*g<*zBqlXMN6^0oijUF=8R2XK6G4P(&!;WO@(2GNTY`gH5G;#B8?t0)KnN|h%|c0P*Y);A=2m}LrsNYhDf7_3^f&o z86u4yGSpNUW{5O;$WT*Zm?6^WAwx}tVTMSfhYU3ph8ZG_9x~Ka7-onxddN^yVVEJ( z=pjQ*g<*zBqlXMN6^0oijUF=8R2XK6G4P(&!;WO@(2GNTY`gH5G;#B8?t0 z)KnN|h%|c0P*Y);A=2m}LrsNYhDf7_3^f&o86u4yGSpNUW{5O;$WT*Zm?6^WAwx}t zVTMSfhYU3ph8ZG_9x~Ka7-onxddN^yVVEJ(=pjQ*g<*zBqlXMN6^0oijUF=8R2XK6 zG4P(&!;WO@(2GNTY`gH5G;#B8?t0)KnN|h%|c0P*Y);A=2m}LrsNYhDf7_ z3^f&o86u4yGSpNUW{5O;$WT*Zm?6^WAwx}tVTMSfhYU3ph8ZG_9x~Ka7-onxddN^y zVVEJ(=pjQ*g<*zBqlXMN6^0oijUF=8R2XK6G4P(&!;WO@(2GNTY`gH5G;# zB8?t0)KnN|h%|c0P*Y);A=2m}LrsNYhDf7_3^f&o86u4yGSpNUW{5O;$WT*Zm?6^W zAwx}tVTMSfhYU3ph8ZG_9x~Ka7-onxddN^yVVEJ(=pjQ*g<*zBqlXMN6^0oijUF=8 zR2XK6G4P(&!;WO@(2GNTY`gH5G;#B8?t0)KnN|h%|c0P*Y);A=2m}LrsNY zhDf7_3^f&o86u4yGSpNUW{5O;$WT*Zm?6^WAwx}tVTMSfhYU3ph8ZG_9x~Ka7-onx zdRPsocb=zv&*^bT3mgwK{I7=R^=dqym*3mt<%RkA{N#GS7XRjZFTx zT!*XM74XJzb=#iruU;QyxH@O3FE>UJH!BE0CJI literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/8bpp-colorsimportant-two.bmp b/tests/fileformats/bmp/bmpsuite/8bpp-colorsimportant-two.bmp new file mode 100644 index 0000000000000000000000000000000000000000..dc8005f7f4e2e8b44da94a9d003193191727b590 GIT binary patch literal 76878 zcmeIzO>Wa*00!YWKZv8S;1GyCz5fwda)b1-G2Y^@^w1Q z=ViRUjMumE@z;2t4xh($obmn7(_wji8Xu42bshiKGv3$#hwJrvm^%9eE}b0$({wpL z>71T+&QCj+{B~LAw~OzbUw-_xy3fS?boZap;x<2;n3A8-;x<2;n3A8-;x<2;n3A8- z;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2; zn3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8- z;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2; zn3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8- z;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2; zn3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8- z;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2; zn3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8- z;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2; zn3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8- z;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2; zn3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8- z;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2; zn3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8- z;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2; zn3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8-;x<2;n3A8- z;x<2;n3A8-;x<2;n3A8-;x<2;m@@lK|9Ot`oSt@!z`kvMALX~+hL_9yzTJ}J^Gv*6 z@Av8LYkB(}pLYA5_L-QUo^e)|B z-}1Z;zMI+l@sHU3Hy-ruW?SyD`EpCk=eyrb+5Pv%FUA|zT_?XcjNVK4n{7Os%j3CR vZhvpLd+zbwJYUcFvfqEdKfkkm z4)gVL8itS4>zC>6kLh(BKFoO-K8?foeo_e%+4b^nNB@@Aq?h`&b^o!_$u6ai59#?HOlfSzhMbmL8JpWW7J)nBVENVJ$lI zZA%ZT<+D5VLp;AX{g&r-;=7rxZ-0xOzv)5W4%>3Z=G!eT@9%yyW#{jeFUA|zT_?X+ zjNVK4!!|ve%j3D+ZhvpLGxzvxp0C&RVc&nhKEJb;yYkELy=U`JKHDD1+jH5A6L61g HYY6-VU3uqO literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/8bpp-topdown-320x240.bmp b/tests/fileformats/bmp/bmpsuite/8bpp-topdown-320x240.bmp new file mode 100644 index 0000000000000000000000000000000000000000..27d40fda87103a1b29553999abc3793738dab67f GIT binary patch literal 76878 zcmeI!O>Wa*00v>ZNf1kp!Gc2|_VoTo;1*w-e!ees3>3e!C|?Zz4eN}uLan#P1A4xDeX5r`mz$lx z`+mdeLe=@Z_s`;;^OxT}un+e?_?@5BtKaEK9?$bQg_lFw^NZ*ALiXu5{r^P`7d`B^dc`O(9!{Hz%J{ODm;_S82kL_VOM@ujD3Feuq!_+#y&rK*p;6ZW1k;A?8?uIvCoelcI9Wq z*yl$NyYjPQ?DM0CUHMrt_W9AnuKcVR`~2u(SAJHEeSY+?D?cm7K0kWcm7f)3pC3K! z%Fl|i&yOB<^P`7d`B^dc`O(9!{Hz%J{ODm;_S82kL_VOM@ujD3Feuq!_+#y&rK*p;6ZW1k;A?8?uIvCoelcI9Wq*yl$NyYjPQ z?DM0CUHMrt_W9AnuKcVR`~2u(SAJHEeSY+?D?cm7K0kWcm7f)3pC3K!%Fl|i&yOB< z^P`7d`B^dc`O(9!{Hz%J{ODm;_S82kL_ zVOM@ujD3Feuq!_+#y&rK*p;6ZW1k;A?8?uIvCoelcI9Wq*yl$NyYjPQ?DM0CUHMrt z_W9AnuKcVR`~2u(SAJHEeSY+?D?cm7K0kWcm7f)3pC3K!%Fl|i&yOB<^P`7d`B^dc`O(9!{Hz%J{ODm66|7 literal 0 HcmV?d00001 diff --git a/tests/fileformats/bmp/bmpsuite/misleadingextension.jpg b/tests/fileformats/bmp/bmpsuite/misleadingextension.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9d4a9837bc30b532fa674614df5cafe3edf82f07 GIT binary patch literal 230454 zcmeI!QF7Y^0EA(8xCBSw1bt?B=T;n+M{ZD*dLj(Yw3&RF)?0o})2fnpBk#W(=eOTK z{_)f0>G*hj{c?Q$`r&f<>-hJ><>%w?<2dgBdA#K5tD^);;D<=yQ%4Duz+eK`A3w)~ zUoQQ5Qvz=i74|iO!lMM9X8Uxs-?#txA^>mywm-&CfWo5$+ON-m0JL8R@IQ8FzYf3s zLINOla{CVL*BMqpNC2cxZr`E(I>Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn z@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK z_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~X zliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz z467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w? zonaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d z`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx z0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+P zBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRL zf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke z?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djoVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=g4tv+OIRLf{*}6o!q`d`*ns@5E1~XliPP_zs|4Ram34qke?K`wzXIKRx0gyVmeTVkz467g{08%Hn@6djo zVHJb~KkO+PBmhz;x9`w?onaM(1VHNK_8r=< zGpvG;07#wOzC-(UhE)&}0I8GPcWA%PunIx~Aa!#44(-<&RzXMrq)u+%q5V3;DhLUH z)XD8Tv|ndf1t9^DI=Ov^_UjC*AS3`%C%5m=ew|?zgakn9g4tv{PK&6M&0< z|7nN9qXfRV-%rnX&(G!K%JsOta-QFxJiq+u-|O8MuiOjI7r%6i-tqen=D{9kYtDs7 z3Ea%;ekteZ?$>nQI#2H9$CdlLueows-M{$rEqcf8_n`*;BVnJ<@W#p literal 0 HcmV?d00001