§
    Å‡tjU$  ã                  ó¼  — d dl mZ d dlZd dlmZ d dlmZ ddlmZm	Z	m
Z
mZ 	 ddlmZ dZn# e$ r d	ZY nw xY wd
Zd Zd&d„Zd'd„Zd(d„Z G d„ de
j
        ¦  «        Zd)d„Z	 d*d+d"„Z e	j        ej        ee¦  «         er\ e	j        ej        e¦  «          e	j        ej        e¦  «          e	j        ej        d#d$g¦  «          e	j        ej        d%¦  «         dS dS ),é    )ÚannotationsN)ÚBytesIO)ÚIOé   )ÚExifTagsÚImageÚ	ImageFileÚImageSequence)Ú_avifTFÚautoÚ
codec_nameÚstrÚreturnú
str | Nonec                ó  — t          j        ¦   «         }|                     d¦  «        D ]W}|                     d¦  «        d         | k    r6|                     d¦  «        d                              d¦  «        d         c S ŒXd S )Nz, z [r   ú:éÿÿÿÿú )r   Úcodec_versionsÚsplit)r   ÚversionsÚversions      úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/PIL/AvifImagePlugin.pyÚget_codec_versionr      s�   € ÝÔ#Ñ%Ô%€HØ—>’> $Ñ'Ô'ð 8ð 8ˆØ�=Š=˜ÑÔ˜qÔ! ZÒ/Ð/Ø—=’= Ñ%Ô% bÔ)×/Ò/°Ñ4Ô4°QÔ7Ð7Ð7Ð7ð 0àˆ4ó    ÚprefixÚbytesú
bool | strc                óZ   — | dd…         dk    rdS | dd…         }|dv rt           s	 dS dS dS )	Né   é   s   ftypFé   )s   avifs   aviss   mif1s   msf1zEimage file could not be identified because AVIF support not installedT)Ú	SUPPORTED)r   Úmajor_brands     r   Ú_acceptr%      s\   € Øˆa�ˆc„{�gÒÐØˆuØ˜˜2˜”,€KØð ð ð õ ð 	àWðð ð ˆtØˆ5r   Úintc                 ó´   — t           rt           S t          t          d¦  «        r!t          t          j        d¦  «        ¦  «        S t          j        ¦   «         pdS )NÚsched_getaffinityr   r   )ÚDEFAULT_MAX_THREADSÚhasattrÚosÚlenr(   Ú	cpu_count© r   r   Ú_get_default_max_threadsr/   8   sM   € Ýð #Ý"Ð"Ý�rÐ&Ñ'Ô'ð #Ý•2Ô'¨Ñ*Ô*Ñ+Ô+Ð+åŒ|‰~Œ~Ð" Ð"r   c                  óL   ‡ — e Zd ZdZdZdZdd„Zdd	„Zdˆ fd„Zdd„Z	dd„Z
ˆ xZS )ÚAvifImageFileÚAVIFz
AVIF imager   r   ÚNonec                ó:  — t           sd}t          |¦  «        ‚t          dk    r*t          j        t          ¦  «        sd}t          |¦  «        ‚| j        €J ‚t          j        | j                             ¦   «         t          t          ¦   «         ¦  «        | _
        | j
                             ¦   «         \  | _        | _        | _        }}}}| j        dk    | _        |r
|| j        d<   |r
|| j        d<   |dk    s|r€t#          j        ¦   «         }|r;|                     |¦  «         |                     t*          j        j        d¦  «        }nd}||k    r(||t*          j        j        <   |                     ¦   «         }|r
|| j        d<   |                      d¦  «         d S )	NzAimage file could not be opened because AVIF support not installedr   zInvalid opening codecr   Úicc_profileÚxmpÚexifr   )r#   ÚSyntaxErrorÚDECODE_CODEC_CHOICEr   Údecoder_codec_availableÚ
ValueErrorÚfpÚAvifDecoderÚreadr/   Ú_decoderÚget_infoÚ_sizeÚn_framesÚ_modeÚis_animatedÚinfor   ÚExifÚloadÚgetr   ÚBaseÚOrientationÚtobytesÚseek)ÚselfÚmsgÚiccr7   Úexif_orientationr6   Ú	exif_dataÚoriginal_orientations           r   Ú_openzAvifImageFile._openF   s�  € Ýð 	#ØUˆCÝ˜cÑ"Ô"Ð"å &Ò(Ð(µÔ1NÝñ2
ô 2
Ð(ð *ˆCÝ˜S‘/”/Ð!àŒwÐ"Ð"Ð"ÝÔ)ØŒG�LŠL‰NŒNÝÝ$Ñ&Ô&ñ
ô 
ˆŒð ŒM×"Ò"Ñ$Ô$ñ 	PˆŒ
�D”M 4¤:¨s°DÐ:JÈCð  œ=¨1Ò,ˆÔàð 	+Ø'*ˆDŒI�mÑ$Øð 	#Ø"ˆDŒI�eÑà˜qÒ Ð  DÐ Ýœ
™œˆIØð )Ø—’˜tÑ$Ô$Ð$Ø'0§}¢}µX´]Ô5NÐPQÑ'RÔ'RÐ$Ð$à'(Ð$ØÐ#7Ò7Ð7Ø7G�	�(œ-Ô3Ñ4Ø ×(Ò(Ñ*Ô*�Øð 	%Ø $ˆDŒI�fÑØ�	Š	�!‰Œˆˆˆr   Úframer&   c                ó–   — |                       |¦  «        sd S || _        t          j        dd| j        z   d| j        ¦  «        g| _        d S )NÚraw)r   r   r   )Ú_seek_checkÚ_AvifImageFile__framer	   Ú_TileÚsizeÚmodeÚtile)rM   rT   s     r   rL   zAvifImageFile.seekq   sM   € Ø×Ò Ñ&Ô&ð 	ØˆFð ˆŒÝ”_ U¨F°T´YÑ,>ÀÀ4Ä9ÑMÔMÐNˆŒ	ˆ	ˆ	r   úImage.core.PixelAccess | Nonec                ó„  •— | j         r™| j                             | j        ¦  «        \  }}}}t	          d||z  z  ¦  «        | j        d<   t	          d||z  z  ¦  «        | j        d<   | j        r | j        r| j                             ¦   «          t          |¦  «        | _        t          ¦   «                              ¦   «         S )Niè  Ú	timestampÚduration)r\   r?   Ú	get_framerX   ÚroundrE   r<   Ú_exclusive_fpÚcloser   ÚsuperrG   )rM   ÚdataÚ	timescaleÚpts_in_timescalesÚduration_in_timescalesÚ	__class__s        €r   rG   zAvifImageFile.loady   s¶   ø€ ØŒ9ð 
	$ð ”×'Ò'¨¬Ñ5Ô5ñ GˆD�)Ð.Ð0Fõ &+¨4Ð3DÀyÑ3PÑ+QÑ%RÔ%RˆDŒI�kÑ"Ý$)¨$Ð2HÈ9Ñ2TÑ*UÑ$VÔ$VˆDŒI�jÑ!àŒwð  ˜4Ô-ð  Ø”—’‘”�Ý˜d‘m”mˆDŒGå‰wŒw�|Š|‰~Œ~Ðr   Úposc                ó   — d S ©Nr.   )rM   rk   s     r   Ú	load_seekzAvifImageFile.load_seekˆ   s   € Øˆr   c                ó   — | j         S rm   )rX   )rM   s    r   ÚtellzAvifImageFile.tell‹   s
   € ØŒ|Ðr   )r   r3   )rT   r&   r   r3   )r   r]   )rk   r&   r   r3   ©r   r&   )Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionrX   rS   rL   rG   rn   rp   Ú__classcell__)rj   s   @r   r1   r1   A   s¢   ø€ € € € € Ø€FØ%ÐØ€Gð)ð )ð )ð )ðVOð Oð Oð Oðð ð ð ð ð ðð ð ð ðð ð ð ð ð ð ð r   r1   ÚimúImage.Imager<   ú	IO[bytes]Úfilenameústr | bytesr3   c                ó,   — t          | ||d¬¦  «         d S )NT)Úsave_all)Ú_save)rx   r<   r{   s      r   Ú	_save_allr€   �   s   € Ý	ˆ"ˆb�( TÐ*Ñ*Ô*Ð*Ð*Ð*r   r~   Úboolc                óž
  ‡#— | j                              ¦   «         }|r$t          |                     dg ¦  «        ¦  «        }ng }h d£Š#t	          ˆ#fd„| g|z   D ¦   «         ¦  «        }|                     dd¦  «        }t          |t          ¦  «        r|dk     s|dk    rd}t          |¦  «        ‚|                     d	d¦  «        }	|                     d
|rdnd¦  «        }
|                     dd¦  «        }|                     dt          ¦   «         ¦  «        }|                     dd¦  «        }|dk    r%t          j
        |¦  «        sd}t          |¦  «        ‚|                     dd¦  «        }|                     dd¦  «        }|                     dd¦  «        }t          |                     dd¦  «        ¦  «        }t          |                     d||cxk    odk    nc ¦  «        ¦  «        }|                     d| j                             d¦  «        ¦  «        }d}|                     d¦  «        x}rÃt          |t          j        ¦  «        r|}n(t          j        ¦   «         }|                     |¦  «         t           j        j        |v r=|                     t           j        j        ¦  «        }|r|                     ¦   «         nd}n.t          |t          j        ¦  «        r|                     ¦   «         }|                     d¦  «        }t          |t*          ¦  «        r|                     d¦  «        }|                     d ¦  «        }|�xt          |t.          ¦  «        r|                     ¦   «         }	 t3          |¦  «        }t5          d!„ |D ¦   «         ¦  «        }n# t6          $ r d"}Y nw xY w|rd#}t          |¦  «        ‚t          j        | j        |
||||||||||pd|pd||pd|¦  «        }d}d}|                      ¦   «         }| ot?          | d$d¦  «         }	 | g|z   D ]¸}tA          j!        |¦  «        D ]¡} | j"        }!|j"        d%vr-|j#        rd&}!n|j"        ‰#v rd'}!nd(}!|  $                    |!¦  «        } t          |	t          t2          f¦  «        r	|	|         }n|	}| %                    |                      d)|!¦  «        || j        |!|¦  «         |dz  }|s nŒ¢Œ¹	 |  &                    |¦  «         n# |  &                    |¦  «         w xY w| '                    ¦   «         }"|"€d*}tQ          |¦  «        ‚| )                    |"¦  «         d S )+NÚappend_images>   úI;16úI;16BúI;16LúI;16NÚ1ÚFÚIÚLc              3  óX   •K  — | ]$}t          j        |¦  «        D ]}|j        ‰v V — ŒŒ%d S rm   )r
   ÚIteratorr[   )Ú.0ÚimsrT   Úgrayscale_modess      €r   ú	<genexpr>z_save.<locals>.<genexpr>�   s`   øè è € ð ð àÝ"Ô+¨CÑ0Ô0ðð ð ð 	Œ
�oÐ%ðð ð ð ð ð ð r   ÚqualityéK   r   éd   zInvalid quality settingr`   Úsubsamplingz4:0:0z4:2:0Úspeedé   Úmax_threadsÚcodecr   zInvalid saving codecÚrangeÚfullÚ	tile_rowsÚ	tile_colsÚalpha_premultipliedFÚ
autotilingr5   r   r7   r   r6   zutf-8Úadvancedc              3  óh   K  — | ]-}t          |t          ¦  «         pt          |¦  «        d k    V — Œ.dS )é   N)Ú
isinstanceÚtupler,   )rŽ   Úvs     r   r‘   z_save.<locals>.<genexpr>Ò   s>   è è € ÐTÐTÀa�j¨­EÑ2Ô2Ð2ÐAµc¸!±f´fÀ²kÐTÐTÐTÐTÐTÐTr   Tzcadvanced codec options must be a dict of key-value string pairs or a series of key-value two-tuplesrD   >   r‹   ÚRGBÚRGBAr§   r‹   r¦   rV   z1cannot write file as AVIF (encoder returned None))*ÚencoderinfoÚcopyÚlistrH   Úallr£   r&   r;   r/   r   Úencoder_codec_availabler�   rE   r   rF   rG   r   rI   rJ   ÚpoprK   r   ÚencodeÚdictÚitemsr¤   ÚanyÚ	TypeErrorÚAvifEncoderrZ   rp   Úgetattrr
   r�   r[   Úhas_transparency_dataÚconvertÚaddrL   ÚfinishÚOSErrorÚwrite)$rx   r<   r{   r~   rE   rƒ   Ú	grayscaler’   rN   r`   r•   r–   r˜   r™   Úrange_Útile_rows_log2Útile_cols_log2rž   rŸ   r5   rP   r7   rQ   r6   r    ÚinvalidÚencÚ	frame_idxÚframe_durationÚcur_idxÚis_single_framer�   rT   Úrawmoderf   r�   s$                                      @r   r   r   “   s´  ø€ ð Œ>×ÒÑ Ô €DØð Ý˜TŸXšX o°rÑ:Ô:Ñ;Ô;ˆˆàˆàMÐMÐM€OÝð ð ð ð à�4˜-Ñ'ðñ ô ñ ô €Ið �hŠh�y "Ñ%Ô%€GÝ�g�sÑ#Ô#ð  w°¢{ {°gÀ²m°mØ'ˆÝ˜‰oŒoÐà�xŠx˜
 AÑ&Ô&€HØ—(’(˜=°YÐ*K¨'¨'ÀGÑLÔL€KØ�HŠH�W˜aÑ Ô €EØ—(’(˜=Õ*BÑ*DÔ*DÑEÔE€KØ�HŠH�W˜fÑ%Ô%€EØ�‚€�uÔ<¸UÑCÔC€Ø$ˆÝ˜‰oŒoÐØ�XŠX�g˜vÑ&Ô&€FØ—X’X˜k¨1Ñ-Ô-€NØ—X’X˜k¨1Ñ-Ô-€NÝ˜tŸxšxÐ(=¸uÑEÔEÑFÔFÐÝ�d—h’h˜|¨^¸~Ð-RÐ-RÒ-RÐ-RÐQRÒ-RÐ-RÐ-RÐ-RÑSÔSÑTÔT€Jà—(’(˜=¨"¬'¯+ª+°mÑ*DÔ*DÑEÔE€KØÐØ�xŠx˜ÑÔÐ€tð 
'Ý�d�EœJÑ'Ô'ð 	!ØˆIˆIåœ
™œˆIØ�NŠN˜4Ñ Ô Ð ÝŒ=Ô$¨	Ð1Ð1Ø(Ÿ}š}­X¬]Ô-FÑGÔGÐØ*3Ð<�9×$Ò$Ñ&Ô&Ð&¸ˆDˆDÝ˜�eœjÑ)Ô)ð 	'Ø×$Ò$Ñ&Ô&ˆDà
�(Š(�5‰/Œ/€Cå�#•sÑÔð "Ø�jŠj˜Ñ!Ô!ˆà�xŠx˜
Ñ#Ô#€HØÐÝ�h¥Ñ%Ô%ð 	(Ø—~’~Ñ'Ô'ˆHð	UÝ˜X‘”ˆHõ ÐTÐTÈ8ÐTÑTÔTÑTÔTˆGˆGøõ ð 	ð 	ð 	ØˆGˆGˆGð	øøøð ð 	"ð<ð õ ˜S‘/”/Ð!õ Ô
Ø
ŒØØØØØØØØØØØÐ�sØˆ�ØØˆ
ˆsØñ!ô €Cð( €IØ€NØ�gŠg‰iŒi€GØ'Ð'ÐQµ¸¸MÈ5Ñ0QÔ0QÐ,Q€Oð$Ø�4˜-Ñ'ð  	ð  	ˆCÝ&Ô/°Ñ4Ô4ð ð �àœ*�Ø”8Ð#7Ð7Ð7ØÔ0ð (Ø"(˜˜Øœ _Ð4Ð4Ø"%˜˜à"'˜Ø!ŸMšM¨'Ñ2Ô2�Eõ ˜h­­u¨Ñ6Ô6ð .Ø%-¨iÔ%8�N�Nà%-�Nð —’Ø—M’M %¨Ñ1Ô1Ø"Ø”JØØ#ñô ð ð ˜Q‘�	àð Ø�Eðøð? 	ðF 	�Š�ÑÔÐÐøˆ�Š�ÑÔÐÐøøøð �:Š:‰<Œ<€DØ€|ØAˆÝ�c‰lŒlÐà‡H‚HˆT�N„N€N€N€Ns   Í7N  Î N/Î.N/Ð!B?S7 Ó7Tz.avifz.avifsz
image/avif)r   r   r   r   )r   r   r   r   rq   )rx   ry   r<   rz   r{   r|   r   r3   )F)
rx   ry   r<   rz   r{   r|   r~   r�   r   r3   )Ú
__future__r   r+   Úior   Útypingr   Ú r   r   r	   r
   r   r#   ÚImportErrorr9   r)   r   r%   r/   r1   r€   r   Úregister_openru   Úregister_saveÚregister_save_allÚregister_extensionsÚregister_mimer.   r   r   ú<module>rÐ      sý  ðØ "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7ðØÐÐÐÐÐà€I€IøØð ð ð Ø€I€I€Iðøøøð
 Ð ØÐ ðð ð ð ðð ð ð ð4#ð #ð #ð #ðKð Kð Kð Kð K�IÔ'ñ Kô Kð Kð\+ð +ð +ð +ð
 MRðLð Lð Lð Lð Lð^ €Ô �MÔ(¨-¸Ñ AÔ AÐ AØð <Ø€EÔ˜Ô,¨eÑ4Ô4Ð4Ø€EÔ˜MÔ0°)Ñ<Ô<Ð<Ø€EÔ˜mÔ2°W¸hÐ4GÑHÔHÐHØ€EÔ˜Ô,¨lÑ;Ô;Ð;Ð;Ð;ð	<ð <s   ¤- ­7¶7