ó
N'^c           @   sO  d  d l  Z  d  d l m Z m Z m Z d  d l m Z d Z d Z d Z	 d Z
 d Z d	 Z d
 Z d Z d Z d Z i	 d e 6d e	 6d e
 6d e 6d e 6d e 6d e 6d e 6d e 6Z i d_ d 6d` d 6da d 6db d 6dc d 6dd d 6de d 6df d 6dg d 6dh d  6di d! 6dj d$ 6dk d' 6dl d) 6dm d+ 6dn d. 6do d1 6dp d4 6dq d7 6dr d: 6Z xP d; d< d= d> d? d@ g D]6 Z d% dA e f e dB e <d% dA e f e dC e <qdWxO d= dD dE g D]> Z dF e dF e f e dB e <dF e dF e f e dC e <qŽWxA dG g D]6 Z d" dF e f e dB e <d" dF e f e dC e <qúWx/ e dH dI  D] Z d% dA e f e dC e <qDWe  j dJ  Z dK   Z dL e j f dM     YZ i ds d 6dt d 6du d, 6dv d 6dw dQ 6dx d" 6dy dU 6dz dW 6d{ dY 6d| d% 6d} d 6d~ d/ 6d d2 6d d5 6d d8 6Z d d]  Z e j e j e  e j e j e  e j e j d^  d S(   i˙˙˙˙N(   t   Imaget	   ImageFilet   ImagePalette(   t   i8s   0.7t   Commentt   Dates   Digitalization equipments   File size (no of images)t   Lutt   Names   Scale (x,y)s   Image size (x*y)s
   Image typei    t   1s	   0 1 images	   L 1 imaget   Ls   Greyscale images   Grayscale imaget   RGBs   RGB;Ls	   RGB imaget   RLBs	   RLB images	   RYB images   B1 imaget   Ps   P;2s   B2 images   P;4s   B4 images
   X 24 imaget   Is   I;32s   L 32 S imaget   Fs   F;32s   L 32 F images   RGB;Ts
   RGB3 images   RYB;Ts
   RYB3 imaget   LAs   LA;Ls   LA imaget   RGBAs   RGBA;Ls
   RGBA imaget   RGBXs   RGBX;Ls
   RGBX imaget   CMYKs   CMYK;Ls
   CMYK imaget   YCbCrs   YCbCr;Ls	   YCC imaget   8t   8St   16t   16St   32t   32Fs   F;%ss
   L %s images
   L*%s imaget   16Lt   16Bs   I;%st   32Si   i!   s"   ^([A-Za-z][^:]*):[ \t]*(.*)[ \t]*$c         C   s-   y t  |   SWn t k
 r( t |   SXd  S(   N(   t   intt
   ValueErrort   float(   t   s(    (    s3   /tmp/pip-unpacked-wheel-ivxKtu/PIL/ImImagePlugin.pyt   numberb   s    t   ImImageFilec           B   sM   e  Z d  Z d Z d   Z e d    Z e d    Z d   Z d   Z	 RS(   t   IMs   IFUNC Image Memoryc         C   s4  d |  j  j d  k r' t d   n  |  j  j d  d } d |  j t <d* |  j t <d |  j t <d |  _ xXt	 rÇ|  j  j d  } | d k r qp n  | sš | d	 k sš | d
 k r˝ Pn  | |  j  j
   } t |  d k rń t d   n  | d d k r| d  } n | d d k r+| d  } n  y t j |  } Wn" t j k
 rb} t d   n X| r¨| j d d  \ } } | j d d  } | j d d  } | t t t g k r| j d d  } t t t | j d    } t |  d k r:| d } q:n. | t k r:| t k r:t | \ } |  _ n  | t k r| |  j k rl|  j | j |  q| g |  j | <n | |  j | <| t k rÄ| d 7} qÄqp t d | j d d    qp W| sÝt d   n  |  j t |  _ |  j t |  _ x/ | r.| d d !d
 k r.|  j  j d  } q W| sDt d   n  t |  j k rÚ|  j  j d  } d } d } xl t d  D]^ }	 | |	 | |	 d k oŻ| |	 d k n rÖt | |	  |	 k rÜd } qÜq~d } q~W|  j d k sţ|  j d k r| r6| sg  | d  D] }
 t |
  ^ q|  _  qq×|  j d k rXd |  _ |  _ n" |  j d k rzd |  _ |  _ n  t! j" d |  |  _# qÚ|  j d k rÚ| sŻ| r×g  | D] }
 t |
  ^ qś|  _  q×qÚn  d |  _$ |  j  j%   |  _& } |  j  |  _' |  j d  d k ryU t( |  j d  } | d+ k rld" d, |  j | | d d# d d f f g |  _) d  SWqt* k
 rqXn  |  j d- k r|  j d |  j d } d& d. |  j | d/ f d& d0 |  j | | d1 f d& d2 |  j | d | d3 f g |  _) n+ d& d4 |  j | |  j d d f f g |  _) d  S(5   Ns   
id   s   not an IM filei    R	   i   i   s   s    s   iţ˙˙˙s   
i˙˙˙˙i   s   latin-1t   replacet   *t   ,s   Syntax error in IM header: t   asciis   Not an IM files   File truncatedi   i   R   R   t   PAs   RGB;LR
   s   F;i   i   i    t   biti   s   RGB;Ts   RYB;Tt   rawt   Gt   Rt   B(   i   i   (   i   i   i    (   i    i    (   s   RGB;Ts   RYB;T(   i    i    (   R+   i    i˙˙˙˙(   i    i    (   R,   i    i˙˙˙˙(   i    i    (   R-   i    i˙˙˙˙(   i    i    (+   t   fpt   readt   SyntaxErrort   seekt   infot   MODEt   SIZEt   FRAMESt   rawmodet   Truet   readlinet   lent   splitt   matcht   ret   errort   groupt   decodet   SCALER$   t   tuplet   mapR!   t   OPENt   COMMENTt   appendt   TAGSt   sizet   modet   LUTt   rangeR   t   lutR   R*   t   palettet   framet   tellt   _ImImageFile__offsett   _ImImageFile__fpR   t   tileR   (   t   selft   nR    t   mt   vt   kRL   t	   greyscalet   lineart   it   ct   offst   bitsRG   (    (    s3   /tmp/pip-unpacked-wheel-ivxKtu/PIL/ImImagePlugin.pyt   _openq   sş    		0
,+	*c         C   s   |  j  t S(   N(   R2   R5   (   RR   (    (    s3   /tmp/pip-unpacked-wheel-ivxKtu/PIL/ImImagePlugin.pyt   n_frames  s    c         C   s   |  j  t d k S(   Ni   (   R2   R5   (   RR   (    (    s3   /tmp/pip-unpacked-wheel-ivxKtu/PIL/ImImagePlugin.pyt   is_animated  s    c         C   sĺ   | d k  s | |  j  t k r. t d   n  |  j | k rA d  S| |  _ |  j d k rb d } n d t |  j  } |  j d | d d |  j d } |  j | | } |  j |  _	 d d	 |  j | |  j
 d d f f g |  _ d  S(
   Ni    s   seek outside sequenceR   i   i   i   R*   i˙˙˙˙(   i    i    (   R2   R5   t   EOFErrorRM   RH   R9   RG   RO   RP   R.   R6   RQ   (   RR   RM   R\   RG   R[   (    (    s3   /tmp/pip-unpacked-wheel-ivxKtu/PIL/ImImagePlugin.pyR1     s    		$c         C   s   |  j  S(   N(   RM   (   RR   (    (    s3   /tmp/pip-unpacked-wheel-ivxKtu/PIL/ImImagePlugin.pyRN   %  s    (
   t   __name__t
   __module__t   formatt   format_descriptionR]   t   propertyR^   R_   R1   RN   (    (    (    s3   /tmp/pip-unpacked-wheel-ivxKtu/PIL/ImImagePlugin.pyR"   l   s   		s   0 1t	   Greyscales   PA;LR(   s   L 32Ss   I;32Ss   L 16s   I;16s   L 16Ls   I;16Ls   L 16Bs   I;16Bs   L 32Fs   F;32Ft   YCCc      	   C   s  y t  |  j \ } } Wn$ t k
 r= t d |  j   n Xy |  j d } Wn t k
 rh d } n X| rs | S| j d | j d   | r° | j d | j d   n  | j d |  j j d   | j d | j d   |  j d	 k r| j d
  n  | j d d | j   d  |  j d	 k rS| j |  j	 j
 d d   n  t j |  | d d |  j d | d d f f g  d  S(   Ns   Cannot save %s images as IMt   framesi   s   Image type: %s image
R'   s
   Name: %s
s   Image size (x*y): %d*%d
s   File size (no of images): %d
R   s   Lut: 1
s    i˙  s   R
   s   RGB;LR*   i    i˙˙˙˙(   i    i    (   t   SAVERH   t   KeyErrorR   t   encoderinfot   writet   encodeRG   RN   t   imt
   getpaletteR   t   _save(   Rn   R.   t   filenamet   checkt
   image_typeR6   Rh   (    (    s3   /tmp/pip-unpacked-wheel-ivxKtu/PIL/ImImagePlugin.pyRp   A  s*    
s   .im(   R   R   (   R   R   (   R	   R	   (   R	   R	   (   R
   s   RGB;L(   R
   R   (   R
   R   (   R   R   (   R   s   P;2(   R   s   P;4(   R
   R
   (   R   s   I;32(   R   s   F;32(   R
   s   RGB;T(   R
   s   RYB;T(   R   s   LA;L(   R   s   RGBA;L(   R   s   RGBX;L(   R   s   CMYK;L(   R   s   YCbCr;L(   s   0 1R   (   Rf   R	   (   R   s   LA;L(   Rf   R   (   R   s   PA;L(   s   L 32Ss   I;32S(   s   L 16s   I;16(   s   L 16Ls   I;16L(   s   L 16Bs   I;16B(   s   L 32Fs   F;32F(   R
   s   RGB;L(   R   s   RGBA;L(   R   s   RGBX;L(   R   s   CMYK;L(   Rg   s   YCbCr;L(   R<   t   PILR    R   R   t   PIL._binaryR   t   __version__RD   t   DATEt	   EQUIPMENTR5   RI   t   NAMER@   R4   R3   RF   RC   RY   RJ   t   compileR:   R!   R"   Ri   Rp   t   register_openRc   t   register_savet   register_extension(    (    (    s3   /tmp/pip-unpacked-wheel-ivxKtu/PIL/ImImagePlugin.pyt   <module>   s   -
 	
Á
