Ë
    täi #  ã                  ór  — U d dl mZ d dl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
mZmZ ddlmZ dd	lmZ dd
lmZ ddlmZmZ ddlmZ ddlmZmZmZmZ ddlmZ ddlmZm Z  ejB                  rddlm"Z"m#Z#  G d„ d«      Z$ G d„ de$«      Z%ejB                  r e$dd «      Z&de'd<    e%dd «      Z(de'd<   yy)é    )ÚannotationsN)ÚHTTPException)ÚResponseNotReadyé   )Ú
_TYPE_BODY)ÚHTTPConnectionÚProxyConfigÚport_by_scheme)ÚTimeoutError)ÚBaseHTTPResponse)Ú_TYPE_SOCKET_OPTIONS)Ú_DEFAULT_TIMEOUTÚ_TYPE_TIMEOUT)ÚUrlé   )Ú_RequestErrorÚ_TimeoutErrorÚsend_requestÚsend_streaming_request)ÚEmscriptenRequest)ÚEmscriptenHttpResponseWrapperÚEmscriptenResponse)ÚBaseHTTPConnectionÚBaseHTTPSConnectionc                  óš  — e Zd ZU ed   Zded<   ded<   ded<   ded	<   d
ed<   d
ed<   ded<   ded<   ded<   ded<   dZded<   dZded<   eZ	ded<   ded<   	 d,e
dddddd œ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d-d!„Z	 	 	 d.	 	 	 	 	 	 	 	 	 d/d"„Zd0d#„Z	 	 d1dd$d$d$d%œ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d2d&„Zd3d'„Zd0d(„Zed4d)„«       Zed4d*„«       Zed4d+„«       Zy)5ÚEmscriptenHTTPConnectionÚhttpztyping.ClassVar[int]Údefault_portz%typing.ClassVar[_TYPE_SOCKET_OPTIONS]Údefault_socket_optionszNone | floatÚtimeoutÚstrÚhostÚintÚportÚ	blocksizeútuple[str, int] | NoneÚsource_addressú_TYPE_SOCKET_OPTIONS | NoneÚsocket_optionsú
Url | NoneÚproxyúProxyConfig | NoneÚproxy_configFÚboolÚis_verifiedNzbool | NoneÚproxy_is_verifiedztype[BaseHTTPResponse]Úresponse_classzEmscriptenResponse | NoneÚ	_responsei    )r    r'   r%   r)   r+   r-   c               óÐ   — || _         || _        t        |t        «      r|nd| _        d| _        d| _        d | _        d | _        d | _	        || _
        d | _        d | _        d| _        y )Ng        r   TF)r"   r$   Ú
isinstanceÚfloatr    ÚschemeÚ_closedr2   r+   r-   r%   r'   r)   r/   )	Úselfr"   r$   r    r'   r%   r)   r+   r-   s	            út/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/urllib3/contrib/emscripten/connection.pyÚ__init__z!EmscriptenHTTPConnection.__init__.   si   € ð ˆŒ	ØˆŒ	Ü",¨W´eÔ"<‘wÀ#ˆŒØˆŒØˆŒØˆŒð ˆŒ
Ø ˆÔØ"ˆŒØ"ˆÔØ"ˆÔØ ˆÕó    c                 ó   — y ©N© )r8   r"   r$   Úheadersr6   s        r9   Ú
set_tunnelz#EmscriptenHTTPConnection.set_tunnelI   s   € ð 	r;   c                 ó   — y r=   r>   ©r8   s    r9   Úconnectz EmscriptenHTTPConnection.connectR   s   € Ør;   T)ÚchunkedÚpreload_contentÚdecode_contentÚenforce_content_lengthc               óv  — d| _         |j                  d«      r=| j                  �d| j                  › �}	nd}	| j                  › d| j                  › |	› |› �}t        ||| j                  r| j                  nd|¬«      }
|
j                  |«       |r*|j                  «       D ]  \  }}|
j                  ||«       Œ d | _
        	 |st        |
«      | _
        | j                  €t        |
«      | _
        y y # t        $ r}t        |j                  «      |‚d }~wt         $ r}t#        |j                  «      |‚d }~ww xY w)NFÚ/Ú:Ú z://r   )ÚurlÚmethodr    rF   )r7   Ú
startswithr$   r6   r"   r   r    Úset_bodyÚitemsÚ
set_headerr2   r   r   r   r   Úmessager   r   )r8   rM   rL   Úbodyr?   rD   rE   rF   rG   r$   ÚrequestÚkÚvÚes                 r9   rT   z EmscriptenHTTPConnection.requestU   s  € ð ˆŒØ�>‰>˜#ÔØ�y‰yÐ$Ø˜4Ÿ9™9˜+�‘à�à—[‘[�M  T§Y¡Y K°¨v°c°UÐ;ˆCÜ#ØØØ$(§L¢L�D—L’L°aØ)ô	
ˆð 	×Ñ˜ÔÙØŸ™ž‘��1Ø×"Ñ" 1 aÕ(ð (àˆŒð	2Ù"Ü!7¸Ó!@�”Ø�~‰~Ð%Ü!-¨gÓ!6�•ð &øäò 	1Ü˜qŸy™yÓ)¨qÐ0ûÜò 	2Ü §	¡	Ó*°Ð1ûð	2ús$   Ã.C2 Ã2	D8Ã;DÄD8ÄD3Ä3D8c                óš   — | j                   �6t        | j                   | j                   j                  j                  | ¬«      S t	        «       ‚)N)Úinternal_responserL   Ú
connection)r2   r   rT   rL   r   rB   s    r9   Úgetresponsez$EmscriptenHTTPConnection.getresponse�   sA   € Ø�>‰>Ð%Ü0Ø"&§.¡.Ø—N‘N×*Ñ*×.Ñ.Øôð ô #Ó$Ð$r;   c                ó    — d| _         d | _        y )NT)r7   r2   rB   s    r9   ÚclosezEmscriptenHTTPConnection.close‹   s   € ØˆŒØˆ�r;   c                ó   — | j                   S )zÏWhether the connection either is brand new or has been previously closed.
        If this property is True then both ``is_connected`` and ``has_connected_to_proxy``
        properties must be False.
        )r7   rB   s    r9   Ú	is_closedz"EmscriptenHTTPConnection.is_closed�   s   € ð �|‰|Ðr;   c                 ó   — y)zLWhether the connection is actively connected to any origin (proxy or target)Tr>   rB   s    r9   Úis_connectedz%EmscriptenHTTPConnection.is_connected—   s   € ð r;   c                 ó   — y)zìWhether the connection has successfully connected to its proxy.
        This returns False if no proxy is in use. Used to determine whether
        errors are coming from the proxy layer or from tunnelling to the target origin.
        Fr>   rB   s    r9   Úhas_connected_to_proxyz/EmscriptenHTTPConnection.has_connected_to_proxyœ   s   € ð r;   ©r   )r"   r!   r$   r#   r    r   r'   r&   r%   r#   r)   r(   r+   r*   r-   r,   ÚreturnÚNone)r   Nr   )
r"   r!   r$   ú
int | Noner?   útyping.Mapping[str, str] | Noner6   r!   re   rf   )re   rf   )NN)rM   r!   rL   r!   rS   z_TYPE_BODY | Noner?   rh   rD   r.   rE   r.   rF   r.   rG   r.   re   rf   )re   r   )re   r.   )Ú__name__Ú
__module__Ú__qualname__r
   r   Ú__annotations__r/   r0   r   r1   r   r:   r@   rC   rT   r[   r]   Úpropertyr_   ra   rc   r>   r;   r9   r   r      sê  … Ø)7¸Ñ)?€LÐ&Ó?ØAÓAàÓà
ƒIØ
ƒIØƒNØ*Ó*Ø/Ó/àÓØ$Ó$à€K�ÓØ%)Ð�{Ó)à-J€NÐ*ÓJØ(Ó(ð
 ð!ð
 "2Ø15ØØ6:Ø Ø+/ñ!àð!ð ð!ð
 ð!ð /ð!ð ð!ð 4ð!ð ð!ð )ð!ð 
ó!ð< Ø37Øðàðð ðð 1ð	ð
 ðð 
óóð #'Ø37ð*2ð Ø $Ø#Ø'+ñ*2àð*2ð ð*2ð  ð	*2ð
 1ð*2ð ð*2ð ð*2ð ð*2ð !%ð*2ð 
ó*2óX%óð òó ðð òó ðð òó ñr;   r   c                  ó®  ‡ — e Zd ZU ed   ZdZded<   dZded<   dZded<   dZ	ded	<   ded
<   ded<   ded<   ded<   dZ
ded<   dZded<   dZded<   ded<   dZded<   	 deddej                   dddddddddddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Z	 	 	 	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zˆ xZS )ÚEmscriptenHTTPSConnectionÚhttpsNúint | str | NoneÚ	cert_reqsú
str | NoneÚca_certsÚca_cert_dirúNone | str | bytesÚca_cert_dataÚ	cert_fileÚkey_fileÚkey_passwordútyping.Any | NoneÚssl_contextÚssl_versionrg   Ússl_minimum_versionÚssl_maximum_versionú"None | str | typing.Literal[False]Úassert_hostnameÚassert_fingerprinti @  )r    r'   r%   r)   r+   r-   rr   r�   r‚   Úserver_hostnamer|   rt   ru   rw   r~   r   r}   rx   ry   rz   c          
     ó˜  •— t         ‰| �  ||||||||¬«       d| _        || _        || _        || _        || _        || _        |
| _        || _	        || _
        || _        || _        |xr t        j                  j                  |«      | _        |xr t        j                  j                  |«      | _        || _        d | _        d| _        y )N)r$   r    r'   r%   r)   r+   r-   rp   T)Úsuperr:   r6   ry   rx   rz   r|   rƒ   r�   r‚   r}   r~   r   ÚosÚpathÚ
expanduserrt   ru   rw   rr   r/   )r8   r"   r$   r    r'   r%   r)   r+   r-   rr   r�   r‚   rƒ   r|   rt   ru   rw   r~   r   r}   rx   ry   rz   Ú	__class__s                          €r9   r:   z"EmscriptenHTTPSConnection.__init__¶   sÖ   ø€ ô8 	‰ÑØØØØ)ØØ)ØØ%ð 	ô 		
ð ˆŒà ˆŒØ"ˆŒØ(ˆÔØ&ˆÔØ.ˆÔØ.ˆÔØ"4ˆÔØ&ˆÔØ#6ˆÔ Ø#6ˆÔ Ø ÒA¤R§W¡W×%7Ñ%7¸Ó%AˆŒØ&ÒJ¬2¯7©7×+=Ñ+=¸kÓ+JˆÔØ(ˆÔàˆŒð  ˆÕr;   c
                 ó   — y r=   r>   )
r8   ry   rx   rr   rz   rt   r�   r‚   ru   rw   s
             r9   Úset_certz"EmscriptenHTTPSConnection.set_certò   s   € ð 	r;   rd   ).r"   r!   r$   r#   r    r   r'   r&   r%   r#   r)   zNone | _TYPE_SOCKET_OPTIONSr+   r*   r-   r,   rr   rq   r�   r€   r‚   rs   rƒ   rs   r|   r{   rt   rs   ru   rs   rw   rv   r~   rg   r   rg   r}   rq   rx   rs   ry   rs   rz   rs   re   rf   )	NNNNNNNNN)ry   rs   rx   rs   rr   rq   rz   rs   rt   rs   r�   r€   r‚   rs   ru   rs   rw   rv   re   rf   )ri   rj   rk   r
   r   rr   rl   rt   ru   rw   r}   r~   r   r‚   r   r   r   r:   r‹   Ú__classcell__)r‰   s   @r9   ro   ro   ¥   s?  ø… Ø! 'Ñ*€Là"&€IÐÓ&Ø€HˆjÓØ"€K�Ó"Ø'+€LÐ$Ó+ØÓØÓØÓØ"Ó"Ø$(€KÐ!Ó(Ø&*Ð˜Ó*Ø&*Ð˜Ó*Ø7Ó7Ø%)Ð˜
Ó)ð
 ð: ð
 "2Ø15Øð ×1Ñ1Ø Ø+/Ø&*Ø>BØ)-Ø&*Ø)-Ø#Ø"&Ø+/Ø*.Ø*.Ø(,Ø $Ø#Ø#'ñ5: àð: ð ð: ð
 ð: ð /ð: ð ð: ð (ð: ð ð: ð )ð: ð $ð: ð <ð: ð 'ð: ð  $ð!: ð" 'ð#: ð$ ð%: ð&  ð': ð( )ð): ð* (ð+: ð, (ð-: ð. &ð/: ð0 ð1: ð2 ð3: ð4 !ð5: ð6 
õ7: ð|  $Ø $Ø&*Ø#'Ø#Ø>BØ)-Ø"&Ø+/ðàðð ðð $ð	ð
 !ðð ðð <ðð 'ðð  ðð )ðð 
÷r;   ro   rK   r   Ú_supports_http_protocolr   Ú_supports_https_protocol))Ú
__future__r   r†   ÚtypingÚhttp.clientr   r   Ú_base_connectionr   rZ   r   r	   r
   Ú
exceptionsr   Úresponser   Úutil.connectionr   Úutil.timeoutr   r   Úutil.urlr   Úfetchr   r   r   r   rT   r   r   r   ÚTYPE_CHECKINGr   r   r   ro   r�   rl   rŽ   r>   r;   r9   Ú<module>rš      sš   ðÞ "ã 	Û õ 7Ý (å *ß EÑ EÝ &Ý (Ý 3ß ;Ý ß UÓ UÝ &ß Gà	×ÒßK÷Iñ IôXYÐ 8ô Yðz 
×ÒÙ2JÈ2ÈqÓ2QÐÐ/ÓQÙ4MÈbÐRSÓ4TÐÐ1ÔTð r;   