3 ��{g7q � @ sR d Z ddlZddlZddlZddlmZmZ ddlm Z ddl mZ ddl mZ ddlmZ ddlmZ dd lmZ dd lmZ ddlmZ ddlmZ dd lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddl!m"Z" ddl#m$Z$m%Z% ddl&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3m4Z4m5Z5mZmZm6Z6m7Z7m8Z8m9Z9 ddl:m;Z; yddl<m=Z= W n e>k �r� dd� Z=Y nX dZ?d Z@dZAdZBy ddlCZCe� ZDeDjEe(e'�� W n e>k �r� dZDY nX d!d"ejFeGejHf eId#�d$d%�ZJd&d!d"d'd(d)�d*d+�ZKG d,d-� d-eL�ZMG d.d/� d/eM�ZNdS )0z� requests.adapters ~~~~~~~~~~~~~~~~~ This module contains the transport adapters that Requests uses to define and maintain connections. � N)�PoolManager�proxy_from_url)�HTTPResponse)� parse_url)�Timeout)�Retry)�create_urllib3_context)�ClosedPoolError)�ConnectTimeoutError)� HTTPError)� MaxRetryError)�NewConnectionError)� ProxyError)� ProtocolError)�ReadTimeoutError)�SSLError)� ResponseError)�LocationValueError� )�Response)�urlparse� basestring)�DEFAULT_CA_BUNDLE_PATH�extract_zipped_paths�get_encoding_from_headers�prepend_scheme_if_needed�get_auth_from_url� urldefragauth�select_proxy)�CaseInsensitiveDict)�extract_cookies_to_jar) �ConnectionError�ConnectTimeout�ReadTimeoutr r � RetryError� InvalidSchema�InvalidProxyURL� InvalidURL)�_basic_auth_str)�SOCKSProxyManagerc O s t d��d S )Nz'Missing dependencies for SOCKS support.)r% )�args�kwargs� r, �/usr/lib/python3.6/adapters.pyr) 0 s r) F� zbool | str | Nonez#typing.Tuple[str, str] | str | None)�verify�client_cert�poolmanager_kwargs�returnc C s, |j d�}| dko&td k o&| o&|d k}|S )N�ssl_contextT)�get�_preloaded_ssl_context)r/ r0 r1 Zhas_poolmanager_ssl_contextZshould_use_default_ssl_contextr, r, r- �_should_use_default_contextE s r6 ZPreparedRequestr z<(typing.Dict[str, typing.Any], typing.Dict[str, typing.Any]))�requestr/ r0 �poolmanagerr2 c C s� i }i }t | j�}|jj� }|j}t|di �} d} d }|dkrDd} n6t||| �rZt|d<