
    ths*                        d dl Z d dlZddlmZmZmZ dZdZdZdZ	dZ
d	Zd
ZdZdZed ed ed e	d e
d ed ed ed ed i	Zi dddddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/Zd0D ]Zd1d2e fed3e d4<   d1d2e fed5e d4<   d6D ]$Zd7e d7e fed3e d4<   d7e d7e fed5e d4<   %d8D ]Zd9d7e fed3e d4<   d9d7e fed5e d4<    ed:d;          D ]Zd1d2e fed5e d4<    ej        d<          Zd= Z G d> d?ej                  Zd@dAd(dBd*dCdDdEdFdGdd+d,d-dHdIZdJ Z ej        ej        e            ej        ej        e            ej        ej        dK           dS )L    N   )Image	ImageFileImagePaletteCommentDatezDigitalization equipmentzFile size (no of images)LutNamezScale (x,y)zImage size (x*y)z
Image typez	0 1 image)1r   z	L 1 imagezGreyscale image)Lr   zGrayscale imagez	RGB image)RGBRGB;Lz	RLB image)r   RLBz	RYB imagezB1 imagezB2 image)PzP;2zB4 image)r   zP;4z
X 24 image)r   r   zL 32 S image)IzI;32zL 32 F image)FzF;32z
RGB3 image)r   RGB;Tz
RYB3 image)r   RYB;TzLA image)LAzLA;LzPA image)r   PA;L)RGBAzRGBA;L)RGBXzRGBX;L)CMYKzCMYK;L)YCbCrYCbCr;L)z
RGBA imagez
RGBX imagez
CMYK imagez	YCC image)88S1616S3232Fr   F;zL z imagezL*)r   16L16BzI;)32Sr      !   s"   ^([A-Za-z][^:]*):[ \t]*(.*)[ \t]*$c                 `    	 t          |           S # t          $ r t          |           cY S w xY wN)int
ValueErrorfloat)ss    e/var/www/html/mycamper/aliexpress-site/backend/venv/lib/python3.11/site-packages/PIL/ImImagePlugin.pynumberr/   j   s<    1vv   Qxxs    --c                   X    e Zd ZdZdZdZd Zed             Zed             Z	d Z
d Zd	S )
ImImageFileIMzIFUNC Image MemoryFc                    d| j                             d          vrd}t          |          | j                             d           d}d| j        t
          <   d| j        t          <   d| j        t          <   d| _        	 | j                             d          }|d	k    r"|r|d
k    s|dk    rn(|| j         	                                z   }t          |          dk    rd}t          |          |dd          dk    r|d d         }n|dd          dk    r
|d d         }	 t                              |          }n)# t          j        $ r}d}t          |          |d }~ww xY w|rE|                    dd          \  }}|                    dd          }|                    dd          }|t          t"          t          fv rg|                    dd          }t'          t)          t*          |                    d                              }t          |          dk    r|d         }n)|t
          k    r|t,          v rt,          |         \  }| _        |t.          k    r6|| j        v r!| j        |                             |           n|g| j        |<   n
|| j        |<   |t2          v r|dz  }n(d|                    dd          z   }t          |          Y|sd}t          |          | j        t                   | _        | j        t
                   | _        |r8|d d         dk    r*| j                             d          }|r|d d         dk    *|sd}t          |          t8          | j        v r | j                             d          }d}	d}
t;          d          D ];}||         ||dz            cxk    r||dz            k    rn n||         |k    rd}
9d}	<| j        dv rk|	r|
st=          |d d                   | _        nm| j        dv rdx| _        | _        n| j        dv rd| _        d | _        tA          j!        d!|          | _"        n#| j        d"k    r|	r|
st=          |          | _        d| _#        | j         $                                x| _%        }| j         | _&        | j        d d         d#k    rM	 tO          | j        dd                    }|d$vrd%d&| j(        z   ||d'd(ddffg| _)        d S n# tT          $ r Y nw xY w| j        d)v rT| j(        d         | j(        d         z  }d*d&| j(        z   |d+fd*d&| j(        z   ||z   d,fd*d&| j(        z   |d|z  z   d-fg| _)        d S d*d&| j(        z   || j        ddffg| _)        d S ).N   
d   znot an IM filer   r   )   r6   r   T          s   
r&   zlatin-1replace*,zSyntax error in IM header: asciizNot an IM filezFile truncatedi      r6   )r   r   r   PA)r   r   r   )r   rA   rA   r   r   r   r"   )          bitr   r   rB      )r   r   raw)Gr   r;   )Rr   r;   )Br   r;   )+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rangelistlutr   rH   paletteframetell_ImImageFile__offset_fpr*   sizetiler+   )selfmsgnr-   mekvrj   	greyscalelinearioffsbitsro   s                  r.   _openzImImageFile._openz   s    S))))"Cc"""Q 	$$	$	&<	'QA Ezz U

a7ll DG$$&&&A1vv||&!#&&&v  crcF2335crcF.KKNN8 . . .&!#&&A-.   'wwq!}}1 HHY	22HHY	22 ---		#s++Ac&!''#,,7788A1vv{{aD$YY199&*1gOAt| <<DI~~	!++A....()s	!#$DIaL99FA 4ahhw	6R6RR!#&&&y<	'|  	#"Cc""" Yt_
IdO	  	 AbqbEW$$QA  	 AbqbEW$$ 	#"Cc"""$)gll3''GIF3ZZ " "1:S!1EEEEWQW5EEEEEEqzQ!" !IIy222 	F! 7#'#6#6yJ..366	DLLl22$(	'-#/#3GW#E#EDLLe##  - -#G}}DH
#w||~~-7<t##4<+,,{**"'$));TD!QPQSUCV!W XDIF +     <--- 9Q<$)A,.D*D,?*D4KF*D1t8O\JDIII  $)!3TDL!R;PQRDIIIs*   "D= =E#EE#<9S8 8
TTc                 &    | j         t                   S r)   rP   rS   rq   s    r.   n_frameszImImageFile.n_frames  s    y      c                 .    | j         t                   dk    S )Nr   r   r   s    r.   is_animatedzImImageFile.is_animated  s    y 1$$r   c                 >   |                      |          sd S || _        | j        dk    rd}ndt          | j                  z  }| j        d         |z  dz   dz  | j        d         z  }| j        ||z  z   }| j        | _        dd| j        z   || j        ddffg| _	        d S )	Nr   r   rB   r      rH   rF   r;   )
_seek_checkrk   re   rV   ro   rm   rn   rL   rT   rp   )rq   rk   r|   ro   r{   s        r.   rO   zImImageFile.seek  s    && 	F
9DDs49~~%D1$q(Q.$)A,>}ut|+(Vdi/a7LMN			r   c                     | j         S r)   )rk   r   s    r.   rl   zImImageFile.tell+  s
    zr   N)__name__
__module____qualname__formatformat_description!_close_exclusive_fp_after_loadingr}   propertyr   r   rO   rl    r   r.   r1   r1   u   s        F-(-%US US USn ! ! X! % % X%O O O$    r   r1   )z0 1r   )	Greyscaler   )r   r   )zL 32SzI;32S)zL 16I;16)zL 16LI;16L)zL 16BI;16B)zL 32FzF;32F)YCCr   )r   r   r   r   rA   r   r   r   r   r   r   r   r   r   r   c           
         	 t           | j                 \  }}n-# t          $ r }d| j         d}t          |          |d }~ww xY w| j                            dd          }|                    d| d                    d                     |rt          j	        
                    t          j	                            |                    \  }}	d                    |d d	t          |	          z
           |	g          }|                    d
| d                    d                     |                    d| j        z                      d                     |                    d| d                    d                     | j        dv r|                    d           |                    dd|                                z
  z  dz              | j        dv rw| j                            dd          }
t          |
          dz  }d}t%          d          D ]#}||
||z  ||dz   z           z  }|dd|z
  z  z  }$|                    |           t'          j        | |dd| j        z   d|ddffg           d S )NzCannot save z images as IMframesr   zImage type: z image
r?    \   zName: z
zImage size (x*y): %d*%d
zFile size (no of images): )r   rA   s   Lut: 1
r8   i  r9   r   r   rG   r   r@   rH   rF   r   r;   )SAVEre   KeyErrorr+   encoderinfogetwriteencodeospathsplitextbasenamejoinrV   ro   rl   im
getpaletterg   r   _save)r   rL   filename
image_typerT   ru   rr   r   nameext
im_palettecolorsrj   rz   s                 r.   r   r   H  s   %"27m
GG % % %3RW333oo1$% ^!,,FHH2J22299'BBCCC 6
 G$$RW%5%5h%?%?@@	cww_rCHH}_-s344
$$$$$++G44555HH+bg5==gFFGGGHH6&666==gFFGGG	w+
HHWbggii(72333	w+U%%eW55
ZA%q 	0 	0Az&1*vQ/?"?@@Gw#,//GG
OBeVbg%5q7Ar:JKLMMMMMs    
A=Az.im)r   rY   r   r   r   r   ra   DATE	EQUIPMENTrS   rf   NAMEr]   rR   rQ   rc   r`   rz   rg   compilerW   r/   r1   r   r   register_openr   register_saveregister_extensionr   r   r.   <module>r      s  : 
			 				 , , , , , , , , , ,
 &		# Q!q
A!	1!!
  z	
 z !   
   . M M  "!" "#& '( )* %$$%1  8 
/ + +Aa?Daa?Da	 0 0A$HHh1hh/Da$HHh1hh/Da	 + +Aa?Daa?Da	q" + +Aa?Da 	
9::  w w w w w)% w w wB 
	
	
		! ( N  N  NP  K& 4 4 4  K& . . .  +U 3 3 3 3 3r   