
    yf                     &    \ " 5       r " S  S5      rg)c                   T    \ rS rSrS rS rS rS rS rSS jr	S	 r
S
 rS rS rSrg)LRUCache   c                 8    0 U l         / U l        Xl        X l        g N)_cache_lru	_capacity_dispose)selfcapacitydisposes      //usr/lib/python3/dist-packages/borg/lrucache.py__init__LRUCache.__init__   s    	!    c                 0   XR                   ;  d   S5       eU R                  R                  U5        [        U R                  5      U R                  :  a4  X R                  S   	 [        U R                  5      U R                  :  a  M4  X R                   U'   g )NzQUnexpected attempt to replace a cached item, without first deleting the old item.    )r   r   appendlenr	   r   keyvalues      r   __setitem__LRUCache.__setitem__   sv    ++% 	54	5% 			$))nt~~-YYq\" $))nt~~- Cr   c                     U R                   U   nU R                  R                  U5        U R                  R                  U5        U$ r   )r   r   remover   r   s      r   __getitem__LRUCache.__getitem__   s9    C 				r   c                     U R                   R                  U5      nU R                  U5        U R                  R	                  U5        g r   )r   popr
   r   r   r   s      r   __delitem__LRUCache.__delitem__   s2    $e		r   c                     XR                   ;   $ r   r   )r   r   s     r   __contains__LRUCache.__contains__   s    kk!!r   Nc                     U R                   R                  U[        5      nU[        L a  U$ U R                  R	                  U5        U R                  R                  U5        U$ r   )r   getsentinelr   r   r   )r   r   defaultr   s       r   r(   LRUCache.get"   sL    X.HN				r   c                 L    XR                   ;   d   S5       eX R                   U'   g )Nz1Unexpected attempt to update a non-existing item.r$   r   s      r   updLRUCache.upd*   s&     kk!V#VV! Cr   c                     U R                   R                  5        H  nU R                  U5        M     U R                   R                  5         g r   )r   valuesr
   clear)r   r   s     r   r1   LRUCache.clear0   s5    [['')EMM%  *r   c                 6    U R                   R                  5       $ r   )r   itemsr   s    r   r4   LRUCache.items5   s    {{  ""r   c                 ,    [        U R                  5      $ r   )r   r   r5   s    r   __len__LRUCache.__len__8   s    4;;r   )r   r	   r
   r   r   )__name__
__module____qualname____firstlineno__r   r   r   r!   r%   r(   r-   r1   r4   r8   __static_attributes__ r   r   r   r      s4     !
"!
# r   r   N)objectr)   r   r?   r   r   <module>rA      s   85  5 r   