python (3.12.0)

(root)/
lib/
python3.12/
test/
__pycache__/
test_base64.cpython-312.opt-2.pyc

͑e|ddlZddlZddlZddlZddlmZddlmZddlmZGddejZ	GddejZ
Gd	d
ejZedk(rejyy)N)array)	os_helper)
script_helperc*eZdZdZdZdZdZdZy)LegacyBase64TestCasec&|jt|d|jt|gtdjdd}|jt||tdjd}|jt||y)Ns1234B)rI)assertRaises	TypeError
memoryviewcast)selffmultidimensionalint_datas    D/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/test/test_base64.pycheck_type_errorsz&LegacyBase64TestCase.check_type_errors
sx)Q+)Q+%g.33C@)Q(89g&++C0)Q1c|j}|tjdd|tjdd|tjdd|tjdd|tjd	d	|tjd
d|tjdd
|tjtdd|tjt	dd|tjtddd|j
tjy)Nwww.python.orgd3d3LnB5dGhvbi5vcmc=
aYQ==
abYWI=
abcYWJj
rRabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#0^&*();:<>,. []{}rYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0
NTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==
Aladdin:open sesameQWxhZGRpbjpvcGVuIHNlc2FtZQ==
r
)assertEqualbase64encodebytes	bytearrayrrrreqs  rtest_encodebytesz%LegacyBase64TestCase.test_encodebytess



6/02KL
6d#Y/
6e$i0
6f%y1
6c"C(
6AB3	4	645?	A	6i/0)<
6j019=
6eC019=v112rc|j}|tjdd|tjdd|tjdd|tjdd|tjd	d
|tjdd|tjdd
|tjtdd|tjt	dd|tjtddd|j
tjy)Nrrrrrrr rr"r!rr$r#r
)r%r&decodebytesr(rrrr)s  rtest_decodebytesz%LegacyBase64TestCase.test_decodebytes*s



678:KL
6i($/
6i(%0
6i(&1
6GH-	.	6c"C(
6?@4	6	6i	23V<
6j34f=
6eC34f=v112rc|j}ddlm}m}|d}|}t	j
||||j
d|jttj
|d||jttj
|d||jttj
|d|y)NrBytesIOStringIOr!r"abcr)	r%ior1r2r&encodegetvaluer
r)rr*r1r2infpoutfps      rtest_encodez LegacyBase64TestCase.test_encode?s


(9:	

dE"
5>>3	4
	
)V]]HUOWYO)V]]GFOXZP)V]]HUOXZPrcddlm}m}|d}|}tj|||j|j
d|jttj|d||jttj|d||jttj|d|y)Nrr0d3d3LnB5dGhvbi5vcmc=rzYWJj
r )
r4r1r2r&decoder%r6r
rr5)rr1r2r7r8s     rtest_decodez LegacyBase64TestCase.test_decodePs(./	

dE")+<=)V]]HX4F	R)V]]GI4F
S)V]]HX4F
SrN)__name__
__module____qualname__rr+r.r9r=rrrr
s23*3*Q"	TrrceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!y )!BaseXYTestCasec`|jt|d|jt|gy)Nr	r
rrrs  rcheck_encode_type_errorsz'BaseXYTestCase.check_encode_type_errors`s&)Q+)Q+rc2|jt|gyNrErFs  rcheck_decode_type_errorsz'BaseXYTestCase.check_decode_type_errorsds)Q+rcD|j}t|}|||||||||t||||td|||j	t
j||jt
j|y)Nr
)r%r(rrcheck_nonbyte_element_formatr&	b64encodecheck_multidimensional)rr
bytes_dataexpectedr*bs      rcheck_other_typesz BaseXYTestCase.check_other_typesgs


j!
1Q4
1j
1Z

#$h/
1U3

#$h/))&*:*:JG##F$4$4jArct|dzrdnd}||z}t|dzdf}t|jd|}|j||||y)Nrrr
lenrrr%)rrdatapaddingrOshapers       rrNz%BaseXYTestCase.check_multidimensionalssa Y]'G^
ZA%q)%j166sEB+,a
m<rcddt|z
dzz}||z}t|jd}|j||||y)NrTrrU)rrrWrXrOrs      rrLz+BaseXYTestCase.check_nonbyte_element_formatzsOa#d)mq01G^
j)..s38a
m4rc	"|j}|tjdd|tjdd|tjdd|tjdd|tjd	d
|tjdd|tjdd
|tjddd|tjdtdd|tjdt	dd|tjdtddd|j
tjdd|jtj|jttjdd|tjdd|tjdd|tjdd|tjd	d
|tjdd|tjdd
|j
tjdd|jtj|tjdd|j
tjdd|jtjy)Nrr;rTAA==rYQ==rYWI=rYWJjrr!spYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==Vo*$altchars01a*b$cdr
abcdsYWJjZA==z*$01a-b_cd)r%r&rMr(rrrRrGr
rstandard_b64encodeurlsafe_b64encoder)s  rtest_b64encodezBaseXYTestCase.test_b64encodesv



6-.0GH
6G$g.
6D!7+
6E"G,
6F#W-
6C #&
6>?1	2	61EBKP
61Ie<LM	
61Ju<MN	
61E#u<MN		
v//+F%%f&6&67)V%5%5sTJ
6$$%679PQ
6$$T*G4
6$$U+W5
6$$V,g6
6$$S)3/
6$$&GH1	2	
v88&	5%%f&?&?@
6##$9:KHv774k	C%%f&>&>?rcf|j}dddddddd}|jD]L\}}|tj|||tj|j	d	|N|jtjd
d|j
tjddi}|jD]\\}}}|j	d	}|j	d	}|tj||
||tj||
||tj||
||tj||
||jD]L\}}|tj|||tj|j	d	|N|jtjd
d|j
tjddd}	|	jD]L\}}|tj|||tj|j	d	|N|jtjdd|j
tjy)NrrTrrrr!r)r;r]r^r_r`sqYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0
NTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fQ==rasciir`)rerbrarc)rgrrg)	r%itemsr&	b64decoder<rRrJstandard_b64decodeurlsafe_b64decode)
rr*testsrWrestests_altcharsrddata_straltchars_str
tests_urlsafes
          rtest_b64decodezBaseXYTestCase.test_b64decodese


*;! 
3
	<ID#v%s+vG 45s;	<	
v//&A%%f&6&67/0E%3%9%9%;	G!T8c{{7+H#??73Lvx8#>v8<cBv|<cBv<@#F	G	EID#v((.4v((W)=>D	E	
v88'6J%%f&?&?@'<!
',,.	DID#v''-s3v''G(<=sC	D	
v774	6%%f&>&>?rc|jtjtjd|jtjtjdy)Nrr3)r
binasciiErrorr&rnrs rtest_b64decode_padding_errorz+BaseXYTestCase.test_b64decode_padding_errors:(..&*:*:FC(..&*:*:EBrc
>d}tjtjtjf}|D]\}}|D]]}|j	||5|j||||j||j
d|ddd_|jtj5tj|dddd|jtj5tj|j
dddddd}|jtjdd||jtjd	|y#1swYGxYw#1swYxYw#1swYhxYw)
N)
)s%3d==)s$3d==r~)s[==r)sYW]3=sam)s3{d==r~)s3d}==r~)s@@r)!r)r r)s	YWJj
YWI=sabcab)bstrfuncrlT)validatess++[[//]]s[]s++--//__)
r&rnrorpsubTestr%r<r
ryrz)rrqfuncsrrrrs      rtest_b64decode_invalid_charsz+BaseXYTestCase.test_b64decode_invalid_charssx	,
%%$$

	FID#
F\\t$\7F$$T$Z5$$T$++g*>%?EFF
F""8>>2
6  5
6""8>>2
F  W!5E
F
F	F*))+u=sC11+>DFF
6
6
F
Fs%AE9;F:'F9FF	F	c$|j}|tjdd|tjdd|tjdd|tjdd|tjdd	|tjd
d|tjdd
|jtjd
d|j	tjy)NrrTAA======rME======rMFRA====rMFRGG===rfMFRGGZA=abcdeMFRGGZDF)r%r&	b32encoderRrGr)s  rtest_b32encodezBaseXYTestCase.test_b32encodes



6C #&
6G$k2
6D!;/
6E"K0
6F#[1
6G$k2
6H%{3v//+F%%f&6&67rcn|j}dddddddd}|jD]L\}}|tj|||tj|j	d	|N|jtjd
d|j
tjy)NrrTrrrrfr)rrrrrrrrlr)r%rmr&	b32decoder<rRrJrr*rqrWrrs     rtest_b32decodezBaseXYTestCase.test_b32decodes


%"#$%&
	<ID#v%s+vG 45s;	<	
v//fE%%f&6&67rcZ|j}dddddddddddd}|jD]N\}}|tj|d||tj|j	d	d|P|jtjtjd
|jtjtjd|tjdd
|tjdd
d
dd}|jD]\\}}}|j	d	}|j	d	}|tj||||tj||||tj||||tj||||jtjtj||jtjtj|y)Nrrrrrfr)rrrrrrme======smfra====smfrgg===smfrggza=smfrggzdfTrlrzme======sMLO23456sbݭMLO23456sb))M1023456L)rI)map01)r%rmr&rr<r
ryrz)	rr*rqrWrr	map_testsrrt	map01_strs	         rtest_b32decode_casefoldz&BaseXYTestCase.test_b32decode_casefold-s


"#$%&"#$%&	BID#vd+S1vG 4d;SA	B	
(..&*:*:KH(..&*:*:JG	6K(*>?
6J')=>*>*>	#,//"3		JMT53{{7+HW-IvE2C8v6<vI6<v	:C@hnnf.>.>Ehnnf.>.>I		Jrc`gd}gd}tddD]H}|r|jd|z|D]+}t||zdk7s|j|d|zz-J|D]}|j|5|j	t
j5tj|ddd|j	t
j5tj|jdddddddy#1swY`xYw#1swY xYw#1swYxYw)	N)rABCDEF====ABCDEFMsMEsMFRAsMFRGGsMFRGGZArr=)rWrl)
rangeappendrVrr
ryrzr&rr<rrqprefixesiprefixrWs      rtest_b32decode_errorz#BaseXYTestCase.test_b32decode_errorVs2Lq"	2AT!V$"
2v;?a'LL$q&1
2	2	;D4(
;&&x~~6+$$T*+&&x~~6;$$T[[%9:;
;
;	;++;;
;
;<7 D$D-'D$%D9D$DD$D!D$$D-	cgd}|D]E\}}|j|5|jtj||dddGy#1swYRxYw)N))rr)rT00======)rC4======)rC5H0====)rC5H66===)rfC5H66P0=)rC5H66P35	to_decode)rr%r&b32hexencode)r
test_cases	to_encoderPs    rtest_b32hexencodez BaseXYTestCase.test_b32hexencodefsi	

$.	KIx	2
K  !4!4Y!?J
K
K	K
K
Ks&AA	c|jtjdd|jtjy)Nrfr)rRr&rrGr{s rtest_b32hexencode_other_typesz,BaseXYTestCase.test_b32hexencode_other_typesus.v22G[I%%f&9&9:rc	(gd}|D]}\}}}|j||5|jtj||||jtj|j	d||dddy#1swYxYw)N))rrF)rrTF)rrF)rrF)rrF)rrfF)rrF)rrT)rrTT)rrT)rrT)rrT)rrfT)rrT)c4======rT)sc5h0====rT)sc5h66===rT)sc5h66p0=rfT)sc5h66p35rT)rcasefoldrl)rr%r&b32hexdecoder<)rrrrPrs     rtest_b32hexdecodez BaseXYTestCase.test_b32hexdecodeys

,.8	6)Ix	HE
6  !4!4Y!I!)+  !4!4Y5E5Eg5N!)"+,46
6
6	6
6
6sABB	c|jtjdd|jtjy)Nrr)rRr&rrJr{s rtest_b32hexdecode_other_typesz,BaseXYTestCase.test_b32hexdecode_other_typess.v22KH%%f&9&9:rc`gd}gd}tddD]H}|r|jd|z|D]+}t||zdk7s|j|d|zz-J|D]}|j|5|j	t
j5tj|ddd|j	t
j5tj|jdddddddy#1swY`xYw#1swY xYw#1swYxYw)	N)rrrrrrrrrrrl)
rrrVrr
ryrzr&rr<rs      rtest_b32hexdecode_errorz&BaseXYTestCase.test_b32hexdecode_errors?Lq"	2AT!V$"
2v;?a'LL$q&1
2	2	>D-
>&&x~~6.''-.&&x~~6>''G(<=>
>
>	>..>>
>
>rc|j}|tjdd|tjdd|jtjdd|j	tjy)N
0102ABCDEFrT00)r%r&	b16encoderRrGr)s  rtest_b16encodezBaseXYTestCase.test_b16encodesh



634mD
6G$e,v//1H,	.%%f&6&67rcN|j}|tjdd|tjdd|tjdd|tjdd|jtj
tjd|jtj
tjd|tjdd	d|tjdd	d|j
tjdd|jtj|tjtdd	d|tjtdd	d|tjtd
dd	d|jtj
tjd|jtj
tjdy)
Nrr
0102ABCDEFrrT00s
0102abcdef
0102abcdefTr
0102AG010)r%r&	b16decoder
ryrzrRrJr(rrr)s  rtest_b16decodezBaseXYTestCase.test_b16decodes



6M*,CD
6L)+BC
6E"G,
6D!7+(..&*:*:MJ(..&*:*:LI
6M402IJ
6L$/1HIv//6	8%%f&6&67
6Im4d;"	$
6J}5t<"	$
6E#}5t<"	$	
(..&*:*:HE(..&*:*:EBrc|j}ddddttdddddd	d
ddd
ddddddddddddi
}|jD]f\}}|t	j
||||t	j
|d|||t	j
|dd|zdz|h|j
tj
dd|jttj
d|t	j
dd d!d"|t	j
d#d d!d$|t	j
dd d!d%|t	j
d&dd'd(|t	j
d)dd'd*|t	j
d+dd'd,|t	j
d-dd'd.y)/NrrGB\6`E-ZP=Df.1GEb>s?!!*-'"9eu7#RLhG$k3[W&.oNg'GVB"(`=52*$$(B+<_pR,UFcb-n-Vr/1iJ-0JP==1c70M3&s#]4?Ykm5X@_(6q'R884cEH9MJ8X:f1+h<)lt#=BSg3>[:ZC?t!MSA7]@cBPD3sCi+'.E,fo>FEMbNG^4U^I!pHnJ:W<)KS>/9Ll%"IN/`jYOHG]iPa.Q$R$jD4S=Q7DTV8*TUnsrdW2ZetXKAY/Yd(L?['d?O\@K2_]Y2%o^qmn*`5Ta:aN;TJbg"GZd*^:jeCE.%f\,!5gtgiEi8N\UjQ5OekiqBum-X60nF?)@o_%qPq"ad`r;HTr!g@:E_WAS,RgBkhF"D/O92EH6,BF`qtRH$VbC6UX@47n?3D92&&T:Jand;cHat='/U/0JP==1c70M3&r-I,;<FN.OZ`-3]oSW/g+A(H[Pno padding..DJpY:@:Wn_DJ(RSzero compressionH=_,8+Cf>,E,oN2F(oQ1zzero compressionH=_,8+Cf>,E,oN2F(oQ1!!!!
Boundary:6>q!aA79M(3WK-[!!Space compr:    ;fH/TAKYK$D/aMV+<VdLrrs8Ns8W*s8W-!FadobeT<~~>r	)wrapcolrsGB\6`E-
ZP=Df.1
GEb>swww.python.orgszGB\6`E
-ZP=Df.
1GEb>s<~GB\6`
E-ZP=Df
.1GEb>
~>        
foldspacesryy       y+<Vd      y+<U     y+9)	r%bytesrrmr&	a85encoderRr
rrs     rtest_a85encodezBaseXYTestCase.test_a85encodes



5%* 
2I/')A%'B "6!8Uvwx-2	NID#v%sD1vE2C>vD153;3FM	N
	
v//1B5	7	
)V%5%5r:
6-qF%	'
65qN&	(
6-qE+	-	6Ft5A5I
6Ft5A8L
6Ft5A7K
6Ft5A6Jrc"|j}ddddttdddddd	d
ddd
ddddddddddddi
}|jD]!\}}|t	j
||#|j
tj
ddy)NrrcXxL#aCvlSZ*DGca%Tr?009C61O)~M2nh-c3=Iws5D^j+6crX17#SKH9337XAR!_nBqb&%C@Cr{EG;fCFflSSG&MFiI5|2yJUu=?KtV!7L`6nNNJ&adOifNtP*GA-R8>}2SXo+ITwPvYU}0ioWMyV&XlZI|Y;A6DaB*^Tbai%jczJqze0_d@fPsR8goTEOh>41ejE#<ukdcy;l$Dm3n3<ZJoSmMZprN9pq@|{(sHv)}tgWuEu(7hUw6(UkxVgH!yuH4^z`?@9#Kp$P$jQpf%+1cv(9zP<)YaD4*xB0K+}+;a;Njxq<mKk)=;`X~?CtLF@bU8V^!4`l`1$(#{Qdpr!gVPa!sWoBn+X=-b1ZEkOHadLBXb#`}nd3r%YLqtVJM@UIZOH55pPf$@(Q&d$}S6EqEFflSSG&MFiI5{CeBQRbjDkv#CIy^osE+AW7dwlrZf_uPVPs@!Zf7nordS!BNAY*TBaB^jHb7^mG00000rdS!BNAY*TBaB^jHb7^mG0000rLT`0$WMOi7IsgCw00rQ*dEpWgug3ZE$irARr(hr{{r|Njr|Ns9r|NsC0)r%rrrmr&	b85encoderRrs     rtest_b85encodezBaseXYTestCase.test_b85encodes



4%* 
6H//1M+-H,.F!8Uvwx-
2	,ID#v%s+	,	
v//1B4	6rc|j}ddttddddddd	d
ddd
d
}|jD]\}}|t	j
||||t	j
|d|||t	j
|j
dd|||t	j
d|zdzd|||t	j
|dzd|||t	j
d|j
dzd|||t	j
dddd|t	j
dddd|t	j
dddd|t	j
dddd|jtj
ddy) Nrrrr!rrrrrrrrr)
rrsJ! ! * -'"
		9eu
7#  RLhG$k3[W&.oNg'GVB"(`=52*$$(B+<_pR,UFcb-n-Vr/1iJ-0JP==1c70M3&s#]4?Ykm5X@_(6q'R884cEH9MJ8X:f1+h<)lt#=BSg3>[:ZC?t!MSA7]@cBPD3sCi+'.E,fo>FEMbNG^4U^I!pHnJ:W<)KS>/9Ll%"IN/`jYOHG]iPa.Q$R$jD4S=Q7DTV8*TUnsrdW2ZetXKAY/Yd(L?['d?O\@K2_]Y2%o^qmn*`5Ta:aN;TJbg"GZd*^:jeCE.%f\,!5gtgiEi8N\UjQ5OekiqBum-X60nF?)@o_%qPq"ad`r;HTrrrrrrrrrrFrrlrrTz<~%s~>rrrrrrrrrr)r%rrrmr&	a85decoder<rRrs     rtest_a85decodezBaseXYTestCase.test_a85decode$s


$5"%*-- /&I)H">%8-2	ID#v%sD1vE2C>vG 4EBCNvu 4DA3MvuD93Ev4;;w+? ?tLD

		6Ed%@&I
6HUCVL
6GEBFK
6Ft5A6Jv//1G0	2rc`|j}ddttddddddd	d
ddd
d
}|jD]L\}}|t	j
|||t	j
|j
d|N|jtj
ddy)Nrrrr!rrrrrrrrr)
rrrrrrrrrrrrr	rlr)r%rrrmr&	b85decoder<rRrs     rtest_b85decodezBaseXYTestCase.test_b85decodeQs


#4#5:.6 /*M)H&F%8-
2	<ID#v%s+vG 45s;	<	
v//1F0	2rc`|j}|tjddd|tjddd|tjddd|tjd	dd
|tjddd|tjdd
|tjdd|tjdd|tjd
d	|tjddy)NxTpadsGQ7^DxxsG^'2gxxxsG^+H5xxxxsG^+IXxxxxxs
G^+IXGQ7^Dxxxxxxxxxxx)r%r&rr
r)s  rtest_a85_paddingzBaseXYTestCase.test_a85_paddingt



6Dd+X6
6Et,h7
6F-x8
6G.9
6H$/?
6H%'78
6H%}5
6H%z2
6H%w/
6M*,@Arc`|j}|tjddd|tjddd|tjddd|tjd	dd
|tjddd|tjdd
|tjdd|tjdd|tjd
d	|tjddy)NrTrscmMzZrscz6H+rsczAdKrsczAetrs
czAetcmMzZrrrr)r%r&r
rr)s  rtest_b85_paddingzBaseXYTestCase.test_b85_paddingrrcvttdttddztdz
}|D]}|jtt	|g5tjdt	|gzddd|jtt	|g5tjdt	|gzdddd|jtt	|g5tjd	t	|gzd
zdddd|jtt
jdd|jtt
jd
d|jtt
jd|jtt
jddtjdd|jtt
jdd|jtt
jdd|jtt
jddd|jtt
jdd|jtt
jdd|jtt
jdd|jtt
jdd|jtt
jddy#1swYxYw#1swYUxYw#1swYxYw)N vs 	

msgs!!!!Frs<~!!!!rTs	malformeds<~still malformeds<~~>sabcxsabcdeysa b
cr)rignorecharssss8ss8Wss8W-ss8W-")setrr

ValueErrorrr&r
rillegalcs   rtest_a85decode_errorsz$BaseXYTestCase.test_a85decode_errorssuRy>Cc3$88C<MM	MA"":5!:">
7  5!:!56
7"":5!:">
D  5!:!5UC
D"":5!:">
M  UA3Z!7%!?tL
M
M	M	
*f&6&6&2$		@*f&6&6&:$		H	
*f&6&6&-	/*f&6&6&-U		<-*f&6&6&-U		<*f&6&6&/u		>*f&6&6&/u#		O	
*f&6&6EJ*f&6&6UK*f&6&6eL*f&6&6uM*f&6&6N=
7
7
D
D
M
Ms$#L)%L!7(L.L	!L+	.L8	cttdtdzttddz}|D]N}|jtt	|g5tjdt	|gzdddP|jtt
jd|jtt
jd|jtt
jd	|jtt
jd
|jtt
jdy#1swYxYw)N!s	"',./:[\]r%r&s0000|s|Ns|Nss|NsCs|NsC1)listrr
r+rr&rr,s   rtest_b85decode_errorsz$BaseXYTestCase.test_b85decode_errorssuRy/~&'uS#'(	7A"":5!:">
7  5!:!56
7
7	7	
*f&6&6=*f&6&6>*f&6&6?*f&6&6@*f&6&6A
7
7s#EE	ctjtjtjtjtj
tjtjf}|D]}|jt|dy)Nuwith non-ascii Ë)
r&rnrorprrrr
r
r+)rdecode_funcsrs   rtest_decode_nonascii_strz'BaseXYTestCase.test_decode_nonascii_strsn((1100((((((((
*	DAj!-BC	Drc^|jttjtyrI)
assertTrue
issubclassryrzr+r{s rtest_ErrorHeritagez!BaseXYTestCase.test_ErrorHeritages
8>>:>?rctj}tj}tj}tj}|j|dd|j|dd|j|dd|j|dd|j|dd	|j|d
d|j|dd
|j|dd|j|dd|j|dd|j|dd|j|dd|j|d
d|j|dd|j|dd|j|dd|j|dd|j|dd|j|dd|j|d
d|j|dd|j|dd|j|dd|j|dd|j|dd|j|dd|j|d
d|j|ddy) NrfsZg==sfosZm8=sfoosZm9vsfoobsZm9vYg==sfoobasZm9vYmE=sfoobarsZm9vYmFysMY======sMZXQ====sMZXW6===sMZXW6YQ=sMZXW6YTBsMZXW6YTBOI======sCO======sCPNG====sCPNMU===sCPNMUOG=sCPNMUOJ1sCPNMUOJ1E8======s66s666Fs666F6Fs666F6F62s
666F6F6261s666F6F626172)r&rMrrrr%)rrMrrrs     rtest_RFC4648_test_casesz&BaseXYTestCase.test_RFC4648_test_casessv$$	**$$	$$	3-4'25)736*G47+[98,k:9-{;3-4+65);76*K87+[98,k:9-/BCc*C0d+[9e,k:f-{;g.<h/=i02EF3-4%05)736*I67+[98,m<9-?rN)"r>r?r@rGrJrRrNrLrjrwr|rrrrrrrrrrrrrrrrrr!r/r5r8r<r?rArrrCrC\s,,
B=50@d6@pCE@88"'JR; 
K;6<;>"8C60Kd 6D+2Z!2F
B
B!OFB	D@%@rrCc6eZdZdZdZdZdZdZdZdZ	y)	TestMainctjjtjr$tj
tjyyrI)ospathexistsrTESTFNunlinkr{s rtearDownzTestMain.tearDowns/
77>>)**+IIi&&',rcDtjddg|jS)N-mr&)rassert_python_okout)rargss  r
get_outputzTestMain.get_outputs --dHDtDHHHrcttjd5}|jdddd|j	dtj}|j|j
dy#1swYJxYw)Nwbab
-eYf9iCg==openrrFwriterNr%rstriprfpoutputs   rtest_encode_filezTestMain.test_encode_filesa
)""D
)	"RHH[!	"y'7'78+6	"	"A66A?ctjddd5}|jd\}}ddd|jj	d|jy#1swY;xYw)NrJr&rRrQrS)rspawn_pythoncommunicater%rWassertIsNone)rprocrLerrs    rtest_encode_from_stdinzTestMain.test_encode_from_stdinsc

'
'h
=	5''4HC	5{3#	5	5sA''A0cttjd5}|jdddd|j	dtj}|j|j
dy#1swYJxYw)NrPrSz-dsabrTrXs   rr=zTestMain.test_decode
sa
)""D
)	"RHH[!	"y'7'78)4	"	"r\cn|jd}|jd||jd|y)Nz-husage: -d, -u: decode)rNassertInrrZs  r test_prints_usage_with_help_flagz)TestMain.test_prints_usage_with_help_flags-&

j&)

'0rctjdddj}|jd||jd|y)NrJr&z-xrfrg)rassert_python_failurerbrhris  r#test_prints_usage_with_invalid_flagz,TestMain.test_prints_usage_with_invalid_flags944T8TJNN

j&)

'0rN)
r>r?r@rHrNr[rcr=rjrmrArrrArAs&(I751
1rrA__main__)unittestr&ryrCrtest.supportrrTestCaserrCrAr>mainrArr<module>rssu
	"&OT8,,OTdZ
@X&&Z
@z"1x  "1HzHMMOr