MINI MINI MANI MO

Path : /lib64/python3.6/email/__pycache__/
File Upload :
Current File : //lib64/python3.6/email/__pycache__/quoprimime.cpython-36.opt-2.pyc

3


 \&
@s`dddddddddd	g
Zd
dlZd
dlmZmZmZd
ZdZdZdde	dDZ
e
ddZe
ddZx,dej
dej
dD]Zeeee<qWdeed<xdD]Zeeee<qWddZddZddZddZd+ddZd d	Zd!dZd,d#dZeddZxd$D]Zeeee<qWd%efd&dZefd'dZeZeZd(d)Zd*dZdS)-body_decodebody_encodebody_lengthdecodedecodestring
header_decode
header_encode
header_lengthquoteunquoteN)
ascii_lettersdigits	hexdigitsz

cCsg|]}d|qS)z=%02X).0crr(/usr/lib64/python3.6/email/quoprimime.py
<listcomp>7srs-!*+/ascii_ s_ !"#$%&'()*+,-./0123456789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~	cCst|t|kS)N)chr_QUOPRI_HEADER_MAP)octetrrrheader_checkJsrcCst|t|kS)N)r_QUOPRI_BODY_MAP)rrrr
body_checkOsrcCstdd|DS)Ncss|]}tt|VqdS)N)lenr)rrrrr	<genexpr>^sz header_length.<locals>.<genexpr>)sum)	bytearrayrrrrTs
cCstdd|DS)Ncss|]}tt|VqdS)N)r r)rrrrrr!hszbody_length.<locals>.<genexpr>)r")r#rrrrascCsft|tst|}|s&|j|jn<t|dt||krT|d||7<n|j|jdS)Nr%)
isinstancestrrappendlstripr )LsmaxlenZextrarrr_max_appendks
r-cCstt|dddS)Nr$)rint)r+rrrr
vscCstt|S)N)_QUOPRI_MAPord)rrrrr	{s
iso-8859-1cCs$|sdS|jdjt}d||fS)Nrlatin1z=?%s?q?%s?=)r	translater)Zheader_bytescharsetencodedrrrrss
Lc
Cs|dkrtd|s|S|jt}d|}|d}g}|j}x,|jD]}d}t|d|}	x||	kr||}
||
ddkr||||
d|
d}qd||
ddkr||||
|
d}qd||||
d|
}qdW|o|d
dkrX||	}|dkrt|d}n(|dkr2|d|}n|t|d
}|||d|qH|||dqHW|dtkr|d	|j|S)Nzmaxlinelen must be at least 4=r$rz 	r.rr%r%r%r%r%r%)	
ValueErrorr5_QUOPRI_BODY_ENCODE_MAPr(
splitlinesr r	CRLFjoin)
ZbodyZ
maxlineleneolZ
soft_breakZmaxlinelen1Zencoded_bodyr(linestartZ	laststartstopZroomqrrrrsD





cCs |s|Sd}x|jD]}|j}|s0||7}qd}t|}x||kr||}|dkrh||7}|d7}nv|d|kr|d7}q>n^|d|kr||dtkr||dtkr|t|||d7}|d7}n||7}|d7}||kr>||7}q>WqW|ddkr|j|r|dd	}|S)
Nrrr:r$r;r.z
r%r%)r>rstripr rr
endswith)r7rAZdecodedrBinrrrrrs8

,
cCs|jd}t|S)Nr)groupr
)matchr+rrr_unquote_matchs
rLcCs |jdd}tjdt|tjdS)Nrrz=[a-fA-F0-9]{2})flags)replaceresubrLASCII)r+rrrr#s)r)r3) __all__rOstringrr
rr?NLZEMPTYSTRINGranger1rrencoderrr2rrrrr-r
r	rr=rrrrrLrrrrr<module>sN





O0

OHA YOOOO