ó
O'—^c           @   s  d  d l  m Z m Z m Z m Z d Z e j Z e j Z i d d 6d d 6d d 6d	 d 6d d 6d d 6Z	 d e j f d „  ƒ  YZ
 e j Z e j Z e j Z i d d 6d d 6d  d 6d! d 6d" d 6Z d d „ Z e j e
 j e
 ƒ e j e
 j e ƒ e j e
 j d ƒ d S(#   iÿÿÿÿ(   t   Imaget	   ImageFilet   ImagePalettet   _binarys   0.3t   Pi   i   t   1i   t   Ls   BGR;5i   i   t   BGRi   t   BGRAi    t   TgaImageFilec           B   s   e  Z d  Z d Z d „  Z RS(   t   TGAt   Targac         C   sg  |  j  j d ƒ } t | d ƒ } t | d ƒ } t | d ƒ } t | d ƒ } t | d ƒ } t | d ƒ t | d ƒ f |  _ | d& k sÃ |  j d d k sÃ |  j d d k sÃ | d' k rÒ t d ƒ ‚ n  | d( k rd |  _ | d k rVd |  _ qVnT | d) k rd |  _ n< | d* k rJd |  _ | d k rVd |  _ qVn t d ƒ ‚ | d @} | d k rud } n | s„d } n t d ƒ ‚ | |  j d <| d	 @r·d |  j d <n  | rÙ|  j  j | ƒ |  j d <n  | rÈt | d ƒ t | d ƒ t | d ƒ } }	 }
 |
 d k rMt j	 d  d+ | |  j  j d |	 ƒ ƒ |  _
 qÈ|
 d
 k r‰t j	 d" d, | |  j  j d |	 ƒ ƒ |  _
 qÈ|
 d k rÈt j	 d# d- | |  j  j d$ |	 ƒ ƒ |  _
 qÈn  y‡ t | d @| f } | d	 @rd d. |  j |  j  j ƒ  | | | f f g |  _ n1 d% d/ |  j |  j  j ƒ  | d | f f g |  _ Wn t k
 rbn Xd  S(0   Ni   i    i   i   i   i   i   i   i   i   i    s   not a TGA filei   i   R   R   i	   R   i
   t   RGBt   RGBAs   unknown TGA modei0   iÿÿÿÿs   unknown TGA orientationt   orientationt   tga_rlet   compressiont
   id_sectioni   i   s   BGR;16s    R   R   i   t   raw(   i    i   (   i   i   i   i   i    (   i   i   (   i   i	   (   i   i
   s     s      s       (   i    i    (   i    i    (   t   fpt   readt   i8t   i16t   sizet   SyntaxErrort   modet   infoR   R   t   palettet   MODESt   tellt   tilet   KeyError(   t   selft   st   idlent   colormaptypet	   imagetypet   deptht   flagsR   t   startR   t   mapdeptht   rawmode(    (    s4   /tmp/pip-unpacked-wheel-ivxKtu/PIL/TgaImagePlugin.pyt   _open4   sj    #&		
		
2**-
'((   t   __name__t
   __module__t   formatt   format_descriptionR*   (    (    (    s4   /tmp/pip-unpacked-wheel-ivxKtu/PIL/TgaImagePlugin.pyR	   /   s   i    R   R   c      	   C   s¥  y t  |  j \ } } } } Wn$ t k
 rC t d |  j ƒ ‚ n X| rN | S| rf d \ } }	 }
 n d \ } }	 }
 |  j d k r d } n d } |  j j d d ƒ } | d k rÁ | d	 B} n  | j d
 t | ƒ t | ƒ t | ƒ t |	 ƒ t |
 ƒ t d ƒ t d ƒ t |  j	 d ƒ t |  j	 d ƒ t | ƒ t | ƒ ƒ | ro| j |  j
 j d d ƒ ƒ n  t j |  | d d |  j	 d | d | f f g ƒ d  S(   Ns   cannot write mode %s as TGAi    i   i   R   i   R   iÿÿÿÿi    s    i   R   R   R   (   i    i   i   (   i    i    i    (   i    i    (   t   SAVER   R   t   IOErrorR   t   gett   writet   o8t   o16R   t   imt
   getpaletteR   t   _save(   R5   R   t   filenamet   checkR)   t   bitsR#   R$   t   colormapfirstt   colormaplengtht   colormapentryR&   R   (    (    s4   /tmp/pip-unpacked-wheel-ivxKtu/PIL/TgaImagePlugin.pyR7   ”   s,    	
us   .tgaN(   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i    (   R   i   i    i   (   R   i   i    i   (   R   i   i   i   (   R   i   i    i   (   R   i    i    i   (   t   PILR    R   R   R   t   __version__R   t   i16leR   R   R	   R3   t   o16leR4   t   o32let   o32R/   R7   t   register_openR-   t   register_savet   register_extension(    (    (    s4   /tmp/pip-unpacked-wheel-ivxKtu/PIL/TgaImagePlugin.pyt   <module>   s0   "		
X			
/