Ë
    ¬ŒjJ  ã                   ó.  — d Z ddlmZmZ ddlZddlmZ d„ Zd„ Zd,d„Z G d„ d	e	«      Z
 e
d
efi «      Zee_        de_         edfd„Zedfd„Zedfd„Zedfd„Zefd„Zefd„Z G d„ d«      Zd„ Zd„ Z G d„ d«      Z G d„ d«      Z e«       Z G d„ de	«      Z e«       Z G d„ de¬«      Z G d„ d e¬«      Z G d!„ d"e¬«      Z  G d#„ d$e¬«      Z!eee e!fD ]#  Z"d%jG                  e"j                  ¬&«      e"_         Œ% ["d'e$d(ee$ef   d)efd*„Z%d'e$d)efd+„Z&y)-z¦Defines experimental extensions to the standard "typing" module that are
supported by the mypy typechecker.

Example usage:
    from mypy_extensions import TypedDict
é    )ÚAnyÚDictN)Ú_type_checkc                 ó�   — 	 t        j                  d«      j                  d   dvrt        d«      ‚	 y# t        t
        f$ r Y yw xY w)Né   Ú__name__)ÚabcÚ	functoolsÚtypingz4TypedDict does not support instance and class checksF)ÚsysÚ	_getframeÚ	f_globalsÚ	TypeErrorÚAttributeErrorÚ
ValueError)ÚclsÚothers     úY/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/mypy_extensions.pyÚ_check_failsr      sW   € ðÜ�=‰=˜Ó×%Ñ% jÑ1Ð9WÑWäÐRÓSÐSð Xð
 øô œJÐ'ò ØØðús   ‚/3 ³AÁAc                 ó   — t        |i |¤ŽS ©N)Údict)r   ÚargsÚkwargss      r   Ú	_dict_newr      s   € Ü�Ð ˜Ñ Ð ó    c                 ó  — |j                  dd«      }|€|}n|rt        d«      ‚t        |«      |dœ}	 t        j                  d«      j
                  j                  dd«      |d<   t        |d	|d¬
«      S # t        t        f$ r Y Œ w xY w)NÚtotalTz@TypedDict takes either a dict or keyword arguments, but not both)Ú__annotations__Ú	__total__r   r   Ú__main__Ú
__module__© )Ú_from_functional_call)
Úpopr   r   r   r   r   Úgetr   r   Ú_TypedDictMeta)r   Ú	_typenameÚ_fieldsr   r   Únss         r   Ú_typeddict_newr+      s˜   € Ø�J‰J�w Ó%€EØ€Ø‰Ù	Üð (ó )ð 	)ô " '›]¸Ñ	?€BðäŸ=™=¨Ó+×5Ñ5×9Ñ9¸*ÀjÓQˆˆ<Ñô ˜) R¨À4ÔHÐHøô œJÐ'ò Ùðús   ´2A5 Á5BÂBc                   ó(   ‡ — e Zd Zdˆ fd„	ZexZZˆ xZS )r'   c           	      óä  •— dt        «       v r dd l}|j                  dt        |rdnd¬«       |dk(  rt        nt
        |d<   t        t        | �#  | |t        f|«      }|j                  di «      }d	}	|j                  «       D �
�ci c]  \  }
}|
t        ||	«      “Œ }}
}|D ]-  }|j                  |j                  j                  di «      «       Œ/ ||_        t!        |d
«      s||_        |S c c}}
w )NÚ	TypedDictr   zŽmypy_extensions.TypedDict is deprecated, and will be removed in a future version. Use typing.TypedDict or typing_extensions.TypedDict instead.é   é   ©Ú
stacklevelÚ__new__r   z?TypedDict('Name', {f0: t0, f1: t1, ...}); each t must be a typer    )ÚglobalsÚwarningsÚwarnÚDeprecationWarningr+   r   Úsuperr'   r3   r   r&   Úitemsr   ÚupdateÚ__dict__r   Úhasattrr    )r   ÚnameÚbasesr*   r   r$   r5   Útp_dictÚannsÚmsgÚnÚtpÚbaseÚ	__class__s                €r   r3   z_TypedDictMeta.__new__1   sï   ø€ ð œ'›)Ñ#ÛØ�M‰MðSô #Ù!6™A¸Að ô ð +/°+Ò*=�Ä9ˆˆ9‰Üœ¨Ñ4°S¸$ÄÀÈÓLˆà�v‰vÐ'¨Ó,ˆØOˆØ59·Z±Z´\ÔB±\©E¨A¨r�”;˜r 3Ó'Ñ'°\ˆÑBÛˆDØ�K‰K˜Ÿ™×)Ñ)Ð*;¸RÓ@ÕAð à"&ˆÔÜ�w Ô,Ø %ˆGÔØˆùó Cs   ÂC,)TF)r   r"   Ú__qualname__r3   r   Ú__instancecheck__Ú__subclasscheck__Ú__classcell__)rE   s   @r   r'   r'   0   s   ø„ õ!ðF -9Ð8ÐÔ)r   r'   r.   a  A simple typed name space. At runtime it is equivalent to a plain dict.

    TypedDict creates a dictionary type that expects all of its
    instances to have a certain set of keys, with each key
    associated with a value of a consistent type. This expectation
    is not checked at runtime but is only enforced by typecheckers.
    Usage::

        Point2D = TypedDict('Point2D', {'x': int, 'y': int, 'label': str})
        a: Point2D = {'x': 1, 'y': 2, 'label': 'good'}  # OK
        b: Point2D = {'z': 3, 'label': 'bad'}           # Fails type check
        assert Point2D(x=1, y=2, label='first') == dict(x=1, y=2, label='first')

    The type info could be accessed via Point2D.__annotations__. TypedDict
    supports two additional equivalent forms::

        Point2D = TypedDict('Point2D', x=int, y=int, label=str)

        class Point2D(TypedDict):
            x: int
            y: int
            label: str

    The latter syntax is only supported in Python 3.6+, while two other
    syntax forms work for 3.2+
    c                 ó   — | S )zA normal positional argumentr#   ©Útyper=   s     r   ÚArgrM   z   ó   € à€Kr   c                 ó   — | S )z*A positional argument with a default valuer#   rK   s     r   Ú
DefaultArgrP      rN   r   c                 ó   — | S )zA keyword-only argumentr#   rK   s     r   ÚNamedArgrR   „   rN   r   c                 ó   — | S )z,A keyword-only argument with a default valuer#   rK   s     r   ÚDefaultNamedArgrT   ‰   rN   r   c                 ó   — | S )z*A *args-style variadic positional argumentr#   ©rL   s    r   ÚVarArgrW   Ž   rN   r   c                 ó   — | S )z*A **kwargs-style variadic keyword argumentr#   rV   s    r   ÚKwArgrY   “   rN   r   c                   ó   — e Zd Zy)Ú_DEPRECATED_NoReturnN)r   r"   rF   r#   r   r   r[   r[   š   s   … r   r[   c                 ó   — | S r   r#   )r   s    r   Útraitr]   �   s   € Ø€Jr   c                  ó   — d„ S )Nc                 ó   — | S r   r#   )Úxs    r   Ú<lambda>zmypyc_attr.<locals>.<lambda>¢   s   € ‘Qr   r#   )ÚattrsÚkwattrss     r   Ú
mypyc_attrrd   ¡   s   € ÙÐr   c                   ó   — e Zd Zd„ Zd„ Zy)Ú_FlexibleAliasClsAppliedc                 ó   — || _         y r   ©Úval)Úselfri   s     r   Ú__init__z!_FlexibleAliasClsApplied.__init__¨   s	   € Øˆ�r   c                 ó   — | j                   S r   rh   ©rj   r   s     r   Ú__getitem__z$_FlexibleAliasClsApplied.__getitem__«   s   € Ø�x‰xˆr   N)r   r"   rF   rk   rn   r#   r   r   rf   rf   §   s   „ òór   rf   c                   ó   — e Zd Zd„ Zy)Ú_FlexibleAliasClsc                 ó   — t        |d   «      S )Néÿÿÿÿ)rf   rm   s     r   rn   z_FlexibleAliasCls.__getitem__°   s   € Ü'¨¨R©Ó1Ð1r   N)r   r"   rF   rn   r#   r   r   rp   rp   ¯   s   „ ó2r   rp   c                   ó   — e Zd Zd„ Zy)Ú_NativeIntMetac                 ó"   — t        |t        «      S r   )Ú
isinstanceÚint)r   Úinsts     r   rG   z _NativeIntMeta.__instancecheck__¸   s   € Ü˜$¤Ó$Ð$r   N)r   r"   rF   rG   r#   r   r   rt   rt   ·   s   „ ó%r   rt   c                   ó   — e Zd Zdefd„Zy)Úi64r   c                 ó@   — |t         urt        ||«      S t        |«      S r   ©Ú	_sentinelrw   ©r   r`   rD   s      r   r3   zi64.__new__À   ó   € Ø”yÑ Ü�q˜$“<ÐÜ�1‹vˆr   N©r   r"   rF   r}   r3   r#   r   r   rz   rz   ¿   ó   „ Ø˜yô r   rz   )Ú	metaclassc                   ó   — e Zd Zdefd„Zy)Úi32r   c                 ó@   — |t         urt        ||«      S t        |«      S r   r|   r~   s      r   r3   zi32.__new__Ç   r   r   Nr€   r#   r   r   r„   r„   Æ   r�   r   r„   c                   ó   — e Zd Zdefd„Zy)Úi16r   c                 ó@   — |t         urt        ||«      S t        |«      S r   r|   r~   s      r   r3   zi16.__new__Î   r   r   Nr€   r#   r   r   r‡   r‡   Í   r�   r   r‡   c                   ó   — e Zd Zdefd„Zy)Úu8r   c                 ó@   — |t         urt        ||«      S t        |«      S r   r|   r~   s      r   r3   z
u8.__new__Õ   r   r   Nr€   r#   r   r   rŠ   rŠ   Ô   r�   r   rŠ   a/  A native fixed-width integer type when used with mypyc.

        In code not compiled with mypyc, behaves like the 'int' type in these
        runtime contexts:

        * {name}(x[, base=n]) converts a number or string to 'int'
        * isinstance(x, {name}) is the same as isinstance(x, int)
        ©r=   r=   Úmodule_globalsÚreturnc                 óÜ   — |j                  d| › �«      x}€dt        › d| › d�}t        |«      ‚||| <   | dv rd| › d| › d| › d	�}nJ d
| › d�«       ‚dd l}|j	                  |t
        d¬«       |S )NÚ_DEPRECATED_zmodule 'z' has no attribute 'Ú'>   ÚNoReturnz'mypy_extensions.zF' is deprecated, and will be removed in a future version. Use 'typing.z' or 'typing_extensions.z	' insteadz-Add deprecation message for 'mypy_extensions.r   r/   r1   )r&   r   r   r5   r6   r7   )r=   r�   ri   rA   r5   s        r   Ú_warn_deprecationr“   è   s¨   € Ø×!Ñ! L°°Ð"7Ó8Ð8ˆÐAØœ˜
Ð"6°t°f¸AÐ>ˆÜ˜SÓ!Ð!Ø€N�4ÑØˆ|Ñà ˜vð &à˜&Ð 8¸¸¸iðIñ 	ð 	NÐEÀdÀVÈ1ÐMÓMˆuÛØ‡M�M�#Ô)°a€MÔ8Ø€Jr   c                 ó,   — t        | t        «       ¬«      S )N)r�   )r“   r4   rŒ   s    r   Ú__getattr__r•   ú   s   € Ü˜T´'³)Ô<Ð<r   r   )'Ú__doc__r   r   r   r   r   r   r   r+   rL   r'   r   r.   r   r"   rM   rP   rR   rT   rW   rY   r[   r]   rd   rf   rp   ÚFlexibleAliasrt   Úobjectr}   rz   r„   r‡   rŠ   Ú	_int_typeÚformatÚstrr“   r•   r#   r   r   Ú<module>rœ      s…  ðñ÷ ã 
õ òò!óIô$$9�Tô $9ñN ˜;¨¨°Ó4€	Ø€	Ô ðð 
Ô ðB �tó ð
 ˜dó ð
 ˜Dó ð
  4ó ð
 ó ð
 ó ÷ !Ñ  òò÷ñ ÷2ñ 2ñ
 "Ó#€ô%�Tô %ñ
 ‹H€	ô�Nõ ô�Nõ ô�Nõ ô�>õ ð �c˜3 Ó"€Ið	÷ ‰F˜	×*Ñ*ˆFÓ+ð Õð #ð ð˜Cð °°c¸3°h±ð ÀCó ð$=�cð =˜cô =r   