python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_bytes.cpython-311.opt-2.pyc

e>d	ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Zddl
mZddl
m
Z
ddlZddlZddl
mZmZddlmZejjrdZndZGdd	ZGd
dZGdd
ee	jZGddee	jZGdde	jZGdde	jZGddejjZ Gdde e	jZ!Gdde e	jZ"GddZ#Gdde$Z%Gdde$Z&Gd d!e'Z(Gd"d#e'Z)Gd$d%Z*Gd&d'e#e	jZ+Gd(d)e#e	jZ,Gd*d+e#e	jZ-e.d,kre	j/dSdS)-N)
import_helper)warnings_helper)bigaddrspacetestMAX_Py_ssize_t)assert_python_failurecFtjfd}|S)Nc~tjdtf5|i|cdddS#1swxYwYdSNrcheck_warningsBytesWarning)argskwfuncs  C/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_bytes.pywrapperz%check_bytes_warnings.<locals>.wrappers /\0BCC
)
)tT(R((
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)
)s266)	functoolswraps)rrs` rcheck_bytes_warningsrs8				)	)	)	)
		)c|SN)rs rrr$srceZdZddZdZdS)	Indexablerc||_dSrvalueselfrs  r__init__zIndexable.__init__)



rc|jSrrr!s r	__index__zIndexable.__index__+
zrN)r)__name__
__module____qualname__r"r&rrrrr(s7rrceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZedZdZdZedZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#d Z$d!Z%d"Z&d#Z'd$Z(d%Z)d&Z*d'Z+d(Z,d)Z-d*Z.d+Z/d,Z0d-Z1d.Z2d/Z3d0Z4d1Z5d2Z6d3Z7d4Z8d5Z9d6Z:d7Z;d8Z<d9Z=d:Z>d;Z?d<Z@d=ZAd>ZBd?ZCd@ZDdAZEdBZFdCZGdDZHdEZIdFZJdGZKdHS)I
BaseBytesTestc|t|t||||dSr)assertIstypeassertEqual)r!actualexpecteds   rassertTypedEqualzBaseBytesTest.assertTypedEqual1s>

d6llDNN333*****rc|}|t||j||j|jdSr)	type2testr0r/	__class__r!bs  rtest_basicszBaseBytesTest.test_basics5sONNa$.111dn55555rc|d}tjtjfD]S}||}||||t	|t	|TdSNabcd)r5copydeepcopyr0r/r!acopy_methodr8s    r	test_copyzBaseBytesTest.test_copy:s}NN7## It}5	/	/KAAQ"""T!WWd1gg....	/	/rc
||td|tfd|tfd|tfd|tfd|tfd|tfd|tfd|tfd	|tfd
|tfd|tfddS)
NrcdSNrrr8sr<lambda>z3BaseBytesTest.test_empty_sequence.<locals>.<lambda>DadrcdSNrrFsrrGz3BaseBytesTest.test_empty_sequence.<locals>.<lambda>ErHrc(tjSrsysmaxsizerFsrrGz3BaseBytesTest.test_empty_sequence.<locals>.<lambda>Fs
anrc.tjdzSrJrMrFsrrGz3BaseBytesTest.test_empty_sequence.<locals>.<lambda>GsaA
.>rcddzSN
drrFsrrGz3BaseBytesTest.test_empty_sequence.<locals>.<lambda>HsaCjrcdSNrrFsrrGz3BaseBytesTest.test_empty_sequence.<locals>.<lambda>IaercdS)NrrFsrrGz3BaseBytesTest.test_empty_sequence.<locals>.<lambda>JrXrc*tjSrrMrFsrrGz3BaseBytesTest.test_empty_sequence.<locals>.<lambda>Ksaorc0tjdz
SrJrMrFsrrGz3BaseBytesTest.test_empty_sequence.<locals>.<lambda>LaQ.?rc0tjdz
S)NrMrFsrrGz3BaseBytesTest.test_empty_sequence.<locals>.<lambda>Mr]rcddzSrRrrFsrrGz3BaseBytesTest.test_empty_sequence.<locals>.<lambda>NsaSkr)r5r0lenassertRaises
IndexErrorr7s @rtest_empty_sequencez!BaseBytesTest.test_empty_sequenceAsNNQ###*llll333*llll333*&<&<&<&<===*&>&>&>&>???*&8&8&8&8999*mmmm444*mmmm444*&=&=&=&=>>>*&?&?&?&?@@@*&?&?&?&?@@@*&9&9&9&9:::::rc|td}|t|d|t	|t	td|dh}||d|ddh}|t
|ddh|ttd}|t|d|t	|t	td|dtdD}|t|d	|t	|t	tdd
ddGdd
}||}||ddS)N**+-)rirj)rjric3$K|]}|dz|VdS)r_Nr.0is  r	<genexpr>z3BaseBytesTest.test_from_iterable.<locals>.<genexpr>as+::AE:1::::::rrKr_ceZdZdZdS)+BaseBytesTest.test_from_iterable.<locals>.Scd|S)NrKr_r)r!rns  r__getitem__z7BaseBytesTest.test_from_iterable.<locals>.S.__getitem__gs |#rN)r(r)r*rvrrrSrrfs#
$
$
$
$
$rrw)r5ranger0ralistassertIntupleiter)r!r8rws   rtest_from_iterablez BaseBytesTest.test_from_iterablePsNN5::&&Q%%%a$uSzz"2"2333
NNB4  D!!!NNB8$$

eAhh8 4555
NN4c

++,,Q%%%a$uSzz"2"2333
NN::eCjj:::::Q%%%a$uSzz"2"214a4"8999	$	$	$	$	$	$	$	$
NN1133O,,,,,rcz|ttd}|t	|d|t|ttd|d}||ddSNrfrtrx)r5r|ryr0rarzr7s  rtest_from_tuplezBaseBytesTest.test_from_tuplelsNN5s,,--Q%%%a$uSzz"2"2333NN9%%O,,,,,rc~|ttd}|t	|d|t|ttd|gd}||ddSr)r5rzryr0rar7s  rtest_from_listzBaseBytesTest.test_from_listtsNN4c

++,,Q%%%a$uSzz"2"2333NN999%%O,,,,,rcGfdd}||g|tdGfdd}|g|tddS)NceZdZfdZdS)0BaseBytesTest.test_from_mutating_list.<locals>.Xc0dSNrgclearr!r@s rr&z:BaseBytesTest.test_from_mutating_list.<locals>.X.__index__s			rrNr(r)r*r&r@srXr~s.






rrrhceZdZfdZdS)0BaseBytesTest.test_from_mutating_list.<locals>.YcXtdkr|dS)Nrg)raappendrs rr&z:BaseBytesTest.test_from_mutating_list.<locals>.Y.__index__s&q66D==HHTNNNrrNrrsrYr.






rrs****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************r0bytes)r!rrr@s   @rtest_from_mutating_listz%BaseBytesTest.test_from_mutating_list|s										QSS!!##Jq4(((										
QSSEq;/////rc|ttdtdtdg}|t|gd|t
|jtdg|t
|jtdgdS)NrKrrKrrrWrf)r5rr0rzrb
ValueErrorr7s  rtest_from_indexzBaseBytesTest.test_from_indexsNNIKK1y~~%cNN,
-
-a"2"2"2333*dny}}oFFF*dny~~6FGGGGGrcf|tjdgd}||d|d}||dGddt}|||dddS)NBrtrxceZdZdZdS))BaseBytesTest.test_from_buffer.<locals>.Bctr)	TypeErrorr%s rr&z3BaseBytesTest.test_from_buffer.<locals>.B.__index__srNrrrrrrs#
 
 
 
 
 rsfoobar)r5arrayr0r)r!r@rs   rtest_from_bufferzBaseBytesTest.test_from_buffersNN5;sIII6677O,,,NN?++O,,,	 	 	 	 	 	 	 	 	
)55yAAAAArc@||dd||dd||dd|t|jd||dd	d
||d
d
|t|jt
jdzdS)NrrrKsrW0ascii0)r0r5rbr
OverflowErrorrNrOr%s rtest_from_ssizezBaseBytesTest.test_from_ssizes**C000**G444**,CDDD*dnb999W55t<<<--t444-qIIIIIrc0|t|jdGdd}|t|jdg|t|jdg|t|jdg|t|j|g|t|jd|t|jd|t|jd	d|t|jd
d|t|jd	d|t|jd
d|t|jd|t|jdd|t|jdd|t|jddd
dS)NgceZdZdS)5BaseBytesTest.test_constructor_type_errors.<locals>.CNr(r)r*rrrCrDrrrr)encodingignore)errorsrrrsasciisignore)rbrr5)r!rs  rtest_constructor_type_errorsz*BaseBytesTest.test_constructor_type_errorss)T^S999								)T^cU;;;)T^cU;;;)T^dV<<<)T^aaccU;;;)T^gFFF)T^HEEE)T^Q@@@)T^S'BBB)T^QxHHH)T^SJJJ)T^R888)T^RIII)T^RBBB)T^R)LLLLLrc8|t|jdg|t|jtjg|t|jtjdz
g|t|jtjdz
g|t|jddzg|t|jdg|t|jdg|t|jtjg|t|jtjdzg|t|jddzgdS)NrWrKr_rSrTrfi)rbrr5rNrOr%s rtest_constructor_value_errorsz+BaseBytesTest.test_constructor_value_errorssH*dnrd;;;*dn|nEEE*dn|A~6FGGG*dn|A~6FGGG*dnCxjAAA*dnse<<<*dnse<<<*dns{mDDD*dns{1}oFFF*dnr3wi@@@@@rct}|ttf|j|	t|dz
dS#ttf$rYdSwxYw)N)rrbrMemoryErrorr5	bytearray)r!sizes  rtest_constructor_overflowz'BaseBytesTest.test_constructor_overflowsl=+6MMM	
dQh{+			DD	sAAAc2Gdd}|t|j||t|j|gGdd}|t|j|dS)NceZdZdZdS)9BaseBytesTest.test_constructor_exceptions.<locals>.BadIntcddzdSNrKrrr%s rr&zCBaseBytesTest.test_constructor_exceptions.<locals>.BadInt.__index__!rNrrrrBadIntr#




rrceZdZdZdS)>BaseBytesTest.test_constructor_exceptions.<locals>.BadIterablecddzdSrrr%s r__iter__zGBaseBytesTest.test_constructor_exceptions.<locals>.BadIterable.__iter__rrN)r(r)r*rrrrBadIterablerrrr)rbZeroDivisionErrorr5)r!rrs   rtest_constructor_exceptionsz)BaseBytesTest.test_constructor_exceptionss									
+T^VVXXFFF+T^ffhhZHHH									
+T^[[]]KKKKKrc|gd}|gd}|ddg}||||||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||k|||kdS)NrtrKru)r5r0
assertTrueassertFalse)r!b1b2b3s    rtest_comparezBaseBytesTest.test_compares
^^III
&
&
^^III
&
&
^^QF
#
#R   b!!!b!!!b!!!b!!!b!!!b!!!b!!!r"""r"""r"""r"""r"""r"""r"""r"""""rcN||ddkd||ddkd||ddkd||ddkd||tkd||tkddS)NsabcabcFsabcsabcsabcT)r0r5strr%s rtest_compare_to_strz!BaseBytesTest.test_compare_to_strs
	
55>FFF(@AAUJ!	#	#	#55>FFF(@AAUJ!	#	#	#))SUU2E:::))SUU2D99999rctttd}||}tt	|}||||dS)NHello)rzmapordr5reversedreverser0)r!inputr8outputs    r
test_reversedzBaseBytesTest.test_reversed	sfSg&&''NN5!!hqkk""


'''''rcfd}|d}|dd|d|dd|d|dd|d|dd|d	|dd
|d	|dd|d	|dd|d|d
d|d|dd|d|dd|d	|dd
|d	|dd|d	|dd|ddS)NcTtt|Sr)r5rr)sr!s rbyz'BaseBytesTest.test_getslice.<locals>.bys>>#c1++...rHello, worldrrrKelloz, worldrTi)r0r!rr8s`  r
test_getslicezBaseBytesTest.test_getslices	/	/	/	/	/B~2A27,,,1Q3F,,,1Q3D***1227,,,1R4""W++...1S522g;;///3B3G---3r6BBvJJ///2b522d88,,,233G---2b522g;;///2c6BBwKK00046BBwKK00000rc:ttd}||}ddddddtjddd	d
f}|D]O}|D]J}|ddD]=}||||||||||>KPdS)NrrrKrurTrWrZr)rzryr5rNrOr0)r!Lr8indicesstartstopsteps       rtest_extended_getslicez$BaseBytesTest.test_extended_getslice$ssNN1dAq"c3;BTJ	]	]E
]
]#ABBK]]D$$QuT$%7%PTUY/HZ9[9[\\\\]
]	]	]rc	d}dD]T}|||}|||||U|t|j|d||dd}||||ddddS)NHello world
ሴ噸骼utf-8zutf-16latin-1rr)r5r0encoderbUnicodeEncodeErrorr!sampleencr8s    r
test_encodingzBaseBytesTest.test_encoding/s2&	D	DCvs++AQv}}S/A/A B BCCCC,dnfiPPPNN69h77DNN6#2#;@@AAAAArc$d}dD]A}|||}||||Bd}||d}|t|jd||ddd||ddd||d	d
dS)NrruHello world
€þÿrrrzHello world
)rrs☃u☃)r5r0decoderbUnicodeDecodeErrorrs    rtest_decodezBaseBytesTest.test_decode8s2&	4	4Cvs++AQXXc]]F33330NN69--,ah@@@'844oFFFGDD(	*	*	*	
88??AA8LLLLLrcd}d}tjd|jjd|d|d|d|d|d	|d
}t	ddd
|}||jd|dS)NzBoom, Shaka Laka, Boom!)rutf8latin1z0
            import sys
            type2test = z
            encodings = zr

            for data in ('', 'short string'):
                try:
                    type2test(data, encoding=z)
                except LookupError:
                    pass
                else:
                    sys.exit(21)

                for encoding in encodings:
                    try:
                        type2test(data, encoding=encoding, errors=a>)
                    except LookupError:
                        pass
                    else:
                        sys.exit(22)

            for data in (b'', b'short string'):
                data = type2test(data)
                print(repr(data))
                try:
                    data.decode(encoding=z)
                except LookupError:
                    sys.exit(10)
                else:
                    sys.exit(23)

                try:
                    data.decode(errors=z)
                except LookupError:
                    pass
                else:
                    sys.exit(24)

                for encoding in encodings:
                    try:
                        data.decode(encoding=encoding, errors=z)
                    except LookupError:
                        pass
                    else:
                        sys.exit(25)

            sys.exit(10)
        z-Xdevz-crS)textwrapdedentr5r(rr0rc)r!invalid	encodingscodeprocs     rtest_check_encoding_errorsz(BaseBytesTest.test_check_encoding_errorsFs,/	/ 0/ / #/ / /6/ / DK/ / 2+23/ / @)0A/ / P@GQ/ / / /
/
`%T5$=="d+++++rc|d}||||d}|||dgdz|d}|||dgdzdS)NrrSi')r5r0r7s  r
test_from_intzBaseBytesTest.test_from_int~sNN1DNN,,---NN2DNNA3r622333NN5!!DNNA3u95566666rc|d|d|zd|tdzd|tdzd|tfd|tfddS)NabcdefabcdefsdefabccdzS)Ndefr)rsrrGz+BaseBytesTest.test_concat.<locals>.<lambda>sR%ZrcdzS)Nrr)rsrrGz+BaseBytesTest.test_concat.<locals>.<lambda>sURZr)r5r0rrbr)r!rrs @@rtest_concatzBaseBytesTest.test_concats
^^F
#
#
^^F
#
#b),,,eFmm+Y777v+Y777)%7%7%7%7888)%7%7%7%788888rcnd|dfD]|dzd|dzd|dzd|tfd|tfd|tt
f5tjz}dddn#1swxYwY|tt
f5tjzdddn#1swxYwYdS)	Nrru	abcabcabcrrrWcdzSNgQ	@rrFsrrGz+BaseBytesTest.test_repeat.<locals>.<lambda>sTrcdzSr$rrFsrrGz+BaseBytesTest.test_repeat.<locals>.<lambda>sr)r5r0rbrrrrNrOr!cr8s  @rtest_repeatzBaseBytesTest.test_repeats///
	!
	!AQUL111QUC(((QVS)))i)9)9)9)9:::i)9)9)9)9:::""M;#?@@
$
$O
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$""M;#?@@
!
!S[ 
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
	!
	!s$C  C$	'C$	D((D,	/D,	c||ddz|tdgdzdS)NxrTx)r0r5rr%s rtest_repeat_1charzBaseBytesTest.test_repeat_1charsG--c14>>3s88*S.3Q3QRRRRRrc<|d|td|ttd|d|tfd|tfd|tfd|tfd|tfd|tfd	ttfD]X}||d
||d||d||d
||d||d||d||d||d||d||dZdS)Nrr@cdvS)N,rrFsrrGz-BaseBytesTest.test_contains.<locals>.<lambda>scQhrcdvSrVrrFsrrGz-BaseBytesTest.test_contains.<locals>.<lambda>sbAgrc&tjdzvSrJrMrFsrrGz-BaseBytesTest.test_contains.<locals>.<lambda>sck!mq.@rcdvSrrrFsrrGz-BaseBytesTest.test_contains.<locals>.<lambda>sTQYrc@ttdvSNr@)floatrrFsrrGz-BaseBytesTest.test_contains.<locals>.<lambda>sU3s88__-ArcdvSr5rrFsrrGz-BaseBytesTest.test_contains.<locals>.<lambda>sSAXrrabcabbcacdsdabsabd)
r5r{rintassertNotInrbrrrr)r!fr8s  @r
test_containszBaseBytesTest.test_containss}NN6""

c#hh"""

c#c((mmQ'''a   *&6&6&6&6777*oooo666*&@&@&@&@AAA)%6%6%6%6777)%A%A%A%ABBB)%5%5%5%5666	!	+	+AMM!!C&&!$$$MM!!D''1%%%MM!!D''1%%%MM!!D''1%%%MM!!E((A&&&MM!!E((A&&&MM!!F))Q'''QQuXXq)))QQtWWa(((QQvYY***QQvYY****	+	+rcT|t|jj|t|jjd||jd|tgd}||jd|||jd|||jd|dD]B}||j||CdD](}|t|jj|)||jd	d
|t|jjd|t|jjd|t|jjd
|t|jjd|t|jjd|t|jjddD]|\}}|t5}|j|dddn#1swxYwY|d|zt|j	}dS)NrKrri01a2B30z  1A 2B  30   z
 1A
2B	30z	

 u…   
0000ss1Br@rtz1a b cdz12      34))z12 x4 56ru)z12 3x 56r)z12 xy 56ru)u	12 3ÿ 56rzat position %s)
rbrr5fromhexr0rrr{r	exception)r!r8r'dataposcms      rtest_fromhexzBaseBytesTest.test_fromhexs)T^%;<<<)T^%;Q???//33T^^5E5EFFF((())//991===//0@AA1EEE	
//@@!DDD+	J	JAT^33A668H8HIIII=	E	EAj$.*@!DDDD//77AAA)T^%;UCCC*dn&<cBBB*dn&<dCCC*dn&<iHHH*dn&<fEEE*dn&<>NOOO	
	E	EID#"":..
-"&&t,,,
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-MM*S0#bl2C2CDDDD	E	Es
K11K5	8K5	c`|t|jj|t|jjd||dd|tgdd||dd|t
dddS)NrKrrrD1a2b30+0)rbrr5hexr0r
memoryviewr%s rtest_hexzBaseBytesTest.test_hexs)T^%7888)T^%7;;;,,0022B777#5#5#566::<<hGGG88<<>>IIIO4488::HEEEEErc

|d}||d|t5|ddddn#1swxYwY|t5|ddddn#1swxYwY||ddd|t
5|dddddn#1swxYwY|t5|ddddn#1swxYwY|t5|ddddn#1swxYwY|t5|d	dddn#1swxYwY|t5|t
d
dddn#1swxYwY||ddd||dd||d
d||dd||dd||ddd||ddd||ddd||dd||dd||ddd||ddd||ddd||ddd||dddd}||dd d!dS)"Nsb901efrxx:rÿrfrzb901efrJzb901efrurzb9:01:ef$zb9$01$efrKrWr_zb9:01ef*rZzb901*efs {sworldishelloi0.zC7b7305000000776f.726c646902000000.730500000068656c.6c6f690100000030)r5r0rTrbrrchr)r!three_bytesrs   rtest_hex_separator_basicsz'BaseBytesTest.test_hex_separator_basicssnn_55**H555


z
*
*	 	 OOB	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 


z
*
*	"	"OOD!!!	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"a00(;;;


y
)
)	%	%OOD!$$$	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%


z
*
*	$	$OOF###	$	$	$	$	$	$	$	$	$	$	$	$	$	$	$


z
*
*	%	%OOG$$$	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%


z
*
*	%	%OOG$$$	%	%	%	%	%	%	%	%	%	%	%	%	%	%	%


z
*
*	(	(OOCJJ'''	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(a00(;;;113CDDD002BCCC113CDDD002BCCCa00(;;;a00(;;;b118<<<--z:::..
;;;a00*===b11:>>>a00)<<<a00*===b119===c3**,qrrrrrs~A::A>A>CCCD33D7:D7E::E>E>GGG&HHH-#II #I c|tdd}||ddS)NZ_
5a5b5c5d5er5ryr0rT)r!
five_bytess  rtest_hex_separator_five_bytesz+BaseBytesTest.test_hex_separator_five_bytes	sA^^E"RLL11
))<88888rc|dtddD}||d||ddd||ddd	||d
dd||d
dd||d
dd||d
dd||d
dd||ddd||d
dd||ddd||d
dd||ddddS)Nc3 K|]	}|dzV
dS)ruNrrmr+s  rroz=BaseBytesTest.test_hex_separator_six_bytes.<locals>.<genexpr>s&"<"<11Q3"<"<"<"<"<"<rrKr0306090c0f12rcz03.06.09.0c.0f.12 r_z0306 090c 0f12-ruz
030609-0c0f12rZrz
0306:090c0f12rz
03:06090c0f12rj_r
030609_0c0f12r`z
0306090c:0f12@rz
0306090c0f@12iirl)r!	six_bytess  rtest_hex_separator_six_bytesz*BaseBytesTest.test_hex_separator_six_bytes
sNN"<"<a"<"<"<<<	.999sA..0CDDDsA..0@AAAsA..@@@sA..@@@sA..@@@sA..???sB//@@@sB//AAAsB//AAAtR00/BBBsB//@@@sC00.AAAAArcd||dgd||ddgddgddgddggdfD]}tt	|j|}||d|d||dt|d||dt
|d|dj}||dd	gd
||tdd	gd
||dtd	gd
||tdd	gd
||dtd	gd
dgdz}ddd
zz}||||dgdz}ddz}||d|||	t|djd|	t5|tdddgdddn#1swxYwY|	t5|tdddgddddS#1swxYwYdS)Nrrr8r<r;r:)r8r9r:s.:scdsab.:cdis.:abci cdsef)r0r5joinrzrr|r}rUrrbr)r!lstdot_joinseqr2s     r	test_joinzBaseBytesTest.test_joins,,11"55s;;;,,113%88#>>>HtUmeT]<N<N<NO	J	JCs4>3//00CT^^C0055c::FCCCT^^C0055eCjjAA6JJJT^^C0055d3ii@@&IIII>>%((-5%.119===:e#4#4e"<==yIII5*U*;*;"<==yIII9U#3#3U";<<iHHH5)E*:*:";<<iHHHhHu,,#111hF?,,11#66AAA)T^^D%9%9%>EEE

y
)
)	6	6Hi&&e4555	6	6	6	6	6	6	6	6	6	6	6	6	6	6	6


y
)
)	7	7Hj''u5666	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7	7s$/MMM<N%%N),N)c~|d}d}d}d}||dd||dd||d	d
|||d|||d
||ddd||ddd||dd
dd
||dddd
|||dd|||dd|||d
dd
|||ddd
dS)Nmississippiipwirssr_wrruprKrur	)r5r0count)r!r8rnpws     r
test_countzBaseBytesTest.test_count;sNN>*****+++***Q'''Q'''q))1---q))1---q!,,a000q!,,a000A***A***Aq))1---Aq))1-----rcD|d}||d||d||d||d||d||d|t
5}|dgdddn#1swxYwYt
|j}|d||d|dS)	Nhelloanythingshelhshellowsharr|)	r5r
startswithrrbrrrLr{r!r8rOexcs    rtest_startswithzBaseBytesTest.test_startswithRsNN8$$))44[AABBBX..///V,,---T**+++i00111e,,---


y
)
)	!R
LL$   	!	!	!	!	!	!	!	!	!	!	!	!	!	!	!",

gs###

gs#####s2EEEc8|d}|td||d||d||d||d||d|t5}|dgdddn#1swxYwYt|j}|	d||	d|dS)	Nrrsllooswhellosnorr|)
r5rrendswithrrbrrrLr{rs    r
test_endswithzBaseBytesTest.test_endswith`sNN8$$--k::;;;

8,,---

6**+++

4(()))I..///E**+++


y
)
)	R
JJv															",

gs###

gs#####s,EEEc@|d}d}d}||dd||dd||dd|||d	|||d||dd
d||dd	dd||dd	d
d|||d
d|||d	d
d	|||d	d
dddtjd	zfD]$}|td|j|%dS)Nrrrrr_rrW
mississippianrKrurrrurfzbyte must be in range\(0, 256\))r5r0findrNrOassertRaisesRegexr)r!r8rnrindexs     r	test_findzBaseBytesTest.test_findnsNN>*****r*** 0112666A&&&B'''q))1---q!,,a000q!,,b1111q)))1a!,,,1a"---#s{Q/		E"">



		rc~|d}d}d}||dd||dd||dd|||d	|||d||dd
d||dddd
|||dd
d|||d
dd|||dd
ddS)NrrrrrrrWrrSrurrur_rKrr)r5r0rfindr!r8rnrs    r
test_rfindzBaseBytesTest.test_rfindsNN>**++++++!122B777R(((R(((**A...1--q111Aq))1---Aq))1---Aq))2.....rc|d}d}d}||dd|t|jd|t|jd|||d|t|j|||dd	d
||dddd|t|jddd	|||dd|||dd	d|t|j|dd	dS)
Nrrrrr_rrrKrurrru)r5r0rrbrrs    r
test_indexzBaseBytesTest.test_indexsNN>**+++*agt444*ag/?@@@Q'''*agq111**A...1--q111*agua;;;A***Aq))1---*agq!Q77777rc>|d}d}d}||dd|t|jd|t|jd|||d|t|j|||dd	d||dd
dd|||d
d	d
|||d	dd|t|j|d
d	dS)NrrrrrrrrSrurrur_rKrr)r5r0rindexrbrrs    rtest_rindexzBaseBytesTest.test_rindexsfNN>**%!,,,*ah555*ah0@AAA!b)))*ah222%++Q///%A..222!Q**A...!Q**A...*ah1a88888rcDd}|}|dz}|d|d||ud}|dz}|dt	|jd}|dz}|dt	|jfd	}|d
ddid
|ddddd
|d
dddd
|ddd|ddd|ddd|ddd|ddd|dd d!|d"d#d#dS)$N
hello, %b!world
hello, world!%s / 100 = %d%%sseventy-nineOseventy-nine / 100 = 79%
hello,%b!
hello,world!c|}||z}||t|jdSr)r5r0r.r/)fmtvalsresultr8r!s    rcheckz%BaseBytesTest.test_mod.<locals>.checksUs##ADAQ'''MM$q''4>22222rs
...%(foo)b...foors	...abc...s...%(f(o)o)b...sbar)sf(o)or{)rrs%*b)rrs  abc)rrsabc  s%*.*b)rr_rs   ab)rrurs%i %*.*b)rSrrurs10   abcs
%i%b %*.*b)rS3rrurs	103   abc%cr8r5r0rr.r/)r!r8origr@rs`    rtest_modzBaseBytesTest.test_modsNN=))
L,---}---d###NN-..
%%7888

d1ggt~...NN+,,
L/000

d1ggt~...	3	3	3	3	3	>>>
 F6"B"BLQQQ
c : :LIII
flH---
fmX...
h222
h222
k.<<<
m6EEE
eT4     rc$|d}|}|dz}||d||d|||u|d}|dz}||d|t	||j|d}|dz}||d|t	||jdS)	Nrrrrrrrrr)r!r8rs   r	test_imodzBaseBytesTest.test_imods
NN=))	X
,---}---d###NN-..	
""7888

d1ggt~...NN+,,	X
/000

d1ggt~.....rc4|t5t|dzdddn#1swxYwY||ddtdS)Nrz%r)rbrobjectr5r.__rmod__NotImplementedr%s r	test_rmodzBaseBytesTest.test_rmods


y
)
)	.	.HHt~~f----	.	.	.	.	.	.	.	.	.	.	.	.	.	.	.

dnnV,,55d;;^LLLLLs%AAAc|d}||ddd||ddddS)Nrrr8smassassapparr*s	mixixippi)r5r0replacer7s  rtest_replacezBaseBytesTest.test_replacesaNN>**4..???5$//>>>>>rcp|t|djdddS)Na b r)rbrr5rr%s rtest_replace_int_errorz$BaseBytesTest.test_replace_int_errors1)T^^F%;%;%CRMMMMMrc|t|djd|t|djddSNrrsrbrr5splitrsplitr%s rtest_split_string_errorz%BaseBytesTest.test_split_string_errorsV)T^^F%;%;%A3GGG)T^^F%;%;%BCHHHHHrc|t|djd|t|djddSNrrrr%s rtest_split_int_errorz"BaseBytesTest.test_split_int_errorsV)T^^F%;%;%A2FFF)T^^F%;%;%BBGGGGGrcdD]@}||}|||gA|d}||dgdS)N)sabsabsabsab		

)r5r0rr7s  rtest_split_unicodewhitespacez*BaseBytesTest.test_split_unicodewhitespace
s=	-	-Aq!!AQWWYY,,,,NNBCC%8$9:::::rc|d}||dgdS)Nrr)r5r0rr7s  rtest_rsplit_unicodewhitespacez+BaseBytesTest.test_rsplit_unicodewhitespaces<NNBCC&9%:;;;;;rc|d}||dd||dddS)Nrr)smirsissippir)rrr)r5r0	partitionr7s  rtest_partitionzBaseBytesTest.test_partitions_NN>**U++-GHHHT**,FGGGGGrc&|d}||dd||dd||dddS)Nrr)smissirsippir)s
mississipprrr)rrr)r5r0
rpartitionr7s  rtest_rpartitionzBaseBytesTest.test_rpartitionsNN>**e,,.HIIId++-GHHHd++-GHHHHHrc|t|djd|t|djddSrrbrr5rrr%s rtest_partition_string_errorz)BaseBytesTest.test_partition_string_error sV)T^^F%;%;%EsKKK)T^^F%;%;%FLLLLLrc|t|djd|t|djddSrrr%s rtest_partition_int_errorz&BaseBytesTest.test_partition_int_error$sV)T^^F%;%;%ErJJJ)T^^F%;%;%FKKKKKrcttjdzD][}dD]V}||}tj||}tj|}|||W\dSNrK)rr8rsabs)rypickleHIGHEST_PROTOCOLr5dumpsloadsr0)r!protor8psqs     r
test_picklingzBaseBytesTest.test_pickling(s62Q677	'	'EF
'
'NN1%%\!U++L$$  A&&&&	
'	'	'rcttjdzD]F}dD]?}t||x}}t||}tj||}tj|}|t|t||t||tj|}|st|tj||}tj|}|t||ddAHdSr)ryrrr}r5rzrrr0r/next)r!rr8ititorgrMds       rtest_iterator_picklingz$BaseBytesTest.test_iterator_pickling0s:62Q677	5	5EF
5
5!$.."3"3444UDNN1--..LU++\!__  ed2hh777  b4000\!__RLU++\!__  b484444
5	5	5rc||dtdd||dtdd||dtdddS)Nrr=r9r<r;)r0r5striprUlstriprstripr%s rtest_strip_bytearrayz"BaseBytesTest.test_strip_bytearrayBs//55j6G6GHH$OOO//66z%7H7HII5QQQ//66z%7H7HII5QQQQQrc>|t|djd|t|djd|t|djddS)Nracrbrr5rrrr%s rtest_strip_string_errorz%BaseBytesTest.test_strip_string_errorGs})T^^F%;%;%A4HHH)T^^F%;%;%BDIII)T^^F%;%;%BDIIIIIrc>|t|djd|t|djd|t|djddS)Ns abc rrr%s rtest_strip_int_errorz"BaseBytesTest.test_strip_int_errorLs})T^^H%=%=%CRHHH)T^^H%=%=%DbIII)T^^H%=%=%DbIIIIIrc	|d}ttfD]H}||d|d|dIdS)Nrr-s--abc--)r5rrr0centerr!r8	fill_types   rtest_centerzBaseBytesTest.test_centerQsuNN6""+	9	9IQXXa499!^^J77
9
9
9
9	9	9rc	|d}ttfD]H}||d|d|dIdS)Nrrrsabc----)r5rrr0ljustrs   r
test_ljustzBaseBytesTest.test_ljustXuNN6""+	9	9IQWWQ		$88!^^J77
9
9
9
9	9	9rc	|d}ttfD]H}||d|d|dIdS)Nrrrs----abc)r5rrr0rjustrs   r
test_rjustzBaseBytesTest.test_rjust_rrcD|t|djdd|t|djdd|t|djdddS)Nrrr)rbrr5rrrr%s rtest_xjust_int_errorz"BaseBytesTest.test_xjust_int_errorfs)T^^F%;%;%BArJJJ)T^^F%;%;%A1bIII)T^^F%;%;%A1bIIIIIrc|d|fdttDgddS)NsAcDg|]}t||dzSrK)r)rmrnr8s  r
<listcomp>z*BaseBytesTest.test_ord.<locals>.<listcomp>ms+???A#a!A#h--???r)rArpr)r5r0ryrar7s @rtest_ordzBaseBytesTest.test_ordkscNN-..????s1vv???///	1	1	1	1	1rcfd}||jdd|d}||jdd||t|jjdd|t
|jjdddS)	Ns	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`xyzdefghijklmnopqrstuvwxyz{|}~rxyzs	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~xyzssxyzqrr)r0r5	maketransrbrr)r!
transtables  rtest_maketranszBaseBytesTest.test_maketransps~
11&&AA:NNNu
11/6JJJWWW*dn&>PPP)T^%=ueLLLLLrc2
|d}|d}|d}|d}|d}|d||d|d||dd|d||dd|d	||dd|d||d|d||dd|d||dd|d	||dd|d||d|d||dd|d||dd|d	||dd|d||d|d||dd|d||dd|d	||dd|d||d|d
||dd|d
||dd|d	||dd|d||d|d||dd|d||dd|d||dd|d||d|d||dd|d||dd|d||dddS)
Nrlrr*rr_rurZrrKTF)	r5r0rrrrrrr)r!r8lhr+os      rtest_none_argumentsz!BaseBytesTest.test_none_argumentsxsuNN8$$NN4  NN4  NN4  NN4  AFF1dOO,,,AFF1b$//000AFF1dB//000AFF1dD11222AGGAt,,---AGGAr400111AGGAtR00111AGGAtT22333AGGAt,,---AGGAr400111AGGAtR00111AGGAtT22333AHHQ--...AHHQD11222AHHQb11222AHHQd33444AGGAt,,---AGGAr400111AGGAtR00111AGGAtT22333qzz!T22333qzz!R66777qzz!T266777

1dD 9 9:::q||At44555q||Ar488999q||AtR88999Qd ; ;<<<<<rc|d}|j|j|j|j|jfD]V}|t|d|t|d|t|dWdS)NrrWrfi')r5rrrrrrbr)r!r8methods   r(test_integer_arguments_out_of_byte_rangez6BaseBytesTest.test_integer_arguments_out_of_byte_rangesNN8$$w!(C	8	8Fj&"555j&#666j&$7777	8	8rc	`|d}|d}|td|j|ddd|td|j|ddd|td|j|ddd|td|j|ddd|td|j|ddd|td|j|ddd|td	|j	|ddddS)
Nrr*z\bfind\bz	\brfind\bz	\bindex\bz
\brindex\bz	\bcount\bz\bstartswith\bz\bendswith\b)
r5rrrrrrrrr)r!r8r+s   r*test_find_etc_raise_correct_error_messagesz8BaseBytesTest.test_find_etc_raise_correct_error_messagessNNN8$$NN4  y+qv !4t	5	5	5y, !4t	5	5	5y, !4t	5	5	5y- !4t	5	5	5y, !4t	5	5	5y*;Q\ !4t	5	5	5y/1: !4t	5	5	5	5	5rctj|t|jtj|t
|jdSr)testsupportcheck_free_after_iteratingr}r5rr%s rtest_free_after_iteratingz'BaseBytesTest.test_free_after_iteratings@//dDNKKK//hOOOOOrc	|d}ttd}td|td<|t
|j|t
|jdd|t|jttd||d}|	|d|
||j||}||d}|	|||	|d||d}|	|d	|dd
}|	|d||d}|	|d||d}|	|d	|dd
}|	|ddS)
Nrrfer$rrsheller!sheeeshllo)delete)r5rryrrbr	translaterrr0assertIsInstance)r!r8rosettar'rs     rtest_translatezBaseBytesTest.test_translatesNN8$$E#JJ''HHC)Q[111)Q[$===*ak5s3D3DEEE
KK**H%%%a000
KK  
KK%%AH%%%
KK&&F###
KKd##G$$$
KKK,,H%%%
KKK--F###
KKTK**G$$$$$rctjd}|d}|t5||ddddn#1swxYwY|t5||ddddn#1swxYwY|||dddS)N	_testcapi)rgrZrKrrg)r
import_moduler5rbrcsequence_getitemr0)r!r9objs   rtest_sq_itemzBaseBytesTest.test_sq_itemsM!/<<	nnU##


z
*
*	0	0&&sB///	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0


z
*
*	/	/&&sA...	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/33C;;R@@@@@s$A''A+.A+B//B36B3N)Lr(r)r*r3r9rBrdr~rrrrrrrrrrrrrrrrrrr
rrr r(r,rBrPrVrgrnrzrrrrrrrrrrrrrrrrrrrrrrrrrrr
r
rrrrr%r(r*r/r7r=rrrr,r,/s+++666
///
;
;
;---8------000"HHHBBBJJJMMM&
A
A
ALLL###.:::(((111(	]	]	]BBBMMM6,6,6,p777999!!!SSS+++0#E#E#EJFFF#s#s#sJ999BBB 777<....$$$$$$2///&888(999&!!!!!!F///"MMM
???
NNNIIIHHH;;;<<<HHH
IIIMMMLLL'''555$RRR
JJJ
JJJ
999999999JJJ
111
MMM)=)=)=V888555&PPP%%%>AAAAArr,c<eZdZeZdZdZdZdZdZ	dZ
dZdS)		BytesTestcd}||||t||jGddt}|d}||||t||jdS)NsfoobarceZdZdS)/BytesTest.test__bytes__.<locals>.bytes_subclassNrrrrbytes_subclassrBrrrCsbarfoo)r0	__bytes__r/r5r)r!foorCbars    r
test__bytes__zBytesTest.test__bytes__s#...cmmoo..???					U			n]++#...cmmoo..?????rcd}d}|t|5|dddddS#1swxYwYdS)Npythonz'byte indices must be integers or slicesr@)rrr!r8msgs   rtest_getitem_errorzBytesTest.test_getitem_errors7

#
#Is
3
3		
cFF																		s	6::ctjttj}t|dd5}|t
|jdddddS#1swxYwYdS)Nrbr)	bufferingr)osopen__file__O_RDONLYrbrreadinto)r!fdrAs   rtest_buffer_is_readonlyz!BytesTest.test_buffer_is_readonlys
WXr{
+
+
"da
(
(
(	:AiS999	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:	:s"A&&A*-A*c	
|ttdd|ttdtd|tt	dd|tt	dtdGdd}|tt||ttt	d|ttt	dGdd}|t|dGdd	t}|t|dd|t|dd
d|t|tdd|t|dtd|t|dd
td|t|tdtd|t|tdtd|tt	tdtd|tt	tdtd|tt	tdtdGdd
t}|t|dd|t|dtd|t|tdtd|t|tdtd|t|tdtddS)NrceZdZdS)&BytesTest.test_custom.<locals>.NoBytesNrrrrNoBytesrYsrrZrceZdZdZdZdS)-BytesTest.test_custom.<locals>.IndexWithBytescdS)Nr8rr%s rrDz7BytesTest.test_custom.<locals>.IndexWithBytes.__bytes__strcdSrrr%s rr&z7BytesTest.test_custom.<locals>.IndexWithBytes.__index__srrN)r(r)r*rDr&rrrIndexWithBytesr\s2







rr_r8ceZdZdZdZdS)+BytesTest.test_custom.<locals>.StrWithBytescJt|d}||_|S)Nu€)r__new__rclsrr!s   rrcz3BytesTest.test_custom.<locals>.StrWithBytes.__new__s!{{311"
rc|jSrrr%s rrDz5BytesTest.test_custom.<locals>.StrWithBytes.__bytes__
z!rNr(r)r*rcrDrrrStrWithBytesra2



"
"
"
"
"rriz
iso8859-15ceZdZdZdZdS)-BytesTest.test_custom.<locals>.BytesWithBytescJt|d}||_|S)Nrk)rrcrrds   rrcz5BytesTest.test_custom.<locals>.BytesWithBytes.__new__0s!}}S'22"
rc|jSrrr%s rrDz7BytesTest.test_custom.<locals>.BytesWithBytes.__bytes__4rgrNrhrrrBytesWithBytesrm/rjrrp)	r0r
BytesSubclassOtherBytesSubclass	WithBytesrbrrr3)r!rZr_rirps     rtest_customzBytesTest.test_customs}V4455v>>>'9&'A'ABB&v..	0	0	0y00116:::y'8'899=;P;PQQQ)UGGII666)UIe,<,<===)UIdOO<<<								
	
~~//00$777	"	"	"	"	"3	"	"	"	
||F3344f===||F33\BBGLLL||M&,A,ABBCCVLLL||F';';<<mF>S>STTT||F';';\JJ&w//	1	1	1||M&4I4I'J'JKK&v..	0	0	0||4Fv4N4N'O'OPP&v..	0	0	0	
eImF.C.C$D$DEE}U[G\G\]]]mImF6K6K,L,LMM+F33	5	5	5mI6H6P6P,Q,QRR+F33	5	5	5	"	"	"	"	"U	"	"	"	
eNN6$:$:;;VDDDmNN6,B,BCC+F33	5	5	5eNN=3H3H$I$IJJ+F33	5	5	5mNN=;P;P,Q,QRR+F33	5	5	5mNN;Mf;U;U,V,VWW+F33	5	5	5	5	5rc,tjd}tjd}ddlm}m}ddlm}m}m}m}m	}	m
}
m}|j}|f|_
||_||dd||ddd	||d
|dd||d
|t!dd
||d
|dd||d|d|d|	dd||d|d|d|	dd||d|d|d|	dd||d|dd||d|d d!||d"|d#d$||}
t$jd%krd&d|
zfd'}nd(}d)}||d*||d+||zd,||d-|d.d/|	dj}d0||jt0fd0||jt0fd1||jt0fd1||jt0fd2||jt0fd3|
|jt0fd3|
|jt0fd4|	|t0fd5|||ff	D]M\}}}}|||||||d,fN||d6d7d7||d8d9d:||d;d<||d=d>||d?|t!d@dA||dBdC||d<d<||dD|d|ddE|t@|dF|d|t@|dF|dG||dHdH||dCdHdHdS)INctypesr9r)	pythonapi	py_object)c_intc_uintc_longc_ulongc_size_t	c_ssize_tc_char_psformats
Hello %s !rs
Hello world !sc=%csc=@sc=@rsc=sd=%d ld=%ld zd=%zdrKr_rus
d=1 ld=2 zd=3rWrZrsd=-1 ld=-2 zd=-3su=%u lu=%lu zu=%zuriisu=123 lu=456 zu=789si=%isi=123isi=-123sx=%xi
sx=abcntz0x%0{}Xc|zSrr)ptr
ptr_formats r
ptr_formatterz1BytesTest.test_from_format.<locals>.ptr_formatterts"S()rcd|zS)Nz%#xr)rs rrz1BytesTest.test_from_format.<locals>.ptr_formatterxss{"riͫsptr=%pzptr=rss=%sscstrss=cstrs%ds%lds%lus%zds%zus%ps%5sr8s%.3srrs%%%s[%%]s[%]s%%%crvs%_s%%ss%ssx=%i y=%sx=2 y=%rrfr)!rr:rvrwrxryrzr{r|r}r~rPyBytes_FromFormatargtypesrestyper0rsizeofrPnameformatrrINT_MINrINT_MAXLONG_MINLONG_MAX	ULONG_MAXPY_SSIZE_T_MINPY_SSIZE_T_MAXrbr)r!rvr9rwrxryrzr{r|r}r~rr
sizeof_ptrrrsize_max	formatstrctypes_typerpy_formatterrs                     @rtest_from_formatzBytesTest.test_from_formatAsa,X66!/<<	////////																		'9'/k#%."	
++I66"	$	$	$++M8DD)	+	+	+	
++GUU1XX>> 	"	"	"++GUU3s88__EE	!	!	!++GUU3ZZ@@"	$	$	$++,A,1E!HHffQii,4HQKK99*	+	+	+	
++,A,1E"IIvvbzz,4HRLL::-	.	.	.	
++,A,2F3KK,4HSMM;;0	1	1	1	
++GUU3ZZ@@!	#	#	#++GUU4[[AA"	$	$	$++GUU5\\BB!	#	#	#]]8,,

7d??"))!j.99J
*
*
*
*
*
*
#
#
#++Ixx}}EE ==#5#55==gFF	H	H	H++GXXg5F5FGG"	$	$	$8B<<%
E9,c2
E9,c2
VY/5
VY/5
Wi137
Y	 8#>
Y	 8#>
Xx-
Hh
6
<
	C	C7I{E<
//	;;u;M;MNN)\%0077@@
B
B
C
C
C	
++FD99			++GY??	!	!	!	
++E22			++G44	!	!	!++GUU3s88__EE	 	 	 ++F33	 	 	 	
++D114888++Kq5588LL#	%	%	%
	
-,eUU2YY	@	@	@-,eUU3ZZ	A	A	A	
++C00			++E377					rc0Gddt}gd}|t|d|tt||Gddt
}|tdd|tt|dGd	d
t}|tdd|tt|dGdd
t}t
d|d}}|t|d|tt|dS)NceZdZdZdS)7BytesTest.test_bytes_blocking.<locals>.IterationBlockedNr(r)r*rDrrrIterationBlockedrIIIrr)rrKr_rusceZdZdZdS)1BytesTest.test_bytes_blocking.<locals>.IntBlockedNrrrr
IntBlockedrrrrrusceZdZdZdS);BytesTest.test_bytes_blocking.<locals>.BytesSubclassBlockedNrrrrBytesSubclassBlockedrrrrr;ceZdZdZdS)4BytesTest.test_bytes_blocking.<locals>.BufferBlockedNrrrr
BufferBlockedrrrr)rzr0rrbrr?r)r!rrnrrrbabbs        rtest_bytes_blockingzBytesTest.test_bytes_blockings					t			LLq#6777)U,<,<Q,?,?@@@
								q9---)UJJqMM:::					5			uu---)U,@,@,G,GHHH					I			5!!==#7#7BrE***)UB/////rcfd}d}|t|t||t|t||t|t|dz|t|t|dz|t|t|dz|t|td|z|t|t|dzGddt}|d	}|t|t||t|t|dz|t|t|dz|t|t|dz|t|td|z|t|t|dzdS)
Ns123abc1@s456zyx-+r`rrKr_ceZdZdS)5BytesTest.test_repeat_id_preserving.<locals>.SubBytesNrrrrSubBytesrrrrsqwerty())r0idassertNotEqualr)r!r@r8rrs     rtest_repeat_id_preservingz#BytesTest.test_repeat_id_preservings/A1&&&BqEE2a55)))BqEE2a"f::...BqEE2a!e99---A1q5		***A1q5		***BqEE2a!e99---					u			
H[!!A1&&&BqEE2a"f::...BqEE2a!e99---BqEE2a!e99---BqEE2a!e99---BqEE2a!e99-----rN)r(r)r*rr5rGrLrVrtrrrrrrr?r?sI
@
@
@:::
959595xpppd000<.....rr?c*eZdZeZdZdZdZdZdZ	dZ
dZdZd	Z
d
ZdZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"e#j$j%dZ&d Z'e#j(j)j*Z*d!Z+d"Z,d#Z-d$S)%
ByteArrayTestctd}d}|t|5|dddddS#1swxYwYdS)NrI,bytearray indices must be integers or slicesr@rrrrJs   rrLz ByteArrayTest.test_getitem_errorsi  <

#
#Is
3
3		
cFF																		s	AA
Actd}d}|t|5d|d<ddddS#1swxYwYdS)NrIrpythonr@rrJs   rtest_setitem_errorz ByteArrayTest.test_setitem_errorsi  <

#
#Is
3
3		AcF																		sAAAc`|tttdSr)rbrhashrr%s rtest_nohashzByteArrayTest.test_nohashs$)T9;;77777rcd}|ddt|z
zz}tj}	t|d5}||dddn#1swxYwYt|d5}td}||}dddn#1swxYwY||t||t|t|t|d5}||dddn#1swxYwYt|d5}||	|dddn#1swxYwY	tj|dS#t$rYdSwxYw#	tj|w#t$rYwwxYwxYw)NsHello world
rwbrN)
ratempfilemktemprQwriterrTr0rzreadrPremoveOSError)r!short_samplertfnrAr8ns       rtest_bytearray_apiz ByteArrayTest.test_bytearray_apis'rC,=,='= >>o	c4
&A%%%
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&c4
"AbMMJJqMM
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
QL 1 1222T!WWd6ll333c4
A

















c4
3A  6222
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
	#




	#



sGA!G!A%%G(A%)G<%B-!G-B11G4B15A&GD=1G=EGEG)F
G
FGFGF//
F=<F=G'GG'
G$!G'#G$$G'ctd}||d||dtd}|||dt}|||dS)Nrsollehshello1s1olleh)rr0rrr7s  rtest_reversezByteArrayTest.test_reverseshd+++H%%%i  			I&&&KK			rctd}|||dtd}|||dtd}|t	d||t	d||ddS)NrIrrrr)rrr0rrr7s  r
test_clearzByteArrayTest.test_clearsi  				C   cNN				C   cNN	S					SD!!!!!rc$td}|}||dtd}|}||dtd}|}|||||||td||d||ddS)Nrrrr<)rr=r0assertIsNotrr)r!r8rs   rrBzByteArrayTest.test_copy.sf
VVXXV$$$cNN
VVXXS!!!
f
VVXXBB
		#c((W%%%F#####rcd}|d}|tjd||d|dgdS)NcFttt|Sr)rrr)rs rrz&ByteArrayTest.test_regexps.<locals>.byAsSa[[)))rrs\w+rr)r0refindallrs   rtest_regexpszByteArrayTest.test_regexps@s]	*	*	*B~GQ//""W++rr'{{1KLLLLLrctgd}d|d<||tgdd|d<||tgdtd|d	<||tgd
	d	|d<|dn#t$rYnwxYw	d	|d
<|dn#t$rYnwxYw	d|d	<|dn#t
$rYnwxYw	td|d	<|dn#t
$rYnwxYw	d|d	<|ddS#t$rYdSwxYw)NrtrTrK)rKrTrur.rW)rKrTr.rSr)rSrTr.ruzDidn't raise IndexErrorirfzDidn't raise ValueErrorzDidn't raise TypeError)rr0rfailrcrrr7s  rtest_setitemzByteArrayTest.test_setitemFsiii  !Ikkk22333"Immm44555}}!Innn55666	AaDII/0000			D		AcFII/0000			D		AaDII/0000			D		R==AaDII/0000			D		AaDII./////			DD	sZB99
CC
C%%
C21C26D
DD"'E


EEE77
FFc	^ttd}|d=||ttdd|d=||ttdd|d=||tgddS)NrSrrKrWrr)rKr_rurrurrd)rryr0r7s  rtest_delitemzByteArrayTest.test_delitemhseBii  
aDIeArll33444
bEIeAqkk22333
aDI&;&;&;<<=====rc	ttd}|t|ttdtgd|dd<||tgd|dd=||tgdtgd|dd<||ttdtd	d
g|dd<||tgd
gd|dd<||ttdgd|dd<||tgdd|dd<||tgdt	d|dd<||tgdg|dd<||tgddddtdddddgddgggf	D];}|t5||dd<dddn#1swxYwY<gddd gfD];}|t5||dd<dddn#1swxYwY<dS)!NrS)rKrKrKrKrKrr)
rKrKrKrKrKrrurrdrr)rrurrdr)rrKr_rurrTerr)rrKr_rTrrrdr)rurrruru)rgrgrg)
rrKr_rgrgrgrurrrurrdrr)rrKr_for)rrrrrrr)rrrrrgPKDrgffffff@r@r8r8r9)rrrfii(#)	rryr0rzrUr?rbrr)r!r8elems   r
test_setslicezByteArrayTest.test_setsliceqsweBii  a$uRyy//222???++!A#I&D&D&DEEFFF
adGIooo66777???++!A#IeBii00111c3Z(("R%I&B&B&BCCDDD!A#IeBii00111!A#I&P&P&PQQRRR!""I&>&>&>??@@@6"""1"I&D&D&DEEFFF!A#I&?&?&?@@AAAAs5zz5#3Z$t5		D""9--

!A#














%__tTl3		D"":..

!A#














		s$1JJ		J		5K		K
	K
	c	ttd}|t|ttd|dd=|t|ttdd|tdd|t|ttdddS)NrTrSn)rryr0rzextendr7s  rtest_setslice_extendz"ByteArrayTest.test_setslice_extendseCjj!!a$uSzz"2"2333
crcFa$uR~~"6"6777	sC!!!a$uR~~"6"677777rc|td}||dd=|tdz
}~dS)NrSrKr_)rpoprr7s  rtest_fifo_overrunzByteArrayTest.test_fifo_overruns=
bMM	
bqbE	U1XX

AArctd}tj|}|dd=|tj||dS)NrSrK)rrN	getsizeofassertLessEqual)r!r8rs   rtest_del_expandzByteArrayTest.test_del_expandsMbMM}Q
bqbES]1--t44444rcddddddddztjddd	d
f}|D]}|D]}|ddD]}ttd}t	|}||||}||||||<|||||<||t	|||||=||||=||t	|dS)NrrKrurr0iMrWrZrir)rNrOrzryrrr0)r!rrrrrr8rMs        rtest_extended_set_del_slicez)ByteArrayTest.test_extended_set_del_slices&dAq"c1c63;C	6	6E
6
6#ABBK
6
6DU3ZZ((A!!AU4_-DLLNNN)-AeDo&)-AeDo&$$Q	!555%T/*%T/*$$Q	!5555
6
6	6	6rcttd}||dd<||tttdttdzdS)Nrfrd)rryr0rzr7s  rtest_setslice_trapz ByteArrayTest.test_setslice_trapsg
eCjj!!!""Id588nntE#JJ7G7G&GHHIIIIIrcDtd}|}|dz
}||d|||||||dz
}||d	|dz
}|ddS#t$rYdSwxYw)Nrrrrs	abcdefxyzrz'bytes += unicode didn't raise TypeError)rr0r.rrr!r8rs   rtest_iconcatzByteArrayTest.test_iconcatsf
	VI&&&B

a	VL)))	A
GA
II?@@@@@			DD	s5B
BBctd}|}|dz}||d||||||dS)Nrrur"rr0r.rs   rtest_irepeatzByteArrayTest.test_irepeatscf
	QL)))B

arctd}|}|dz}||d||||||dS)Nr*rTsdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrrs   rtest_irepeat_1charz ByteArrayTest.test_irepeat_1charsadOO
	SH%%%B

arcJt}|}||d|g}tdD]W}|dz
}|}||t|||vr||XdS)NrrTr*)r	__alloc__assertGreaterEqualry
assertGreaterrar)r!r8allocrrns     r
test_alloczByteArrayTest.test_allocsKK

q)))gs	"	"A
IAKKMMEuc!ff---C

5!!!	"	"rc	tfd}|ttt	ddtd}|tdS)Nc3KtddD]}|Vt}|ttdt|dztt|t|}|tdS)NrKrT)ryrzr0rarrr)rnr@rr8r!s   rgz(ByteArrayTest.test_init_alloc.<locals>.gs1c]]
2
2GG  Dq#a&&(););$<$<===  QQ000$$SVVQ///

""5#a&&1111
2
2rrKrTc)rr"r0rzryrarr)r!rrr8s`  @rtest_init_alloczByteArrayTest.test_init_allocsKK	2	2	2	2	2	2	


1133a$uQ}}"5"5666Q$$$

5#a&&)))))rc	xd}t|}||||||z||dd|td}|tt|dz|d|dzD|||dz||dd|td}|ttt|dz|||dz||dd|td}|t
tt|dz|||dz||dd|td}|t|jgd|t|jgd	|t|d
td}|ttdg||ddS)
Nrrrc34K|]}t|VdSr)r?rqs  rroz,ByteArrayTest.test_extend.<locals>.<genexpr>s(++AQ++++++r2r)rrKr_rf)rrKr_rWrr@r8)rrr0rr?r}rzrbrrarr)r!rr@s   rtest_extendzByteArrayTest.test_extendsddOO	D4K(((122%%%cNN	S$)$$%%%	++++++++D2I&&&233&&&cNN	c#tby))**+++D2I&&&233&&&cNN	c#tby))**+++D2I&&&233&&&cNN*ah???*ah


>>>Q###cNN	)CHH%%&'''D!!!!!rc>tdtd|dtd|d|t
fd|t
fd|tfdtdtd	|d
|tfdttd|d
tgd}|d||tgd|d||tddgdS)Nrr"shelosheocHtdS)Nr")rrrFsrrGz+ByteArrayTest.test_remove.<locals>.<lambda>-sahhs3xx.@.@rc.dS)NirrFsrrGz+ByteArrayTest.test_remove.<locals>.<lambda>.sahhsmmrc.dS)Nr1r
rFsrrGz+ByteArrayTest.test_remove.<locals>.<lambda>/sQXXc]]rr$r#r2c.dS)Nr2r
rFsrrGz+ByteArrayTest.test_remove.<locals>.<lambda>4QXXd^^rr1r)~rrpr)rrprrrrp)	rrrr0rbrrrrr&s  @rtest_removezByteArrayTest.test_remove'sh	SG$$$	SF###*&@&@&@&@AAA*&;&;&;&;<<<)%:%:%:%:;;;	S	SD!!!)%;%;%;%;<<<	3s88$$%%%C   
***++	


E///22333	


E3*--.....rcFtd|td|dtd|dtd|t
fd|t
d|td	d
dS)NrrrrrZrc.dS)NrS)rrFsrrGz(ByteArrayTest.test_pop.<locals>.<lambda>DsaeeBiircBtSr)rrrrrrGz(ByteArrayTest.test_pop.<locals>.<lambda>Esikkoo.?.?rr\r)rr0rrrbrcr7s @rtest_popzByteArrayTest.test_pop?sh#c((+++q3s88,,,rCHH---*&7&7&7&7888*&?&?@@@7++//11488888rc>|tddS)NcBtSr)rsortrrrrGz+ByteArrayTest.test_nosort.<locals>.<lambda>Js)++2B2B2D2Dr)rbAttributeErrorr%s rtest_nosortzByteArrayTest.test_nosortIs".*D*DEEEEErcptdtd|d|ddttd|t	d|tfdtttd|ddS)	Nshellr$rrTArKc.dS)Nr)rrFsrrGz+ByteArrayTest.test_append.<locals>.<lambda>TrrA)rrrr0rarbrrr7s @rtest_appendzByteArrayTest.test_appendLsg	SH%%%#---KK	SQ###)%;%;%;%;<<<KK	3s88$$%%%D!!!!!rcNtddtddtddtddtd|d|t
fdtd	t
td
|ddS)NsmsssspprKrnrrZrrc0ddS)Nr1)insertrFsrrGz+ByteArrayTest.test_insert.<locals>.<lambda>`sQXXa->->rrrr )rr%rr0rbrrr7s @rtest_insertzByteArrayTest.test_insertYsj!!	CHH	CHH	SXX	s3xx   N+++)%>%>%>%>???KK	Ic#hh''(((D!!!!!rc6td}|||dddtdtdD}td}||||dS)Nrscdercg|]}|Srrrls  rrz-ByteArrayTest.test_copied.<locals>.<listcomp>ks---Qq---rrfr)rrrryr4)r!r8tr+s    rtest_copiedzByteArrayTest.test_copiedes
fAIIffa88999--%**---..cNNAKKNN+++++rcZtdd\}}}||d||d||||dz
}||dtdd\}}}||d||dtdd\}}}||d||d||||dz
}||dtdd\}}}||d||ddS)Nr*yr!)rrr0rr)r!r@r8r's    r0test_partition_bytearray_doesnt_share_nullstringz>ByteArrayTest.test_partition_bytearray_doesnt_share_nullstringosD//++D111aC   C   A	T	C   D//++D111aC   C   D//,,T221aC   C   A	T	C   D//,,T221aC   C     rc~ttdt}fd}|ddd}|t|d|||t|d|||t|d|||tjd|||tjd||fd}|t|||fd}|t|||dS)	NrScDt|dzd|zdz
dd<dS)NrKr_rW)ry)rr8s rresizez3ByteArrayTest.test_resize_forbidden.<locals>.resizes*AE1Q37++AadGGGrrrrKcd=dSrJrrFsrdelitemz4ByteArrayTest.test_resize_forbidden.<locals>.delitems!rcdddd<dS)NrrKrWr_rrFsrdelslicez5ByteArrayTest.test_resize_forbidden.<locals>.delslicesAa1fIIIr)rryrUrbBufferErrorr0rr)r!vr1rr4r6r8s      @rtest_resize_forbiddenz#ByteArrayTest.test_resize_forbiddens

eBii  qMM	,	,	,	,	,r


t+vr222D!!!+vq111D!!!+vq111D!!!+qua000D!!!+qx1666D!!!					+w///D!!!					+x000D!!!!!rctjd}|t|jtdS)Nr9)rr:rbr7getbuffer_with_null_viewr)r!r9s  rtest_obsolete_write_lockz&ByteArrayTest.test_obsolete_write_locks7!/<<	+y'I9;;WWWWWrcztd}td}ttjdzD]~}t|}tj||f|}tj|\}}||dd<|t|t||t||t|tj||f|}tj|\}}||dd<|t|t||t||ddtdt|D]}t|tj||f|}tj|\}}||dd<|t|t||t||t|d|tt|tj||f|}tj|\}}||dd<|t|gdS)NrsqwertyrK)rrzryrrr}rrr0r/rrarb
StopIteration)	r!rrMritorigrrr8rns	         rtest_iterator_pickling2z%ByteArrayTest.test_iterator_pickling2s_  I62Q677	+	+E$ZZFfd^U33ALOOEBAaaaDT"XXtF||444T"XXt,,,
LLLfd^U33ALOOEBAaaaDT"XXtF||444T"XXtABBx0001c$ii((

Vfd^U33ALOOEBAaaaDT"XXtF||444T"XXtCIIJJ'7888
mT6:::fd^U33ALOOEBAaaaDT"XXr****?	+	+rctd}t|}t|||t|gdS)Nr;)rr}rrr0rz)r!rrs   rtest_iterator_length_hintz'ByteArrayTest.test_iterator_length_hintsT
u


"XXR



b2&&&&&rctd}d|dd<|dz}|dz}||d|||||ddS)Nrr*r_rKrusxcsxcxcxcrr0)r!r8rrs    rtest_repeat_after_setslicez(ByteArrayTest.test_repeat_after_setslicesvf"1"
U
UU###QY'''''rc`Gfdd}|d5td|t5|d<dddn#1swxYwYdddn#1swxYwY|d5t	jd}td|t5|d|dddn#1swxYwYddddS#1swxYwYdS)NceZdZfdZdS)/ByteArrayTest.test_mutating_index.<locals>.Boomc0dSrErr7s rr&z9ByteArrayTest.test_mutating_index.<locals>.Boom.__index__s			qrNrrFsrBoomrHs.






rrJ
tp_as_mappingsNow you see me...rtp_as_sequencer9)subTestrrbrcrr:sequence_setitem)r!rJr9r8s   @rtest_mutating_indexz!ByteArrayTest.test_mutating_indexsB										
\\/
*
*		.//A"":..

tvv!














															
\\*
+
+	9	9%3K@@I.//A"":..
9
9**1a888
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9	9	9	9	9	9	9	9	9	9	9	9	9	9	9	9	9	9	9sk*BA*B*A.	.B1A.	2BBB!>D# D?D#D	D#D	D##D'*D'N).r(r)r*rr5rLrrrrrrBrrrrrrrrrrrrrrr	rrrr!r&r*r.r9r,r-cpython_onlyr<r@
list_tests
CommonTesttest_exhausted_iteratorrBrErOrrrrrs[I8884			
"
"
"$$$$MMM   D>>>&&&P888555666*JJJAAA 
"
"
"***""""8///0999FFF"""
"
"
",,,!!!*"""@
\XXX"+"+"+H#o8P'''(((99999rrceZdZedZedZdZejj	dZ
dZedZdZ
dZd	Zd
ZejejjddZd
S)AssortedBytesTestc	ttfD]}||td||tdgd||tgdd||dd||dd	||d
ddS)Nbytearray(b'')rzbytearray(b'\x00')rzbytearray(b'\x00\x01\xfe\xff')rzb'abc''zb"'"s'"zb'\'"')rreprr0r)r!rAs  r
test_repr_strzAssortedBytesTest.test_repr_strsd	7	7AQQy{{^^-=>>>QQy!~~..0EFFFQQy)9)9)9::;;A
C
C
CQQvYY111QQtWWj111QQvYY
6666	7	7rc
dtdfD]}|t|t||t|dt||t
dt
jt|j	z5t|ddddn#1swxYwYdS)Nrrz\b%s\br)
rr0rrrrrescaper/r(r7s  rtest_formatzAssortedBytesTest.test_formats6***		AVAYYA///VAr]]CFF333''	(1BId1gg>N4O4O(OQQ

q#














		s7CC	C	cV|dtdkd|dtdkd|dtdkd|dtdkd|dtdkd|dtdkd|dtdkd|dtdkd|dtdkd|dtdkd|dtdkd|dtdkd|tddkd|tddkd|tddkd|tddkd|tddkd|tddkd|tddkd|tddkd|tddkd|tddkd|tddkd|tddkddS)NrTr;Frr%s rtest_compare_bytes_to_bytearrayz1AssortedBytesTest.test_compare_bytes_to_bytearray
s 5==0$777%--/666%--/666v.5555<</666%,,.5555==0%888%--/777v.666%--/777%,,.6665<</777v&0$777u/666u/666u.555v%/666v.555v&0%888u/777u.666u/777v.666v%/77777rcv|tj|tjdtj|t
j|t
jdt
jdS)Nz
bytearray(zbytes()assertIsNotNoner__doc__rrrr%s rtest_doczAssortedBytesTest.test_doc*sY.///	)44\BBIDUVVVU]+++
00::EMJJJJJrctd}t|}t|}||t|dS)NsHello world
)rrUrr0)r!rbufr8s    rtest_from_bytearrayz%AssortedBytesTest.test_from_bytearray1sL788  cNNIf--.....rc|tdd|tdd|tdd|ttdd|ttdd|ttdd	dS)
Nrzb''r*zb'x'r]zb'\x80'rWzbytearray(b'x')zbytearray(b'\x80'))r0rrr%s rtest_to_strzAssortedBytesTest.test_to_str7sS5)))TF+++Wz222Ys^^,,.>???Yt__--/@AAAYw//002GHHHHHrc	gd}|D])\}}||t|d*tddD]3}|tt
dt
|z4dS)N))sWonderful spamzWonderful spam)sWonderful spam toozWonderful spam too)suª€)s\xaa\x00\000\200z\xaa\x00\000\200rrprfzb"%s")r0rryrbSyntaxErrorevalre)r!testsr8rr's     rtest_literalzAssortedBytesTest.test_literal@s


	9	9DAqQ	!Y 7 78888sC	0	0Ak4%A.
0
0
0
0	0	0rcv|dtdddgdSNrr|r8r9)r0rrUr%s rtest_split_bytearrayz&AssortedBytesTest.test_split_bytearrayMs6j&6&677$FFFFFrcv|dtdddgdSro)r0rrUr%s rtest_rsplit_bytearrayz'AssortedBytesTest.test_rsplit_bytearrayPs6z$'7'7884,GGGGGrcvt}||dd|dS)Nr)rrrr7s  rtest_return_selfz"AssortedBytesTest.test_return_selfSs5KK3,,a00000rz4BytesWarning is needed for this test: use -bb optionc6d}|5ddkdddn#1swxYwY|5ddkdddn#1swxYwY|5ddkdddn#1swxYwY|5ddkdddn#1swxYwY|5tddkdddn#1swxYwY|5dtdkdddn#1swxYwY|5tddkdddn#1swxYwY|5dtdkdddn#1swxYwY|5ddkdddn#1swxYwY|5ddkdddn#1swxYwY|5ddkdddn#1swxYwY|5ddkddddS#1swxYwYdS)Nc8tjdtfSr
rrrr
bytes_warningz5AssortedBytesTest.test_compare.<locals>.bytes_warning[s"12|2DEEErrrrrr)r!rws  rrzAssortedBytesTest.test_compareXs;	F	F	F
]__		2II															
]__		#II															
]__		2II															
]__		#II															
]__	!	!cNNb  	!	!	!	!	!	!	!	!	!	!	!	!	!	!	!
]__	!	!)C..  	!	!	!	!	!	!	!	!	!	!	!	!	!	!	!
]__	!	!cNNb  	!	!	!	!	!	!	!	!	!	!	!	!	!	!	!
]__	!	!)C..  	!	!	!	!	!	!	!	!	!	!	!	!	!	!	!
]__		QJJ															
]__		
JJ															
]__		QJJ															
]__		
JJ																		s!%%A		A
A
A11A58A5BB B.CCC#DD
DD88D<?D<
E--E14E1FFF*F==GGG%%G),G):HHHN)r(r)r*rrZr]r_r,r-requires_docstringsrcrfrhrmrprrrtunittest
skipUnlessrNflagsrwrrrrrUrUs*
777888:
\%KK&%K///III000GGGHHH111
X0OQQQQrrUceZdZdZdZdS)BytearrayPEP3137Testc t|Srrx)r!r+s  rmarshalzBytearrayPEP3137Test.marshals||rc|d}dD]M}t||}|d}|||||||dzNdD]A}t	|}|||||||dzB|d}||g}||||||dS)Ns1234)zfillrrrruz" returned self on a mutable object)zval.split()[0]zval.rsplit()[0]zval.partition(b".")[0]zval.rpartition(b".")[2]zval.splitlines()[0]zval.replace(b"", b"")z! returned val on a mutable objectr)rgetattrr0rrkr~)r!valmethnamer'newvalexprseps       rtest_returns_new_copyz*BytearrayPEP3137Test.test_returns_new_copys?ll7##>	K	KHS(++FVAYYFS&)))S&$%II
K
K
K
KE	F	FD$ZZFS&)))S& !DD
F
F
F
Fll33%f%%%f%%%%%rN)r(r)r*rrrrrr~r~s2&&&&&rr~c"eZdZfdZdZxZS)FixedStringTestct|tr(||dSt	|S)Nr)
isinstancerr5rsuperfixtype)r!r<r6s  rrzFixedStringTest.fixtypesIc3	7>>#**W"5"5666wws###rT)r(r)r*rcontains_bytes
__classcell__)r6s@rrrs3$$$$$
NNNNNrrceZdZeZdS)ByteArrayAsStringTestN)r(r)r*rr5rrrrrsIIIrrceZdZeZdS)BytesAsStringTestN)r(r)r*rr5rrrrrsIIIrrc,eZdZdZdZdZdZdZdS)SubclassTestcV|t|j|j|||jd\}}||||}}|||k|||k|||k|||k|||k|||k||||||z||z|||z||z|||z||z||dz|dzkdS)N)r<efghr)r
issubclassr5basetyper5rr0)r!r@r8_a_bs     r
test_basiczSubclassTest.test_basics
4>4=AABBBdnn..
>>>1""DNN1$5$5B	
b!!!b!!!R   b!!!b!!!R   Q	
QR(((QB'''QQ'''	
!r!t$$$$$rc|d}||g}||||t||jt||dg}|t||jdSr;)r5rr~rr.r/)r!s1s2s3s    rrzSubclassTest.test_joins^^G
$
$
]]__
!
!2$
'
'R   

d2hh
tBxx888WWgY



d2hh
.....rc(|d}d|_|d|_ttjdzD]=}t	jt	j||}|t|t||
|||
|j|j|
|j|j|
t|t||
t|jt|j|t|d?dS)Nr<rSrrKy)r5r+zryrrrrrrr0r/rhasattr)r!r@rr8s    rtest_picklezSubclassTest.test_picklesDNN7##nnW%%62Q677	.	.EV\!U3344A1r!uu---Q"""QS!#&&&QS!#&&&T!WWd1gg...T!#YYQS		222WQ__----	.	.rc|d}d|_|d|_tjtjfD]!}||}|t
|t
||||||j|j||j|j|t|t||t|jt|j|	t|d#dS)Nr<rSrr)r5r+rr=r>rrr0r/rrr?s    rrBzSubclassTest.test_copys/NN7##nnW%% It}5	.	.KAA1r!uu---Q"""QS!#&&&QS!#&&&T!WWd1gg...T!#YYQS		222WQ__----	.	.rcjd}|dt	|jGfddj}|d}|dt	|||jdGfddj}|d}|dt	|||jddS)NrGrSceZdZfdZdS)%SubclassTest.test_fromhex.<locals>.B1cLj||}d|_|SNrF)rrcrE)rermer!s   rrcz-SubclassTest.test_fromhex.<locals>.B1.__new__s&]**366	rN)r(r)r*rcr%srB1rrrrrFceZdZfdZdS)%SubclassTest.test_fromhex.<locals>.B2c^jturjj|g|Ri|d|_dSr)rrr"rE)rrkwargsr!s   rr"z.SubclassTest.test_fromhex.<locals>.B2.__init__s@=--*DM*2???????rNr(r)r*r"r%srB2rs.






rr)r5rKr0r.r/rrE)r!r8rrs`   rrPzSubclassTest.test_fromhexsrN""8,,O,,,

d1ggt~...										
JJx  O,,,

d1ggr"""&&&										
JJx  O,,,

d1ggr"""&&&&&rN)r(r)r*rrrrBrPrrrrrs_%%%0///......'''''rrceZdZdS)ByteArraySubclassNrrrrrrDrrceZdZdZdS)ByteArraySubclassWithSlots)r+r__dict__N)r(r)r*	__slots__rrrrrs&IIIrrceZdZdS)rqNrrrrrqrqrrrqceZdZdS)rrNrrrrrrrrrrrrceZdZdZdZdS)rsc||_dSrrr s  rr"zWithBytes.__init__r#rc|jSrrr%s rrDzWithBytes.__bytes__r'rN)r(r)r*r"rDrrrrsrss2rrsceZdZeZeZdZdS)ByteArraySubclassTestcGddt}|dd}|dd}||d|dd}||ddS)NceZdZddZdS):ByteArraySubclassTest.test_init_override.<locals>.subclassrKc0tj|g|Ri|dSr)rr")rnewargrrs    rr"zCByteArraySubclassTest.test_init_override.<locals>.subclass.__init__&s)"2777777777rNrrrrrsubclassr%s(
8
8
8
8
8
8rrrr<)source)rrrD)r!rr+s   rtest_init_overridez(ByteArraySubclassTest.test_init_override$s	8	8	8	8	8y	8	8	8
HQ  HQw'''G$$$HAg...G$$$$$rN)r(r)r*rrrr5rrrrrr s-H!I%%%%%rrceZdZeZeZdS)ByteArraySubclassWithSlotsTestN)r(r)r*rrrr5rrrrr.sH*IIIrrceZdZeZeZdS)BytesSubclassTestN)r(r)r*rrrqr5rrrrr2sHIIIrr__main__)0rrPrrNr=rrrrrztest.supportr,rrtest.string_teststest.list_testsrrtest.support.script_helperrr|rwrrr,TestCaser?rrUr~string_testsBaseTestrrrrrrrrrqrrrsrrrr(mainrrr<module>rs
								







&&&&&&((((((99999999<<<<<<9
yAyAyAyAyAyAyAyAxz.z.z.z.z.
x0z.z.z.zI9I9I9I9I9M8#4I9I9I9X@@@@@)@@@b&&&&&8,&&&6d'0OX->):\'\'\'\'\'\'\'\'~									''''''''					E											%%%%%L(*;%%%+++++\83D+++h&7
zHMOOOOOr