+
    P(i                         R t Rt^ RIt^ RIt^ RIt^ RIt^ RIHt ^RIH	t	H
t
HtHtHt ^RIHt ^RIHt  ! R R]4      tR tRR
 ltRR ltRR lt^]P*                  R	3R lt^R]P.                  R	3R ltR# )z?`functools.lru_cache` compatible memoizing function decorators.N)	Condition)	FIFOCacheLFUCacheLRUCacheRRCacheTTLCache)cached)keysc                   6   a  ] tR t^t o R t]R 4       tRtV tR# )_UnboundTTLCachec                R    \         P                  ! V \        P                  W4       R # N)r   __init__mathinf)selfttltimers   &&&U/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/cachetools/func.pyr   _UnboundTTLCache.__init__   s    $#5    c                    R # r    )r   s   &r   maxsize_UnboundTTLCache.maxsize   s    r   r   N)	__name__
__module____qualname____firstlineno__r   propertyr   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s     6  r   r   c                    a aa V VV3R  lpV# )c                    < S'       d   \         P                  M\         P                  p\        SV\	        4       R R7      ! V 4      pVV3R lVn        V# )T)cachekey	conditioninfoc                     < R S RS/# r   typedr   r*   s   r   <lambda>+_cache.<locals>.decorator.<locals>.<lambda>    s    Iw+Or   )r	   typedkeyhashkeyr   r   cache_parameters)funcr&   wrapperr%   r   r+   s   &  r   	decorator_cache.<locals>.decorator   s;      %dmm$,,u#4PQUV#O r   r   )r%   r   r+   r3   s   fff r   _cacher5      s     r   Fc                    V f   \        / RV4      # \        V 4      '       d   \        \        ^4      ^V4      ! V 4      # \        \        V 4      W4      # )zDecorator to wrap a function with a memoizing callable that saves
up to `maxsize` results based on a First In First Out (FIFO)
algorithm.

N)r5   callabler   r*   s   &&r   
fifo_cacher8   &   sM     b$&&	'		inc51'::i('99r   c                    V f   \        / RV4      # \        V 4      '       d   \        \        ^4      ^V4      ! V 4      # \        \        V 4      W4      # )zDecorator to wrap a function with a memoizing callable that saves
up to `maxsize` results based on a Least Frequently Used (LFU)
algorithm.

N)r5   r7   r   r*   s   &&r   	lfu_cacher:   4   M     b$&&	'		hsmS%099hw'88r   c                    V f   \        / RV4      # \        V 4      '       d   \        \        ^4      ^V4      ! V 4      # \        \        V 4      W4      # )zDecorator to wrap a function with a memoizing callable that saves
up to `maxsize` results based on a Least Recently Used (LRU)
algorithm.

N)r5   r7   r   r*   s   &&r   	lru_cacher=   B   r;   r   c                    V f   \        / RV4      # \        V 4      '       d   \        \        ^V4      ^V4      ! V 4      # \        \        W4      W4      # )zDecorator to wrap a function with a memoizing callable that saves
up to `maxsize` results based on a Random Replacement (RR)
algorithm.

N)r5   r7   r   )r   choicer+   s   &&&r   rr_cacher@   P   sP     b$&&	'		gc6*C7@@gg.??r   iX  c                    V f   \        \        W4      RV4      # \        V 4      '       d   \        \        ^W4      ^V4      ! V 4      # \        \        WV4      W4      # )zDecorator to wrap a function with a memoizing callable that saves
up to `maxsize` results based on a Least Recently Used (LRU)
algorithm with a per-item time-to-live (TTL) value.

N)r5   r   r7   r   )r   r   r   r+   s   &&&&r   	ttl_cacherB   ^   sX     &s2D%@@	'		hsC/e<WEEhwU3WDDr   )r8   r:   r=   r@   rB   )   F)__doc____all__	functoolsr   randomtime	threadingr    r   r   r   r   r   r   r	   r   r5   r8   r:   r=   r?   r@   	monotonicrB   r   r   r   <module>rL      sp    E
K      > >  x 
:99 e @ s$.. Er   