From 80fc4ffb40ea425e14697082e4b7e6a7cf0b5583 Mon Sep 17 00:00:00 2001
From: jvoisin <julien.voisin@dustri.org>
Date: Sun, 1 Jul 2018 17:29:05 +0200
Subject: [PATCH] Remove the thumbnails from libreoffice files

---
 libmat2/office.py       |   1 +
 tests/data/revision.odt | Bin 0 -> 14458 bytes
 tests/test_libmat2.py   |  17 +++++++++++++++++
 3 files changed, 18 insertions(+)
 create mode 100644 tests/data/revision.odt

diff --git a/libmat2/office.py b/libmat2/office.py
index e813fae..34ae7a2 100644
--- a/libmat2/office.py
+++ b/libmat2/office.py
@@ -146,6 +146,7 @@ class LibreOfficeParser(ArchiveBasedAbstractParser):
     files_to_omit = set(map(re.compile, {  # type: ignore
             '^meta\.xml$',
             '^Configurations2/',
+            '^Thumbnails/',
     }))
 
     def get_meta(self) -> Dict[str, str]:
diff --git a/tests/data/revision.odt b/tests/data/revision.odt
new file mode 100644
index 0000000000000000000000000000000000000000..d3b209b805f7a9064d476679360b322c305e34ed
GIT binary patch
literal 14458
zcmWIWW@Zs#VBlb2_&)oZPuwvh9(4u=1`y_8U|`72%uOw+EJ#f(D9Fi7PAtjH&(kl<
zOVP_uEY2*}%P&aHOUX|z%}vcK(JM)<C_y#suK2MO4;BUn5SCzIU<k=5%}vTn%*-j)
zFM%=j3i8rB1N_{1xum!l7#MgxJzRnq7#NN*FfcN3Ff%YP+;9F_#K6GtEx;$lH8nLg
zD=Vw0sHnQS`u6VBJNwHX?u)r|pzz+2s>g>?A0DfIbfUJgv9YVGYtp1ibLPxhxpL*E
zO`CS_-u>`+)8kVuPtJ6|IM?yy+{9-W`rcgae|BNgvrDsHT%Pjs%Ir5c=03f&@afex
zFRm?maedY6n@iu^Uj63Irq_4(eZ05q!@U*nA8dX1VE3no>pwo){NeGQ?=N=zc(wn~
zp+jfSp1pke@~vC9Uf(<T>i&s$j}E<ieCp%V!yliW{QBz1=NG4czCHZm`IRrPFMWA?
z=lh3yzdm02`SI41Cr{qIdGqo0!*3rSfBpRS=jTU1zP$ST<MH30Z@zr~{Nvl_zrR2K
z`}dE5f#LuE|M8pO&tPC+=Jj-O45_&F_F7{8WebS|9}n`e$-Y@Px0dnf!tSj1VS?S+
zT|wD)leT8R%zN_a{r}u^vI};Le_+Z~2>L7U9{9$_f6;sybxV$FL3V?L0}YJKY&;TR
z#^Y#-T*<I=rVrl><o%QWT7LXr-tVLz{=ZM}-qgQ$_ILSN`b)~b{;xj$?K5lMyQzlU
zvD>`%mLB{y`<$h4q}}G7-}U(Q$_@8iUiR&nuhWLD<@?^{<YhnK`|Xs@oOem*+2yl)
z{x1KZx5H{4pZ5CK5B7xJyS3`_wcAOb)vimY=bi{neO<Ae`|^$732V|7Q?|Q3&%AK?
zs8{Oc+_0xn*`ae@-!2Zdy_dDvS8=t4*r6l-agu)(rC*<vPmg*p<eX#mac<qt6D>FQ
z$;Ib&-S1t~bh39}?QgHy(;s*HE<e_*aVzQ7v6Ji6+SX3%UjA)M*86lbDZ{{^6U8f!
zRVfG=dp=n?p-5+msFT)0wxE3;L7Gp6SDy>1n&Z>j^LNH(>rl<bLQ|s@UDaAoPO%C1
zO7RpG7LwMV?6L4%&K=FEaXeQt*L0rTXmOWU&FJmBRI^<-oQk(r_q^X0niJpsD?Rqn
z<`36zKY8W#`sp_Bu3I_NcAeZ-TOEA#riR?#qB&iS5<4D0Uc9)X;LD<yce%^OroI2N
z#qgNkp{&PqOsBhj&ojGa8vn62Wy|ja5_5T;KddSV`ZnvL+`7}vlMmng`nk?nj&Hub
z%)hE1w>Q_>ha6_lwUnC5e`=oo$H<-Y&i~h`-go5o#Wi!||7#rmKD+npo|yi$zyI@M
z_}dR}``>e6p3EEO=6Wqi<ik_J5Mm^+m-x@L^v&6m{8n~P7#J8BJYD@<);T3Kp_V?a
z4!iS81sNDX*pz{RAs{okq_iltSl`e985kQuc*cfK&Q7L=W=2M4rY7cwjxI(xiY6ll
z1_nb8CI$uu@sqh83=9mM1s;*b3=Bf=85o3SFh=vZN-!`8%mwAvh{IbWvjc*|uivw@
zY*Z-{WNp+?>PT?esU_ZhG;68G)hyP`)jVB(rCuw==31Q+akSRr`WloPpmR@S5s#7B
zdkrS7B!lJ-HWtnWjSg%@%>suk)qnrq_-kI!o9wsdpWn&PEWTZBU%htg{I6?d`Ho2_
zwg?=OD7KL4F+6M#qbI)3QikuBf3m&7?6WM62TYwZo|rGbb-%3f{r!(ziboDgY+h{4
zbNFEaN7IY<@7J$h{rbfV2aby-zL&R5ohs^d;?}KO_wUy~I?{Qe`|!g(y>%)In{V=L
zJ~ZR(*|TiT2NMhoc#PA|%-|GO^O<Wk_5AbMXVY2)90lG4$doY|Op05-zvSg4zvbMV
zoF6}Zn&h>V=P*a>q1V^fTU%HNuq?d(+Sb-~@uEe?`eaWVoVm?iD=p)DSyWV1S6A21
z&rihFcb-k<nHh#rYsD0=+`O5Ym?$VHn3$T%%J45@?aiDt!_d&ssZ*xp+}UyQ<jKt2
z+j4bvb$NMtlQve|*-?0TnQ!&aPpKs(CjG}}n`BN3T4^HH%hs%@smbXk!OGne5+8s6
z^5w-rD}U6~#mC>@oPJ(PT6*rBIU!n84<>YUcYpr$si?GcZ^1*Sl9DYEI{$<vrG1Vb
zJsPyK<anQKYiny|W#!tnYY!egINL0@sGuMtFHelC)oSj!d-vv@e}4PsO+%jIpP!!k
z+x<*A*u;9FcFNob4-dEVb8~ZV&%d8%B4sMo8@JwEg2!rZ-|45Po_?zR{f(2QNm$+Q
z$M4_IpFKNv?AWj0zYkY=yoe7D4vvkTJ9X;RY15|7o98zv#n-p@X3oCS*VnGB46d!I
zIo2!fez~N&dbitRLkS)gPc=0)zj-#2$vy%{H1eI+B=p$-c)-lg-hS&=RFlGvm~{>c
zA3l6|@UbE{H<zv1QEl?mXU~ouIieH2?aia3-S+=}EMB~Lv4@J$?6VxnHa0eM=FIU4
z3~_T~bJ9>yNJvO{aARZga{u|uGNsJ8<t{$BmSZN()AsLQUDu)qVs^_irR)r5`Zzl~
zzd62m7e6oW(`V1_?X5OfS7%q;QunuNXUx1=v$*al3p$zS-{axqQ}f)kX_Jtmh@|At
z4-cK)-H*R`k#VDq#jznfW7e~e6;iz*-Bxq^&Oe{5l4&AUX%kmb@#9FRux8hzj}=BU
z-@LrM{Mxl^ERH<9yq1=hXJ;C>t9V|!%X9cc#U5U1vnNlV`pz_RRS<~TU-$RQ%3wV`
zy?%LnK0ZD-iO0?C{6;*%K|xIdvuvx&qN8sgY-Tq+CgR!~qb=dAH8m|QZC~BrTRCR?
ztG;?EO*Anvv8n%Oqptq^+1c3=kGsY7=UEoJEx)|C;^U%y`{I^g-nwPWlc!I=e)-a%
zdLXUf;>C-B0RaVHUIeyW`1tsEb#=A>Jey8KH7jfD<9)K;0xes&nyz_#Z*TSIXJ?s}
z63s28n?yxLqqpZx^;+84*f?+AJV!@IJ3G6NA3y&4_fN!iZNx?;Ma73lyTzr=^S*rk
z{Q2uwULKw)UQ0J_+^DLmsx`Gsfn(ZIiME+Gm7DhNwG~it6nK2Rzy0gtUAuN^hp$WM
zQC3nCaAN0^v8evG#%(d9a_^Sl*w|P%w_^tmID~|Vc)!!p=U{1Cv`DGbrRd|MqeqS$
zdGaL1-`{^>07riKx|o##8h!Hib`};V`gji8RegE!>gsBzg$2iYBqbhyet!P@moEZt
zizl9cuH5qH&mRG&tgW+7KizbAW7(wBPgPY_IXO8$KR>^}?5$M)@yA6wWAwx&?p(Tb
zDZ^x4{Qi4KkEUK-6`His!qoKZ>-GD~ii(=HA3b_>ws}4uKfk_?4ojHy&Uxp~ojZ8&
z;LFR)n~T}l*f_pzbz11a@%8(6=NZgun{S?Z3Tg%x7ZvUM`|b9RA3xOn=W(zwbuG%6
zl_t@aD6#owj?qj3r)krsIXgRZEcBeL#>>n5^Vcsa9<~baNhyVeAE#=E-?@7?|L(4%
zPm2<{S|+$HX57ug$9G70@=2EuKmRl~GPYb;KEJL@KuSs~Xk|$Ly*-W`fg-K~Ee8{B
z?63d-?Ck8zmoBY~-+%6DQLme_qrl~5zTI72Q9BA2PM;oLQc{wen_F1;v6-D;!0Gff
z-N~n)a<wL%pJ&T0rt{!qg+Za0S6AG6bE#fmUtbkZC%v%MR}JQ_U$5_UBEw{ois!9c
zx4wP<uH3RDNYiP>o;^02nkyG9NO*p3?zCysw5GoL@bK_#vs|m9Cmv;GWeEunx<s|-
z%$>{3%v@VjV<F?0oxQrZx3{^O`A5|9%X6(ty>!G*r)+9zVbPneE!25!U97aQaPh-K
zt+BhyjvhI3XJ75^ty`xqS`oQ9ZR*sik&%&+5fKf)1)L5aK5S-Ywq*0>;`n%ZCk;J4
zJ!|XTyLaziwMxs#=+lRXhe64W!Qa<cS4YRD_?b^kjEwZl{r~?}XJ)=!8@>J2t5**^
zqoQW*-d&xO^JcDfxr)%qNvhsgvP!F~t*4(hmEd`OZEbf?4-YqYcURY`lP3*l`h5NR
zRZdPWH#c{8`Fl5x*49?V79O_d#fy~>Nyu9kxu{KE8KNaGFF#|!mMvSBE_GcQl9rlk
zX>Dz7X?gN#(Tz!Niv^SCOrE?s`8c1w{r(v<BziV_Ee%?Ib?w@<GiT0Jo9wAKUEZc5
zU~Sm$UAyZ3|NSm2E1Q0P9_y}ED_3sZvc-kN)y3t?_3QFhB`5CRmsd<lPhTFOv1-+-
zb91fR4c#_;Ha0dkJQiQ~Q`L#X=hdrMQnIqV8mm{WQkZ#QTHVi2PhVYK9lyV>_Q!|B
zr9nTxyuAGC)vG^${yck@wl=K#>#I<Qfbj72{QUb@u3Wi&yZYfFRu2n_$6vmbBxq)5
zXHO{SSoq^dMf1T4)21y8T4`{MBkk0Q6B9gCxLTFW%)}H~tmTD{{`&e_F`ud3kmvJ<
zht4m2E}OUpdM(|wef#z`YjW=ItCe{C_xE@0sa`#Wsi~<!K|${B?6Vo#+S?6}ojrSY
z+O%nN{+l#9Y$$sh)l=x`cyOur^nVM2XZS3?oO^ql@6w>XRbRDKRZ|}w>2z8+L4iZA
z|N4as3>j`gtDP3Uc>kVVz|qlBOiXOswr#AetP+p6ZQJ(kTUk$`zyJ9~uHAFy&J}ce
z`SRrj@glx}?Xzd!-c$LRPsSp_Y__~@)t2)2ab-$JmVpXw-RNy4B_&_Jf4{%K-rm;M
z*2c!h%4(J<>xBo8H*GRn8^*nXi<{fo$!X8ty`@%nKYTDaY#`!#Fx}PFwZ_ig%4*lL
zWo&GXp|*8@A`}GX*w@FczG}o%{QKKm+v;x;JZxr+1?6vVvA)dw^W$UE#vd;(F3#F&
zWnxlta+0c4Z`!dQNk&FSg|iK>9YjJxL(k5&7FQGz5?XXI<IkTzcK?1nZfs<neDcYI
z2MmIphTpz@Gn4AwyLYeB#1qGlw=dF|q;fWGb9Xnlqd?KlJC`nPTC&7NK_KVG2F7iN
zGIaSl8<)MDZJuve`KjgjV^5Vy%I<wTcJAD`N#exHJ$v?S+GJ#FD{I0(TYcB=-I=q>
z3JVjr3OEX^UAwmY-5p6886HkfPF~*Br_BAwK_U0*>gvCL{^;oFxN&;sMMX*7ad_w`
zaOBI&%g@ixmlqLHnS4@7S^1{xhNG9u@7J1VURv_uL&1(z$LPq&n>TJ8FttgSICk&e
zzpt;a`}+FE#>V#c_MSU;ZriqP4H3&Pzx-NtVfErJjY+;Ib&O^$bG(zeHOegAS>;p3
zp1Zrt^`o|&xO-PtME;mW7n4L`LBWQ7`{EW~^qFUK^Y(4&95F$`!Z$ZI_Vn<Gi%-wK
zzK)lNr=q&rf2PsV<Hyx4EpMJZoBQp}%?UM;hl?*?y5y#mY`eAm{k@&V&(F=Vyqsdh
z7(79x^2G(ky>a`CpZj@SH8V5I@jdvk;7e7ln_FAZ%94_joQw<&ef{qrJ~Z56`W37q
zbkOY0n>QgEB3e^ltzN(H)A#S`-skpDDN+tK+t3iV{{EIsVF9b0`L}M}>geb=a>ONI
zt%&Q!{IhAsCw^YK6tpoSCL)64&cz!ycGUm>_vurS#Gi|c-KXoto;rX2{Moaqoo#aq
zLv}j!X)UpkId|ZIgO}H-Q&Y8n*8J<0Ha~Ux^i;2>TQV;<H8nXLOzQER#3Ib(wPV}X
zt)iVSii(PYf`W2#a=*X5y}hsYcdxYhs#U8F9Xiz1-0bY+lrihvsZ&h3PM1yE4>w9k
zur|wt-kGTK^Y!}uQBhGrB2(wg;h7p77&vk5+O;l9C(oWuJ!<0O92qI;If+|b&t&%5
z;%8?xwX|Nnf4_apmY6LW7dwU3gMxy@^y7GrF;6z&VJ>|X@AZ4TR#DNEl>$ym6Ibls
zy?g7{(r0I8c6N5YeED)iISUh`=f9t}4cxrETeodnw{oRmr;F3V01c5_H*enETRmNY
zqtoTmy?gJTJ~d4{Be6ld|G0JSFOw;JCcgV)zx=Ds>FqIC@bdZj`Rn8MO3hn+_0>}E
z>2}rMa#Hk~?*IGuFTU<4tC7`Vg9#};ZjTQfV3_Ty(RJ$FxqG`xweR$CEeq_GU=^%O
z%rHxDw%WXTbM)4%(9%-V9o0)-uU)goMQNgsT646(4>2*Z1NtVu-b*j#@B6uI(<Y%M
zr|PY}eqI*Mw-!7k@Fz7j)zrp@=ZAokoSfX!rAyDAJ$oQxjk)2m)6?~*pME-b?pzx=
z{#A?{teiTIKR!Fl^!1aIlTT0A*VoictbA9SxbZ=R*i3^&CfC5IwPFcpXBw;P>E#`6
z<Bg4tZD=z!b`;pSaU(mQjD(a_(rcv&7kzzw-@biYwO1}VCOVq?HtXKa6W>=HH|S|?
zZQZ-KHaR&tBSS-F=8YQ>lT@bb#m<^PUtg^Ip`yy~h6aYYe%n(|i<z67M@L6bKDp##
z#+9tn^78Wh{P&>Z;P;!&vAfF}-`;=g^5uS0pX$lt=jT#WQXI}WZ80-7J$m%0BS&9P
z{Elm{zkYvze}B!-qRPt3^mO$W&0`kY+N)Quel6epm;e91$Fg6pXPCUcwwBqiy)#rR
z)WzjU{{FvgT2tm$JSpT|ecs?$b8|D#;Xhw4`xo#Ww5xZ2yhr&<0*Bu8>Q7HRC#eVv
z2{q(c$n?1__Vn|!D}LtV>grliVIi~2Nm@#(>cfMBmzVp`o;6E^tJQ7s$1h(>ii$pc
z{TjPD?d*Ly*?-*XeOApkc9p(f9lk!|7}Ms|^mOLcQ>RVa<dbF~QB+)<es<Q>i4z6o
z<@cwZmHPJKdH&`5`^%JO>lqw-`}Xb1l`C~@o37ja`EYpAqDANJ|JxWC1gs3%v}*d<
zBTt_`wg3OeSbF+<{%(i=R~#<v+_kIj<5BUSKYt!Re0YtLC<jYGpx4q%y3yM>TAjKU
zHB@KLdiUzpuNRB^fBpKkB}&(G(wg`GZZ_ASj$UlhV=F7#eRSf)iK3#SYt;4?J>_x~
z(ACwov$K<xm0cj*7`7!Ux3si0HFc@qa%t-_onPB|_q$8){J%9ySEMs-v*atgjtx7D
zpR=*BoJcWRk-vD+qO>zJHWog1YjryKtycc~-te5gy*VMN*REaLR`K!CnKM2X?OtA9
zT6%hItlX_m-#Q-rW&CR$q0B$yA=3#neGuTkA*3iGD$454!qmu+a=w|J-^$v$)avg4
zBT@C;{4W^pd^yZ-f8^-VgEOU9A5++MeQosh>(|Xc*?g~O$`-Mh;iEQr>(;HT?Cj2M
z^Q=l&?cQzebmH#aSfz<QQ!?IPws<cl@&2B+^8ek<Ri10Zo<DsGDxi7T;^X66of5ON
zrNzY3a&!Oo|Nr#2mGR&G4fp=_=PmhDb^LzX`^*3M9j>~YMju@NiGhKkt|}y=Bq*_5
zp`a)~Ei)%op`@}PRUxyWB$<JsVvcRkL9PY^9_ROeyK0@Hcjs7Fe|mP%zJQO#@#BB~
zGA^|MrwU%*&qi&p?QYlQh{U-rRh%8Q@zk?_OFhHFH091Fo$*^>eq+Yb%2bY3_jx?K
zxB|K&rcPeCaOMB9Ket~gpZUTN%qXLgk(*tIdmINO1H)1b3=Gcsd1;yHrA6Su=wc)N
zlKlLfg2cSk9DUUBADA8x4H|t$*O!}`SDKVqgh!VQ7TXGn^3#h_i;MB=#OBW8lEjiy
zBz+tl9N-~$ko#a*9gB^L$;qiXsYQt;`9=E4rA0-cvG$7G9A<_9Z+6fSJp*Vc3S<Co
z?_+aLL4HAL0VoXc1OT>R0|hsJ&&y-+L}qScdTO!0Q)WqSVnH#9R;K0TCzhnbVhUTh
zaWgP5B<JUqK*Q#2#O=P@W&*YE!#T8~wm76jZu`FMot2057R?RZOU|-o%I|#Sp{6uZ
z%k$@?<^SC3*T-K{)I7Q6dfAkmMl+5*56;Yd_^`mj`PHwVyR@2BJ&v;M=bU`ef~O(9
z$tdnlOaA-%9=*fQKkKh^owu1MNNdwFrge*b3VQ3Aw>;A-y)}EoL>o~T!>L6<jb5eG
zx}+-7r~Z0z<=j&hul!R7pNYMR&W?D!@EF_fWN*2)^En6inNCeHy>cVLaK*k#y*8=!
zp^{IT7ROz6*=#HJdeX=5<`11-TlGG^nq?a0>+U30SX5dn8lCHJ@w%{7*}HpDB#-Kh
zlOc0@Cha&Jw%}wy9oy^RN4{SfiV8A1)cVUpb-NErZq(^(QHvI^v@qAHD6d{#^5dJ|
z%KT`-y%w9)r+<{ydVBuvTQl(#(-OVryPTnFk+u~x`QF~<R;*fe?0{^5ce#<=`6Tmi
z7gkUHFf~PL3Hy1!L&iaAwMSe_H8MK9lU!Ujm}K5k-^bZvm1NL4cNe>M)s?UL<=gW&
zv4*5@r^&Os_h|e6Ff+Q8bLisKc}In^6iel2)KnZia(C93J7T-E`sK?Pzg^I}<cosH
zOP^$$Ulkt~sWxAo{?Jd=ey%`xHD}`KN5_41POP7;&O50v$KbEwF_D{Mm62a+HN<(3
zyC%HPV&-@)rDCiV6t%hJc=P<POMmc8&wc;N=8Z@RTWYxBFICwRWtR|59|aqYMSixg
z@BUL*{neoSSpmna_tkf_MP>#C*J{YWtMBdAGkPm1?O;8*Tz5vx=XZP$UbS~sJNA_~
zYN$)Ph-?ZvyFOO;{n18g>3il6*G3q~?n#=nNrh)aQTdLpsk3K)$PVKEI+wku$>3i{
zc-z}!c~KwO4o{N*zK1>MF1z))UdIpycZO+tnp%g-1xznXihWm|cqZ+u`UK?|-bZaa
z7_VIE()_BDb=#r-P}-a&TLPt4Eib5I|1-Vq!~MvD<3^fI;RSPUGrrk>%+PMyy|r^p
zq>P<6>ujp~wP*W&YwfDJUy8TB$yV}I^xXSGM8n{EmUYLRtI}_Dr+7$}^__j#lVx*P
z!IW9_%T}wmcU>zIHZmm6-Zd*WcFxVziZy-#bN;;7yl3CFXlCw#EAy=r_2kcHgdf->
ztoZY!V#xW`rXN>Y9=+7FLEm-8`ZS|J*QhHG_k}rSnk{bd+bl4tR$$q?>S?M^elaXC
zy?6U$m#5~3vU9BN>vwu=o^&<hg~H|gJ(BfeZ~oLsvn>-}o*HbJx6WGP^!liom26&n
zc2_HLUXd0RYN&qPzUkvz?x4^gCp?bLJ09eblU)1$r02>7p_{lK3v|v(@yX|#5!%#r
zQ{{#RkF3qTS3h3d%oXKt%KO#msk#32!&IXUvZdK`A1`(MDl>P}x{cQY0@ggxRb1|7
z^zCaW<LP_My&rZS<Tl<qb(i2#S#2NY19fv}tvUPU>KmP%9%-9T-^{T(=$ChqJ#?-5
zo~g6$2<}<_t|mF4*l_={$XT8WQ73*z|C`q>${%MURs78ATL@d*c7+*_W8WA_&3B)C
z@~?{La?e?FA{T^y`*>%j;=Sd9@(~X=r24B*f871#&!+>MszYCQK2rX+KW3|Hp!K{u
z#{-Y->seDZo64Q0ZQ*sh>zeBQyI{&AVavr2`q_SLGqe@6vYN7Tm&$AplU*q?8zOXk
zV_!@<`SH(A9qFZa|1Lg%^?YgBebbA}D-FN?UFjFM>%HDKF`1rOYvp&kY|vKy_w1%v
z!qU7uV#QOp1SeP?k?H!ftZkjg?;_>SUHOV{OU3oST)ud;r0m=d;hZ;rtE$XivuL}W
z-QN5$!_01e*&)^qNekzelqD{ic8&dv9ar||7iFs3+}OUY_TM$3q5sTvoy)x}qRD%|
z{7XDpP(S&7{f~b-mh*kiolg@#**$%7VDHDQ*d0qX!>)e&nU<QBxQ~HBue(gCDfq$7
z9h|KDMOlu%%ME$Ry|lOQsp$2$emTu`zn=UEWy&_4X!Svr{dK~8L(_--dmou5)$LEv
zI`Dr5`zezP3#$Lxa+@vUENJxg{CU6r-_mAw4j&`-C>E{*GdT7#WXiHvB`!0#w_$4E
zE|$ZU&u<soRaE|XC%@04-LmWb>f|?uo#nrx_FVq7>*7E0dq3?#^<}63;g@1;3=B$Q
z3=EL^5?gfws#bGTOA_@ea&vkopY5A%AkzB1mdhnQJIA@Lfwkv~Yk2V1px~9ePi(Y3
z61-tzuG6n?ruCVV(k?E2|8w2>o#MfJ=G<1Z;7nc`mfE2#!scXncIm3qACA8>K5=OJ
zE9Zsx@2Lp4WMA9vWO;$ho%#MMotaCG-t;QXipuO<w06T0!$sB$uZb1;PCl8jZjSWI
zx~UH@?(B20;BhulnP_Huq;lS2&)C3odNJ2$r!BH*UL?4<xz*xOLF)0A|I%40>y<Ot
z>boi1wa<H#)M8d(x4tCTB43X8!A+K5Emr~yCMErlU_1RIoV)*U*4=j!i?x;+1bM1w
zGS3jak{P^r{+2C4tgJN}=Y21qjOX67ctui+p+mI5a_cD*D!k2ZUaCDUI%ncmMP?1w
z!ad!Fo(4CU1omxK@t=2jNrSdoHRn6w6;dDW`ILv=FZ*$ttu|ig-^BdgH}bD>M5~s6
z37U5^N+WUE%ebcpJJw(BOORTq(fMe3_{v|O|D{iRciFdq^^Nu7`>e$R3&m_}U!@*)
z+;ij4-ommSd(vLlc)V8OUbbs-yBou@>ZhkJ*mqSv)m^Lax<}+|;+I|SyV+CRdDrs3
z?fZUc0q_1R+q@^r+Mb(ZuzHfMe%Gh@xfWjPIqoydcd}o$X$fV_j}xi+@;$5`+<cn+
zFxcZJBLl;4W_-zkhk=11H!&|WEw#8ruP7z$?Bs)a%?1K4?`v99&m}CF-o#`n@-${^
z`~#`U5v=;3^i==U#;UJcB(qBE?84)*{b~0yo}T??!S}}5+9V-+-g3$GTUsxA?q081
zW>@*-w%V;7>(<BJlKq_3J#~Ioox&_F#c8RY)7wSv#63xk>{=t>I<dmFX|-ylkIu0@
zof6z~Yu%onak1;IJ^P6_ZB?bf9Mvs;R(mXa4Xl^$Uu+dHqsgV2)8|&3PdC%Adm6f*
zwg@a%(_Hqw_D<6*_uS5I0o`?*>Q5&duI3Y(zjSeN>HeLq?eV5T2`3*fz4v9mlG57d
zWA*}ZWqY32E`0rX`Q-2Ccz(I<>aP0UR?U0Oe$(8rf9|Fi)j=8QukGrc42%p6%>+ZP
zIJKlCGcUaul$rKMMVCui^3>grpLn>MOHuQ7!K5!dDqFUw6f~Hn|4vI|srVRCoa5h6
zAAghC<h1J2GZphao+(9cvU@q%##~-}qeV62Qp;1fFCE?O^^zy0LvZ@!+n2T{zW(F<
z^6}kxa|^l80<Q$yGI=h|$u?+{yO{oE*OjktzU69$ZtC+Xj-9T<7Hgg;D?H)#^;hfX
zud`0QIkojcQCajXsmWJPKmA$rFR$(=-_<2Gg|)S@W#!lV+cb{X6s=kH=H>NO0)>lD
z?3<u_OmlUZR`}C5|1aIlnz%kDSoiMQzZ=Z{ze`)H@Z0h^Thi;<o3Ezs-f~-L<(mBk
zGxGO@-THp7{{BzD^XyzV1SVhl)fcH&;=W+cly_R@Ph$m-cfUPw<Hv;GXOxZaYVW9u
z{2g#s{g3g7lO_K*t)4#h)zQpL?7?%sD=v~~em3PK=L=n4Wfw-DY43Wx9-7GJ-VCs~
z{-HxqW|Cc+lf3Rfo3xXb(*<=DZk1m9$58xUz~ss&i|N}JuU(q8ct`2B-lsCrl?LDR
zw8OVvJ}T$r_4U`QUm+`J^|Ofdi>hxcNU>h|*IXg!_XPhk=H7!p1pevyefh+Hq{3s-
zw&vWfQ%_F0%WgYz#Uyaa#yiJK0xwB-Y(C_$_w{r!Zr)XYv-hu<v*Xt`xrT-d4p)Lo
z4j#V5EO|*vQR>j4l9f$;tU|BUbz<f%$T@%X`ph>M-i8+4`OhHw=&^TsnPTV}0l^=W
zrS2^*$*j_0yc#6Ie_+Y&4*f$n{k*$%=aqdgn!4e%JD22z!%X`gyhva@v-`|Er?~+y
zzP8KW*Qz=BzIkcOhFEFt$@zwtg>_mqyEwLOjGrUr#(9_d^3LPxCh<YJKPql2dM%y5
zbEciqOrwhmT;`uA=CaK9*p!}N@N(fZv1Lc4pY2Io>CpdkVTZ7%=H{bQ&93F=dc|Mb
z@-$eg|G>f<!3qtxX3v<>b}O{md)c((Pxx1DYEqSwdvru+wt`E)X4sy|VK#FO@;DxC
zIUk?6e951Or}k&Q=*oE7<-VXt@|Q>bOsV<1C0#BaZpxY9Q_|p?uVH!jzjM=vRX!<u
zP9<7h5EI__;ID4y48~~3b^-OKf8QAF?j|Y=d|&;rkzM=OEce<YxfexBk37kG|9@TB
zz4>Z8Iw!d_Zz_Epxp9g1?#1<*yj2?xUhT0vx1Z^Uf{{wx_eQfB`vZ!ns2+H<z3M>R
zgKD!YFHbFVc-zb%d@FjzqxjvEejKbRJ~f3is9DmZ>${k$=<Jhs&+!Y1O_FSsl(_WD
zary$YgQ`i37Wk?;3;gePoVVl9-lXE|8b3BAZvCTZm7H_&>w;|IlhdaBIhJV2v~#vp
z^bKp5bw}-GT$a>M^V*a;O)<^?{l2{Q#UJk51x(M_u3_Mo`AJ^#vXg$Ps)x|VCB8x5
z&r~SHFmGOB_K@>^;+dd_ha1>$J=179vF?7+_L$rpZw2FHhaPe!FH@^Y{}6m+lC;ho
zUy)^(4qo81sB8cFN5yt}w3&ihmcyRPyDC2!#Z#4EPjY`=$Nwpp@xMyJ5wnuBhi<mN
zp1m?irA~I{xAKOST>kevw*B*BvAr<oWSo}s<W1XWU7d5Jp;g4(w?~-u)}^_J+SfGC
z;JmnG+j{mVBAF{VS6uBn?-+gCLF}lHoW*R5WubSq^ZJWr%<V6l>P8=~5!##+lb~6w
zu(&Oug`sJO?j>KfLm@x7*6?jw;r~|EtMHV;_Z6Q!6;p#)%~l2-x)hsv+gn~i(1!C1
zo7U@<UpFsu5B1i$TX84aZ@Djb`ZUoW7YfdAUE6f`<BebMI$Gv8D+$cY(T&+|rKkPl
z#mXm5N;WO>3qB+!))_xO5q^Nl{N?GWfS|0?e_DKIzuNYu;BEf49RBw<XT{$#Ec)>9
zu(I)GHr2q>ckfDEyZq%zp#9>m99?OxW1hEFyes8GwyI7PzpPNY;Llg<zOTQS{&yMO
z`mi<rNJQHcK5c%P=l+_n&UGp;@W`EX;^?n8p7Zs)?IKzB8O}X>d42MyRr_UqrlwAr
z9l2+EirJ>eLDyHVk&cyLDByBaQD2lP%X9C96s<*^F1B*FX1#T8K71-+<;ynxBRlk}
zCO=(SI`d{-=S;<4GR{1gCT_gayrL~`a{qz9&r{RB%>5+AKl6i(!0N-2uN~rN9++!X
zxoWbX<K#y^3;Qc)3ICtzK4q$I;-{wz9lT7|v0K<YwA#2evi7P$V|?-i`|`^N`;AUn
z$45-#udS~7E)1%VA`UCrhp{m*?A5|olY^ER7ME1!q=IXsx6#r4kGF}|y<cx2vL%0u
zZnfUF-J2^pF61@b6?vN%@I`Zh>aC=3CDuuwQtNB^G=mnUoLW40CSQ}Iu)^+VKPxJJ
z%;nBMwOiib)y`5tQ8S%C&}Oc?@FAgjLEGv(>i&K*-_liA^M84H&GyBdH<#F~<T@lW
z>D3%z%f@p)d07vgLpZlRj0oD9xI>|6@g!b-&f>Xdc2&u3tD<{0ZM@5S<Newbp1p6^
zY@EBV!n!Vn`CIjJCi&xK*CHNVdB5**vi1CwzA_orJsKMq*=qY)rpC)J@>yAAJX^N^
z_{&1er%CqR*I$1<<00KVnJqj_$$W*$%!zYe9DJfP@0fABZpWeIx0fUCtAvS0E4c+X
zi|+fd%I1x``;kO@2j5AFhE`@gJ6_*QwYs<W^p*F~2~&B0q?rC@ar!*pU;cK4z|k8U
zO}06QDrHz!%`(09{=8+r&sEu1ET+%&o_(Gj`S-T7{Q5)vO<GDe6-A=+9@u0`Ja_Fd
zIdIh2L80hE;;Rcz{#5~=-}+3L#C=s_lXU!ohPkej<7R4odidp15c}P36JDo-bDr`9
z@iNKEYFPdgDAjsi%D$$W&mi^1Mm@GC*H^BVee}~OdDa%j>04Yw-^|{$|FLMZ=YgO^
zPL<`8I99n@nBO&%<*l3Y^be=j+o*?`FGK>oil#3-JEbYh!oAgHietj3qQ_s~g>Y+5
z*Lt!~|NpE^$xEx*uee+HZO_nK^gXZjPGN*>xrL&Js;A!l{j0U3FWaoF&sLUS)Nivm
z>r>;VDaS6dyqa-X)WqK2rT(Dm^!l$3rOqbRF50b+vNh(`u<?~0o>lFzy6#foI_m|t
zi3|-cVtWp(Y1UZjwcv{Eh6QTR_8qo3^F-q|gZUwo$|XT|r?*Ud@xI_#=;U)j6CYWc
z{hhs`K5WL{c0ap|E+0;^8|6eZ{7y1E*LLXkw(Gwg&8JU!Q!w>*?4rv#xp%o^(o8yK
zuKjaUO;Ho<I<zk6yua4L{X!Afi}|EG<)1y9pRwq)NJ`#3^GRQ=Jj(<gTko@M(mLXu
zx@l73lKR_vMu#=+l{SP4wfga2tdTmtdd8*&e`++tH&{Asn6Bh8&7yIx%&8p<?(bNq
zZ)&w~XPe!NovMsFI`)gd#w9pM>E5;UdF~O~_Ui9PzUP;^w+V6Q%y|DH&qb=gVCfDy
z7N-fzTCNAonJ!tzEMdK^Dd9$S)8>ptR)#E+PG2sq;^*FX@|;jQhfauq+MX#^C)#qe
zAKco(Jz3i`VVzI)1)jWQ=gzK@9;sFR0@iMNFU=<$?+%)|O=fd#>-P&TGcr9AHU=>*
zdVKvnFR#nNMNRvJ4xV|_l&o~4IKgbnS>3Sy_ZvReR7IQ3u?n8^CHk4lH8u4gFQ=cr
z`1P5E`trKg*S)tFy!!e5Snd+ZxBYiI>i(%_?Y*&*F`3Kx@wXRQ6Plzq70(n*v*{?B
zv+ThBjYm~#{kU(<us51^x=VG{D$!Sq7&o_6Hrvbdmx=G!SUTaW55Lj;duznE=W4y;
z-RO6%X}ODk@%yI_|3CiOFMGajhhX^bUxpeUjhfEC7+x|J7BXsS&-|)z-eX!-{d>`i
zbABX-#E0hWys&fOW4<sBjzu!lgWSIsv%59PS2sI*>wE7P3Q{`y-6i#xo<sV>Wai(@
z*Ear@EYdov)XUc0S{&E6l;yL+{9A8!UHRVl;L7ROj-?ka#1t>wpy{)G9sds|-u=4I
z_UBes@y+}i5vjeQVHWe0scDw`cN?275zW~d^sB*U{<&~(<<<T!oGmtgA|LMAf5I%!
zK$<bljLE|O(dL>pOuSRXHz${0eOkXi@xAz_*+I5D#cp2I{q@p1ZFyqG{WnkEs<d$>
z6`1v3Gt2gE{{64m^LBXwA8%5HSZ?Lj&l$qMC${jZa_Y=Y?K>YQ<y-Tyc+!`XKfm9(
zBJF#^{f4<s>ay@vzUxB!PQ3Rs(L3gr{AWpl%-Q4qH)I~fUHIwHaNvGq?cCY(Lu=1w
zJJ*WmopacvZ8+PjJk(Bp-3jL1J9qhhZ>ZIsBlgh8_SR0*>@cYpe-53K-){a{C;Q2@
zZ5J<oHlAbQuP<SJ<;89(YyBrr?W^Mc?cKM0Vr`N8o#zsA4|1jyHeT7O65B8HZT4i{
z9lzeEe=n~tyR>}c7ap@MidiSGZJM-XMWC8Kf5S5`kL4QcT^>)5dh*Us-~)p;i@rXK
zQ~qrIrsaF*udG&UnfbksJ9GVS*2`^TaVvjSJ!$$-e`V4N_A@6NpNPe=&&X?V_;|zd
zS0~5ewDljm;)HUp?@O)`oPI?nOhMeoRQcP5S&wx)6h*)L#IJ0>@=YOZd*+>kC!6ID
z2H!5;YjJR*;wQHJa~JYzVpFGY`!maC;WMR|icYz^bx&K~)MU?><nt3>;_TD+q~hZ-
zi+z$0eyE-Kcs9FWPffDSeZGPk>1RK_nOf|tOqRLNTTmnZ?8iG(i+#1pGWYolYUH2&
z_-AUduR2*~J)1>bt7Y6?w&UOPdmevfIR4t;`0MKrD!wkW=xgRVu2}c@dP4c%Z8zrf
zeX!;=wy72Ed;C*cxzf<#lakM;M>AE*UF|;iXe)gcEOY-pb#FpG%Za$)Hx}W)%1>}^
zoSXeO@DStksdbCD^sZa{MJ+#0<FDP<%4qw<tlD>{b#3o|6cd`pC+TsR&Fbr{iPxGg
z7&Mpbe|;|V%rv$3`Q8(4FE&O+No~nq+q21KhJVV}ZRdVV9m~kJZ@TCovtY8?3C=rP
zFUsBNJ^$d|InMvVkw*d<uI&C}JW1L2tN7B@&+a5d89RNSInTw$!g96jiQo?IRrVd5
z^PV|z`h=EL{;u4=>%A=F?c3+QBR4<YJ)z^)uCOP1sejl%#wcvfy`Rp@SnYWE8Tb5@
zb^m!4*PIr2d?<E$+Jc`Yh5NH~KNK#yHP1F?PfUB^)~!9pMk`oX_5QQiR($qJbC3AC
z6K|b8_#YODi2k@D#pSkbeqUsR%F@L<_@@6XvD^PW>2U25hG|Y6Gx*rH#H?ph*mHS4
z6N_Q)%vV88m;Z+aU0oTZ9&lH0!Ij9_V%zKU;_q0;m;ap4&^qbhS##xx{n@kSjpwth
z{}>cFd)xHNELPTOy?tpWw^x|P*3SBt`|Z<hZE@SLn?L*y`S`CK)G+dT{P^5M4hDuP
zhWHvrq6`cSzOEsTx}JV+`tY%iirk#FQ+)Fd83?p~pQH3?TbJ)8C++SAuF&hT7npaP
zvxq2qbHbh@FJ4_~!m33|S~rhOmfZjSti`9K(iNeb*k3QX$a?C7i0Xo!noHMlec4&-
zAAcdsGV+R#H{-d>brX-&-kN)uiFNhLL_e!lk-U9Xe!k4ROl+<!u>Bk9Z@s+OgyF<R
z&nQWYFT1ua+B?C(ar&9#uO<u1NNw2UYv|f5Fo{`Kqr~sDXHll32WzIz_T$_Q99~O#
zKksImxH@LKqJw7StA1XQ4%6OAdzh7~V;|+QRot-pCdfR|kmq*niv1>&PYK@FFI>D@
zn`cv+=mazSQ%{|X<aI12`L>@=uB%FaeYR@a+0Qk0)m7)>?tl8NoYNz=iEG>J`KLJ_
z%ZMDg5OJt^>)RiX65|a2&cEKv{;DZYuwcRre$itykFWjrKJC{2mMt#>cbQg{)nB}9
zp5tA3cuLaM!x{YS_l|oXyDNL|=i;X5RPiU*&u;s}28yJw>>HJn7#SEuSV57*$Rxsm
zdrJ;zst<u-8*~D^QFWp3y+P>k#j_I!-4ygS^axW<vyi!>9^DFrkqiu=c}fI-vKao!
zUQ`bw^f54i<}DHY(^$*_O?*OTF>#v$n*K$Y!YGdE8q~>P+$N#=%NmPG$dkhmbCAcS
zVKcm->0yM6im{l3W3rg|KtF}WP~@p%h~r?}#So4`4|FC8%-}*y9pg3yG<l3L)dGtt
z7*ol(4MR-_rC1C@Of5r9frUEqJOOBO8R4YW5-3y6u#kmmL>^HFO(P&Q{*q&0$c0WS
zpzA^&O$CiMBXn^pqK-YI>qPGNqUv;3VqicXdqvlYTrq(9#RxkuYcMb%ddcYekjpAi
fwSmz0#t=s(65!3s22v)(AjEK)g@IwBF^C5MB&}`t

literal 0
HcmV?d00001

diff --git a/tests/test_libmat2.py b/tests/test_libmat2.py
index b34e7a4..3ea044f 100644
--- a/tests/test_libmat2.py
+++ b/tests/test_libmat2.py
@@ -105,6 +105,23 @@ class TestGetMeta(unittest.TestCase):
         self.assertEqual(meta['meta:generator'], 'LibreOffice/3.3$Unix LibreOffice_project/330m19$Build-202')
 
 
+class TestRemovingThumbnails(unittest.TestCase):
+    def test_odt(self):
+        shutil.copy('./tests/data/revision.odt', './tests/data/clean.odt')
+
+        zipin = zipfile.ZipFile(os.path.abspath('./tests/data/clean.odt'))
+        self.assertIn('Thumbnails/thumbnail.png', zipin.namelist())
+        zipin.close()
+
+        p = office.LibreOfficeParser('./tests/data/clean.odt')
+        self.assertTrue(p.remove_all())
+
+        zipin = zipfile.ZipFile(os.path.abspath('./tests/data/clean.cleaned.odt'))
+        self.assertNotIn('Thumbnails/thumbnail.png', zipin.namelist())
+        zipin.close()
+
+        os.remove('./tests/data/clean.cleaned.odt')
+
 class TestDeepCleaning(unittest.TestCase):
     def __check_deep_meta(self, p):
         tempdir = tempfile.mkdtemp()
-- 
GitLab