From 60d297d59210d12c1611ecd76746aa8632bfb961 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Thu, 21 Sep 2017 20:09:50 -0500 Subject: [PATCH] [libpng16] Added interlaced versions of each file in contrib/pngsuite. --- ANNOUNCE | 7 ++++--- CHANGES | 7 ++++--- contrib/pngsuite/README | 2 ++ contrib/pngsuite/ibasn0g01.png | Bin 0 -> 201 bytes contrib/pngsuite/ibasn0g02.png | Bin 0 -> 138 bytes contrib/pngsuite/ibasn0g04.png | Bin 0 -> 231 bytes contrib/pngsuite/ibasn0g08.png | Bin 0 -> 237 bytes contrib/pngsuite/ibasn0g16.png | Bin 0 -> 274 bytes contrib/pngsuite/ibasn2c08.png | Bin 0 -> 299 bytes contrib/pngsuite/ibasn2c16.png | Bin 0 -> 558 bytes contrib/pngsuite/ibasn3p01.png | Bin 0 -> 116 bytes contrib/pngsuite/ibasn3p02.png | Bin 0 -> 163 bytes contrib/pngsuite/ibasn3p04.png | Bin 0 -> 288 bytes contrib/pngsuite/ibasn3p08.png | Bin 0 -> 1492 bytes contrib/pngsuite/ibasn4a08.png | Bin 0 -> 198 bytes contrib/pngsuite/ibasn4a16.png | Bin 0 -> 2839 bytes contrib/pngsuite/ibasn6a08.png | Bin 0 -> 339 bytes contrib/pngsuite/ibasn6a16.png | Bin 0 -> 4164 bytes contrib/pngsuite/iftbbn0g01.png | Bin 0 -> 214 bytes contrib/pngsuite/iftbbn0g02.png | Bin 0 -> 211 bytes contrib/pngsuite/iftbbn0g04.png | Bin 0 -> 489 bytes contrib/pngsuite/iftbbn2c16.png | Bin 0 -> 3305 bytes contrib/pngsuite/iftbbn3p08.png | Bin 0 -> 1507 bytes contrib/pngsuite/iftbgn2c16.png | Bin 0 -> 3305 bytes contrib/pngsuite/iftbgn3p08.png | Bin 0 -> 1507 bytes contrib/pngsuite/iftbrn2c08.png | Bin 0 -> 2120 bytes contrib/pngsuite/iftbwn0g16.png | Bin 0 -> 1717 bytes contrib/pngsuite/iftbwn3p08.png | Bin 0 -> 1507 bytes contrib/pngsuite/iftbyn3p08.png | Bin 0 -> 1507 bytes contrib/pngsuite/iftp0n0g08.png | Bin 0 -> 847 bytes contrib/pngsuite/iftp0n2c08.png | Bin 0 -> 2020 bytes contrib/pngsuite/iftp0n3p08.png | Bin 0 -> 1495 bytes contrib/pngsuite/iftp1n3p08.png | Bin 0 -> 1507 bytes 33 files changed, 10 insertions(+), 6 deletions(-) create mode 100644 contrib/pngsuite/ibasn0g01.png create mode 100644 contrib/pngsuite/ibasn0g02.png create mode 100644 contrib/pngsuite/ibasn0g04.png create mode 100644 contrib/pngsuite/ibasn0g08.png create mode 100644 contrib/pngsuite/ibasn0g16.png create mode 100644 contrib/pngsuite/ibasn2c08.png create mode 100644 contrib/pngsuite/ibasn2c16.png create mode 100644 contrib/pngsuite/ibasn3p01.png create mode 100644 contrib/pngsuite/ibasn3p02.png create mode 100644 contrib/pngsuite/ibasn3p04.png create mode 100644 contrib/pngsuite/ibasn3p08.png create mode 100644 contrib/pngsuite/ibasn4a08.png create mode 100644 contrib/pngsuite/ibasn4a16.png create mode 100644 contrib/pngsuite/ibasn6a08.png create mode 100644 contrib/pngsuite/ibasn6a16.png create mode 100644 contrib/pngsuite/iftbbn0g01.png create mode 100644 contrib/pngsuite/iftbbn0g02.png create mode 100644 contrib/pngsuite/iftbbn0g04.png create mode 100644 contrib/pngsuite/iftbbn2c16.png create mode 100644 contrib/pngsuite/iftbbn3p08.png create mode 100644 contrib/pngsuite/iftbgn2c16.png create mode 100644 contrib/pngsuite/iftbgn3p08.png create mode 100644 contrib/pngsuite/iftbrn2c08.png create mode 100644 contrib/pngsuite/iftbwn0g16.png create mode 100644 contrib/pngsuite/iftbwn3p08.png create mode 100644 contrib/pngsuite/iftbyn3p08.png create mode 100644 contrib/pngsuite/iftp0n0g08.png create mode 100644 contrib/pngsuite/iftp0n2c08.png create mode 100644 contrib/pngsuite/iftp0n3p08.png create mode 100644 contrib/pngsuite/iftp1n3p08.png diff --git a/ANNOUNCE b/ANNOUNCE index af1ddf5df..960b0eb77 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,4 +1,4 @@ -Libpng 1.6.33rc02 - September 20, 2017 +Libpng 1.6.33rc02 - September 22, 2017 This is not intended to be a public release. It will be replaced within a few weeks by a public version or by another test version. @@ -49,13 +49,14 @@ Version 1.6.33beta03 [September 14, 2017] Version 1.6.33rc01 [September 20, 2017] Initialize memory allocated by png_inflate to zero, using memset, to stop an oss-fuzz "use of uninitialized value" detection in png_set_text_2() - due to truncated iTXT or zTXT chunk. + due to truncated iTXt or zTXt chunk. Initialize memory allocated by png_read_buffer to zero, using memset, to stop an oss-fuzz "use of uninitialized value" detection in png_icc_check_tag_table() due to truncated iCCP chunk. Removed a redundant test (suggested by "irwir" in Github issue #180). -Version 1.6.33rc02 [September 20, 2017] +Version 1.6.33rc02 [September 22, 2017] + Added interlaced versions of each file in contrib/pngsuite. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index ded4915dc..c77521352 100644 --- a/CHANGES +++ b/CHANGES @@ -833,7 +833,7 @@ Version 1.0.7beta11 [May 7, 2000] Removed the new PNG_CREATED_READ_STRUCT and PNG_CREATED_WRITE_STRUCT modes which are no longer used. Eliminated the three new members of png_text when PNG_LEGACY_SUPPORTED is - defined or when neither PNG_READ_iTXt_SUPPORTED nor PNG_WRITE_iTXT_SUPPORTED + defined or when neither PNG_READ_iTXt_SUPPORTED nor PNG_WRITE_iTXt_SUPPORTED is defined. Made PNG_NO_READ|WRITE_iTXt the default setting, to avoid memory overrun when old applications fill the info_ptr->text structure directly. @@ -6019,13 +6019,14 @@ Version 1.6.33beta03 [September 14, 2017] Version 1.6.33rc01 [September 20, 2017] Initialize memory allocated by png_inflate to zero, using memset, to stop an oss-fuzz "use of uninitialized value" detection in png_set_text_2() - due to truncated iTXT or zTXT chunk. + due to truncated iTXt or zTXt chunk. Initialize memory allocated by png_read_buffer to zero, using memset, to stop an oss-fuzz "use of uninitialized value" detection in png_icc_check_tag_table() due to truncated iCCP chunk. Removed a redundant test (suggested by "irwir" in Github issue #180). -Version 1.6.33rc02 [September 20, 2017] +Version 1.6.33rc02 [September 22, 2017] + Added interlaced versions of each file in contrib/pngsuite. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/contrib/pngsuite/README b/contrib/pngsuite/README index 53ba5c8f7..930aeae03 100644 --- a/contrib/pngsuite/README +++ b/contrib/pngsuite/README @@ -16,6 +16,8 @@ chunks, etc. The "ft*.png" images are "free/libre" replacements for the transparent corresponding t*.png images in the PngSuite. +The "i*.png" images are the same complete set, but interlaced. + The images in this directory represent the basic PNG color-types: grayscale (1-16 bit deep), full color (8 or 16 bit), paletted (1-8 bit) and grayscale or color images with alpha channel. You diff --git a/contrib/pngsuite/ibasn0g01.png b/contrib/pngsuite/ibasn0g01.png new file mode 100644 index 0000000000000000000000000000000000000000..828fa76036960205f96b4cde8e832c9bd9fbd7ea GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^3Lwk~Bp7wr%FhGo37#&FAsp9rdky&x8SuE?Kh|_a zRHBMuiJoND4!P!y>JNCrEE$B8mp0sp&`CWhU|Qo{v0?xI`~C%DJ(ADY>?~OP>EgYc znK4iIM<(CDskPo`{!R5)F7r~_??=xudp>ig^nDI(U+*i7{!bXa8CO?{uX{G-Qm;{$ zZgO)~fvcRDM}h9F`Ck^w>Q@D>Qhd6wr~WU)l*fUxy@fG7K({e?y85}Sb4q9e037{I Aod5s; literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/ibasn0g02.png b/contrib/pngsuite/ibasn0g02.png new file mode 100644 index 0000000000000000000000000000000000000000..7fc17e3a1eec51c568cba7c9c47e82e15cfbd62f GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^3Lwk`Bp9=o@yY|~Ku;IP5Q)pl0ZA_s7#xukDimmYgw;H%;*X66Y8PcfvpJQQ>GP)HH<@(4OEuJZ lCLRMv7UpGK2Nz7TWSA4w;QQgGRV&bN22WQ%mvv4FO#qqgE8GA8 literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/ibasn0g04.png b/contrib/pngsuite/ibasn0g04.png new file mode 100644 index 0000000000000000000000000000000000000000..1beade28f57f1c708311fd7692f5276a8c6d15f5 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^3Lwk^Bp9DO`>`KLuk&(Q~Pzhn4={e)v*}6M#-tL}#`|zei+gwXse;?U(aG!Ir z`}bp63 d@)K^9S8sg1(s1{YexS=4JYD@<);T3K0RXM9TwMSF literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/ibasn0g08.png b/contrib/pngsuite/ibasn0g08.png new file mode 100644 index 0000000000000000000000000000000000000000..90b5305e651e5ced5480c9883807cb953dd4b631 GIT binary patch literal 237 zcmV(o zg^)y0Rjf!tRTURWiXSsGGZ7{d51Bp3_ZPW}bbH$7b(Lp+XeooL9{(AgbGFk3R@N$)&7S#%Q5XTcM@9Nbw2&L*&W0Lcwj7XlewjB6OCC+s#bH_Ldm zU-opY^%k+OJs$&hKidCZUu201*O6NXG+tzgbgVr%*RAn})C3R#6n^3!7dGQv=g;l8 Ri-4YF@O1TaS?83{1OOm-Y9Rms literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/ibasn2c08.png b/contrib/pngsuite/ibasn2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..05d4688853e9fccdffdda84797d221bed4af81f8 GIT binary patch literal 299 zcmV+`0o4A9P)VfOFZBK`N@L-nZ4np?b8U;jSY*X*6&Pdm zr^RjCo&!<==Kn=08-XIreNfp56v=WQ%vPY3GA)ZaXB%M5Xa=DA0+f;wn6{4##*FL$ zm5jYKjUN$=8QB3QYqy#@Z_XKNt-b(LO4fO3fc$ig!!H|9ip~a2p6_4d{L=v}6okLb7}(5Vp@D&gM_pFfzi>a{U zrN$M|yxDo$x2v_so=6g`-vQQJFm+;z=1Pmi^c^68BDYQ$2%wlw-YTydi@Vm0#a(NL zfj(wPZx#IA!O>o|ke#v7F}rPSp4NLyQ&*FxmkvGqIxReNb6NEhmX`q2 zGSGk~DL|eAOkJJ}f70UtRcKPH&Kw;0lLF+~$txO0+LJ*z(nejaB>4ADg4bsWHa8MH z|B>KnA;II51m#?UAHOB|K9k`7QGz0u;O3VE^HhSolmH}1%*zpHS!RVEWV3fe*E32L9B}8C**3;9wZ_Ne3aQdmMzL zZaD}|UDp$-TET7&&An5ySoN3P?9skwF+~Gpb-fvJ0{x-^(z3=! zmVldR8y`Ue{-SOCN(l@TZR4MqKseDhe$oHXwM7GDw*cu&gaqP?K29KjfzK6f_YX+m wdZGs;Fb>h435-v)LjvO#-IKuA5pCoD0i+b(v&J0Mc>n+a07*qoM6N<$g29LcCjbBd literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/ibasn3p01.png b/contrib/pngsuite/ibasn3p01.png new file mode 100644 index 0000000000000000000000000000000000000000..f91e7233e70e8ddd23359a3e14e00a46ef7f3f1a GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnL%)r2CxA}%5ki!<>6XN>rzmihg{~W1HYCsW9 zPZ!4!j_b(@4Nd$3JGi)NlKhYo%R21N}4W(Lk(PP#Jt;%5Oh OF?hQAxvXgPDO0Ag8Jgv}q;FoA9((?S;wxtn<_QN+F{IQS z&~2OGa6)Oyge857C0FYW+Km4>M{=-*D2W_AaKS~lm|?}Q2H&!nhvq=j89ZJ6T-G@y GGywpYt2f#J literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/ibasn3p04.png b/contrib/pngsuite/ibasn3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..b2ca720747a6db3c08049b82ae44285fd7f8b075 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF%)r3-EjT<7$k7e(332_;!0TefnOkLOeceV31xk&buuP3aO zvK_8v?mNu>)5yI*ti8x;zv2JpMH=2qx2(%fUX!Y@wwPzh+iJE;e9X+5d(#!(S{O|* gV`01GC)_Bn-uQZ@;qD{-K$kOky85}Sb4q9e08!+0%K!iX literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/ibasn3p08.png b/contrib/pngsuite/ibasn3p08.png new file mode 100644 index 0000000000000000000000000000000000000000..6df8370aaf812fad2c960360b5889449d79a8c7c GIT binary patch literal 1492 zcmXApdrXsO6o=2pMHIA93RYUVmAC~48?^)H1sAadH5)X;P7HA|GCL8R?bzrtWM;!l z0V$$USC|?ZZt@KsWq_`f5i^N#MJ#H<+&(q&lFUh6!AORVo}G7Z@;v!HCwc#V>kI|? z^TJi(05EUu8vQ%8NzB>70D|rtmjNIc3~#N^6X*^CL4Y7u1Xqv)$iqP{hj3N|SFQoj zM1w{H(X0rrMhBo%fldc1Rs>h42heLkuLlh)f~z+I7}LOLgfvzJ*JuJTEe4Yb7PBI_ zCM$q-8Cb2bj1|GP+5l|1V6#CkD}rlt065lx!vX795nP7|AQpirLJ=#1E4lz&CE#*F z2`hr@@&I^B!Q+8aRs`200Z8Q_Nl?y;;7UFKUnTf_P|1qm`T_ufY6t|Nniatfpdeta zfGE_mBDjchIX1{?8dworM2!XyYiJI$BDjb;9k%LdT3HcXM7MU*5QmuSXW5nM!{51;vHp0Oghh=Bmk1ZZYh5nOC? z-~SUJsA;W!)%rI)TfKS3u@JR)^wbU^w4$s+xF}PVjKBN8%b|bUcu2)*XWpWUvhm!m z`*)q6evqTPJCM@WDZZLrB`dh6jEd2umc?ysYj68Dxo^roaxZbg!nBS@j$3UzH*b5t zV$1fI&VBeK;lz7)Rz}Cg#w*mylSzB?h8CUP`Y=|r?$ z1Hu=pE+(JKdYsx(_9)J=@m7}g^{n2Wo?dmFF8$A3M9d`=0#X zTe8GriCekrlC3!p!?E<{vnA(uL_|bHHramr zx#qI{`0|H0J8pb;?dzr0*;;LC>e6Xx>6I%#?Z%6>`y(qWpH5CbjR=204^9s5>gfFU zd9NtCp8v7r)WJjD-SzdN*wW&1?c28{v!*6Ec=hU(l+sd#qNqrx8*0za?(3_nnwpZy z?Dm3!k&*h*O`C2@((RlTD{=4d&Rfq%lkI5=+E+OPJLX zIXSy&BBXF)?zM@a*OGtmt9JV5|Lspm^vfsX-}Ea6{p#I*CHfP`>H<+}h4~=;*|0XR LKz}ZG^Oyety+*k> literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/ibasn4a08.png b/contrib/pngsuite/ibasn4a08.png new file mode 100644 index 0000000000000000000000000000000000000000..bda8e3c651733475ea99f7f70f919fec04dcc369 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE!oa||uB7QDkkjkw;uzv_{B6G@SBn9UYy1N4 zyQO&-^`7Y$eKEVi{h^gwYD3aF yqw4=Nr@Ug*y&@gbC~dLhAZLHGvBeE71Ex3rww&tW&n$orWAJqKb6Mw<&;$U)flfyN literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/ibasn4a16.png b/contrib/pngsuite/ibasn4a16.png new file mode 100644 index 0000000000000000000000000000000000000000..500f9128e6e7e864b3a931849907a290825979bd GIT binary patch literal 2839 zcmV+y3+VKTP)g!L)UG2f4l6J=4p4#(2+)EAvXHcTS1ax6t#q~OA5Tm& zZ9J1dzH`ppKkj_bx#xV(x!C~bO!&>~VAnvFITMTviN3hTRv zvh5o9_Li#WZ{Cau%@5fj4SqfkHXeXW_kl8PG~_?ADWrA$H!S0goyyC9fY0`aGL_B#ZB3zaMcUqyN1D1DLhN@e}=^4=334M)_RrMTn4OBh9u@5%( z!^-c#e@=DqtErHss}R!u2+M$o_#+hMmhS%WC0(uX!iWbF{{dH%(3XVCx6jrq541zu zHeEfwO;^`G1Dyr%>+i$8*=Os&bQqyL&<;y_pydy`dg>`%ediiHlykOz>5mY_`#`zB z3#1Fy9)S}=SASGt88e?ogreD)z#MoT#Z_WQ5&;MzG>OMZg4k3ZXYOzL9q-N z?F2gl!|Pz618#l~B2UAP$1J0w0uH_m-a1&+1k)Bk!C`Q}4|y6W5dmT@^t}T&zYG_? z205!OBkZzRzZWrcI~@8~XwJa?-B7&(X77RNQz5t&vNj%o?y&Ce*ruzla?PxY!jdRd zoq(z+6mN&~E8*Oq;Cv0tOUCT7S7Wvk5s=kp8MEHDsN8^^Jk`FeMKDI3)X>#7@LP{w<6I zArXXl5PE{p6@*wJ=xS`lH7g7*Q!_iZ>FO<8SNndVtAq1()jpxCnMZVWEMHfX-_zBB z>$=)gtE)F(*VU_qx;nexVW?DY0QUm8TCSOw7x+!zvoP(p^Q4($koJM~5_FfswRX68 z4=ieo+2wI4RzaB+2H$y@5`|9|YUTySZx+=;Wi7~WL9zorYk@02gEOtL>{iUKoCC$H zA$a$K!c!28g8vEly<0O+&+(hH(=hrm4AjFXcc7&gYS+ZwMO;!TXyD==(>a=jU@Z+H4zPr>vu@P8fLNpKB8ZaesHL(y9>V>JwW;nH%9_8>;u zhHUGKx@J~bNL>n9HebklHVIjrE#%ZCLI$@Anf@Cghd&ZBbx6qcppddn$jpmE4m8^} zR-YZo(o7JB*62S9fn#vj{-r*^z-9;5mcQJ$wt!}e21QpP5e6&lH?MEe%t8}}8(`!D zq%$yn9wv@}Yd7RHfO--j~&R3_VTIa~wXq1U-Y$#pKz9>&NOt^KuJOv zOX@5mkP8JV$d7|J44z+25=d`=k$;Ai2FXT9EC*{U^sj*KZok=fQZwhyh2aMwvmNsO z4z%TtZh#Z{op<5JA-LQGSDN6;NvP0;QN6-43U7ly3cl0e{WtK$!TnE=_Yac<#=3&y%2KjMfMKz9T#u7nRBfzvZ!@jhX! zZ?lZzS0E5@+Gt7?+|PoVg1mmn4MWb|8W<15_-{cbK|T*-QAlqFyBbm{7&-|9)1mtm zTwd)r_g~Y@kQIfj0?4`rS#ikP0Q?jbVL)axWIT{*gz<-9`~t|iFxCm9 zqhL2dD&*`4J->yElM%o6sxSZ^-UK@ygGF6Xyb`o}@I*lEfZSZj@qy9=*^43jb#Sen zoGAt#sAlU|q1PmO8&jeik3Y^~Lr22(*f~u(V1TU#J_oi3QVlR%1Bp(sehIz3 z&{geJ_Tpp0*jgl5{6mj#6p#Oci(*~VgPCM1E5mdB8#V#n%gFurrqQUXYJ79bl zxZ9y<4RjpGXo*4D44AghnMhhUR3W`33X(1<~qBSrz1pX~BWewzooI(P~YlSKAg1;3;TVWys zN-MZq9lZ!NLT@X^#lujz2mC=OcoTdjlfOlASZlPl_{~7d`4t66KF9uQ69q@qvsAXt%q9I#IP^;|7^ix6>=L_yx>`2dh@V`j`6FKV(<2(QW002ovPDHLkV1gU3F8Tlf literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/ibasn6a08.png b/contrib/pngsuite/ibasn6a08.png new file mode 100644 index 0000000000000000000000000000000000000000..258f94050cc0829903c7ebb7224f4f6177559f1c GIT binary patch literal 339 zcmV-Z0j&OsP)+T|4Ex414Bj88CM3A|N?=J9G9) zlhOF{5wroIBLKW`Tn0Ez1ZV?5xA>mqy9}`XS~tP|BNy5bg$=bx&>|AN@}Ln!Wrzue zS|rc}kerqYEO?h7x~t1+;=e_qam4wu-PS&5U{ z>>qPJ=iYbUz29H=`+fJ0!?tZ3pv44$7HcT6?dD!d+lFZ5r$3Pd%PJ~dxyALfpH=)w z4&C<@)M#^S=hoWx%2xmzS}bgP`Y`~@f}+BeTOR)@Jh^V=7CGz6EsnN?lEL~)8BVN$ z8g2hRxpwu`ybK?HSUq*hGj7-!2l(#X*gH@YZmo5PH%v2i@Rub!UjN(;I}-rEdE2<{ zd$+y*@J%z|`ZZYZAD$2&UJDM}ZcE6;B7UgRPOg=$6ZMk+sjXtq1T%3f6&s0WpD`TY;dsP2f)fPraw5I8Z7gsd$j%0EzLC3g$OOFs6)NWeUfb2Rf8kxnR!utxlb%2vt+;ln<_4&o*>(t^ zsIsq3PB2`)*roxTI1$@EvFg~W?rs=99INst(Dt{`QE{sArkQZ|T;Gx@?*WuQ-@a^+ z1ZQtfHjH`q*s6{ol*O@90q`cEpa2F2VC?td%=_AqFoU26*F=UM0~-JeCo0#(@wQRqqc;90l=iEhxbFoH;G%vL&Ud8y}kcit*zBlO&!`ktE@Bx#BK_`Zwg2q^4P9Xl*@xP4!e$*ED$G0r}*C9|24| zceET}00qwvJOtpKnK}gE`8+)qz_lm4V2A)h2@t_KdFJkty{7(2 zBTQIoa;h1wor4uV0M@r*-uv+D8E~rcXvMWZhf|F(?FRs3D$bq-D1NZ_MS#%7*a!gs z-sDgV#KuaR^#B9M<3_<`Q}1kqQAylmbEB3(=hm~cCLaPAzP7soplEO3U;#vxc-D8q)O+ioxXDBk%RCC& zH0b>~6#oqj%z%O;klqZQ<=}h+a(9C7#~@yWq65%38?vXtH4fa*LuMHSdm&y7y>;E| zicf&KxSOl%f#iF#9-N;h`TMsek4%>Q&2GsZ6C^kPy=3$%$(652{$P~kotq_V!je;- zmW=o$!%$ws6y_Jc&^)rn5YV@%XqO>i;QoSbM$!%DVmTo7 zqU5DUfY90zQ3yv%&7vaEqVYB*|7ViUe^Z*P{sF}v#SSCCa7U=D-w@Edym%A9fWIIK zkkA8BaOPbAa&tiER!O;gHLYhJgrns>GL*tmN!Mt}IM4Lj|~~1UTQQ1UMu4Nh3gMZTkiYM-U9ab6jhx;)Q+a!v zl`UgvgQA?%sysxJ20dSRNzW{KCaxnl$vpomE;kT0j=nNGg z`?y-@DixGxRd^|vT&R#d`b&V9UxEkz$`I94U)x=IHG1o@akHk3Lx;#}V?99l2}=j? z7bg1whP7O(0dSAaoB?p@*`Y2-?T{3z>cvV`Y$yRvH3A$hhiT^w5wC#YIjF3Jw$Gqz z_URSVBk1kV#^z4C9UaPh+Dib!Rn|#>KyzXafNz=D4B*kz|Mf2TG6>HOUij1&xOS-_ zE{uhdXAF_v2A=y35sE0p1v-3LyMvU>$|Bdgy3?OrdFwaiaJ2X9`F6 zqeH62TLVxS=uZFy9!YEj=VccR%>$i{Flvb*dhdne9fpXNLa56Sso#OO$`JN1!10J7 z-18vwmLUQGNF)qV^a1ouH^hi2T+|IwFgf<5<5p82WC8zR3k-I_y1W>}*BZil7{Z$k z5xWyYZx}*M2j2&VNRI{2=Z3Jo;7A$5)dSfQLwHX@YN8>6`ygIxh@x%KcfTQupMu`U z4H1|bHyrJzemN0ckq68=&~_T4uMUcuV8Dg~2P8iR|0Efr-g_at7+gESt^-Gt%pSS3 z;OU2SA@~l1m;r$oA@O4zY$$F*7ZdFd!oQ&2VcYp{KHnS&H;5|P zN`4K+#Q)y7|7+v(<3Kd~YOH#PZJ(beJG^6MRrXbZ76rc!;b`KZe403vVqF9DFM^ELro@(fFZ8!Tl2&nJo-lp$2Vcci5MUjPcG z1Uo^C7EB4Pg>ba5PZ>nfrAU`Dg!%$ae^V(`t_(0s8DOI_lzK0vm{6Bj`Et~!43S^& zOZMj#j;#x=v2=)!3U-=0B(r`OK&ru850HAsyAmM1*s~KLJ;C#dOhQUg_uGm}WRFVA z!_>E|w_QbssuzK?07XTi5NOe&B29yEv}c}rYraxcF{>yPop&k&sqrb*KkyflmTGrj z!Jhefg-ufnTROyIp^&LVqA<`8Ah!CJ0Hn&L#FrX|)dQpho&-Rq&fNr%`E&Q%Ln6Sr zai|a7$^dS48{t;x)L}=IK~$yot5Zk8M*thq~)}We}y3M_tQ!)hCQUCK>7l zD1U7D9iT9mv}Q|Rso$ZmBl0mwGH_Avt622DyU$regtsZOb|A8yxbO*2q!-yVN1`&<3f2z16Wq>DdHa z{v6LofIVJOdDK=BVDFO5DPQH(u`{Q(KsGCx*&><#m84K3-7Y@ zg?GWih49*LShxtFdTMJcz{vg!g#ZPUWrp{y5>Eqo{!*^swlYNkE|-+RIVaZw;M|&9 z0^t0++=Bp)2D=_EpFpI!mgn*hph zZ+{D*cy;f3fY4KN1^?vaaR9GZO5iC>_XBv=r&j^En=^9&T%Tsg12~&?DuIvcum z7#@YxJ>Y#+{!;hA@P6nngv@MkAArDmNUVaceeKVd)}nXqZ)ehD03~~6r73!(ZzDi3 zC?)WPL=3>YHMJCA*zcsoo-d>ZZhs~T;I7Lw0k|r&Z9^g;y-zV;xs?G@-&YE&y`8vU zDXt74E3s)ZUkh8hX@aI%m?fa~fO#`$?}Bv$g#Q(id%!;*vL?7RaFs#!3)z?41K}s6 zM79YI4Ll~Kiy;_+cpI2z&wTAy=%&>}r3O$`D8C7Uh4FrXz}CbP0AEam0KBhD4Lp0( z^8q|{=_UYAZF-+Pjwu7=k7fDGw2LYUUQl;ioyx=VswuXvuRpZL(mO&>)^CWe9Z-6& zA$n#)$st2nCm~#Ah=Ju$u-Onv5BM{NNN)kp4-JvK9-JQo1(hwzwpl7BbO7DfP9fm0DhmMdTLTmc^ozGi3bQG4wq@1IcO1b6n z@8Y@Gr!BHiD_DR{7(P5YYmm=V=hGZ*b4RA%k zHoy@9=M2al2KOe&EC=sJNR0r04J4Z(ZVY@BjG)Jj0Y**%2&CozC%%6YHv{l1TuTPWF#36sZrT6-wIAI8L4`>Sv(YFYSb{V2S1BGrw3~Yyj`wS7k1%mGy zB58tOGlbX-zGa3;-w2)~hRB=&_gF*Zo&@I_L)a6+al#Oe6JSp?gmVq#o-~AeEM(3Y z!gB=DHyXmX48&$b_%%qHh6uh3@mma0a32h8H$vHOsv8mycFdT%?VwTS?8OI)lN`3ceUp%TVw%dl6lUjrI}dZ;WI290Fis=;*St8< zcEdA2&o2}xQqNf*wpHxg%7n}A0<)ygNO@lVqqDNOhvVa?ztx`@lQdM8DRV!O1Uiku M)78&qol`;+0Qf*sZU6uP literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/iftbbn0g02.png b/contrib/pngsuite/iftbbn0g02.png new file mode 100644 index 0000000000000000000000000000000000000000..46ba4977792db7242ca14bd6b484424bd133284e GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^3Lwk`Bp9=o@yY{frjj7PU0gxFlL!dbcw$T{zIjBs)WP z{>HX0@k_>q?fVNd4~VM8l(NdkN663XEIFvVY7gtm6|BD9hhnzgmdK II;Vst00?1CAOHXW literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/iftbbn0g04.png b/contrib/pngsuite/iftbbn0g04.png new file mode 100644 index 0000000000000000000000000000000000000000..e9db0ad50d0b43fece4191d0cee877d179727461 GIT binary patch literal 489 zcmVD%0+%?m8{ukIf_cfIf76xL6xMlh8HQXmr+U zgHu`IDZOwFPOi$inM8OmiUyAd5k7MDe1U}Iu)(d(&>%vO8rB9Gb=|oYUkFP$XI4Do zX6~_Ke8jVOD<*u?tE>+_?9bDmOZF~l?DS9Q-I+;sMk8Z$C!TQ23#yh*E-ghTInPVs z*|xdA%+#v;V}>n6)vXhXb|8g!X74vFQKbno5O|crC(GG9EgGq@;NrY{=@*NYxi0E! zB%%y^wk*YUUDRfRM9F$Wg&JvHlu0O}w0@G_FsAR9i4ti2M*m>CU04jY``*&DX{P^i fh!0!%U-(c literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/iftbbn2c16.png b/contrib/pngsuite/iftbbn2c16.png new file mode 100644 index 0000000000000000000000000000000000000000..e3b4b8887dfc74686c65c1cf9f6b896fa20ab733 GIT binary patch literal 3305 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 literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/iftbgn2c16.png b/contrib/pngsuite/iftbgn2c16.png new file mode 100644 index 0000000000000000000000000000000000000000..e3b4b8887dfc74686c65c1cf9f6b896fa20ab733 GIT binary patch literal 3305 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 literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/iftbrn2c08.png b/contrib/pngsuite/iftbrn2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..e358a1f91692f31f6419562075e28ff3f222a4a7 GIT binary patch literal 2120 zcmV-O2)Fl%P)zUfvH$TCNcsNN+=^4qzPciuT2-uJ|||g8IQ+9Z*MQ#w#}lpHgAmK`Iny;*?-R#tVh(;)ChQ9!2aYA zLI^ZX6DwA%5SOn__>L7vGXxE|=K8eLGnl9SoI}@SFGE zW5a?4C^PZ=5c2qE5;#zMRY9~eI%BO?Qs%Z1Ih z1xdQ?G7Xd9xc4}tqoXu5EW==E!|Bvt+8~}362%aWM#;+h3!3&2ufFsi~FnIO zQ_=$%jYdh8RMA-6h%C$8(sK)Si8{81wxZMNsIRZ*tFIoUrDYnqxxXYByc3`A{p3%rssNJ>iLm1z5_O)UG{GM>zQl5^+I(bLmINl6K7 z*RGvdjmv9#waer2i0eJSVL#jm^7S5`JbChl>=P6mJ$h8^+O-Q?TN}22#>7N@r&uH8oH3$tSs-J!?s>LRMB5c;VYg-=b+6D~ncABh^q)P=Knc z^z`)b@yFZI={8`o)RLL0B@+}C6@d}xhI&&yq=9wRil%9VLLu7P9tA$6swzY%w2l=k z7F~rv1=GJwd}{d=RFE~9L?S^j805^EN65=N$dMy=0AH|l>5^muyWK7kfxDXTf-*pb zG%bxpB0)GD2HZ@WHiE?x03aL6y!~G;+2^D*SX^U zzWcG7tu!_^a_-zYjvYHjN=nLvcD`yeH9p%Y-FNSO#N%-QnwpxVtG#?p1>*>Z!@_Jf zUvs42kl_CT{mpD192^wQ&CQ%Raf1H-eoS6387>zkb~{rSE~I$jLb3}BrJLcrY6gPA zplEArqqVh_uC6W;u^6eHon(CT4OWi_vk(LT9}uuu@J*dc;OtovfdD4p4j|oNVBo2z zm|j^)d3iadrKK2+M(LUYnwy)&{{8!jL?Vo@O|7q|u(cJHF}Fl47W!w-L~}T}t-YNo zZZ{T9BOQnWK|le{1IHwZzzZ*6Fq@MCDvH9aS+jWVx#y%L0q4)37n?V4CXq;>H|jAN zOvK}H!r?HZqoY5##)(7%uh+|k3l~sT6;)N)ym>RZxw%r32kdscWH1=Ss?t>mn}9pu z@y{P;u4^tjoeo*PG+Pu!xo%KJQ5YQbar*Q$TrMlAsWOu%E9B>gnKy6F#o!Z6Xf~U% zkJuTKhQJRW{^UcZ3{PRog(*bkD2L34zy=E<3&#6Dt&5#SUMfwvxhi?AG~E~Ae68THf$ z>e(IHjizbHvP@=XCgE@xpU+1)oX(y-TNoH9LZ@5JoH;vr;DG_`c9j`3LR44hQd(M? zWJLXy0&I;oCjB2!g>N9UTu7iKGG>nK5I4zP>KvaTAaMlu%U_V$Pg7*Pq2YolcrpFpm@^1%3oZ zpOLE1s~`o0UW^G)K}%>C9jzz|s;bi4YXgp<(|t=$P6&si0!_OYxE+(}2(P>{@#~Y? z@Jh6{wu-G=w-Sv;X}Z0M_M-N&e6>ThTur6E5?Pk<`~7ruba3=&Dd*1{kfgJ~tq76M zNvDmX`535F2;m&cxm++YM7!~>oWLc)azaO{T&Ct*gU0r@<;#&}`Fo!SKln6s yyWL{nzI~iIbB2{GS2BC{?3+4-{%ZmMEBpuD_dy;;M-3?e0000 literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/iftbwn0g16.png b/contrib/pngsuite/iftbwn0g16.png new file mode 100644 index 0000000000000000000000000000000000000000..a1fe4f95b4ae7abc42b2d41498962c8b24e73ed0 GIT binary patch literal 1717 zcmV;m21@yfP)0s9`bW>qoqOm0e!p|R z=Xbtm$;oE*k|whr5ilQQ_s;I7J$!wmf zCIWe7d|Ja>QBFFEzdufN6SHRZFpznK#s=CfxhSxfPgEL_-W;*n(xh|}CmV~$%|w2{hZ8$d_VoF_`&hN=DDI)Un&RT{ zIg~`9wUrlNWczk1=2G(jd9x|HjHWV97{{IqiB4epeGC}D<(D&gawmeeHs=0_k|e{g zB#{V}_LMHjJ9m;yGH4JlzubwSpn&Xtg2za|M$SUMxSvTw$<5{Mx2aymr%Q=GO?xRd z3;Kk*{V}%xiN+CB7n1yljt?r6qVCaMsz5x zyJ>%rGw-FeKD^LbvpDwHP8Z&JC**r@H7B0P^u@L*dTJATHR z7fAk_F@=4iaNKbu|BLBi?W-6;#Z!zL6<%B{#)jXKT0%}P#j!pL#*864lKOVOm`cHK z!>W?WgoSL+8d7VScn^8!@{4o(Q4lO9_C%P4!D75Z5YW^_RT;(qWaHhm=X2%SJ_?2m zp<_9%DTe)?%uD267b-}lNT0{ZtrQLp4-FjH4->!l3B?Katss2|k=D@vOop}xXg!l) z9Iurgg33RClKJZh_7mJrW^p(3(gXPT2|k#}jHh}l=r@_>-Or#|9J8EtohiL$4S9KA zGMOH}i)mkkMF!Td@Bi>25p+o^6?WCb$=9w2Uss|>v$?jG&70YK8%4Z>)OU%jU{D!_ zBbjnFWs^AjY)(HtY+r{2uz54fm($YHIX_|hB5FsG{Q%|UucmZ2gJaYW;J}?k&LtWr zQ%<^+UQ<7zh|k_+TO>3d ziG+PEl?o^H)~DG}Ps380n;18jDR*%Ed5ry(%Wn?Jcvt|z3<@i#`ZKW>vh&!qnbZU_ zQ^;&3CmsR_g7DqcMCJmv%%LMq^K{0a%8o`h?xFcqYNm3<6$gi_7l5&232vq1Vg}Eo zem2$rqVySJFAx-y-b3D^ZsT3Ni2aeaI-0jI_I9cV)ACC?29x_JlTYCM^N#=^H;}--*f}Jvr@fZU$zi4Z>{lGWmv;m9?P1cS z{sA1Z7X$%ImhkQZ%%x^Jr!M29L`cG#8g}hs?_PGsX&uQ0DHbI-cAF#0Q8lAPf~8Bt ziMOjZbQ#ZPnK_fIt_uHuS^3J{aMv!DEu*3$oMk6W_-cCo@9p@1zGy` literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/iftbwn3p08.png b/contrib/pngsuite/iftbwn3p08.png new file mode 100644 index 0000000000000000000000000000000000000000..47d6eeb3c0f2f0133d6a3e248e9d6103398177da GIT binary patch literal 1507 zcmW;KX*d)J7{Kv&W-uA7DMyEPqok;zaV*hTJcA)2!_1D@MNA?`%;6jn!b0OV_D2UqK@t*v+O-igKHrKP2rnVH7M2OJK^&(F`7LgQ*_Ra;rL#KwLYA75Bl zXlZHT@p$LXoeTH$j4(IntEi*{Bm!IlC;+&sqcb)zu(7ex+1Z(!n;RAu77`ek4NwLU zp{N*w!<|N>vt(qV==6$;is#RtudS^W6&0~qtnl#gYXBmEUVw)H!NI}B#l^k7y>W4I zOeQne(D1(Gs;DS%a%xalp8)s(5D*YBKK>>tDJdl-B{4BEIy(9ig%ZJJvf1qTz`%YC zX6}a{LPJA6JUm=nT;}HH;^X6!Qj*fs(<37zeSCb}+}xaQ$lapg&Vh$gUk&?>C zVxzUSDK<8wgoFgyTe9#7Ulrl3j3kwVRe12?fEScGoEMxlaC zO)XVbExWtB4U-I^0U!l?zQHRIlm6d}e)I6RbEiDahgCX6J$RolZK+GgkC=`IwuV24< z`+Af4WRNt$0}7Aw@#9A>m+Kki3E)d6ljr9bot&H&7Z*>TKE1iQnURs9v~@ueCmV?A!J932YvCK99~q^%EH zFgOhwXDr+lP#sfagTpl;mahA}Eu=TvE3+(mhF-LHjf+uFbR2NFo7FPgyw(V_|ATuoSW8tJ2@#vD{qtK zr-VtFjcXlN6&}1+arl<7v!L%1=T2nBU8s^DizMG|~GIvbDc9(&w8#lNG8$ zMg|`4)_g;#Uu|vsTx3gMSvbx?UI-ZxZ&HV=x)~RmBKJ;aR9*k?RhhMn`2JZsR`a}A7{NS*WfpO#QyCTuOdoTNUW*Z=oYNu`^L(uzv|Alil&b2}X zyGywjiQjLof!986t!0EGpfJ7!gFB+|u;mJta8PSNWysdX(C}xY`)duOckeZ_87$_P zl~qfX+m3~1^}!rsN2j#hnWF2s)HBV(v$LX+spFz!RQq6BBlFe9{9B&cP~aX%75`VG z4Gikg0wJ2(s!S>^iFrRTYjDn~+_Tuda?~_d{BYSo&!hS7uI=*d>4`_|xXE-o#h+|? zh=dvwmIiy6`}hu3JvpZdv7VDSqxYMQ%DNQ2{Lj$3xhm5rFZ;oj*W+JAE6*y~PwA|E wu>vDq^P1z$_jax+3s-luV@5gN#{2Q9h_9q2!pxq`A0;V+owXye&dMv{e<~b-F#rGn literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/iftbyn3p08.png b/contrib/pngsuite/iftbyn3p08.png new file mode 100644 index 0000000000000000000000000000000000000000..47d6eeb3c0f2f0133d6a3e248e9d6103398177da GIT binary patch literal 1507 zcmW;KX*d)J7{Kv&W-uA7DMyEPqok;zaV*hTJcA)2!_1D@MNA?`%;6jn!b0OV_D2UqK@t*v+O-igKHrKP2rnVH7M2OJK^&(F`7LgQ*_Ra;rL#KwLYA75Bl zXlZHT@p$LXoeTH$j4(IntEi*{Bm!IlC;+&sqcb)zu(7ex+1Z(!n;RAu77`ek4NwLU zp{N*w!<|N>vt(qV==6$;is#RtudS^W6&0~qtnl#gYXBmEUVw)H!NI}B#l^k7y>W4I zOeQne(D1(Gs;DS%a%xalp8)s(5D*YBKK>>tDJdl-B{4BEIy(9ig%ZJJvf1qTz`%YC zX6}a{LPJA6JUm=nT;}HH;^X6!Qj*fs(<37zeSCb}+}xaQ$lapg&Vh$gUk&?>C zVxzUSDK<8wgoFgyTe9#7Ulrl3j3kwVRe12?fEScGoEMxlaC zO)XVbExWtB4U-I^0U!l?zQHRIlm6d}e)I6RbEiDahgCX6J$RolZK+GgkC=`IwuV24< z`+Af4WRNt$0}7Aw@#9A>m+Kki3E)d6ljr9bot&H&7Z*>TKE1iQnURs9v~@ueCmV?A!J932YvCK99~q^%EH zFgOhwXDr+lP#sfagTpl;mahA}Eu=TvE3+(mhF-LHjf+uFbR2NFo7FPgyw(V_|ATuoSW8tJ2@#vD{qtK zr-VtFjcXlN6&}1+arl<7v!L%1=T2nBU8s^DizMG|~GIvbDc9(&w8#lNG8$ zMg|`4)_g;#Uu|vsTx3gMSvbx?UI-ZxZ&HV=x)~RmBKJ;aR9*k?RhhMn`2JZsR`a}A7{NS*WfpO#QyCTuOdoTNUW*Z=oYNu`^L(uzv|Alil&b2}X zyGywjiQjLof!986t!0EGpfJ7!gFB+|u;mJta8PSNWysdX(C}xY`)duOckeZ_87$_P zl~qfX+m3~1^}!rsN2j#hnWF2s)HBV(v$LX+spFz!RQq6BBlFe9{9B&cP~aX%75`VG z4Gikg0wJ2(s!S>^iFrRTYjDn~+_Tuda?~_d{BYSo&!hS7uI=*d>4`_|xXE-o#h+|? zh=dvwmIiy6`}hu3JvpZdv7VDSqxYMQ%DNQ2{Lj$3xhm5rFZ;oj*W+JAE6*y~PwA|E wu>vDq^P1z$_jax+3s-luV@5gN#{2Q9h_9q2!pxq`A0;V+owXye&dMv{e<~b-F#rGn literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/iftp0n0g08.png b/contrib/pngsuite/iftp0n0g08.png new file mode 100644 index 0000000000000000000000000000000000000000..aa826b8630866f46adc93a224c4599c5f522c896 GIT binary patch literal 847 zcmV-V1F-ywP)3__?zx#vCX@MLrkIGaOj3!U#zn1QT%-u4MCvYdV-Q<6rHGW2(uFb$BhnU1 zL0q^BqAub}5K-zPnEvQ!kv7qokeO(1I(H_?{AFhDow@g(pDt!hQbfPi;e0Re`JVTD zN*n;eA9|f)C^$w?PmU;Y0MuK2<{?RadN0{tD?o|k%;>|ueyD@1Mr?KG zb%r8@%U_NHN*s+MK-=AkVL(ZaXQB%se?Sd|chbO}sY3+6F9wq>8VLMJX9nMaVrRCl zk~-8uw966Srq8L4pBo2?@2}0zX0*vlM5jkukKLzGo(6|XbpQwCqPe__;-cgX*+c5D z|ISe-Ge!VszMM8)R(#P?4vc{SSE7cn?feY0BgbFAGCa0Ft@pJ8fI0{Ovk`XMpa8b; zV3P{~F!aBR!R*tMH*ST`H9U?^=f*Qk>kv==^u$gkDDHRU-|JW0bPYT3AO;HlYTuq5 zXfI^Ru%|!~^h>Q9hO|?^nLPkO*o1ig{C%b;EF}OC^w3<^Lqv7SI;foh2zt1l<=~a& zz+>lgfZ(!Q?-DAvShp8H0R%YGk!OSn+vYbLlO})QTrkO||4KARztrh%XJU78d=t+9 zv5QYHY^9w%v$sk6Mjm)eJ^=95N77h$sK>t8Drh*2PXCi~GHWHmTpBh^)!%yf!~WeD zn}W}7*Cggwq@r~Oa%Dm}XHMZ0F936Y8WiZ(NQ)<8IRFsdu;%%7#?D@W5(j)QeO-#G z5?(QzU2}DAiAFmQbASS96Q<=8ipXf&J)&I7mH2F-=2k1UUnUw9F=;Kig0HcK7lMSW zqMayI`v$@v9Ghrj#<+J`mrpDq6v0JB{Oy{3smE1gxUsK5FGnD!ZCmbQ8Yi-%+tuE* z1#RHo>!8l>VL`j5DqL{JOtxanNT;UZTWsv26C6powio57Pp+>TRgoz~ZU<7E0$|Sj zqrE7qp*EQ>swM^|t@$Q#Qvgh@wVzcSDOalAudgp8HUira0C-dq$5X4{td}0V@mcSv Z{{Y4hZLe_zAaMWy002ovPDHLkV1jkqg|q+w literal 0 HcmV?d00001 diff --git a/contrib/pngsuite/iftp0n2c08.png b/contrib/pngsuite/iftp0n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..b12bd0a7fa90aa14e47e62bb4e9bd5bf9e1bab77 GIT binary patch literal 2020 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 literal 0 HcmV?d00001