B ë˜Þ]P)ã@süddlZddlmZmZmZddlmZdZdZdZ dZ d Z d Z d Z d Zd ZdZede de de de de dedededi Zdddddddddddddddddddddd œZx4d!D],Zd"d#efed$e<d"d#efed%e<q®WxéNé)ÚImageÚ ImageFileÚ ImagePalette)Úi8z0.7ÚCommentÚDatezDigitalization equipmentzFile size (no of images)ZLutÚNamez Scale (x,y)zImage size (x*y)z Image type)Ú1r )ÚLr )ÚRGBzRGB;L)r ZRLB)ÚPzP;2)r zP;4)r r )ÚIzI;32)ÚFzF;32)r zRGB;T)r zRYB;T)ÚLAzLA;L)rzPA;L)ÚRGBAzRGBA;L)ÚRGBXzRGBX;L)ÚCMYKzCMYK;L)ÚYCbCrzYCbCr;L)z 0 1 imagez L 1 imagezGreyscale imagezGrayscale imagez RGB imagez RLB imagez RYB imagezB1 imagezB2 imagezB4 imagez X 24 imagez L 32 S imagez L 32 F imagez RGB3 imagez RYB3 imagezLA imagezPA imagez RGBA imagez RGBX imagez CMYK imagez YCC image)Ú8Z8SÚ16Z16SZ32Z32FrzF;%sz L %s imagez L*%s image)rZ16LZ16BzI;%s)Z32Sréé!s"^([A-Za-z][^:]*):[ \t]*(.*)[ \t]*$cCs&yt|ƒStk r t|ƒSXdS)N)ÚintÚ ValueErrorÚfloat)Ús©rú3/tmp/pip-build-ktz6qwqq/Pillow/PIL/ImImagePlugin.pyÚnumberosrc@sPeZdZdZdZdZdd„Zedd„ƒZedd „ƒZ d d „Z d d „Z dd„Z dS)Ú ImImageFileZIMzIFUNC Image MemoryFc Csœd|j d¡krtdƒ‚|j d¡d}d|jt<d|jt<d|jt<d|_x¼|j d¡}|dkrfqP|rz|d ksz|d kr|P||j  ¡}t |ƒdkržtdƒ‚|d d…d kr¼|dd …}n|d d…dkrØ|dd …}yt   |¡}Wn t jk rtdƒ‚YnX|rô| dd¡\}}| dd¡}| dd¡}|tttgkr~| dd¡}ttt|  d¡ƒƒ}t |ƒdkr |d}n"|tkr |tkr t|\}|_|tkrÖ||jkrÈ|j| |¡n |g|j|<n ||j|<|tkr|d7}qPtd| dd¡ƒ‚qPW|stdƒ‚|jt|_|jt|_x*|r\|dd…d kr\|j d¡}q4W|sltdƒ‚t|jkrˆ|j d¡}d}d}x^tdƒD]R} || || dkrÆ|| dkrânnt|| ƒ| kræd}nd}q–W|jdkr`|r|s^dd„|dd…Dƒ|_n@|jdkr8d|_|_n|jdkrPd |_d!|_t  !d"|¡|_"n(|jd#krˆ|rx|sˆd$d„|Dƒ|_d|_#|j $¡|_%} |j|_&|jdd…d%kryDt'|jdd…ƒ} | d&krüd'd(|j(| | d)d*dd ffg|_)dSWnt*k rYnX|jd+krz|j(d|j(d} d,d(|j(| d-fd,d(|j(| | d.fd,d(|j(| d| d/fg|_)nd,d(|j(| |jdd ffg|_)dS)0Nó édznot an IM filerr )iiró óóéþÿÿÿs éÿÿÿÿrzlatin-1ÚreplaceÚ*ú,zSyntax error in IM header: ÚasciizNot an IM filezFile truncatediéi)r rr ÚPAcSsg|] }t|ƒ‘qSr)r)Ú.0Úcrrrú ísz%ImImageFile._open..)r r r )rr-r-zPA;LzRGB;Lr cSsg|] }t|ƒ‘qSr)r)r.r/rrrr0÷szF;)ééé Úbit)rrr1é)zRGB;TzRYB;TÚraw)ÚGrr')ÚRrr')ÚBrr')+ÚfpÚreadÚ SyntaxErrorÚseekÚinfoÚMODEÚSIZEÚFRAMESÚrawmodeÚreadlineÚlenÚsplitÚmatchÚreÚerrorÚgroupÚdecodeÚSCALEr(ÚtupleÚmaprÚOPENÚCOMMENTÚappendÚTAGSÚ_sizeÚmodeÚLUTÚrangerZlutrr6ÚpaletteÚframeÚtellÚ_ImImageFile__offsetÚ_ImImageFile__fprÚsizeÚtiler) ÚselfÚnrÚmÚkÚvrVZ greyscaleZlinearÚiÚoffsÚbitsr[rrrÚ_open€s¸                    0          zImImageFile._opencCs |jtS)N)r>rA)r]rrrÚn_framesszImImageFile.n_framescCs|jtdkS)Nr)r>rA)r]rrrÚ is_animatedszImImageFile.is_animatedcCsŠ| |¡sdS||_|jdkr$d}ndt|jƒ}|jd|dd|jd}|j||}|j|_dd|j||jddffg|_ dS) Nr rr1rér6)rrr') Z _seek_checkrWrSrDr[rYrZr:rBr\)r]rWrdr[rcrrrr= s   zImImageFile.seekcCs|jS)N)rW)r]rrrrX2szImImageFile.tellcCsBz4y|j|jkr|j ¡Wntk r0YnXWdd|_XdS)N)rZr:ÚcloseÚAttributeError)r]rrrÚ _close__fp5s   zImImageFile._close__fpN) Ú__name__Ú __module__Ú __qualname__ÚformatÚformat_descriptionZ!_close_exclusive_fp_after_loadingreÚpropertyrfrgr=rXrkrrrrr zs  r )z0 1r )Ú Greyscaler )rrr )zL 32SzI;32S)zL 16zI;16)zL 16LzI;16L)zL 16BzI;16B)zL 32FzF;32F)ZYCCzYCbCr;L)r r rr r-rzI;16zI;16LzI;16Brr rrrrc Csyt|j\}}Wn"tk r4td|jƒ‚YnX|j dd¡}| d| d¡¡|rp| d| d¡¡| d|j d¡¡| d| d¡¡|jd kr®| d ¡| d d |  ¡d ¡|jd kræ| |j   dd¡¡t   ||dd|jd|ddffg¡dS)NzCannot save %s images as IMÚframesrzImage type: %s image r+z Name: %s zImage size (x*y): %d*%d zFile size (no of images): %d )r r-sLut: 1 r$iÿr%r zRGB;Lr6)rrrr')ÚSAVErSÚKeyErrorrZ encoderinfoÚgetÚwriteÚencoder[rXÚimZ getpaletterÚ_save)ryr:ÚfilenameZ image_typerBrsrrrrzXs    rzz.im)rGÚrrrÚ_binaryrÚ __version__rOZDATEZ EQUIPMENTrArTÚNAMErKr@r?rQrNrbrUÚcompilerErr rtrzZ register_openroZ register_saveZregister_extensionrrrrÚs˜      M