3 ”Re³ã@spddlZddlZddlZddlZddlmZddlmZddlm Z m Z m Z dd„Z dd „Z Gd d „d eƒZdS) éN)Úmsgpack)ÚCaseInsensitiveDicté)Ú HTTPResponseÚpickleÚ text_typecCstj|jdƒƒS)NÚascii)Úbase64Ú b64decodeÚencode)Úb©r ú‘/builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el8.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/cachecontrol/serialize.pyÚ_b64_decode_bytes srcCst|ƒjdƒS)NÚutf8)rÚdecode)Úsr r rÚ_b64_decode_strsrc@sNeZdZddd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dS)Ú SerializerNc CsÞt|jƒ}|dkr*|jdd�}tj|ƒ|_d|tdd„|jjƒDƒƒ|j|j t |j ƒ|j |j dœi}i|d<d|krÆ|djdƒ}xB|D]:}t |ƒjƒ}|jj|dƒ}|dk r¶t |ƒ}||d|<qˆWd jd tj|d d �gƒS) NF)Údecode_contentÚresponsecss"|]\}}t|ƒt|ƒfVqdS)N)r)Ú.0ÚkÚvr r rú 3sz#Serializer.dumps..)ÚbodyÚheadersÚstatusÚversionÚreasonÚstrictrÚvaryú,ó,scc=4T)Ú use_bin_type)rrÚreadÚioÚBytesIOÚ_fpÚdictÚitemsrrrrr rÚsplitÚstripÚgetÚjoinrÚdumps) ÚselfÚrequestrrÚresponse_headersÚdataÚvaried_headersÚheaderÚ header_valuer r rr/s.     zSerializer.dumpscCs˜|sdSy|jddƒ\}}Wntk r4d}YnX|dd…dkrR||}d}|jddƒd jdƒ}yt|dj|ƒƒ||ƒStk r’dSXdS) Nr#rscc=0éscc=ó=rz _loads_v{}éÿÿÿÿ)r+Ú ValueErrorrÚgetattrÚformatÚAttributeError)r0r1r3Úverr r rÚloadsJs zSerializer.loadsc CsÚd|jdiƒkrdSx2|jdiƒjƒD]\}}|jj|dƒ|kr&dSq&W|djdƒ}t|ddd�}|jdd ƒd kr‚|jdƒ||dd<ytj|ƒ}Wn$tk rÀtj|jd ƒƒ}YnXt f|d d œ|d—ŽS)z`Verify our vary headers match and construct a real urllib3 HTTPResponse object. Ú*r!Nrrr)r3ztransfer-encodingÚÚchunkedrF)rÚpreload_content) r-r*rÚpoprr&r'Ú TypeErrorr r)r0r1Úcachedr5ÚvalueÚbody_rawrrr r rÚprepare_responsehs  zSerializer.prepare_responsecCsdS)Nr )r0r1r3r r rÚ _loads_v0ŽszSerializer._loads_v0c Cs0ytj|ƒ}Wntk r"dSX|j||ƒS)N)rr?r:rI)r0r1r3rFr r rÚ _loads_v1”s zSerializer._loads_v1c Cs¶ytjtj|ƒjdƒƒ}Wnttjfk r4dSXt|ddƒ|dd<tdd„|ddj ƒDƒƒ|dd<t |ddƒ|dd<tdd„|d j ƒDƒƒ|d <|j ||ƒS) Nrrrcss"|]\}}t|ƒt|ƒfVqdS)N)r)rrrr r rr¥sz'Serializer._loads_v2..rrcss.|]&\}}t|ƒ|dk r t|ƒn|fVqdS)N)r)rrrr r rrªsr!) Újsonr?ÚzlibÚ decompressrr:Úerrorrr)r*rrI)r0r1r3rFr r rÚ _loads_v2œszSerializer._loads_v2cCsdS)Nr )r0r1r3r r rÚ _loads_v3°szSerializer._loads_v3c Cs4ytj|dd�}Wntk r&dSX|j||ƒS)NF)Úraw)rr?r:rI)r0r1r3rFr r rÚ _loads_v4¶s zSerializer._loads_v4)N) Ú__name__Ú __module__Ú __qualname__r/r?rIrJrKrPrQrSr r r rrs 4&r)r r&rLrMÚ pip._vendorrZpip._vendor.requests.structuresrÚcompatrrrrrÚobjectrr r r rÚs