
    -hhj"                         S SK JrJrJr  S SKJr  S SKr/ SQr " S S\R                  R                  5      r " S S\R                  R                  5      r " S	 S
\5      r " S S\5      rSS jrg)    )DEFAULT_PROTOCOLPickler	Unpickler)BytesION)Shelf
BsdDbShelfDbfilenameShelfopenc                   8    \ rS rSrS r\=r=r=r=r=r	r
S rSrg)_ClosedDictB   c                     [        S5      e)Nz!invalid operation on closed shelf)
ValueError)selfargss     //opt/python-3.13.8/usr/lib/python3.13/shelve.pyclosed_ClosedDict.closedE   s    <==    c                     g)Nz<Closed Dictionary> r   s    r   __repr___ClosedDict.__repr__I   s    $r   r   N)__name__
__module____qualname____firstlineno__r   __iter____len____getitem____setitem____delitem__keysr   __static_attributes__r   r   r   r   r   B   s*    >JPPHPwPP{P[4%r   r   c                   n    \ rS rSr  SS jrS rS rS rSS jrS r	S	 r
S
 rS rS rS rS rS rSrg)r   M   Nc                 T    Xl         Uc  [        nX l        X0l        0 U l        X@l        g N)dictr   	_protocol	writebackcachekeyencodingr   r*   protocolr,   r.   s        r   __init__Shelf.__init__T   s)    	'H!"
&r   c              #      #    U R                   R                  5        H   nUR                  U R                  5      v   M"     g 7fr)   )r*   r$   decoder.   )r   ks     r   r   Shelf.__iter__^   s/     !A((4++,, "s   A Ac                 ,    [        U R                  5      $ r)   )lenr*   r   s    r   r    Shelf.__len__b   s    499~r   c                 R    UR                  U R                  5      U R                  ;   $ r)   encoder.   r*   r   keys     r   __contains__Shelf.__contains__e   s     zz$**+tyy88r   c                 `    UR                  U R                  5      U R                  ;   a  X   $ U$ r)   r;   )r   r>   defaults      r   get	Shelf.geth   s*    ::d&&'49949r   c                     U R                   U   nU$ ! [         am    [        U R                  UR	                  U R
                  5         5      n[        U5      R                  5       nU R                  (       a  X R                   U'    U$ f = fr)   )	r-   KeyErrorr   r*   r<   r.   r   loadr,   r   r>   valuefs       r   r!   Shelf.__getitem__m   sx    	(JJsOE   	(		#**T-=-=">?@AaL%%'E~~"'

3	(s    A3B
	B
c                    U R                   (       a  X R                  U'   [        5       n[        X0R                  5      nUR                  U5        UR                  5       U R                  UR                  U R                  5      '   g r)   )
r,   r-   r   r   r+   dumpgetvaluer*   r<   r.   )r   r>   rI   rJ   ps        r   r"   Shelf.__setitem__w   sW    >>#JJsOIA~~&	u23**,		#**T--./r   c                     U R                   UR                  U R                  5      	  U R                  U	 g ! [         a     g f = fr)   )r*   r<   r.   r-   rF   r=   s     r   r#   Shelf.__delitem__   s?    IIcjj!1!123	

3 		s   6 
AAc                     U $ r)   r   r   s    r   	__enter__Shelf.__enter__   s    r   c                 $    U R                  5         g r)   )close)r   typerI   	tracebacks       r   __exit__Shelf.__exit__   s    

r   c                    U R                   c  g  U R                  5          U R                   R                  5          [	        5       U l         g ! [         a     Nf = f!   S U l          g = f!  [	        5       U l         f !   S U l          f = f= fr)   )r*   syncrW   AttributeErrorr   r   s    r   rW   Shelf.close   s{    99	!IIK		!!'M	 " ! 	!'M	! 	sK   A* A A 
AA* AA* 	A'*B
,A<;B
<	BB
c                 H    [        U S5      (       d  g U R                  5         g )Nr,   )hasattrrW   r   s    r   __del__Shelf.__del__   s    t[)) 

r   c                 ,   U R                   (       aM  U R                  (       a<  SU l         U R                  R                  5        H	  u  pX U'   M     SU l         0 U l        [        U R                  S5      (       a  U R                  R                  5         g g )NFTr]   )r,   r-   itemsra   r*   r]   )r   r>   entrys      r   r]   
Shelf.sync   sh    >>djj"DN"jj..0
!S	 1!DNDJ499f%%IINN &r   )r+   r-   r*   r.   r,   NFzutf-8r)   )r   r   r   r   r1   r   r    r?   rC   r!   r"   r#   rT   rZ   rW   rb   r]   r%   r   r   r   r   r   M   sK     7<$'-9
?!"r   r   c                   @    \ rS rSr  S
S jrS rS rS rS rS r	S	r
g)r      Nc                 2    [         R                  XX#U5        g r)   )r   r1   r/   s        r   r1   BsdDbShelf.__init__   s    t8Dr   c                     U R                   R                  U5      u  p[        U5      nUR                  U R                  5      [        U5      R                  5       4$ r)   )r*   set_locationr   r4   r.   r   rG   rH   s       r   rn   BsdDbShelf.set_location   sH    yy--c2EN

4++,il.?.?.ABBr   c                     [        U R                  5      u  p[        U5      nUR                  U R                  5      [        U5      R                  5       4$ r)   )nextr*   r   r4   r.   r   rG   rH   s       r   rq   BsdDbShelf.next   sA    DIIEN

4++,il.?.?.ABBr   c                     U R                   R                  5       u  p[        U5      nUR                  U R                  5      [        U5      R                  5       4$ r)   )r*   previousr   r4   r.   r   rG   rH   s       r   rt   BsdDbShelf.previous   sF    yy))+EN

4++,il.?.?.ABBr   c                     U R                   R                  5       u  p[        U5      nUR                  U R                  5      [        U5      R                  5       4$ r)   )r*   firstr   r4   r.   r   rG   rH   s       r   rw   BsdDbShelf.first   sD    yy(EN

4++,il.?.?.ABBr   c                     U R                   R                  5       u  p[        U5      nUR                  U R                  5      [        U5      R                  5       4$ r)   )r*   lastr   r4   r.   r   rG   rH   s       r   rz   BsdDbShelf.last   sD    yy~~'EN

4++,il.?.?.ABBr   r   rh   )r   r   r   r   r1   rn   rq   rt   rw   rz   r%   r   r   r   r   r      s.     7<$EC
C
C
C
Cr   r   c                   $    \ rS rSrSS jrS rSrg)r	      Nc                 V    SS K n[        R                  XR                  X5      X45        g )Nr   )dbmr   r1   r
   )r   filenameflagr0   r,   r   s         r   r1   DbfilenameShelf.__init__   s    tXXh5xKr   c                 l    U R                   R                  5         U R                  R                  5         g r)   )r-   clearr*   r   s    r   r   DbfilenameShelf.clear   s"     	

		r   r   cNF)r   r   r   r   r1   r   r%   r   r   r   r	   r	      s    Lr   r	   c                     [        XX#5      $ r)   )r	   )r   r   r0   r,   s       r   r
   r
      s     88??r   r   )pickler   r   r   ior   collections.abccollections__all__abcMutableMappingr   r   r   r	   r
   r   r   r   <module>r      si   v 8 7  
<%+//00 %_KOO** _D(C (CVe &@r   