Ë
    úmxiô  ã                  óv  — d dl mZ d dlZd dlZd dlZd dlmZmZ ej                  dk\  rd dlm	Z
 nd dlm	Z
 erej                  dk\  rd dlmZ nd dlmZ g d¢Z G d	„ d
e«      Z	 	 	 	 	 	 	 	 dd„Zddeddœ	 	 	 	 	 	 	 	 	 dd„Z	dedddœ	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Ze
Z	  G d„ d«      Z e«       a	 	 	 	 	 	 	 	 dd„Zy)é    )ÚannotationsN)ÚTYPE_CHECKINGÚLiteral)é   é   )Ú
deprecated)r   é   )ÚLiteralString)ÚAltairDeprecationWarningr   Údeprecated_static_onlyÚdeprecated_warnc                  ó   — e Zd Zy)r   N)Ú__name__Ú
__module__Ú__qualname__© ó    úO/home/htdocs/ttos/venv/lib/python3.12/site-packages/altair/utils/deprecation.pyr   r      s   … r   r   c               ó8   — d| › d�}|r|› d|› d�}|r|› d|› �S |S )Nz
Deprecated since `altair=z`.z Use z	 instead.ú
r   )ÚversionÚalternativeÚmessageÚoutputs       r   Ú_format_messager      s?   € ð +¨7¨)°2Ð6€FÙØ�8˜5  ¨YÐ7ˆÙ%,ˆfˆX�R˜�yÐ!Ð8°&Ð8r   é   )r   r   ÚcategoryÚ
stacklevelc                ó8   — t        | ||«      }t        |||¬«      S )aØ  
    Indicate that a class, function or overload is deprecated.

    When this decorator is applied to an object, the type checker
    will generate a diagnostic on usage of the deprecated object.

    Parameters
    ----------
    version
        ``altair`` version the deprecation first appeared.
    alternative
        Suggested replacement class/method/function.
    message
        Additional message appended to ``version``, ``alternative``.
    category
        If the *category* is ``None``, no warning is emitted at runtime.
    stacklevel
        The *stacklevel* determines where the
        warning is emitted. If it is ``1`` (the default), the warning
        is emitted at the direct caller of the deprecated object; if it
        is higher, it is emitted further up the stack.
        Static type checker behavior is not affected by the *category*
        and *stacklevel* arguments.

    References
    ----------
    [PEP 702](https://peps.python.org/pep-0702/)
    ©r   r   )r   Ú_deprecated)r   r   r   r   r   Úmsgs         r   r   r   -   s"   € ôH ˜' ;°Ó
8€CÜ�s X¸*ÔEÐEr   é   )r   r   r   Úactionc               ó�   — t        ||| «      }|€t        j                  |||¬«       y|dk(  rt        |||¬«       yt	        |«      ‚)ar  
    Indicate that the current code path is deprecated.

    This should be used for non-trivial cases *only*. ``@deprecated`` should
    always be preferred as it is recognized by static type checkers.

    Parameters
    ----------
    message
        Explanation of the deprecated behaviour.

        .. note::
            Unlike ``@deprecated``, this is *not* optional.

    version
        ``altair`` version the deprecation first appeared.
    alternative
        Suggested replacement argument/method/function.
    category
        The runtime warning type emitted.
    stacklevel
        How far up the call stack to make this warning appear.
        A value of ``2`` attributes the warning to the caller
        of the code calling ``deprecated_warn()``.

    References
    ----------
    [warnings.warn](https://docs.python.org/3/library/warnings.html#warnings.warn)
    Nr    Úonce)r   ÚwarningsÚwarnÚ
_warn_onceÚNotImplementedError)r   r   r   r   r   r$   r"   s          r   r   r   U   sG   € ôL ˜' ;°Ó
8€CØ€~Ü�‰�c H¸ÖDØ	�6Ò	Ü�3 °jÖAä! &Ó)Ð)r   c                  ó,   — e Zd Zdd„Zdd„Zdd„Zdd„Zy)	Ú_WarningsMonitorc                óD   — i | _         t        j                  «       | _        y ©N)Ú_warnedÚ	threadingÚLockÚ_lock©Úselfs    r   Ú__init__z_WarningsMonitor.__init__¨   s   € Ø;=ˆŒÜ—^‘^Ó%ˆ�
r   c               ób   — | j                   5  || j                  v cd d d «       S # 1 sw Y   y xY wr.   ©r2   r/   ©r4   Úkeys     r   Ú__contains__z_WarningsMonitor.__contains__¬   s*   € Ø�Z‰Zñ 	'Ø˜$Ÿ,™,Ð&÷	'÷ 	'ò 	'ús   �%¥.c               ód   — | j                   5  d| j                  |<   d d d «       y # 1 sw Y   y xY w)NTr7   r8   s     r   Úhitz_WarningsMonitor.hit°   s,   € Ø�Z‰Zñ 	%Ø $ˆD�L‰L˜Ñ÷	%÷ 	%ñ 	%ús   �&¦/c                óz   — | j                   5  | j                  j                  «        d d d «       y # 1 sw Y   y xY wr.   )r2   r/   Úclearr3   s    r   r>   z_WarningsMonitor.clear´   s.   € Ø�Z‰Zñ 	!Ø�L‰L×ÑÔ ÷	!÷ 	!ñ 	!ús   �1±:N)ÚreturnÚNone)r9   r
   r?   Úbool)r9   r
   r?   r@   )r   r   r   r5   r:   r<   r>   r   r   r   r,   r,   §   s   „ ó&ó'ó%ô!r   r,   c              óv   — | t         v ry t         j                  | «       t        j                  | ||dz   ¬«       y )Nr   r    )Ú_warnings_monitorr<   r'   r(   )r"   r   r   s      r   r)   r)   ¼   s2   € ð ÔÑØä×Ñ˜cÔ"Ü�‰�c H¸Àa¹ÖHr   )r   r
   r   úLiteralString | Noner   rD   r?   r
   )
r   r
   r   rD   r   rD   r   z%type[AltairDeprecationWarning] | Noner   Úint)r   r
   r   r
   r   rD   r   útype[AltairDeprecationWarning]r   rE   r$   zLiteral['once'] | Noner?   r@   )r"   r
   r   rF   r   rE   r?   r@   )Ú
__future__r   Úsysr0   r'   Útypingr   r   Úversion_infor   r!   Útyping_extensionsr
   Ú__all__ÚDeprecationWarningr   r   r   r   r,   rC   r)   r   r   r   ú<module>rN      sk  ðÝ "ã 
Û Û ß )à×Ñ�wÒÞ2å;ñ Ø
×Ñ˜7Ò"Þ(å3ò€ô 8Ð1Ô 7ð	9Øð	9à%ð	9ð "ð	9ð
 ó	9ð" )-Ø$(Ø6NØñ%Fàð%Fð &ð%Fð "ð	%Fð
 4ð%Fð ó%FðX )-Ø/GØØ%)ñ,*Øð,*ð ð,*ð &ð	,*ð
 -ð,*ð ð,*ð #ð,*ð 
ó,*ð^ %Ð ð÷D!ñ !ñ$ %Ó&Ð ðIØ	ðIØ(FðIØTWðIà	ôIr   