g@:x_&)SSKJrJrJrJrJrJrJrJrJ r J r J r J r SSK r SSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSKJr SSKrSSKr"SS\5r"SS\5r"S S \R<5rS r \"S S \R<55r!"SS\R<5r""SS\R<5r#"SS\R<5r$\%S:Xa\RL"5 gg!\a SrNf=f)) gc_collect bigmemtest_2G cpython_onlycaptured_stdoutcheck_disallow_instantiation is_emscriptenis_wasiwarnings_helper SHORT_TIMEOUT CPUStopwatchrequires_resourceN)Scanner)proxyc(^\rSrSrU4SjrSrU=r$)Sc4>[[TU] U55$N)rsuper __getitem__selfindex __class__s 3/opt/alt/python313/lib64/python3.13/test/test_re.pyr S.__getitem__$U+,,__name__ __module__ __qualname____firstlineno__r__static_attributes__ __classcell__rs@rrr --rrc(^\rSrSrU4SjrSrU=r$)B!c4>[[TU] U55$r)r+rrrs rr B.__getitem__"rrr r!r(s@rr+r+!r)rr+cP\rSrSrSSjrSSjrSSjrSrSrSr S r S r S r S r S rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr S r!S!r"S"r#S#r$S$r%S%r&S&r'S'r(S(r)S)r*S*r+S+r,S,r-S-r.S.r/S/r0S0r1S1r2S2r3S3r4S4r5S5r6S6r7S7r8S8r9S9r:S:r;SS\\?R\?R-S<-rBS=rCS>rDS?rES@rFSArGSBrHSCrISDrJSErKSFrLSGrMSHrNSIrOSJrPSKrQSLrRSMrSSNrTSOrUSPrVSQrWSRrXSSrYSTrZSUr[SVr\SWr]SXr^SYr_SZr`S[raS\rb\cR"\eS]9S^5rfS_rgS`rhSariSbrjScrkSdrlSermSfrnSgroShrpSirq\r"\sSjSk9Sl5rt\r"\sSmSk9Sn5ruSorvSprwSqrxSrrySsrzStr{Sur|Svr}Swr~SxrSyr\GR"\=(d \Sz5S{5rS|rS}r\GR"\=(d \Sz5S~5rSrSrSrSrSrSrSrSrSrSrSrSrSr\"S5S5rSrSrSrSrSrSrSrSrSr\GR"\SLS5S5rSrSrSrSr\GRN"\"\[U[[45(a[X5H up#T"X#5 M gTR [ U5[ U5T5 gr) isinstancetuplelistzipassertIstype)actualexpectxymsgrecursers rr?)ReTests.assertTypedEqual..recurse)sF&5$-00/DAAM0 d6lDL#>r) assertEqual)rr:r;r>r?s` `@rassertTypedEqualReTests.assertTypedEqual's" - ? rcUR[R5n[R"U5 SSS5 UR US9 WR nUR URU5 UbUR URU5 SSS5 g!,(df  Nn=f!,(df  g=f)Npattern) assertRaisesre PatternErrorcompilesubTest exceptionrAr>pos)rrFerrmsgrMcmerrs rcheckPatternErrorReTests.checkPatternError1s   r /2 JJw 0 \\'\ *,,C   SWWf -  #. + *0 / * *sBAB0 B-0 B>cUR[R5n[R"XU5 SSS5 UR XS9 WR nUR URU5 UbUR URU5 SSS5 g!,(df  Nn=f!,(df  g=f)N)rFrepl) rGrHrIsubrKrLrAr>rM)rrFrTstringrNrMrOrPs rcheckTemplateErrorReTests.checkTemplateError:s   r /2 FF7& )0 \\'\ 5,,C   SWWf -  #. 6 50 / 5 5sB AB1 B.1 B?cJ[R[RLdegr)rHerrorrIrs r test_error_is_PatternError_alias(ReTests.test_error_is_PatternError_aliasCsxx2??***rc[S5n[R"SU5nUR[5 UR S5 SSS5 [ U5 A[5 UR S5 g!,(df  N6=f)Nxasxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) bytearrayrHfinditerrG BufferErrorextendr6r)rbits rtest_keep_bufferReTests.test_keep_bufferFs^ dO [[q !   { + HHX , R    , +s A:: BcSn[R"S5n[U5nURUR S5UR S55 g)NQabbbcRzab+c)rHrJrrAfindall)rsr<r=s r test_weakrefReTests.test_weakrefQs@  JJv  !H 9-qyy/CDrcUR[R"SS5RS5S5 UR[R"SS5R5S5 UR[R"SS5RS5S5 UR[R"SS5R5S5 UR [R"SS55 UR[R "S S 5RS5S5 UR[R "S S 5R5S5 UR[R "SS 5RS5S 5 UR[R "SS 5R5S 5 UR [R "S S 55 g)Nx*axxrrrzx+r<aaaza*xxxxxxarrua+)rArHsearchspan assertIsNonematchr[s rtest_search_star_plusReTests.test_search_star_plusWs\ 4/44Q7@ 4/446? 4/44Q7@ 4/446? "))C/0 $.33A6? $.335v> $/44Q7@ $/446? "((4/0rcUR[R"SS5R5S5 UR[R"SS5R5S5 UR[R"SS5R5S5 UR[R"SS5R5S5 UR[R"SS 5R5S5 UR[R"SS 5R5S5 UR[R"S S 5R5S 5 UR[R"S S5R5S 5 UR[R"S S5R5S 5 g)zG /37<<>G /37<<>GrcR[URS55n[US-5$)Nrrt)intgroupstr)rmatchobj int_values rbump_numReTests.bump_numts$q)* 9q=!!rc b ^UR[R"SSS5S5 UR[R"S[S5[S55S5 UR[R"SSS5S5 UR[R"S[ S5[ S55S5 UR[R"S[ S5[ S55S5 UR[R"S[ S5[ S55S5 S H.nUR[R"USS U-5S5 M0 UR[R"S S S 5S5 UR[R"SURS5S5 UR[5nUR[R"SURSS5S5 SSS5 URWR[5 UR[R"SURSSS9S5 UR[R"SSS 5S5 UR[R"SSS 5S5 SmUR[R"STS 5S5 UR[R"STRSS5S 5T5 UR[R"SU4SjS 5T5 UR[R"SS S5S!5 UR[R"SS"S5S!5 UR[R"S#S$S5S!5 UR[R"S#S%S5S!5 UR[R"S&S'S5S!5 UR[R"SS(S5S)5 UR[R"SS)S5S)5 UR[R"SS)S5[S*5[S+5-[S,5-[S-5-[S.5-[S/5-[S05-5 S1HsnURU5 UR![R"5 UR[R"SSU-S5SU-5 SSS5 SSS5 Mu UR[R"S2S3S45S55 g!,(df  GNr=f!,(df  NU=f!,(df  M=f)6Nr=rxyzxazyr`xyzsxazàuаu𝒜zx%sz(?i)b+r< bbbb BBBBx x\d+z08.2 -2 23x99yz9.3 -3 24x100yruz 9.3 -3 23x99ycount.cg)N\nr ms r+ReTests.test_basic_re_sub..surr z\1\1z(.)xx\\\c>T$rr )rrls rrrsr(?Px)z \g\gxxxxz \g\g<1> (?Px)z\g\gz \g<1>\g<1>z()xz \g<0>\g<0>z\t\n\v\r\f\a\bz  ,cdehijklmopqsuwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz^\s*XtestXtest)rBrHrUrr+ra memoryviewrAr assertWarnsDeprecationWarningfilename__file__replacechrrKrGrI)rr=wrrls @rtest_basic_re_subReTests.test_basic_re_subxs bffS#u5u= bffS!C&!E(;UC bffT48&A bffT1T7AfI>G bffT9T?IfNO %5s;=MN %5s;a&R.R0R8R@QGAN Q?Aa&&r7$$RVVC3%?J8!@ f5w?=2 1687!s04U<0 V/V?V< V  V V V. cTUR[R"SSS5S5 g)Nrz \g<1>\g<1>\brzxxxxrArHrUr[s rtest_bug_449964ReTests.test_bug_449964s"  E# %rcDUR[R"SSS5S5 UR[R"SSS5S5 UR[R"SSS5S5 UR[R"SSS5S5 g)Nz\r\nrz abc def zabc def z rrr[s rtest_bug_449000ReTests.test_bug_449000s 0@A% ' /?@% ' /?@% ' .>?% 'rc[R"S5nUR[[RUS[R 5 UR[[R US[R 5 UR[[RUS[R 5 UR[[RU[R 5 g)NrA)rHrJrG ValueErrorr~Ir{rkrrFs r test_bug_1661ReTests.test_bug_1661s**S/ *bhhbddC *bii#rttD *bjj'3E *bjj'244@rc0[R"S5 g)Nz(?P)(?(quote)))rHrJr[s r test_bug_3629ReTests.test_bug_3629s *+rcUR[R"SSS5S5 UR[R"SSS5S5 UR[R"SSS5S5 UR[R"SSS5S5 UR[R"SS S5S 5 UR[R"SS S5S 5 UR[R"SS S5S5 UR[R"SSS5S5 UR[R"SSS5S5 UR[R"SSS5S5 UR[R"SSS5S5 UR[R"SSS5S5 UR[R"SSS5S5 UR[R"SSS5S 5 UR[R"SSS5S5 URSSSSS5 URSSSSS5 URSSSS S!5 URSS"SS#S!5 URSS$SS%S!5 URSS&SS'S!5 URSS(SS)S!5 URSS*SS S!5 URSS+SS,S!5 URSS-SS.S!5 URSS/SS'S!5 URSS0SS'S!5 URSS1SS)S!5 URSS2SS3S!5 URSS"S4S#S!5 UR[R"S5S&S5S5 UR[R"S6S/S75S85 UR[R"S6S0S75S95 g):Nr<\0z\000z\001z\0088z\009z9z\111rz\117Oz\377ÿz\1111I1z\00z\07\08z\09z\0azaz\400z0octal escape value \400 outside of range 0-0o377rz\777z0octal escape value \777 outside of range 0-0o377z\1zinvalid group reference 1rtz\8zinvalid group reference 8z\9zinvalid group reference 9z\11zinvalid group reference 11z\18zinvalid group reference 18z\1az\90zinvalid group reference 90z\99zinvalid group reference 99z\118z\11az\181z\800zinvalid group reference 80z(((((((((((x)))))))))))z((((((((((y))))))))))(.)rxz8xza)rArHrUrWr[s r test_sub_template_numeric_escape(ReTests.test_sub_template_numeric_escapes UC0$7 Wc2F; Wc2F; Wc2J? Wc2J? Wc2F; Wc2F; Wc2F; Xs3W= Xs3\B VS16: VS16: VS1:> VS1:> VS1:> Wc!123 5 Wc!123 5 UC1LaP UC1LaP UC1LaP VS2NPQR VS2NPQR VS2MqQ VS2NPQR VS2NPQR Wc3OQRS Wc3OQRS Wc3OQRS Wc3OQRS UB0KQO  963GM  :GUK   :GUK rc JUR[R"SSS5S5 UR[5nUR[R"SSSS5S5 SSS5 URWR [ 5 UR[R"SSSSS9S5 UR[S5 [R"SSSSSS9 SSS5 UR[S 5 [R"SSSSS S S 9 SSS5 UR[S 5 [R"SSSSS S 5 SSS5 g!,(df  N=f!,(df  N=f!,(df  Nk=f!,(df  g=f) Nrreaaaaabbbbbrtbaaaarz0sub\(\) got multiple values for argument 'count'z0sub\(\) got multiple values for argument 'flags'rflagsz?sub\(\) takes from 3 to 5 positional arguments but 6 were given) rArHrUrrrrassertRaisesRegex TypeErrorrrs rtest_qualified_re_subReTests.test_qualified_re_subsN S'2G<   0 1Q   RVVCgq97 C2 X. S';WE  # #ICE FF3Waq 1E # #ICE FF3Wa! 4E # #I FF3WaA .2 1 EEEEs/*E! E2F<F! E/2 F F F"c UR[5n[R"SSS[R5nSSS5 UR W[R"SSS[ [R5S95 UR [WR5S5 UR UR[5 UR[5n[R"SSS[R5nSSS5 UR U[R"SSS[ [R5S95 UR [UR5S5 UR UR[5 UR[5n[R"S S [R5nSSS5 UR U[R"S S [ [R5S 95 UR [UR5S 5 UR UR[5 g!,(df  GN!=f!,(df  GNk=f!,(df  N=f) Nrrerrz('count' is passed as positional argumentb*r<r::a:b::cmaxsplitz+'maxsplit' is passed as positional argument) rrrHrUrrArrwarningrrsubnsplit)rrresults rtest_misuse_flagsReTests.test_misuse_flagss   0 1QVVCgrtt4F2 S'RTT!KL QYYC E X.   0 1QWWT3rtt4F2 sERTT!KL QYYC E X.   0 1QXXc9bdd3F2 #y3rtt9!MN QYYF H X.#2 1 2 1 2 1s#(I(I*&'I< I'* I9< J cTUR[R"SSS5S5 g)Nz (\S)\s+(\S)z\1 \2z hello therez hello thererr[s rtest_bug_114660ReTests.test_bug_114660s" .I& (rc[R"S5 [R"S5 [R"S5 [R"S5 [R"S5 [R"S5 SRS[S S 555nS U-nUR [R "US 5R 5S 5 g)Nz(?Px)(?P=a)(?(a)y)z(?Px)(?P=a1)(?(a1)y)z(?Px)\1(?(1)y)s(?Px)(?P=a1)(?(a1)y)u(?P<µ>x)(?P=µ)(?(µ)y)uf(?P<𝔘𝔫𝔦𝔠𝔬𝔡𝔢>x)(?P=𝔘𝔫𝔦𝔠𝔬𝔡𝔢)(?(𝔘𝔫𝔦𝔠𝔬𝔡𝔢)y)|c3.# UH nSX4-v M g7fz x(?P%x)yNr .0is r /ReTests.test_symbolic_groups..$K9JA!/9Jrtz(?:%s)(?(200)z|t)xc8yzr)rHrJjoinrangerAr~r|rpats rtest_symbolic_groupsReTests.test_symbolic_groupss +, ./ () ./ -. {|hhKq'9JKK!C' #w/446?rc$URSS5 URSSS5 URSS5 URSS S 5 URS S S 5 URSS S 5 URSSS 5 URSS5 URSS5 URSSS 5 URSSS 5 URSSS 5 URSS S 5 URSS S 5 URSSS 5 URSSS 5 URSS S5 URS S S5 URS!SS5 URS"S#S5 URS$S%S5 URS&SS5 URS'S(S 5 URS)S(S 5 URS*S(S5 URS+S,S 5 URS-S,S 5 URS.S,S5 g)/Nz(?P)(?P)z6redefinition of group name 'a' as group 2; was group 1z (?P(?P=a))cannot refer to an open grouprz(?Pxy)zunknown extension ?Pxz (?P)(?P=amissing ), unterminated namerz(?P=missing group namez(?P=)z(?P=1)zbad character in group name '1'z(?P=a)zunknown group name 'a'z(?P=a1)zunknown group name 'a1'z(?P=a.)z bad character in group name 'a.'z(?P<)missing >, unterminated namez(?P)z(?P<1>)z(?P)z(?(ruz(?())z(?(a))z(?(-1)) bad character in group name '-1'z(?(1a))z bad character in group name '1a'z(?(a.))u (?P<©>x) bad character in group name '©'u(?P=©)u(?(©)y)s (?P<µ>x)&bad character in group name '\xc2\xb5's(?P=µ)s(?(µ)y)rQr[s rtest_symbolic_groups_errors#ReTests.test_symbolic_groups_errors(s( 0 - . /> D y*AB 0NPRS w(B z+LaP {,NPQR v';Q? x)=qA y*BAF z+MqQ z+MqQ z+MqQ {,NPQR y*LaP z+MqQ 1H! M /H! M 0H! Mrc(UR[R"SSS5S5 UR[R"SSS5S5 UR[R"SSS5S5 UR[R"S S S5S5 UR[R"S S S5S5 S RS[ SS555nUR[R"USS5S5 g)Nz(?Px)|(?Py)z\grr\2s (?Px)s\gxxu (?P<µ>x)u\g<µ>u#(?P<𝔘𝔫𝔦𝔠𝔬𝔡𝔢>x)u \g<𝔘𝔫𝔦𝔠𝔬𝔡𝔢>rc3.# UH nSX4-v M g7frr rs rr -ReTests.test_symbolic_refs..Tr r rtrz\g<200> xc8yzxc8yc8zc8)rArHrUrrrs rtest_symbolic_refsReTests.test_symbolic_refsLs  3XtDbI  3UDA2F  j%@%H  Y=tD  EGjlpqswxhhKq'9JKK Z=wGrc^URSSSSS5 URSSSSS5 URSSSS S 5 URSS SS S5 URSS SSS5 URSSSSS5 URSSSSS5 URSSSSS5 UR[S5 [R"SSS5 SSS5 URSSSSS5 URSSSSS5 URSSSSS5 URSSSSS5 URSSSS S5 URS!S"S#S$S5 URSS%SS&S5 URSS'SS(S5 URSS)SS*S5 g!,(df  N=f)+Nrz\gz!bad character in group name 'a a'z\g<>z\g<1a1>z!bad character in group name '1a1'z\g<2>invalid group reference 2r%rtzunknown group name 'ab'z\gz\g<-1>rz\g<+1> bad character in group name '+1'z()()()()()()()()()()z\g<1_0>!bad character in group name '1_0'z\g< 1 >!bad character in group name ' 1 'u\g<©>rs(?Px)s\g<µ>r&r u\g<㊀>!bad character in group name '㊀'u\g<¹> bad character in group name '¹'u\g<१>!bad character in group name '१')rWr IndexErrorrHrUr[s rtest_symbolic_refs_errors!ReTests.test_symbolic_refs_errorsWs  GT > C  FD 4a 9  E4aH  J CQ H  GT 4a 9  J CQ H  Hd ;Q @  E4 ;Q @  # #J0I J FF:y$ /K  It BA G  It BA G T CQ H  J CQ H  It BA G  -=u I1 N  J CQ H  It BA G  J CQ H%K Js ?F F,c :UR[R"SSS5S5 UR[R"SSS5S5 UR[R"SSS5S5 UR[R"S SS5S 5 UR[5nUR[R"S SSS 5S 5 SSS5 URWR [ 5 UR[R"S SSS S 9S 5 UR[S5 [R"SSSSSS 9 SSS5 UR[S5 [R"SSSSSSS9 SSS5 UR[S5 [R"SSSSSS5 SSS5 g!,(df  N=f!,(df  N=f!,(df  Nk=f!,(df  g=f)Nrr<r)rrzb+)zx BBBBrtr)rrr)xxxyxzxrr)xxxyzrrz1subn\(\) got multiple values for argument 'count'rrerrtz1subn\(\) got multiple values for argument 'flags'rrz@subn\(\) takes from 3 to 5 positional arguments but 6 were given) rArHrrrrrrrrs r test_re_subnReTests.test_re_subn|s 3  @  ! !"((5&"9"9 ;  ! !"((7F";"L N /:GA!%&1-F   RXXc62Rr14E F   RXXdF3b!] C   RXXff5 #q#q$: < : (I68KL &)4; = )Y74 6 *i8+ , .)</ 16 7 : ; X Y _ `  MC #&%%bhhsI&>I'&  < = 7 8 2 3 3 4  MC #&%%bhhsI&>I'&  '&'&s(M%(M, M) , M; c :UR[5nUR[R"SSS5/SQ5 SSS5 URWR [ 5 UR[R"SSSS9/SQ5 UR[R"SSSS9/SQ5 UR[R"SSSS9/S Q5 UR[R"S SSS9/S Q5 UR[R"S SSS9/S Q5 UR[S 5 [R"SSSSS9 SSS5 UR[S5 [R"SSSSSS9 SSS5 UR[S5 [R"SSSSS5 SSS5 g!,(df  GN=f!,(df  N=f!,(df  Nk=f!,(df  g=f)Nrrr)rrb::crza:b:c:d)rrezc:dz(:))rrrrrOr?rG)rrrrza:b::cz5split\(\) got multiple values for argument 'maxsplit'z2split\(\) got multiple values for argument 'flags'rrzAsplit\(\) takes from 2 to 4 positional arguments but 5 were given) rrrArHrrrrrrs rtest_qualified_re_splitReTests.test_qualified_re_splits   0 1Q   RXXc9a8:K L2 X. #y1=?PQ #y1=?PQ %Q?4 6 &)a@4 6 &)a@4 6 # #IHJ HHS)Q 3J # #IEG HHS)Q 3G # #I HHS)Q1 -%2 1JJGGs/+GG*=G;4H  G'* G8; H  Hc UR[R"SS5/5 S[S54H~nUR [R"SU5/SQ5 UR [R"SU5/SQ5 UR [R"SU5/SQ5 M S[ S5[ S5[S54H~nUR [R"S U5/S Q5 UR [R"S U5/S Q5 UR [R"S U5/S Q5 M SHnUS-nUS-nSU<SU<SU<S3nUR[R"SU-U5X#U/5 UR[R"SU-U5X#U/5 UR[R"SU<SU<S3U5US4X"4X#4/5 M g)Nr>r a:b::c:::drr@z:::r?z(:)(:*)))rr)rr)rr@s a:b::c:::drD)rArFs:::rEs(:)(:*)))rAr)rArA)rArFrrrurrerdz%s+z(%s+)(z)(z*)r)rArHrkrrBr+rar)rrVr<rrws rtest_re_findallReTests.test_re_findalls D%0"5"AlO3F  ! !"**T6":"4 6  ! !"**VV"<"4 6  ! !"**Y"?"F H 4%a &6 -8P!-02F  ! !"**UF";"7 9  ! !"**Wf"="7 9  ! !"**Z"@"L N 22AQBa%C%&C0F   RZZ 6:QCL I   RZZ! Va)|(?Pb))(?Pc)?rrurNNa1b2c3)NreN)rNr) rrArHr~groupsrr+rarrJ)rrVrrs r test_re_matchReTests.test_re_matchs1S6kF   RXXc6299;R @   RXXeV4;;=v F   RXXeV4::1=s C   RXXeV4::1=s C   RXXeV4::1a@* M " AdGYt_j6FFF   RXXdF3:: H   RXXff5;;A> E   RXXff5;;A> E   RXXff5;;AqA< P G 2A   RXXa^224b 9   RXXfqj!4;;=t D   RXXfqj!4::1=q A   RXXfqj!4::1=q A   RXXfqj!4::1a@1& I 2jj) 3..02HI 3..02HI 4//13HI 4//13HI 4//35HIjj<= 3--aA68IJ 3--dD$?* , 4..q$:.IndexicXlgrvalue)rrrs r__init__*ReTests.test_group..Index.__init__s" rcUR$rrqr[s r __index__+ReTests.test_group..Index.__index__!s zz!rrqN)r"r#r$r%rsrvr&r rrIndexros  # "rrxz(a)(b)rrrtrrur<rrer)rHr~rArrGr5)rrxrs r test_groupReTests.test_groups8 " " HHXt $ D) T* S) q*C0 *aggr2 *aggq1 *aggq$w7 *agguQW~> *aggs3 A 3 q584jArc[R"S5nURS5nURUSS5 URUSS5 URUSS5 URSR U5S5 URUSS5 URUS S5 URUS S5 URUS S5 UR [ S 5 US  SSS5 UR [ S 5 US SSS5 UR [ S 5 US SSS5 UR [ S 5 US SSS5 UR [ S 5 US SSS5 UR [ S 5 US SSS5 UR [ S 5 SR U5 SSS5 URS5nURUSS5 URUSS5 URUSS5 URSR U5S5 URUSS5 URUS S5 URUS S5 URUS S5 UR[5 S US'SSS5 UR[[U5 g!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  N=f)Nrerrgrhriza1={a1} b2={b2} c3={c3}za1=a b2=None c3=Nonerrtrruz no such grouprryrr)rza1={a2}rcrza1=a b2=None c3=c) rHrJr~rA format_maprr5rGrlen)rrrs rtest_match_getitemReTests.test_match_getitem2sjj<= IIcN 4#& 4$' 4$' 2==a@BXY 1s# 1s# 1t$ 1t$  # #J @ cFA  # #J @ bEA  # #J @ aDA  # #J @ dGA  # #J @ dGA  # #J @ fIA  # #J @   #A IIdO 4#& 4$' 4#& 2==a@BUV 1t$ 1s# 1t$ 1s#  y )AaD* )S!,=A @ @ @ @ @ @ @ @ @ @ @ @ @* )s`2K(K::L LL0&M M>M&( K7: L  L L-0 L? M M#& M4cfUR[R"SS5R5S5 S[ S54H8nUR[R"SU5R5S5 M: S[ S5[ S5[S54H8nUR[R"SU5R5S5 M: SHGup#U<S X#-<3nUR[R"XBU-5R5S5 MI UR[R"S S 5R5S 5 UR[R"S S 5R5S 5 UR[R"SS5R5S5 UR[R"SS5R5S 5 UR[R"SS5R5S5 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS5R5S5 UR[R"SS5R5S5 UR[R"SS5R5S5 UR[R"S5RSSSS9R5S5 UR[R"S 5RSSSS9R5S5 UR[R"S 5RSSSS9R5S5 g) Nrrrza|abrabsa|ab)uàßuабu𝒜𝒞rz.*?$rryz.*?za.*?babbaxxbrrrzzabc$zabc zabc\Zz(?m)abc$z ab(?=c)cdabcdz ab(?<=b)cdz (?=a|ab)abrdrtrurMendposrs) rArH fullmatchr|rr+rarr}rJ)rrVrrers rtest_re_fullmatchReTests.test_re_fullmatch^s dC0557@AdGmF   R\\'6:??A6 J$QuXy'7E9JJF   R\\(F;@@BF KKFDAqu%A   R\\!U388:F CG gu5::G ",,ud34 ",,w89 ",,x9: ",,{G<= lF;@@BFK mV<AACVL mT:??A6J  JJu  ' 'Aa ' @ E E G Q  JJw  ) )&a ) B G G I6 S  JJv  ( (Qq ( A F F H& Rrc8UR[R"SS5R5S5 UR[R"SS5R5S5 UR [R"SS55 UR [R"SS55 UR[R"SS 5R5S 5 UR[R"SS 5R5S 5 UR[R"S S 5R5S 5 UR[R"S S5R5S5 [R "S5nURURS5R5S5 URURS5R5S5 UR URS55 UR URS55 SR S[SS555nSU-nUR[R"US5R5S5 g)Nz^(\()?([^()]+)(?(1)\))$r`)rVrrNrza)z(az^(?:(a)|c)((?(1)b|d))$rrrecd)NrUz^(?:(a)|c)((?(1)|d))$r[z(?Pa)(?Pb)?((?(g2)c|d))rrrerad)rNrUabdrcrc3.# UH nSX4-v M g7frr rs rr 2ReTests.test_re_groupref_exists..r r rtrz(?:%s)(?(200)z)rr) rArHr~rjr}rJrrr|)rprs rtest_re_groupref_existsReTests.test_re_groupref_exists|s ")(?(0)a|b)zbad group numberrz ()(?(-1)a|b)rrz ()(?(+1)a|b)r/z()()()()()()()()()()(?(1_0)a|b)r0z ()(?( 1 )a|b)r1u ()(?(㊀)a|b)r2u ()(?(¹)a|b)r3u ()(?(१)a|b)r4z()(?(1rz()(?(1)a"missing ), unterminated subpatternrz ()(?(1)a|bz ()(?(1)a|b|cz/conditional backref with more than two branchesz ()(?(1)a|b|c)z ()(?(2)a)r.r!r[s rtest_re_groupref_exists_errors&ReTests.test_re_groupref_exists_errorss@ 24FK A1 F A1 F 8BB H /BA G /BA G A1 F /BA G y=q B {CQ H }CQ H  ./1 3 / ./1 3 |:A ?rc[S5H4nURUS9 [R"SU-5 SSS5 M6 g!,(df  MH=f)N)codez()(?(1)\x%02x?))rrKrHrJrr s r&test_re_groupref_exists_validation_bug.ReTests.test_re_groupref_exists_validation_bugs?sA1% -12&%%%s A A cxSSKJn URSSU-SSU-S5 URSU-SU-S 5 g) Nr) MAXGROUPSz()z\g<%s>rzinvalid group reference %druz(?P)(?(%d))r) re._constantsrrWrQ)rrs rtest_re_groupref_overflow!ReTests.test_re_groupref_overflowsJ+ i)&;T EEG# % "7=DDF$ & "((#7>? "((#7>? "4d;BBD# % "5s;BBD% ' z+JANrctUR[R"SS5R5SSS.5 g)N#(?Pfirst) (?Psecond) first secondfirstsecond)rr)rArHr~ groupdictr[s rtest_groupdictReTests.test_groupdicts0 "G"022;)+")H= ?rcUR[R"SS5RS5S5 UR[R"SS5RS5S5 g) Nrrz\2 \1 \g \gzsecond first second firstz#(?Pfirst)|(?Psecond)rz \2 \g )rArHr~expandr[s r test_expandReTests.test_expands^ "G"02#)6*G#H4 6 "G")+#)6*:#; rc. UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS5R S5S5 UR[R"S S5R S5S5 UR[R"S S5R S5S5 UR[R"S S5R S5S5 UR[R"S S5R S5S5 UR[R"S S5R S5S5 UR[R"SS5R S5S5 UR[R"S S5R S5S5 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR [R"SS55 UR [R"SS55 UR [R"SS55 UR [R"SS55 UR [R"SS55 UR [R"SS55 UR [R"SS55 UR [R"SS55 UR [R"SS55 UR[R"SS55 UR [R"SS55 UR SSS 5 g)!Nz ^(\w){1}$rz ^(\w){1}?$z ^(\w){1,2}$z ^(\w){1,2}?$z ^(\w){3}$rtrz ^(\w){1,3}$z ^(\w){1,4}$z ^(\w){3,4}?$z ^(\w){3}?$z ^(\w){1,3}?$z ^(\w){1,4}?$z^x{1}$rwz^x{1}?$z^x{1,2}$z ^x{1,2}?$z^x{3}$z^x{1,3}$z^x{3,3}$z^x{1,4}$z ^x{3,4}?$z^x{3}?$z ^x{1,3}?$z ^x{1,4}?$z^x{}$x{}zx{2,1}z"min repeat greater than max repeatr)r}rHr~rAr assertTruerQr[s rtest_repeat_minmaxReTests.test_repeat_minmaxs "((<78 "((=%89 "((>59: "((?E:; ,6<>qA3G .%8>>qA3G /59??BCH -7==a@#F /59??BCH /59??BCH /59??BCH "((9e45 "((:u56 "((;67 "((<78 E23 e45 e45 e45 u56 U34 u56 u56 u56 "((8U34 512 yCQ HrcUR[R"S5RS5 UR[R"S5R[R [R -5 UR[R"S5RS5 UR[R"S5R05 UR[R"S5RSSS.5 UR[R"SS5RS5 UR[R"SS5RS5 UR[R"SS5RS5 UR[R"SS5RS 5 UR[R"SS5R5 [R"S5nUR[UR5S S /5 URURS S5 UR!["5 SURS 'SSS5 URURS S5 g!,(df  N.=f) Nz (?i)(a)(b)rz(?i)(?Pa)(?Pb)rt)rotherr`rr)rrrr)rArHrJrFrrUrj groupindexr~rMrrVregsrsortedrGr)rrs r test_getattrReTests.test_getattrs L199<H L177E L188!< L1<cUR[R"SS5RS5S5 UR[R"SS5RS5S5 UR[R"SS[R5RS5S5 UR[R"SS[R5RS5S5 UR[R"SS[R 5RS 5S 5 UR[R"S S [R 5RS 5S 5 UR [R"S S[R 55 UR[R"S S 5RS5S5 UR[R"SS5RS5S5 UR[R"S S [R5RS5S5 UR[R"SS[R5RS5S5 UR[R"SS[R 5RS 5S5 UR[R"SS[R 5RS 5S5 UR [R"SS[R 55 UR[R"SS5RS 5S5 UR[R"SS5RS 5S5 UR[R"SS[R5RS 5S5 UR[R"SS[R5RS 5S5 g)Nz\b(b.)\bzabcd abc bcd bxrtbxz\B(b.)\Bzabc bcd bc abxdz^abc$z abc rrz ^\Aabc\Z$s\b(b.)\bsabcd abc bcd bxsbxs\B(b.)\Bsabc bcd bc abxds^abc$s abc abcs ^\Aabc\Z$z \d\D\w\W\s\Sz1aa! as \d\D\w\W\s\Ss1aa! a)rArHr{rASCIIMr}LOCALEr[s rtest_special_escapesReTests.test_special_escapess ;#466;eAh F ;#466;eAh F ;#4bhh@@Ea$ P ;#4bhh@@Ea$ P 8Y=CCAFN <=CCAFN "))L)RTTBC <#577q9 Nrc2URSSS5 UR[R"SS5R 5S5 UR [R"SS55 UR[R"SS5R 5S5 UR[R"SS 5R 5S 5 UR [R"SS 55 UR[R"S S 5R 5S 5 UR [R"S S 55 UR[R"SS5R 5S5 UR [R"SS 55 [R "5 SHOnURU5 UR[R[RSU-5 SSS5 MQ SHOnURU5 UR[R[RSU-5 SSS5 MQ g!,(df  M=f!,(df  Mu=f)Nrzbad escape (end of pattern)rz\(rV)rz[\]]][z[a\-c]-rez[\^a]+za^!ceghijklmopqyzCEFGHIJKLMNOPQRTVXYz\%c$ceghijklmopqyzABCEFGHIJKLMNOPQRTVXYZz[\%c]) rQrArHr~rr}purgerKrGrIrJ)rrs rtest_other_escapesReTests.test_other_escapes<s t%BAF %-335s; "((5#./ %.446= '3/557= "((7C01 )S17793? "((9c23 )T288:DA "((9c23  4Aa!!"//2::vzJ!58Aa!!"//2::x!|L!8!!s 3I553J5 J  J cUR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"S S 55 UR[R"S S 55 UR S S S5 UR SS S5 UR SSS5 UR SSS5 UR SSS5 UR SSS5 UR SS S5 UR SS S5 UR SSS5 UR SSS5 UR SSS5 UR SS S!5 UR S"S S5 UR S#S$S!5 UR S%S$S5 UR S&S'S!5 UR S(S'S5 g))Nz\N{LESS-THAN SIGN}z \N{SNAKE}u🐍zW\N{ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM}uﯹz*[\N{LESS-THAN SIGN}-\N{GREATER-THAN SIGN}]=;z\Nz missing {rz[\N]ruz\N{zmissing character namez[\N{rz\N{}z[\N{}]z\NSNAKE}z [\NSNAKE}]z\N{SNAKEzmissing }, unterminated namez [\N{SNAKE]z [\N{SNAKE]}z!undefined character name 'SNAKE]'rtz\N{SPAM}zundefined character name 'SPAM'rz [\N{SPAM}]z\N{KEYCAP NUMBER SIGN}z-undefined character name 'KEYCAP NUMBER SIGN'z[\N{KEYCAP NUMBER SIGN}]s\N{LESS-THAN SIGN}z bad escape \Ns[\N{LESS-THAN SIGN}])rrHr~r}rQr[s rtest_named_unicode_escapes"ReTests.test_named_unicode_escapesOs !6<= !6<= "((#8#>? |<= "Q!)+ , !N!$& ' "((#P#&( ) uk15 w Q7 v'?C w(@!D w(@!D y*BAF {K; }k1= {=q B }=q B ~BA G {@! E }@! E 8KQ P :KQ P 57GK 79I1Mrc L)UR[R"SS5RS5S5 UR[R"SS[R5RS5S5 UR[R"SS5RS5S5 UR[R"SS[R 5RS5S5 UR[R"SS5RS5S5 UR [R"SS[R55 UR[R"SS 55 UR[R"SS [R55 UR[R"S S 55 UR[R"S S [R 55 UR[R"SS 55 UR [R"SS [R55 UR[R"SS 55 UR[R"SS [R55 UR[R"S S55 UR[R"S S[R 55 UR[R"SS55 UR [R"SS[R55 UR [R"SS55 UR [R"SS[R55 UR [R"S S55 UR [R"S S[R 55 UR [R"SS55 UR [R"SS[R55 UR [R"SS55 UR [R"SS[R55 UR [R"S S55 UR [R"S S[R 55 UR [R"SS 55 UR [R"SS [R55 UR [R"SS 55 UR [R"SS [R 55 UR [R"SS 55 UR[R"SS [R55 UR [R"SS 55 UR [R"SS [R55 UR [R"SS55 UR [R"SS[R 55 UR [R"SS55 UR[R"SS[R55 UR[R"SS55 UR[R"SS[R55 UR[R"SS55 UR[R"SS[R 55 UR[R"SS55 UR[R"SS[R55 UR[R"SS55 UR[R"SS[R55 UR[R"SS55 UR[R"SS[R 55 UR[R"SS55 UR[R"SS[R55 UR[R"SS55 UR[R"SS[R 55 UR[R"SS55 UR [R"SS[R55 UR[R"SS55 UR[R"SS[R55 UR[R"SS55 UR[R"SS[R 55 UR[R"SS55 UR [R"SS[R55 UR[R"SS5R5S5 UR[R"SS[R5R5S5 UR[R"SS5R5S5 UR[R"SS[R 5R5S5 UR[R"SS5R5S5 UR[R"SS[R5R5S5 UR [R"SS55 UR [R"SS[R55 UR [R"SS55 UR [R"SS[R 55 UR [R"SS55 UR[R"SS[R55 UR [R"SS55 UR [R"SS[R55 UR [R"S S55 UR [R"S S[R 55 UR [R"SS55 UR[R"SS[R55 UR [R"SS!55 UR [R"SS![R55 UR [R"SS"55 UR [R"SS"[R 55 UR [R"SS!55 UR [R"SS![R55 UR [R"SS"55 UR [R"SS"[R 55 UR[[R"SS#55S$5 UR[[R"SS#[R55S$5 UR[[R"SS%55S$5 UR[[R"SS%[R 55S$5 UR[[R"SS#55S&5 UR[[R"SS#[R55S&5 UR[[R"SS%55S&5 UR[[R"SS%[R 55S&5 UR[[R"SS'55S&5 UR[[R"SS'[R55S&5 UR[[R"SS(55S&5 UR[[R"SS([R 55S&5 UR[[R"SS)55S&5 UR[[R"SS)[R55S&5 UR[[R"SS*55S&5 UR[[R"SS*[R 55S&5 UR[[R"SS'55S$5 UR[[R"SS'[R55S$5 UR[[R"SS(55S$5 UR[[R"SS([R 55S$5 g)+Nz \b(abc)\brrts \b(abc)\bru \b(ьюя)\buьюяz.\bza=s.\bsa=uя=z=as=au=яrruюяz=-s=-z.\Bs.\BrIs\bz.+\bs.+\b\Brtrts\Brrz.+\Bs.+\Brrrrr`rr z s ) rArHr{rrrr}rr~rr|rrkr[s rtest_word_boundariesReTests.test_word_boundariesws  <7==a@%H <AGGJER =&9??BFK =&"))DJJ1MvV ?H=CCAFQ "))OXrxxHI ./ rxx89 %01 %;< /0 "((65"((;< ./ rxx89 %01 %;< /0 "((65"((;< "((6401 "((64:; "((7E23 "((7E299=> "((6623 "((66288<= "((6401 "((64:; "((7E23 "((7E299=> "((6401 "((64:; "((7E23 "((7E299=> "((6512 9: "((6401 "((64:; "((7E23 "((7E299=> "((6512 9: ./ rxx89 %01 %;< 01 :; ./ rxx89 %01 %;< ./ rxx89 01 ;< 12 "((5(BHH=>  We45  WeRXX>?  Xv67  XvryyAB  Wh78 "))E8RXX>? 5%0557@ 5%:??A6J 6627796B 66299=BBDfM 5(388:FC 5(BHH=BBDfM "((5%01 "((5%:; "((6623 "((66299=> "((5(34 "((;< ",,w67 ",,wrxx@A ",,x89 ",,xCD ",,w9:  WhAB "))E2./ "))E2rxx89 "))FC01 "))FC;< "))E2./ "))E2rxx89 "))FC01 "))FC;< RZZs34a8 RZZsBHH=>B RZZ56: RZZbii@A1E RZZs34a8 RZZsBHH=>B RZZ56: RZZbii@A1E RZZs34a8 RZZsBHH=>B RZZ56: RZZbii@A1E RZZu56: RZZubhh?@!D RZZ78!< RZZ BCQG RZZs34a8 RZZsBHH=>B RZZ56: RZZbii@A1Erc 4UR[R"SS5RS5S5 SSR [ [ [SSS555-nUR[R"US 5R5S 5 g) Nu ([∢∣])u∢rtz[%s]rru!)rArHr~rrmaprrrrs rtest_bigcharsetReTests.test_bigcharsetst "4"*,,1E!Hh @ RWWSeC&<=> > !X.446Arc[R"SRS[S5555nUR UR S55 UR UR S55 g)Nrc3,# UH nSU-v M g7f)z%dNr )rr<s rr ,ReTests.test_big_codesize..s >Aas'10009999)rHrJrrrr~rs rtest_big_codesizeReTests.test_big_codesizesK JJsxx >u >? @ ( (rcUR[R"SS[R5R S5S5 UR[R"SS[R5R S5S5 g)Nza.bza brza.*bza b)rArHr~DOTALLrr[s r test_anyallReTests.test_anyalls` %;AA!D ! &(BII>DDQG! #rcUR[R"SS5RS5S5 UR[R"SS5RS5S5 UR[R"SS5RS5S5 UR[R"SS5RS5S5 UR[R"S S 5RS5S5 UR[R"S S 5RS5S5 UR[R"S S 5RS5S5 UR[R"SS 5RS5S5 UR[R"SS5RS5S5 UR[R"SS5RS5S5 UR[R"SS5RS5S5 UR [R"SS55 UR [R"SS55 UR [R"SS55 UR [R"SS55 UR [R"SS55 UR [R"SS55 UR [R"SS55 UR [R"SS55 UR [R"SS55 UR [R"SS55 g)Nz (a(?=\s[^a]))a brtrz(a(?=\s[^a]*))z(a(?=\s[abc]))z(a(?=\s[abc]*))a bcz (a)(?=\s\1)a az (a)(?=\s\1*)a aaz(a)(?=\s(abc|a))z (a(?!\s[^a]))z(a(?!\s[abc]))za dz (a)(?!\s\1)z(a)(?!\s(abc|a))z (a)b(?=\1)arZz (a)b(?=\1)cabacz(?:(a)|(x))b(?=(?(2)x|c))crz(?:(a)|(x))b(?=(?(2)c|x))cz(?:(a)|(x))b(?=(?(1)b|x))cz(?:(a)|(x))b(?=(?(1)c|x))cz(a)b(?=(?(2)x|c))(c)z(a)b(?=(?(2)b|x))(c)z(a)b(?=(?(1)c|x))(c))rArHr~rrr}r[s rtest_lookaheadReTests.test_lookahead s "2E:@@CSI "3U;AA!DcJ "3U;AA!DcJ "4f=CCAFL .%8>>qA3G /6:@@CSI "5u=CCAFL "2E:@@CSI "3U;AA!DcJ .%8>>qA3G "5u=CCAFL 78 "((>6:; !>FG "((#@%HI !>FG "((#@%HI !>FG !8%@A "((#:EBC !8%@ArcNUR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS 55 UR[R"S S55 UR[R"S S 55 UR[R"S S55 UR[R"S S55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR [R [R S5 UR[R"SS55 UR[R"SS55 UR [R [R S5 UR [R [R S5 UR [R [R S5 UR [R [R S5 g)Nz ab(?<=b)crz ab(?<=c)cz ab(?.)(?P=a))(c)z(a)b(?<=(a)(?(2)b|x))(c)z(a)b(?<=(.)(?<=\2))(c))rrHr~r}rGrIrJr[s rtest_lookbehindReTests.test_lookbehind)s u56 "((<78 "((<78 u56 %89 "((?F;< "((?E:; &9: "((#A5IJ "((#A5IJ !?GH "((#A5IJ !?GH "//2::7OP "((#;UCD !95AB "//2::7KL "//2::7TU "//2::7RS "//2::7PQrcx UR[R"SS[R5R S5S5 UR[R"SS[R5R S5S5 UR[R"SS[R5R S5S5 UR[R"S S [R5R S5S 5 UR[R"S S[R5R S5S5 UR[R"S S [R5R S5S 5 UR[R"S S[R5R S5S5 UR[R"SS[R5R S5S5 UR[R"SS[R5R S5S5 UR[R"SS[R5R S5S5 SR 5SR 5s=:XaS:Xde eUR [R"SS[R55 UR [R"SS[R55 UR [R"SS[R55 UR [R"SS[R55 SR5SR5s=:XaS:Xde eUR [R"SS[R55 UR [R"SS[R55 UR [R"SS[R55 UR [R"SS[R55 SR5SR5s=:XaS:Xde eUR [R"SS[R55 UR [R"SS[R55 UR [R"SS[R55 UR [R"SS[R55 UR [R"S S[R55 UR [R"S S[R55 S!R5S"R5s=:XaS#:Xde eUR [R"S$S"[R55 UR [R"S%S![R55 g)&NrABCrrsABCz (a\s[^a])rrtz (a\s[^a]*)za bbz (a\s[abc])z (a\s[abc]*)z ((a)\s\2)rz ((a)\s\2*)rz((a)\s(abc|a))z((a)\s(abc|a)*)KKkz\u212arlſrz\u017fвᲀВz\u0412z\u0432z\u1c80ſtstSTz\ufb05z\ufb06)rArHr~rrlowerrupperr[s rtest_ignore_caseReTests.test_ignore_caseCs. %5;;A>F &&"$$7==a@&I ,rtt<BB1EuM ->DDQGP -=CCAFN .&"$$?EEaH&Q ,rtt<BB1EuM ->DDQGP "3UBDDAGGJER "4fbddCII!LfUyy{hnn.5#55555 x67 x67 C67 C67yy{hnn.5#55555 x67 x67 C67 C67~~8>>#3?x????? Hbdd;< Hbdd;< Hbdd;< Hbdd;< Hbdd;< Hbdd;<~~8>>#3;t;;;;; Hbdd;< Hbdd;>#3?x????? "$$?@ "$$?@ "$$?@ "$$?@ "$$?@ "$$?@~~8>>#3;t;;;;; "$$?@ "$$?@rc`UR[R"SS[R55 UR [R"SS[R55 UR[R"SS[R55 UR [R"SS[R55 UR[R"SS[R55 UR[R"SS [R55 UR [R"SS [R55 UR[R"S S [R55 UR[R"S S [R55 UR [R"S S[R55 UR[R"S S[R55 UR[R"S S[R55 UR[R"SS[R55 UR[R"SS[R55 UR[R"SS[R55 UR[R"SS[R55 UR[R"SS[R55 UR[R"SS[R55 UR[R"SS[R[R -55 UR [R"SS [R[R -55 UR[R"S S [R[R -55 UR [R"S S [R[R -55 UR[R"S S[R[R -55 UR [R"S S[R[R -55 UR [R"SS[R[R -55 UR[R"SS[R[R -55 UR[R"SS[R[R -55 UR [R"SS[R[R -55 UR [R"SS[R[R -55 UR[R"SS[R[R -55 UR[R"SS[R[R -55 UR[R"SS[R[R -55 UR[R"SS[R[R -55 UR[R"SS[R[R -55 UR[R"SS[R[R -55 UR[R"SS[R[R -55 SR 5SR 5s=:XaS:Xde eUR[R"S S[R55 UR[R"S!S[R55 UR[R"S"S[R55 UR[R"S"S[R55 S#R5S$R5s=:XaS%:Xde eUR[R"S&S$[R55 UR[R"S'S$[R55 UR[R"S(S%[R55 UR[R"S(S#[R55 S)R5S*R5s=:XaS+:Xde eUR[R"S,S)[R55 UR[R"S,S*[R55 UR[R"S-S+[R55 UR[R"S-S*[R55 UR[R"S.S+[R55 UR[R"S.S)[R55 S/R5S0R5s=:XaS1:Xde eUR[R"S2S0[R55 UR[R"S3S/[R55 g)4Nz[9-a]_z[9-A]s[9-a]_s[9-A]z [\xc0-\xde]×r÷z [\xe0-\xfe]rz[\u0430-\u045f]rrz[\u0400-\u042f]z[\U00010428-\U0001044f]r rz[\U00010400-\U00010427]z[N-\x7f]rz[n-\x7f]Zz [N-\uffff]z [n-\uffff]z[N-\U00010000]z[n-\U00010000]r r r z[J-M]z[j-m]z[\u2129-\u212b]rlrrz[R-T]z[r-t]z[\u017e-\u0180]rrrz[\u0411-\u0413]z[\u0431-\u0433]z[\u1c80-\u1c82]rrrz[\ufb04-\ufb05]z[\ufb06-\ufb07])rrHr~rr}rrrr[s rtest_ignore_case_rangeReTests.test_ignore_case_rangesV 356 "((8S"$$78 D"$$78 "((9dBDD9: >? >? "((>6244@A >? >? "((>6244@A !3XrttDE !3XrttDE !3XrttDE !3XrttDE !;\244PQ !;\244PQ !;\244PQ !;\244PQ bddCD "((>62449EF bddCD "((>62449EF !3XrttBDDyIJ "((#5xbddKL "((#5xbddKL !3XrttBDDyIJ !;\244PRPTPT9UV "((#=|RTTRTRVRVYWX "((#=|RTTRTRVRVYWX !;\244PRPTPT9UV c2449=> c2449=> RTT"$$Y?@ RTT"$$Y?@ !2CbddCD !2CbddCDyy{hnn.5#55555 8RTT:; 8RTT:; !3S"$$?@ !3S"$$?@yy{hnn.5#55555 8RTT:; 8RTT:; !3S"$$?@ !3S"$$?@~~8>>#3?x????? !3XrttDE !3XrttDE !3XrttDE !3XrttDE !3XrttDE !3XrttDE~~8>>#3;t;;;;; !3XrttDE !3XrttDErcpUR[R"SS5RS5S5 g)Nz(\s)rrtrArHr~rr[s r test_categoryReTests.test_categorys( '3/55a8#>rcUR[R"SS5RS5S5 UR[R"SS5RS5S5 g)Nz\s([^a]) brtrez \s([^a]*)z bbbbrArHr{rr[s rtest_not_literalReTests.test_not_literalsN ;5;;A>D <7==a@$GrcD[[S55R5nUR[S5n[ R "S5nSSS5 URWR[5 URWRU5[S55 UR[S5nUR[ R"SU5[S55 SSS5 URUR[5 UR[ R"SU5[S55 UR[S5n[ R "S5nSSS5 URUR[5 URURU5[S 55 UR[S 5n[ R "S 5nSSS5 URUR[5 URURU5[S 55 UR[S 5n[ R "S5nSSS5 URUR[5 URURU5[S55 UR[S 5nUR[ R"SU5[S55 SSS5 URUR[5 UR[S 5n[ R "S5nSSS5 URUR[5 URURU5[S55 UR[ R"SU5[S55 UR[S5n[ R "S5nSSS5 URUR[5 URURU5[S55 UR[S5n[ R "S5nSSS5 URUR[5 URURU5[S55 UR[ R"SU5[S55 UR[S5n[ R "S5nSSS5 URUR[5 URURU5[S55 UR[S5n[ R "S5nSSS5 URUR[5 URURU5[S55 UR[ R"SU5[S 55 UR[S!5n[ R "S"5nSSS5 URUR[5 URURU5[S#55 UR[S!5nUR[ R"S$U5[S%55 SSS5 URUR[5 UR[S!5n[ R "S&5nSSS5 URUR[5 URURU5[S'55 g!,(df  GN]=f!,(df  GN=f!,(df  GNc=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN"=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GND=f)(NzPossible set differencez[0-9--1]z -./0123456789z[0-9--2]z[--1]z-./01z[%--1]z %&'()*+,-1zPossible set difference z[%--]z %&'()*+,-zPossible set intersection z[0-9&&1]z &0123456789z[0-8&&1]z &012345678z[\d&&1]z[&&1]z&1zPossible set union z[0-9||a]z 0123456789a|z[\d||a]z[||1]z1|z"Possible set symmetric difference z[0-9~~1]z 0123456789~z[\d~~1]z[~~1]z1~zPossible nested set z[[0-9]|]z 0123456789[]z[[0-8]|]z 012345678[]z [[:digit:]|]z:[]dgit) bytesrdecodeassertWarnsRegex FutureWarningrHrJrArrrkr6)rrlrrs rtest_possible_set_operations$ReTests.test_possible_set_operationss %*  $ $ &  " "=2K LPQ ;'AM X. 1tO'<=  " "=2K LPQ   RZZ Q7o9N OM X. Ha0$w-@  " "=2K LPQ 9%AM X. 1tL'9:  " "=2L MQR 8$AN X. 1tK'89  " "=2N OST ;'AP X. 1tM':;  " "=2N OST   RZZ Q7l9K LP X.  " "=2N OST :&AP X. 1tM':; Ha0$t*=  " "=2G HA ;'AI X. 1tN';<  " "=2G HA :&AI X. 1tN';< Ha0$t*=  " "=2V W[\ ;'AX X. 1tM':;  " "=2V W[\ :&AX X. 1tM':; Ha0$t*=  " "=2H IQ ;'AJ X. 1tN';<  " "=2H IQ   RZZ Q7m9L MJ X.  " "=2H IQ ?+AJ X. 1tI7MM LM L M L N M P OP OP OI H I HX W X WJ IJ IJ Is^&81^8_ __.1``2`$1`6 aaa, 1a><b& ^58 _ _ _+. _= ` `!$ `36 a a a), a;> b  bcUR[R"SS5RS5S5 UR[R"SS5RS5S5 g)Nz\s(b)r0rtreza\sza rr2r[s rtest_search_coverageReTests.test_search_coverageHsN 8T288;SA 64066q94@rcUcUcUnS[U54nOUbUc [S5eU"X5nURU5 URUR 5U5 URUR 5U5 g)Nrz@If match is not None, span should be specified (and vice versa).)rrrrArr|)rrFtextr~r|matcherrs r assertMatchReTests.assertMatchLsz =T\Es4y>D ]dl12 2 G "  E* 4(rz!"%',/:;<=>@_`cbSRS[S555nUH~nUR[R"U5U5 URS[R"U5-S-U5 URS[R"U5-U5 M UR[R"U5U5 SH,nUR [R"U5SSS 5 M. UR nUR [R"U5U5 g) Nrc38# UHn[U5v M g7fr)rrs rr )ReTests.test_re_escape..]s/JqCFFJsrrrz(?x)z-.]{}rtr)rrrCrHescaperA LITERAL_CHARS)rrr literal_charss rtest_re_escapeReTests.test_re_escape\s GG/E#J/ /A   RYYq\1 -   S299Q</#5q 9   Vbiil2A 6 1q)A   RYYq\"1-t 4**  =1=Arc[[S55nUHn[U/5nUR[R"U5U5 URS[R"U5-S-U5 URS[R"U5-U5 M UR[R"U5U5 SH8n[U/5nUR [R"U5SSS5 M: UR RS5nUR [R"U5U5 g) Nr[]s(?x)s-.]{}rt\ascii)r7rrCrHrHrArIencode)rrr rerJs rtest_re_escape_bytesReTests.test_re_escape_byteshs %* Aqc A   RYYq\1 -   TBIIaL047 ;   Wryy|3Q 7  1q)Aqc A   RYYq\"1-u 5**11':  =1=ArcSn[R"U5nURX!5 URX!5 URS[R"S5-USS[R5 g)Nuxxx☠☠☠xxxz.%s+.☠u x☠☠☠x)rr)rHrHrArCr{)rrl s_escapeds rtest_re_escape_non_ascii ReTests.test_re_escape_non_asciivs\ &IIaL  & & 299X#66/ Drc@SRS5n[R"U5nURX!5 UR X!5 [R "[R"SRS55U5nUR[ U5S5 g)Nu y☠y☠yzutf-8rVr)rRrHrHrArCrkr)rre b_escapedress rtest_re_escape_non_ascii_bytes&ReTests.test_re_escape_non_ascii_bytes~sq  $ $W -IIaL  & &jj8??7#;\d+)(?:\.(?P\d*))?z12.34)copyrHrJr8deepcopyr~)rrmrrs r test_copyingReTests.test_copyings| JJ: ; diilA& dmmA&* GGG  diilA& dmmA&*rcUR[R[R5 UR[R[R 5 UR[R [R5 UR[R[R5 UR[R[R5 gr) rArHr IGNORECASELrr MULTILINErrrVERBOSEr[s rtest_constantsReTests.test_constantssz r}}- ryy) r||, ryy) rzz*rc([R[R[R[R[R [R 4H)nUR[R"SU55 M+ [R[R[R[R[R [R4H)nUR[R"SU55 M+ g)Nz ^pattern$s ^pattern$) rHrrrrrrrrJrs)rflags r test_flagsReTests.test_flagssTT244rttRTT2448D OOBJJ{D9 :9TT244rttRTT2448D OOBJJ|T: ;9rc SGHnUS:Ga8UR[R"SU-[U555 UR[R"SU-[U5S-55 UR[R"SU-[U5S-55 UR[R"SU-[U555 UR[R"S U-[U5S-55 UR[R"S U-[U5S -55 US :aUR[R"S U-[U555 UR[R"SU-[U5S-55 UR[R"SU-[U5S -55 UR[R"SU-[U555 UR[R"SU-[U5S-55 UR[R"SU-[U5S -55 GM UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR SSS5 UR SSS 5 UR S!S"S5 UR S#S"S5 UR S$S%S5 UR S&S%S5 UR S'S(S5 UR S)S(S5 UR S*S+S5 g),N rr @r6rrrir\%03o\%03o00\%03o88\x%02x\x%02x0\x%02xzzrz\u%04xz\u%04x0z\u%04xzz\U%08xz\U%08x0z\U%08xzrrrrz\01rz\018z8z\5670octal escape value \567 outside of range 0-0o377rz\911invalid group reference 91rtz\x1incomplete escape \x1z\x1zz\u123incomplete escape \u123z\u123zz \U0001234incomplete escape \U0001234z \U0001234zz \U00110000bad escape \U00110000rrHr~rrQrs rtest_sre_character_literals#ReTests.test_sre_character_literalssRA3wAs1v >?QAs CDQAs CDQA ?@aQ DEaQ DE7{QA ?@aQ DEaQ DE OOBHHY]CF; < OOBHHZ!^SVCZ@ A OOBHHZ!^SVCZ@ AS /0 12 01 '23 w 012 4 w(DaH v'?C w(@!D x)CQG y*DaH |-KQO }.LaP }.FJrc SGHnUS:GaUR[R"SU-[U555 UR[R"SU-[U555 UR[R"SU-[U555 UR[R"SU-[U555 UR[R"SU-[U555 UR[R"SU-[U555 UR[R"S U-[U555 UR[R"S U-[U555 US :aUR[R"S U-[U555 UR[R"S U-[U555 UR[R"SU-[U555 UR[R"SU-[U555 UR[R"SU-[U5S-55 UR[R"SU-[U5S-55 GM UR SSS5 UR SSS5 UR SSS5 UR SSS5 UR SSS5 UR SS S5 UR[R"S!S"55 g)#Nr}r[\%o][\%o8][\%03o][\%03o0][\%03o8][\x%02x] [\x%02x0] [\x%02xz]rz[\u%04x]z [\u%04x0]z [\u%04xz]z[\U%08x]z [\U%08x0]rz [\U%08xz]rz[\567]rrtz[\911] bad escape \9z[\x1z]rz[\u123z]rz [\U0001234z]rz [\U00110000]rz[\U0001d49c-\U0001d4b5]u𝒞rrs r!test_sre_character_class_literals)ReTests.test_sre_character_class_literalssoRA3wAs1v >?QA ?@aQ @Aq#a& ABq#a& ABq#a& AB)93q6 BC)93q6 BC7{q#a& AB)93q6 BC)93q6 BC OOBHH[1_c!f= > OOBHH\A%5s1vczB C OOBHH\A%5s1vczB C!S" y 012 4 y*:A> y*BAF {,FJ 0NPQR 0H!L !;\JKrc SGHnUR[R"SU-R5[ U/555 UR[R"SU-R5[ U/5S-55 UR[R"SU-R5[ U/5S-55 UR[R"SU-R5[ U/555 UR[R"SU-R5[ U/5S-55 UR[R"S U-R5[ U/5S -55 GM UR [R [RS 5 UR [R [RS 5 UR[R"S S55 UR[R"SS55 UR[R"SS55 UR[R"SS55 URSSS5 URSSS5 URSSS5 URSSS5 g)Nrrr~rrrr6rrr0r8rrrzs\u1234s \U00012345s\0s\08s8s\01s\018s8s\567rrs\911rrts\x1rs\x1z rrHr~rRr7rGrIrJrQrs rtest_sre_byte_literalsReTests.test_sre_byte_literalss2A OOBHHhl%:%:%qc 4P Q OOBHHj1n%<%<%>qc 4P Q 3 "//2::zB "//2::~F 12 (34 '23 845 x 012 4 x)EqI w(@!D x)A1Erc XSGH nUR[R"SU-R5[ U/555 UR[R"SU-R5[ U/555 UR[R"SU-R5[ U/555 UR[R"SU-R5[ U/555 UR[R"SU-R5[ U/555 UR[R"SU-R5[ U/555 UR[R"SU-R5[ U/555 UR[R"S U-R5[ U/555 GM UR [R [RS 5 UR [R [RS 5 URS S S5 URSSS5 URSSS5 g)Nrrrrrrrrrs[\u1234]s [\U00012345]s[\567]rrts[\911]rs[\x1z]rrrs rtest_sre_byte_class_literals$ReTests.test_sre_byte_class_literalss2A OOBHHhl%:%:%qc K L OOBHHkAo%=%=%?sL M OOBHHkAo%=%=%?sL M OOBHHkAo%=%=%?sL M OOBHHlQ&6%>%>%@%*M N OOBHHlQ&6%>%>%@%*M N3 "//2::|D "//2::7GH z 012 4 z+;Q? z+CQGrcURSSS5 URSSS5 URSSS5 URSSS5 URSSS 5 URS S S 5 URS S S 5 g)Nrzunterminated character setrz[^z[az[a-z[\w-b]zbad character range \w-brtz[a-\w]zbad character range a-\wz[b-a]zbad character range b-ar!r[s rtest_character_set_errors!ReTests.test_character_set_errors s t%A1E u&BAF u&BAF v'CQG y*EqI y*EqI x)BAFrcHUR[R"SS5RS5S5 UR[R"SS5R S5S5 UR[R"SS5R S5S5 g)Nz(a)|(b)rertry)ryry)rArHr~startendr|r[s rtest_bug_113254ReTests.test_bug_113254st *c288;R@ *c266q92> *c277:HErcUR[R"SS5R5 UR [R"SS5RS5 UR [R"SS5R S5 UR [R"SS5R S5 UR [R"SS5RS5 g) Nz(a)?arz(a)(b)?brrtz(?Pa)(?Pb)?bz (?Pa(b))z((a)))r}rHr~ lastindexrA lastgroupr[s rtest_bug_527371ReTests.test_bug_527371s "((8C0::; +d3==qA "7=GGM .$7AA3G (C0::A>rcUR[R"SSS-S-5RS5S5 UR[R"SSS-S -SS--S -5RS5S 5 UR[R"SS S -S-5RS5S5 UR[R"SSS-S-5RS5S5 g)Nz.*?crrrri!Nz.*?cdircdei#Ni Nrdeiaz(a|b)*?c)rArHr~rr{r[s rtest_bug_418626ReTests.test_bug_418626!s &%*T/:>>qA5I '49S=d+B5+HIMMaP  '5;t+;<@@CUK :uTz$?CCAFNrcS[R"S5-S-nUR[R"U5=(a SS5 g)Nru‹rrt)rHrHrArJrs rtest_bug_612074ReTests.test_bug_612074-s7  (# #C ' C.Q2rcfUR[R"SSS-5RS5S5 UR[R"SSS-S-5RS5S5 UR[R"SSS-S-5RS5S5 g)Nz(x)*iPr<rtz(x)*yr=z(x)*?yr,r[s rtest_stack_overflowReTests.test_stack_overflow1s &%)4::1=sC '59S=9??BCH (E#IcM:@@CSIrcSH@nSH7nURU<U<3SS5 URSU<U<S3SS5 M9 MB g)N*+?z{1,2}rrznothing to repeatr(?:rrur!)rrepsmods rtest_nothing_to_repeatReTests.test_nothing_to_repeat8sJ*D&&s';':A?&&T3'?':A?+rc SHVnSHMnX-nSH@nSH7nXQ-S;aM XE-nURSU<U<3SS[U5-5 M9 MB MO MX g)Nr)rrr)rrr<zmultiple repeatrt)rQr)r outer_reps outer_modouter_op inner_reps inner_modinner_ops rtest_multiple_repeatReTests.test_multiple_repeat@sl0J) %1"8J%1 $1Z?$#-#9..8X/N 11s8}3DF &2#9*1rcUR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 g)Nz(?:a?)*yrz(?:a?)+yz (?:a?){2,}yz (?:a?)*?yz (?:a?)+?yz (?:a?){2,}?y)r}rHr~r[s r test_unlimited_zero_width_repeat(ReTests.test_unlimited_zero_width_repeatLs "((;45 "((;45 "((>378 "((<56 "((<56 "((?C89rcSnSnSnSn[SU4SU4SU4SU4S /5nURURRS 5R5 UR UR S 5/S QS 45 g) NcU$rr scannertokens rs_ident%ReTests.test_scanner..s_identVsE\rc SU-$)Nzop%sr rs r s_operator(ReTests.test_scanner..s_operatorWs v~(=rc[U5$r)floatrs rs_float%ReTests.test_scanner..s_floatXs E%L%8rc[U5$r)rrs rs_int#ReTests.test_scanner..s_intYs #e*#4rz [a-zA-Z_]\w*z\d+\.\d*rz =|\+|-|\*|/)z\s+Nrzsum = 3*foo + 312.50 + bar) sumzop=ruzop*fooop+gs@rbar)rrrrFrAscan)rrrrrrs r test_scannerReTests.test_scannerUs1=84 g & ' " UO Z (   //3;;< &BC)*,. /rcSHsnUR[R"SU-S5R5S5 UR[R"SU-S5R5S5 Mu g)N)rrrz ((.%s):)?zrrza:z)rJrrArHr~rj)rops rtest_bug_448951ReTests.test_bug_448951isfB   RXXmB&6<CCE) +   RXXmB&6>EEG( *rcTUR[R"SS5R5S5 UR[R"SS5R5S5 UR[R"SS5R5S5 UR[R"SS5R5S5 UR[R"S S5R5S5 UR[R"S S 5R5S5 UR[R"S S5R5S5 UR[R"S S5R5S5 g)Nz ^((a)|b)*rr{z ^(([ab])|c)*)rrez ^((d)|[ab])*reNz ^((a)c|[ab])*z ^((a)|b)*?cz^(([ab])|c)*?drz^((d)|[ab])*?cz^((a)c|[ab])*?crr[s rtest_bug_725106ReTests.test_bug_725106rs= +u5<<># % .%8??A# % .%8??A$ & /59@@B$ & -7>>@# % "2F;BBD# % "2E:AAC$ & "3U;BBD$ &rcUR[R"SS5R5S5 UR[R"SS5R5S5 g)Nz(a)(?:(?=(b)*)c)*r)rNz(a)((?!(b)*))*rfrr[s rtest_bug_725149ReTests.test_bug_725149sR "5u=DDF$ & "2E:AAC* ,rc"SS[5n[R"U"S55nURUR S55 g)Nc\rSrSrSrg)+ReTests.test_bug_764548..my_unicodeir Nr"r#r$r%r&r rr my_unicoderstrrrr)rrHrJr}r~)rrrs rtest_bug_764548ReTests.test_bug_764548s4##jjE*+ #))E*+rc[R"SS5nURUVs/sHo"RS5PM sn/SQ5 [R"S5nURSSS5nURUVs/sHo"RS5PM sn/SQ5 [R"S5nURSSSS9nURUVs/sHo"RS5PM sn/SQ5 [R"S5nURSSSS9nURUVs/sHo"RS5PM sn/SQ5 [R"S5nURSS S S9nURUVs/sHo"RS5PM snS S /5 gs snfs snfs snfs snfs snf) Nr>rSrrTrtrr)rrMrurr@)rHrbrArrJ)riteritemrs r test_finditerReTests.test_finditers{{5,/ D9DD**Q-D9+ -jj||L!R0 D9DD**Q-D9+ -jj||La|; D9DD**Q-D9+ -jj||L|; D9DD**Q-D9+ -jj||La|: D9DD**Q-D9 '): : : : :sF6F;G7GG cxUR[R"S5[R"S55 g)N bug_926075s bug_926075) assertIsNotrHrJr[s rtest_bug_926075ReTests.test_bug_926075s' L1M2 4rcvSnUR[R"U5RS5/SQ5 g)Nu [.。.。]za.b.cr)rArHrJrrs rtest_bug_931848ReTests.test_bug_931848s.. G,227;& (rc[R"SS5nUR[U5R 5S5 UR [ [U5 [R"S5RS5nURUR5R 5S5 URUR55 g)Nz\sr)rtr) rHrbrAnextr|rG StopIterationrJrr{r})rr rs rtest_bug_581080ReTests.test_bug_581080s{{5%( d*E2 -t4**U#++E2 )..0&9 '..*+rc [R"SS5nUR[U5R 5S5 UR[U5R 5S5 UR [ [U5 g)Nz.*asdfr)rr)rHrbrArr|rGr)rr s rtest_bug_817234ReTests.test_bug_817234sZ{{5&) d*F3 d*F3 -t4rc/SQnUH9nUR[R"SU5RS5U5 M; /SQnUH)nUR [R"SU55 M+ g)N)7u๘u0z^\d$r)uⅥu〹u₂u㊴)rArHr~rr})rdecimal_digitsr<not_decimal_digitss r test_bug_6561ReTests.test_bug_6561sh  A   RXXgq177:A >  $A   bhhw2 3$r)categoryc.SSKnSHnURU5nUR[R"S5R U55 UR [R"S5R U5R 5S5 M g)Nr bBhuwHiIlLfdsblarr )arrayr}rHrJr~rArj)rr'typecoders rtest_empty_arrayReTests.test_empty_arraysm &H H%A   bjj066q9 :   RZZ_2215<<> C'rcSnSn[R"SU-[R[R-5nUR SU-5nUR U5 [R"SU-[R[R-5nUR SU-5nUR U5 [R"SU-[R5nUR SU-5nUR U5 [R"SU-[R5nUR SU-5nUR U5 [R"SU-5nUR SU-5nUR U5 [R"SU-5nUR SU-5nUR U5 [R"SU-5nUR SU-5nUR U5 [R"SU-5nUR SU-5nUR U5 UR [R"SU-U55 UR [R"SU-U55 UR [R"S U-U[R 55 UR [R"S U-U55 UR [R"S U-U[R 55 S nURUS -US5 [R"5 [R"S[5 URSUS5 SSS5 URSU-US5 URSU-S-US5 URS U-US5 URSU-US5 URSU-US5 URSU-S-US5 URSU-S-US5 URSU-S-US5 g!,(df  N=f) NuẠuạrrz(?i).z(?is).z (?s)(?i).z(?ix) z (?i) z (?x) (?i) z (?x) (?i) z/global flags not at the start of the expressionz(?i)rtrZsA(?i)z (?s).(?i)rz(?i) z (?x)rz^(?i)z$|(?i)rz(?:(?i)rruz (^)?(?(1)(?i)rz($)?(?(1)|(?i)r) rHrJrrr~rrrQwarningscatch_warnings simplefilter BytesWarning)r upper_char lower_charrqr>s rtest_inline_flagsReTests.test_inline_flagss  JJsZ' 5 GGD:% &  JJsZ' 5 GGD:% &  JJw+RTT 2 GGD:% &  JJw+RTT 2 GGD:% &  JJx*, - GGD:% &  JJx*, - GGD:% &  JJ{Z/ 0 GGD:% &  JJ{Z/ 0 GGD:% &  J!6 CD J!6 CD J!6 BDDIJ  !:JGH !;ZNO? zF2C; $ $ &  ! !'< 8  " "8S! 4' {Z7a@ w3g=sAF }z93B w3S!< x*4c1= y:5;S!D ;cA3J /*>#&'18yys,!GDjjryy2==89  OOCIIg. /jj47  OOCIIg. /jjr}}-    cii0 1jj+  OOCIIg. /jj$  OOCIIg. /jj     cii0 1 *bjj"bii@ "//2::v> *bjj#ryy2887KL *bjj'288D *bjj'299E "//2::x@=!),  s#0N7 N7:N7 N77O  O cDUR[R"SS55 UR[R"SS55 UR[R"SS[R55 UR[R"SS[R55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"S S[R 55 UR S S S 5 UR S SS5 UR SSS5 UR SSS5 UR SSS5 UR SSS5 UR SSS5 UR SSS5 UR SSS5 UR SSS5 UR SSS5 UR SS S!5 UR S"S#S5 UR S$S#S5 UR S%SS5 g)&Nz(?i:a)bAbaBz(?-i:a)bz (?i:(?-i:a)b)z \w(?a:\W)\wuàààz(?a:\W(?u:\w)\W)z \W(?u:\w)\Wz (?a)(?-a:\w)z8bad inline flags: cannot turn off flags 'a', 'u' and 'L'rz(?i-i:a)z(bad inline flags: flag turned on and offrz(?au:a)z9bad inline flags: flags 'a', 'u' and 'L' are incompatiblers(?aL:a)z(?-z missing flagruz(?-+z(?-z unknown flagz(?-iz missing :z(?-i)z(?-i+z(?-izz(?i:rr(?imissing -, : or )z(?i+z(?iz)rrHr~r}rrrrQr[s rtest_scoped_flagsReTests.test_scoped_flagss T23 "((:t45 "((;bmmDE dBMMBC "((#3T:; !1489 @A !4nEF JK JA O {:A ? zKQ P {KQ P v~q9 w: w: w Q7 xa8 xa8 x; w(LaP v':A> w(;Q? w:rcSH;nUR[R"US-S[R55 M= SH;nUR[R"US-S[R55 M= UR[R"SS55 UR[R"SS[R55 UR[R"SS55 UR[R"SS 55 UR[R"S S [R55 UR[R"S S 55 UR[R"S S55 UR[R"S S55 g)Nz r)r     r`z(?x) az (?x) az (?x) (?x) az a(?x: b) cz ab cz a(?-x: b) crz(?x) a(?-x: b) cz (?x) a| brerrHrru)rspaces rtest_ignore_spacesReTests.test_ignore_spacess"E OOBLLc2::F G#?  XtRZZ@A  [#67  _c2::FG  %8#>?  %;]KL  %.s5ra5rsa(\w)sb\1sacsbcsa(.)sasbs..cg)Nbytesr rs rrrfs8rsa5ri)rHrJrArUrs r test_bug_6509ReTests.test_bug_6509sjj" .5jj  3Y?jj $7?jj# %0%8jj! (3X>jj !3U;XFrcUR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 g)Nz123.*-z123abc-u123é-u123€-u123􏿿-u 123é€􏿿-)rrHr{r[s rtest_search_dot_unicodeReTests.test_search_dot_unicodesw  (I67  (J78  (L9:  (,<=>  (,FGHrcH[R"S5nURU[R5 [R"U5nURU[R5 UR X!5 UR [ [RS5 g)Nrandom patternr)rHrJassertIsInstancePatternr8rGr)rrF same_patterns r test_compileReTests.test_compilesi**-. grzz2zz'*  lBJJ7 l, )RZZ3rrt)sizememusecSU-n[R"SU5nURU5 URUR 5U5 URUR 5U5 g)Nrr6)rHr{assertIsNotNonerArr)rrvrlrs rtest_large_searchReTests.test_large_searchsW $J IIc1  Q D) $'rcSU-n[R"SSU5up4URX25 URXAS-5 g)Nrrrt)rHrrA)rrvrlrns rtest_large_subnReTests.test_large_subnsA $Jwwr2q!  1H%rcUR[R"SS5S/5 UR[R"SS5R 5S5 g)Nz (?i)(a)\1uaa Ārz (?s).{1,3}uĀĀr)rArHrkr~r|r[s rtest_bug_16688ReTests.test_bug_16688sE L+>F -@EEGPrcSS-nUR[R"SU5R5S5 UR[R"SU5R5S5 UR[R"SU5R5S5 UR[R"SU5R5S5 UR[R"S U5R5S5 UR[R"S U5R5S5 UR [ [R S S S --5 UR [ [R SS S --5 UR [ [R SS S --5 UR [ [R SS S-S S -4-5 g)Nr<順z.{65535})rrz .{,65535}z .{65535,}?z.{65536})rrz .{,65536}z .{65536,}?.{%d}rr6.{,%d}.{%d,}?z.{%d,%d})rArHr~r|rG OverflowErrorrJ)rrVs rtest_repeat_minmax_overflow#ReTests.test_repeat_minmax_overflowshv +v6;;=zJ ,7<<> K -8==?L +v6;;=zJ ,7<<> K -8==?L -X35FG -YC5GH -Z!S&5HI -[AsFAsFCS5STrcSS-nSnSnUR[R"US-U5R5S5 UR[R"US-U5R5S5 [R"US-5 [R"US -5 [R"US -5 [R"US-5 [R"US -5 [R"US -5 S nUR [R U[RUS -5 UR [R U[RUS -5 g) Nr<i%&z(?<=((.{%d}){%d}){%d})z(?)z#bad character in group name ''rr!r[s r$test_backref_group_name_in_exception,ReTests.test_backref_group_name_in_exception s |Da Irc*URSSS5 g)Nz (?P)z"bad character in group name '?foo'rr!r[s rtest_group_name_in_exception$ReTests.test_group_name_in_exception%s |CQ HrcnSHnSHnSU-U-S-nUR[R"U[R5R S5S/US9 UR 5nUR[R"U[R5R S5S/US9 M M g)N)rrrz{1}rryzr)r>r)rArHrJrrkrR)rrrrFs rtest_issue17998ReTests.test_issue17998*s(D*s*T1  GRTT!:!B!B5!I"'g!7!..*  GRTT!:!B!B6!J"(w!8 )rc|S[S54Hfn[R"SU5nS[U5R<S[U5R <S3nUR [U5U5 Mh S[S5[S5[S54Hfn[R"SU5nS[U5R<S[U5R <S3nUR [U5U5 Mh [[R"S S 55upES[U5R<S[U5R <S 3nUR [U5U5 S[U5R<S[U5R <S 3nUR [U5U5 g) Nz [abracadabra]z (.+)(.*?)\1z<(z\.)?z- object; span=\(1, 12\), match='abracadabra'>s [abracadabra]s (.+)(.*?)\1z. object; span=\(1, 12\), match=b'abracadabra'>z (aa)|(bb)zaa bbz# object; span=\(0, 2\), match='aa'>z# object; span=\(3, 5\), match='bb'>) rrHr{r9r#r$ assertRegexreprr+rarr6rb)rrVrrFrrs rtest_match_reprReTests.test_match_repr4sV%q'99F .&1AQ""DG$8$8G   T!Wg . : (+;)< !12!"235F /62AQ""DG$8$8G   T!Wg .5R[[g>? v L # #T&\%>%>  eg. L # #T&\%>%>  fw/rcUR[R"SS5/SQ5 UR[R"SS5/SQ5 UR[R"SS5/SQ5 UR[R"SS5/S Q5 UR[R"SS S5S 5 UR[R"SS S5S 5 UR[R"S SS5S5 UR[R"SS5/SQ5 UR[R"SS5/SQ5 UR[R "SS5Vs/sHoR 5PM sn/SQ5 UR[R "SS5Vs/sHoR 5PM sn/SQ5 gs snfs snf)NrIza::bc)rrr@rdrz\b|:+)rrrrrdrz(?HcLSHnSHn[R"SU<SU<35nURS5nURUR S5S5 URUR S5S 5 URUR S 5S 5 M M g) N){0,}rrz{1,187})rrrz^((x|y)rxyyzyrxyyrtrrr=)rHrJr~rAr)rrrrrs r test_bug_2537ReTests.test_bug_2537bs5H.JJ8DEGGG$  U3  R0  S1 /6rcL[R"S5nURURSSSS9R 5S5 URUR SSSS9R 5S5 URUR SSSS9R 5S5 URURSSSS9S /5 URURSS S 9/S Q5 URURSSSS9R 5R 5S5 g) Nz(ab) abracadabrarr)rVrMr)rrrrurrt)rVr)rr racadabra) rHrJrAr~r|rr{rkrrrs rtest_keyword_parametersReTests.test_keyword_parameterslsjj!  II]"I = B B Df N  MMAaM @ E E G Q  JJm2J > C C Ev O  KK}!BK ?$ I  II]QI 7 # %  KK}!BK ? F F H M M O  rcUR[R"SS[R5R 5S5 g)Nz[a-c]+r ry)rArHrrr|r[s rtest_bug_20998ReTests.test_bug_20998~s. hrtt<AACVLrz-musl libc issue on Emscripten/WASI, bpo-46390c:[R"[R5nUR[R[RU5 SH)n[R"[RU5 M+ [ R"5 UR5 UR5 [ R"5 UR5 UR5 g![Ra UR SU-5 Mf=f)Nen_US.iso88591 en_US.utf8test needs %s locale) rG setlocaleLC_CTYPE addCleanupErrorskipTestrHrcheck_en_US_iso88591check_en_US_utf8)r oldlocalelocs rtest_locale_cachingReTests.test_locale_cachings $$V__5  ((&//9E1C <  #62   !!#     !!#<< < 4s:;  '2449=> !1;?@ w78 w78rc[R"[RS5 UR[R "SS[R [R-55 UR[R "SS[R [R-55 UR[R "SS[R [R-55 UR[R "SS55 UR[R "SS55 UR[R "SS55 g)Nrrrrrrr) rGrrrrHr~rsrr}r[s rrReTests.check_en_US_utf8s,7 k2449EF "((7GRTT"$$Y?@ "((7GRTT"$$Y?@ !1;?@ "((<9: "((<9:rc[R"[R5nUR[R[RU5 SH)n[R"[RU5 M+ [R"[RS5 [ R"S[ R[ R-5n[ R"S[ R[ R-5n[ R"S[ R[ R-5n[ R"S[ R[ R-5nX4U4HcnURURS55 URURS55 URURS 55 Me URURS 55 URURS55 URURS 55 [R"[RS 5 X4U4HcnURURS55 URURS55 URURS 55 Me URURS 55 URURS55 URURS 55 g![Ra UR SU-5 GMf=f) Nrrrrs[a][a]s [az][az]s[^][^]sssr) rGrrrrrrHrJrsrrr~r})rrrrrp3p4rs rtest_locale_compiledReTests.test_locale_compiledsG $$V__5  ((&//9E1C <  #62 *:; ZZ RTT"$$Y / ZZ)2449 5 ZZ+RTT"$$Y 7 ZZ)2449 5A OOAGGK0 1 OOAGGK0 1 OOAGGK0 1 "((;/0 "((;/0 "((;/0,7A OOAGGK0 1   aggk2 3   aggk2 3 -. "((;/0 "((;/01<< < 4s:;; assertNotInr7ru)rrOrPs r test_errorReTests.test_errors   r /2 JJ{ #0ll ckk3/ k2 !$ Q' A& cggs3x( &C1 )3773   r /2 JJz "0ll ckk51 j1 !$   r /2 JJ ZZ  !0ll "% Q' B' cggs3x( 'S2 +SX6C0 /0 /0 /s#K"K48&L" K14 L LcURSSS5 URSSS5 URSSS5 URSS S 5 URS S S 5 URSSS 5 URSSS 5 URSSS5 URSS S 5 URSSS 5 URSS S5 g)NrVrrz((a|b)z(a|b))zunbalanced parenthesisrz(?Pzunexpected end of patternruz(?z)zunknown extension ?zrtz(?iz)rRrSrTz(?#abczmissing ), unterminated commentz(?)zunknown extension ?<>z(?rr!r[s rtest_misc_errorsReTests.test_misc_errorss t%I1M y*NPQR y*BAF v'BAF w(>B x; v':A> y*KQO v'BAF x)@!D u&A1ErcURS[[R55 URS[[R55 g)Nrr)rrrHrrr[s r test_enumReTests.test_enum s0 gs244y) hBDD *rc[R"S[R5nURX5 UR X:g5 [R "5 [R"S[R5nUR[ U5[ U55 URX!5 [R "5 [R"S[R5nURX15 [R "5 [R"S5nURXA5 UR[5 X: SSS5 g!,(df  g=f)NrXYZ) rHrJrrrA assertFalserhashassertNotEqualrGr)rpattern1pattern2pattern3pattern4s rtest_pattern_compareReTests.test_pattern_compare s::eR]]3 , -.  ::eR]]3 hh8 ,  ::eR]]3 H/  ::e$ H/  y )  * ) )s E## E1c[R"S5n[R"5 [R"S5nUR[ U5[ U55 URX!5 [R"5 [R"S5n[ R "5 [ R"S[5 URX15 SSS5 g!,(df  g=f)NrrrZ) rHrJrrArr,r-r.r/r)rrrrs rtest_pattern_compare_bytes"ReTests.test_pattern_compare_bytes# s::f%  ::f% hh8 ,  ::e$  $ $ &  ! !'< 8    3' & &s 7-C-- C;c[S5n[R"SU5n[R"SU5nURUR 5S5 URUR 5S5 SUSS&URUR 5S5 URUR 5S5 g)Nsabcdefghs[a-h]+s[e-h]+sefghrr)rarHr{rAr)rrlrm2s rtest_bug_29444ReTests.test_bug_294444 s k " IIi # YYy! $ K0 W-! F+ S)rcSnSnUR[R"X!5R5S5 SnSnUR[R"X!5SS/5 UR[R "X!5Vs/sHo3R5PM snSS/5 S nS nUR[R"X!5S S /5 UR[R "X!5Vs/sHo3R 5PM snS SS.SSS./5 SnUR[R "X!5Vs/sHo3R 5PM snS SS.SSS./5 SnUR[R "X!5Vs/sHo3R 5PM snS SS.SSS.SSS./5 gs snfs snfs snfs snf)Nza xz\b(?=(\t)|(x))x)Nr<rz (?=(.)(.)?)r)rerrz1(?=<(?P\w+)/?>(?:(?P.+?))?)z)r)foo2rrr)tagrArzHelloHellorzHello)rArHr{rjrkrbrrrlrrs rtest_bug_34294ReTests.test_bug_34294> s   1//1;?   A)$i0 2 bkk!.?@.?((*.?@$k2 4 A " A)-|< > Q1BC1BA++-1BC"()<"($79 : ' Q1BC1BA++-1BC"(':"'68 9 - Q1BC1BA++-1BC"(':"'6"'68 9!ADDDsG:G GGcUR[R"SS5R5S5 UR[R"SS5R5S5 UR[R"SS5R5S5 UR[R"SS5R5S5 g)Nz (ab|a)*?brraz (ab|a)+?bz (ab|a){0,2}?bz (.b|a)*?brr[s rtest_MARK_PUSH_macro_bug ReTests.test_MARK_PUSH_macro_bug` s ,5<<>G ,5<<>G "2D9@@BFK ,5<<>GrcjSnSnUR[R"X!5R5S5 SnSn[R"X!5nURUR 5S5 URUR S5S5 URUR5S 5 g) Naxxzbczz(?:(?:a|bc)*?(xx)??z)*rxtcxyzxcz((x|yz)+?(t)??c)*)rrr)r)xyzxcr<trArHr~rjr|rs rtest_MIN_UNTIL_mark_bugReTests.test_MIN_UNTIL_mark_bugh s  % !..0':   HHQN 6* F+ %89rcZSnSn[R"X!5nURUR5S5 URURS5S5 URUR 5S5 SnSn[R"X!5nURUR5S 5 URURS5S 5 URUR 5S5 UR[R"S S 5R 5S 5 g)Naabaabz(?:[^b]*a(?=(b)|(a))ab)*)rrr)rrrababz(?:[^b]*(?=(b)|(a))ab)*r)rruz(ab?)*?brrarHr~rAr|rjrs rtest_REPEAT_ONE_mark_bug ReTests.test_REPEAT_ONE_mark_bugw s  ' HHQN 6* F+ [1  & HHQN 6* F+ [1 +t4;;=vFrcjSnSn[R"X!5nURUR5S5 URURS5S5 URUR 5S5 SnSnUR[R"X!5R 5S 5 g) Nrz(?:.*?(?=(a)|(b))b)*rrrur)Nreaxxzazz(?:a*?(xx)??z)*rrrs rtest_MIN_REPEAT_ONE_mark_bug$ReTests.test_MIN_REPEAT_ONE_mark_bug s  # HHQN 6* F+ [1   !..0':rcUR[R"SS5R5S5 [R"SS5nURUR 5S5 URUR S5S5 URUR S 5S5 URUR5S 5 g) Nz (?!(..)c)rrz((?!(ab)c)(.))*rrrtrru)reNrer rs rtest_ASSERT_NOT_mark_bug ReTests.test_ASSERT_NOT_mark_bug s ,5<<>H HH' 0 6* F+ F+ %56rc(UR[S5 [R"SS5 SSS5 UR[S5 [R"S[5 SSS5 g!,(df  NI=f!,(df  g=f)Nz got 'int'rprz got 'type')rrrHr{r9r[s rtest_bug_40736ReTests.test_bug_40736 s[  # #I{ ; IIdA <  # #I| < IIdD != << ; < G "((8T23 )U3::?  \59:  \59:  \59:  %5u=>rcUR[R"SS5S/5 UR[R"SS5/SQ5 UR[R"SS5/SQ5 UR[R"SS5S/5 UR[R"S S 5S /5 UR[R"S S 5/S Q5 UR[R"SS 5/SQ5 UR[R"SS 5S /5 g)Nr,aabrr+rrrr0rrrrr1r2ababcrr3rrrr4rrrrr5r\r[s r#test_findall_possessive_quantifiers+ReTests.test_findall_possessive_quantifiers s FE2TF; FE2NC FE24FG J6? K9F8D K9;KL K9;OP OW=xHrc,[R"S5nURURS55 UR URS55 UR[R"SS55 UR [R"SS55 UR [R"SS55 UR[R"SS55 UR[R"S S55 g ) zTest Atomic Grouping Test non-capturing groups of the form (?>...), which does not maintain any stack point created within the group once the group is finished being evaluated.z a(?>bc|b)crabccz(?>.*).z(?>x)++rwz(?>x++)z(?>x)++xz(?>x++)xN)rHrJr}r~r)rrs rtest_atomic_groupingReTests.test_atomic_grouping s ::m, (../0 v./ "((:u56 U34 U34 "((;67 "((;67rc$UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"S S55 UR[R"S S55 UR[R"S S55 UR[R"S S55 UR[R"S S55 UR[R"SS55 UR[R"S S55 UR[R"S S55 UR[R"S S55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 UR[R"SS55 g)N(?>a+)r(?>a*)(?>a?) (?>a{1,3})rz(?>a+)bz(?>a*)bz(?>a?)bz (?>a{1,3})b (?>(?:ab)+) (?>(?:ab)*) (?>(?:ab)?)(?>(?:ab){1,3})rz (?>(?:ab)+)cz (?>(?:ab)*)cz (?>(?:ab)?)cz(?>(?:ab){1,3})cr6r[s rtest_fullmatch_atomic_grouping&ReTests.test_fullmatch_atomic_grouping s=  Y45  Y45  Y45  ]C89 ",,y$78 ",,y$78 ",,y$78 ",,}d;<  Z67  Z67  Z67  ^T:;  ^T:;  ^T:;  ^T:;  %7>? ",,~u=> ",,~u=> ",,~u=> ",,'95AB  _e<=  _e<=  _e<=  %8%@ArcUR[R"SS5S/5 UR[R"SS5/SQ5 UR[R"SS5/SQ5 UR[R"SS5S/5 UR[R"S S 5S /5 UR[R"S S 5/S Q5 UR[R"SS 5/SQ5 UR[R"SS 5S /5 g)NrGr:rrHr;rIr<rJrKr=rrLr>rMr?rNr\r[s rtest_findall_atomic_grouping$ReTests.test_findall_atomic_grouping1 s Iu5v> Iu5~F Iu57IJ M59D6B NGNO NG<>RS $6@6(KrcUR[R"SS55 UR[R"SS55 g)Nz(?s:(?>.*?\.).*)\Zza.txtz!(?s:(?=(?P.*?\.))(?P=g0).*)\Z)rrHrr[s rtest_bug_gh91616ReTests.test_bug_gh91616< s2  %:GDE  %I7STrcUR[R"SS5R5S5 UR[R"SS5R5S5 UR[R"SS5R5S5 UR[R"SS5R5S5 UR[R"SS5R5S 5 UR[R"S S5R5S 5 UR[R"S S5R5S5 UR[R"S S5R5S5 UR[R"S S5R5S5 UR[R"SS5R5S5 UR[R"SS5R5S5 UR[R"SS5R5S5 UR[R"SS5R5S 5 UR[R"SS5R5S 5 UR[R"SS5R5S5 UR[R"SS5R5S5 g)Nz(?>(?:.(?!D))+)ABCDErz (?:.(?!D))++z(?>(?:.(?!D))*)z (?:.(?!D))*+z(?>(?:.(?!D))?)CDErrz (?:.(?!D))?+z(?>(?:.(?!D)){1,3})z(?:.(?!D)){1,3}+z (?>(?:ab?c)+)acaz (?:ab?c)++z (?>(?:ab?c)*)z (?:ab?c)*+z (?>(?:ab?c)?)rz (?:ab?c)?+z(?>(?:ab?c){1,3})z(?:ab?c){1,3}+rr[s rtest_bug_gh100061ReTests.test_bug_gh100061@ sI "3W=BBDfM .':??A6J "3W=BBDfM .':??A6J "3U;@@BFK .%8==?H "7AFFH&Q "4g>CCEvN /59>>@&I ,6;;=vF /59>>@&I ,6;;=vF /37<<>G ,499;VD "5u=BBDfM "2E:??A6JrcBUR[R"SS5R5S5 UR[R"SS5R5S5 UR[R"SS5R5S5 g)Nz ((x)|y|z)*+r)rr<z ((x)|y|z){3}+z((x)|y|z){3,}+rr[s rtest_bug_gh101955ReTests.test_bug_gh101955T so -7>>@*M /59@@BJO "2E:AACZPrztest requires multiprocessingc[R"S5nSn[R"URSU4S9nUR 5 UR [5 URUR5S5 UR5(a!UR5 UR 5 gg!UR5(a!UR5 UR 5 ff=f)Nz(?<=[({}])(((//[^\n]*)?[\n])([\000-\040])*)*((/[^/\[\n]*(([^\n]|(\[\n]*(]*)*\]))[^/\[]*)*/))((((//[^\n]*)?[\n])([\000-\040]|(/\*[^*]*\*+([^/*]\*+)*/))*)+(?=[^\000-\040);\]}]))zja(function() { /////////////////////////////////////////////////////////////////// });r)targetargszpattern.sub() timed out) rHrJmultiprocessingProcessrUrrr ris_alive terminate)rrFinput_jsrs rtest_regression_gh94675ReTests.test_regression_gh94675Z s**HI   # #7;;b(^ L   }    QZZ\+D Ezz|| qzz|| s B778C/cXUR[R"SS5SS5 g)Nz12(?!)|3123r3)rArHr{r[s r test_failReTests.test_failn s" ;6q93?rcBSnSHnURUS9 UR[R"X!5[ U55 UR[R "SU-S-U5R 5U5 SSS5 M g!,(df  M=f)N1x )z[\s\S]z[\d\D]z[\w\W]z[\S\s]z\s|\SrErz)+)rKrArHrkr6rrrrlrs rtest_character_set_anyReTests.test_character_set_anyq s{ EAa(  A!147;  eai$.>!B!H!H!JAN)(F((s A+B B c SnSHinURUS9 UR[R"X!55 UR[R"SU-U55 SSS5 Mk g!,(df  M}=f)Nrp)z[^\s\S]z[^\d\D]z[^\w\W]z[^\S\s]rEz(?s:.))rKr}rHr{rqs rtest_character_set_noneReTests.test_character_set_nonez sd ?Aa(!!"))A/2!!"))HqL!"<=)(@((s AA33 B cP"SS[5n[R"U5n[U5H:nUR Xd5 UR U5 UUR SS5 s $ g!Ua Of=fUR SS5 M`!UR SS5 f=f)Nc\rSrSrSrg)*ReTests.check_interrupt..Interrupti r Nrr rr Interruptry s rrzry) ExceptionrHrJr _fail_afterr~)rrFrVmaxcountrzrr~s rcheck_interruptReTests.check_interrupt s    JJw xA ( a+ b$'!    b$' b$'s##A00A96B8A99BB%r|zrequires debug buildcURSSS5 URSSS5 URSSS5 URSSS5 URSSS5 URSSS5 g) Nz(.)*:zabc:dz ([^:])*?:z ([^:])*+:z (.){2,4}:z ([^:]){2,4}?:z ([^:]){2,4}+:)r~r[s rtest_memory_leaksReTests.test_memory_leaks sp Xvs3 \637 \637 \637 -vs; -vs;rr r)r"r#r$r%rBrQrWr\rgrmrrrrrrrrrrrrrr"r+r6r;rLrPrWr]rkr|rrrrrrrrrrrrrrrrrrrrrr!r)r-r3r;r>rHrrCrV ascii_lettersdigitsrIrKrSrXr]rjrorvrzrrrrrrrrrrrrrrrrrrr rrrrr"r ignore_warningsrr)r3r8r=rDrMrUr_rbrjrmrtrrrzrrrrrrrrrrrrunittestskipIfr r rrrrrrrrrrrrr rrrrrr"r-r7r@rDrOrRrUr[r^rcrhrmrrrur~ skipUnlesshasattrrrrr&r rrr0r0%sR //+ E 1H""+@Z% 'A,. `/$/(( @"MH H#HJ0*3Jj.094;NBB**-XR<@<?>3 M O? "HH3,N@M&&NPBFHB ) # B8R4&=PEANCFJ?HH8TA04$LL )((6==8;LLM B BD& ++< K@L8F*H$ GF ? O3J? F:/(*&&,, '24( ,5 4*$$.@ADBD:Mz 9 9C:+AZ;B 8 >G$I4S#($(S(&)&Q UY.I H 804K(2$M __ 7$ $$9;__ 71 1@"7H F+  :4"* 9DH :G( ; 7"u 0 0%3N?6 I 8B6 LUK(Q ___,.MNO&@O> (];=ST<U   <<>s &A  A&c0\rSrSrSrSrSrSrSrSr g) DebugTestsi NcxSnSnUR[U5U5 UR[U5U5 g)Nz(\.)(?:[ch]|py)(?(1)$|: )aSUBPATTERN 1 0 0 LITERAL 46 BRANCH IN LITERAL 99 LITERAL 104 OR LITERAL 112 LITERAL 121 GROUPREF_EXISTS 1 AT AT_END ELSE LITERAL 58 LITERAL 32 0. INFO 8 0b1 2 5 (to 9) prefix_skip 0 prefix [0x2e] ('.') overlap [0] 9: MARK 0 11. LITERAL 0x2e ('.') 13. MARK 1 15. BRANCH 10 (to 26) 17. IN 6 (to 24) 19. LITERAL 0x63 ('c') 21. LITERAL 0x68 ('h') 23. FAILURE 24: JUMP 9 (to 34) 26: branch 7 (to 33) 27. LITERAL 0x70 ('p') 29. LITERAL 0x79 ('y') 31. JUMP 2 (to 34) 33: FAILURE 34: GROUPREF_EXISTS 0 6 (to 41) 37. AT END 39. JUMP 5 (to 45) 41: LITERAL 0x3a (':') 43. LITERAL 0x20 (' ') 45: SUCCESS rAr)rrdumps rtest_debug_flagDebugTests.test_debug_flag s=*(R s+T2 s+T2rc:UR[S5S5 g)Nz(?>ab?)zATOMIC_GROUP LITERAL 97 MAX_REPEAT 0 1 LITERAL 98 0. INFO 4 0b0 1 2 (to 5) 5: ATOMIC_GROUP 11 (to 17) 7. LITERAL 0x61 ('a') 9. REPEAT_ONE 6 0 1 (to 16) 13. LITERAL 0x62 ('b') 15. SUCCESS 16: SUCCESS 17: SUCCESS rr[s rtest_atomic_groupDebugTests.test_atomic_group s z25 rc:UR[S5S5 g)Nr0zPOSSESSIVE_REPEAT 0 1 LITERAL 97 0. INFO 4 0b0 0 1 (to 5) 5: POSSESSIVE_REPEAT_ONE 6 0 1 (to 12) 9. LITERAL 0x61 ('a') 11. SUCCESS 12: SUCCESS rr[s rtest_possesive_repeat_one$DebugTests.test_possesive_repeat_one s v. 1 rc:UR[S5S5 g)Nr4zPOSSESSIVE_REPEAT 0 1 LITERAL 97 LITERAL 98 0. INFO 4 0b0 0 2 (to 5) 5: POSSESSIVE_REPEAT 7 0 1 (to 13) 9. LITERAL 0x61 ('a') 11. LITERAL 0x62 ('b') 13: SUCCESS 14. SUCCESS rr[s rtest_possesive_repeat DebugTests.test_possesive_repeat s {3 6 rr ) r"r#r$r%maxDiffrrrrr&r rrrr sG.3`"  rrcb\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrSrg)PatternReprTestsi cbUR[[R"U55U5 grrArrHrJ)rrFrKs rcheckPatternReprTests.check s  bjj12H=rcbUR[[R"X55U5 grr)rrFrrKs r check_flagsPatternReprTests.check_flags s  bjj898Drc(URSS5 g)Nrpre.compile('random pattern')rr[s rtest_without_flags#PatternReprTests.test_without_flags s #1 3rcFURS[RS5 g)Nrpz+re.compile('random pattern', re.IGNORECASE))rrHrrr[s rtest_single_flag!PatternReprTests.test_single_flag s )2== 9 ;rcURS[R[R-[R-S5 g)Nrpz@re.compile('random pattern', re.IGNORECASE|re.DOTALL|re.VERBOSE))rrHrrrr[s rtest_multiple_flags$PatternReprTests.test_multiple_flags s. )2449RTT> 2 3rcURS[RS5 URS[R[R-[R-S5 g)Nrprz5re.compile('random pattern', re.IGNORECASE|re.DOTALL))rrHrrrr[s rtest_unicode_flag"PatternReprTests.test_unicode_flag sH )2447 9 )2449RTT>4 5rc(URSS5 g)Nz (?i)patternz(re.compile('(?i)pattern', re.IGNORECASE)rr[s rr3"PatternReprTests.test_inline_flags s == ?rcrURSSS5 URSS[R-S5 g)Nrpi0z&re.compile('random pattern', 0x123000)z4re.compile('random pattern', re.IGNORECASE|0x123000))rrHrr[s rtest_unknown_flags#PatternReprTests.test_unknown_flags s8 )8A C )8BDD= B DrcjURSS5 URS[RS5 g)N bytes patternzre.compile(b'bytes pattern')z&re.compile(b'bytes pattern', re.ASCII))rrrHrr[s r test_bytesPatternReprTests.test_bytes& s/ #1 3 )244A CrcFURS[RS5 g)Nrz're.compile(b'bytes pattern', re.LOCALE))rrHrsr[s r test_localePatternReprTests.test_locale, s )244B DrcpURSS5 URSS5 URSS5 g)Nzrandom "double quoted" patternz,re.compile('random "double quoted" pattern')zrandom 'single quoted' patternz,re.compile("random 'single quoted' pattern")z!both 'single' and "double" quotesz1re.compile('both \'single\' and "double" quotes')rr[s r test_quotesPatternReprTests.test_quotes0 s; 3 > @ 3 > @ : E GrcSSS--n[[R"U55nUR[ U5S5 UR USSS5 [[R"U[R 55nUR[ U5S5 UR USSS5 UR USSS5 g) NzVery %spatternzlong rzi,zre.compile('Very long long loniz, re.IGNORECASE))rrHrJrrrAr)rrFrs rtest_long_pattern"PatternReprTests.test_long_pattern8 s"gn5 G$ % A$ 3B!AB GRTT* + A$ 3B!AB 34"45rcUR[[R5S5 UR[[R[R-[R -5S5 UR[[R[R-[R -S-5S5 UR[[R)5S5 UR[[R[R-[R -)5S5 UR[[R[R-[R -S-)5S5 g)Nz re.IGNORECASEz"re.IGNORECASE|re.DOTALL|re.VERBOSEiz+re.IGNORECASE|re.DOTALL|re.VERBOSE|0x100000zLre.ASCII|re.LOCALE|re.UNICODE|re.MULTILINE|re.DOTALL|re.VERBOSE|re.DEBUG|0x1z7re.ASCII|re.LOCALE|re.UNICODE|re.MULTILINE|re.DEBUG|0x1z;re.ASCII|re.LOCALE|re.UNICODE|re.MULTILINE|re.DEBUG|0xffe01)rArrHrrrr[s rtest_flags_repr PatternReprTests.test_flags_reprB s bdd_5 bdd244in-= ? bdd244ine45F H bddU ^ ` RTT "$$/0R T RTT "$$ 678V Xrr N)r"r#r$r%rrrrrrr3rrrrrrr&r rrrr sI>E3;3 5?D C DG6 Xrrc\rSrSrSr\S5rSrSr\S5r Sr \S5r \S 5r \S 5r \S 5rS rg )ImplementationTestiQ z/ Test implementation details of the re module. cUR[5 S[RlSSS5 UR[5 S[R lSSS5 UR[5 [R "S5n[URS55nSUlSSS5 g!,(df  N=f!,(df  Nu=f!,(df  g=f)Nrtr) rGrrHMatchrrrrJr9r)rrtps rtest_immutable!ImplementationTest.test_immutableV s  y )BHHL*   y )BJJN*   y )**R.Cckk"o&BBF* ) * ) ) ) ) )s#B= C<8C= C  C C-cj[RRnURU"S5/5 URU"S5S/5 URU"S5/SQ5 URU"S5/SQ5 URU"S5/S Q5 URU"S 5/S Q5 g) Nrrrr)rrrraaaa)rrtrruababba)rrrtrrrtabcabdac)rrrrtrrrtr)rH _compiler_generate_overlap_tablerA)rfs rtest_overlap_table%ImplementationTest.test_overlap_tableb s LL 0 0 2# 3!% 6L1 6L1 8&89 :(@ArcUR[RRS5 UR[RRS5 g)Nr)assertGreaterEqualrHr MAXREPEATrr[s rtest_signedness"ImplementationTest.test_signednessk s6  6 6:  6 6:rc[U[R5 [U[R5 [R"S5n[U[ UR S555 g)Nr)rrHrrrrJr9rrs rtest_disallow_instantiation.ImplementationTest.test_disallow_instantiationo sD %T2884$T2::6jjn$T4 B+@Arc /SQ/SQ/SQS.nUGHPnURUS9 [RRUS5 UR [ 5n[ U5 SSS5 UR[WR5SU<S35 URUR[5 URU[R5 [RUnURURU5 URURS5 XHnUR[!XE55 M [RU SSS5 GMS g!,(df  GN=f!,(df  GMx=f) N)rJrZSRE_FLAG_IGNORECASE SUBPATTERN _compile_info)rZrr_NamedIntConstant) SubPatternparserr _parse_sub) sre_compile sre_constants sre_parse)modulezmodule z is deprecatedr)rKsysmodulespoprr __import__rArrrrrr" __package__rr)r deprecatednamerrattrs rtest_deprecated_modules*ImplementationTest.test_deprecated_modulesw s'-3(  DT* d+%%&89Qt$:  QYY#*4(.!AC  X6 dCKK0kk$'  t4  "5&,DOOGC$67-KK%+*:9+*s$6E7 E%$C3E7% E4 /E77 F cSSKn[S5Hn[U5n[UR 55nUR UR U5U5 UR URU5U5 U[R;nUR URU5U5 UR URU5U5 M [[SS55SS/-GHn[U5nUR UR U5U5 US:wa8UR URU5[UR 555 X3R 5:g=(d X3R5:gnURURU55 UR URU5X3R 5:g=(d X3R5:g5 GM UR UR S5S5 UR URS5[S55 URURS55 URURS55 g)Nrr6iii(i0r )_srerrordrrA ascii_tolowerunicode_tolowerrVr ascii_iscasedunicode_iscasedr6rrr)rrr rloiscaseds rtest_case_helpers$ImplementationTest.test_case_helpers ssAAAQWWYB   T//2B 7   T11!4b 96///G   T//2G <   T11!4g >eC()Wg,>>AAA   T//2A 6F{  !5!5a!8#aggi.I779n6WWYG   T//2 3   T11!4'')^=qGGI~ ?? ++F3V< --f5s3x@ ++F34 ,,V45rc SSKnSS-nUR[[RS05 UR[ 5 UR SSU/S0S5 SSS5 UR[5 UR 0S/S//5 SSS5 UR[5 UR SSS/S0S5 SSS5 g!,(df  Nx=f!,(df  NU=f!,(df  g=f)Nrrr6rrr r)rrGrrHrbrrJ)rr long_overflows r test_deallocImplementationTest.test_dealloc s  3  )R[[#r:   } - LLM?Ar2 >.   y ) LLQAr2 .*  y ) LLQB 3* ) . - ) )* )s$C:C .C1 C C.1 C?cvSSKJn SS-nUR [ R "SWS- -U55 UR[ R "SUS- -U5R5S 5 UR [ R "S US- -U55 UR[[ RSU-5 UR[[ RSU-5 UR[[ RS U-5 g![a URS5 GN/f=f) Nr)rz requires _sre.MAXREPEAT constantr<rrrtr)rrr) rr ImportErrorrr}rHr~rAr|rGrrJ)rrrVs r%test_repeat_minmax_overflow_maxrepeat8ImplementationTest.test_repeat_minmax_overflow_maxrepeat s > &v "((8y1}#=vFG )y1}"=vFKKM$ & "((:Q#?HI -X 5IJ -Y5JK -Z)5KL > MM< = >sDD87D8cSSKnUR[5nURS/SQ5 SSS5 UR S[ WR 55 UR[5nURS/SQ5 SSS5 UR S[ UR 55 g!,(df  N=f!,(df  NE=f)Nrr)rryrzinvalid template)rr rzan integer is required)rrGrtemplaterrrL)rrrOs r%test_sre_template_invalid_group_index8ImplementationTest.test_sre_template_invalid_group_index s    y )R MM"l +* (#bll*;<   y )R MM"l +* .BLL0AB * )* )sB41C4 C Cr N)r"r#r$r%__doc__rrrrrrrr r rr&r rrrrQ s  B;BB&666444" M MCCrrc \rSrSrSrSrSrg) ExternalTestsi c SSKJn UGH?up#URX#S9 [R"U5nUR UR U55 UR URU55 UR URU55 SS-U-SS--nUR UR U55 UR URUS55 UR URUSS[U5-55 UR URUSS[U5-55 SSS5 GMB g!,(df  GMU=f)zre_tests benchmarksr) benchmarksrFrVrrN) test.re_testsrrKrHrJrr{r~rr)rrrFrlrs2s rtest_re_benchmarks ExternalTests.test_re_benchmarks s,$JGg8JJw' , + A/Y]SY. -E 23E53q6> BC Bus1v~ FG98%88s D"E E c  SSKJnJnJn UGHnS=n=n=n=p[ U5S:XaUupVpxn O![ U5S:XaUupVnO [ SU5eUR XVS9 Xs:XaIUR[R5 [R"U5 SSS5 SSS5 M[R"U5n U RU5n Xr:XaURU S5 SSS5 MUR 5 URU S 5 U RS5upU RS5U R5U RR S .n[#S S 5H"nU RU5nUcS nUUSU-'M$ U RR&R)5HnU RU5nUcS nUX'M UR+[-X5U S5 SSS5 [/US5n[/US5nUR S5 [R"U5n URU RU55 SSS5 UR S5 [R"U[R05n U RU5n U c [3SU5 SSS5 USSS:waaUSSS:waXU bUUR S5 [R"U5n URU RUW W S -55 SSS5 UR S5 [R"U[R65n URU RU55 SSS5 UR S5 [R"U[R85n URU RU55 SSS5 SSS5 GM g!,(df  GNj=f![$a SnGNf=f![$a SnGN^f=f!,(df  GNE=f!,(df  GN=f!,(df  GN=f![4a GNf=f!,(df  GNZ=f!,(df  GN =f!,(df  N=f!,(df  GM=f)zre_tests test suiter)testsFAIL SYNTAX_ERRORNrruz%Test tuples should have 3 or 5 fieldsrzSucceeded incorrectlyzFailed incorrectly)foundrjrrtrNonerzg%dzgrouping errorrQzbytes pattern matchzlocale-sensitive matchz#=== Fails on locale-sensitive matchrrzrange-limited matchzcase-insensitive matchzunicode-sensitive match)rrrr rrrKrGrHrIrJr{r}rr|rrrr5rkeysrAevalr7rprintUnicodeEncodeErrorrrrb)rrrr rrFrloutcomerTrKobjrrrvardictr gir<bss r test_re_testsExternalTests.test_re_tests s;;A6: :G :a :' :D1v{673G8Q1&'#G !H!LLg8***2??; 7+< 98 jj)A?%%f.EF98\\^OOF,@A"(QJE(. Q)/(. 9G#1c])!'aB!z%+.0 *+$YY11668)!'aB!z%+&( 9$$T$%8(%573$<L '2Dq'*B &;< jj. 27= &>? jjryy9!$B!>!"GK @BQK5(WRS\U-B & 2&;< jj1 1eS1W(EF= \\":;**Wbmm+R3AR R3#AR")R3? P R3 P! P7 P! !P7$ P4 0P73P4 4P77 Q R3 Q R3 Q* %R3- Q;7R3:Q;;R3> R R3 R R3" R0 ,R33 S r N)r"r#r$r%rr-r&r rrrr s H]3rr__main__)' test.supportrrrrrrr r r r r rrGrHrVrtimerr,rweakrefr_multiprocessingrcr rrr7r+TestCaser0rrrrrr"mainr rrr6s[[[[ ----s)