й¼]Vã @s÷ddddgZdZdZdZdZydd lmZmZWnek rdd Zd ZYnXd d „Z d d„Z ddd„Z dddd„Z ddd„Z ddd„Zdd„Zdd„Zdd„Zedkróeƒd S)ÚencodeÚdecodeÚ encodestringÚ decodestringó=éLs0123456789ABCDEFóé)Úa2b_qpÚb2a_qpNcCsG|dkr|S|dkr |S|tkpFd|koCdkn S)Ns ó_ó ó~)ÚESCAPE)ÚcÚ quotetabsÚheader©rú+/opt/alt/python35/lib64/python3.5/quopri.pyÚ needsquotings   rcCs0t|ƒ}ttt|dt|dfƒS)Né)ÚordrÚbytesÚHEX)rrrrÚquote$s rFc Cs®tdk rA|jƒ}t|d|d|ƒ}|j|ƒdS|ddd„}d}x2|jƒ}|soPg} d} |d d…dkr§|dd …}d} xj|D]b} t| fƒ} t| ||ƒrát| ƒ} |r| dkr| jd ƒq®| j| ƒq®W|dk r*||ƒtj | ƒ} xHt | ƒt krƒ|| dt d…d d ƒ| t dd…} q<W| }q\W|dk rª||d | ƒdS)Nrrs cSs‰|rN|dd…dkrN|j|dd…t|dd…ƒ|ƒn7|dkrt|jt|ƒ|ƒn|j||ƒdS)Nés ó.éÿÿÿÿrr)Úwriter)ÚsÚoutputÚlineEndrrrr;s 2 zencode..writerrr r r s= rr) r ÚreadrÚreadlinerrrÚappendÚ EMPTYSTRINGÚjoinÚlenÚ MAXLINESIZE) ÚinputrrrÚdataÚodatarZprevlineÚlineZoutlineÚstrippedrZthislinerrrr,s@           cCsdtdk r"t|d|d|ƒSddlm}||ƒ}|ƒ}t||||ƒ|jƒS)Nrrr)ÚBytesIO)r Úior-rÚgetvalue)rrrr-ÚinfpÚoutfprrrrjs   c Cs‰tdk r;|jƒ}t|d|ƒ}|j|ƒdSd}x.|jƒ}|sWPdt|ƒ}}|dkrÚ||d|…dkrÚd} |d}x=|dkrÖ||d|…dkrÖ|d}q£Wnd} xn||krP|||d…} | dkr,|r,|d}|d}qã| tkrO|| }|d}qã|d|krp| rpd} Pqã|d|krµ||d|d …tkrµ|t}|d }qã|d |kr9t||d|d …ƒr9t||d |d …ƒr9|tt||d|d …ƒfƒ}|d }qã|| }|d}qãW| sD|j|dƒd}qDW|r…|j|ƒdS) Nrrrrs s r r éé) r r!rr"r&rÚishexrÚunhex) r(rrr)r*Únewr+ÚiÚnÚpartialrrrrrusR    & )   . L+   cCs^tdk rt|d|ƒSddlm}||ƒ}|ƒ}t||d|ƒ|jƒS)Nrr)r-)r r.r-rr/)rrr-r0r1rrrr s   cCsPd|kodknpOd|ko3dknpOd|koMdkSS)Nó0ó9óaófóAóFr)rrrrr4¬sr4cCsËd}x¾|D]¶}t|fƒ}d|ko9dknrMtdƒ}n^d|koddknr|tdƒd}n/d |ko“d knr«td ƒd}n|d t|ƒ|}q W|S) Nrr:r;Ú0r<r=Úaé r>r?r)rr)rÚbitsrr7rrrr5±s r5c (Cs)ddl}ddl}y)|j|jdd…dƒ\}}Wni|jk r¬}zF|j|_t|ƒtdƒtdƒtdƒ|jdƒWYdd}~XnXd}d}x8|D]0\}}|dkrÞd}|d krÀd}qÀW|r#|r#|j|_td ƒ|jdƒ|s2d g}d} x×|D]Ï} | d kr`|jj } n^yt | d ƒ} WnHt k r½}z(|jj d | |fƒd} w?WYdd}~XnXz6|rÝt | |jj ƒnt| |jj |ƒWd| d kr | jƒXq?W| r%|j| ƒdS)NrrZtdz"usage: quopri [-t | -d] [file] ...z-t: quote tabsz-d: decode; default encoder2z-tz-dz -t and -d are mutually exclusiveú-Úrbz%s: can't open (%s) )ÚsysÚgetoptÚargvÚerrorÚstderrÚstdoutÚprintÚexitÚstdinÚbufferÚopenÚOSErrorrrrÚclose) rFrGZoptsÚargsÚmsgZdecoZtabsÚorAÚstsÚfileÚfprrrÚmainÃsT  )                rYÚ__main__)Ú__all__rr'rr$Zbinasciir r Ú ImportErrorrrrrrrr4r5rYÚ__name__rrrrÚs(    > +   .