grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026B 2¢r2qŠïã@sšddlZddlZddlZdddddddd d d d d ddddddgZeefZdd„ZdBdd„ZdCdd„Z dd„Z dd„Z e  dd¡Z e  dd¡Zdd„Zdd„ZdZdadad d„ZdDd!d „Zd"d „ZdEd#d „Zdadad$Zd%ZdFd&d'„Zddddd(œd)d„Zddd*d+œd,d„Zd-Zda da!da"dGd.d „Z#d/d „Z$d0Z%e%d1d2Z&d3d„Z'd4d„Z(d5d6„Z)d7d„Z*d8d9„Z+d:d„Z,d;d<„Z-d=d>„Z.d?d@„Z/e0dAk�r–e.ƒdS)HéNÚencodeÚdecodeÚ encodebytesÚ decodebytesÚ b64encodeÚ b64decodeÚ b32encodeÚ b32decodeÚ b16encodeÚ b16decodeÚ b85encodeÚ b85decodeÚ a85encodeÚ a85decodeÚstandard_b64encodeÚstandard_b64decodeÚurlsafe_b64encodeÚurlsafe_b64decodecCsxt|tƒr2y | d¡Stk r0tdƒ‚YnXt|tƒr@|Sy t|ƒ ¡Stk rrtd|j j ƒd‚YnXdS)NÚasciiz4string argument should contain only ASCII charactersz>argument should be a bytes-like object or ASCII string, not %r) Ú isinstanceÚstrrÚUnicodeEncodeErrorÚ ValueErrorÚ bytes_typesÚ memoryviewÚtobytesÚ TypeErrorÚ __class__Ú__name__)Ús©r ú+/opt/alt/python37/lib64/python3.7/base64.pyÚ_bytes_from_decode_data"s    r"cCs,tj|dd�}|dk r(| t d|¡¡S|S)NF)Únewlines+/)ÚbinasciiÚ b2a_base64Ú translateÚbytesÚ maketrans)rÚaltcharsÚencodedr r r!r3sFcCsNt|ƒ}|dk r*t|ƒ}| t |d¡¡}|rDt d|¡sDt d¡‚t |¡S)Ns+/s[A-Za-z0-9+/]*={0,2}zNon-base64 digit found) r"r&r'r(ÚreÚ fullmatchr$ÚErrorÚ a2b_base64)rr)Zvalidater r r!rAs cCst|ƒS)N)r)rr r r!rZscCst|ƒS)N)r)rr r r!rass+/s-_cCst|ƒ t¡S)N)rr&Ú_urlsafe_encode_translation)rr r r!roscCst|ƒ}| t¡}t|ƒS)N)r"r&Ú_urlsafe_decode_translationr)rr r r!rxs  s ABCDEFGHIJKLMNOPQRSTUVWXYZ234567csBtdkr,dd„tDƒ‰‡fdd„ˆDƒad‰t|tƒsBt|ƒ ¡}t|ƒd}|rb|dd|}tƒ}tj }t}xjt dt|ƒdƒD]V}||||d…dƒ}|||d?||d ?d @||d ?d @||d @7}q„W|d krôd |dd…<nF|dk�r d|dd…<n.|dk�r$d|dd…<n|dk�r:d|dd…<t |ƒS)NcSsg|]}t|fƒ‘qSr )r')Ú.0Úir r r!ú •szb32encode..csg|]}ˆD] }||‘q qSr r )r1ÚaÚb)Úb32tabr r!r3–séórÚbigééiÿé és======iúÿÿÿés====éüÿÿÿés===éýÿÿÿéó=éÿÿÿÿ) Ú_b32tab2Ú _b32alphabetrrrrÚlenÚ bytearrayÚintÚ from_bytesÚranger')rÚleftoverr*rJZb32tab2r2Úcr )r6r!rŽs4   *    c Cs‚tdkrdd„ttƒDƒat|ƒ}t|ƒdr8t d¡‚|dk r^t|ƒ}| t  dd|¡¡}|rj|  ¡}t|ƒ}|  d¡}|t|ƒ}t ƒ}t}x€t dt|ƒdƒD]l}|||d…}d} y"x|D]} | d >|| } qÄWWn tk rþt d ¡d‚YnX||  d d ¡7}q¤W|d�s(|d k�r2t d¡‚|�rz|�rz| d |K} |  d d ¡} d d |d} | d| …|dd…<t|ƒS)NcSsi|]\}}||“qSr r )r1ÚkÚvr r r!ú Êszb32decode..ézIncorrect paddings01óOrCrr7zNon-base32 digit foundr9>rr=r@rBéé+éûÿÿÿ)Ú_b32revÚ enumeraterFr"rGr$r-r&r'r(ÚupperÚrstriprHrKÚKeyErrorÚto_bytes) rÚcasefoldZmap01ÚlZpadcharsÚdecodedZb32revr2ZquantaÚaccrMZlastrLr r r!r ´s@         cCst |¡ ¡S)N)r$ZhexlifyrX)rr r r!r ÷scCs4t|ƒ}|r| ¡}t d|¡r*t d¡‚t |¡S)Ns [^0-9A-F]zNon-base16 digit found)r"rXr+Úsearchr$r-Z unhexlify)rr\r r r!r ýs   s<~s~>c s¬t|tƒst|ƒ ¡}t|ƒ d}|r4|d|}t dt|ƒd¡ |¡}‡‡‡‡fdd„|Dƒ}|r¢|s¢|ddkrŒˆdd |d<|dd| …|d<d  |¡S) NrBr8z!%dIcsPg|]H}ˆr|sdn6ˆr$|dkr$dn&ˆ|dˆ|ddˆ|d‘qS)ózi óyií^ éUi9r )r1Zword)ÚcharsÚchars2ÚfoldnulsÚ foldspacesr r!r3!sz_85encode..rDrarr7ó) rrrrrGÚstructÚStructÚunpackÚjoin) r5rdreÚpadrfrgÚpaddingZwordsÚchunksr )rdrerfrgr!Ú _85encodes    rp)rgÚwrapcolrmÚadobecsºtdkr*dd„tddƒDƒadd„tDƒat|tt|d|ƒ‰|rHtˆ‰ˆrªt|rVdndˆƒ‰‡‡fd d„td tˆƒˆƒDƒ}|r t|d ƒdˆkr | d ¡d  |¡‰|r¶ˆt 7‰ˆS)NcSsg|]}t|fƒ‘qSr )r')r1r2r r r!r3Dsza85encode..é!évcSsg|]}tD] }||‘q qSr )Ú _a85chars)r1r4r5r r r!r3EsTr>r=csg|]}ˆ||ˆ…‘qSr r )r1r2)Úresultrqr r!r3MsrrDrhó ) rurKÚ _a85chars2rpÚ _A85STARTÚmaxrGÚappendrlÚ_A85END)r5rgrqrmrrror )rvrqr!r/s"   s )rgrrÚ ignorecharsc Cs¢t|ƒ}|rH| t¡s$td t¡ƒ‚| t¡r<|dd…}n |dd…}t d¡j }g}|j }g}|j }|j } �x|dD]ö} d| kr”dk�r nnt|| ƒt |ƒdk�rpd } x|D]} d | | d} q¸Wy||| ƒƒWn"tj k �rtd ƒd‚YnX| ƒqz| d k�r.|�r$td ƒ‚|dƒqz|�rV| dk�rV|�rLtdƒ‚|dƒqz| |k�rdqzqztd| ƒ‚qzWd |¡} dt |ƒ} | �rž| d| …} | S)Nz1Ascii85 encoded byte sequences must end with {!r}r>éþÿÿÿz!Isuuuurséur7rrczAscii85 overflowézzz inside Ascii85 5-tupleséyzy inside Ascii85 5-tuples zNon-Ascii85 digit found: %crhrB)r"Úendswithr|rÚformatÚ startswithryrirjÚpackr{ÚclearrGÚerrorrl)r5rgrrr}ÚpackIr^Zdecoded_appendZcurrZ curr_appendZ curr_clearÚxr_rvrnr r r!rXsV           sU0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~cCs2tdkr$dd„tDƒadd„tDƒat|tt|ƒS)NcSsg|]}t|fƒ‘qSr )r')r1r2r r r!r3°szb85encode..cSsg|]}tD] }||‘q qSr )Ú _b85chars)r1r4r5r r r!r3±s)rŠÚ _b85alphabetÚ _b85chars2rp)r5rmr r r!r ¦s c CsZtdkr0dgdaxttƒD]\}}|t|<qWt|ƒ}t|ƒ d}|d|}g}t d¡j}xÔtdt|ƒdƒD]À}|||d…}d}y"x|D]}|dt|}q”WWnJt k røx2t|ƒD]&\}}t|dkrÈt d||ƒd‚qÈW‚YnXy|  ||ƒ¡Wqttj k �r2t d|ƒd‚YqtXqtWd   |¡} |�rV| d| …} | S) Nér7ó~z!Irrcz#bad base85 character at position %dz+base85 overflow in hunk starting at byte %drh)Ú_b85decrWr‹r"rGrirjr…rKrrr{r‡rl) r5r2rMrnÚoutrˆÚchunkr_Újrvr r r!r ´s<       éLrBr@cCs`xZ| t¡}|sPx0t|ƒtkrB| tt|ƒ¡}|s8P||7}qWt |¡}| |¡qWdS)N)ÚreadÚ MAXBINSIZErGr$r%Úwrite)ÚinputÚoutputrÚnsÚliner r r!räs   cCs,x&| ¡}|sPt |¡}| |¡qWdS)N)Úreadliner$r.r–)r—r˜ršrr r r!rós  c Cs’y t|ƒ}Wn8tk rD}zd|jj}t|ƒ|‚Wdd}~XYnX|jdkrjd|j|jjf}t|ƒ‚|jdkrŽd|j|jjf}t|ƒ‚dS)Nz"expected bytes-like object, not %s)rMr5ÚBz-expected single byte elements, not %r from %sr=z(expected 1-D data, not %d-D data from %s)rrrrrƒÚndim)rÚmÚerrÚmsgr r r!Ú_input_type_checküs    r¡cCsPt|ƒg}x8tdt|ƒtƒD]$}|||t…}| t |¡¡qWd |¡S)Nrrh)r¡rKrGr•r{r$r%rl)rÚpiecesr2r‘r r r!r s cCsddl}| dtd¡t|ƒS)NrzAencodestring() is a deprecated alias since 3.1, use encodebytes()r>)ÚwarningsÚwarnÚDeprecationWarningr)rr£r r r!Ú encodestringsr¦cCst|ƒt |¡S)N)r¡r$r.)rr r r!rscCsddl}| dtd¡t|ƒS)NrzHdecodestring() is a deprecated alias since Python 3.1, use decodebytes()r>)r£r¤r¥r)rr£r r r!Ú decodestring$sr§c Cs ddl}ddl}y| |jdd…d¡\}}WnP|jk r~}z0|j|_t|ƒtd|jdƒ| d¡Wdd}~XYnXt}xF|D]>\}}|dkržt}|dkrªt }|dkr¶t }|d krŠt ƒdSqŠW|�r |dd k�r t |dd ƒ�}|||jj ƒWdQRXn||j j |jj ƒdS) Nrr=Zdeutz�usage: %s [-d|-e|-u|-t] [file|-] -d, -u: decode -e: encode (default) -t: encode and decode string 'Aladdin:open sesame'r>z-ez-dz-uz-tú-Úrb)ÚsysÚgetoptÚargvr‡ÚstderrÚstdoutÚprintÚexitrrÚtestÚopenÚbufferÚstdin) rªr«ZoptsÚargsr ÚfuncÚor4Úfr r r!Úmain.s0r¹cCs<d}tt|ƒƒt|ƒ}tt|ƒƒt|ƒ}tt|ƒƒdS)NsAladdin:open sesame)r¯Úreprrr)Zs0Ús1Ús2r r r!r±Hs   r±Ú__main__)N)NF)FN)F)FFF)F)1r+rir$Ú__all__r'rHrr"rrrrr(r/r0rrrFrErVrr r r rurxryr|rprrr‹rŠrŒr�r r Z MAXLINESIZEr•rrr¡rr¦rr§r¹r±rr r r r!Ú sf     & C  )H -