{L i, ddlmZmZmZmZmZmZmZmZddl m Z m Z m Z m Z mZe deee efeee efeeeefeeeefee eeffZdde eefdedefdZdd hZd eee e e fdeee e e ffd Z dde eefd ede edefdZ dde eeed fde ede ed ffdZGddeee efZy )) ItemsViewIterableIteratorKeysViewMappingMutableMappingSequence ValuesView)AnyAnyStrOptionalUnioncastHeadersvalueencodingreturncHt|tr|S|j|SN) isinstancestrdecoderrs `/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/curl_cffi/requests/headers.pyto_strrsuc*5F X0FF authorizationzproxy-authorizationitemsc#K|D]>\}}t|jtvrt|trdnd}||f@yw)Ns[secure]z[secure])rlowerSENSITIVE_HEADERSrbytes)rkvs robfuscate_sensitive_headersr%#sH1 !'')  1 1)!U3 Ad sAANr cxt|tr|n|j|xsd}|r|jS|S)zE Coerce str/bytes into a strictly byte-wise HTTP header key. ascii)rr"encoder )rr r bytes_values rnormalize_header_keyr*,s=E5)u||H> !. ."&(( JC 8,272C X. &.DN ~~! .".~~.s&A55 BBrc||_yr)r;)r<rs rrzHeaders.encodings rcX|jDcgc] \}}}||f c}}}Scc}}}w)zH Returns a list of the raw header items, as byte pairs. )r6)r<raw_key_rs rrCz Headers.raws+ ;?**EE%6Wa% EEEs%c|jDcic]"\}}}|j|jd$c}}jScc}}wr)r6rrkeys)r<rIrEs rrKz Headers.keyss;AELIAsA 4==)4/LQQSSLs'A ci}|jD]Z\}}}|j|j}||j|jnd}||vr||xxd|z cc<V|||<\|jS)NNone, )r6rrvaluesr< values_dictrIrErstr_key str_values rrOzHeaders.valuess&( !ZZ 1MAsEjj/G7<7H T]]3fI+%G$"YK(88$'0 G$  1!!##rci}|jD]Z\}}}|j|j}||j|jnd}||vr||xxd|z cc<V|||<\|jS)z Return `(key, value)` items of headers. Concatenate headers into a single comma separated value when a key occurs multiple times. rMrN)r6rrrrPs rrz Headers.itemss ') !ZZ 1MAsEjj/G7<7H T]]3fI+%G$"YK(88$'0 G$  1  ""rc |jDcgc]@\}}}|j|j||j|jn|fBc}}}Scc}}}w)z Return a list of `(key, value)` pairs of headers. Allow multiple occurrences of the same key without concatenating into a single comma separated value. )r6rr)r<rErIrs r multi_itemszHeaders.multi_itemss^"&   Q 4==)/4/@ T]]+e    sAArEdefaultc0 ||S#t$r|cYSwxYw)z Return a header value. If multiple occurrences of the header occur then concatenate them together with commas. )KeyError)r<rErWs rgetz Headers.gets%  9  N s   split_commasc|jj|j}|jDcgc]8\}}}|j|k(r||j |jn|:}}}}|s|Sg}|D]>} |j | j dD cgc]} | jc} @|Scc}}}wcc} w)z Return a list of all header values for a given key. If `split_commas=True` is passed, then any comma separated header values are split into multiple return strings. ,)r r(rr6rextendr7r9) r<rEr[get_header_keyrIitem_key item_valuerO split_valuesritems rget_listzHeaders.get_lists ++DMM:,0::  '8Z~~>11;0FJ  dmm ,J V  M  ME   %++c:J K$ K L M !Ls =C$C ct|}|D]}||vs|j||jj|jyr)rpopr6r^)r<r/rEs rupdatezHeaders.updatesE'" Cd{   '--(rc0t||jS)N)r)rrr<s rcopyz Headers.copystdmm44rcj|jj|j}|jDcgc]*\}}}||k(r||j |jn|,}}}}|dgk(ry|r(dj |Dcgc] }t |c}St|cc}}}wcc}w)z Return a single header value. If there are multiple headers with the same key, then we concatenate them with commas. See: https://tools.ietf.org/html/rfc7230#section-3.2.2 NrN)r r(rr6rjoinrrY)r<rEnormalized_keyrI header_key header_valuerrcs r __getitem__zHeaders.__getitem__s ++DMM: 04zz   ,:|^+'    .    TF? 99E:Dc$i:; ;sm ;s /B)B0c|j|jxsd}||j|jxsdn|}|j}t|jDcgc]\}\}}}||k(r|} }}}t | ddD]}|j|=| r| d}|||f|j|<y|jj |||fycc}}}w)zs Set the header `key` to `value`, removing any duplicate entries. Retains insertion order. rBNr3r)r(r;r enumerater6reversedr8) r<rErset_key set_value lookup_keyidxrIr` found_indexess r __setitem__zHeaders.__setitem__s **T^^6w77<7HELL27 3e ]]_ *34::)>  %%a1:%   M!"-. C 3  "C& I>DJJsO JJ  w I> ? s,Cc8|jj|j}t|jDcgc]\}\}}}|j|k(r| }}}}|s t |t |D]}|j|=ycc}}}w)z* Remove the header `key`. N)r r(rrrr6rYrs)r<rEdel_keyrwrIr` pop_indexess r __delitem__zHeaders.__delitem__(s))+$$T]]3*34::)>  %%a1~~7*   3- K( C 3  s#Bc|jj|j}||jDcgc]\}}}| c}}vScc}}wr)r r(rr6)r<rErnrIs r __contains__zHeaders.__contains__:s?YY['' 6 4::>iaac>>>>s A c4t|jSr)iterrKris r__iter__zHeaders.__iter__>sDIIK  rc,t|jSr)lenr6ris r__len__zHeaders.__len__As4::rotherc t|}|jDcgc] \}}}||f }}}}|jDcgc] \}}}||f }}}}t|t|k(S#t$rYywxYwcc}}}wcc}}}w)NF)r ValueErrorr6sorted)r<r other_headersrIrEr self_list other_lists r__eq__zHeaders.__eq__Ds #ENM8rs   65  C#  E8E? "# U38_ U5%< ! U3:  ! G%U #GsGG%&;< E&(6"223 4 eFHV,,-.# 9 e  9  9sm 9 9 DH: eS$& ':3;C=: 5$;:(L:nS(3-/0L:r