
    h                    `   % 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r\(       a  S SKrS SKrSS	K	Jr  S
\S'   \\R$                  R&                  \R$                  R&                  4   r\\R$                  R(                  \R$                  R(                  4   r\\R*                  R,                  \R*                  R,                  4   r\\R*                  R.                  \R*                  R.                  4   rS\S'   SS/SS//r\R3                  S SS9  \ HA  u  rr S\S'   \S:X  a  S SKJrJr  S SKJrJrJr  O\S:X  a  S SK JrJr  S SK!JrJrJr  Sr$\r%  O   Sr$Sr%S"S#S jjr&S$S jr'S%S jr(S&S jr)S'S jr*\$(       a   " S S\5      r+S(S  jr,S)S! jr-g! \"\#4 a     M  f = f)*    )annotationsN)BytesIO)AnyCallableUnion   )Image)is_pathF)	ImageFiletypeQBufferz
str | None
qt_version6PyQt6side6PySide6c                .    U S   [         R                  ;   $ )Nr   )sysmodules)versions    =/var/www/html/env/lib/python3.13/site-packages/PIL/ImageQt.py<lambda>r   /   s    WQZ3;;%>    T)keyreversez#Callable[[int, int, int, int], int]qRgba)r   	QIODevice)QImageQPixmapr   c                     [        XX#5      S-  $ )zA(Internal) Turns an RGB color into a Qt compatible color integer.l    )r   )rgbas       r   rgbr%   C   s     qz))r   c                   [        5       n[        S:X  a   [        [        S5      nO[        nUR                  [        US5      5        U R                  5       (       a  U R                  US5        OU R                  US5        [        5       nUR                  UR                  5       5        UR                  5         UR                  S5        [        R
                  " U5      $ ! [         a    [        [        S5      n Nf = f)z)
:param im: QImage or PIL ImageQt object
r   OpenModeFlagOpenMode	ReadWritepngppmr   )r   r   getattrr   AttributeErroropenhasAlphaChannelsaver   writedatacloseseekr	   )imbufferqt_openmoder#   s       r   
fromqimager8   J   s     YFS	9!)^<K  
KK[12 


	AGGFKKM
LLNFF1I::a=#  	9!)Z8K	9s   C" "C?>C?c                    [        U 5      $ N)r8   r5   s    r   fromqpixmapr<   g   s    b>r   c                   SSSSS.U   nX1-  n[        US5      u  pVXV(       a  SOS-   nU* S-  nU(       d  U $ [        [        U 5      U-  5       V	s/ s H  n	X	U-  U	S-   U-   SU-  -   PM     n
n	SR                  U
5      $ s  sn	f )	z=
converts each scanline of data from 8 bit to 32 bit aligned
r         )1LPI;16r          r   )divmodrangelenjoin)byteswidthmodebits_per_pixelbits_per_linefull_bytes_per_lineremaining_bits_per_linebytes_per_lineextra_paddinginew_datas              r   
align8to32rU   k   s    
 11b9$?N #*M39-3K0(1HAaPN#Oa'M  s5z^344A 	. AE^#;<w?VV4  
 88Hs   Bc           	     4   S nS nSn[        U S5      (       a  [        U R                  5       S5      n [        U 5      (       a  [        R
                  " U 5      n Sn[        U [        R                  5      (       d   e[        S:X  a  [        [        S5      O[        nU R                  S:X  a  [        US5      nGO~U R                  S	:X  a3  [        US
5      n[        S5       Vs/ s H  n[        XfU5      PM     nnGO;U R                  S:X  aS  [        US
5      nU R                  5       nUc   e[        S[        U5      S5       Vs/ s H  n[        XvUS-    6 PM     nnOU R                  S:X  a0  U R                  S5      n U R!                  SS5      n[        US5      nOU R                  S:X  a  U R!                  SS5      n[        US5      nOiU R                  S:X  a  U R#                  S 5      n [        US5      nO:U(       a  U R%                  5         S['        U R                  5       3n[)        U5      eU R*                  n	U=(       d(    [-        U R!                  5       U	S   U R                  5      n
U(       a  U R%                  5         XXRS.$ s  snf s  snf )NFtoUtf8zutf-8Tr   Formatr@   Format_MonorA   Format_Indexed8   rB   r      RGBRGBArawBGRAFormat_RGB32Format_ARGB32rC   c                    U S-  $ )Nr[    )rS   s    r   r   "_toqclass_helper.<locals>.<lambda>   s    Cr   Format_Grayscale16zunsupported image mode )r2   sizeformat
colortable)hasattrstrrW   r
   r	   r.   
isinstancer   r,   r   rL   rG   r%   
getpaletterH   converttobytespointr3   repr
ValueErrorrg   rU   )r5   r2   ri   exclusive_fp	qt_formatrh   rS   palettemsgrg   __datas              r   _toqclass_helperrx      s&   DJL r8g&r{{ZZ^b%++&&&&-73->)FI	ww#~M2	C$56,1#J7Jqc!lJ
7
	C$56--/"""8=aWq8QR8Q1c7q1u-.8Q
R
	E	ZZzz%(N3	F	zz%(O4	F	XX'($89HHJ'RWW7o77D?Z

d1grww?F

FUU; 8
 Ss   "JJc                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )ImageQt   c                   > [        U5      nUS   U l        [        TU ]  U R                  US   S   US   S   US   5        US   (       a  U R	                  US   5        gg)z
An PIL image wrapper for Qt.  This is a subclass of PyQt's QImage
class.

:param im: A PIL Image object, or a file name (given either as
    Python string or a PyQt string object).
r2   rg   r   r   rh   ri   N)rx   _ImageQt__datasuper__init__setColorTable)selfr5   im_data	__class__s      r   r   ImageQt.__init__   sr     'r*G
 "&/DKG""!	 |$""7<#89 %r   )rw   )r5   Image.Image | str | QByteArrayreturnNone)__name__
__module____qualname____firstlineno__r   __static_attributes____classcell__)r   s   @r   rz   rz      s    	: 	:r   rz   c                    [        U 5      $ r:   )rz   r;   s    r   toqimager      s    2;r   c                |    [        U 5      n[        [        S5      " U5      n[        S:X  a  UR	                  5         U$ )N	fromImager   )r   r,   r   r   detach)r5   qimagepixmaps      r   	toqpixmapr      s2    b\FWk*62FSMr   )   )
r!   intr"   r   r#   r   r$   r   r   r   )r5   zQImage | QPixmapr   ImageFile.ImageFile)r5   r   r   r   )rJ   rJ   rK   r   rL   rk   r   rJ   )r5   r   r   zdict[str, Any])r5   r   r   rz   )r5   r   r   r   ).
__future__r   r   ior   typingr   r   r    r	   _utilr
   TYPE_CHECKINGr   r   r   __annotations__QtCore
QByteArrayr   QtGuir   r   qt_versionssortr   	qt_modulePyQt6.QtCorer   PyQt6.QtGuir   PySide6.QtCorePySide6.QtGuiImportErrorRuntimeErrorqt_is_installedr   r%   r8   r<   rU   rx   rz   r   r   rd   r   r   <module>r      s  $ # 
  ' '  Mu||..0I0IIJJell,,gnn.F.FFGI5;;%%w}}';';;<FEKK'')>)>>?G 'Ni   >  M%GY	227::)#9<< OJ	 & OJ*:40Vf :& :2} & s   'F!F!!F-,F-