Ë
    eQêjÙ  ã                   ó*   — d Z ddlZd„ Z G d„ d«      Zy)z8Thread-safe in-memory store for the Kubernetes informer.é    Nc                 ó   — t        | t        «      r@| j                  d«      xs i }|j                  d«      xs d}|j                  d«      xs d}nit        | dd«      }|€yt	        |d«      r#t        |dd«      xs d}t        |dd«      xs d}n*|j                  d«      xs d}|j                  d«      xs d}|rdj                  ||«      S |S )z¸Build a lookup key from object metadata.

    Supports both dict-based objects and generated model objects.
    Returns namespace/name for namespaced objects, just name otherwise.
    ÚmetadataÚ	namespaceÚ ÚnameNz{}/{})Ú
isinstanceÚdictÚgetÚgetattrÚhasattrÚformat)ÚobjÚmetaÚnsr   s       ú^/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/kubernetes/informer/cache.pyÚ_meta_namespace_keyr      sÌ   € ô �#”tÔØ�w‰w�zÓ"Ò( bˆØ�X‰X�kÓ"Ò( bˆØ�x‰x˜ÓÒ% 2‰ä�s˜J¨Ó-ˆØˆ<ØÜ�4˜Ô%Ü˜˜{¨DÓ1Ò7°RˆBÜ˜4 ¨Ó.Ò4°"‰Dà—‘˜+Ó&Ò,¨"ˆBØ—8‘8˜FÓ#Ò) rˆDÙ	Ø�~‰~˜b $Ó'Ð'Ø€Kó    c                   óB   — e Zd ZdZdd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zy)ÚObjectCachezËThread-safe in-memory mapping of Kubernetes objects.

    The SharedInformer keeps this store synchronised with the API server.
    Consumers can call list() and get_by_key() from any thread safely.
    Nc                 ób   — |�|nt         | _        i | _        t        j                  «       | _        y ©N)r   Ú	_key_funcÚ_objectsÚ	threadingÚRLockÚ_rlock)ÚselfÚkey_funcs     r   Ú__init__zObjectCache.__init__4   s&   € Ø%-Ð%9™Ô?RˆŒØˆŒÜ—o‘oÓ'ˆ�r   c                 ó†   — | j                  |«      }| j                  5  || j                  |<   d d d «       y # 1 sw Y   y xY wr   ©r   r   r   ©r   r   Úkeys      r   Ú_putzObjectCache._put;   s:   € Ø�n‰n˜SÓ!ˆØ�[‰[ñ 	%Ø!$ˆD�M‰M˜#Ñ÷	%÷ 	%ñ 	%ús	   ž7·A c                 ó    — | j                  |«      }| j                  5  | j                  j                  |d «       d d d «       y # 1 sw Y   y xY wr   )r   r   r   Úpopr"   s      r   Ú_removezObjectCache._remove@   s@   € Ø�n‰n˜SÓ!ˆØ�[‰[ñ 	)Ø�M‰M×Ñ˜c 4Ô(÷	)÷ 	)ñ 	)ús   žAÁAc                 óœ   — |D �ci c]  }| j                  |«      |“Œ }}| j                  5  || _        d d d «       y c c}w # 1 sw Y   y xY wr   r!   )r   ÚobjectsÚoÚrebuilts       r   Ú_replace_allzObjectCache._replace_allE   sP   € Ø18Ö9¨A�4—>‘> !Ó$ aÑ'Ð9ˆÐ9Ø�[‰[ñ 	$Ø#ˆDŒM÷	$ð 	$ùò :÷	$ð 	$ús   …=¬AÁAc                 óŒ   — | j                   5  t        | j                  j                  «       «      cddd«       S # 1 sw Y   yxY w)z-Return a snapshot list of all cached objects.N)r   Úlistr   Úvalues©r   s    r   r.   zObjectCache.listL   s3   € à�[‰[ñ 	0Ü˜Ÿ™×,Ñ,Ó.Ó/÷	0÷ 	0ò 	0úó	   �#:ºAc                 óŒ   — | j                   5  t        | j                  j                  «       «      cddd«       S # 1 sw Y   yxY w)z)Return a snapshot list of all cache keys.N)r   r.   r   Úkeysr0   s    r   Ú	list_keyszObjectCache.list_keysQ   s3   € à�[‰[ñ 	.Ü˜Ÿ™×*Ñ*Ó,Ó-÷	.÷ 	.ò 	.úr1   c                 óF   — | j                  |«      }| j                  |«      S )z9Look up the cached copy of obj. Returns None when absent.)r   Ú
get_by_keyr"   s      r   r
   zObjectCache.getV   s   € à�n‰n˜SÓ!ˆØ�‰˜sÓ#Ð#r   c                 ó|   — | j                   5  | j                  j                  |«      cddd«       S # 1 sw Y   yxY w)z3Look up an object by key. Returns None when absent.N)r   r   r
   )r   r#   s     r   r6   zObjectCache.get_by_key[   s0   € à�[‰[ñ 	*Ø—=‘=×$Ñ$ SÓ)÷	*÷ 	*ò 	*ús   �2²;r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r$   r'   r,   r.   r4   r
   r6   © r   r   r   r   -   s/   „ ñó(ò%ò
)ò
$ò0ò
.ò
$ó
*r   r   )r;   r   r   r   r<   r   r   ú<module>r=      s   ðñ ?ã ò÷21*ò 1*r   