£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
U
    .e                     @   s   d dl mZ d dlmZ ddlmZmZ ddlmZ dZ	zd dl
ZW n ek
rX   Y n
X e	d7 Z	e Zdd	d
Zdd Zdd ZdS )    )absolute_import)	b64encode   )binteger_types)UnrewindableBodyErrorzgzip,deflateNz,brc                 C   s   i }|r6t |trnt |tr*d|}nt}||d< |rB||d< | rNd|d< |rldtt|d |d< |rdtt|d |d	< |rd
|d< |S )a  
    Shortcuts for generating request headers.

    :param keep_alive:
        If ``True``, adds 'connection: keep-alive' header.

    :param accept_encoding:
        Can be a boolean, list, or string.
        ``True`` translates to 'gzip,deflate'.
        List will get joined by comma.
        String will be used as provided.

    :param user_agent:
        String representing the user-agent you want, such as
        "python-urllib3/0.6"

    :param basic_auth:
        Colon-separated username:password string for 'authorization: basic ...'
        auth header.

    :param proxy_basic_auth:
        Colon-separated username:password string for 'proxy-authorization: basic ...'
        auth header.

    :param disable_cache:
        If ``True``, adds 'cache-control: no-cache' header.

    Example::

        >>> make_headers(keep_alive=True, user_agent="Batman/1.0")
        {'connection': 'keep-alive', 'user-agent': 'Batman/1.0'}
        >>> make_headers(accept_encoding=True)
        {'accept-encoding': 'gzip,deflate'}
    ,zaccept-encodingz
user-agentz
keep-aliveZ
connectionzBasic zutf-8Zauthorizationzproxy-authorizationzno-cachezcache-control)
isinstancestrlistjoinACCEPT_ENCODINGr   r   decode)Z
keep_aliveZaccept_encodingZ
user_agentZ
basic_authZproxy_basic_authZdisable_cacheZheaders r   D/usr/lib/python3.8/site-packages/pip/_vendor/urllib3/util/request.pymake_headers   s.    *


r   c              	   C   sR   |dk	rt | | n:t| dddk	rNz|  }W n ttfk
rL   t}Y nX |S )z
    If a position is provided, move file to that point.
    Otherwise, we'll attempt to record a position for future use.
    Ntell)rewind_bodygetattrr   IOErrorOSError_FAILEDTELL)bodyposr   r   r   set_file_positionZ   s    
r   c              	   C   st   t | dd}|dk	rNt|trNz|| W qp ttfk
rJ   tdY qpX n"|tkr`tdntdt| dS )z
    Attempt to rewind body to a certain position.
    Primarily used for request redirects and retries.

    :param body:
        File-like object that supports seek.

    :param int pos:
        Position to seek to in file.
    seekNzAAn error occurred when rewinding request body for redirect/retry.zRUnable to record file position for rewinding request body during a redirect/retry.z4body_pos must be of type integer, instead it was %s.)	r   r	   r   r   r   r   r   
ValueErrortype)r   Zbody_posZ	body_seekr   r   r   r   l   s    
r   )NNNNNN)Z
__future__r   base64r   Zpackages.sixr   r   
exceptionsr   r   ZbrotliZ_unused_module_brotliImportErrorobjectr   r   r   r   r   r   r   r   <module>   s&         
H