+
    P\i*  c                  s  a  0 t $ ^ RIHt R7t^ RIt^ RIt^ RIHt ^ RIH	t	H
t
HtHtHtHt ^ RIHt ^ R	IHt ^ R
IHtHtHtHtHtHtHtHt ^ RIHt ^RIHt ^RIH t H!t! ]PD                  R88  d   ^ RIH#t# M^ RI$H#t# ]! R4      t%]! R4      t&]#! R4      t'] ! R4      t(R])R&    ! R R4      t*]*! 4       t+R])R&    ! R R]4      t, ! R R]4      t- ! R R]]%,          4      t.] ! R R]]']%3,          4      4       t/ ! R R]]%,          4      t0]R R l4       t1]R  R! l4       t1R" R# lt1]R$R%R&R%R'R%/R( R) ll4       t2]R* R+ l4       t2]R, R- l4       t2R9R$^R&R.R'R./R/ R0 lllt2]R1 R2 l4       t3]R3 R4 l4       t3]+3R5 R6 llt3R# ):    )annotationsAsyncCacheInfoAsyncCacheParametersAsyncLRUCacheWrapperN)OrderedDict)AsyncIterable	AwaitableCallable	CoroutineHashableIterable)update_wrapper)iscoroutinefunction)AnyGeneric
NamedTuple	TypedDictTypeVarcastfinaloverload)WeakKeyDictionary)Lock)RunVar
checkpoint)	ParamSpecTSPlru_cache_itemszRunVar[WeakKeyDictionary[AsyncLRUCacheWrapper[Any, Any], OrderedDict[Hashable, tuple[_InitialMissingType, Lock] | tuple[Any, None]]]]c                  s    ] tR t^8tRtR# )_InitialMissingType N)__name__
__module____qualname____firstlineno____static_attributes__r        4/usr/lib/python3.14/site-packages/anyio/functools.pyr   r   8   s    r&   r   initial_missingc                  s@    ] tR t^?t$ R]R&   R]R&   R]R&   R]R&   RtR# )	r   ZintZhitsZmisses
int | NonemaxsizeZcurrsizer    Nr!   r"   r#   r$   __annotations__r%   r    r&   r'   r   r   ?   s    
IKMr&   c                  s6    ] tR t^Ft$ R]R&   R]R&   R]R&   RtR# )r   r)   r*   booltypedalways_checkpointr    Nr+   r    r&   r'   r   r   F   s    Kr&   c                  sR    ] tR t^LtR R ltR R ltR R ltR R ltR	 R
 ltRt	R# )_LRUMethodWrapperc                    V ^8  d   QhRRRR/# )   wrapperzAsyncLRUCacheWrapper[..., T]instanceobjectr    Zformat   "r'   __annotate___LRUMethodWrapper.__annotate__M   s     # # < # #r&   c                	s    Wn         W n        R # N)_LRUMethodWrapper__wrapper_LRUMethodWrapper__instance)selfr3   r4   s   &&&r'   __init__Z_LRUMethodWrapper.__init__M   s     "r&   c                   V ^8  d   QhRR/# r2   returnr   r    r6   r7   r'   r8   r9   Q   s     + +N +r&   c                	6    V P                   P                  4       # r:   )r;   
cache_infor=      &r'   rC   Z_LRUMethodWrapper.cache_infoQ   s    ~~((**r&   c               r?   r2   rA   r   r    r6   r7   r'   r8   r9   T   s     1 1"6 1r&   c                	rB   r:   )r;   cache_parametersrD   rE   r'   rG   Z"_LRUMethodWrapper.cache_parametersT   s    ~~..00r&   c               r?   r2   rA   ZNoner    r6   r7   r'   r8   r9   W   s     % %T %r&   c                	s:    V P                   P                  4        R # r:   )r;   cache_clearrD   rE   r'   rI   Z_LRUMethodWrapper.cache_clearW   s    ""$r&   c               s$    V ^8  d   QhRRRRRR/# )r2   argsr   kwargsrA   r   r    r6   r7   r'   r8   r9   Z   s&     F FC F3 F1 Fr&   c                	s   "   V P                   f   V P                  ! V/ VB G R j  xL
 # V P                  ! V P                   .VO5/ VB G R j  xL
 #  L, L5ir:   )r<   r;   )r=   rJ   rK   s   &*,r'   __call__Z_LRUMethodWrapper.__call__Z   sN     ??"8888^^DOOEdEfEEE 9Es!   $AA'AAAA)Z
__instanceZ	__wrapperN)
r!   r"   r#   r$   r>   rC   rG   rI   rL   r%   r    r&   r'   r0   r0   L   s"    #+1%F Fr&   r0   c                  sb    ] tR t^atR R ltR R ltR R ltR R ltR	 R
 ltRR R llt	Rt
R# )r   c               s(    V ^8  d   QhRRRRRRRR/# )r2   funczCallable[P, Awaitable[T]]r*   r)   r.   r-   r/   r    r6   r7   r'   r8   !AsyncLRUCacheWrapper.__annotate__c   s2     # #'# # 	#
  #r&   c                	s    Wn         ^ V n        ^ V n        Ve   \        V^ 4      MRV n        ^ V n        W0n        W@n        \        W4       R# )r    N)	__wrapped___hits_missesZmax_maxsize	_currsize_typed_always_checkpointr   )r=   rM   r*   r.   r/   s   &&&&&r'   r>   ZAsyncLRUCacheWrapper.__init__c   sF      
+2+>GQD"3t"r&   c               r?   r@   r    r6   r7   r'   r8   rN   s   s     W WN Wr&   c                	sn    \        V P                  V P                  V P                  V P                  4      # r:   )r   rP   rQ   rR   rS   rD   rE   r'   rC   ZAsyncLRUCacheWrapper.cache_infos   s#    djj$,,t~~VVr&   c               r?   rF   r    r6   r7   r'   r8   rN   v   s     
 
"6 
r&   c                	sN    R V P                   RV P                  RV P                  /# r*   r.   r/   rR   rT   rU   rD   rE   r'   rG   Z%AsyncLRUCacheWrapper.cache_parametersv   s)    t}}T[[!8!8
 	
r&   c               r?   rH   r    r6   r7   r'   r8   rN   }   s     ; ;T ;r&   c                	s    \         P                  R 4      ;p'       d*   VP                  V R 4       ^ ;V n        ;V n        V n        R # R # r:   )r   getZpoprP   rQ   rS   )r=   cache   & r'   rI   Z AsyncLRUCacheWrapper.cache_clear}   s@    #''--5-IIdD!9::DJ: .r&   c               $    V ^8  d   QhRRRRRR/# )r2   rJ   zP.argsrK   zP.kwargsrA   r   r    r6   r7   r'   r8   rN      s&     B BF Bh B1 Br&   c                	s  "   V P                   ^ 8X  d6   V P                  ! V/ VB G Rj  xL
 pV ;P                  ^,          un        V# TpV'       d.   V\        3\	        VP                  4       R4      ,           ,          pV P                  '       d   T\        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      ,          pV'       d\   T\        3\        ;QJ d"    . R VP                  4        4       F  NK  	  5M! R VP                  4        4       4      ,           ,          p \        P                  4       p WP,          p Wd,          w  rxVf_   V ;P$                  ^,          un        VP'                  V4       V P"                  '       d   \)        4       G Rj  xL
  \+        \,        V4      # T;_uu_4       GRj  xL
  Wd,          ^ ,          ;p\        J d   V ;P                  ^,          un        V P                   e/   V P.                  V P                   8  d   VP1                  RR7       MV ;P.                  ^,          un        V P                  ! V/ VB G Rj  xL
 pVR3Wd&   M:V ;P$                  ^,          un        VP'                  V4       \+        \,        V4      pRRR4      GRj  xL
  V#  EL  \         d$    \        4       p\        P                  T4        ELi ; i  \         d    \        4       ;qeT &    ELi ; i  \         d*    \        \!        T P"                  '       * R7      rYx3Yd&    ELi ; i EL EL L L  + GRj  xL 
 '       g   i     X# ; i5i)r    Nc              3  8   "   T F  p\        V4      x  K  	  R # 5ir:   Ztype).0ZargrZ   r'   	<genexpr>0AsyncLRUCacheWrapper.__call__.<locals>.<genexpr>   s     3dscd   c              3  r\   r:   r]   )r^   ZvalrZ   r'   r_   r`      s     1W$s))ra   )Zfast_acquireF)Zlastr    )rR   rO   rQ   r(   ZsumZitemsrT   ZtupleZvaluesr   rX   ZLookupErrorr   ZsetZKeyErrorr   r   rU   rP   Zmove_to_endr   r   r   rS   Zpopitem)	r=   rJ   rK   valueZkeyrY   Zcache_entryZcached_valueZlocks	   &*,      r'   rL   ZAsyncLRUCacheWrapper.__call__   s    ==A**D;F;;ELLALL  $O%FLLNB(???C;;;553d3553d333C)EE1Wv}}1WEE1Wv}}1W,WWW	'#'')E
	6+K
	2!,!1L <JJ!OJ##C(&&& l""<((44 + 0 33G!==,4==1P''U'3NNa'N"..???#($;  

a
'',Q- 4"  <"  	'%'E&	'  	6(35K+	6  	2  d&=&="=>   ,1K	2 #  @ 444" s  'M,J:(M,>M,M,.M,M,A	M,)J= >K. 
L ?M,M,M"M,MM,BM"M#AM(M,3M4M,=*K+'M,*K++M,.LM,
LM,0M>M,MM,M,MM,M)	M
M)	!M)	#	M,Nc               r[   )r2   r4   r5   ownerztype | NonerA   z_LRUMethodWrapper[T]r    r6   r7   r'   r8   rN      s$      '2	r&   c                	sF    \        W4      p\        W0P                  4       V# r:   )r0   r   rO   )r=   r4   rc   r3   s   &&& r'   __get__ZAsyncLRUCacheWrapper.__get__   s!     $D3w 0 01r&   )rO   rU   rS   rP   rR   rQ   rT   r:   )r!   r"   r#   r$   r>   rC   rG   rI   rL   rd   r%   r    r&   r'   r   r   a   s(    # W
;
BH r&   c                  sZ    ] tR t^tR R lt]R R l4       t]R R l4       tR R ltR	tR
# )_LRUCacheWrapperc               s$    V ^8  d   QhRRRRRR/# )r2   r*   r)   r.   r-   r/   r    r6   r7   r'   r8   _LRUCacheWrapper.__annotate__   s!     4 4
 44 4D 4r&   c                	s*    Wn         W n        W0n        R # r:   rW   )r=   r*   r.   r/   s   &&&&r'   r>   Z_LRUCacheWrapper.__init__   s    "3r&   c               r1   r2   rM   z#Callable[P, Coroutine[Any, Any, T]]rA   zAsyncLRUCacheWrapper[P, T]r    r6   r7   r'   r8   rf      s     ) )7)	#)r&   c               	    R # r:   r    r=   rM      ""r'   rL   _LRUCacheWrapper.__call__   s     &)r&   c               r1   r2   rM   zCallable[..., T]rA   zfunctools._lru_cache_wrapper[T]r    r6   r7   r'   r8   rf      s     . .$.	(.r&   c               	rh   r:   r    ri   rj   r'   rL   rk      s     +.r&   c               r1   )r2   fz6Callable[P, Coroutine[Any, Any, T]] | Callable[..., T]rA   <AsyncLRUCacheWrapper[P, T] | functools._lru_cache_wrapper[T]r    r6   r7   r'   r8   rf      s      P PGP	EPr&   c               	s    \        V4      '       d,   \        WP                  V P                  V P                  4      # \
        P                  ! V P                  V P                  R 7      ! V4      # ))r*   r.   )r   r   rR   rT   rU   	functools	lru_cache)r=   rm   rj   r'   rL   rk      sS     q!!'==$++t/F/F  ""4==LQOOr&   )rU   rR   rT   N)r!   r"   r#   r$   r>   r   rL   r%   r    r&   r'   re   re      s;    4
 ) ) . .P Pr&   re   c               r1   rg   r    r6   r7   r'   r8   r8           % %
-%%r&   c               rh   r:   r    rM   r7   r'   rY   rY           "%r&   c               r1   rl   r    r6   r7   r'   r8   r8      s     L L  L(G Lr&   c               rh   r:   r    rr   r7   r'   rY   rY      s    ILr&   c               r1   )r2   rM   z6Callable[..., T] | Callable[P, Coroutine[Any, Any, T]]rA   rn   r    r6   r7   r'   r8   r8      s     	) 	)
@	)A	)r&   c               s&    \        RR7      ! V 4      # )z
A convenient shortcut for :func:`lru_cache` with ``maxsize=None``.

This is the asynchronous equivalent to :func:`functools.cache`.

N)r*   )rp   rr   r7   r'   rY   rY      s     T"4((r&   r*   .r.   r/   c               s(    V ^8  d   QhRRRRRRRR/# )r2   r*   r)   r.   r-   r/   rA   z_LRUCacheWrapper[Any]r    r6   r7   r'   r8   r8      s,         )- HL  r&   c                rh   r:   r    rV   s   $$$r'   rp   rp      s      r&   c               r1   rg   r    r6   r7   r'   r8   r8     rq   r&   c               rh   r:   r    rr   r7   r'   rp   rp     rs   r&   c               r1   rl   r    r6   r7   r'   r8   r8     s     P P$ P,K Pr&   c               rh   r:   r    rr   r7   r'   rp   rp     s    MPr&   Fc          
     s,    V ^8  d   QhRRRRRRRRRR	/# )
r2   rM   z=Callable[P, Coroutine[Any, Any, T]] | Callable[..., T] | Noner*   r)   r.   r-   r/   rA   zTAsyncLRUCacheWrapper[P, T] | functools._lru_cache_wrapper[T] | _LRUCacheWrapper[Any]r    r6   r7   r'   r8   r8     sD     H H
GH 	H
 H H YHr&   c              s    V f   \         \        ,          ! WV4      # \        V 4      '       g   \        R4      h\         \        ,          ! WV4      ! V 4      # )az  
An asynchronous version of :func:`functools.lru_cache`.

If a synchronous function is passed, the standard library
:func:`functools.lru_cache` is applied instead.

:param always_checkpoint: if ``True``, every call to the cached function will be
    guaranteed to yield control to the event loop at least once

.. note:: Caches and locks are managed on a per-event loop basis.

z#the first argument must be callable)re   r   Zcallable	TypeErrorr   )rM   r*   r.   r/   s   "$$$r'   rp   rp     sI    , |$W5FGGD>>=>>Aw/@A$GGr&   c               s(    V ^8  d   QhRRRRRRRR/# )r2   initialr   functionzCallable[[T, S], Awaitable[T]]iterablezIterable[S] | AsyncIterable[S]rA   r    r6   r7   r'   r8   r8   /  s0       	,,
 r&   c                  "   R # 5ir:   r    )rv   rw   ru   s   ""&r'   reducery   .  s
      	   c               r[   )r2   rv   zCallable[[T, T], Awaitable[T]]rw   zIterable[T] | AsyncIterable[T]rA   r   r    r6   r7   r'   r8   r8   8  s&      ,, 	r&   c               rx   r:   r    )rv   rw   rj   r'   ry   ry   7  s
     
 	rz   c               s(    V ^8  d   QhRRRRRRRR/# )	r2   ru   zT | _InitialMissingTyperv   z?Callable[[T, T], Awaitable[T]] | Callable[[T, S], Awaitable[T]]rw   z?Iterable[T] | Iterable[S] | AsyncIterable[T] | AsyncIterable[S]rA   r   r    r6   r7   r'   r8   r8   ?  s0     8 8 %	8M8M8
 8r&   c               s  "   Rp\        V\        4      '       ds   VP                  4       pV\        J d)    \	        \
        VP                  4       G Rj  xL
 4      pM\	        \
        V4      pV  Rj  xL
  pV ! WV4      G Rj  xL
 pRpK  \        V\        4      '       d]   \        V4      pV\        J d    \	        \
        \        V4      4      pM\	        \
        V4      pV F  pV ! WV4      G Rj  xL
 pRpK  	  M\        R4      hV'       g   \        4       G Rj  xL
  V#  L  \         d    \        R4      Rhi ; i L LDL?  \         d    \        R4      Rhi ; i Lp LF5i)aX  
Asynchronous version of :func:`functools.reduce`.

:param function: a coroutine function that takes two arguments: the accumulated
    value and the next element from the iterable
:param iterable: an iterable or async iterable
:param initial: the initial value (if missing, the first element of the iterable is
    used as the initial value)

FNz0reduce() of empty sequence with no initial valueTz9reduce() argument 2 must be an iterable or async iterable)Z
isinstancer   Z	__aiter__r(   r   r   Z	__anext__ZStopAsyncIterationrt   r   ZiterZnextZStopIterationr   )rv   rw   ru   Zfunction_calledZasync_itrb   ZelementZits   ""&     r'   ry   ry   ?  s^    " O(M**%%'o%Qh&8&8&: :; G$E% 	# 	#'"522E"O	Hh	'	'(^o%QR) G$EG"522E"O  STT lLE !;% F	#2 & ! F 3 	s   3E(D( D&
D( E(/E3E4E7E(E3E(9E	 !E(3E$4E(E(E& E(&D( (E  E(EE(E(	E!!E(&E()r   r   r   rY   rp   ry   )i   i   r:   )4__conditional_annotations__Z
__future__r   Z__all__ro   ZsysZcollectionsr   Zcollections.abcr   r   r   r	   r
   r   r   Zinspectr   Ztypingr   r   r   r   r   r   r   r   Zweakrefr   Z_core._synchronizationr   Zlowlevelr   r   Zversion_infor   Ztyping_extensionsr   r   r   r   r,   r   r(   r   r   r0   r   re   rY   rp   ry   )r{   s   @r'   <module>r|      s   " "  
 #  % '	 	 	 & ( (w +CLCLcN    	 	 (;'<$ <Z 9 F
 F* i71a4= i iXPwqz P6 
% 
%
 
 L 
 L	) 
   03 OR  
 
 
% 
%
 
 P 
 PH 	H
 H $H H> 
 
 
 
 (7	8 8r&   