
    hj!                     $    S SK Jr   " S S5      rg)   )udBc                   F    \ rS rSrSSS jjrS rS rS rS rS r	S	 r
S
rg)
KeyManager   Nc                     Xl         X l        g N)_key_cast)selfkeycasts      &/root/TeamUltroid/pyUltroid/dB/base.py__init__KeyManager.__init__   s    	
    c                 f   [         R                  " U R                  5      nU R                  (       aB  [	        XR                  5      (       d(  U R                  [
        :X  a  U/$ U R                  U5      $ U=(       d6    [        U R                  5      (       a  U R                  5       $ U R                  $ r   )r   get_keyr	   r
   
isinstancelistcallable)r   _datas     r   getKeyManager.get	   sr    DII&::j

;;"jjD0E7Gdjj6GGN$**)=)=N4::Nr   c                 (    U R                  5       U   $ r   r   )r   r   s     r   	get_childKeyManager.get_child   s    xxz#r   c                 4    [        U R                  5       5      $ r   )lenr   )r   s    r   countKeyManager.count   s    488:r   c                    U R                  5       nUS :X  a)  [        [        U5      5      (       a  [        U5      " 5       n[        U[        5      (       a'  [        U[        5      (       a  UR                  U5        O-[        U[        5      (       a  X;  a  UR                  U5        Og [        R                  " U R                  U5        g r   )r   r   typer   dictupdater   appendr   set_keyr	   r   itemcontents      r   addKeyManager.add   s    ((*d?xT
334jlGgt$$D$)?)?NN4 &&4+>NN4 DIIw'r   c                    U R                  5       n[        U[        5      (       a  X;   a  UR                  U5        O/[        U[        5      (       a  UR                  U5      (       a  X!	 Og [
        R                  " U R                  U5        g r   )r   r   r   remover$   r   r'   r	   r(   s      r   r.   KeyManager.remove!   s_    ((*gt$$NN4 &&7;;t+<+<DIIw'r   c                 &    XR                  5       ;   $ r   r   )r   r)   s     r   containsKeyManager.contains+   s    xxz!!r   )r
   r	   r   )returnN)__name__
__module____qualname____firstlineno__r   r   r   r    r+   r.   r1   __static_attributes__ r   r   r   r      s&    O
(("r   r   N) r   r   r9   r   r   <module>r;      s    (" ("r   