Ë
    ��h°  ã                   ó˜   — d Z ddl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
  ej                  d	e«        ee«      Z G d
„ de«      Zy)z
NTLM authenticating pool, contributed by erikcederstran

Issue #10, see: http://code.google.com/p/urllib3/issues/detail?id=10
é    )Úabsolute_importN)Ú	getLogger)Úntlmé   )ÚHTTPSConnectionPool)ÚHTTPSConnectiona#  The 'urllib3.contrib.ntlmpool' module is deprecated and will be removed in urllib3 v2.0 release, urllib3 is not able to support it properly due to reasons listed in issue: https://github.com/urllib3/urllib3/issues/2282. If you are a user of this module please comment in the mentioned issue.c                   óB   ‡ — e Zd ZdZdZˆ fd„Zd„ Z	 	 	 	 	 dˆ fd„	Zˆ xZS )ÚNTLMConnectionPoolzQ
    Implements an NTLM authentication version of an urllib3 connection pool
    Úhttpsc                 ó¾   •— t        t        | �
  |i |¤Ž || _        || _        |j                  dd«      }|d   j                  «       | _        |d   | _        || _	        y)zÅ
        authurl is a random URL on the server that is protected by NTLM.
        user is the Windows user, probably in the DOMAIN\username format.
        pw is the password for the user.
        ú\é   r   N)
Úsuperr
   Ú__init__ÚauthurlÚrawuserÚsplitÚupperÚdomainÚuserÚpw)Úselfr   r   r   ÚargsÚkwargsÚ
user_partsÚ	__class__s          €úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.pyr   zNTLMConnectionPool.__init__"   s^   ø€ ô 	Ô  $Ñ0°$ÐA¸&ÒAØˆŒØˆŒØ—Z‘Z  aÓ(ˆ
Ø  ‘m×)Ñ)Ó+ˆŒØ˜q‘MˆŒ	Øˆ�ó    c                 óF  — | xj                   dz  c_         t        j                  d| j                   | j                  | j                  «       ddi}d}d}t        | j                  | j                  ¬«      }dt        j                  | j                  «      z  ||<   t        j                  d	|«       |j                  d
| j                  d |«       |j                  «       }t        |j                  «      }t        j                  d|j                  |j                  «       t        j                  d|«       t        j                  d|j!                  d«      «       d |_        ||   j%                  d«      }d }|D ]  }	|	d d dk(  sŒ|	dd  }Œ |€t'        d|›d||   ›�«      ‚t        j(                  |«      \  }
}t        j*                  |
| j,                  | j.                  | j0                  |«      }d|z  ||<   t        j                  d	|«       |j                  d
| j                  d |«       |j                  «       }t        j                  d|j                  |j                  «       t        j                  dt        |j                  «      «       t        j                  d|j!                  «       d d «       |j                  dk7  r?|j                  dk(  rt'        d«      ‚t'        d|j                  ›d|j                  ›�«      ‚d |_        t        j                  d«       |S )Nr   z3Starting NTLM HTTPS connection no. %d: https://%s%sÚ
Connectionú
Keep-AliveÚAuthorizationzwww-authenticate)ÚhostÚportzNTLM %szRequest headers: %sÚGETzResponse status: %s %szResponse headers: %szResponse data: %s [...]éd   z, é   zNTLM zUnexpected z response header: éÈ   i‘  z3Server rejected request: wrong username or passwordzWrong server response: ú zConnection established)Únum_connectionsÚlogÚdebugr#   r   r   r$   r   Úcreate_NTLM_NEGOTIATE_MESSAGEr   ÚrequestÚgetresponseÚdictÚheadersÚstatusÚreasonÚreadÚfpr   Ú	ExceptionÚparse_NTLM_CHALLENGE_MESSAGEÚ create_NTLM_AUTHENTICATE_MESSAGEr   r   r   )r   r1   Ú
req_headerÚresp_headerÚconnÚresÚreshdrÚauth_header_valuesÚauth_header_valueÚsÚServerChallengeÚNegotiateFlagsÚauth_msgs                r   Ú	_new_connzNTLMConnectionPool._new_conn0   s§  € ð 	×Ò Ñ!ÕÜ�	‰	ØAØ× Ñ Ø�I‰IØ�L‰Lô		
ð   Ð.ˆØ$ˆ
Ø(ˆä D§I¡I°D·I±IÔ>ˆð (¬$×*LÑ*LØ�L‰Ló+
ñ 
ˆ�
Ñô 	�	‰	Ð'¨Ô1Ø�‰�U˜DŸL™L¨$°Ô8Ø×ÑÓ ˆÜ�c—k‘kÓ"ˆÜ�	‰	Ð*¨C¯J©J¸¿
¹
ÔCÜ�	‰	Ð(¨&Ô1Ü�	‰	Ð+¨S¯X©X°c«]Ô;ð ˆŒð $ KÑ0×6Ñ6°tÓ<ÐØ ÐØ#ò 	*ˆAØ��!ˆu˜ÓØ$% a b EÑ!ð	*ð Ð$ÝÚ7BÀFÈ;ÒDWÐXóð ô
 +/×*KÑ*KØó+
Ñ'ˆ˜ô ×8Ñ8Ø˜TŸY™Y¨¯©°T·W±W¸nó
ˆð (¨(Ñ2ˆ�
ÑÜ�	‰	Ð'¨Ô1Ø�‰�U˜DŸL™L¨$°Ô8Ø×ÑÓ ˆÜ�	‰	Ð*¨C¯J©J¸¿
¹
ÔCÜ�	‰	Ð(¬$¨s¯{©{Ó*;Ô<Ü�	‰	Ð+¨S¯X©X«Z¸¸Ð-=Ô>Ø�:‰:˜ÒØ�z‰z˜SÒ ÜÐ UÓVÐVÝ¸c¿j»jÈ#Ï*Ê*ÐUÓVÐVàˆŒÜ�	‰	Ð*Ô+Øˆr   c           	      óH   •— |€i }d|d<   t         t        | �  |||||||«      S )Nr!   r    )r   r
   Úurlopen)	r   ÚmethodÚurlÚbodyr1   ÚretriesÚredirectÚassert_same_hostr   s	           €r   rF   zNTLMConnectionPool.urlopens   s>   ø€ ð ˆ?ØˆGØ ,ˆ�ÑÜÔ'¨Ñ6Ø�C˜˜w¨°Ð;Kó
ð 	
r   )NNé   TT)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úschemer   rD   rF   Ú__classcell__)r   s   @r   r
   r
      s6   ø„ ñð €FôòAðN ØØØØ÷
ñ 
r   r
   )rQ   Ú
__future__r   ÚwarningsÚloggingr   r   Ú r   Úpackages.six.moves.http_clientr   ÚwarnÚDeprecationWarningrN   r+   r
   © r   r   ú<module>r\      sR   ðñõ
 'ã Ý å å "Ý <à €‡�ðNð ôñ �Ó€ôg
Ð,õ g
r   