§
    �’jŽ   ã            
       óº  — U 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 d dlmZ d dlmZ d dlmZmZmZmZmZ d dlmZ eeed	z  ed	z  f         z  ej        j        z  d	z  Zeed
<   ddiZee e f         ed<   dZ!dedd	fd„Z"e!fdede#dee$d	d	f         fd„Z%deded         defd„Z&dej'        j(        de de dedef
d„Z)de
j*        e
j        z  de dedefd„Z+d	S )é    )Ú	Generator)ÚLiteralÚNoReturnÚ	TypeAliasÚcast)Úurlsplit)ÚrequestsÚurllib3)ÚResponse)ÚTimeoutStateError)ÚConnectionFailedErrorÚConnectionTimeoutErrorÚNetworkConnectionErrorÚProxyConnectionErrorÚSSLVerificationError)Úredact_auth_from_urlNÚTimeoutValuezAccept-EncodingÚidentityÚHEADERSi   ÚrespÚreturnc                 ó¤  — d}t          | j        t          ¦  «        rF	 | j                             d¦  «        }n1# t          $ r | j                             d¦  «        }Y nw xY w| j        }d| j        cxk    rdk     rn n| j        › d|› d| j        › �}n)d| j        cxk    rdk     rn n| j        › d	|› d| j        › �}|rt          || ¬
¦  «        ‚d S )NÚ zutf-8z
iso-8859-1i�  iô  z Client Error: z
 for url: iX  z Server Error: )Úresponse)Ú
isinstanceÚreasonÚbytesÚdecodeÚUnicodeDecodeErrorÚstatus_codeÚurlr   )r   Úhttp_error_msgr   s      úIC:\Projects\DSCons\.venv\Lib\site-packages\pip\_internal\network\utils.pyÚraise_for_statusr$   .   s2  € Ø€NÝ�$”+�uÑ%Ô%ð 
ð
	6Ø”[×'Ò'¨Ñ0Ô0ˆFˆFøÝ!ð 	6ð 	6ð 	6Ø”[×'Ò'¨Ñ5Ô5ˆFˆFˆFð	6øøøð ”ˆà
ˆdÔÐ$Ð$Ò$Ð$ Ò$Ð$Ð$Ð$Ð$àÔÐLÐL°ÐLÐLÀ$Ä(ÐLÐLð 	ˆð 
�Ô Ð	&Ð	&Ò	&Ð	& 3Ò	&Ð	&Ð	&Ð	&Ð	&àÔÐLÐL°ÐLÐLÀ$Ä(ÐLÐLð 	ð ð DÝ$ ^¸dÐCÑCÔCÐCðDð Ds   ž9 ¹$A ÁA r   Ú
chunk_sizec              #   ó¸   K  — 	 | j                              |d¬¦  «        D ]}|V — ŒdS # t          $ r& 	 | j                              |¦  «        }|sY dS |V — Œ$w xY w)z3Given a requests Response, provide the data chunks.F)Údecode_contentTN)ÚrawÚstreamÚAttributeErrorÚread)r   r%   Úchunks      r#   Úresponse_chunksr-   J   s¤   è è € ð#à”\×(Ò(Øð. !ð1 )ñ 
ô 
ð 	ð 	ˆEð4 ˆKˆKˆKˆKð5	ð 	øõ6 ð ð ð ð	Ø”L×%Ò% jÑ1Ô1ˆEØð Ø��ØˆKˆKˆKð		ðøøøs   „#) ©'AÁAÚtimeoutÚkind)Úconnectr+   c                 ó  — t          | t          ¦  «        r| \  }}n[t          | t          j        j        ¦  «        r8t          t          d z  | j        ¦  «        }	 | j        }n# t          $ r d }Y nw xY w| x}}|dk    r|€J ‚|S |€J ‚|S )Nr0   )
r   Útupler
   ÚutilÚTimeoutr   ÚfloatÚconnect_timeoutÚread_timeoutr   )r.   r/   r6   r7   s       r#   Ú_parse_timeoutr8   t   s½   € õ �'�5Ñ!Ô!ð 	1Ø(/Ñ%ˆ˜˜Ý	�G�Wœ\Ô1Ñ	2Ô	2ð 1Ý�u t™|¨WÔ-DÑEÔEˆð	 Ø"Ô/ˆLˆLøÝ ð 	 ð 	 ð 	 ØˆLˆLˆLð	 øøøð *1Ð0ˆ˜,àˆyÒÐØÐ*Ð*Ð*ØÐàÐ'Ð'Ð'ØÐs   ÁA! Á!A0Á/A0r   r!   Úhostc           	      óÄ   — t          | t          j        j        ¦  «        r!t	          ||dt          |d¦  «        ¬¦  «        ‚t	          ||dt          |d¦  «        ¬¦  «        ‚)Nr0   )r/   r.   r+   )r   r
   Ú
exceptionsÚConnectTimeoutErrorr   r8   )r   r!   r9   r.   s       r#   Ú_raise_timeout_errorr=   Š   sr   € õ �&�'Ô,Ô@ÑAÔAð 
Ý$Ø�˜I­~¸gÀyÑ/QÔ/Qð
ñ 
ô 
ð 	
õ %Ø�˜F­N¸7ÀFÑ,KÔ,Kð
ñ 
ô 
ð 	
ó    Úerrorc                óv  — t          |¦  «        }t          |¦  «        j        pt          |¦  «        j        }| j        r| j        d         n| }t          |t          j        j        ¦  «        r1t          |t          j        j	        ¦  «        st          ||||¦  «         t          |t          j        j        ¦  «        rt          |||¦  «        ‚t          |t          j        j        ¦  «        st          |||¦  «        ‚|}t          |j        t          j        j        ¦  «        sJ ‚|j        j        }|j        j        }|j        }t          |t          j        j        ¦  «        rt          |||¦  «        ‚t          |t          j        j        ¦  «        r1t          |t          j        j	        ¦  «        st          ||||¦  «         t          |t          j        j        ¦  «        r/|€J ‚t-          |t          t/          |¦  «        ¦  «        |¦  «        ‚t          ||t          |t0          ¦  «        r|n|¦  «        ‚)a   Raise a specific error for a given connection error, if possible.

    Note: requests.ConnectionError is the parent class of
          requests.ProxyError, requests.SSLError, and requests.ConnectTimeout
          so these errors are also handled here.
    r   )r   r   ÚhostnameÚnetlocÚargsr   r
   r;   ÚTimeoutErrorÚNewConnectionErrorr=   ÚSSLErrorr   ÚMaxRetryErrorr   ÚpoolÚconnectionpoolÚHTTPConnectionPoolr9   Úproxyr   Ú
ProxyErrorr   ÚstrÚ	Exception)r?   r!   r.   Úraw_hostnamer   Úmax_retry_errorr9   rK   s           r#   Úraise_connection_errorrQ   š   s  € õ ˜sÑ
#Ô
#€CÝ˜C‘=”=Ô)ÐA­X°c©]¬]Ô-A€LØ#œjÐ3ˆUŒZ˜Œ]ˆ]¨e€Fõ �&�'Ô,Ô9Ñ:Ô:ð AÅ:Ø•Ô"Ô5ñDô Dð Aõ
 	˜V S¨,¸Ñ@Ô@Ð@Ý�&�'Ô,Ô5Ñ6Ô6ð >õ # 3¨°fÑ=Ô=Ð=õ �f�gÔ0Ô>Ñ?Ô?ð ?Ý# C¨°vÑ>Ô>Ð>à€OÝ�oÔ*­GÔ,BÔ,UÑVÔVÐVÐVÐVØÔÔ$€DØÔ Ô&€EàÔ#€Få�&�'Ô,Ô5Ñ6Ô6ð 6Ý" 3¨¨fÑ5Ô5Ð5Ý�&�'Ô,Ô9Ñ:Ô:ð 9Å:Ø•Ô"Ô5ñDô Dð 9õ 	˜V S¨$°Ñ8Ô8Ð8Ý�&�'Ô,Ô7Ñ8Ô8ð RØÐ Ð Ð Ý" 3Õ(<½SÀ¹Z¼ZÑ(HÔ(HÈ&ÑQÔQÐQõ  ØˆT�Z¨µ	Ñ:Ô:ÐO�6�6Àñô ð r>   ),Úcollections.abcr   Útypingr   r   r   r   Úurllib.parser   Úpip._vendorr	   r
   Úpip._vendor.requests.modelsr   Úpip._vendor.urllib3.exceptionsr   Úpip._internal.exceptionsr   r   r   r   r   Úpip._internal.utils.miscr   r5   r2   r3   r4   r   Ú__annotations__r   ÚdictrM   ÚDOWNLOAD_CHUNK_SIZEr$   Úintr   r-   r8   r;   rD   r=   ÚConnectionErrorrQ   © r>   r#   ú<module>r`      s}  ðØ %Ð %Ð %Ð %Ð %Ð %Ð %Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø !Ð !Ð !Ð !Ð !Ð !à )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø <Ð <Ð <Ð <Ð <Ð <ðð ð ð ð ð ð ð ð ð ð ð ð ð ð :Ð 9Ð 9Ð 9Ð 9Ð 9ð 
ˆE�%˜$‘, ¨¡Ð,Ô-Ñ-°´Ô0DÑDÀtÑKð ˆið ð ñ ð. -¨jÐ9€ˆˆc�3ˆhŒÐ 9Ð 9Ñ 9à Ð ðD˜8ð D¨ð Dð Dð Dð Dð: +>ð'ð 'Øð'Ø$'ð'àˆu�d˜DÐ Ô!ð'ð 'ð 'ð 'ðT˜Lð °Ð8IÔ0Jð Èuð ð ð ð ð,
ØÔÔ+ð
à	ð
ð ð
ð ð	
ð
 ð
ð 
ð 
ð 
ð 4ØÔ# hÔ&6Ñ6ð4ð 
ð4ð ð	4ð
 ð4ð 4ð 4ð 4ð 4ð 4r>   