Ë
    D·j)  ã            
      óð   — d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlZddl	m
Z
 dddd	d
dœZd(d„Zd)d„Zd*d„ZdddddœZd(d„Zd)d„Zd*d„Zdddddddddd œ	Zd+d!„Zd)d"„Zd*d#„Zd+d$„Zd)d%„Zd*d&„Zd,d-d'„Zy).é    )ÚannotationsN)ÚIOé   )ÚImage)ú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                óà   — | t         vrd| › �}t        |«      ‚t         |    \  }}	 t        |«       y# t        $ r Y yt        $ r(}t        j                  t        |«      «       Y d}~yd}~ww xY w)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        úZ/var/www/html/ai-video-generator/backend/venv/lib/python3.12/site-packages/PIL/features.pyÚcheck_moduler#      sn   € ð ”gÑØ ˜yÐ)ˆÜ˜‹oÐä˜'Ñ"�K€FˆCðÜ�6ÔØøÜò ÙÜò Ü�‰”c˜"“gÔÜûðús   ¦2 ²	A-½A-ÁA(Á(A-c                ób   — t        | «      syt        |    \  }}t        t        ||g¬«      |«      S )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(   .   s3   € ô ˜Ô Øä˜'Ñ"�K€FˆCä”:˜f°¨uÔ5°sÓ;Ð;ó    c                 óL   — t         D � cg c]  } t        | «      sŒ| ‘Œ c} S c c} w )z4
    :returns: A list of all supported modules.
    )r   r#   ©Úfs    r"   Úget_supported_modulesr-   =   s   € ô Ö2�!¤,¨q¥/ŠAÒ2Ð2ùÒ2ó   ‰!š!)ÚjpegÚjpeglib)Újpeg2kÚjp2klib)ÚzipÚzlib)Úlibtiffr5   )ÚjpgÚjpg_2000r4   r5   c                ó†   — | t         vrd| › �}t        |«      ‚t         |    \  }}|› d�t        t        j                  «      v S )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?   L   sI   € ð ”fÑØ˜w˜iÐ(ˆÜ˜‹oÐä˜‘�J€Eˆ3àˆW�HÐ¤¤U§Z¡Z£Ð0Ð0r)   c                óÆ   — t        | «      syt        |    \  }}t        t        j                  |› d�«      }| dk(  r&|j                  d«      d   j                  d«      d   S |S )a  
    :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Ú_versionr5   ú
r   zVersion r   )r?   r:   r'   r   r<   Úsplit)r   r=   r>   Úversions       r"   Úversion_codecrE   ]   sd   € ô �wÔØä˜‘�J€Eˆ3ä”e—j‘j S E¨Ð"2Ó3€Gà�)ÒØ�}‰}˜TÓ" 1Ñ%×+Ñ+¨JÓ7¸Ñ:Ð:à€Nr)   c                 óL   — t         D � cg c]  } t        | «      sŒ| ‘Œ c} S c c} w )z3
    :returns: A list of all supported codecs.
    )r:   r?   r+   s    r"   Úget_supported_codecsrG   r   s   € ô Ö0�!¤¨Q¥ŠAÒ0Ð0ùÒ0r.   )r   ÚHAVE_WEBPANIMN)r   ÚHAVE_WEBPMUXN)r   ÚHAVE_TRANSPARENCYN)r
   Ú	HAVE_RAQMÚraqm_version)r
   ÚHAVE_FRIBIDIÚfribidi_version)r
   ÚHAVE_HARFBUZZÚharfbuzz_version)r   ÚHAVE_LIBJPEGTURBOÚlibjpeg_turbo_version)r   ÚHAVE_LIBIMAGEQUANTÚimagequant_version)r   ÚHAVE_XCBN)	Ú	webp_animÚwebp_muxÚtransp_webpÚraqmÚfribidiÚharfbuzzÚlibjpeg_turboÚlibimagequantÚxcbc                óþ   — | t         vrd| › �}t        |«      ‚t         |    \  }}}	 t        |dg¬«      }t        ||«      S # t        $ r Y yt
        $ r(}t        j                  t        |«      «       Y d}~yd}~ww xY w)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 ÚPILr%   N)	Úfeaturesr   r   r'   r   r   r   r   r   )r   r   r   Úflagr    Úimported_moduler!   s          r"   Úcheck_featurerd   †   s�   € ð ”hÑØ   	Ð*ˆÜ˜‹oÐä  Ñ)Ñ€FˆD�#ðÜ$ V°u°gÔ>ˆÜ�¨Ó-Ð-øÜò ÙÜò Ü�‰”c˜"“gÔÜûðús   §A Á	A<ÁA<ÁA7Á7A<c                ój   — t        | «      syt        |    \  }}}|€yt        t        ||g¬«      |«      S )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%   )rd   ra   r'   r   )r   r   rb   r    s       r"   Úversion_featurerf   ž   s>   € ô ˜Ô!Øä  Ñ)Ñ€FˆD�#à
€{Øä”:˜f°¨uÔ5°sÓ;Ð;r)   c                 óL   — t         D � cg c]  } t        | «      sŒ| ‘Œ c} S c c} w )z5
    :returns: A list of all supported features.
    )ra   rd   r+   s    r"   Úget_supported_featuresrh   ¯   s   € ô  Ö4�!¤=°Õ#3ŠAÒ4Ð4ùÒ4r.   c                ó¬   — | t         v rt        | «      S | t        v rt        | «      S | t        v rt        | «      S t        j                  d| › d�d¬«       y)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?   ra   rd   r   r   ©r   s    r"   Úcheckrm   ¶   sX   € ð ”'ÑÜ˜GÓ$Ð$Ø”&ÑÜ˜7Ó#Ð#Ø”(ÑÜ˜WÓ%Ð%Ü‡M�MÐ% g Y¨bÐ1¸aÕ@Ør)   c                óv   — | t         v rt        | «      S | t        v rt        | «      S | t        v rt        | «      S y)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:   rE   ra   rf   rl   s    r"   rD   rD   È   s@   € ð ”'ÑÜ˜gÓ&Ð&Ø”&ÑÜ˜WÓ%Ð%Ø”(ÑÜ˜wÓ'Ð'Ør)   c                 ó~   — t        «       } | j                  t        «       «       | j                  t        «       «       | S )zJ
    :returns: A list of all supported modules, features, and codecs.
    )r-   Úextendrh   rG   )Úrets    r"   Úget_supportedrr   Ø   s1   € ô
  Ó
!€CØ‡J�JÔ%Ó'Ô(Ø‡J�JÔ#Ó%Ô&Ø€Jr)   c                ó	  — | €t         j                  } t        j                  «        t	        d| ¬«       t	        dt
        j                  › �| ¬«       t         j                  j                  «       }t	        d|d   j                  «       › �| ¬«       |dd D ]   }t	        d|j                  «       › �| ¬«       Œ" t	        d| ¬«       t	        d	t         j                  xs d
› �| ¬«       t         j                  t         j                  k7  rt	        dt         j                  › �| ¬«       t	        dt         j                  › �| ¬«       t	        d| ¬«       t	        dt        j                  j                  t        j                   «      › �| ¬«       t	        dt        j                  j                  t        j"                  j                   «      › �| ¬«       t	        d| ¬«       dD ]Á  \  }}t%        |«      r¢d}|dk(  rt'        d«      }|�d|z   }|€t        |«      }|�j|dv }|dk(  r$t)        d„ |j+                  d«      D «       «      dk  }|rdnd}	|dk(  r dD ]  }
t'        |
«      }|€Œ|d|
› d|› �z  }Œ t	        d|d|	|| ¬«       Œ£t	        d|d | ¬«       Œ³t	        d!|d"| ¬«       ŒÃ t	        d| ¬«       |�rÒt-        j.                  t0        «      }t        j2                  j5                  «       D ]  \  }}||   j7                  |«       Œ t9        t        j:                  «      D �]a  }|› }|t        j<                  v r|› dt        j<                  |   › �}t	        || ¬«       ||v r7t	        d#j?                  djA                  t9        ||   «      «      «      | ¬«       g }|t        jB                  v r|j7                  d$«       |t        jD                  v r|j7                  d%«       |t        jF                  v r|j7                  d&«       |t        jH                  v r|j7                  d'«       |t        jJ                  v r|j7                  d(«       t	        d)j?                  djA                  |«      «      | ¬«       t	        d| ¬«       �Œd yy)*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)rX   zWEBP Transparency)rW   ÚWEBPMUX)rV   zWEBP Animation)r6   ÚJPEG)r7   zOPENJPEG (JPEG2000))r4   zZLIB (PNG/ZIP))r5   ÚLIBTIFF)rY   zRAQM (Bidirectional Text))r]   z#LIBIMAGEQUANT (Quantization method))r^   zXCB (X protocol)r6   r\   zlibjpeg-turbo )r   r6   r   c              3  ó2   K  — | ]  }t        |«      –— Œ y ­w)N)Úint)Ú.0Úxs     r"   ú	<genexpr>zpilinfo.<locals>.<genexpr>)  s   è ø€ Ò*H°a¬3¨q¯6Ñ*Hùs   ‚ú.)rj   é   zcompiled forÚloadedrY   )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Úprintr`   Ú__version__rD   Ú
splitlinesÚstripÚ
executableÚprefixÚbase_prefixÚosÚpathÚdirnameÚ__file__r<   rm   rf   ÚtuplerC   ÚcollectionsÚdefaultdictÚlistÚ	EXTENSIONÚitemsÚappendÚsortedÚIDÚMIMEÚformatÚjoinÚOPENÚSAVEÚSAVE_ALLÚDECODERSÚENCODERS)ÚoutÚsupported_formatsÚpy_version_linesÚ
py_versionÚnamer   ÚvrR   Úversion_staticÚtr,   Úv2Ú
extensionsÚextÚiÚlinera   s                    r"   Úpilinfor·   ã   së  € ð €{Ü�j‰jˆä	‡J�J„Lä	ˆ(˜ÕÜ	ˆG”C—O‘OÐ$Ð
%¨CÕ0Ü—{‘{×-Ñ-Ó/ÐÜ	ˆGÐ$ QÑ'×-Ñ-Ó/Ð0Ð
1¸Õ<Ø& q rÐ*ò 8ˆ
Ü�˜
×(Ñ(Ó*Ð+Ð,°3Ö7ð8ä	ˆ(˜ÕÜ	Ð!¤#§.¡.Ò"=°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Øõô 
ˆ(˜Õðò (E‰ˆˆgô" �Œ;Ø ˆAØ�uŠ}Ü(7¸Ó(HÐ%Ø(Ð4Ø(Ð+@Ñ@�AØˆyÜ˜D“M�Øˆ}Ø!%¨Ð!7�Ø˜<Ò'ä%*Ñ*H¸1¿7¹7À3»<Ô*HÓ%HÈ6Ñ%Q�NÙ&4‘N¸(�Ø˜6’>Ø4ò /˜Ü,¨QÓ/˜Ø™>Ø 2 a S¨¨"¨ Ñ.™Að/ô �e˜W m°Q¸ÀÖDä�e˜W l¸Ö=ä�%˜Ð"9ÀÖDðQ(EôR 
ˆ(˜ÕâÜ ×,Ñ,¬TÓ2ˆ
Ü—o‘o×+Ñ+Ó-ò 	&‰FˆC�Ø�q‰M× Ñ  Õ%ð	&ô œŸ™Ó!ó 	&ˆAØ�SˆDØ”E—J‘J‰Ø˜˜q¤§¡¨A¡ Ð0�Ü�$˜SÕ!à�J‰ÜØ$×+Ñ+¨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   ÚreturnÚbool)r   r   r¸   z
str | None)r¸   z	list[str])r   r   r¸   zbool | None)NT)rª   zIO[str] | Noner«   r¹   r¸   ÚNone)Ú
__future__r   rš   r•   r‹   r   Útypingr   r`   Ú r   r   r#   r(   r-   r:   r?   rE   rG   ra   rd   rf   rh   rm   rD   rr   r·   © r)   r"   ú<module>r¿      s°   ðÝ "ã Û 	Û 
Û Ý ã 
å ð .Ø4Ø8Ø:Ø0ñ€óó0<ó3ð Ø%ØØ%ñ	
€ó1ó"ó*1ð 6Ø3Ø;Ø;ØDØGØSØQØ-ñ
€óó0<ó"5óó$ó õq&r)   