�
Ϫ�f� � �| � d Z ddlmZ ddlZddlZddlZddlZddlmZ ddl m
Z
ddlmZ ddl
mZmZmZ ddlmZmZmZ dd lmZ dd
lmZ ddlmZmZmZ ddlmZ dd
l m!Z! ddl"m#Z#m$Z$ ddl%m&Z&m'Z' ddl(m)Z) ddl*m+Z+m,Z, ddl-m.Z. ddl/m0Z0m1Z1 ddl2m3Z3 ddl4m5Z5m6Z6 ddl7m8Z8m9Z9 ddl:m;Z; ddl<m=Z=m>Z>m?Z?m@Z@mAZAmBZB erddlCmDZE ddlFmGZH ddlImJZK neLZKeLZHeLZEd� Z G d� de5j� � ZN G d� d � ZOd!� ZPd^d"�ZQdd#l7mRZRmSZSmJZJmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[ dd$l\m]Z] dd%l^m_Z_ dd&l`maZambZbmcZc d'� Ze G d(� d)� Zf eeA� G d*� d+� � Zg e0 ed,d-dd� e1ef ed,d-dd� eg�.� j� d/� d0 efj� efj� � eeA� G d1� d2� � Zk ee&� G d3� d4� � Zl eeA� G d5� d6� � Zm ee@� G d7� d8� � Zn G d9� d:ej� � Zp G d;� d<� Zq G d=� d>� Zr G d?� d@� Zs ee?� G dA� dB� � Zt ee>� G dC� dDes� � Zu ee>� G dE� dFes� � Zv G dG� dHeK� Zwe G dI� dJeE� � Zx G dK� dLeH� Zy ee>� G dM� dN� � Zz G dO� dP e.eB� � Z{ G dQ� dR e.e'� � Z| ee>� G dS� dT� � Z} e;� j� Z e�g dU�� Z� ee>� G dV� dW� � Z� G dX� dYe�� Z� G dZ� d[e�j � Z�d_d\�Z�g d]�Z�y# ed$ r dZ_Y ��w xY w)`z
HTTP client.
� )�annotationsN)� dataclass)�wraps)� CookieJar)�
TYPE_CHECKING�Iterable�Optional)� urldefrag�urljoin�
urlunparse)�implementer)�Version)�defer�protocol�task)�
isIPv6Address)�Deferred)�HostnameEndpoint�
wrapClientTLS)�IOpenSSLContextFactory� IProtocol)�Logger)�nativeString�
networkString)�proxyForInterface)�deprecatedModuleAttribute�getDeprecationWarningString)�Failure)�error�http)�_ensureValidMethod�_ensureValidURI)�Headers)�UNKNOWN_LENGTH�IAgent�IAgentEndpointFactory�
IBodyProducer�IPolicyForHTTPS� IResponse)�EmailMessage)�HTTPResponse)�Requestc �Z � t t d� | D � � � }|j d� S )Nc 3 �> |