hyb
2025-12-30 399ffc4d9829f70529d3b096fe4228f7496cc566
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
Ë
ñúhƒ!ã    ó—ddlmZddlZddlZddlZddlmZdd„Zd„Z    ddd    œZ
e
je dd
«Dcic](}|d vr"ej|«d j|«“Œ*c}«d „Zd„ZeZGd„de«Zycc}w)é)Úabsolute_importNé)ÚsixcóB—|rtj|«dxs|S|S)zæ
    Guess the "Content-Type" of a file.
 
    :param filename:
        The filename to guess the "Content-Type" of using :mod:`mimetypes`.
    :param default:
        If no "Content-Type" can be guessed, default to `default`.
    r)Ú    mimetypesÚ
guess_type)ÚfilenameÚdefaults  úMH:\Change_password\venv_build\Lib\site-packages\pip/_vendor/urllib3/fields.pyÚguess_content_typer
s'€ñÜ×#Ñ# HÓ-¨aÑ0Ò;°GÐ;Ø €Nóc󺇗t‰tj«r‰jd«Št    ˆfd„dD««s|›d‰›d}    |j d«|Stjr‰j d«Štjj‰d«Š|›d‰›Štjr‰jd«Š‰S#t tf$rYŒ|wxYw)a!
    Helper function to format and quote a single header parameter using the
    strategy defined in RFC 2231.
 
    Particularly useful for header parameters which might contain
    non-ASCII values, like file names. This follows
    `RFC 2388 Section 4.4 <https://tools.ietf.org/html/rfc2388#section-4.4>`_.
 
    :param name:
        The name of the parameter, a string expected to be ASCII only.
    :param value:
        The value of the parameter, provided as ``bytes`` or `str``.
    :ret:
        An RFC-2231-formatted unicode string.
    úutf-8c3ó&•K—|]}|‰v–—Œ
y­w©N©)Ú.0ÚchÚvalues  €r ú    <genexpr>z.format_header_param_rfc2231.<locals>.<genexpr>+søèø€Ò/˜rˆrUŒ{Ñ/ùsƒz"\
ú="ú"Úasciiz*=) Ú
isinstancerÚ binary_typeÚdecodeÚanyÚencodeÚUnicodeEncodeErrorÚUnicodeDecodeErrorÚPY2ÚemailÚutilsÚencode_rfc2231)ÚnamerÚresults ` r Úformat_header_param_rfc2231r's¼ø€ô %œŸ™Ô)Ø— ‘ ˜WÓ%ˆä Ó/ YÔ/Ô /Ú#¢UÐ+ˆð    Ø M‰M˜'Ô "ðˆMä
‡w‚wØ— ‘ ˜WÓ%ˆô K‰K× &Ñ & u¨gÓ 6€EÚ™eÐ $€Eä
‡w‚wØ— ‘ ˜WÓ%ˆà €Løô!#Ô$6Ð7ò    Ù ð    úsÁ
CÃCÃCz%22z\\)rú\é )éz%{:02X}c
󿇗ˆfd„}tjdj‰j«Dcgc]}tj|«‘Œc}««}|j ||«}|Scc}w)Ncó,•—‰|jd«S)Nr)Úgroup)ÚmatchÚneedles_and_replacementss €r Úreplacerz#_replace_multiple.<locals>.replacerSsø€Ø'¨¯ © °A«Ñ7Ð7r ú|)ÚreÚcompileÚjoinÚkeysÚescapeÚsub)rr/r0ÚneedleÚpatternr&s `    r Ú_replace_multipler:Rs_ø€ô8ôj‰jØ     ‰    Ð3K×3PÑ3PÓ3RÖS¨”2—9‘9˜VÕ$ÒSÓTó€Gð[‰[˜ 5Ó )€Fà €Mùò Ts³A. cóˆ—t|tj«r|jd«}t    |t
«}|›d|›dS)a±
    Helper function to format and quote a single header parameter using the
    HTML5 strategy.
 
    Particularly useful for header parameters which might contain
    non-ASCII values, like file names. This follows the `HTML5 Working Draft
    Section 4.10.22.7`_ and matches the behavior of curl and modern browsers.
 
    .. _HTML5 Working Draft Section 4.10.22.7:
        https://w3c.github.io/html/sec-forms.html#multipart-form-data
 
    :param name:
        The name of the parameter, a string expected to be ASCII only.
    :param value:
        The value of the parameter, provided as ``bytes`` or `str``.
    :ret:
        A unicode string, stripped of troublesome characters.
    rrr)rrrrr:Ú_HTML5_REPLACEMENTS)r%rs  r Úformat_header_param_html5r=_s8€ô&%œŸ™Ô)Ø— ‘ ˜WÓ%ˆä ˜eÔ%8Ó 9€EâšuÐ %Ð%r cóN—eZdZdZddefd„Zeefd„«Zd„Zd„Z    d„Z
    d    d„Z y)
Ú RequestFielda
    A data container for request body parameters.
 
    :param name:
        The name of this request field. Must be unicode.
    :param data:
        The data/value body.
    :param filename:
        An optional filename of the request field. Must be unicode.
    :param headers:
        An optional dict-like object of headers to initially use for the field.
    :param header_formatter:
        An optional callable that is used to encode and format the headers. By
        default, this is :func:`format_header_param_html5`.
    Ncón—||_||_||_i|_|rt    |«|_||_yr)Ú_nameÚ    _filenameÚdataÚheadersÚdictÚheader_formatter)Úselfr%rCr    rDrFs      r Ú__init__zRequestField.__init__s6€ðˆŒ
Ø!ˆŒØˆŒ    ØˆŒ Ù Ü ›=ˆDŒLØ 0ˆÕr cóº—t|t«r&t|«dk(r|\}}}n|\}}t|«}nd}d}|}|||||¬«}|j    |¬«|S)a³
        A :class:`~urllib3.fields.RequestField` factory from old-style tuple parameters.
 
        Supports constructing :class:`~urllib3.fields.RequestField` from
        parameter of key/value strings AND key/filetuple. A filetuple is a
        (filename, data, MIME type) tuple where the MIME type is optional.
        For example::
 
            'foo': 'bar',
            'fakefile': ('foofile.txt', 'contents of foofile'),
            'realfile': ('barfile.txt', open('realfile').read()),
            'typedfile': ('bazfile.bin', open('bazfile').read(), 'image/jpeg'),
            'nonamefile': 'contents of nonamefile field',
 
        Field names and filenames must be unicode.
        éN)r    rF)Ú content_type)rÚtupleÚlenr Úmake_multipart)ÚclsÚ    fieldnamerrFr    rCrKÚ request_params        r Ú from_tupleszRequestField.from_tuplesŸst€ô$ eœUÔ #ܐ5‹z˜QŠØ/4Ñ,˜$¡ à!&‘˜$Ü1°(Ó;‘ àˆH؈L؈DáØ t hÐAQô
ˆ ð    ×$Ñ$°,Ð$Ô?àÐr có&—|j||«S)aI
        Overridable helper function to format a single header parameter. By
        default, this calls ``self.header_formatter``.
 
        :param name:
            The name of the parameter, a string expected to be ASCII only.
        :param value:
            The value of the parameter, provided as a unicode string.
        )rF)rGr%rs   r Ú _render_partzRequestField._render_partÃs€ð×$Ñ$ T¨5Ó1Ð1r cóȗg}|}t|t«r|j«}|D])\}}|€Œ    |j|j    ||««Œ+dj |«S)aO
        Helper function to format and quote a single header.
 
        Useful for single headers that are composed of multiple items. E.g.,
        'Content-Disposition' fields.
 
        :param header_parts:
            A sequence of (k, v) tuples or a :class:`dict` of (k, v) to format
            as `k1="v1"; k2="v2"; ...`.
        ú; )rrEÚitemsÚappendrTr4)rGÚ header_partsÚpartsÚiterabler%rs      r Ú _render_partszRequestField._render_partsÐsi€ðˆØˆÜ l¤DÔ )Ø#×)Ñ)Ó+ˆHà#ò    =‰KˆD%ØÑ Ø— ‘ ˜T×.Ñ.¨t°UÓ;Õ<ð    =ðz‰z˜%ӠРr có`—g}gd¢}|D]B}|jj|d«sŒ |j|›d|j|›«ŒD|jj«D]#\}}||vsŒ |sŒ|j|›d|›«Œ%|jd«dj    |«S)z=
        Renders the headers for this request field.
        )úContent-Dispositionú Content-TypeúContent-LocationFz: z
)rDÚgetrXrWr4)rGÚlinesÚ    sort_keysÚsort_keyÚ header_nameÚ header_values      r Úrender_headerszRequestField.render_headersæs«€ðˆâOˆ    Ø!ò    MˆH؏|‰|×Ñ ¨%Õ0Ø— ‘ ª(°D·L±LÀÒ4JÐKÕLð    Mð*.¯©×);Ñ);Ó)=ò    JÑ %ˆK˜Ø )Ò+ÚØ—L‘Lªk¹<Ð!HÕIð    Jð
     ‰ WÔØ|‰|˜EÓ"Ð"r c ó—|xsd|jd<|jdxxdjd|jd|jfd|jff«g«z cc<||jd<||jd<y    )
a|
        Makes this request field into a multipart request field.
 
        This method overrides "Content-Disposition", "Content-Type" and
        "Content-Location" headers to the request parameter.
 
        :param content_type:
            The 'Content-Type' of the request body.
        :param content_location:
            The 'Content-Location' of the request body.
 
        z    form-datar^rVÚr%r    r_r`N)rDr4r\rArB)rGÚcontent_dispositionrKÚcontent_locations    r rNzRequestField.make_multipartùsˆ€ð/BÒ.QÀ\ˆ ‰ Ð*Ñ+Ø  ‰ Ð*Ó+¨u¯z©zàØ×"Ñ"ؘtŸz™zÐ*¨[¸$¿.¹.Ð,IÐJóð ó0
ñ    
Ó+ð(4ˆ ‰ ^Ñ$Ø+;ˆ ‰ Ð'Ò(r )NNN) Ú__name__Ú
__module__Ú __qualname__Ú__doc__r=rHÚ classmethodrRrTr\rgrNrr r r?r?~sJ„ñð(ØØ2ó 1ð Ø<Uò!óð!òF 2ò!ò,#ð(MQô<r r?)zapplication/octet-stream)Ú
__future__rÚ email.utilsr"rr2Úpackagesrr r'r<ÚupdateÚrangeÚunichrÚformatr:r=Úformat_header_paramÚobjectr?)Úccs0r ú<module>r{s¦ðÝ&ãÛÛ    åó ò'ðVàñÐð×Ññ˜˜hÓ'öà Ø WÑ ð    ˆ
‰
2‹˜
×)Ñ)¨"Ó-Ñ-òôò
ò&ð80ÐôT<6õT<ùòis»-B