Ë
    eQêj›,  ã                   ó”   — d dl Z d dlZd dlZd dlZd dlmZ d dlmZ dZdZ	dZ
e j                  j                  Zd„ Zd„ Z G d	„ d
«      Zy)é    N)ÚAny)Úclientz:rtype:z:param follow:ÚListc                 óÖ  — t        j                  | «      j                  }|t         j                  j                  ur|t
        urt        j                  |«      r|S t        |t        «      rt        t        j                  |«      r|S t        j                  | «      xs dj                  «       D ]9  }|j                  t         «      sŒ|t#        t         «      d  j%                  «       c S  y)NÚ )ÚinspectÚ	signatureÚreturn_annotationÚ	SignatureÚemptyr   ÚisclassÚ
isinstanceÚstrÚhasattrr   ÚmodelsÚpydocÚgetdocÚ
splitlinesÚ
startswithÚPYDOC_RETURN_LABELÚlenÚstrip)ÚfuncÚreturn_typeÚlines      ú[/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/kubernetes/watch/watch.pyÚ_find_return_typer   $   s¹   € Ü×#Ñ# DÓ)×;Ñ;€Kàœ7×,Ñ,×2Ñ2Ñ2ØœsÑ"Ü�O‰O˜KÔ(àÐä�;¤Ô$Ü”F—M‘M ;Ô/àÐÜ—‘˜dÓ#Ò) r×5Ñ5Ó7ò :ˆØ�?‰?Ô-Õ.ØœÔ.Ó/Ð0Ð1×7Ñ7Ó9Ò9ð:ð ó    c              #   óÔ  K  — t        «       }| j                  d d¬«      D ]Ä  }t        |t        «      r|j	                  |«       nIt        |t
        «      r!|j	                  |j                  d«      «       nt        dt        |«      › d�«      ‚|j                  d«      }|dk7  sŒ…|d | j                  dd¬	«      }||d
z   d  }|r|–— nd–— |j                  d«      }|dk7  rŒ@ŒÆ y ­w)NF)ÚamtÚdecode_contentzutf-8zReceived invalid segment type, z-, from stream. Accepts only 'str' or 'bytes'.ó   
éÿÿÿÿÚreplace)Úerrorsé   r   )Ú	bytearrayÚstreamr   ÚbytesÚextendr   ÚencodeÚ	TypeErrorÚtypeÚfindÚdecode)ÚrespÚbufferÚsegmentÚnext_newliner   s        r   Úiter_resp_linesr4   7   sî   è ø€ Ü‹[€FØ—;‘; 4¸�;Ó>ò .ˆô �gœuÔ%Ø�M‰M˜'Õ"Ü˜¤Ô%Ø�M‰M˜'Ÿ.™.¨Ó1Õ2äØ1´$°w³-°Ð@mÐnópð pð —{‘{ 5Ó)ˆØ˜bÓ à˜-˜<Ð(×/Ñ/Ø 	ð 0ó +ˆDà˜L¨™N˜OÐ,ˆFÙØ“
à’Ø!Ÿ;™; uÓ-ˆLð ˜bÔ ñ%.ùs   ‚B"C(Â%?C(Ã%C(c                   ó2   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zy)	ÚWatchNc                 ó`   — || _         d| _        t        j                  «       | _        d | _        y )NF)Ú_raw_return_typeÚ_stopr   Ú	ApiClientÚ_api_clientÚresource_version)Úselfr   s     r   Ú__init__zWatch.__init__Y   s*   € Ø +ˆÔØˆŒ
Ü!×+Ñ+Ó-ˆÔØ $ˆÕr   c                 óú   — d| _         t        | d«      rY| j                  rLdd l}	 t	        | j                  dd «      }|rt	        |dd «      nd }|r|j                  |j                  «       y y y y # t        $ r Y y w xY w)NTÚ_respr   Ú
connectionÚsock)r9   r   r@   ÚsocketÚgetattrÚshutdownÚ	SHUT_RDWRÚ	Exception)r=   rC   ÚconnrB   s       r   Ústopz
Watch.stop_   s}   € ØˆŒ
Ü�4˜Ô! d§j¢jÛðô ˜tŸz™z¨<¸Ó>�Ù6:”w˜t V¨TÔ2À�ÙØ—M‘M &×"2Ñ"2Õ3ð ð '1Ð!øô ò Ùðús   ¥AA. Á.	A:Á9A:c                 ó0  — | j                   r| j                   S t        |«      }t        |t        «      r|n|j                  }|j                  t        «      r?|d t        t        «        }t        |t        «      r|S t        t        j                  |«      S |S ©N)r8   r   r   r   Ú__name__ÚendswithÚTYPE_LIST_SUFFIXr   rD   r   r   )r=   r   r   Úreturn_type_nameÚitem_type_names        r   Úget_return_typezWatch.get_return_typeq   sˆ   € Ø× Ò Ø×(Ñ(Ð(Ü'¨Ó-ˆä% k´3Ô7‰K¸[×=QÑ=Qð 	ð ×$Ñ$Ô%5Ô6Ø-Ð.E´Ô4DÓ0EÐ/EÐFˆNÜ˜+¤sÔ+Ø%Ð%Üœ6Ÿ=™=¨.Ó9Ð9ØÐr   c                 ó†   — dt        j                  |«      j                  v st        t	        j
                  |«      xs dv ryy)NÚfollowr   Úwatch)r   r	   Ú
parametersÚPYDOC_FOLLOW_PARAMr   r   )r=   r   s     r   Úget_watch_argument_namezWatch.get_watch_argument_name   s7   € àœ×)Ñ)¨$Ó/×:Ñ:Ñ:Ü!¤e§l¡l°4Ó&8Ò&>¸BÑ?ààr   c                 óx  — |r|j                  «       ry 	 t        j                  |«      }|d   |d<   |s|S |d   dk(  rBt        |d   t        «      r-d|d   v r&|d   d   }t        |t        «      rd|v r
|d   | _        |S |d   dk7  r™| j                  j                  t        j                  |d   «      |d«      |d<   t        |d   d«      r |d   j                  j
                  | _        |S t        |d   t        «      r!d|d   v rd|d   d   v r|d   d   d   | _        |S # t        j                  $ r Y y w xY w)	NÚobjectÚ
raw_objectr-   ÚBOOKMARKÚmetadataÚresourceVersionÚERRORzapplication/json)ÚisspaceÚjsonÚloadsr   Údictr<   r;   ÚdeserializeÚdumpsr   r\   ÚJSONDecodeError)r=   Údatar   Újsr\   s        r   Úunmarshal_eventzWatch.unmarshal_eventˆ   se  € Ù�t—|‘|”~Øð	Ü—‘˜DÓ!ˆBØ! (™|ˆBˆ|ÑáØ�	à�&‰z˜ZÒ'ô ˜b ™l¬DÔ1°jÀBÀxÁLÑ6PØ! (™|¨JÑ7�HÜ! (¬DÔ1Ð6GÈ8Ñ6SØ08Ð9JÑ0K˜Ô-ð ˆIð �F‘˜wÒ&Ø#×/Ñ/×;Ñ;Ü—J‘J˜r ,Ñ/Ó0ØØ&ó ��8‘ô
 ˜2˜h™<¨Ô4Ø,.¨x©L×,AÑ,A×,RÑ,R�DÔ)ð ˆIô	 !  H¡¬tÔ4¸ÀrÈ(Á|Ñ9SØ+¨r°(©|¸JÑ/GÑGØ,.¨x©L¸Ñ,DØ)ñ-+�DÔ)àˆIøÜ×#Ñ#ò 	Ùð	ús$   • D# ¶A	D# Â A,D# Ã-5D# Ä#D9Ä8D9c              /   óB  K  — d| _         | j                  |«      }| j                  |«      }d||<   d|d<   d|v r
|d   | _        d|v }d}|j	                  dd«      }	  ||i |¤Ž}	|	| _        	 t        |	dd«      }
t        |
t        «      r)d	|
cxk  rd
k  sn | j                  j                  |	i «       t        |	«      D ]³  }|dk(  r“|r| j                  ||«      }nt        j                  |«      }t        |t        «      rR|d   dk(  rJ|d   }|s|s|d   t         k(  rd} nS|d   ›d|d   ›�}t"        j$                  j'                  |d   |¬«      ‚d}|–— n|r|–— nd–— | j                   sŒ³ n |	j)                  «        |	j+                  «        d| _        | j                  �| j                  |d<   nd| _         	 | j                   s|ry�Œs# |	j)                  «        |	j+                  «        d| _        | j                  �| j                  |d<   w d| _         w xY w­w)aj  Watch an API resource and stream the result back via a generator.

        Note that watching an API resource can expire. The method tries to
        resume automatically once from the last result, but if that last result
        is too old as well, an `ApiException` exception will be thrown with
        ``code`` 410. In that case you have to recover yourself, probably
        by listing the API resource to obtain the latest state and then
        watching from that state on by setting ``resource_version`` to
        one returned from listing.

        :param func: The API function pointer. Any parameter to the function
                     can be passed after this parameter.

        :return: Event object with these keys:
                   'type': The type of event such as "ADDED", "DELETED", etc.
                   'raw_object': a dict representing the watched object.
                   'object': A model representation of raw_object. The name of
                             model will be determined based on
                             the func's doc string. If it cannot be determined,
                             'object' value will be the same as 'raw_object'.

        Example:
            v1 = kubernetes.client.CoreV1Api()
            watch = kubernetes.watch.Watch()
            for e in watch.stream(v1.list_namespace, resource_version=1127):
                type_ = e['type']
                object_ = e['object']  # object is one of type return_type
                raw_object = e['raw_object']  # raw_object is a dict
                ...
                if should_stop:
                    watch.stop()
        FTÚ_preload_contentr<   Útimeout_secondsrc   ÚstatusNéÈ   i+  rT   r-   r^   rZ   ÚcodeÚreasonz: Úmessage)rl   ro   r   )r9   rQ   rW   r<   Úpopr@   rD   r   Úintr;   Úresponse_deserializer4   rh   r`   ra   rb   ÚHTTP_STATUS_GONEr   ÚrestÚApiExceptionÚcloseÚrelease_conn)r=   r   ÚargsÚkwargsr   Ú	watch_argÚdisable_retriesÚretry_after_410rc   r0   rl   r   ÚeventÚobjro   s                  r   r(   zWatch.stream«   sN  è ø€ ðD ˆŒ
Ø×*Ñ*¨4Ó0ˆØ×0Ñ0°Ó6ˆ	Ø ˆˆyÑØ%*ˆÐ!Ñ"Ø Ñ'Ø$*Ð+=Ñ$>ˆDÔ!ð -°Ð6ˆØˆØ—j‘j °Ó5ˆØÙ˜Ð( Ñ(ˆDØˆDŒJð,&Ü   x°Ó6�Ü˜f¤cÔ*°3¸&Ô3GÀCÔ3GØ×$Ñ$×9Ñ9¸$ÀÔCÜ+¨DÓ1ò  �Dð ! GÒ+Ù&Ø$(×$8Ñ$8¸¸{Ó$K™Eô %)§J¡J¨tÓ$4˜EÜ% e¬TÔ2Ø$)¨&¡M°WÒ$<Ø"'¨Ñ"5˜Cñ $3¹?Ø$'¨¡KÔ3CÒ$CØ26 Ù %ð %(¨£M°3°y²>ð*C ä&,§k¡k×&>Ñ&>Ø+.¨v©;¸vð '?ó 'Gð !Gð /4˜OØ"'›KáØ"&›Jà"$šHØ—z“zÙðA ðD —
‘
”Ø×!Ñ!Ô#Ø!�”
Ø×(Ñ(Ð4Ø15×1FÑ1F�FÐ-Ò.à!%�D•Jà�zŠz™_Øñe øðR —
‘
”Ø×!Ñ!Ô#Ø!�”
Ø×(Ñ(Ð4Ø15×1FÑ1F�FÐ-Ò.à!%�D•Jüs'   ‚A*HÁ-DG Å1G Å4AHÇAHÈHrK   )	rL   Ú
__module__Ú__qualname__r>   rI   rQ   rW   rh   r(   © r   r   r6   r6   W   s"   „ ó%òò$òò!óFar   r6   )Úhttpr   r`   r   Útypingr   Ú
kubernetesr   r   rV   rN   Ú
HTTPStatusÚGONErt   r   r4   r6   r‚   r   r   ú<module>rˆ      sT   ðó Û Û Û Ý å àÐ Ø%Ð ð Ð à—?‘?×'Ñ'Ð òò&.÷@uò ur   