ó
    Eñi~&  ã                  ó  • S SK Jr  S SKJr  SSKJrJr   SSKJr  SrSr
\
(       a  S SKJrJr  S	S
S
S.rSS jr " S S\R                  5      rSS jrSS jrSS jr\R(                  " \R*                  \\5        \(       au  \R,                  " \R*                  \5        \R.                  " \R*                  \5        \R0                  " \R*                  S5        \R2                  " \R*                  S5        gg! \	 a    Sr Nåf = f)é    )Úannotations)ÚBytesIOé   )ÚImageÚ	ImageFile)Ú_webpTF)ÚIOÚAnyÚRGBÚRGBA)s   VP8 s   VP8Xs   VP8Lc                ó”   • U R                  S5      nU SS S:H  nU SS [        ;   nU(       a  U(       a  U(       a  [        (       d   ggg)	Ns   RIFFé   é   s   WEBPé   zEimage file could not be identified because WEBP support not installedTF)Ú
startswithÚ_VP8_MODES_BY_IDENTIFIERÚ	SUPPORTED)ÚprefixÚis_riff_file_formatÚis_webp_fileÚis_valid_vp8_modes       ÚP/home/mande/repo/quber/.venv/lib/python3.13/site-packages/PIL/WebPImagePlugin.pyÚ_acceptr      sR   € Ø ×+Ñ+¨GÓ4ÐØ˜!˜B�< 7Ñ*€LØ˜r "˜Ô)AÑAÐæž|Ö0AßŠyàWðð Øó    c                  ó�   ^ • \ rS rSrSrSrSrSrSS jrSS jr	SS jr
SSS jjrSS	 jrSS
 jrSU 4S jjrSS jrSS jrSrU =r$ )ÚWebPImageFileé'   ÚWEBPz
WebP imager   c                óx  • U R                   c   e[        R                  " U R                   R                  5       5      U l        U R                  R                  5       u  U l        U R                  S'   ol        U l	        US-	  S-  US-	  S-  US-  US-	  S-  4U R                  S'   U R                  S:„  U l
        U R                  S:X  a  S	OU R                  U l        S
SSS.R                  5        H7  u  p#U R                  R                  U5      =n(       d  M)  X@R                  U'   M9     U R                  SS9  g )NÚloopr   éÿ   r   é   Ú
backgroundr   ÚRGBXr   ÚICCPÚEXIFzXMP )Úicc_profileÚexifÚxmpF)Úreset)Úfpr   ÚWebPAnimDecoderÚreadÚ_decoderÚget_infoÚ_sizeÚinfoÚn_framesÚrawmodeÚis_animatedÚ_modeÚitemsÚ	get_chunkÚ_reset)ÚselfÚbgcolorÚkeyÚ
chunk_nameÚvalues        r   Ú_openÚWebPImageFile._open-   s%  € ð �w‰wÑ"Ð"Ð"Ü×-Ò-¨d¯g©g¯l©l«nÓ=ˆŒð �M‰M×"Ñ"Ó$ñ 	LˆŒ
�D—I‘I˜fÑ% w´¸t¼|ð ˜‰]˜dÑ"Ø˜‰\˜TÑ!Ø�d‰NØ˜‰]˜dÑ"ð	#
ˆ�	‰	�,Ñð  Ÿ=™=¨1Ñ,ˆÔØ"Ÿl™l¨fÓ4‘U¸$¿,¹,ˆŒ
ð "ØØñ 
÷ ‰%‹'ò	 ‰OˆCð
 Ÿ™×/Ñ/°
Ó;Ð;ˆu×;Ø!&—	‘	˜#“ñ ð 	�‰˜%ˆÒ r   c                ó`   • SU R                   ;  a  g U R                  5       R                  5       $ )Nr(   )r1   ÚgetexifÚ_get_merged_dict©r9   s    r   Ú_getexifÚWebPImageFile._getexifL   s&   € Ø˜Ÿ™Ó"ØØ�|‰|‹~×.Ñ.Ó0Ð0r   c                ó>   • U R                  U5      (       d  g Xl        g ©N)Ú_seek_checkÚ_WebPImageFile__logical_frame©r9   Úframes     r   ÚseekÚWebPImageFile.seekQ   s   € Ø×Ñ ×&Ñ&Øð  %Õr   c                óp   • U(       a  U R                   R                  5         SU l        SU l        SU l        g )Nr   éÿÿÿÿ)r.   r*   Ú_WebPImageFile__physical_frameÚ_WebPImageFile__loadedÚ_WebPImageFile__timestamp)r9   r*   s     r   r8   ÚWebPImageFile._resetX   s,   € ÞØ�M‰M×ÑÔ!Ø !ˆÔØˆŒØˆÕr   c                ó  • U R                   R                  5       nU =R                  S-  sl        Uc.  U R                  5         U R	                  S5        Sn[        U5      eUu  p4X@R                  -
  nX@l        XE-  nX4U4$ )Nr   r   z(failed to decode next frame in WebP file)r.   Úget_nextrP   r8   rL   ÚEOFErrorrR   )r9   ÚretÚmsgÚdataÚ	timestampÚdurations         r   Ú	_get_nextÚWebPImageFile._get_next_   s�   € à�m‰m×$Ñ$Ó&ˆØ×Ò Ñ"Õð ‰;Ø�K‰KŒMØ�I‰I�aŒLØ<ˆCÜ˜3“-Ðð ‰ˆØ×/Ñ/Ñ/ˆØ$Ôð 	Ñˆ	Ø Ð(Ð(r   c                óÊ   • U R                   U:X  a  g XR                   :  a  U R                  5         U R                   U:  a#  U R                  5         U R                   U:  a  M"  g g rG   )rP   r8   r\   rJ   s     r   Ú_seekÚWebPImageFile._seekt   sP   € Ø× Ñ  EÓ)ØØ×(Ñ(Ó(Ø�K‰KŒMØ×#Ñ# eÓ+Ø�N‰NÔð ×#Ñ# e×+r   c                ó
  >• U R                   U R                  :w  aÛ  U R                  U R                  5        U R                  5       u  oR                  S'   U R                  S'   U R                  U l         U R
                  (       a+  U R                  (       a  U R
                  R                  5         [        U5      U l        [        R                  " SSU R                  -   SU R                  5      /U l        [        TU ]=  5       $ )NrZ   r[   Úraw)r   r   r   )rQ   rI   r_   r\   r1   r+   Ú_exclusive_fpÚcloser   r   Ú_TileÚsizer3   ÚtileÚsuperÚload)r9   rY   Ú	__class__s     €r   ri   ÚWebPImageFile.load|   s¶   ø€ Ø�=‰=˜D×0Ñ0Ó0Ø�J‰J�t×+Ñ+Ô,ð CGÇ.Á.ÓBRÑ?ˆD—)‘)˜KÑ(¨$¯)©)°JÑ*?Ø ×0Ñ0ˆDŒMð �w�w˜4×-×-Ø—‘—‘”Ü˜d“mˆDŒGÜ"Ÿš¨°¸¿¹Ñ0BÀAÀtÇ|Á|ÓTÐUˆDŒIä‰w‰|‹~Ðr   c                ó   • g rG   © )r9   Úposs     r   Ú	load_seekÚWebPImageFile.load_seekŒ   s   € Ør   c                ó   • U R                   $ rG   )rI   rC   s    r   ÚtellÚWebPImageFile.tell�   s   € Ø×#Ñ#Ð#r   )Ú__loadedÚ__logical_frameÚ__physical_frameÚ__timestampr.   r5   r0   r+   r4   r2   r3   rg   )ÚreturnÚNone)rx   zdict[int, Any] | None)rK   Úintrx   ry   )T)r*   Úboolrx   ry   )rx   ztuple[bytes, int, int])rx   zImage.core.PixelAccess | None)rn   rz   rx   ry   )rx   rz   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚformatÚformat_descriptionrQ   rI   r>   rD   rL   r8   r\   r_   ri   ro   rr   Ú__static_attributes__Ú__classcell__)rj   s   @r   r   r   '   sJ   ø† Ø€FØ%ÐØ€HØ€Oô!ô>1ô
%öô)ô*÷ô ÷$ò $r   r   c                ón   • U R                   S;  a$  U R                  U R                  (       a  SOS5      n U $ )N)r$   r   r   r   r   )ÚmodeÚconvertÚhas_transparency_data)Úims    r   Ú_convert_framer‰   “   s,   € à	‡w�wÐ-Ó-Ø�Z‰Z "×":×":™ÀÓFˆØ€Ir   c           
     ó	  • U R                   R                  5       n[        UR                  S/ 5      5      nSnU /U-    H  nU[	        USS5      -  nM     US:X  a  [        XU5        g SnSU;   a  US   nOfSU R                  ;   aV  U R                  S   n[        U[        5      (       a2  U R                  5       nU(       a  X‡S-  US-   S-   u  pšnXšUS4nOXwUS4nU R                   R                  S	U R                  R                  S	S5      5      nU R                   R                  S
S5      nU R                   R                  SS5      nU R                   R                  SS 5      nU R                   R                  SS 5      nU R                   R                  SS5      nSnU R                   R                  SS5      nU R                   R                  SS5      nU R                   R                  SS5      nU R                   R                  SS5      nU R                   R                  S5      =(       d    SnU R                   R                  SS5      n[        U[        R                  5      (       a  UR                  5       nU R                   R                  SS5      nU(       a  SnUc  U(       a  SOSnUc  U(       a  SOSn[        U[        [        45      (       a&  [        U5      S:w  d  [        S U 5       5      (       d  SU 3n[!        U5      eUu  nnnnUS -  US!-  -  US"-  -  US-  -  n["        R$                  " U R&                  UUUUUUU5      nSn Sn!U R)                  5       n" U /U-    H™  n[	        USS5      n#[+        U#5       Hz  n$UR-                  U$5        [/        U5      n%UR1                  U%R3                  5       [5        U!5      UUUU5        [        U[        [        45      (       a	  U!UU    -  n!OU!U-  n!U S-  n M|     M›     U R-                  U"5        UR1                  S [5        U!5      UUUS5        UR7                  UUU5      n&U&c  S#n[!        U5      eUR9                  U&5        g ! U R-                  U"5        f = f)$NÚappend_imagesr   r2   r   )r   r   r   r   r#   é   r!   r[   r    Úminimize_sizeFÚkminÚkmaxÚallow_mixedÚlosslessÚqualityéP   Úalpha_qualityéd   Úmethodr'   Ú r(   r)   é	   é   é   é   c              3  óL   #   • U  H  nS Us=:*  =(       a    S:  Os  v •  M     g7f)r   é   Nrm   )Ú.0Úvs     r   Ú	<genexpr>Ú_save_all.<locals>.<genexpr>Ó   s   é € Ð4ª A�1˜—<“<˜C—<‘<ªùs   ‚"$z:Background color is not an RGBA tuple clamped to (0-255): r"   r   r   ú1cannot write file as WebP (encoder returned None))ÚencoderinfoÚcopyÚlistÚgetÚgetattrÚ_saver1   Ú
isinstancerz   Ú
getpaletter   ÚExifÚtobytesÚtupleÚlenÚallÚOSErrorr   ÚWebPAnimEncoderrf   rr   ÚrangerL   r‰   ÚaddÚgetimÚroundÚassembleÚwrite)'rˆ   r+   Úfilenamer£   r‹   ÚtotalÚimsr#   ÚpaletteÚrÚgÚbr[   r    r�   rŽ   r�   r�   Úverboser‘   r’   r”   r–   r'   r(   r)   rX   Úbg_rÚbg_gÚbg_bÚbg_aÚencÚ	frame_idxrZ   Úcur_idxÚnfrÚidxrK   rY   s'                                          r   Ú	_save_allrÉ   š   s3  € Ø—.‘.×%Ñ%Ó'€KÜ˜Ÿ™¨¸"Ó=Ó>€Mð €EØˆt�mÔ#ˆØ”˜˜j¨!Ó,Ñ,Šñ $à�ƒzÜˆb�hÔØà(4€JØ�{Ó"Ø  Ñ.‰
Ø	˜Ÿ™Ó	 Ø—W‘W˜\Ñ*ˆ
Ü�j¤#×&Ñ&ð —m‘m“oˆGÞØ!¨q¡.°JÀ±NÀaÑ3GÐH‘��aØ A s˜^‘
à(°jÀ#ÐF�
à�~‰~×!Ñ! *¨b¯g©g¯k©k¸*ÀaÓ.HÓI€HØ�>‰>×Ñ˜f aÓ(€DØ—N‘N×&Ñ& ¸Ó>€MØ�>‰>×Ñ˜f dÓ+€DØ�>‰>×Ñ˜f dÓ+€DØ—.‘.×$Ñ$ ]°EÓ:€KØ€GØ�~‰~×!Ñ! *¨eÓ4€HØ�n‰n× Ñ  ¨BÓ/€GØ—N‘N×&Ñ& ¸Ó<€MØ�^‰^×Ñ ¨!Ó,€FØ—.‘.×$Ñ$ ]Ó3×9°r€KØ�>‰>×Ñ˜f bÓ)€DÜ�$œŸ
™
×#Ñ#Ø�|‰|‹~ˆØ
�.‰.×
Ñ
˜U BÓ
'€CÞØˆð �|Þ‰q !ˆØ�|Þ‰r 1ˆô �z¤D¬% =×1Ñ1Üˆz‹?˜aÓÜÑ4©Ó4×4Ñ4àJÈ:È,ÐWˆÜ�c‹lÐð (Ñ€Dˆ$��dØ˜"‘* ¨¡Ñ,°¸±	Ñ:¸dÀa¹iÑH€Jô ×
Ò
Ø
�‰ØØØØØØØó	€Cð €IØ€IØ�g‰g‹i€GðØ�4˜-Ô'ˆCä˜#˜z¨1Ó-ˆCä˜S–z�Ø—‘˜”ä& sÓ+�ð —‘Ø—K‘K“MÜ˜)Ó$ØØØ!Øôô ˜h¬¬u¨×6Ñ6Ø ¨)Ñ!4Ñ4‘Ià Ñ)�IØ˜Q‘’	ó) "ñ	 (ð6 	�‰�Ôð ‡G�GˆD”%˜	Ó" H¨g°}ÀaÔHð �<‰<˜ T¨3Ó/€DØ�|ØAˆÜ�c‹lÐà‡H�HˆT…Nøð 	�‰�Õús   Í+B#Q3 Ñ3Rc                óL  • U R                   R                  SS5      nU R                   R                  SS5      nU R                   R                  SS5      nU R                   R                  S5      =(       d    SnU R                   R                  S	S
5      n[        U[        R                  5      (       a  UR                  5       nUR                  S5      (       a  USS  nU R                   R                  SS5      nU R                   R                  SS5      n	U R                   R                  S5      (       a  SOSn
[        U 5      n [        R                  " U R                  5       U[        U5      [        U5      UU	U
UU5	      nUc  Sn[        U5      eUR                  U5        g )Nr‘   Fr’   r“   r”   r•   r'   r—   r(   r   s   Exif  é   r)   r–   r›   Úexactr   r   r¢   )r£   r¦   r©   r   r«   r¬   r   r‰   r   Ú
WebPEncoder´   Úfloatr°   r·   )rˆ   r+   r¸   r‘   r’   r”   r'   r(   r)   r–   rÌ   rY   rX   s                r   r¨   r¨     sU  € Ø�~‰~×!Ñ! *¨eÓ4€HØ�n‰n× Ñ  ¨BÓ/€GØ—N‘N×&Ñ& ¸Ó<€MØ—.‘.×$Ñ$ ]Ó3×9°r€KØ�>‰>×Ñ˜f cÓ*€DÜ�$œŸ
™
×#Ñ#Ø�|‰|‹~ˆØ‡��×'Ñ'Ø�A�BˆxˆØ
�.‰.×
Ñ
˜U BÓ
'€CØ�^‰^×Ñ ¨!Ó,€FØ—‘×#Ñ# G×,Ñ,‰A°!€Eä	˜Ó	€Bä×ÒØ
�‰‹
ØÜˆg‹ÜˆmÓØØØØØó
€Dð �|ØAˆÜ�c‹lÐà‡H�HˆT…Nr   z.webpz
image/webpN)r   Úbytesrx   z
bool | str)rˆ   úImage.Imagerx   rÐ   )rˆ   rÐ   r+   z	IO[bytes]r¸   zstr | bytesrx   ry   )Ú
__future__r   Úior   r—   r   r   r   r   ÚImportErrorÚTYPE_CHECKINGÚtypingr	   r
   r   r   r   r‰   rÉ   r¨   Úregister_openr€   Úregister_saveÚregister_save_allÚregister_extensionÚregister_mimerm   r   r   Ú<module>rÛ      sø   ðÝ "å ç ðÝà€Ið €Þßð ØØñÐ ôôi$�I×'Ñ'ô i$ôXôyôxðD × Ò �M×(Ñ(¨-¸Ô AÞØ	×Ò˜×,Ñ,¨eÔ4Ø	×Ò˜M×0Ñ0°)Ô<Ø	×Ò˜]×1Ñ1°7Ô;Ø	×Ò˜×,Ñ,¨lÕ;ð	 øð]	 ó Ø‚Iðús   –C9 Ã9DÄD