python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_codeccallbacks.cpython-311.pyc

eddlZddlZddlZddlZddlZddlZGddZGddZGdde	Z
Gdd	e	ZGd
deZ
Gdd
eZGddeZGddeZGddeZGddejZedkrejdSdS)NceZdZdZdZdS)	PosReturncd|_dSNr)posselfs L/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_codeccallbacks.py__init__zPosReturn.__init__s
c|j}|}|dkrt|j|z}||jkrt|j|_d|fS)Nr<?>)rlenobjectstart)r	excoldposrealposs    r
handlezPosReturn.handlesQ199#*oo/Gci3:DHvrN__name__
__module____qualname__rrrr
rr	s2					rrceZdZddZdZdS)RepeatedPosReturnrc0||_d|_d|_dSr)replrcount)r	rs  r
rzRepeatedPosReturn.__init__s	


rcp|jdkr|xjdzc_|j|jfS|j|jfS)Nr)rrrend)r	rs  r
rzRepeatedPosReturn.handle s::>>JJ!OJJItx((	37##rN)rrrrr
rrs7
$$$$$rrceZdZdZdS)BadStartUnicodeEncodeErrorcRt|dddddg|_dSNasciirr!bad)UnicodeEncodeErrorrrrs r
rz#BadStartUnicodeEncodeError.__init__(s+##D'2q!UCCC


rNrrrrrrr
r$r$'#rr$ceZdZdZdS)BadObjectUnicodeEncodeErrorcRt|dddddg|_dSr&)r*rrrs r
rz$BadObjectUnicodeEncodeError.__init__.s+##D'2q!UCCCrNr+rrr
r.r.-#rr.ceZdZdZdS)NoEndUnicodeDecodeErrorcbt|dtdddd|`dSNr'rrr!r))UnicodeDecodeErrorr	bytearrayr"rs r
rz NoEndUnicodeDecodeError.__init__4s/##D'9S>>1aOOOHHHrNr+rrr
r2r23#rr2ceZdZdZdS)BadObjectUnicodeDecodeErrorclt|dtddddg|_dSr4)r5rr6rrs r
rz$BadObjectUnicodeDecodeError.__init__:s1##D'9S>>1aOOOrNr+rrr
r9r99r0rr9ceZdZdZdS)NoStartUnicodeTranslateErrorcFt|dddd|`dSNr(rr!r))UnicodeTranslateErrorrrrs r
rz%NoStartUnicodeTranslateError.__init__@s'&&tRAu===JJJrNr+rrr
r<r<?s#rr<ceZdZdZdS)NoEndUnicodeTranslateErrorcFt|dddd|`dSr>)r?rr"rs r
rz#NoEndUnicodeTranslateError.__init__Fs'&&tb!Q>>>HHHrNr+rrr
rArAEr7rrAceZdZdZdS)NoObjectUnicodeTranslateErrorcFt|dddd|`dSr>)r?rrrs r
rz&NoObjectUnicodeTranslateError.__init__Ls'&&tRAu===KKKrNr+rrr
rDrDKr,rrDceZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)S)*CodecCallbackTestcd}||ddd||ddddS)Nuスパモ änd eggsr'xmlcharrefreplaces&&#12473;&#12497;&#12514; &#228;nd eggslatin-1s!&#12473;&#12497;&#12514; nd eggsassertEqualencode)r	ss  r
test_xmlcharrefreplacez(CodecCallbackTest.test_xmlcharrefreplaceRso
-
HHW1225	
	
	
	

HHY 3443	
	
	
	
	
rcBd}tjd|d}d}||dd|d}||dd|d}||d	d|dS)
Nct|tstd|zg}|j|j|jD]r}	|dtjj	t|z>#t$r(|dt|zYowxYwd||jfS)Ndon't know how to handle %rz&%s;&#%d;r()
isinstancer*	TypeErrorrrr"appendhtmlentitiescodepoint2nameordKeyErrorjoinrlcs   r
xmlcharnamereplacezECodecCallbackTest.test_xmlcharnamereplace.<locals>.xmlcharnamereplacedsc#566
E = CDDDAZ	#' 12
/
//HHVdm&B3q66&JJKKKK///HHWs1vv-...../GGAJJ((s:B/B32B3ztest.xmlcharnamereplaceu«ℜ» = 〈ሴ€〉s0&laquo;&real;&raquo; = &lang;&#4660;&euro;&rang;r's$&real; = &lang;&#4660;&euro;&rang;rJs&real; = &lang;&#4660;&rang;iso-8859-15codecsregister_errorrLrM)r	r`sinsouts    r
test_xmlcharnamereplacez)CodecCallbackTest.test_xmlcharnamereplace`s		)		)		)	%'9	;	;	;:BG-FGGNNN<I/HII4PPP:M3LMMtTTTTTrcBd}tjd|d}d}||dd|d}||dd|d}||d	d|dS)
Nc
:t|tstd|zg}|j|j|jD]:}|tj|dt|z;dd
|z|jfS)NrRz0x%xz
%sz, )rTr*rUrrr"rVunicodedatanamerZr\r]s   r
uninamereplacez=CodecCallbackTest.test_uninamereplace.<locals>.uninamereplacesc#566
E = CDDDAZ	#' 12
?
?)!Vc!ff_==>>>>&15sw??rztest.uninamereplaceu¬ሴ€耀sNNOT SIGN, ETHIOPIC SYLLABLE SEE, EURO SIGN, CJK UNIFIED IDEOGRAPH-8000r'sEETHIOPIC SYLLABLE SEE, EURO SIGN, CJK UNIFIED IDEOGRAPH-8000rJsAETHIOPIC SYLLABLE SEECJK UNIFIED IDEOGRAPH-8000rarb)r	rlrerfs    r
test_uninamereplacez%CodecCallbackTest.test_uninamereplacezs	@	@	@	!>	3	3	3'fG-BCCTJJJ`I/DEEtLLLeM3HII4PPPPPrcd}d}||dd|d}||dd|d}||dd|dS)	Na¬ሴ€耀􏿿s!a\xac\u1234\u20ac\u8000\U0010ffffr'backslashreplacesa\u1234\u20ac\u8000\U0010ffffrJsa\u1234\u8000\U0010ffffrarKr	rerfs   r
test_backslashescapez&CodecCallbackTest.test_backslashescapes28G-?@@$GGG7I/ABBDIII4M3EFFMMMMMrcd}d}||dd|d}||dd|d}||dd|dS)	Nros[a\N{NOT SIGN}\N{ETHIOPIC SYLLABLE SEE}\N{EURO SIGN}\N{CJK UNIFIED IDEOGRAPH-8000}\U0010ffffr'namereplacesPa\N{ETHIOPIC SYLLABLE SEE}\N{EURO SIGN}\N{CJK UNIFIED IDEOGRAPH-8000}\U0010ffffrJsDa\N{ETHIOPIC SYLLABLE SEE}\N{CJK UNIFIED IDEOGRAPH-8000}\U0010ffffrarKrqs   r
test_nameescapez!CodecCallbackTest.test_nameescapes2>G];;TBBB>I}==tDDD>M=AA4HHHHHrcd}tjd|d}d}||dd|d}|t
|jdddS)Nct|tstd|z|j|j|jdzdkrd|jdzfS|)NrRs)rTr5rUrrrs r
relaxedutf8z>CodecCallbackTest.test_decoding_callbacks.<locals>.relaxedutf8s_c#566
E = CDDDz#)CIaK/0K??	!,,	rztest.relaxedutf8sabcüu	abcüutf-8s)rcrdrLdecodeassertRaisesr5)r	r{rerfs    r
test_decoding_callbacksz)CodecCallbackTest.test_decoding_callbackss
				0+>>>9(G-?@@$GGG",cj!#5	7	7	7	7	7rctddD}d}d}|tj|d|d|d}|t
tj|d|d|t
d	<d
}d}|tj|d|d|d
|t
d	<|ttj|d|dS)Nc3~K|]8}t|td|zdfV9dS)rxr'N)rZbytesupper.0r_s  r
	<genexpr>z7CodecCallbackTest.test_charmapencode.<locals>.<genexpr>sCQQAa		k7 ; ;<QQQQQQrabcdefghabcsAABBCCstrictrabcAsXYZ?abcDEFsAABBCCXYZXYZXYZreplaceXYZ)dictrLrccharmap_encoder~UnicodeErrorrZrU)r	charmaprerfs    r
test_charmapencodez$CodecCallbackTest.test_charmapencodes
QQjQQQQQ.sHgFFqI4PPP,(=sHgVVV"C!.sIwGGJDQQQ!C)V%:CGTTTTTrc	d}tjd|d}tjd|d}||ddd||ddd|d	d
dd|dd
dd
|tjddtddidd|dddd|dddddS)Nc*tjj}ttrfd|D}n6tt
rfd|D}nt
dzdd|zjfS)NcJg|]}dtj|z Sz<%d>)rZrrrrs  r

<listcomp>zFCodecCallbackTest.test_callbacks.<locals>.handler1.<locals>.<listcomp>s,@@@sVc#*S/222@@@rc0g|]}dj|zSrrrs  r
rzFCodecCallbackTest.test_callbacks.<locals>.handler1.<locals>.<listcomp>s$;;;#Vcjo-;;;rrR[%s]r()rangerr"rTr*r5rUr\)rrr^s`  r
handler1z2CodecCallbackTest.test_callbacks.<locals>.handler1sci))A#122
E@@@@a@@@C!344
E;;;;;;; = CDDDRWWQZZ'11rz
test.handler1cttstdzfdtjjD}dd|zjdzfS)NrRc0g|]}dj|zSrrrs  r
rzFCodecCallbackTest.test_callbacks.<locals>.handler2.<locals>.<listcomp>s$OOOc#*S/)OOOrrr(r!)rTr5rUrrr"r\)rr^s` r
handler2z2CodecCallbackTest.test_callbacks.<locals>.handler2src#566
E = CDDDOOOOU39cg5N5NOOOARWWQZZ'33rz
test.handler2sr'z[<129>][<128>][<255>]z[<129>][<128>]s\u3042\u3xxxunicode-escapeuあ[<92><117><51>]xxxs\u3042\u3xxuあ[<92><117><51>]xxabcazrz
z[<98>][<99>]ugüßrksg[<252><223>]rkugüßs
g[<252><223>])rcrdrLr}charmap_decoderZrM)r	rrrNs    r
test_callbacksz CodecCallbackTest.test_callbackss	2	2	2	ox888	4	4	4	ox888#
HHWo..+	
	
	
	

HHWo.. 	
	
	

	
$$%5GG&	
	
	

	
##$4oFF%	
	
	

	
!&/CHHc?KKAN	
	
	

	
  /::	
	
	

	
w88	
	
	
	
	
rcgd}|D],}tjd|ztj|-d|d|Dz
}fddDD]3}dD].}|D])}	|||#t$rY&wxYw/4dS)N)rignorerrIrprttest.cg|]}d|zS)rr)rerrs  r
rz6CodecCallbackTest.test_longstrings.<locals>.<listcomp>%s555cGcM555rcg|]}|zSrr)rrNr^s  r
rz6CodecCallbackTest.test_longstrings.<locals>.<listcomp>&s<<<QQqS<<<r)xあuaä)r'rJ
iso-8859-1rar|utf-7utf-16utf-32)rcrdlookup_errorrMr)r	errorsruniencr^s     @r
test_longstringsz"CodecCallbackTest.test_longstringss666	K	KC!'C-1DS1I1IJJJJ55V5555<<<<":<<<		C>

!C

3,,,,'
		sA66
B	B	c0|jt|g|ddR|jt|g|dgzRgd}tt|D]}|D]}t	|t	||ur'g}tt|D]9}||kr|||||:|jt|g|R||}	|t|	|dS)Nztoo much)spamseggssspam*g?N)r~rUrrtyperVrLstr)
r	exctypeargsmsg	wrongargsiwrongargcallargsjrs
          r
check_exceptionobjectargsz+CodecCallbackTest.check_exceptionobjectargs/sT	)W9tCRCy9999)WE
|0CEEEE???	s4yy!!	A	AA%

A

A>>T$q']]22s4yy))11A!tt 1111 Q0000!!)W@x@@@@@

AgtnS3'''''rcn|tgdd|tgdd|tgdd|tgdd|tgd	d
|tgdddS)
N)r'gürkr!rxouchz?'ascii' codec can't encode character '\xfc' in position 1: ouch)r'rr!rz;'ascii' codec can't encode characters in position 1-3: ouch)r'uüxrr!rz?'ascii' codec can't encode character '\xfc' in position 0: ouch)r'uĀxrr!rzA'ascii' codec can't encode character '\u0100' in position 0: ouch)r'u￿xrr!rzA'ascii' codec can't encode character '\uffff' in position 0: ouch)r'u𐀀xrr!rzE'ascii' codec can't encode character '\U00010000' in position 0: ouch)rr*rs r
test_unicodeencodeerrorz)CodecCallbackTest.test_unicodeencodeerrorHs&&...N	
	
	

	
&&...I	
	
	

	
&&,,,N	
	
	

	
&&...P	
	
	

	
&&...P	
	
	

	
&&222T	
	
	
	
	
rc|tdtddddgd|tdtddddgddS)	Nr'sgrkr!rxrz8'ascii' codec can't decode byte 0xfc in position 1: ouchz6'ascii' codec can't decode bytes in position 1-2: ouch)rr5r6rs r
test_unicodedecodeerrorz)CodecCallbackTest.test_unicodedecodeerrorhsv&&
i
++Q6:F	
	
	

	
&&
i
++Q6:D	
	
	
	
	
rc2|tgdd|tgdd|tgdd|tgdd|tgd	d
dS)N)rr!rxrz4can't translate character '\xfc' in position 1: ouch)ugĀrkr!rxrz6can't translate character '\u0100' in position 1: ouch)ug￿rkr!rxrz6can't translate character '\uffff' in position 1: ouch)ug𐀀rkr!rxrz:can't translate character '\U00010000' in position 1: ouch)rr!rrz0can't translate characters in position 1-2: ouch)rr?rs r
test_unicodetranslateerrorz,CodecCallbackTest.test_unicodetranslateerrorts&&!%%%C	
	
	

	
&&!'''E	
	
	

	
&&!'''E	
	
	

	
&&!+++I	
	
	

	
&&!%%%>	
	
	
	
	
rc|ttjd|ttjt	d|t
tjtddddd|ttjt
dtdddd|ttjtdddddS)Nrrr'rrr!)	r~rUrc
strict_errors	Exceptionr*r5r6r?rs r
test_badandgoodstrictexceptionsz1CodecCallbackTest.test_badandgoodstrictexceptionss 	
	
	
	
 f	
	
	
	
 w!Q??	
	
	

	
 w	'(:(:Aq&II	
	
	

	
! !(Aq&99	
	
	
	
	
rc&|ttjd|ttjt	d|tjt
dddddd|tjtdtddddd|tjtddddddS)	Nrrr'aあbr!rx)r(rxab)
r~rUrc
ignore_errorsrrLr*r5r6r?rs r
test_badandgoodignoreexceptionsz1CodecCallbackTest.test_badandgoodignoreexceptionss*
	
	
	
	
	
	
	
	
 "7J1fEE
G
G	
	
	

	
 "7Ii,@,@!QOO
Q
Q	
	
	

	
 %j!Q??
A
A	
	
	
	
	
rc|ttjd|ttjt	d|ttjt|ttjt
|tjtdddddd|tjtdtddddd	|tjtddddd	dS)
Nrrr'rr!rx)rrxr)�rx)r~rUrcreplace_errorsrr.r9rLr*r5r6r?rs r
 test_badandgoodreplaceexceptionsz2CodecCallbackTest.test_badandgoodreplaceexceptionss 
	
	
	
	
 	
	
	

	
!'))	
	
	

	
!'))	
	
	
	
!"7J1fEE
G
G	
	
	

	
!"7Ii,@,@!QOO
Q
Q	
	
	

	
!%j!Q??
A
A	
	
	
	
	
rc
|ttjd|ttjt	d|ttjtdt
dddd|ttjtddddd}|d	z
}d
d|D}|	tjtdd|zd
zddt|zdd
d|Ddt|zfdS)Nrrr'rrr!r)rr!	
cdiri''i順i?B@B)iir(c34K|]}t|VdSNchrrs  r
rzOCodecCallbackTest.test_badandgoodxmlcharrefreplaceexceptions.<locals>.<genexpr>s(''qCFF''''''rrbc3 K|]	}d|zV
dS)rSNrrs  r
rzOCodecCallbackTest.test_badandgoodxmlcharrefreplaceexceptions.<locals>.<genexpr>s&--QWq[------r)r~rUrcxmlcharrefreplace_errorsrr5r6r?r\rLr*r)r	csrNs   r
*test_badandgoodxmlcharrefreplaceexceptionsz<CodecCallbackTest.test_badandgoodxmlcharrefreplaceexceptionss*
	
	
	
	
*	
	
	
	
+w	'(:(:Aq&II	
	
	

	
+!(Aq&99	
	
	

GG''B'''''+"7C!GcM#$a#a&&j&::

WW--"---
-
-q3q66z:	
	
	
	
	
rc|ttjd|ttjt	dgd}|D]\}}||5|tjtdd|zdzddt|zd|dt|zf|tjtd|zdzddt|zd|dt|zfdddn#1swxYwYgd	}|D]\}}||
5|tjtdtd|zdzdd
d|d
fdddn#1swxYwYdS)Nrr))rz\u3042)
\x0a)r\x61ry\x00)ÿ\xff)uĀz\u0100)u￿z\uffff)u𐀀z
\U00010000u􏿿z
\U0010ffffz\ud800z\udfffz\ud800\udfffrr'rrr!))ar)
r)r)rr)rrbrx)r~rUrcbackslashreplace_errorsrsubTestrLr*rr?r5r6)r	testsrNrrs     r
)test_badandgoodbackslashreplaceexceptionsz;CodecCallbackTest.test_badandgoodbackslashreplaceexceptionss)
	
	
	
	
)	
	
	




	
	DAq!$$

  2*7C!GcM+,a#a&&j&BBCCCFF
O	  2-cAgm./SVVVEEFFCFF
O	

















		DAqA&&

  2*7IdQho4N4N+,a99::F	














		s&;CE		E
	E
	6AGG	G	c|ttjd|ttjt	d|ttjtdt
dddd|ttjtddddgd}|D]\}}||	5|	tjtdd
|zdzddt|zd|dt|zfdddn#1swxYwYdS)Nrrr'rrr!r))rz\N{HIRAGANA LETTER A}r)uﯹzW\N{ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM})u󠁿z\N{CANCEL TAG}rrrrrrr)r~rUrcnamereplace_errorsrr5r6r?rrLr*r)r	r	rNrs    r
$test_badandgoodnamereplaceexceptionsz6CodecCallbackTest.test_badandgoodnamereplaceexceptionsSs$
	
	
	
	
$	
	
	
	
%w	'(:(:Aq&II	
	
	

	
%!(Aq&99	
	
	



		DAq!$$

  -*7C!GcM+,a#a&&j&BBCCCFF
O	














		s5A"E##E'	*E'	c
tjd}|t|d|t|t	d|t|tdddddD]]}||5|t|td	|ddddddn#1swxYwY^||td	d
dddd|t|td	td
ddd||td	tddddddS)Nsurrogateescaperrrr!)ruurr'uabrx)rxrsab)rrx)rcrr~rUrr?rr*rLr5r6)r	surrogateescape_errorsrNs   r
(test_badandgoodsurrogateescapeexceptionsz:CodecCallbackTest.test_badandgoodsurrogateescapeexceptionss!'!45F!G!G!
	
	
	
	
!	
	
	
	
"!(Aq&99	
	
	
+		A!$$

!!&*&w1a@@














	
"""7J1fEE
G
G	
	
	

	
"w	$AvFF	
	
	

	
"""7Ii,@,@!QOO
Q
Q	
	
	
	
	
s .CC	!C	ctjd}|t|d|t|t	d|t|tdddddD]}||5|t|t|d	ddd|t|t|d		|ddddddn#1swxYwYd
D]j}||5|t|td|dt|ddddn#1swxYwYkgd
}|D]\}}}}||||5||t|d	|zdzddt|zd|dt|zf||t|td|d|zdzdd|zd|ddd|zfdddn#1swxYwYdS)N
surrogatepassrrrrr!)r|utf-16leutf-16beutf-32leutf-32beencodingr)rrrrr'))r|rsr)rrsrx)rrsrx)rrsr)rrsr)r|rsr)rrsrx)rrsrx)rrsr)rrsr)r|rsr)rrsrx)rrsrx)rrsr)rrsr)rrrrrr)
rcrr~rUrr?rr*r5rMrrLr6)r	surrogatepass_errorsrrNr	rns       r
&test_badandgoodsurrogatepassexceptionsz8CodecCallbackTest.test_badandgoodsurrogatepassexceptionss%2?CC
	
	
	
	
	
	
	
	
 !(Aq&99	
	
	
M		Cs++



!!&(&sCAv>>
!!&(&sCJJsOOQ6JJ





























6		A!$$

!!&(&w1c!fffEE

















""
	
	LCAqs;;

  ((*3a#
+,a#a&&j&BBCCCFF
O	  ((*3	$2A2,:M0N0N+,a!eV==>>rrUAEN	















	
	s8 A.DD	!D	;FF	F	8B4I88I<	?I<	cd}d}|D]ktjdfd|D]$}|tdj|d%dD]'\}}|t|j|d(ldS)N)	rfoo)r!rxrr r!rr Nr r!r"r#)r'rJrraztest.badhandlercSrr)rress r
<lambda>z:CodecCallbackTest.test_badhandlerresults.<locals>.<lambda>ssrr)r'rr|r)rs+x-)rcrdr~rUrMr})r	resultsencsrrr%s     @r
test_badhandlerresultsz(CodecCallbackTest.test_badhandlerresultssx@		C!"3]]]]CCC

!!O%	!



e
!!L%	

		rc^|tjtjd|tjtjd|tjtjd|tjtjd|tjtjd|tjtjddS)NrrrIrprt)rLrcrrrrrrrs r
test_lookupzCodecCallbackTest.test_lookups-v/B8/L/LMMM-v/B8/L/LMMM-v/B8/L/LMMM+ 344	
	
	
	
* 233	
	
	
	
%
..	
	
	
	
	
rcfd}tjd|dD]K\}}||d}||dzdz|LdD]\}}||5|t5}||ddddn#1swxYwY|j}||jd||j	d	||j
|dddn#1swxYwYdS)
Ncdt|tr	|jfStd|zNrRrTr*r"rUrrs r
rzBCodecCallbackTest.test_encode_nonascii_replacement.<locals>.handle 6#122
'cg&9C?@@@rtest.replacing))r'[¤]r)r[€]u½¾)rar5uœŸ[]))r|[]🐍)rr9r:)rr9r:rr!rx)rcrdrMrLrr~r*	exceptionrr"r)r	rrinputr%cmrrs       @r
 test_encode_nonascii_replacementz2CodecCallbackTest.test_encode_nonascii_replacements	A	A	A	A	A	.777!
	B	BC
,,s$455CS3:#3";";C"@"@AAAA!
	4	4C
s++
4
4&&'9::8bLL&6777888888888888888l  A...  !,,,  U333

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4	4	4s7D5#C:D5C

D5
C
AD55D9	<D9	cfd}tjd|dD]\}}||5|t5}||ddddn#1swxYwY|j}||jd||j	d||j
|dddn#1swxYwYdS)Ncdt|tr	|jfStd|zr0r1r2s r
	unencreplzHCodecCallbackTest.test_encode_unencodable_replacement.<locals>.unencrepl<s7#122
Ecg& = CDDDrztest.unencreplhandler))r'r5½)rr6uœ)rar5rB)r|r9)rr9rC)rr9rCrr!rx)rcrdrr~r*rMr;rLrr"r)r	rArr<r=rrs      @r
#test_encode_unencodable_replacementz5CodecCallbackTest.test_encode_unencodable_replacement;s	E	E	E	E	E
	5yAAA!
	4	4Cs++
4
4&&'9::?bLL&=>>>???????????????l  A...  !,,,  U333

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4	4	4s6C'A8,C'8A<<C'?A<AC''C+	.C+	c	Zfd}tjd|dD]\}}||5||d}||d|zd|zdddn#1swxYwYdS)Ncdt|tr	|jfStd|zr0r1r2s r
rz?CodecCallbackTest.test_encode_bytes_replacement.<locals>.handleTr3rr4))r'r5)rr6rG)rar5rG)r|r9rG)rr9rG)rr9rG)rr9)rr9rHrr7r8)rcrdrrMrL)r	rrr<r%rs     @r
test_encode_bytes_replacementz/CodecCallbackTest.test_encode_bytes_replacementSs"	A	A	A	A	A	.777	!
	P	PCs++
P
Pll3(899  cjjoo&<szz#&NOOO
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P	P	PsABB#	&B#	cfd}tjd|d}gtjdddgtjdgdRD]\}||	5|t5}||ddddn#1swxYwY|j}|	|j
d
|	|jd|	|j||	|j
ddddn#1swxYwYdS)
Ncdt|tr	|jfStd|zr0r1r2s r
rzCCodecCallbackTest.test_encode_odd_bytes_replacement.<locals>.handlejr3rr4r9)rrrr)rr)rsabrsabcde)rrr!rxzsurrogates not allowed)rcrd	itertoolsproductrr~r*rMr;rLrr"rreason)r	rr<rr=rrs      @r
!test_encode_odd_bytes_replacementz3CodecCallbackTest.test_encode_odd_bytes_replacementis	A	A	A	A	A	.777


7 $f~//

7>>>@@


	G
	GICs66
G
G&&'9::8bLL&6777888888888888888l  A...  !,,,  U333  -EFFF
G
G
G
G
G
G
G
G
G
G
G
G
G
G
G

	G
	Gs7+D3B)D3)B--D30B-1A6D33D7	:D7	c|ttjd|ttjdddS)Nrz
test.dummy)r~rUrcrdrs r
test_badregistercallz&CodecCallbackTest.test_badregistercallsB	
)V%:B???)V%:L"MMMMMrcP|ttjdSr)r~rUrcrrs r
test_badlookupcallz$CodecCallbackTest.test_badlookupcalls#	
)V%899999rcR|ttjddS)Ntest.unknown)r~LookupErrorrcrrs r
test_unknownhandlerz%CodecCallbackTest.test_unknownhandlers%	
+v':NKKKKKrcd}dd|D}tjdtjdD]}dD]}|||dS)N)
r!r2riririPri rr(c,g|]}t|Srr)rrs  r
rz;CodecCallbackTest.test_xmlcharrefvalues.<locals>.<listcomp>s'''SVV'''rtest.xmlcharrefreplace)r'ra)rIr\)r\rcrdrrM)r	vrNrrs     r
test_xmlcharrefvaluesz'CodecCallbackTest.test_xmlcharrefvaluess
GG''Q'''((68WXXX+	#	#CF
#
#c""""
#	#	#rc	|tdjddd}tjd||t
djdd|t
djdd|t
djdd|t
d	jdd|t
d
jdd|t
djddd
}tjd||t
djddt
}tjd|jd|_|	ddddd|_|	ddddd|_|tdjddd|_|	ddddd|_|	ddddd|_|tdjddd|_|	ddddGddt}|ttj
ddddi|ttj
dd||t
tj
dddtjdzidS) Nrr'rUcdSNrrrzs r
baddecodereturn1z=CodecCallbackTest.test_decodehelper.<locals>.baddecodereturn12rztest.baddecodereturn1\rs\x0s\x0ys
\Uffffeeees\uyyyyraw-unicode-escapecdSN)rNrrzs r
baddecodereturn2z=CodecCallbackTest.test_decodehelper.<locals>.baddecodereturn2;rztest.baddecodereturn2test.posreturnrs0z<?>0z<?><?>r!rxrrs\uyyyy0ceZdZdZdS).CodecCallbackTest.test_decodehelper.<locals>.Dctr
ValueErrorr	keys  r
__getitem__z:CodecCallbackTest.test_decodehelper.<locals>.D.__getitem__  rNrrrrurrr
Dro#
!
!
!
!
!rrxr)r~rVr}rcrdrUrrrrL
IndexErrorrrrrrsys
maxunicode)r	rbrhhandlerrxs     r
test_decodehelperz#CodecCallbackTest.test_decodehelpers?	
+w~wOOO			57GHHH)W^W>UVVV)U\3CE\]]])W^5EG^___)X_6FH_```)^%:<LNefff)Z%68LNefff			57GHHH)W^W>UVVV++.???2BCCVLLL2BCCXNNN*how@PQQQ2BCCVLLL2BCCUKKK*how@PQQQ++,@BRSSU[\\\	!	!	!	!	!	!	!	!	
,(=wSWY]R^___*f&;WhPQPQPSPSTTT)V%:GXPTVYVdefVfOghhhhhrc	|tdjddd}tjd||t
djddd}tjd||t
djddt
}tjd|jd	|_|	d
dddd|_|	d
ddd
d|_|td
jddd|_|	d
dddd|_|	d
dddd|_|td
jddd|_Gddt}dD]}|ttj
d|ddi|ttj
d|||t
tj
d|ddidS)Nrr'rUcdSrarrzs r
badencodereturn1z=CodecCallbackTest.test_encodehelper.<locals>.badencodereturn1rcrztest.badencodereturn1cdSrgrrzs r
badencodereturn2z=CodecCallbackTest.test_encodehelper.<locals>.badencodereturn2rirztest.badencodereturn2rjruÿ0s<?>0rks<?><?>rlr!rxs<?>rrceZdZdZdS).CodecCallbackTest.test_encodehelper.<locals>.Dctrrqrss  r
ruz:CodecCallbackTest.test_encodehelper.<locals>.D.__getitem__rvrNrwrrr
rxrryrrx)rrrIrprtrjrzi,)r~rVrMrcrdrUrrrrLr{rrrrr)r	rrr~rxrs      r
test_encodehelperz#CodecCallbackTest.test_encodehelpers	
+v}g~NNN			57GHHH)V]G=TUUU			57GHHH)V]G=TUUU++.???1ABBGLLL1ABBINNN*gng?OPPP1ABBGLLL1ABBFKKK*gng?OPPP	!	!	!	!	!	!	!	!I	Z	ZClF,A63QUW[P\]]]j&*?aaccRRRi)>dTW[YYYY		Z	Zrcbtd}tjd|jgd}|D]~\}}d||z}||5d|_||d}||ddddn#1swxYwYdS)Nr
test.bug36819)r'r()rs܀)rs܀)z
iso-8859-6rabcdrrZabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdxabcdx)	rrcrdrrMrrr}rL)r	r~	testcasesrr)r<decodeds       r
test_decodehelper_bug36819z,CodecCallbackTest.test_decodehelper_bug36819s#C((ow~>>>


	"	8	8HCMM#&&,Es++
8
8 "
,,sO<<  ,777
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8	8	8s#4B##B'	*B'	ct}tjd|jd}gd}|dgz
}tjdkrddg}d|_|D]}||	5d
|_|	t5}||ddddn#1swxYwY|j}|
|jd|
|jd|
|j|dddn#1swxYwYtjdkrd
|_|	t5}tjd
|ddddn#1swxYwY|j}|
|jd|
|jd|
|j|d|_|D]v}||	5d
|_||d}|
||ddddn#1swxYwYwtjdkrvd
|_tjd
|d}|
|dd|
|dt'|dSdS)Nruabcd)r'latin1r|rrrawin32mbcsoemrCrrZrrYirrrr!)rrcrdrr|platformrrrr~r*rMr;rLrr"rcode_page_encoder}r)r	r~r<	encodingsrr=rencodeds        r
test_encodehelper_bug36819z,CodecCallbackTest.test_encodehelper_bug36819"s#%%ow~>>>DDD	m_$	<7""I	4	4Cs++
4
4 "
&&'9::7bLLo666777777777777777l  A...  !,,,  U333
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4<7""GM""#566
E"'UODDD
E
E
E
E
E
E
E
E
E
E
E
E
E
E
E,CSY***SWa(((SZ///	D	DCs++
D
D!#
,,sO<<  !4!4lCCC

D
D
D
D
D
D
D
D
D
D
D
D
D
D
D<7""GM-c5/JJGWQZ..00,???WQZU44444	#"s\*"DB/#D/B33D6B37ADD"	%D"	E>>FFAII	I	cGddt}|tdjdtjdzi|tdjddidS)NceZdZdZdS)1CodecCallbackTest.test_translatehelper.<locals>.Dctrrqrss  r
ruz=CodecCallbackTest.test_translatehelper.<locals>.D.__getitem__UrvrNrwrrr
rxrTryrrxrrzr!r)rr~rr	translater|r}rU)r	rxs  r
test_translatehelperz&CodecCallbackTest.test_translatehelperNsz	!	!	!	!	!	!	!	!	
*f&6s~a?O8PQQQ)V%5bzBBBBBrc	tddtddtddtddi}d	D]}d
|z}||dS)N&z&amp;<z&lt;>z&gt;"z&quot;)r!rrrzabc<def>ghi)rZr)r	rrtexts    r
test_bug828737z CodecCallbackTest.test_bug828737[snHHgHHfHHfHHh	
$	$	$A ?DNN7####	$	$rcrgd}d}tjd||D]M\}}|t5||ddddn#1swxYwYNd}tjd||D]/\}}|||dd0dS)N)r')rs++r()rr)rr)r\u123g)rercbt|tr	d|_dStd|z)Nr䉂rrRrTr5rrUrzs r
	replacingz?CodecCallbackTest.test_mutatingdecodehandler.<locals>.replacingrs6#122
E
$} = CDDDrr4cbt|tr	d|_dStd|z)NrrrRrrzs r
mutatingz>CodecCallbackTest.test_mutatingdecodehandler.<locals>.mutating~s6#122
E 
$} = CDDDrz
test.mutatingr)rcrdr~rUr}rL)r	baddatarrdatars      r
test_mutatingdecodehandlerz,CodecCallbackTest.test_mutatingdecodehandlergs@


	E	E	E	.	::: '	8	8Xt""9--
8
8H&6777
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8	E	E	E	ox888!(	O	OXtT[[?CCXNNNN	O	OsA!!A%	(A%	c^d}tjd||dddd|dddd|dd	dd
|dddd
d
}tjd||dddd|dddddS)Ncht|trd|jdzfStd|z)Nrr!rR)rTr5rrUrzs r
forward_shorter_than_endzPCodecCallbackTest.test_crashing_decode_handler.<locals>.forward_shorter_than_ends;#122
E #)A+.. = CDDDrztest.forward_shorter_than_endsz	utf-16-leu����Øsz	utf-16-besz	utf-32-leu
���ᄑsz	utf-32-becpt|trd|_d|jfSt	d|z)NsrrR)rTr5rrrUrzs r
replace_with_longzICodecCallbackTest.test_crashing_decode_handler.<locals>.replace_with_longs>#122
E(
 #),, = CDDDrztest.replace_with_longrru�ru�)rcrdrLr})r	rrs   r
test_crashing_decode_handlerz.CodecCallbackTest.test_crashing_decode_handlers	E	E	E	+-E	G	G	G	
/66<
>
>.	
	
	

	
/66<
>
>.	
	
	

	
;BB<
>
>*	
	
	

	
;BB<
>
>*	
	
	
	E	E	E	68IJJJNN8%=>>$	
	
	
	
NN8%=>>	
	
	
	
	
rc
tjtjtjtjtjtjtjdtjdg}tttfD]Gfddt}|D]U}||5|
t||dddn#1swxYwYVGfddt}|D]x}||5|
t|f5||dddn#1swxYwYdddn#1swxYwYydS)NrrceZdZZdSACodecCallbackTest.test_fake_error_class.<locals>.FakeUnicodeErrorNrrr	__class__clssr
FakeUnicodeErrorr			rr)r~error_classceZdZZdSrrrsr
rzACodecCallbackTest.test_fake_error_class.<locals>.FakeUnicodeErrorrr)rcrrrrrrrr*r5r?rrr~rUr)r	handlersrr~rs    @r
test_fake_error_classz'CodecCallbackTest.test_fake_error_classs  !*%+ 12200	
&'9;PP	4	4C
 
 
 
 
 
 
 3
 
 
 #
N
N\\'s\CCNN%%i:J:J:L:LMMMNNNNNNNNNNNNNNN
 
 
 
 
 
 
 9
 
 
 #
4
4\\'s\CC44**I7G+HII44 0 0 2 2333444444444444444444444444444444
4	4	4sH3%C$$C(+C( E4=E	E4E!
!E4$E!
%E44E8;E8N)+rrrrOrgrmrrrurrrrrrrrrrrrr
r
rrr+r-r>rDrIrOrQrSrWr^rrrrrrrrrrrr
rGrGPs


UUU4QQQ<NNNIII 7772UUU*7
7
7
r&(((2


@








6


>


<&
&
&
P#
#
#
J888t,,,\*
*
*
XFFFP2


"44484440PPP,GGG2NNN:::
LLL

#
#
#9i9i9iv4Z4Z4Zl888$*5*5*5XCCC
$
$
$!O!O!OH0
0
0
f44444rrG__main__)rc
html.entitiesrWrLr|rjunittestrrr*r$r.r5r2r9r?r<rArDTestCaserGrmainrrr
<module>rs







"
$
$
$
$
$
$
$
$!3"40"4#8!6$9
D4D4D4D4D4)D4D4D4N$zHMOOOOOr