ó
    "%vgþ+  ã                  ó&  • % S SK Jr  S SKrS SKrS SKrS SKrS SKJr  S SKrSSK	J
r
  SSKJr  SSS	S
SS.rS*S jrS+S jrS,S jrSSSSS.rS*S jrS+S jrS,S jrSSSSSSSSSSS .
rS!\S"'   S-S# jrS+S$ jrS,S% jrS-S& jrS+S' jrS,S( jrS.S/S) jjrg)0é    )ÚannotationsN)ÚIOé   )ÚImage)Ú	deprecate)úPIL._imagingÚPILLOW_VERSION)zPIL._tkinter_finderÚ
tk_version)úPIL._imagingftÚfreetype2_version)zPIL._imagingcmsÚlittlecms_version)ú	PIL._webpÚwebpdecoder_version)ÚpilÚtkinterÚ	freetype2Ú
littlecms2Úwebpc                óè   • U [         ;  a  SU  3n[        U5      e[         U    u  p# [        U5        g! [         a     g[         a)  n[
        R                  " [        U5      5         SnAgSnAff = f)zÎ
Checks if a module is available.

:param feature: The module to check for.
:returns: ``True`` if available, ``False`` otherwise.
:raises ValueError: If the module is not defined in this version of Pillow.
zUnknown module TFN)ÚmodulesÚ
ValueErrorÚ
__import__ÚModuleNotFoundErrorÚImportErrorÚwarningsÚwarnÚstr)ÚfeatureÚmsgÚmoduleÚverÚexs        Ú./usr/lib/python3/dist-packages/PIL/features.pyÚcheck_moduler$      sl   € ð ”gÓØ ˜yÐ)ˆÜ˜‹oÐä˜'Ñ"�K€FðÜ�6ÔØøÜó ÙÜó Ü�Š”c˜"“gÔÜûðús   §3 ³
A1¿	A1ÁA,Á,A1c                ób   • [        U 5      (       d  g[        U    u  p[        [        X/S9U5      $ )zÔ
:param feature: The module to check for.
:returns:
    The loaded version number as a string, or ``None`` if unknown or not available.
:raises ValueError: If the module is not defined in this version of Pillow.
N©Úfromlist)r$   r   Úgetattrr   )r   r    r!   s      r#   Úversion_moduler)   /   s2   € ô ˜× Ñ Øä˜'Ñ"�K€Fä”:˜f¨uÑ5°sÓ;Ð;ó    c                 ó^   • [          V s/ s H  n [        U 5      (       d  M  U PM     sn $ s  sn f )z,
:returns: A list of all supported modules.
)r   r$   ©Úfs    r#   Úget_supported_modulesr.   >   s"   € õ Ó2’w�!¤,¨q§/�A‘wÑ2Ð2ùÒ2ó   ‰*¡*)ÚjpegÚjpeglib)Újpeg2kÚjp2klib)ÚzipÚzlib)Úlibtiffr6   )ÚjpgÚjpg_2000r5   r6   c                óŠ   • U [         ;  a  SU  3n[        U5      e[         U    u  p#U S3[        [        R                  5      ;   $ )zË
Checks if a codec is available.

:param feature: The codec to check for.
:returns: ``True`` if available, ``False`` otherwise.
:raises ValueError: If the codec is not defined in this version of Pillow.
zUnknown codec Ú_encoder)Úcodecsr   Údirr   Úcore)r   r   ÚcodecÚlibs       r#   Úcheck_codecr@   M   sG   € ð ”fÓØ˜w˜iÐ(ˆÜ˜‹oÐä˜‘�J€EàˆW�HÐ¤¤U§Z¡Z£Ñ0Ð0r*   c                óÐ   • [        U 5      (       d  g[        U    u  p[        [        R                  U S35      nU S:X  a&  UR                  S5      S   R                  S5      S   $ U$ )zý
:param feature: The codec to check for.
:returns:
    The version number as a string, or ``None`` if not available.
    Checked at compile time for ``jpg``, run-time otherwise.
:raises ValueError: If the codec is not defined in this version of Pillow.
NÚ_versionr6   Ú
r   zVersion r   )r@   r;   r(   r   r=   Úsplit)r   r>   r?   Úversions       r#   Úversion_codecrF   ^   se   € ô �w×ÑØä˜‘�J€Eä”e—j‘j S E¨Ð"2Ó3€Gà�)ÓØ�}‰}˜TÓ" 1Ñ%×+Ñ+¨JÓ7¸Ñ:Ð:à€Nr*   c                 ó^   • [          V s/ s H  n [        U 5      (       d  M  U PM     sn $ s  sn f )z+
:returns: A list of all supported codecs.
)r;   r@   r,   s    r#   Úget_supported_codecsrH   s   s"   € õ Ó0’v�!¤¨Q§�A‘vÑ0Ð0ùÒ0r/   )r   TN)r   Ú	HAVE_RAQMÚraqm_version)r   ÚHAVE_FRIBIDIÚfribidi_version)r   ÚHAVE_HARFBUZZÚharfbuzz_version)r   ÚHAVE_LIBJPEGTURBOÚlibjpeg_turbo_version)r   ÚHAVE_ZLIBNGÚzlib_ng_version)r   ÚHAVE_LIBIMAGEQUANTÚimagequant_version)r   ÚHAVE_XCBN)
Ú	webp_animÚwebp_muxÚtransp_webpÚraqmÚfribidiÚharfbuzzÚlibjpeg_turboÚzlib_ngÚlibimagequantÚxcbz-dict[str, tuple[str, str | bool, str | None]]Úfeaturesc                óv  • U [         ;  a  SU  3n[        U5      e[         U    u  p#n[        U[        5      (       a  [	        SU  S3S5         [        US/S9n[        U[        5      (       a  U$ [        XS5      $ ! [         a     g[         a)  n[        R                  " [        U5      5         SnAgSnAff = f)zë
Checks if a feature is available.

:param feature: The feature to check for.
:returns: ``True`` if available, ``False`` if unavailable, ``None`` if unknown.
:raises ValueError: If the feature is not defined in this version of Pillow.
zUnknown feature zcheck_feature("z")é   ÚPILr&   N)r`   r   Ú
isinstanceÚboolr   r   r(   r   r   r   r   r   )r   r   r    Úflagr!   Úimported_moduler"   s          r#   Úcheck_featurerh   ˆ   s¯   € ð ”hÓØ   	Ð*ˆÜ˜‹oÐä  Ñ)Ñ€F�#ä�$œ×ÑÜ�O G 9¨BÐ/°Ô4ð	Ü$ V°u°gÑ>ˆÜ�dœD×!Ñ!ØˆKÜ�Ó-Ð-øÜó ÙÜó Ü�Š”c˜"“gÔÜûðús$   Á!A: Á/
A: Á:
B8Â	B8ÂB3Â3B8c                ól   • [        U 5      (       d  g[        U    u  pnUc  g[        [        X/S9U5      $ )zÀ
:param feature: The feature to check for.
:returns: The version number as a string, or ``None`` if not available.
:raises ValueError: If the feature is not defined in this version of Pillow.
Nr&   )rh   r`   r(   r   )r   r    rf   r!   s       r#   Úversion_featurerj   ¤   s=   € ô ˜×!Ñ!Øä  Ñ)Ñ€F�#à
�{Øä”:˜f¨uÑ5°sÓ;Ð;r*   c                 ó2  • / n [         R                  5        H|  u  nu  p#nUSL aK  [        R                  5        H1  u  nu  pdXb:X  d  M  [        U5      (       a  U R	                  U5          MU     MY  [        U5      (       d  Mk  U R	                  U5        M~     U $ )z-
:returns: A list of all supported features.
T)r`   Úitemsr   r$   Úappendrh   )Úsupported_featuresr-   r    rf   Ú_r   Úfeature_modules          r#   Úget_supported_featuresrq   µ   sŠ   € ð ÐÜ (§¡Ö 0ÑˆÑˆF˜!Ø�4Š<Ü07·±¶Ñ,�Ñ,˜.Ø!Õ+Ü# G×,Ñ,Ø*×1Ñ1°!Ô4Úó	 1@ô
 ˜1×ÓØ×%Ñ% aÖ(ñ !1ð Ðr*   c                ó´   • U [         ;   a  [        U 5      $ U [        ;   a  [        U 5      $ U [        ;   a  [        U 5      $ [        R                  " SU  S3SS9  g)zž
:param feature: A module, codec, or feature name.
:returns:
    ``True`` if the module, codec, or feature is available,
    ``False`` or ``None`` otherwise.
zUnknown feature 'z'.é   )Ú
stacklevelF)r   r$   r;   r@   r`   rh   r   r   ©r   s    r#   Úcheckrv   Æ   sX   € ð ”'ÓÜ˜GÓ$Ð$Ø”&ÓÜ˜7Ó#Ð#Ø”(ÓÜ˜WÓ%Ð%Ü‡M‚MÐ% g Y¨bÐ1¸aÒ@Ør*   c                ó‚   • U [         ;   a  [        U 5      $ U [        ;   a  [        U 5      $ U [        ;   a  [        U 5      $ g)z˜
:param feature:
    The module, codec, or feature to check for.
:returns:
    The version number as a string, or ``None`` if unknown or not available.
N)r   r)   r;   rF   r`   rj   ru   s    r#   rE   rE   Ø   s@   € ð ”'ÓÜ˜gÓ&Ð&Ø”&ÓÜ˜WÓ%Ð%Ø”(ÓÜ˜wÓ'Ð'Ør*   c                 ó~   • [        5       n U R                  [        5       5        U R                  [        5       5        U $ )zB
:returns: A list of all supported modules, features, and codecs.
)r.   Úextendrq   rH   )Úrets    r#   Úget_supportedr{   è   s1   € ô
  Ó
!€CØ‡J�JÔ%Ó'Ô(Ø‡J�JÔ#Ó%Ô&Ø€Jr*   c                ó<	  • U c  [         R                  n [        R                  " 5         [	        SU S9  [	        S[
        R                   3U S9  [         R                  R                  5       n[	        SUS   R                  5        3U S9  USS  H  n[	        SUR                  5        3U S9  M      [	        SU S9  [	        S	[         R                  =(       d    S
 3U S9  [         R                  [         R                  :w  a  [	        S[         R                   3U S9  [	        S[         R                   3U S9  [	        SU S9  [	        S[        R                  R                  [        R                   5       3U S9  [	        S[        R                  R                  [        R"                  R                   5       3U S9  [	        SU S9  S Hë  u  pE[%        U5      (       aÊ  SnUS:X  a  ['        S5      nUb  SU-   nUc  [        U5      nUb�  US;   nUS:X  a$  [)        S UR+                  S5       5       5      S:  nU(       a  SOSn	US:X  a  ['        S5      n
U
b  USU
-   -  nO*US:X  a$  S H  n['        U5      nUc  M  USU S U 3-  nM      [	        S!US"X–U S9  MÑ  [	        S!US#U S9  Mß  [	        S$US%U S9  Mí     [	        SU S9  U(       GaÕ  [,        R.                  " [0        5      n[        R2                  R5                  5        H  u  pïXß   R7                  U5        M     [9        [        R:                  5       GHb  nU nU[        R<                  ;   a  U S [        R<                  U    3n[	        UU S9  Xý;   a3  [	        S&R?                  SRA                  [9        Xß   5      5      5      U S9  / nU[        RB                  ;   a  UR7                  S'5        U[        RD                  ;   a  UR7                  S(5        U[        RF                  ;   a  UR7                  S)5        U[        RH                  ;   a  UR7                  S*5        U[        RJ                  ;   a  UR7                  S+5        [	        S,R?                  SRA                  U5      5      U S9  [	        SU S9  GMe     gg)-aä  
Prints information about this installation of Pillow.
This function can be called with ``python3 -m PIL``.
It can also be called with ``python3 -m PIL.report`` or ``python3 -m PIL --report``
to have "supported_formats" set to ``False``, omitting the list of all supported
image file formats.

:param out:
    The output stream to print to. Defaults to ``sys.stdout`` if ``None``.
:param supported_formats:
    If ``True``, a list of all supported image file formats will be printed.
NzD--------------------------------------------------------------------)ÚfilezPillow zPython r   r   z       zPython executable is Úunknownz%Environment Python files loaded from z System Python files loaded from z"Python Pillow modules loaded from z"Binary Pillow modules loaded from ))r   zPIL CORE)r   ÚTKINTER)r   Ú	FREETYPE2)r   Ú
LITTLECMS2)r   ÚWEBP)r7   ÚJPEG)r8   zOPENJPEG (JPEG2000))r5   zZLIB (PNG/ZIP))r6   ÚLIBTIFF)rY   zRAQM (Bidirectional Text))r^   z#LIBIMAGEQUANT (Quantization method))r_   zXCB (X protocol)r7   r\   zlibjpeg-turbo )r   r7   r   c              3  ó8   #   • U  H  n[        U5      v •  M     g 7f)N)Úint)Ú.0Úxs     r#   Ú	<genexpr>Úpilinfo.<locals>.<genexpr>6  s   é € Ð*Hº<°a¬3¨q¯6¨6º<ùs   ‚Ú.)rs   é   zcompiled forÚloadedr5   r]   z, compiled for zlib-ng rY   )rZ   r[   z, Ú z---zsupport ok,z
support okz***zsupport not installedzExtensions: {}ÚopenÚsaveÚsave_allÚdecodeÚencodezFeatures: {})&ÚsysÚstdoutr   ÚinitÚprintrc   Ú__version__rE   Ú
splitlinesÚstripÚ
executableÚprefixÚbase_prefixÚosÚpathÚdirnameÚ__file__r=   rv   rj   ÚtuplerD   ÚcollectionsÚdefaultdictÚlistÚ	EXTENSIONrl   rm   ÚsortedÚIDÚMIMEÚformatÚjoinÚOPENÚSAVEÚSAVE_ALLÚDECODERSÚENCODERS)ÚoutÚsupported_formatsÚpy_version_linesÚ
py_versionÚnamer   ÚvrP   Úversion_staticÚtrR   r-   Úv2Ú
extensionsÚextÚiÚliner`   s                     r#   Úpilinfor¾   ó   sî  € ð �{Ü�j‰jˆä	‡J‚J„Lä	ˆ(˜ÒÜ	ˆG”C—O‘OÐ$Ð
%¨CÒ0Ü—{‘{×-Ñ-Ó/ÐÜ	ˆGÐ$ QÑ'×-Ñ-Ó/Ð0Ð
1¸Ò<Ø& q rÓ*ˆ
Ü�˜
×(Ñ(Ó*Ð+Ð,°3Ô7ñ +ä	ˆ(˜ÒÜ	Ð!¤#§.¡.×"=°IÐ!>Ð
?ÀcÒJÜ
‡z�z”S—_‘_Ó$ÜÐ5´c·j±j°\ÐBÈÒMÜ	Ð,¬S¯_©_Ð,=Ð
>ÀSÒIÜ	ˆ(˜ÒÜ	Ø
,¬R¯W©W¯_©_¼U¿^¹^Ó-LÐ,MÐNØòô 
Ø
,¬R¯W©W¯_©_¼U¿Z¹Z×=PÑ=PÓ-QÐ,RÐSØòô 
ˆ(˜Òó‰ˆô ��;‰;Ø ˆAØ�u‹}Ü(7¸Ó(HÐ%Ø(Ñ4Ø(Ð+@Ñ@�AØ‰yÜ˜D“M�Ø‰}Ø!%¨Ñ!7�Ø˜<Ó'ä%*Ñ*H¸1¿7¹7À3¼<Ó*HÓ%HÈ6Ñ%Q�NÞ&4‘N¸(�Ø˜6“>Ü&5°iÓ&@�OØ&Ñ2ØÐ6¸ÑHÑH˜øØ˜V“^Û4˜Ü,¨QÓ/˜Ø›>Ø 2 a S¨¨"¨ Ñ.šAñ 5ô �e˜W m°QÀÔDä�e˜W l¸Ô=ä�%˜Ð"9ÀÔDñSôT 
ˆ(˜ÒçÜ ×,Ò,¬TÓ2ˆ
Ü—o‘o×+Ñ+Ö-‰FˆCØ‰M× Ñ  Ö%ñ .ô œŸ™×!ˆAØ�SˆDØ”E—J‘J‹Ø˜˜q¤§¡¨A¡ Ð0�Ü�$˜SÒ!à‹ÜØ$×+Ñ+¨D¯I©I´f¸Z¹]Ó6KÓ,LÓMÐTWòð ˆHØ”E—J‘J‹Ø—‘ Ô'Ø”E—J‘J‹Ø—‘ Ô'Ø”E—N‘NÓ"Ø—‘ 
Ô+Ø”E—N‘NÓ"Ø—‘ Ô)Ø”E—N‘NÓ"Ø—‘ Ô)ä�.×'Ñ'¨¯	©	°(Ó(;Ó<À3ÒGÜ�( Õ%ò1 "ð r*   )r   r   Úreturnre   )r   r   r¿   z
str | None)r¿   z	list[str])r   r   r¿   zbool | None)NT)r±   zIO[str] | Noner²   re   r¿   ÚNone)Ú
__future__r   r£   rž   r”   r   Útypingr   rc   Ú r   Ú
_deprecater   r   r$   r)   r.   r;   r@   rF   rH   r`   Ú__annotations__rh   rj   rq   rv   rE   r{   r¾   © r*   r#   Ú<module>rÇ      s¾   ðÞ "ã Û 	Û 
Û Ý ã 
å Ý !ð .Ø4Ø8Ø:Ø0ñ€ôô0<ô3ð Ø%ØØ%ñ	
€ô1ô"ô*1ð +Ø)Ø,Ø;ØDØGØSØAØQØ-ñ;€Ð
7ó ôô8<ô"ô"ô$ô ÷r&r*   