ó
    àÅŸgS  ã                   óð  • S r SSKJr  SSKrSSKJr  S rS rS'S jr " S S	\5      r	\	" S
\
40 5      r\\l        S\l         \S4S jr\S4S jr\S4S jr\S4S jr\4S jr\4S jr " S S5      rS rS r " S S5      r " S S5      r\" 5       r " S S\5      r\" 5       r " S S\S9r " S S \S9r " S! S"\S9r " S# S$\S9r \\\\ 4 H!  r!S%RE                  \!R                  S&9\!l         M#     C!g)(z¦Defines experimental extensions to the standard "typing" module that are
supported by the mypy typechecker.

Example usage:
    from mypy_extensions import TypedDict
é    )ÚAnyN)Ú_type_checkc                 ó˜   •  [         R                  " S5      R                  S   S;  a  [        S5      e g! [        [
        4 a     gf = f)Né   Ú__name__)ÚabcÚ	functoolsÚtypingz4TypedDict does not support instance and class checksF)ÚsysÚ	_getframeÚ	f_globalsÚ	TypeErrorÚAttributeErrorÚ
ValueError)ÚclsÚothers     ÚP/var/www/blue/EV-Temp_rev04/venv/lib/python3.13/site-packages/mypy_extensions.pyÚ_check_failsr      sW   € ðÜ�=Š=˜Ó×%Ñ% jÑ1Ð9WÓWäÐRÓSÐSð Xð
 øô œJÐ'ó ØØðús   ‚26 ¶A	ÁA	c                 ó   • [        U0 UD6$ ©N)Údict)r   ÚargsÚkwargss      r   Ú	_dict_newr      s   € Ü�Ð ˜Ñ Ð ó    c                 ó   • UR                  SS5      nUc  UnOU(       a  [        S5      e[        U5      US.n [        R                  " S5      R
                  R                  SS5      US'   [        US	U5      $ ! [        [        4 a     Nf = f)
NÚtotalTz@TypedDict takes either a dict or keyword arguments, but not both)Ú__annotations__Ú	__total__r   r   Ú__main__Ú
__module__© )
Ú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¨Ó,Ð,øô œJÐ'ó Ùðús   º3A: Á:BÂBc                   ó4   ^ • \ rS rSrSU 4S jjr\=rrSrU =r	$ )r%   é0   c           	      ó–  >• US:X  a  [         O[        US'   [        [        U ]  X[
        4U5      nUR                  S0 5      nSnUR                  5        VV	s0 sH  u  p‰U[        X—5      _M     nnn	U H.  n
UR                  U
R                  R                  S0 5      5        M0     Xel        [        US5      (       d  XEl        U$ s  sn	nf )NÚ	TypedDictÚ__new__r   z?TypedDict('Name', {f0: t0, f1: t1, ...}); each t must be a typer   )r)   r   Úsuperr%   r.   r   r$   Úitemsr   ÚupdateÚ__dict__r   Úhasattrr   )r   ÚnameÚbasesr(   r   Útp_dictÚannsÚmsgÚnÚtpÚbaseÚ	__class__s              €r   r.   Ú_TypedDictMeta.__new__1   s¶   ø€ ð +/°+Ó*=�Ä9ˆˆ9‰Üœ¨Ñ4°SÄÀÈÓLˆà�v‰vÐ'¨Ó,ˆØOˆØ59·Z±Z´\ÔB±\©E¨A�”;˜rÓ'Ò'±\ˆÑBÛˆDØ�K‰K˜Ÿ™×)Ñ)Ð*;¸RÓ@ÖAñ à"&ÔÜ�w ×,Ñ,Ø %ÔØˆùó Cs   ÁCr"   )T)
r   r!   Ú__qualname__Ú__firstlineno__r.   r   Ú__instancecheck__Ú__subclasscheck__Ú__static_attributes__Ú__classcell__)r<   s   @r   r%   r%   0   s   ø† ÷ð( -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                 ó   • U $ )zA normal positional argumentr"   ©Útyper4   s     r   ÚArgrG   k   ó   € à€Kr   c                 ó   • U $ )z*A positional argument with a default valuer"   rE   s     r   Ú
DefaultArgrJ   p   rH   r   c                 ó   • U $ )zA keyword-only argumentr"   rE   s     r   ÚNamedArgrL   u   rH   r   c                 ó   • U $ )z,A keyword-only argument with a default valuer"   rE   s     r   ÚDefaultNamedArgrN   z   rH   r   c                 ó   • U $ )z*A *args-style variadic positional argumentr"   ©rF   s    r   ÚVarArgrQ      rH   r   c                 ó   • U $ )z*A **kwargs-style variadic keyword argumentr"   rP   s    r   ÚKwArgrS   „   rH   r   c                   ó   • \ rS rSrSrg)ÚNoReturnéŠ   r"   N)r   r!   r>   r?   rB   r"   r   r   rU   rU   Š   s   † ’r   rU   c                 ó   • U $ r   r"   )r   s    r   ÚtraitrX   �   s   € Ø€Jr   c                  ó   • S $ )Nc                 ó   • U $ r   r"   )Úxs    r   Ú<lambda>Úmypyc_attr.<locals>.<lambda>’   s   € ‘Qr   r"   )ÚattrsÚkwattrss     r   Ú
mypyc_attrr`   ‘   s   € ÙÐr   c                   ó    • \ rS rSrS rS rSrg)Ú_FlexibleAliasClsAppliedé—   c                 ó   • Xl         g r   ©Úval)Úselfrf   s     r   Ú__init__Ú!_FlexibleAliasClsApplied.__init__˜   s   € Ø�r   c                 ó   • U R                   $ r   re   ©rg   r   s     r   Ú__getitem__Ú$_FlexibleAliasClsApplied.__getitem__›   s   € Ø�x‰xˆr   re   N)r   r!   r>   r?   rh   rl   rB   r"   r   r   rb   rb   —   s   † òõr   rb   c                   ó   • \ rS rSrS rSrg)Ú_FlexibleAliasClséŸ   c                 ó   • [        US   5      $ )Néÿÿÿÿ)rb   rk   s     r   rl   Ú_FlexibleAliasCls.__getitem__    s   € Ü'¨¨R©Ó1Ð1r   r"   N)r   r!   r>   r?   rl   rB   r"   r   r   ro   ro   Ÿ   s   † õ2r   ro   c                   ó   • \ rS rSrS rSrg)Ú_NativeIntMetaé§   c                 ó"   • [        U[        5      $ r   )Ú
isinstanceÚint)r   Úinsts     r   r@   Ú _NativeIntMeta.__instancecheck__¨   s   € Ü˜$¤Ó$Ð$r   r"   N)r   r!   r>   r?   r@   rB   r"   r   r   ru   ru   §   s   † õ%r   ru   c                   ó"   • \ rS rSrS\4S jrSrg)Úi64é¯   r   c                 ó@   • U[         La  [        X5      $ [        U5      $ r   ©Ú	_sentinelry   ©r   r[   r;   s      r   r.   Úi64.__new__°   ó   € Ø”yÒ Ü�q“<ÐÜ�1‹vˆr   r"   N©r   r!   r>   r?   r�   r.   rB   r"   r   r   r}   r}   ¯   ó   † Ø˜y÷ r   r}   )Ú	metaclassc                   ó"   • \ rS rSrS\4S jrSrg)Úi32é¶   r   c                 ó@   • U[         La  [        X5      $ [        U5      $ r   r€   r‚   s      r   r.   Úi32.__new__·   r„   r   r"   Nr…   r"   r   r   r‰   r‰   ¶   r†   r   r‰   c                   ó"   • \ rS rSrS\4S jrSrg)Úi16é½   r   c                 ó@   • U[         La  [        X5      $ [        U5      $ r   r€   r‚   s      r   r.   Úi16.__new__¾   r„   r   r"   Nr…   r"   r   r   rŽ   rŽ   ½   r†   r   rŽ   c                   ó"   • \ rS rSrS\4S jrSrg)Úu8éÄ   r   c                 ó@   • U[         La  [        X5      $ [        U5      $ r   r€   r‚   s      r   r.   Ú
u8.__new__Å   r„   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)
        )r4   r   )#Ú__doc__r
   r   r   r   r   r   r)   rF   r%   r   r-   r   r!   rG   rJ   rL   rN   rQ   rS   rU   rX   r`   rb   ro   ÚFlexibleAliasru   Úobjectr�   r}   r‰   rŽ   r“   Ú	_int_typeÚformatr"   r   r   Ú<module>rœ      sN  ðñõ ã 
õ òò!ô-ô$9�Tô 9ñ0 ˜;¨¨°Ó4€	Ø€	Ô ðð 
Ô ðB �tô ð
 ˜dô ð
 ˜Dô ð
  4ô ð
 ô ð
 ô ÷ Ñ òò÷ñ ÷2ñ 2ñ
 "Ó#€ô%�Tô %ñ
 ‹H€	ô�Nò ô�Nò ô�Nò ô�>ò ð �c˜3 Ó"€Ið	÷ ‰F˜	×*Ñ*ˆFÐ+ð Öñ #ñ r   