U ʗRe@svddlZddlZddlZddlZddlmZddlmZddlm Z m Z m Z ddZ dd Z eZGd d d eZdS) N)msgpack)CaseInsensitiveDict) HTTPResponsepickle text_typecCst|dS)Nascii)base64 b64decodeencode)br /builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/cachecontrol/serialize.py_b64_decode_bytessrcCst|dS)Nutf8)rdecode)sr r r_b64_decode_strsrc@sZeZdZdddZdddZdddZddd Zdd d Zdd d ZddZ dddZ dS) SerializerNc Cst|j}|dkr*|jdd}t||_d|tdd|jD|j|j t |j |j |j di}i|d<d|kr|dd}|D]:}t |}|j|d}|dk rt |}||d|<qd d tj|d d gS) NF)decode_contentresponsecss"|]\}}t|t|fVqdSN)r.0kvr r r 0sz#Serializer.dumps..)bodyheadersstatusversionreasonstrictrvary,,scc=4T) use_bin_type)rrreadioBytesIO_fpdictitemsrr rr!r"rsplitstripgetjoinrdumps) selfrequestrrresponse_headersdatavaried_headersheader header_valuer r rr1s4    zSerializer.dumpscCs|sdSz|dd\}}Wntk r4d}YnX|dddkrR||}d}|dddd}zt|d ||||WStk rYdSXdS) Nr%rscc=0scc==rz _loads_v{})r- ValueErrorrgetattrformatAttributeError)r2r3r5 body_fileverr r rloadsHs zSerializer.loadsc Csd|dikrdS|diD] \}}|j|d|kr$dSq$|dd}t|ddd}|dd d kr|d||dd<z|dkrt|}n|}Wn$tk rt|d }YnXt f|d d |dS)z`Verify our vary headers match and construct a real urllib3 HTTPResponse object. *r#Nrrr)r5ztransfer-encodingchunkedrF)rpreload_content) r/r,rpoprr(r) TypeErrorr r) r2r3cachedr@r7valuebody_rawrrr r rprepare_responsefs"   zSerializer.prepare_responsecCsdSrr r2r3r5r@r r r _loads_v0szSerializer._loads_v0cCs4zt|}Wntk r$YdSX||||Sr)rrBr<rLr2r3r5r@rIr r r _loads_v1s zSerializer._loads_v1c Cs|dks tztt|d}Wnttjfk rBYdSXt|dd|dd<t dd|dd D|dd<t |dd|dd<t dd|d  D|d <| |||S) Nrrrcss"|]\}}t|t|fVqdSrrrr r rrsz'Serializer._loads_v2..rr!css.|]&\}}t||dk r t|n|fVqdSrrQrr r rrsr#) AssertionErrorjsonrBzlib decompressrr<errorrr+r,rrLrOr r r _loads_v2s  zSerializer._loads_v2cCsdSrr rMr r r _loads_v3szSerializer._loads_v3cCs8ztj|dd}Wntk r(YdSX||||S)NF)raw)rrBr<rLrOr r r _loads_v4s zSerializer._loads_v4)N)N)N)N)N)N)N) __name__ __module__ __qualname__r1rBrLrNrPrWrXrZr r r rrs ,  )   r)r r(rSrT pip._vendorrZpip._vendor.requests.structuresrcompatrrrrrobject_default_body_readrr r r rs