
    hD                       S SK Jr  S SKrS SKJr  SSKJrJrJr  SSK	J
r  SSK	Jr  SSK	Jr  S	S
SSSSSS.r " S S\R                  5      rSSSSSSS.rSS jr\R&                  " \R(                  \5        \R*                  " \R(                  \5        \R,                  " \R(                  / SQ5        \R.                  " \R(                  S5        g)    )annotationsN)IO   )Image	ImageFileImagePalette)i16le)o8)o16leP1LLABGRA;15ZBGRBGRA))r      )   r   )r   r   )r      )   r   )r      )r       c                  0    \ rS rSrSrSrSS jrSS jrSrg)	TgaImageFile1   TGATargac                   U R                   c   eU R                   R                  S5      nUS   nUS   nUS   nUS   nUS   n[        US5      [        US5      4U l        US	;  d,  U R                  S   S::  d  U R                  S   S::  d  US
;  a  Sn[        U5      eUS;   a#  SU l        US:X  a  SU l        OHUS:X  a  SU l        O:US;   a  U(       a  SOSU l        O#US;   a  US:X  a  SOSU l        OSn[        U5      eUS-  nUS;   U l        US;   a  SnOUS;   a  SnOSn[        U5      eXR                  S'   US-  (       a  SU R                  S '   U(       a(  U R                   R                  U5      U R                  S!'   U(       Ga$  [        US"5      [        US#5      US$   pn	US:X  aY  [        R                  " S%[        SU	-  5      U R                   R                  SU
-  5      -   5      U l        SU R                  l        OUS:X  aH  [        R                  " S&[        S"U	-  5      U R                   R                  S"U
-  5      -   5      U l        O[US':X  aH  [        R                  " S([        S)U	-  5      U R                   R                  S)U
-  5      -   5      U l        OS*n[        U5      e [        US$-  U4   nUS-  (       aG  [        R                   " SS+U R                  -   U R                   R#                  5       XU45      /U l        g [        R                   " S,S+U R                  -   U R                   R#                  5       USU45      /U l        g ! [&         a     g f = f)-N   r   r   r   r            )r   r   )r   r   r   r   r   znot a TGA file)r      r   r   r   )r   	   r   )r   
   r   RGBRGBAzunknown TGA mode0   )r   r(   )r   r(   )r   r   zunknown TGA orientationorientationr   tga_rlecompression
id_sectionr         r   r   r   r      zunknown TGA map depthr   r   raw)fpreadi16_sizesizeSyntaxError_mode_flip_horizontallyinfor   r2   bytespalettemodeMODESr   _TiletelltileKeyError)selfsid_lencolormaptype	imagetypedepthflagsmsgr*   startr7   mapdepthrawmodes                D/var/www/html/env/lib/python3.13/site-packages/PIL/TgaImagePlugin.py_openTgaImageFile._open5   s7   ww"""GGLL1taD	""BZQ+
 &yy|q yy|q .."Cc"" DJz 
"!
&  ,#DJ'!"'2+6DJ$Cc"" dl"-"=,&KI%K+Cc""#.		- q='0DIIm$&*ggll6&:DIIl#$'1Is1ay!A$E2~+//a%i 0477<<D3I I  %+!R+//5U+dggll1t8.DD  R+//E!e),tww||AH/EE  .!#&&	Y]E23G1} OO!* u5		 OO* ![1		  		s   4AM AM 
M('M(c                    U R                   (       a9  U R                  R                  [        R                  R
                  5      U l        g g )N)r:   im	transposer   	TransposeFLIP_LEFT_RIGHT)rD   s    rO   load_endTgaImageFile.load_end   s0    ""gg''(G(GHDG #    )r:   r9   r6   rS   r=   rB   N)returnNone)	__name__
__module____qualname____firstlineno__formatformat_descriptionrP   rW   __static_attributes__ rY   rO   r   r   1   s    F hTIrY   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   r&   r'   c                <    [         U R                     u  p4pVSU R                  ;   a  U R                  S   n	O:U R                  R                  SU R                  R                  S5      5      n
U
S:H  n	U	(       a  US-  nU R                  R                  SU R                  R                  SS5      5      n[        U5      nUS	:  a  S	nUS S	 n[        R                  " S
5        U(       a,  U R                  R                  SS5      n[        U5      S-  SpOSu  pU R                  S;   a  SnOSnU R                  R                  SU R                  R                  SS5      5      nUS:  a  US-  nUR                  [        U5      [        U5      -   [        U5      -   [        S5      -   [        U5      -   [        U5      -   [        S5      -   [        S5      -   [        U R                  S   5      -   [        U R                  S   5      -   [        U5      -   [        U5      -   5        U(       a  UR                  U5        U(       a  UR                  W5        U	(       a@  [         R"                  " U U[         R$                  " SSU R                  -   SUU45      /5        O@[         R"                  " U U[         R$                  " SSU R                  -   SUSU45      /5        UR                  S5        g ! [         a!  nSU R                   S3n[        U5      UeS nAff = f)Nzcannot write mode z as TGArler,   r+   r   r-       z-id_section has been trimmed to 255 charactersr&   r   r   r   r1   )r   r'   r   r*   r)   r   r   r2   s           TRUEVISION-XFILE. )SAVEr>   rC   OSErrorencoderinfogetr;   lenwarningswarnrS   
getpalettewriter
   o16r7   r   _saver@   )rS   r3   filenamerN   bitsrG   rH   erK   re   r,   r-   rF   r=   colormaplengthcolormapentryrJ   r*   s                     rO   rr   rr      s   "15bgg.|
 nnU#nn((M8RSY&
Q	##L"''++lB2OPJ_F|%
EF%%""5%0(+G(92(,%	ww. ..$$]BGGKKr4RSKQHH
6

\
	
Y-	 a&	 n
		
 ]
	 a&	 a&	 bggaj/	 bggaj/		 T(
	 U)	 


__Y(8!g{=STU	
 	__UFRWW$4a'1k9RST	
 HH9:K  ""277)73cl!"s   K0 0
L:LL)z.tgaz.icbz.vdaz.vstzimage/x-tga)rS   zImage.Imager3   z	IO[bytes]rs   zstr | bytesrZ   r[   )
__future__r   rm   typingr   rf   r   r   r   _binaryr	   r5   r
   r   rq   r?   r   rh   rr   register_openr`   register_saveregister_extensionsregister_mimerc   rY   rO   <module>r      s   $ #   , , !  ! 		 pI9&& pIr 
	
	H;`   L'' 6   L'' /   ,--/O P   L'' 7rY   