*j:WSrSSKrSSKrSSKr/SQr\\4rSrS:Sjr S;Sjr Sr S r \RS S 5r\RS S 5rS rS rSrSrSrSrSr0r0rSrSS"jr&SSSSS#.S$jr'SSS%S&.S'jr(S(r)Sq*Sq+Sq,S=S)jr-S*r.S+r/S,r0\R\/\0-\)S-\1"\05--5r2\R\)\/5r3S.r4S/r5S0r6\6S1-S2-r7S3r8S4r9S5r:S6r;S7rS9:Xa\="5 gg)?zDBase16, Base32, Base64 (RFC 3548), Base85 and Ascii85 data encodingsN)encodedecode encodebytes decodebytes b64encode b64decode b32encode b32decode b32hexencode b32hexdecode b16encode b16decode b85encode b85decode a85encode a85decode z85encode z85decodestandard_b64encodestandard_b64decodeurlsafe_b64encodeurlsafe_b64decodecF[U[5(aURS5$[U[ 5(aU$[ U5R5$![a [ S5ef=f![a$ [SURR-5Sef=f)Nasciiz4string argument should contain only ASCII charactersz>argument should be a bytes-like object or ASCII string, not %r) isinstancestrrUnicodeEncodeError ValueError bytes_types memoryviewtobytes TypeError __class____name__ss -/opt/alt/python313/lib64/python3.13/base64.py_bytes_from_decode_datar("s!S U88G$ $![!!K!}$$&& " UST T U K)+,;;+?+?@AFJ KKsAA2A/2.B c[R"USS9nUb%UR[R SU55$U$)aEncode the bytes-like object s using Base64 and return a bytes object. Optional altchars should be a byte string of length 2 which specifies an alternative alphabet for the '+' and '/' characters. This allows an application to e.g. generate url or filesystem safe Base64 strings. F)newline+/)binascii b2a_base64 translatebytes maketrans)r&altcharsencodeds r'rr3s=!!!U3G  !ABB NFc[U5nUb0[U5nUR[RUS55n[R "XS9$)aDecode the Base64 encoded bytes-like object or ASCII string s. Optional altchars must be a bytes-like object or ASCII string of length 2 which specifies the alternative alphabet used instead of the '+' and '/' characters. The result is returned as a bytes object. A binascii.Error is raised if s is incorrectly padded. If validate is False (the default), characters that are neither in the normal base-64 alphabet nor the alternative alphabet are discarded prior to the padding check. If validate is True, these non-alphabet characters in the input result in a binascii.Error. For more information about the strict base64 check, see: https://docs.python.org/3.11/library/binascii.html#binascii.a2b_base64 r+) strict_mode)r(r.r/r0r, a2b_base64)r&r1validates r'rrAsH$ "A*84 KK%8 9   q 77r3c[U5$)zjEncode bytes-like object s using the standard Base64 alphabet. The result is returned as a bytes object. )rr%s r'rr[s Q<r3c[U5$)a=Decode bytes encoded with the standard Base64 alphabet. Argument s is a bytes-like object or ASCII string to decode. The result is returned as a bytes object. A binascii.Error is raised if the input is incorrectly padded. Characters that are not in the standard alphabet are discarded prior to the padding check. )rr%s r'rrbs Q<r3r+s-_c>[U5R[5$)zEncode bytes using the URL- and filesystem-safe Base64 alphabet. Argument s is a bytes-like object to encode. The result is returned as a bytes object. The alphabet uses '-' instead of '+' and '_' instead of '/'. )rr._urlsafe_encode_translationr%s r'rrps Q< ! !"= >>r3cX[U5nUR[5n[U5$)aDecode bytes using the URL- and filesystem-safe Base64 alphabet. Argument s is a bytes-like object or ASCII string to decode. The result is returned as a bytes object. A binascii.Error is raised if the input is incorrectly padded. Characters that are not in the URL-safe base-64 alphabet, and are not a plus '+' or slash '/', are discarded prior to the padding check. The alphabet uses '-' instead of '+' and '_' instead of '/'. )r(r._urlsafe_decode_translationrr%s r'rrys' "A /0A Q<r3zK Encode the bytes-like objects using {encoding} and return a bytes object. a Decode the {encoding} encoded bytes-like object or ASCII string s. Optional casefold is a flag specifying whether a lowercase alphabet is acceptable as input. For security purposes, the default is False. {extra_args} The result is returned as a bytes object. A binascii.Error is raised if the input is incorrectly padded or if there are non-alphabet characters present in the input. a RFC 3548 allows for optional mapping of the digit 0 (zero) to the letter O (oh), and for optional mapping of the digit 1 (one) to either the letter I (eye) or letter L (el). The optional argument map01 when not None, specifies which letter the digit 1 should be mapped to (when map01 is not None, the digit 0 is always mapped to the letter O). For security purposes the default is None, so that 0 and 1 are not allowed in the input. s ABCDEFGHIJKLMNOPQRSTUVWXYZ234567s 0123456789ABCDEFGHIJKLMNOPQRSTUVcU[;aEUVs/sHn[U45PM nnUVVs/sHoCHoTU-PM M snn[U'Sn[U[5(d[ U5R 5n[ U5S-nU(a USSU- --n[5n[Rn[Un [S[ U5S5H8nU"XUS-5n XyU S- XS- S--XS- S--XS--- nM: US:XaS US S&O#US :XaS US S&OUS:XaSUSS&O US:XaSUSS&[U5$s snfs snnf)Nri s======is====s====) _b32tab2r/rrr r!len bytearrayint from_bytesrange) alphabetr&ib32tabableftoverr2rPb32tab2cs r' _b32encoderZs{x'/0x!%+x0-3DVV!eVeVD a % % qM ! ! #1vzH X& &kGJx G 1c!fa  qAE{ #AG$"W-./"W-./I&' !1}  Q Q Q >;1Ds E EcU[;a'[U5VVs0sHupEXT_M snn[U'[U5n[U5S-(a[R "S5eUb3[U5nUR [RSSU-55nU(aUR5n[U5nURS5nU[U5- n[5n[Un [S[U5S5H3n XU S-n Sn U H n U S-X-n M XRS5- nM5 US-(dUS ;a[R "S5eU(a3U(a,W SU--n U RS5nS SU-- S-nUSUUS S&[U5$s snnf![a [R "S5Sef=f) NzIncorrect paddings01OrJrr?zNon-base32 digit found>rrDrGrI+)_b32rev enumerater(rMr,Errorr.r/r0upperrstriprNrQKeyErrorto_bytes)rRr&casefoldmap01kvlpadcharsdecodedb32revrSquantaaccrYlastrWs r' _b32decoderssw.7.AB.AdaQT.AB"A 1vznn011 '. KKte|< = GGI AA A3q6zHkG X F 1c!fa a!e Eax69, <<?"! 1u/nn011G H ||AX%!+IX >OC8 E..!9: D EsF(F.."Gc"[[U5$N)rZ _b32alphabetr%s r'r r s lA &&r3base32)encodingc$[[XU5$ru)rsrv)r&rhris r'r r s lA 77r3)rx extra_argsc"[[U5$ru)rZ_b32hexalphabetr%s r'r r s oq ))r3 base32hexc"[[X5$ru)rsr|r&rhs r'r r s oq 33r3cJ[R"U5R5$)zKEncode the bytes-like object s using Base16 and return a bytes object. )r,hexlifyrdr%s r'r r s   A  $ $ &&r3c[U5nU(aUR5n[R"SU5(a[R "S5e[R "U5$)ajDecode the Base16 encoded bytes-like object or ASCII string s. Optional casefold is a flag specifying whether a lowercase alphabet is acceptable as input. For security purposes, the default is False. The result is returned as a bytes object. A binascii.Error is raised if s is incorrectly padded or if there are non-alphabet characters present in the input. s [^0-9A-F]zNon-base16 digit found)r(rdresearchr,rc unhexlifyrs r'rrsN "A GGI yyq!!nn566   a  r3s<~s~>c[U[5(d[U5R5n[ U5*S-nU(aUSU--n[ R "S[ U5S--5RU5nUVs/sH<nU(a U(dSO(U(aUS:XaSOX(S-X(S-S --XS--PM> n nU(a'U(d U S S:Xa US S -U S 'U S SU*U S 'S RU 5$s snf)NrIr@z!%dIzi yi^ Ui9rKrr?r3) rrr r!rMstructStructunpackjoin) rVcharschars2padfoldnuls foldspacespaddingwordswordchunkss r' _85encoder.s a % % qM ! ! #Aw!mG   MM&CFaK0 1 8 8 ;E !  $ td TZ%7dfn%bj4'()BY !   !s ": qAF2JBZ '*r 88F !sAD )rwrapcolradobecL[cP[SS5Vs/sHn[U45PM snq[VVs/sHn[HoU-PM M snnq[ W[[USU5nU(a [ U-nU(a}[ U(aSOSU5n[S[U5U5Vs/sH nXuXR-PM nnU(a&[US5S-U:aURS5 S RU5nU(a U[- nU$s snfs snnfs snf) aEncode bytes-like object b using Ascii85 and return a bytes object. foldspaces is an optional flag that uses the special short sequence 'y' instead of 4 consecutive spaces (ASCII 0x20) as supported by 'btoa'. This feature is not supported by the standard encoding used in PDF. If wrapcol is non-zero, insert a newline (b'\n') character after at most every wrapcol characters. pad controls whether zero-padding applied to the end of the input is fully retained in the output encoding, as done by btoa, producing an exact multiple of 5 bytes of output. adobe controls whether the encoded byte sequence is framed with <~ and ~>, as in a PostScript base-85 string literal. Note that while ASCII85Decode streams in PDF documents must be terminated with ~>, they must not use a leading <~. !vTrErDrrKr3 ) _a85chars2rQr/ _a85charsr _A85STARTmaxrMappendr_A85END) rVrrrrrSrUresultrs r'rrFs.*/C.9.QUA4[.9 '0Dy!))Q1u)uyD q)ZdJ GF V#5aa1 CK9;9aAK(9 ; 6":"W, c"F# ' M%:D;sDD4D!s )rr ignorecharsc[U5nU(a]UR[5(d[SR [55eUR [ 5(aUSSnOUSSn[R"S5Rn/nURn/nURnURn US-Hn SU s=::aS::aJO OGU"U 5 [U5S :Xa.S n UHn S U -U S- -n M U"U"U 55 U "5 MXMZU S :XaU(a [S5eU"S5 M|U(a"U S:XaU(a [S5eU"S5 MX;aM[SU -5e SRU5n S[U5- n U (aU SU *n U $![Ra [S 5Sef=f)aDecode the Ascii85 encoded bytes-like object or ASCII string b. foldspaces is a flag that specifies whether the 'y' short sequence should be accepted as shorthand for 4 consecutive spaces (ASCII 0x20). This feature is not supported by the standard Ascii85 encoding used in PDF and PostScript. adobe controls whether the <~ and ~> markers are present. While the leading <~ is not required, the input must end with ~>, or a ValueError is raised. ignorechars should be a byte string containing characters to ignore from the input. This should only contain whitespace characters, and by default contains all whitespace characters in ASCII. The result is returned as a bytes object. z1Ascii85 encoded byte sequences must end with {!r}rEN!Isuuuurur?rrzAscii85 overflowzzz inside Ascii85 5-tuplesyzy inside Ascii85 5-tuples zNon-Ascii85 digit found: %cr3rI)r(endswithrrformat startswithrrrpackrclearrMerrorr)rVrrrpackIrndecoded_appendcurr curr_append curr_clearxrqrrs r'rrrs$ "A zz'"""F7O  << " "!BA#2A MM$  $ $EG^^N D++KJ \ a "7 " N4yA~As(a"f-CC"5:. '\ !;<< ; ' AL !;<< . /   :Q>? ?14XXg F#d)mG '" M-||C$%78dBCs >F''!GsU0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~c[cJ[Vs/sHn[U45PM snq[VVs/sHn[HoU-PM M snnq[ W[[U5$s snfs snnf)aEncode bytes-like object b in base85 format and return a bytes object. The input is padded with b'' so its length is a multiple of 4 bytes before encoding. If pad is true, all the resulting characters are retained in the output, which will always be a multiple of 5 bytes. ) _b85chars2 _b85alphabetr/ _b85charsr)rVrrSrUs r'rrs]*67,QUA4[,7 '0Dy!))Q1u)uyD Q :s 338Ds A(A-c[c$S/S-n[[5H up#X!U'M Uq[U5n[ U5*S-nUSU--n/n[ R "S5Rn[S[ U5S5H=nXUS-nSnUHnUS-[U-nM URU"U55 M? S RU5n U(aU SU*n U $![a1 [U5H up[UbM[SX)--5Se ef=f![ Ra [S U-5Sef=f) ziDecode the base85-encoded bytes-like object or ASCII string b The result is returned as a bytes object. Nr?~rrrz#bad base85 character at position %dz+base85 overflow in hunk starting at byte %dr3)_b85decrbrr(rMrrrrQr"rrrr) rV b85dec_tmprSrYroutrchunkrqjrs r'rrstVc\ l+DAqM,"AAw!mG D7NA C MM$  $ $E 1c!fa AE  Bh+ , JJuSz "!$XXc]F '" M !%(1:%$%J'(u&./489)   || ,J !"'+ , ,sC',D%'"D" D"%$E sU0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#s;_`|~r@c>[U5R[5$)zCEncode bytes-like object b in z85 format and return a bytes object.)rr._z85_encode_translationr%s r'rr s Q< ! !"9 ::r3c[U5nUR[5n[U5$![a.n[ UR SR SS55SeSnAff=f)zfDecode the z85-encoded bytes-like object or ASCII string b The result is returned as a bytes object. rbase85z85N)r(r._z85_decode_translationrrargsreplace)r&es r'rr sa "A +,AG| G**8U;<$FGs - A%)A  A%LrIrGcUR[5=n(a[U5[:aiUR[[U5- 5=n(aAX#- n[U5[:a*UR[[U5- 5=n(aMA[R"U5nUR U5 UR[5=n(aMgg)z1Encode a file; input and output are binary files.N)read MAXBINSIZErMr,r-write)inputoutputr&nslines r'rr szz*% %! %!fz!UZZ 3q68I-J'Jr'J GA!fz!UZZ 3q68I-J'Jr'J""1% T zz*% %! % %r3cUR5=n(aA[R"U5nURU5 UR5=n(aM@gg)z1Decode a file; input and output are binary files.N)readliner,r6r)rrrr&s r'rr)sF.." "$ "    % Q.." "$ " "r3c[U5nURS;a3SUR<SURR<3n[U5eUR S:wa0SUR URR4-n[U5eg![a*nSURR-n[U5UeSnAff=f)Nz"expected bytes-like object, not %s)rYrVBz#expected single byte elements, not z from rDz(expected 1-D data, not %d-D data from %s)r r"r#r$rndim)r&merrmsgs r'_input_type_checkr/s& qM xx&+,88Q[[5I5IKnvv{9+,661;;3G3G*HIn &2Q[[5I5IIn#%&s B C%CCc[U5 /n[S[U5[5H3nXU[-nUR [ R "U55 M5 SRU5$)zREncode a bytestring into a bytes object containing multiple lines of base-64 data.rr3)rrQrMrrr,r-r)r&piecesrSrs r'rr?s^a F 1c!fj )a*n% h))%01* 88F r3cD[U5 [R"U5$)z8Decode a bytestring of base-64 data into a bytes object.)rr,r6r%s r'rrJsa   q !!r3c|SSKnSSKnSURSS3nURURSSS5up4[nWH<upxUS:Xa[nUS :Xa[nUS :Xa[nUS :XdM1[ U5 g W(a>USS :wa5[USS 5n U"XR R5 SSS5 gURR5(a:SSKn URRR5n U R!U 5n OURRn U"XR R5 g!URaCnURUl[ U5 [ U5 URS5 SnAGNgSnAff=f!,(df  g=f)zSmall main programrNzusage: zx [-h|-d|-e|-u] [file|-] -h: print this help message and exit -d, -u: decode -e: encode (default)rDhdeurEz-ez-dz-uz-h-rb)sysgetoptargvrstderrstdoutprintexitrropenbufferstdinisattyiorBytesIO) rrusageoptsrrfuncorUfrdatars r'mainrQsa }% E]]388AB<8  D 9Vd 9Vd 9Vd 9eElF   Q3 $q'4 A JJ%% &!  99     99##((*DZZ%FYY%%F VZZ&&'- <<ZZ  c  e   ! s#!E%F-F*'8F%%F*- F;__main__ru)NF)FN)F)FFF)?__doc__rrr,__all__r/rNrr(rrrrr0r;r=rr_B32_ENCODE_DOCSTRING_B32_DECODE_DOCSTRING_B32_DECODE_MAP01_DOCSTRINGrvr|rLrarZrsr rr r r r rrrrrrrrrrrrrr _z85alphabet_z85_b85_decode_diffrMrrrr MAXLINESIZErrrrrrrr$r3r'rs2K   $i  K" 84$ooeU;#ooeU;? $ 3 5  !F+\')00(0C 8)00(3N1P *,33[3I 4-33[?A4C ' !*    0 %aU%*X %E|FTE   4 *XE  //''7S!5666 //, E; G  1na    "(D zFr3