
    zvg?                       U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlm	Z	 ddl
mZmZ ddlmZ  ej        d          Z ej        d          Zdad	ed
<   dad)dZ	 	 d*d+dZd,dZ G d dej                  Zd-d.d%Z ej        ej        ee            ej        ej        e            ej        ej        d&d'g            ej        ej        d(           dS )/    )annotationsN)IO   )Image	ImageFile)i32lez^%%([^:]*):[ \t]*(.*)[ \t]*$z^%[%!\w]([^:]*)[ \t]*$zstr | bool | None	gs_binaryreturnboolc                 6   t           t          j                            d          r3t          $dd l} dD ]}|                     |          |a ndat          a n8	 t          j        ddgt          j	                   da n# t          $ r da Y nw xY wt           duS )Nwinr   )gswin32cgswin64cgsFr   z	--version)stdout)r	   sysplatform
startswithgs_windows_binaryshutilwhich
subprocess
check_callDEVNULLOSError)r   binarys     O/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/PIL/EpsImagePlugin.pyhas_ghostscriptr   -   s    <""5)) 	" (< . .F||F++7,2) 8 ).%)II"%t[&9*BTUUUU 		 " " "!			"E!!s   $B   BBFtilelist[ImageFile._Tile]sizetuple[int, int]fp	IO[bytes]scaleinttransparencyImage.core.ImagingCorec                   t                      sd}t          |          t          t          t                    sJ | d         j        }t          |t                    sJ |\  }}t          |          pd}|d         |z  }	|d         |z  }
d|	z  |d         |d         z
  z  }d|
z  |d         |d         z
  z  }t          j	                    \  }}t          j        |           d}t          |d          r,t          j                            |j                  r|j        }nt          j	                    \  }}t          j        |           |}t!          |d	          5 }|                    dt$          j                   |                                }|                    d           |}|dk    rS|                    t-          |d
                    }|sn-|t/          |          z  }|                    |           |dk    Sddd           n# 1 swxY w Y   |rd}nd}t          dd|	dd|
dd|dd|ddddd| d| d|d           d|d           dd|ddg}	 d}t2          j                            d          r-t9          j                    }|xj        t8          j        z  c_        t9          j         ||           tC          j        |          5 }|"                                 |j#        $                                cddd           	 t          j%        |           |rt          j%        |           S S # t          $ r Y S w xY w# 1 swxY w Y   	 	 t          j%        |           |rt          j%        |           dS dS # t          $ r Y dS w xY w# 	 t          j%        |           |rt          j%        |           w w # t          $ r Y w w xY wxY w)z!Render an image using Ghostscriptz%Unable to locate Ghostscript on pathsr   r   g      R@      Nnamewbi  pngalphapnmrawz-qz-gdxz-rfz-dBATCHz	-dNOPAUSEz-dSAFERz	-sDEVICE=z-sOutputFile=z-c z
 translatez-fshowpager   )startupinfo)&r   r   
isinstancer	   strargstupler&   tempfilemkstemposclosehasattrpathexistsr,   openseekioSEEK_ENDtellreadminlenwriter   r   r   r   STARTUPINFOdwFlagsSTARTF_USESHOWWINDOWr   r   loadimcopyunlink)r   r!   r#   r%   r'   msgr8   lengthbboxwidthheightres_xres_yout_fdoutfileinfile_tempinfilein_fdr2   fsize
lengthfilesdevicecommandr5   out_ims                             r   Ghostscriptrc   D   s     5clli%%%%% 7<DdE"""""LFD JJO!EGeOE!Wu_F5LDGd1g-.E6MT!WtAw./E&((OFGHVKr6 rw~~bg66 %-//{

 +t$$ 	GGAr{###GGIIE GGAJJJJq..GGC
J7788 c!ff$



 q..	 	 	 	 	 	 	 	 	 	 	 	 	 	 	    	!U!!!v!!! U   u   F!!!G8**tAwh***#G*<""5)) 	C$022K:#BBg;????Z   	$FKKMMM9>>##	$ 	$ 	$ 	$ 	$ 	$ 	$	Ig '	+&&&&' 	 	 	D		$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$	Ig '	+&&&&&' ' 	 	 	DD			Ig '	+&&&&' 	 	 	D	s   B%HHH"A8N -MN *M  
MMMN MN *N 
NNO*O
O

OOOOprefixbytesc                j    | d d         dk    p%t          |           dk    ot          |           dk    S )N      %!PS   P )rH   i32)rd   s    r   _acceptrk      s5    "1": TS[[A%5%S#f++:ST    c                  L    e Zd ZdZdZdZdddddZddZddZ	 dddZ	ddZ
dS ) EpsImageFilez.EPS File Parser for the Python Imaging LibraryEPSzEncapsulated PostscriptLLABRGBCMYK)r   r*   r+   rg   r
   Nonec                :                           j                  \  }} j                            |           d _        d d }t	          d          }t          |          }d}d}ddd( fd}d) fd}		  j                            d          }
|
dk    r|dk    r|r
 |             nn]|
dv r|dk    rAnQ|dk    r:|d         t          d          k    rd}t          |          |r |             d}d}|
d         ||<   |dz  }|r|d         t          d          k    s|d d         dk    r |             d}t          |d |         d          } |	|          s{t                              |          }|rA|                    d          }|d d         dk    r|dd           j        d<   nd j        |<   n|d         dk    rnd}t          |          n|d d         dk    r{|rd}||d|                             d d          }d |d d         D             \  }}}}|dk    rd _        n+|dk    r$	  j        |          _        n# t"          $ r Y nUw xY wnP||f}nG|d d          d!k    rn<r&r$t          |d |         d          } |	|           n|d d         d"k    rdd};sd#}t          |          |p!d$         d         z
  d%         d         z
  f _        t'          j        d&d' j        z   ||f          g _        d S )*Nrr      r   TFr
   rt   c                 p    dj         vrd} t          |           dj         vrd} t          |           dS )z
            The EPS specification requires that some headers exist.
            This should be checked when the header comments formally end,
            when image data starts, or when the file ends, whichever comes first.
            PS-Adobez'EPS header missing "%!PS-Adobe" commentBoundingBoxz*EPS header missing "%%BoundingBox" commentN)infoSyntaxError)rQ   selfs    r   check_required_header_commentsz:EpsImageFile._open.<locals>.check_required_header_comments   sM     **?!#&&&DI--B!#&&& .-rl   r_   r7   r   c                j   	 t                               |           }n)# t          j        $ r}d}t	          |          |d }~ww xY w|sdS |                    dd          \  }}|j        |<   |dk    r?|dk    rdn6r	r2r0	 d |                                 D             n# t          $ r Y nw xY wdS )	Nnot an EPS fileFr   r*   ry   z(atend)Tc                F    g | ]}t          t          |                    S  )r&   float).0is     r   
<listcomp>z<EpsImageFile._open.<locals>.read_comment.<locals>.<listcomp>   s$    'I'I'I!E!HH'I'I'Irl   )splitmatchreerrorr{   grouprz   	Exception)
r_   merQ   kvbounding_boxreading_trailer_commentsr|   trailer_reacheds
         r   read_commentz(EpsImageFile._open.<locals>.read_comment   s    .KKNN8 . . .'!#&&A-.  u771a==DAqDIaLM!!	>>/3,,% / >V  (J'Iqwwyy'I'I'I$   4s$    A?AB# #
B0/B0r   rl   s   
%r      s   %%EndCommentszlatin-1   rx   	    zbad EPS header   s   %ImageData:   c              3  4   K   | ]}t          |          V  d S N)r&   )r   values     r   	<genexpr>z%EpsImageFile._open.<locals>.<genexpr>J  s9       5 5#(CJJ5 5 5 5 5 5rl   rg   1   s   %%EOFs	   %%Trailerz!cannot determine EPS bounding boxr*   r+   epsr   r   r
   rt   )r_   r7   r
   r   )_find_offsetr#   rB   _mode	bytearray
memoryviewrF   ordr{   r7   fieldr   r   rz   r   r   mode_map
ValueError_sizer   _Tiler!   r   )r|   rR   offsetimagedata_sizebyte_arrbytes_mv
bytes_readreading_header_commentsr}   r   byterQ   r_   r   r   image_data_valuescolumnsrows	bit_depthmode_idr   r   r   s   `                   @@@r   _openzEpsImageFile._open   s_   ,,TW55 	V
 *.15S>>h''
"&#( 	' 	' 	' 	' 	' 	'	 	 	 	 	 	 	 	 	4k	7<<??Ds{{??. 966888 #  ?? #
 $$  {c#hh../)#...2 <::<<<6;3 &'
'+Aw$a
& H' A;#c((**hssm?O.O.O22444.3+*-y99#|A +AA +GGAJJRaR5J..45abbEDIj11+-DIaLL1 .%cll*+ #2#.00 " !"J %-R
]$;$A$A$$J$J!5 5,=bqb,A5 5 51y' >>!$DJJ!^^%)]7%;

%     ")$"1"))  '%= '*-y99Q"1"--"&JWk	^  	5C#,, $ 
Ol1o-Ol1o-(

 OE6DI#5v?UVV
			s   I 
I$#I$r#   r$   r"   c                `   |                     d          }|dk    r7|                    dt          j                   |                                }d}nYt          |          dk    r5|                     d          }t          |          }t          |d          }nd}t          |          ||fS )Nrg   rh   r   ri   r   r   )rF   rB   rC   rD   rE   rj   r{   )r|   r#   r_   rR   r   rQ   s         r   r   zEpsImageFile._find_offsetu  s    GGAJJ<<GGAr{###WWYYFFFVVz!! 

AVVFAYYFF#Cc"""v~rl   r   Fr%   r&   r'   r   Image.core.PixelAccess | Nonec                    | j         rPt          | j         | j        | j        ||          | _        | j        j        | _        | j        j        | _        g | _         t          j        	                    |           S r   )
r   rc   r!   r#   rN   moder   r   r   rM   )r|   r%   r'   s      r   rM   zEpsImageFile.load  s^     9 	!$)TYUUDGDJDJDI{%%%rl   posc                    d S r   r   )r|   r   s     r   	load_seekzEpsImageFile.load_seek  s	     	rl   Nr   )r#   r$   r
   r"   r   F)r%   r&   r'   r   r
   r   )r   r&   r
   rt   )__name__
__module____qualname____doc__formatformat_descriptionr   r   r   rM   r   r   rl   r   rn   rn      s        88F25Uv66Hv
 v
 v
 v
p   0 49	& 	& 	& 	& 	&     rl   rn   rN   Image.Imagefilenamestr | bytesr   rt   c           	     h   |                                   | j        dk    rd}n-| j        dk    rd}n| j        dk    rd}nd}t          |          |r|                    d           |                    d	           |                    d
| j        z             |                    d           |                    d           |                    d           |                    d| j        z             |                    d|z             |                    d           |                    d           |                    d| j        d         |d         z  z             |                    d| j        z             |                    d| j        z             |                    d| j        d         | j        d         | j        d         fz             |                    d           |                    |d         dz              t          |d          r|                                 t          j        | |t          j	        dd| j        z             g           |                    d           |                    d           t          |d          r|                                 d S d S )!z*EPS Writer for the Python Imaging Library.rp   )r   r   s   imagerr   )r   r+   s   false 3 colorimagers   )r   rg   s   false 4 colorimagezimage mode is not supporteds   %!PS-Adobe-3.0 EPSF-3.0
s   %%Creator: PIL 0.1 EpsEncode
s   %%%%BoundingBox: 0 0 %d %d
s   %%Pages: 1
s   %%EndComments
s   %%Page: 1 1
s   %%ImageData: %d %d s   %d %d 0 1 1 "%s"
s   gsave
s   10 dict begin
s   /buf %d string def
r   r   s   %d %d scale
s   %d %d 8
s   [%d 0 0 -%d 0 %d]
s+   { currentfile buf readhexstring pop } bind
r*      
flushr   r   s   
%%%%EndBinary
s   grestore end
N)
rM   r   r   rI   r!   r>   r   r   _saver   )rN   r#   r   r   operatorrQ   s         r   r   r     s    GGIII 
w#~~#	E		0	F		0+oo
 
3
-...
2333
027:;;;
!!!
#$$$
!"""
'"'1222
&1222 HHZHH   HH$
Xa[(@ABBBHH'(((HH\BG#$$$HH#rwqz271:rwqz&JJKKKHH<===HHXa[5 !!!r7 



OBY_UFRW4DEEFGGGHH!"""HHr7 





 rl   z.psz.epszapplication/postscript)r
   r   r   )r   r    r!   r"   r#   r$   r%   r&   r'   r   r
   r(   )rd   re   r
   r   )r   )
rN   r   r#   r$   r   r   r   r&   r
   rt   ) 
__future__r   rC   r<   r   r   r   r:   typingr   r   r   r   _binaryr   rj   compiler   r   r	   __annotations__r   r   rc   rk   rn   r   register_openr   register_saveregister_extensionsregister_mimer   rl   r   <module>r      s  , # " " " " " " 				 				 				     



                ! ! ! ! ! !
 	
233
,--#	 # # # # " " " "6 e e e e ePU U U Ue e e e e9& e e eV. . . . .h  L'w ? ? ?  L' / / /  ,-v ? ? ?  L')A B B B B Brl   