
    q"h                        S r SSKJr  SSKJr  SSKJrJrJr  \(       a  SSK	J	r	   " S S5      r
 " S S	\
5      r " S
 S\
5      rg)zb
The cache object API for implementing caches. The default is a thread
safe in-memory dictionary.
    )annotations)Lock)IOTYPE_CHECKINGMutableMapping)datetimec                  P    \ rS rSrSS jr S	       S
S jjrSS jrSS jrSrg)	BaseCache   c                    [        5       eNNotImplementedErrorselfkeys     P/var/www/html/env/lib/python3.13/site-packages/pip/_vendor/cachecontrol/cache.pygetBaseCache.get       !##    Nc                    [        5       er   r   r   r   valueexpiress       r   setBaseCache.set   s     "##r   c                    [        5       er   r   r   s     r   deleteBaseCache.delete   r   r   c                    g r    )r   s    r   closeBaseCache.close   s    r   r"   r   strreturnzbytes | Noner   r   r&   r   bytesr   zint | datetime | Noner'   Noner   r&   r'   r*   )r'   r*   )	__name__
__module____qualname____firstlineno__r   r   r   r#   __static_attributes__r"   r   r   r
   r
      s=    $ HL$$$$/D$	$
$r   r
   c                  T    \ rS rSrSS	S jjrS
S jr S       SS jjrSS jrSrg)	DictCache#   Nc                B    [        5       U l        U=(       d    0 U l        g r   )r   lockdata)r   	init_dicts     r   __init__DictCache.__init__$   s    F	O	r   c                :    U R                   R                  US 5      $ r   )r6   r   r   s     r   r   DictCache.get(   s    yy}}S$''r   c                    U R                      U R                  R                  X05        S S S 5        g ! , (       d  f       g = fr   )r5   r6   updater   s       r   r   DictCache.set+   s)     YYIIc\* YYs	   3
Ac                    U R                      XR                  ;   a  U R                  R                  U5        S S S 5        g ! , (       d  f       g = fr   )r5   r6   popr   s     r   r   DictCache.delete1   s-    YYii		c" YYs   +A
A)r6   r5   r   )r7   z!MutableMapping[str, bytes] | Noner'   r*   r%   r(   r+   )	r,   r-   r.   r/   r8   r   r   r   r0   r"   r   r   r2   r2   #   s=    $( HL++$+/D+	+#r   r2   c                  ,    \ rS rSrSrSS jrSS jrSrg)	SeparateBodyBaseCache7   aK  
In this variant, the body is not stored mixed in with the metadata, but is
passed in (as a bytes-like object) in a separate call to ``set_body()``.

That is, the expected interaction pattern is::

    cache.set(key, serialized_metadata)
    cache.set_body(key)

Similarly, the body should be loaded separately via ``get_body()``.
c                    [        5       er   r   )r   r   bodys      r   set_bodySeparateBodyBaseCache.set_bodyD   r   r   c                    [        5       e)z&
Return the body as file-like object.
r   r   s     r   get_bodySeparateBodyBaseCache.get_bodyG   s     "##r   r"   N)r   r&   rF   r)   r'   r*   )r   r&   r'   zIO[bytes] | None)r,   r-   r.   r/   __doc__rG   rJ   r0   r"   r   r   rC   rC   7   s    
$$r   rC   N)rL   
__future__r   	threadingr   typingr   r   r   r   r
   r2   rC   r"   r   r   <module>rP      s@   

 #  4 4!  #	 #($I $r   