Ë
    ²Œj   ã                   óÔ  — d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
 d dlZd dlmZ d dlmZ d dlmZ d dlmZ 	 d dlmZ erd d	lmZ d d
lmZ d dlmZ d dlmZ d dlm Z   G d„ dejB                  «      Z" G d„ d«      Z#	 d!ddœddde
ddde$f   de	ee$ef      de	e%   ded   dee"   fd„Z&	 d!ddœddde
ddde$f   de	ee$ef      de	e%   ded   dee"   fd „Z'dgZ(y# e$ r d dlZY Œ¨w xY w)"é    )ÚEnum)ÚTYPE_CHECKINGÚAnyÚAsyncIteratorÚDictÚIteratorÚListÚOptionalÚUnionN)ÚUnpack)Ú
identifier)ÚReplicateError)Útransform_output)Úv1)ÚClient)ÚModelVersionIdentifier)ÚModel)ÚPredictions)ÚVersionc                   ób   — e Zd ZU dZ G d„ de«      Zeed<   eed<   eed<   ee	   ed<   defd	„Z
y
)ÚServerSentEventz
    A server-sent event.
    c                   ó    — e Zd ZdZdZdZdZdZy)úServerSentEvent.EventTypez+
        A server-sent event type.
        ÚoutputÚlogsÚerrorÚdoneN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚOUTPUTÚLOGSÚERRORÚDONE© ó    úZ/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/replicate/stream.pyÚ	EventTyper   '   s   „ ñ	ð ˆØˆØˆØ‰r'   r)   ÚeventÚdataÚidÚretryÚreturnc                 ój   — | j                   t        j                  j                  k(  r| j                  S y)NÚ )r*   r   r)   r"   r+   ©Úselfs    r(   Ú__str__zServerSentEvent.__str__6   s'   € Ø�:‰:œ×2Ñ2×9Ñ9Ò9Ø—9‘9Ðàr'   N)r   r   r    r!   r   r)   Ú__annotations__Ústrr
   Úintr3   r&   r'   r(   r   r   "   s;   … ñô�Dô ð ÓØ
ƒIØƒGØ�C‰=Óð˜ô r'   r   c            	       óŒ   — e Zd ZU dZded<   ded<   eed<   ddœdddddee   d	d
fd„Z G d„ d«      Zd	e	e
   fd„Zd	ee
   fd„Zy
)ÚEventSourcez%
    A server-sent event source.
    r   Úclientzhttpx.ResponseÚresponseÚuse_file_outputT©r;   r.   Nc                ó    — || _         || _        |xs d| _        |j                  d   j	                  d«      \  }}}|dk7  rt        d|›�«      ‚y )NTzcontent-typeÚ;útext/event-streamz>Expected response Content-Type to be 'text/event-stream', got )r9   r:   r;   ÚheadersÚ	partitionÚ
ValueError)r2   r9   r:   r;   Úcontent_typeÚ_s         r(   Ú__init__zEventSource.__init__F   sl   € ð ˆŒØ ˆŒØ.Ò6°$ˆÔØ%×-Ñ-¨nÑ=×GÑGÈÓLÑˆ�a˜ØÐ.Ò.ÜðØ#Ð&ð(óð ð /r'   c                   óp   — e Zd ZU dZed   ed<   ee   ed<   ee   ed<   ee   ed<   dd	„Z	d
edee
   fd„Zy)úEventSource.Decoderz3
        A decoder for server-sent events.
        r   r*   r+   Úlast_event_idr-   r.   Nc                 ó<   — d | _         g | _        d | _        d | _        y ©N)r*   r+   rH   r-   r1   s    r(   rE   zEventSource.Decoder.__init__a   s   € ØˆDŒJØˆDŒIØ!%ˆDÔØˆD�Jr'   Úlinec                 óä  — |s­t        | j                  | j                  | j                  | j                  g«      r| j                  �| j                  €yt        | j                  dj                  | j                  «      | j                  | j                  ¬«      }d| _        g | _        d| _        |S |j                  d«      ry|j                  d«      \  }}}|j                  d«      r|dd n|}|dk(  rt
        j                  |«      x}r|| _        y|dk(  r| j                  j                  |«       y|d	k(  rd
|vr|| _        y|dk(  r	 t        |«      | _        yy# t        t        f$ r Y yw xY w)zU
            Decode a line and return a server-sent event if applicable.
            NÚ
)r*   r+   r,   r-   Ú:Ú é   r*   r+   r,   Ú r-   )Úanyr*   r+   rH   r-   r   ÚjoinÚ
startswithrA   r)   Úappendr6   Ú	TypeErrorrB   )r2   rK   ÚsseÚ	fieldnamerD   Úvaluer*   s          r(   ÚdecodezEventSource.Decoder.decodeg   ss  € ñ
 ä˜TŸZ™Z¨¯©°D×4FÑ4FÈÏ
É
ÐSÔTØ—z‘zÐ)Ø×)Ñ)Ð1àä%ØŸ*™*ØŸ™ 4§9¡9Ó-Ø×)Ñ)ØŸ*™*ô	�ð "�”
Ø�”	Ø!�”
à�
à�‰˜sÔ#Øà"&§.¡.°Ó"5ÑˆI�q˜%Ø!&×!1Ñ!1°#Ô!6�E˜!˜"‘I¸EˆEà˜GÒ#Ü+×5Ñ5°eÓ<Ð<�5Ð<Ø!&�D”Jð ð ˜fÒ$Ø—	‘	× Ñ  Ô'ð ð ˜dÒ"Ø˜uÑ$Ø).�DÔ&ð ð ˜gÒ%ðÜ!$ U£�D”Jñ øô "¤:Ð.ò Øàðús   ÅE ÅE/Å.E/)r.   N)r   r   r    r!   r
   r4   r	   r5   r6   rE   r   rZ   r&   r'   r(   ÚDecoderrG   W   sO   … ñ	ð Ð3Ñ4Ó4Ø�3‰i‹Ø ‘}Ó$Ø˜‰}Óó	ð.	˜sð .	 x°Ñ'@ô .	r'   r[   c              #   ó@  K  — t         j                  «       }| j                  j                  «       D ]é  }|j	                  d«      }|j                  |«      }|€Œ(|j                  t        j                  j                  k(  rt        |j                  «      ‚| j                  rM|j                  t        j                  j                  k(  r&t        |j                  | j                  ¬«      |_        |–— |j                  t        j                  j                   k(  sŒé y  y ­w©NrM   )r9   )r8   r[   r:   Ú
iter_linesÚrstriprZ   r*   r   r)   r$   ÚRuntimeErrorr+   r;   r"   r   r9   r%   ©r2   ÚdecoderrK   rW   s       r(   Ú__iter__zEventSource.__iter__—   sÌ   è ø€ Ü×%Ñ%Ó'ˆà—M‘M×,Ñ,Ö.ˆDØ—;‘;˜tÓ$ˆDØ—.‘. Ó&ˆCØ‰Ø—9‘9¤× 9Ñ 9× ?Ñ ?Ò?Ü& s§x¡xÓ0Ð0ð ×(Ò(ØŸ	™	¤_×%>Ñ%>×%EÑ%EÒEä/°·±ÀÇÁÔM�C”Hà’	à—9‘9¤× 9Ñ 9× >Ñ >Ó>Ùñ! /ùs   ‚ADÁC DÄDc                óR  K  — t         j                  «       }| j                  j                  «       2 3 d {  –—† }|j	                  d«      }|j                  |«      }|€Œ.|j                  t        j                  j                  k(  rt        |j                  «      ‚| j                  rM|j                  t        j                  j                  k(  r&t        |j                  | j                  ¬«      |_        |­–— |j                  t        j                  j                   k(  sŒð y 7 Œí6 y ­wr]   )r8   r[   r:   Úaiter_linesr_   rZ   r*   r   r)   r$   r`   r+   r;   r"   r   r9   r%   ra   s       r(   Ú	__aiter__zEventSource.__aiter__¬   sÕ   è ø€ Ü×%Ñ%Ó'ˆØŸ-™-×3Ñ3Ô5÷ 	�$Ø—;‘;˜tÓ$ˆDØ—.‘. Ó&ˆCØ‰Ø—9‘9¤× 9Ñ 9× ?Ñ ?Ò?Ü& s§x¡xÓ0Ð0ð ×(Ò(ØŸ	™	¤_×%>Ñ%>×%EÑ%EÒEä/°·±ÀÇÁÔM�C”Hà“	à—9‘9¤× 9Ñ 9× >Ñ >Ó>Ùð!	øÑ5ùs2   ‚/D'±D%µD#¶D%¹%D'ÁCD'Ä!D'Ä#D%Ä%D')r   r   r    r!   r4   Úboolr
   rE   r[   r   r   rc   r   rf   r&   r'   r(   r8   r8   =   s|   … ñð ÓØÓØÓð +/òàðð #ðð
 " $™ðð 
ó÷">ñ >ð@˜( ?Ñ3ó ð* ¨Ñ!?ô r'   r8   Tr<   r9   r   Úrefr   r   r   Úinputr;   Úparamsz"Predictions.CreatePredictionParamsr.   c             +   óp  K  — |xs i }d|d<   t        j                  |«      \  }}}}|s|r( | j                  j                  d|xs ||xs i dœ|¤Ž}	nC|r2|r0 | j                  j                  j                  d||f|xs i dœ|¤Ž}	nt        d|› d�«      ‚|	j                  xr |	j                  j                  dd«      }
|
rt        |
t        «      st        d«      ‚i }d	|d
<   d|d<   | j                  j                  d|
|¬«      5 }t        | ||¬«      E d{  –—†  ddd«       y7 Œ# 1 sw Y   yxY w­w)z,
    Run a model and stream its output.
    TÚstream©Úversionri   ©Úmodelri   úInvalid argument: úV. Expected model, version, or reference in the format owner/name or owner/name:versionNú Model does not support streamingr?   ÚAcceptúno-storeúCache-ControlÚGET©r@   r<   r&   )r   Ú_resolveÚpredictionsÚcreateÚmodelsrB   ÚurlsÚgetÚ
isinstancer5   r   Ú_clientrl   r8   )r9   rh   ri   r;   rj   rn   ÚownerÚnameÚ
version_idÚ
predictionÚurlr@   r:   s                r(   rl   rl   Á   sX  è ø€ ð Š\�r€FØ€Fˆ8Ñä'1×':Ñ':¸3Ó'?Ñ$€GˆU�D˜*á‘*Ø.�V×'Ñ'×.Ñ.ð 
ØÒ* 
°5²;¸Bñ
ØBHñ
‰
ñ 
‘4Ø5�V—]‘]×.Ñ.×5Ñ5ð 
Ø˜$�- u¢{°ñ
Ø6<ñ
‰
ô Ø   Ð%{Ð|ó
ð 	
ð �/‰/Ò
A˜jŸo™o×1Ñ1°(¸DÓA€CÙ”j ¤cÔ*ÜÐ?Ó@Ð@à€GØ+€GˆHÑØ)€GˆOÑà	�‰×	Ñ	˜u c°7Ð	Ô	;¸xÜ˜v xÀÔQ×QÐQ÷ 
<Ð	;ØQø÷ 
<Ð	;üs0   ‚DD6ÄD*ÄD(ÄD*Ä	D6Ä(D*Ä*D3Ä/D6c               óà  K  — |xs i }d|d<   t        j                  |«      \  }}}}|s|r0 | j                  j                  d|xs ||xs i dœ|¤Žƒ d{  –—† }	nK|r:|r8 | j                  j                  j                  d||f|xs i dœ|¤Žƒ d{  –—† }	nt        d|› d�«      ‚|	j                  xr |	j                  j                  dd«      }
|
rt        |
t        «      st        d«      ‚i }d	|d
<   d|d<   | j                  j                  d|
|¬«      4 ƒd{  –—† }t        | ||¬«      2 3 d{  –—† }|­–— Œ7 Œç7 Œ­7 Œ%7 Œ6 ddd«      ƒd{  –—†7   y# 1 ƒd{  –—†7  sw Y   yxY w­w)z;
    Run a model and stream its output asynchronously.
    Trl   rm   Nro   rq   rr   rs   r?   rt   ru   rv   rw   rx   r<   r&   )r   ry   rz   Úasync_creater|   rB   r}   r~   r   r5   r   Ú_async_clientrl   r8   )r9   rh   ri   r;   rj   rn   r�   r‚   rƒ   r„   r…   r@   r:   r*   s                 r(   Úasync_streamr‰   ë   sŽ  è ø€ ð Š\�r€FØ€Fˆ8Ñä'1×':Ñ':¸3Ó'?Ñ$€GˆU�D˜*á‘*Ø:˜6×-Ñ-×:Ñ:ð 
ØÒ* 
°5²;¸Bñ
ØBHñ
÷ 
‰
ñ 
‘4ØA˜6Ÿ=™=×4Ñ4×AÑAð 
Ø˜$�- u¢{°ñ
Ø6<ñ
÷ 
‰
ô Ø   Ð%{Ð|ó
ð 	
ð �/‰/Ò
A˜jŸo™o×1Ñ1°(¸DÓA€CÙ”j ¤cÔ*ÜÐ?Ó@Ð@à€GØ+€GˆHÑØ)€GˆOÑà×#Ñ#×*Ñ*¨5°#¸wÐ*×GÔGÈ8Ü&Ø�H¨oõ
÷ 	�%ð ŒKð1
øð
øð  Høð	øð 
÷ H×G×G×GÓGüs‘   ‚AE.ÁD>Á;E.ÂE ÂB	E.ÄEÄE.Ä EÄ/EÄ3EÄ4EÄ7EÄ>E.Å E.ÅE.ÅEÅEÅE.ÅEÅE.ÅE+ÅE"Å E+Å'E.rJ   ))Úenumr   Útypingr   r   r   r   r   r	   r
   r   ÚhttpxÚtyping_extensionsr   Ú	replicater   Úreplicate.exceptionsr   Úreplicate.helpersr   Úpydanticr   ÚImportErrorÚreplicate.clientr   Úreplicate.identifierr   Úreplicate.modelr   Úreplicate.predictionr   Úreplicate.versionr   Ú	BaseModelr   r8   r5   rg   rl   r‰   Ú__all__r&   r'   r(   Ú<module>rš      sz  ðÝ ÷	÷ 	ó 	ó Ý $å  Ý /Ý .ðÝ'ñ
 Ý'Ý;Ý%Ý0Ý)ô�h×(Ñ(ô ÷6Añ AðN '+ð'Rð
 '+ò'RØð'Rà	ˆw˜	Ð#;¸SÐ@Ñ	Að'Rð �D˜˜c˜‘NÑ#ð'Rð
 ˜d‘^ð'Rð Ð9Ñ:ð'Rð ˆoÑó'RðZ '+ð*ð
 '+ò*Øð*à	ˆw˜	Ð#;¸SÐ@Ñ	Að*ð �D˜˜c˜‘NÑ#ð*ð
 ˜d‘^ð*ð Ð9Ñ:ð*ð �?Ñ#ó*ðZ Ð
�øðE ò Ýðús   ¸C Ã	C'Ã&C'