+
    i,  c                   s   R t  ^ RI5 RR lt;R t<RR lt=R t>R t? ! R R4      t@ ! R R4      tAR tB]C! 4        U u. uF  q P                  R4      '       d   K  T NK  	  up tER#   ] Ed    ^ RItR t]! ]4      t]! R 4      t]! ]P                  4      t	]! ]P                  4      t]! ]P                  4      tR t]! ]! 4       4      tR t]! ]! 4       4      tR t]! 4       t]! ]4      t]P)                  4        R t]! 4       t]! ]4      t ! R	 R
4      t]! ]! 4       P0                  4      t]! ]4      t]! . P8                  4      t]! ]P>                  4      t ]! ]! 4       PB                  4      t"]! ]#PH                  4      t%]! ]&P                  R,          4      t']! ]4      t( ])h  ]) d9   t*]! ]*PV                  4      t,]! ]*PV                  PZ                  4      t. Rt*A*MRt*A*ii ; i]! ]P                  4      t/]! ]P`                  4      t1]! ]2]3,          4      t4]! ]3]#,          4      t5]! ]64      t7]! R4      t8]! ]94      t:AAAAAAA ELEi ; iu up i )zO
Define names for built-in types that aren't directly accessible as a builtin.
)Z*Nc                      R # N r       /usr/lib64/python3.14/types.py_fr      s    dr   c                  r    r   r   r   r   r   <lambda>r      s    dr   c                  s:   a ^oV3R lp V P                   ^ ,          # )   c                  s   < R # r   r   )as   r   fZ_cell_factory.<locals>.f   s    r   )Z__closure__)r	   r   s    @r   _cell_factoryr
      s    	}}Qr   c               #   s   "   ^x  R# 5i)r   Nr   r   r   r   _gr      s
     s   	c                  s   "   R # 5ir   r   r   r   r   _cr   !   s     Ds   c                 s   "   R 5x  R # 5ir   r   r   r   r   _agr   &   s     s   
c                   s&   a  ] tR t^+t o R tRtV tR# )_Cc                r    r   r   self   &r   _mZ_C._m,   s    dr   r   N)__name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell__Z__classdict__   @r   r   r   +   s     r   r   Zfromkeysc                st    \        V4      p\        WV4      w  rVpVe	   V! V4       WAJd   WR&   V! WV3/ VB # )zBCreate a class object dynamically using the appropriate metaclass.__orig_bases__)resolve_basesprepare_class)namebaseskwdsZ	exec_bodyZresolved_basesmetanss   &&&&   r   	new_classr#   P   sJ    "5)N"4>NDd""$b1D11r   c                s   \        V 4      pRp^ p\        V 4       F  w  rE\        V\        4      '       d   K  \	        VR4      '       g   K1  VP                  V 4      pRp\        V\        4      '       g   \        R4      hWaWC,           WC,           ^,           % V\        V4      ^,
          ,          pK  	  V'       g   V # \        V4      # )z8Resolve MRO entries dynamically as specified by PEP 560.F__mro_entries__Tz#__mro_entries__ must return a tuple)	listZ	enumerate
isinstancetypehasattrr$   Ztuple	TypeErrorlen)r   Z	new_basesZupdatedZshiftZibaseZnew_bases   &      r   r   r   Z   s    UIGEU#dD!!t.//''.(E**ABB+3agagai(S]Q&&E $ r   c                s4   Vf   / pM\        V4      pRV9   d   VP                  R4      pM!V'       d   \        V^ ,          4      pM\        p\        V\        4      '       d   \	        W14      p\        VR4      '       d   VP                  ! W3/ VB pM/ pW4V3# )a^  Call the __prepare__ method of the appropriate metaclass.

Returns (metaclass, namespace, kwds) as a 3-tuple

*metaclass* is the appropriate metaclass
*namespace* is the prepared class namespace
*kwds* is an updated copy of the passed in kwds argument with any
'metaclass' entry removed. If no kwds argument is passed in, this will
be an empty dict.
Z	metaclass__prepare__)dictZpopr'   r&   _calculate_metar(   r,   )r   r   r    r!   r"   s   &&&  r   r   r   o   s     |Dzdxx$a>DD$ t+t]##d2T2T>r   c                s    T pV F?  p\        V4      p\        W$4      '       d   K!  \        WB4      '       d   TpK6  \        R4      h	  V# )z%Calculate the most derived metaclass.zxmetaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases)r'   Z
issubclassr)   )r!   r   Zwinnerr+   Z	base_metas   &&   r   r.   r.      sT    FJ	f((i((F > ? 	?  Mr   c               s     V P                   P                  RV P                  4      #   \         d%    \	        R\        T 4      P                  : 24      Rhi ; i)a  Return the class's "original" bases prior to modification by `__mro_entries__`.

Examples::

    from typing import TypeVar, Generic, NamedTuple, TypedDict

    T = TypeVar("T")
    class Foo(Generic[T]): ...
    class Bar(Foo[int], float): ...
    class Baz(list[str]): ...
    Eggs = NamedTuple("Eggs", [("a", int), ("b", str)])
    Spam = TypedDict("Spam", {"a": int, "b": str})

    assert get_original_bases(Bar) == (Foo[int], float)
    assert get_original_bases(Baz) == (list[str],)
    assert get_original_bases(Eggs) == (NamedTuple,)
    assert get_original_bases(Spam) == (TypedDict,)
    assert get_original_bases(int) == (object,)
r   z"Expected an instance of type, not N)__dict__ZgetZ	__bases__AttributeErrorr)   r'   r   )Zclss   "r   get_original_basesr1      sW    (|| 0#--@@ 0c1C1C0FG
	s	   %( /Ac                   sV   a  ] tR t^t o RtRR ltRR ltR tR tR t	R t
R	 tR
tV tR# )DynamicClassAttributea  Route attribute access on a class to __getattr__.

This is a descriptor, used to define attributes that act differently when
accessed through an instance and through a class.  Instance access remains
normal, but access to an attribute through a class will be routed to the
class's __getattr__ method; this is done by raising AttributeError.

This allows one to have properties active on an instance, and have virtual
attributes on the class with the same name.  (Enum used this between Python
versions 3.4 - 3.9 .)

Subclass from this to use a different method of accessing virtual attributes
and still be treated properly by the inspect module. (Enum uses this since
Python 3.10 .)

Nc                s    Wn         W n        W0n        T;'       g    VP                  V n        VR J V n        \        \        VRR4      4      V n        R # )N__isabstractmethod__F)fgetfsetfdel__doc__overwrite_docZboolgetattrr3   )r   r4   r5   r6   Zdocs   &&&&&r   __init__ZDynamicClassAttribute.__init__   sG    			**dll D[$(7Mu)U$V!r   c                s    Vf   V P                   '       d   V # \        4       hV P                  f   \        R4      hV P                  V4      # )Nzunreadable attribute)r3   r0   r4   )r   instanceZ
ownerclass   &&&r   __get__ZDynamicClassAttribute.__get__   sG    ((( ""YY !788yy""r   c                sZ    V P                   f   \        R4      hV P                  W4       R # )Nzcan't set attribute)r5   r0   )r   r;   Zvaluer<   r   __set__ZDynamicClassAttribute.__set__   s$    99 !677		("r   c                sZ    V P                   f   \        R4      hV P                  V4       R # )Nzcan't delete attribute)r6   r0   )r   r;      &&r   
__delete__Z DynamicClassAttribute.__delete__   s$    99 !9::		(r   c                s    V P                   '       d   VP                  MR p\        V 4      ! YP                  V P                  T;'       g    V P                  4      pV P                   Vn         V# r   )r8   r7   r'   r5   r6   )r   r4   Zfdocresults   &&  r   getterZDynamicClassAttribute.getter   sQ    #111t||tdD))TYY8L8LM#11r   c                s    \        V 4      ! V P                  WP                  V P                  4      pV P                  Vn        V# r   )r'   r4   r6   r7   r8   )r   r5   rA      && r   setterZDynamicClassAttribute.setter   s3    dDIItYYE#11r   c                s    \        V 4      ! V P                  V P                  WP                  4      pV P                  Vn        V# r   )r'   r4   r5   r7   r8   )r   r6   rA   rC   r   deleterZDynamicClassAttribute.deleter   s3    dDIItyy$E#11r   )r7   r3   r6   r4   r5   r8   )NNNNr   )r   r   r   r   r7   r:   r=   r>   r@   rB   rD   rE   r   r   r   r   r   r2   r2      s3      W##


 r   r2   c                   s   a  ] tR t^t o R tR tR tR t]R 4       t	]R 4       t
]R 4       t]R 4       t]R	 4       t]	t]
t]t]t]tR
 tR t]tRtV tR# )_GeneratorWrapperc                s    Wn         VP                  \        J V n        \	        VR R4      V n        \	        VRR4      V n        R# )r   Nr   )_GeneratorWrapper__wrapped	__class__GeneratorType_GeneratorWrapper__isgenr9   r   r   )r   Zgenr?   r   r:   Z_GeneratorWrapper.__init__   s8    }}5Z6#C>r   c                s8    V P                   P                  V4      # r   )rG   send)r   Zvalr?   r   rK   Z_GeneratorWrapper.send  s    ~~""3''r   c                s>    V P                   P                  ! V.VO5!  # r   )rG   throw)r   ZtpZrests   &&*r   rL   Z_GeneratorWrapper.throw  s    ~~##B...r   c                s6    V P                   P                  4       # r   )rG   closer   r   r   rM   Z_GeneratorWrapper.close  s    ~~##%%r   c                .    V P                   P                  # r   )rG   gi_coder   r   r   rO   Z_GeneratorWrapper.gi_code	  s    ~~%%%r   c                rN   r   )rG   gi_framer   r   r   rP   Z_GeneratorWrapper.gi_frame  s    ~~&&&r   c                rN   r   )rG   
gi_runningr   r   r   rQ   Z_GeneratorWrapper.gi_running  s    ~~(((r   c                rN   r   )rG   gi_yieldfromr   r   r   rR   Z_GeneratorWrapper.gi_yieldfrom      ~~***r   c                rN   r   )rG   gi_suspendedr   r   r   rT   Z_GeneratorWrapper.gi_suspended  rS   r   c                s,    \        V P                  4      # r   )ZnextrG   r   r   r   __next__Z_GeneratorWrapper.__next__  s    DNN##r   c                sB    V P                   '       d   V P                  # V # r   )rJ   rG   r   r   r   __iter__Z_GeneratorWrapper.__iter__  s    <<<>>!r   )Z__isgenr   r   Z	__wrappedN)r   r   r   r   r:   rK   rL   rM   ZpropertyrO   rP   rQ   rR   rT   Zcr_codeZcr_frameZ
cr_runningZcr_awaitZcr_suspendedrU   rV   Z	__await__r   r   r   r   r   rF   rF      s     ?
(/&& &' ') )+ ++ +GHJHL$ Ir   rF   c                s  a a \        S 4      '       g   \        R4      hS P                  \        J d   \	        S RR4      P                  \
        J dm   S P                  P                  pVR,          '       d   S # V^ ,          '       d7   S P                  pVP                  VP                  R,          R7      S n        S # ^ RI	p^ RI
oVP                  S 4      VV 3R l4       pV# )z2Convert regular generator function to a coroutine.z$types.coroutine() expects a callable__code__Ni     )co_flagsc                  s8  < S! V / VB pVP                   \        J g8   VP                   \        J d&   VP                  P                  R ,          '       d   V# \        VSP                  4      '       d(   \        VSP                  4      '       g   \        V4      # V# )rX   )	rH   CoroutineTyperI   rO   rY   r&   Z	GeneratorZ	CoroutinerF   )ZargsZkwargsZcoro_collections_abcfuncs   *, r   wrappedZcoroutine.<locals>.wrappedE  s    T$V$NNm+NNm+0E0E0M0MKt-77884!1!;!;<< %T** r   )Zcallabler)   rH   FunctionTyper9   CodeTyperW   rY   Zreplace	functoolsr[   Zwraps)r\   rY   Zcor`   r]   r[   s   f    @r   	coroutinera   %  s     D>>>??,&j$'11X===)) eK d??BJJe0CJDDMK __T   Nr   Z_)r   NN)r   N)Fr7   Z_typesZImportErrorZsysr   r'   r^   Z
LambdaTyperW   r_   r/   ZMappingProxyTypeZimplementationZSimpleNamespacer
   ZCellTyper   rI   r   rZ   rM   r   ZAsyncGeneratorTyper   r   Z
MethodTyper*   ZBuiltinFunctionTypeZappendZBuiltinMethodTypeZobjectr:   ZWrapperDescriptorTypeZ__str__ZMethodWrapperTypeZstrZjoinZMethodDescriptorTyper-   ZClassMethodDescriptorTypeZ
ModuleTyper)   ZexcZ__traceback__ZTracebackTypeZtb_frameZ	FrameTypeZGetSetDescriptorTypeZ__globals__ZMemberDescriptorTyper%   ZintZGenericAliasZ	UnionTypeZEllipsisZEllipsisTypeZNoneTypeZNotImplementedZNotImplementedTyper#   r   r   r.   r1   r2   rF   ra   ZglobalsZ
startswithZ__all__)Zns   0r   <module>rb      sL  B0J2*@$8< <~' 'R1f i
9i||C'811i
9Y
  @08Ll#JBKK HDMM*3--.O 
 MO$HJM	BHMHHJ
%Cc bdggJs)RYY 1VX--.> $T]]:%> ?cJ5 5S../**334	5   5 56 8 89S	?LS3YI>LDzHn-
 	RRS-A@0X
 :sB   A$ II$EI&F((G'/.G"I"G''A$II