Ë
    ðmxiÔ	  ã                  óp  — d Z ddlmZ ddlZddlmZmZ erZddlmZ ej                  dk\  rddlm	Z	 ddl
mZ ndd	lm	Z	mZ ej                  d
k\  r	ddlmZmZ nddlmZmZ  e	dedef   ¬«      ZnBej                  dk\  rddlm	Z	 ddl
mZ nddlm	Z ddddœ	 	 	 	 	 	 	 	 	 	 	 dd„Z	dd„ZdZdZdd„Zg d¢Zy)aA  Backward compatibility for newer/less buggy typing features.

## Important
Import from here to avoid introducing a runtime dependency on [`typing_extensions`]

## Notes
- `TypeVar` defaults
  - https://typing.python.org/en/latest/spec/generics.html#type-parameter-defaults
  - https://peps.python.org/pep-0696/
- `@deprecated`
  - https://docs.python.org/3/library/warnings.html#warnings.deprecated
  - https://typing.python.org/en/latest/spec/directives.html#deprecated
  - https://peps.python.org/pep-0702/

[`typing_extensions`]: https://github.com/python/typing_extensions
é    )ÚannotationsN)ÚTYPE_CHECKINGÚAny)ÚCallable)é   é   )ÚTypeVar)Ú
deprecated)r	   r
   )r   é   )ÚNeverÚassert_neverÚ_Fn.)ÚboundF©r   Ú	covariantÚcontravariantc               ó$   — t        | g|¢­|||dœŽS )Nr   )Ú_TypeVar)Únamer   r   r   ÚconstraintsÚkwdss         úN/home/htdocs/ttos/venv/lib/python3.12/site-packages/narwhals/_typing_compat.pyr	   r	   0   s,   € ô Øðàñð Ø#Ø+òð ó    c               ó   — dd„}|S )Nc               ó   — | S )N© )Úfuncs    r   Úwrapperzdeprecated.<locals>.wrapperA   s   € Ø�r   )r   r   Úreturnr   r   )Úmessager   s     r   r
   r
   @   s   € óð ˆNr   éd   zKhttps://github.com/narwhals-dev/narwhals/issues/new?template=bug_report.ymlc               ó‚   — t        | «      }t        |«      t        kD  r|d t         dz   }d|› dt        › �}t	        |«      ‚)Nz...z*Expected code to be unreachable, but got: z.
Please report an issue at )ÚreprÚlenÚ_ASSERT_NEVER_REPR_MAX_LENGTHÚ_BUG_URLÚAssertionError)ÚargÚvalueÚmsgs      r   r   r   K   sT   € Ü�S“	ˆÜˆu‹:Ô5Ò5ØÐ8Ô8Ð9¸EÑAˆEà8¸¸ð @)Ü)1¨
ð4ð 	ô ˜SÓ!Ð!r   )r	   r   r
   )r   Ústrr   r   r   z
Any | Noner   Úboolr   r,   r   r   )r    r+   r   zCallable[[_Fn], _Fn])r(   r   r   r   )Ú__doc__Ú
__future__r   ÚsysÚtypingr   r   r   Úversion_infor	   Úwarningsr
   Útyping_extensionsr   r   r   r   r%   r&   Ú__all__r   r   r   ú<module>r5      sâ   ðñõ" #ó ß %áÝà
×Ñ˜7Ò"Ý"Þ'ç9à
×Ñ˜7Ò"ß.Ð.ç9á
�%˜x¨¨S¨Ñ1Ô
2�Cð ×Ñ˜7Ò"Ý"Þ'å.ð
 !%Ø#Ø"'ñ	Øð	àð	ð ð	ð ð		ð
  ð	ð ó	ó 	ð %(Ð!àUð ó"ò 4�r   