ó
    àÅŸg�  ã                   ó.  • S r SrSSKr \r\r\r\rSSKJ	r
  SSKJr  SSKJr  SSKJr   SS	KJr  S rS rS rS rS rg! \\4 a#    \r\r\r\rSSKJ
r
  SSKJr  SSKJr  SSKJr   NAf = f! \ a     SS	KJr   NM! \\4 a
    SS
KJr    N^f = ff = f)aK  
Compatibility with Python 2 and 3.

This module exposes aliases and functions that make it easier to write Python
code that is compatible with Python 2 and Python 3.

.. data:: basestring

   Alias for :func:`python2:basestring` (in Python 2) or :class:`python3:str`
   (in Python 3). See also :func:`is_string()`.

.. data:: HTMLParser

   Alias for :class:`python2:HTMLParser.HTMLParser` (in Python 2) or
   :class:`python3:html.parser.HTMLParser` (in Python 3).

.. data:: interactive_prompt

   Alias for :func:`python2:raw_input()` (in Python 2) or
   :func:`python3:input()` (in Python 3).

.. data:: StringIO

   Alias for :class:`python2:StringIO.StringIO` (in Python 2) or
   :class:`python3:io.StringIO` (in Python 3).

.. data:: unicode

   Alias for :func:`python2:unicode` (in Python 2) or :class:`python3:str` (in
   Python 3). See also :func:`coerce_string()`.

.. data:: monotonic

   Alias for :func:`python3:time.monotonic()` (in Python 3.3 and higher) or
   `monotonic.monotonic()` (a `conditional dependency
   <https://pypi.org/project/monotonic/>`_ on older Python versions).
)Ú
HTMLParserÚStringIOÚ
basestringÚcoerce_stringÚinteractive_promptÚ	is_stringÚ
is_unicodeÚ	monotonicÚname2codepointÚon_macosÚ
on_windowsÚunichrÚunicodeÚwhiché    N)Úfind_executable)r   )r   )r
   )r   )r	   )Útimec                 ó<   • [        U 5      (       a  U $ [        U 5      $ )zÇ
Coerce any value to a Unicode string (:func:`python2:unicode` in Python 2 and :class:`python3:str` in Python 3).

:param value: The value to coerce.
:returns: The value coerced to a Unicode string.
)r   r   ©Úvalues    ÚU/var/www/blue/EV-Temp_rev04/venv/lib/python3.13/site-packages/humanfriendly/compat.pyr   r   e   s   € ô ˜e×$Ñ$ˆ5Ð8¬'°%«.Ð8ó    c                 ó"   • [        U [        5      $ )zÛ
Check if a value is a :func:`python2:basestring` (in Python 2) or :class:`python3:str` (in Python 3) object.

:param value: The value to check.
:returns: :data:`True` if the value is a string, :data:`False` otherwise.
)Ú
isinstancer   r   s    r   r   r   o   s   € ô �eœZÓ(Ð(r   c                 ó"   • [        U [        5      $ )zà
Check if a value is a :func:`python2:unicode` (in Python 2) or :class:`python2:str` (in Python 3) object.

:param value: The value to check.
:returns: :data:`True` if the value is a Unicode string, :data:`False` otherwise.
)r   r   r   s    r   r   r   y   s   € ô �eœWÓ%Ð%r   c                  ó@   • [         R                  R                  S5      $ )zk
Check if we're running on Apple MacOS.

:returns: :data:`True` if running MacOS, :data:`False` otherwise.
Údarwin©ÚsysÚplatformÚ
startswith© r   r   r   r   ƒ   s   € ô �<‰<×"Ñ" 8Ó,Ð,r   c                  ó@   • [         R                  R                  S5      $ )zz
Check if we're running on the Microsoft Windows OS.

:returns: :data:`True` if running Windows, :data:`False` otherwise.
Úwinr   r!   r   r   r   r   Œ   s   € ô �<‰<×"Ñ" 5Ó)Ð)r   ) Ú__doc__Ú__all__r   r   r   r   Ú	raw_inputr   Údistutils.spawnr   r   r   r   Úhtmlentitydefsr
   ÚImportErrorÚ	NameErrorÚstrÚchrÚinputÚshutilÚhtml.parserÚioÚhtml.entitiesr   r	   ÚRuntimeErrorr   r   r   r   r   r!   r   r   Ú<module>r3      sÊ   ðñ$ðL€ó$ ð-à€GØ€FØ€JØ"ÐÝ8Ý%Ý!Ý-ð+åò9ò)ò&ò-ó*øðA 	�YÐó 	-à€GØ€FØ€JØÐÝÝ&Ýß,ð	-ûð ó +ð+ß'øØ˜Ð&ó +÷ 	+Ð*ð+úð+ús:   Š A «A/ Á(A,Á+A,Á/BÁ6A>Á>BÂBÂBÂB