+
    ir c                   s    ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt ! R R]4      t	 ! R R]
4      t ! R R]P                  4      tR	 t]R
8X  d
   ]! 4        R# R# )    )proxyNc                   s2   a a ] tR t^
t oV 3R ltRtVtV ;t# )StrSubclassc                4   < \        \        SV `	  V4      4      # N)r   super__getitem__selfZindex	__class__   &&=/usr/lib64/python3.14/site-packages/regex/tests/test_regex.pyr   ZStrSubclass.__getitem__   s    57.u566     __name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell__Z__classcell__r	   __classdict__   @@r   r   r   
   s     7 7r   r   c                   s2   a a ] tR t^t oV 3R ltRtVtV ;t# )BytesSubclassc                r   r   )r   r   r   r   r
   r   r   ZBytesSubclass.__getitem__   s    UW0788r   r   r   r   r   r   r   r      s     9 9r   r   c                   s  a  ] tR t^t o RtRtRtRtRtRt	Rt
RtRtR	tR
tRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRR ltR t R t!R t"R  t#R! t$R" t%R# t&R$ t'R% t(R& t)R' t*R( t+R) t,R* t-R+ t.R, t/R- t0R. t1R/ t2R0 t3R1 t4R2 t5R3 t6R4 t7R5 t8R6 t9R7 t:R8 t;R9 t<R: t=R; t>R< t?R= t@R> tAR? tBR@ tCRA tDRB tERC tFRD tGRE tHRF tIRG tJRH tKRI tLRJ tMRK tNRL tORM tPRN tQRO tRRP tSRQ tTRR tURS tVRT tWRU tXRV tYRW tZRX t[RY t\RZ t]R[ t^R\ t_R] t`R^ taR_ tbR` tcRa tdRb teRc tfRd tgRe thRf tiRg tjRh tkRi tlRj tmRk tnRl toRm tpRn tqRo trRp tsRq ttRr tuRs tvRt twRu txRv tyRw tzRx t{Ry t|Rz t}R{ t~R| tR} tR~ tR tR tR tR tRtV tR# )
RegexTestsz<class '_regex.Pattern'>z5cannot process flags argument with a compiled patternzinvalid group referencez	missing >zbad character in group namezmissing group namez	missing <zunknown groupzbad escape \(end of pattern\)zbad escape \\zunterminated character setz2cannot use a string pattern on a bytes-like objectz2cannot use a bytes pattern on a string-like objectz"expected str instance, bytes foundz'expected a bytes-like object, str foundz,cannot use UNICODE flag with a bytes patternz9ASCII, LOCALE and UNICODE flags are mutually incompatiblez
missing \)zunbalanced parenthesiszbad character rangeznothing to repeatzmultiple repeatzcannot refer to an open groupzduplicate groupz'bad inline flags: cannot turn flags offzundefined character nameNc                sP   a aa S P                  WS4       VVV 3R  loS! W4       R# )c                 s   < \        V\        \        34      '       d   \        W4       F  w  r#S! W#4       K  	  R # SP	                  \        V 4      \        V4      S4       R # r   )Z
isinstanceZtupleZlistZzipZassertIstype)actualexpectxymsgrecurser   s   &&  r   r    Z,RegexTests.assertTypedEqual.<locals>.recurse2   sF    &5$-00/DAAM 0 d6lDL#>r   N)assertEqual)r   r   r   r   r    s   f&&f@r   assertTypedEqualZRegexTests.assertTypedEqual/   s"    -	? 	r   c                s    R p\         P                  ! R4      p\        V4      pVP                  R 4      VP                  R 4      8w  d   V P	                  4        R# R# )ZQabbbcRzab+cN)regexcompiler   findallfail)r   Zsr   r      &   r   test_weakrefZRegexTests.test_weakref;   sF    MM&!!H99Y199Y#77IIK 8r   c                s   V P                  \        P                  ! R R4      P                  ^ 4      R
4       V P                  \        P                  ! RR4      P                  4       R
4       V P                  \        P                  ! RR4      P                  ^ 4      R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! R R4      P                  ^ 4      R
4       V P                  \        P                  ! R R4      P                  4       R
4       V P                  \        P                  ! RR4      P                  ^ 4      R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! R	R4      R4       R# )a*xxxzx*Zaxxx+r   aaaNZxxxaa+r    r          r    r1   )r!   r#   searchspanmatchr      &r   test_search_star_plusZ RegexTests.test_search_star_plusB   s`   dE277:FCdE27796BdE277:FCdE27796Bc5148T5166q96BT51668&AT6277:FCT627796BT5148r   c                sJ    \        V^ ,          4      p\        V^,           4      # )r    )intstr)r   ZmatchobjZ	int_values   && r   bump_numZRegexTests.bump_numN   s    $	9q=!!r   c                s   V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RV P                  R4      R4       V P                  \        P                  ! RV P                  R^4      R4       V P                  \        P                  ! RR	 R4      R
4       V P                  \        P                  ! RR
R4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      \	        ^	4      \	        ^
4      ,           \	        ^4      ,           \	        ^4      ,           \	        ^4      ,           \	        ^4      ,           4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R 4       V P                  \        P                  ! R!R"R!4      R#4       R$# )%(?i)b+r   	bbbb BBBBx x\d+z08.2 -2 23x99yz9.3 -3 24x100yz9.3 -3 23x99y.c                     R # )\nr   mr7   r   <lambda>Z1RegexTests.test_basic_regex_sub.<locals>.<lambda>Y   s    %r   rB   
(?P<a>x)z
\g<a>\g<a>xxZxxxxz
\g<a>\g<1>
(?P<unk>x)z\g<unk>\g<unk>z
\g<1>\g<1>az\t\n\v\r\f\a\bz	
	
z^\s*XtestZXtestz\x0Az\u000Az
\U0000000Az\N{LATIN CAPITAL LETTER A}A   xs   \x0A   
N)r!   r#   subr;   chrr6   r7   r   test_basic_regex_subZRegexTests.test_basic_regex_subR   sp   8S+>F64==:JK
	64==:JAN
	 	3=uE3s3T::}dCVL:}dCVL<1BDI
	<EvN3(93?AQR3<nM3<c!fs2w>NG?"g? #B?(*-a&?1 	2 	7C8'B4#6=4C8$?4<dC4)F
	 	5(D95Ar   c                V    V P                  \        P                  ! R RR4      R4       R# )rI   z\g<1>\g<1>\brH   zxxxxNr!   r#   rQ   r6   r7   r   test_bug_449964ZRegexTests.test_bug_449964q   s"    =/4H
	r   c                sF   V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R4       R# )z\r\nrB   z
abc
def
zabc
def

rF   NrU   r6   r7   r   test_bug_449000ZRegexTests.test_bug_449000v   s    7E3CD
	652BC
	7D2BC
	641AB
	r   c                s\  a \         P                  ! R 4      oV P                  \        V P                  V3R l4       V P                  \        V P                  V3R l4       V P                  \        V P                  V3R l4       V P                  \        V P                  V3R l4       R# )r@   c                  P   < \         P                  ! S R \         P                  4      # rN   )r#   r5   Ipattern   r   rE   *RegexTests.test_bug_1661.<locals>.<lambda>   s    %++gsEGG4r   c                  rY   rZ   )r#   r3   r[   r\   r^   r   rE   r_      s    %,,wUWW5r   c                  rY   rZ   )r#   r%   r[   r\   r^   r   rE   r_      s    %--egg6r   c                  sN   < \         P                  ! S \         P                  4      # r   )r#   r$   r[   r\   r^   r   rE   r_      s    %--1r   N)r#   r$   assertRaisesRegex
ValueErrorFLAGS_WITH_COMPILED_PATr   r]      &@r   test_bug_1661ZRegexTests.test_bug_1661   s}    --$z4+G+G
4	6z4+G+G
5	7z4+G+G
6	8z4+G+G
1	3r   c           	     s    V P                  \        \        \        P                  ! R 4      4      4      V P
                  4       R# )z(?P<quote>)(?(quote))N)r!   reprr   r#   r$   PATTERN_CLASSr6   r7   r   test_bug_3629ZRegexTests.test_bug_3629   s/    d5==1H#IJK


	r   c                s
   V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R24       V P                  \        P                  ! R RR 4      R34       V P                  \        P                  ! R RR 4      R	4       V P                  \        P                  ! R R
R 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R24       V P                  \        P                  ! R RR 4      R34       V P                  \        P                  ! R RR 4      R44       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  V P
                  R 4       V P                  \        P                  V P
                  R 4       V P                  \        P                  V P
                  R 4       V P                  \        P                  V P
                  R  4       V P                  \        P                  V P
                  R! 4       V P                  \        P                  V P
                  R" 4       V P                  \        P                  V P
                  R# 4       V P                  \        P                  V P
                  R$ 4       V P                  \        P                  V P
                  R% 4       V P                  \        P                  V P
                  R& 4       V P                  \        P                  V P
                  R' 4       V P                  \        P                  V P
                  R( 4       V P                  \        P                  ! R)R*R 4      R 4       V P                  \        P                  ! R+R,R-4      R.4       V P                  \        P                  ! R+R/R-4      R04       R1# )5r   \0 z\000z\001z\008z\009z\111r[   z\117ZOz\1111ZI1z\00z\07Zz\08\09z\0az\400u   Āz\777u   ǿrO   s   \400s    s   \777s   c                  2    \         P                  ! R RR 4      # )r   \1r#   rQ   r   r   r   rE   =RegexTests.test_sub_template_numeric_escape.<locals>.<lambda>       
))C
$r   c                  rm   )r   z\8ro   r   r   r   rE   rp      rq   r   c                  rm   )r   z\9ro   r   r   r   rE   rp      rq   r   c                  rm   )r   \11ro   r   r   r   rE   rp          
))C
%r   c                  rm   )r   z\18ro   r   r   r   rE   rp      rs   r   c                  rm   )r   z\1aro   r   r   r   rE   rp      rs   r   c                  rm   )r   z\90ro   r   r   r   rE   rp      rs   r   c                  rm   )r   z\99ro   r   r   r   rE   rp      rs   r   c                  rm   )r   \118ro   r   r   r   rE   rp          
))C#
&r   c                  rm   )r   \11aro   r   r   r   rE   rp      ru   r   c                  rm   )r   z\181ro   r   r   r   rE   rp      ru   r   c                  rm   )r   z\800ro   r   r   r   rE   rp      ru   r   z(((((((((((x)))))))))))rr   z((((((((((y))))))))))(.)rt   xyzZxz8rv   ZxzaNz 8z 9z a)r!   r#   rQ   r`   errorINVALID_GROUP_REFr6   r7   r    test_sub_template_numeric_escapeZ+RegexTests.test_sub_template_numeric_escape   s	   3s3T:35v>35v>35zB35zB35v>35v>3#6@3#6E34f=34f=34jA34jA34jA35x@35x@448'B448'Bu{{D,B,B E% 	&u{{D,B,B E% 	&u{{D,B,B E% 	&u{{D,B,B E& 	'u{{D,B,B E& 	'u{{D,B,B E& 	'u{{D,B,B E& 	'u{{D,B,B E& 	'u{{D,B,B E' 	(u{{D,B,B E' 	(u{{D,B,B E' 	(u{{D,B,B E' 	( 	#<fcJ
	#=wN
	#=wN
	r   c                s    V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! R RR^4      R4       R# )rJ   baaaaaZbbbbbZbaaaaNrU   r6   r7   r   test_qualified_re_subZ RegexTests.test_qualified_re_sub   s>    3W5w?3Wa8'Br   c                rT   )z(\S)\s+(\S)z\1 \2zhello  therezhello thereNrU   r6   r7   r   test_bug_114660ZRegexTests.test_bug_114660   s"    >8^L
	r   c                sr   \         P                  R
8  d*   V P                  \        P                  ! RRR4      R4       M(V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       R	# )r1   z(?V0)x*-Zabxdz-a-b--d-z-a-b-d-z(?V1)x*r+   zab-dNr1      r    sysversion_infor!   r#   rQ   r6   r7   r   test_bug_462270ZRegexTests.test_bug_462270   s    y(UYYy#v>
KUYYy#v>	J9c6:JG4f5v>r   c                s    R pV P                  \        P                  ! RV,           R,           R4      P                  V4      R4       R# )   ÿz(?P<z>a)abcrJ   N)r!   r#   r3   group)r   Z
group_name   & r   test_bug_14462ZRegexTests.test_bug_14462   s;    
g
&:U&B
z"C	)r   c                s   V P                  \        P                  V P                  R  4       V P                  \        P                  V P                  R 4       V P                  \        P                  V P
                  R 4       V P                  \        P                  V P                  R 4       V P                  \        P                  V P                  R 4       V P                  \        V P                  R 4       V P                  \        P                  ! RRR4      R	4       V P                  \        P                  ! RR
R4      R	4       V P                  \        P                  V P                  R 4       R# )c                  2    \         P                  ! R RR4      # )rG   z\g<arH   ro   r   r   r   rE   /RegexTests.test_symbolic_refs.<locals>.<lambda>   s    
))J
.r   c                  r   )rG   z\g<rH   ro   r   r   r   rE   r      s    
))J
-r   c                  r   )rG   \grH   ro   r   r   r   rE   r      s    
))Jt
,r   c                  r   )rG   z\g<a a>rH   ro   r   r   r   rE   r          
))J
D
1r   c                  r   )rG   z\g<1a1>rH   ro   r   r   r   rE   r      r   r   c                  r   )rG   z\g<ab>rH   ro   r   r   r   rE   r          
))J	4
0r   z(?P<a>x)|(?P<b>y)z\g<b>rH    z\2c                  r   )rG   z\g<-1>rH   ro   r   r   r   rE   r      r   r   N)r`   r#   rx   
MISSING_GTMISSING_GROUP_NAME
MISSING_LTBAD_GROUP_NAMEZ
IndexErrorUNKNOWN_GROUP_Ir!   rQ   r6   r7   r   test_symbolic_refsZRegexTests.test_symbolic_refs   s&   u{{DOO >/ 	0u{{D,C,C F. 	/u{{DOO >- 	.u{{D,?,? B2 	3u{{D,?,? B2 	3z4+?+? B1 	2
 	#6$GL#6tDbI 	u{{D,?,? B1 	2r   c                s   V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R	4       V P                  \        P                  ! RRR4      R
4       V P                  \        P                  ! RRR^4      R4       R# )r<   r   r=   zb+rw   zb*N)r>      )zx BBBBr0   )rw   r    )Zxxxyxzx   )Zxxxyzr   )r!   r#   subnr6   r7   r   test_re_subnZRegexTests.test_re_subn   s    Hc;?LD#{;]KD#u5zBD#u5~FD#ua8,Gr   c                s0   V P                  \        P                  ! R R4      . RO4       \        P                  R8  d   V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       MV P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! R	R4      . RO4       V P                  \        P                  ! R
R4      . RO4       T P                  \        P
                  ! R
R4       Uu. uF  qNK  	  up. RO4       V P                  \        P                  ! RR4      . RO4       T P                  \        P
                  ! RR4       Uu. uF  qNK  	  up. RO4       V P                  \        P                  ! RR4      . RO4       T P                  \        P
                  ! RR4       Uu. uF  qNK  	  up. RO4       V P                  \        P                  ! RR4      . R O4       T P                  \        P
                  ! RR4       Uu. uF  qNK  	  up. R O4       V P                  \        P                  ! RR4      . R!O4       V P                  \        P                  ! RR4      . R"O4       V P                  \        P                  ! RR4      . R#O4       R# u upi u upi u upi u upi )$::a:b::c:*(:*)z(?::*)z(:)*Nz([b:]+)z(b)|(:+)z(?:b)|(?::+)r   xaxbxcz(?r)xz(x)|(y)z(?r)(x)|(y)(?V1)\bza b cz(?V1)\mz(?V1)\Mr   rJ   r{   r   cr   r   r   rJ   r   r{   r   r   r   r   r   r   r   rJ   r   r   r   r{   ::r   r   r   r   r   )r   r   r   NrJ   r   r   Nr{   r   r   Nr   Nr   r   rJ   r{   r   r   r   rJ   r   r{   r   r   )r   r   rJ   r   r{   r   r   )r   r   rJ   z:b::r   )r   Nr   rJ   Nr   r   r{   Nr   Nr   r   )r   rJ   r   r   r   )r   r{   rJ   r   )
r   r   NrJ   r   Nr{   r   Nr   )
r   r   Nr{   r   NrJ   r   Nr   )r   rJ    r{   r   r   r   )r   a zb r   )rJ    bz cr   )r!   r#   splitr   r   	splititerr   rD   r   r   test_re_splitZRegexTests.test_re_split   sP   S)46MNy(U[[y9 <  !U[[; >@ AU[[9= @$ %U[[; >K L U[[y9;NOU[[; ># $U[[9= @ U[[; >" #Y	: = 	Z; >> 	?^Y? B 	 	S(35HIU__S(%CD%C!%CD G 	 	Wh79LMU__Wh%GH%G!%GH K 	 	Y9 <* 	+U__Y%IJ%I!%IJ
>	@ 	]H= @. 	/U__]H%MN%M!%MN
>	@ 	Z9 < 	Z9 < 	Z9 < 	+ E I
 K
 Os   
P1
P	
P3
Pc                s   V P                  \        P                  ! R R^4      . RO4       V P                  \        P                  ! R R^4      . RO4       V P                  \        P                  ! RR^4      . RO4       \        P                  R	8  d-   V P                  \        P                  ! RR^4      . R
O4       R# V P                  \        P                  ! RR^4      . RO4       R# )r   r   za:b:c:dz(:)r   N)r   rJ   b::c)rJ   r{   zc:d)r   r   rJ   r   r   r   )r   r   r   r   za:b::c)r!   r#   r   r   r   r6   r7   r   test_qualified_re_splitZ"RegexTests.test_qualified_re_split3  s    S)Q79JKS)Q79JKUIq9 < 	 y(U[[A> A  U[[A> A r   c                s   V P                  \        P                  ! R R4      . 4       V P                  \        P                  ! R R4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! R	R
4      R.4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! RR4      R.4       R# ):+r   
a:b::c:::d(:+)(:)(:*)z\((?P<test>.{0,5}?TEST)\)z	(MY TEST)zMY TESTz\((?P<test>.{0,3}?TEST)\)z\((?P<test>.{0,3}?T)\)z(MY T)zMY Tz[^a]{2}[A-Z]z
  Sz  Sz[^a]{2,3}[A-Z]z
   Sz   SzX(Y[^Y]+?){1,2}( |Q)+DEFzXYABCYPPQ
Q DEFz(\nTest(\n+.+?){0,2}?)?\n+Endz
Test
xyz
xyz
EndNr   r   z:::)r   r   )r   r   )r   r   )zYPPQ
r   )z
Test
xyz
xyzz
xyzr!   r#   r%   r6   r7   r   test_re_findallZRegexTests.test_re_findall@  s   tU3R8t\:<NOv|< ? 	y,? B# 	$ 	'C
"	%'C
"	%'@(K(	 	@5'J'8'BWIN'8(CfXN'B
 /0	2 	'G
!#%B$C	Er   c                sX    V P                  \        P                  ! R R4      . RO4       R# )z(a|(b))abaN)rJ   r   )r{   r{   r   r   r6   r7   r   test_bug_117612ZRegexTests.test_bug_117612Y  s"    z59 < 	r   c                s.   V P                  \        P                  ! R R 4      R,          R4       V P                  \        P                  ! RR 4      R,          R4       V P                  \        P                  ! RR 4      ^ ,          R 4       V P                  \        P                  ! RR 4      ^,          R 4       V P                  \        P                  ! RR 4      P                  ^^4      R4       \        P                  ! R4      pV P                  VP                  R 4      R,          R4       V P                  VP                  R4      R,          R4       V P                  VP                  R4      R,          R4       V P                  VP                  R4      R,          R4       V P                  VP                  R4      R,          R4       \        P                  ! RR 4      pV P                  VP                  4       R 4       V P                  VP                  ^ 4      R 4       V P                  VP                  ^4      R 4       V P                  VP                  ^^4      R4       \        P                  ! R4      pV P                  VP                  R 4      P                  ^^^4      R4       V P                  VP                  R4      P                  R	R
R4      R4       V P                  VP                  R4      P                  ^R
^4      R4       R# )rJ   NNN(a)z((a)|(b))(c)?Nr{   acbcz!(?:(?P<a1>a)|(?P<b2>b))(?P<c3>c)?Za1Zb2Zc3rJ   rJ   rJ   )rJ   rJ   rJ   NN)r{   r{   Nr{   N)r   rJ   rJ   Nr   )r   r{   Nr{   r   )rJ   NN)Nr{   NrJ   Nr   )r!   r#   r5   r   r$   r   patrD      &  r   test_re_matchZRegexTests.test_re_match]  sL   S#.q16:UC03Z@VS1!4c:VS1!4c:VS1771=zJmmO,3*,GH3*,GH4+-HI4+-HI4+-HI KKs#C(S)S)A
3mm?@3--aA68IJ3--dD$? B 	4..q$:<LMr   c                s   V P                  \        P                  ! R R4      R,          R4       V P                  \        P                  ! R R4      R,          R4       V P                  \        P                  ! R R4      R4       V P                  \        P                  ! R R4      R4       V P                  \        P                  ! RR4      R,          R4       V P                  \        P                  ! RR	4      R,          R4       V P                  \        P                  ! R
R	4      R,          R4       V P                  \        P                  ! R
R4      R,          R4       \        P                  ! R4      pV P                  VP                  R4      R,          R4       V P                  VP                  R4      R,          R4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       R# )z^(\()?([^()]+)(?(1)\))$r   r   rJ   Nza)z(az^(?:(a)|c)((?(1)b|d))$abcdz^(?:(a)|c)((?(1)|d))$z(?P<g1>a)(?P<g2>b)?((?(g2)c|d))r   adabdr   )r   (rJ   rJ   NrJ   )r   rJ   r{   )r   Nd)rJ   rJ   r   )r   rJ   r{   r   )r   rJ   Nr   )r!   r#   r5   r$   r   pr   r   test_re_groupref_existsZ"RegexTests.test_re_groupref_existsx  s   %?GJ
	%?EaH K 	%?FM%?FM%=tDQG J 	%=tDQG J 	%<dCAF I 	%<cB1E H 	 MM;<*,BCq)+AB.-r   c                sb   V P                  \        P                  ! R R4      R,          R4       V P                  \        P                  ! RR4      R,          R4       V P                  \        P                  ! R R4      R4       V P                  \        P                  ! R R4      R4       V P                  \        P                  ! RR	4      R,          R4       V P                  \        P                  ! R
R4      R,          R4       V P                  \        P                  ! RR4      R.4       R# )z^(\|)?([^()]+)\1$|a|r   rJ   z^(\|)?([^()]+)\1?$Nza|z|az^(?:(a)|c)(\1)$aaz^(?:(a)|c)(\1)?$r   zE(?i)(.{1,40}?),(.{1,40}?)(?:;)+(.{1,80}).{1,40}?\3(\ |;)+(.{1,80}?)\1z&TEST, BEST; LEST ; Lest 123 Test, Best)r   |rJ   r   )r   rJ   rJ   )r   NN)ZTESTz BESTz LESTr   z123 )r!   r#   r5   r%   r6   r7   r   test_re_grouprefZRegexTests.test_re_groupref  s   %95A!D G 	%:C@C F 	%94@$G%94@$G%7>qA D 	%8#>qA D 	 	'o
247  6!	"r   c                sx    V P                  \        P                  ! R R4      P                  4       RRRR/4       R# )#(?P<first>first) (?P<second>second)first secondfirstsecondN)r!   r#   r5   	groupdictr6   r7   r   test_groupdictZRegexTests.test_groupdict  s4    %J
#)+(H'M	Or   c                sr    V P                  \        P                  ! R R4      P                  R4      R4       R# )r   r   z\2 \1 \g<second> \g<first>zsecond first second firstN)r!   r#   r5   expandr6   r7   r   test_expandZRegexTests.test_expand  s/    %J
 &!>?
%	'r   c                st
   V P                  \        P                  ! R R4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! R	R4      ^,          R4       V P                  \        P                  ! R
R4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! R
R4      ^,          R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      ^ ,          R4       V P                  \        P                  ! RR4      ^ ,          R4       V P                  \        P                  ! RR4      ^ ,          R4       V P                  \        P                  ! RR4      ^ ,          R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        P                  ! R!R4      R4       V P                  \        \        P                  ! R!R"4      4      R4       R# )#z	^(\w){1}$r   Nz
^(\w){1}?$z^(\w){1,2}$z^(\w){1,2}?$z	^(\w){3}$r   z^(\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}$r*   z^x{1}?$z^x{1,2}$z	^x{1,2}?$z^x{1}r   z^x{1}?z^x{0,1}z^x{0,1}?r   z^x{3}$Tz^x{1,3}$z^x{1,4}$z	^x{3,4}?$z^x{3}?$z	^x{1,3}?$z	^x{1,4}?$z^x{}$zx{})r!   r#   r5   boolr6   r7   r   test_repeat_minmaxZRegexTests.test_repeat_minmax  s   \594@]E:DA^U;TB_e<dC\59!<cB^U;A>D^U;A>D_e<Q?E]E:1=sC_e<Q?E_e<Q?E_e<Q?EXu5t<Y6=Z7>[%8$?We4Q7=Xu5a8#>Y6q93?Z7:B?ekk(E:;TBekk*e<=tDekk*e<=tDekk+u=>Eekk)U;<dCekk+u=>Eekk+u=>Eekk+u=>EWe4d;ekk'59:DAr   c           
     sz   V P                  \        P                  ! R 4      P                  R 4       V P                  \        P                  ! R 4      P                  \        P
                  \        P                  ,          \        P                  ,          4       V P                  \        P                  ! R4      P                  \        P                  \        P
                  ,          \        P                  ,          4       V P                  \        P                  ! R 4      P                  ^4       V P                  \        P                  ! R 4      P                  / 4       V P                  \        P                  ! R4      P                  R^R^/4       V P                  \        P                  ! RR4      P                  ^ 4       V P                  \        P                  ! RR4      P                  ^4       V P                  \        P                  ! RR4      P                  ^ 4       V P                  \        P                  ! RR4      P                  ^4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  ^4      R4       V P                  \        P                  ! RR4      P                   R4       V P                  \        P                  ! RR4      P"                  R4       V P                  \%        \'        \        P                  ! RR4      P(                  4      4      V P*                  4       \        P                  ! R	4      p^ VP                  R
&   V P                  VP                  R
,          ^4       R# )z
(?i)(a)(b)s
   (?i)(a)(b)z(?i)(?P<first>a)(?P<other>b)r   Zotherr   rJ   zb(c)abcdefzabc(?P<n>def)ZnNr/   r   r1   r    r0   r   )r!   r#   r$   r]   flagsr[   UZDEFAULT_VERSIONrN   groupsZ
groupindexr5   posendposr3   r4   stringZregsrf   r   Zrerg   r   r   r   test_getattrZRegexTests.test_getattr  s   |4<<lK|4::EGGegg<M


=  	!}5;;UWWuww=N!!>" 	#|4;;Q?|4??D'EFQQAw
"	$ 	UC044a8UC077;fh7;;Q?fh7>>Bfh7<<>Gfh7<<Q?HUC077=UC0557GHd5;;uc#:#=#=>?


	 MM*+Sc*A.r   c                sn   V P                  \        P                  ! R R4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR\        P                  4      ^,          R4       V P                  \        P                  ! RR	\        P                  4      ^,          R4       V P                  \        P                  ! R R\        P                  4      ^,          R4       V P                  \        P                  ! RR\        P                  4      ^,          R4       V P                  \        P                  ! R
R\        P
                  4      ^ ,          R4       V P                  \        P                  ! RR\        P
                  4      ^ ,          R4       V P                  \        P                  ! RR\        P
                  4      R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR	4      ^,          R4       V P                  \        P                  ! RR\        P
                  4      ^ ,          R4       V P                  \        P                  ! RR\        P
                  4      ^ ,          R4       V P                  \        P                  ! RR\        P
                  4      R4       V P                  \        P                  ! RR4      ^ ,          R4       V P                  \        P                  ! RR\        P                  4      ^ ,          R4       V P                  \        P                  ! RR\        P                  4      ^ ,          R4       R# )z\b(b.)\bzabcd abc bcd bxZbxz\B(b.)\Bzabc bcd bc abxds   \b(b.)\bs   abcd abc bcd bxs   bxs   \B(b.)\Bs   abc bcd bc abxd^abc$z
abc
r   z	^\Aabc\Z$Ns   ^abc$s   
abc
   abcs	   ^\Aabc\Z$z\d\D\w\W\s\Sz1aa! as   \d\D\w\W\s\Ss   1aa! a)r!   r#   r3   LOCALEUNICODEMr6   r7   r   test_special_escapesZRegexTests.test_special_escapes  s   k3DEaH$Ok3DEaH$Ol4F
,,!	#l4F
,,!	#k3D
--!	#k3D
--!	# 	h	577CAFNlE577CAFNlIuwwGNl4FGJ
	l4FGJ
	iUWWEaH
	mVUWWEaH
	mZI
	 	ox@CXN&6	
,,%	'ox
--%	'r   c           
     s   V P                  \        P                  ! R R4      ^,          R4       V P                  \        P                  ! R R\        P                  4      ^,          R4       V P                  RP	                  \        P
                  ! RR\        P                  R7      4      R4       V P                  RP	                  \        P
                  ! RR\        P                  R7      4      R4       V P                  RP	                  \        P
                  ! RR\        P                  R7      4      R4       R# )	z([\u2222\u2223])u   ∢r   r@   u   eèéêëēěėr   z%[e\xe8\xe9\xea\xeb\u0113\u011b\u0117]z*e|\xe8|\xe9|\xea|\xeb|\u0113|\u011b|\u0117N)r!   r#   r5   r   joinr%   r6   r7   r   test_bigcharsetZRegexTests.test_bigcharset  s    %8(CAF
	%8(
--%	's
/u}}"F G
/	1 	/W
/u}}"F G
/	1 	/\
/u}}"F G
/	1r   c                s    V P                  \        P                  ! R R\        P                  4      ^ ,          R4       V P                  \        P                  ! RR\        P                  4      ^ ,          R4       R# )a.ba
ba.*bza

bN)r!   r#   r5   DOTALLr6   r7   r   test_anyallZRegexTests.test_anyall  sQ    UFELLA!DfMVXu||DQG
	r   c                s   V P                  \        P                  ! R R4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! R	R
4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       R# )z(a(?=\s[^a]))a brJ   z(a(?=\s[^a]*))z(a(?=\s[abc]))z(a(?=\s[abc]*))za bcz(a)(?=\s\1)a az(a)(?=\s\1*)a aaz(a)(?=\s(abc|a))z(a(?!\s[^a]))z(a(?!\s[abc]))za dz(a)(?!\s\1)z(a)(?!\s(abc|a))Nr!   r#   r5   r6   r7   r   test_non_consumingZRegexTests.test_non_consuming   sj   %5u=a@#F%6>qA3G%6>qA3G%7@CSI^U;A>D_f=a@#F%8%@CSI%5u=a@#F%6>qA3G^U;A>D%8%@CSIr   c                s   V P                  \        P                  ! R R\        P                  4      ^ ,          R4       V P                  \        P                  ! RR\        P                  4      ^ ,          R4       V P                  \        P                  ! RR\        P                  4      ^,          R4       V P                  \        P                  ! RR\        P                  4      ^,          R4       V P                  \        P                  ! RR\        P                  4      ^,          R4       V P                  \        P                  ! R	R
\        P                  4      ^,          R
4       V P                  \        P                  ! RR\        P                  4      ^,          R4       V P                  \        P                  ! RR
\        P                  4      ^,          R
4       V P                  \        P                  ! RR\        P                  4      ^,          R4       V P                  \        P                  ! RR4      P	                  4       R4       V P                  \        P                  ! RR4      P	                  4       R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       R# )r   ABCr   s   ABCz
(a\s[^a]*)za bbz
(a\s[abc])r   z(a\s[abc]*)z	((a)\s\2)r   z
((a)\s\2*)r   z((a)\s(abc|a))z((a)\s(abc|a)*)z[Z-a]_z	(?i)[Z-a]z(?i)naoZnAoTz
(?i)n\xE3ou   nÃou   NÃOz(?i)su   ſNr   )r!   r#   r5   r[   r4   r   r6   r7   r   test_ignore_caseZRegexTests.test_ignore_case.  s3   UE577;A>FVVUWW=a@&I]FEGGDQG
	]E577CAFN^VUWWEaH
	\5%''B1EuM]FEGGDQG
	%6uwwGJ
	%7I!L
	 	Xs388:FC\37<<>Gekk*e<=tDekk-BCTJekk-BCTJekk(H=>Er   c                sP   V P                  \        P                  ! R R4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R24       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR	4      P                  4       R24       V P                  \        P                  ! RR
4      P                  4       R24       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R34       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R24       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R44       V P                  \        P                  ! RR4      P                  4       R44       V P                  \        P                  ! RR4      P                  4       R44       RpV FB  pV F9  p\        P                  ! RV,           V4      '       d   K)  V P                  4        K;  	  KD  	  V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! R!R4      4      R4       V P                  \        \        P                  ! R!R4      4      R4       V P                  \        P                  ! R"R#4      R$R%.4       V P                  \        P                  ! R&R#4      R$R%.4       V P                  \        P                  ! R'R(4      P                  4       R54       V P                  \        P                  ! R)R(4      P                  4       R54       V P                  \        P                  ! R*R(4      P                  4       R54       V P                  \        P                  ! R+R,R.R-7      P                  4       R64       V P                  \        P                  ! R+R.R/.R-7      P                  4       R74       R0# )8z(?fi)ssZSSz(?fi)SSZsst   ßz#(?fi)\N{LATIN SMALL LETTER SHARP S}z (?fi)\N{LATIN SMALL LIGATURE ST}ZSTz(?fi)STu   ﬆu   ﬅz(?fi)SSTu   ßtu   sﬅu   sﬆZSSTz(?fi)FFIu   ﬃu   ﬀiu   fﬁz!(?fi)\N{LATIN SMALL LIGATURE FFI}ZFFIz!(?fi)\N{LATIN SMALL LIGATURE FF}iz!(?fi)f\N{LATIN SMALL LIGATURE FI}u   Σσςz(?fi)z(?iV1)ffu   ﬀﬁTu   ﬁﬀz(?iV1)fiz
(?iV1)fffiz(?iV1)f\uFB03z(?iV1)f\uFB01z/(?iV0)\m(?:word){e<=3}\M(?<!\m(?:word){e<=1}\M)z.word word2 word word3 word word234 word23 wordZword234Zword23z/(?iV1)\m(?:word){e<=3}\M(?<!\m(?:word){e<=1}\M)z$(?fi)a\N{LATIN SMALL LIGATURE FFI}nez
  affine  z*(?fi)a(?:\N{LATIN SMALL LIGATURE FFI}|x)nez+(?fi)a(?:\N{LATIN SMALL LIGATURE FFI}|xy)nez(?fi)a\L<options>neZaffineoptionsu   aﬃneZffiNr    r   r   r/   r2   )r      r       r    r   )r!   r#   r3   r4   r5   r&   r   r%   )r   Zsigmach1ch2r'   r   test_case_foldingZRegexTests.test_case_foldingH  s   j$7<<>Gj$7<<>Gj
*,,0DFF	<&L
	  	&I
	 j
'))-	9j
-//3tvv	? 	k
+--1TVV	=k
.004	@k
(**.$&&	:&I
	!k
(**.$&&	: 	k
(**.$&&	:k
(**.$&&	:k
(**.$&&	:&J
	!&J
	!&J
	! %C{{8c>377IIK  
 	ell;GH
	ell;GH
	ell;GH
	ell;GH
	ell=.IJ
	ell+;
  	"ell;GH
	ell;GH
	ell=.IJ
	ell+;
  	"ell+;YGH
	ell+;YGH
	 	'Y
:<>G
>	 	'Y
:<>G
>	 	&M
	(&S	)&T	)&<h12448DFF	D&<
+eW>>Bdff	Nr   c                sb    V P                  \        P                  ! R R4      ^,          R4       R# )z(\s)r   Nr   r6   r7   r   test_categoryZRegexTests.test_category  s"    Wc215s;r   c                s    V P                  \        P                  ! R R4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       R# )z\s([^a])r   r{   z	\s([^a]*)z bbZbbNr!   r#   r3   r6   r7   r   test_not_literalZRegexTests.test_not_literal  sB    k48;SAlE:1=tDr   c                s    V P                  \        P                  ! R R4      ^,          R4       V P                  \        P                  ! RR4      ^ ,          R4       R# )z\s(b)r   r{   za\sr   Nr  r6   r7   r   test_search_coverageZRegexTests.test_search_coverage  sB    h5a8#>fd3A6=r   c                s   R pV P                  \        P                  ! V4      V4       \        ^ R4       F  pV\	        V4      ,          pV P                  \        \        P                  ! \        P                  ! \	        V4      4      \	        V4      4      4      R4       V P                  \        P                  ! \        P                  ! \	        V4      4      \	        V4      4      P                  4       R4       K  	  \        P                  ! \        P                  ! V4      4      pV P                  VP                  V4      P                  4       R4       R# )r      TNr   r    r  )	r!   r#   escaperangerR   r   r5   r4   r$   )r   r   ir   r'   r   test_re_escapeZRegexTests.test_re_escape  s    a!,q#AQKAT%++ell3q6.BCF"KLU[[c!f)=s1vFKKM	  mmELLO,1**,h7r   c           
     sp   R pV P                  \        P                  ! V4      V4       \        ^ R4       F  p\	        V.4      pW,          pV P                  \        \        P                  ! \        P                  ! V4      V4      4      R4       V P                  \        P                  ! \        P                  ! V4      V4      P                  4       R4       K  	  \        P                  ! \        P                  ! V4      4      pV P                  VP                  V4      P                  4       R4       R# )r   r  TNr   r  )	r!   r#   r  r  bytesr   r5   r4   r$   )r   r   r  r{   r   s   &    r   test_re_escape_byteZRegexTests.test_re_escape_byte  s    a!,q#Aqc
AFAT%++ell1oq"ABDIU[[a!<AACVL	  mmELLO,1**,h7r   c                s   \         P                  \         P                  8w  d   V P                  4        \         P                  \         P
                  8w  d   V P                  4        \         P                  \         P                  8w  d   V P                  4        \         P                  \         P                  8w  d   V P                  4        \         P                  \         P                  8w  d   V P                  4        R # R # r   )r#   r[   
IGNORECASEr&   Lr   r   	MULTILINESr   rL   ZVERBOSEr6   r7   r   test_constantsZRegexTests.test_constants  s    77e&&&IIK77ell"IIK77eoo%IIK77ell"IIK77emm#IIK $r   c                s4   \         P                  \         P                  \         P                  \         P                  \         P
                  3 FF  pV P                  \        \        \         P                  ! R V4      4      4      V P                  4       KH  	  R# )z	^pattern$N)r#   r[   r   rL   r  r  r!   rf   r   r$   rg   )r   Zflagr   r   
test_flagsZRegexTests.test_flags  sZ    WWegguwwADT$u}}[$'G"HI  " Br   c                s   R EF  pV P                  \        \        P                  ! RV,          \	        V4      4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      R,           4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      R,           4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      R,           4      4      R4       V P                  \        \        P                  ! R	V,          \	        V4      R
,           4      4      R4       EK  	  V P                  \        P                  V P                  R 4       R# )r    z\%03oTz\%03o00z\%03o8Z8z\x%02xz\x%02x0z\x%02xzzc                  0    \         P                  ! R R4      # )z\911r   r#   r5   r   r   r   rE   Z8RegexTests.test_sre_character_literals.<locals>.<lambda>  s    
++gr
"r   Nr    r     i    i@   i   i   i   )r!   r   r#   r5   rR   r`   rx   ry   r   r  r   r   test_sre_character_literalsZ&RegexTests.test_sre_character_literals  s<   2AT%++hlCF"CDdKT%++i!mSVc\"JKT%++i!mSVc\"JKT%++i!mSV"DEtLT%++j1nc!fsl"KLT%++j1nc!fsl"KL 3 	u{{D,B,B E# 	$r   c                st   R
 EF  pV P                  \        \        P                  ! RV,          \	        V4      4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      4      4      R4       EK  	  V P                  \        P                  V P                  R 4       R	# )r    z[\%03o]Tz[\%03o0]z[\%03o8]z[\x%02x]z	[\x%02x0]z	[\x%02xz]c                  r  )z[\911]r   r  r   r   r   rE   Z>RegexTests.test_sre_character_class_literals.<locals>.<lambda>  s    
++i
$r   Nr   )r!   r   r#   r5   rR   r`   rx   BAD_OCTAL_ESCAPEr"  r   r   !test_sre_character_class_literalsZ,RegexTests.test_sre_character_class_literals  s"   2AT%++j1nc!f"EFMT%++kAos1v"FGNT%++kAos1v"FGNT%++kAos1v"FGNT%++lQ.>A"GH$OT%++lQ.>A"GH$O 3 	u{{D,A,A D% 	&r   c                sJ   V P                  \        P                  ! R R4      P                  ^4      R4       V P                  \        P                  ! R R4      P	                  ^4      R4       V P                  \        P                  ! R R4      P                  ^4      R4       R# )z(a)|(b)r{   Nr&  r&  )r!   r#   r5   startendr4   r6   r7   r   test_bug_113254ZRegexTests.test_bug_113254  st    Z5;;A>CZ599!<bAZ5::1=xHr   c                s   V P                  \        P                  ! R R4      P                  R4       V P                  \        P                  ! RR4      P                  ^4       V P                  \        P                  ! RR4      P                  R4       V P                  \        P                  ! RR4      P                  R4       V P                  \        P                  ! RR4      P                  ^4       R# )z(a)?arJ   Nz(a)(b)?br   z(?P<a>a)(?P<b>b)?bz(?P<a>a(b))((a)))r!   r#   r5   Z	lastindex	lastgroupr6   r7   r   test_bug_527371ZRegexTests.test_bug_527371  s    Xc2<<dC[6@@!D%:4@JJ
	]D9CCSIWc2<<a@r   c                s^    V P                  \        P                  V P                  R  4       R# )c                  .    \         P                  ! R 4      # )zfoo[a-r#   r$   r   r   r   rE   Z,RegexTests.test_bug_545855.<locals>.<lambda>      
--
!r   N)r`   r#   rx   BAD_SETr6   r7   r   test_bug_545855ZRegexTests.test_bug_545855  s#     	u{{DLL ;" 	#r   c                sP   V P                  \        P                  ! R RR,          R,           4      P                  ^ 4      R4       V P                  \        P                  ! RRR,          R,           RR,          ,           R,           4      P                  ^ 4      R	4       V P                  \        P                  ! RR
R,          R,           4      P                  ^ 4      R4       V P                  \        P                  ! RRR,          R,           4      P                  ^ 4      R4       R# )z.*?ci'  r   r   i!N  z.*?cdi  r   cdei#N  i N  r   deia  z(a|b)*?cN)r!   r#   r5   r)  r3   r6   r7   r   test_bug_418626ZRegexTests.test_bug_418626  s     	VUT\D-@AEEaH
	WdTkC.?$+.M
/ Q	 Weemd.BCGGJ
	 	j%$,2EFJJ1M
	r   c                s    R \         P                  ! R4      ,           R,           pT P                  \         P                  ! V4      ;'       d    ^^4       R# )Z[u   ‹Z]N)r#   r  r!   r$   )r   r   r   r   test_bug_612074ZRegexTests.test_bug_612074  s;    ELL**S0s+1115r   c                s`   V P                  \        P                  ! R RR,          4      ^,          R4       V P                  \        P                  ! RRR,          R,           4      ^,          R4       V P                  \        P                  ! RRR,          R,           4      ^,          R4       R# )z(x)*iP  r   z(x)*yr   z(x)*?yNr   r6   r7   r   test_stack_overflowZRegexTests.test_stack_overflow  sz     	VUS[9!<cBWeckC.?@CSIXus{S/@A!DcJr   c           	     sP   R  pR pR pR p\         P                  ! RV3RV3RV3RV3R.4      pV P                  \        \	        VP
                  P                  R	4      P                  4      4      V P                  4       V P                  VP                  R
4      . ROR	34       R# )c                 s    V# r   r   scannerZtoken   &&r   s_identZ(RegexTests.test_scanner.<locals>.s_ident   s    E\r   c                 s    R V,          # )zop%sr   r8  r:  r   
s_operatorZ+RegexTests.test_scanner.<locals>.s_operator!  s    v~(=r   c                     \        V4      # r   )Zfloatr8  r:  r   s_floatZ(RegexTests.test_scanner.<locals>.s_float"  s    E%L%8r   c                 r=  r   )r9   r8  r:  r   s_intZ&RegexTests.test_scanner.<locals>.s_int#  s    #e*#4r   z[a-zA-Z_]\w*z\d+\.\d*r?   z=|\+|-|\*|/Nr   zsum = 3*foo + 312.50 + bar)z\s+N)	Zsumzop=r1   zop*fooop+g     s@rA  bar)	r#   ZScannerr!   rf   r   r9  r]   rg   Zscan)r   r;  r<  r>  r?  r9     &     r   test_scannerZRegexTests.test_scanner  s    1=84--/7!;k
>UOnj%A D!  	d7??#:#:2#>#F#FGH


	 	&BC G>?AFC 	Dr   c                s    R Fm  pV P                  \        P                  ! RV,          R4      R,          R4       V P                  \        P                  ! RV,          R4      R,          R4       Ko  	  R# )	r   z
((.%s):)?zr  r   Na:z)r   ?Z*)r  NN)rE  za:rJ   r   )r   Zopr   r   test_bug_448951ZRegexTests.test_bug_448951/  sd     BU[[);SA!D G U[[);UCAF I  r   c                s   V P                  \        P                  ! R R4      R,          R4       V P                  \        P                  ! RR4      R,          R4       V P                  \        P                  ! RR4      R,          R4       V P                  \        P                  ! RR4      R,          R4       V P                  \        P                  ! RR4      R,          R4       V P                  \        P                  ! RR	4      R,          R4       V P                  \        P                  ! R
R4      R,          R4       V P                  \        P                  ! RR4      R,          R4       R# )z	^((a)|b)*r   r   z^(([ab])|c)*z^((d)|[ab])*Nz^((a)c|[ab])*z^((a)|b)*?cz^(([ab])|c)*?dabcdz^((d)|[ab])*?cz^((a)c|[ab])*?c)r   r{   rJ   )r   r   r{   )r   r{   N)r   r{   rJ   )rH  r   r{   )r   r{   Nr   r6   r7   r   test_bug_725106ZRegexTests.test_bug_7251068  s0   [%8;=MN^U;A> A 	^U;A> A 	_e<Q? B 	]E:1= @ 	%5v>qA D 	%5u=a@ C 	%6>qA D 	r   c                s    V P                  \        P                  ! R R4      R,          R4       V P                  \        P                  ! RR4      R,          R4       R# )z(a)(?:(?=(b)*)c)*Zabbr   Nz(a)((?!(b)*))*rJ   rJ   N)rJ   rJ   NNr   r6   r7   r   test_bug_725149ZRegexTests.test_bug_725149J  sP    %8%@C F 	%5u=a@ C 	r   c                s     ! R  R\         4      p\        P                  ! V! R4      4      pV P                  VP	                  R4      R4       R# )c                   s    ] tR tRtRtR# ).RegexTests.test_bug_764548.<locals>.my_unicodeiS  r   N)r   r   r   r   r   r   r   r   
my_unicoderL  S  s    tr   rM  r   rw   N)r:   r#   r$   r!   r5   )r   rM  r   r   r   test_bug_764548ZRegexTests.test_bug_764548Q  s6    ##mmJu-.5)40r   c                s    \         P                  ! R R4      pT P                  V Uu. uF  q"^ ,          NK  	  up. RO4       R# u upi )r   r   Nr   )r#   finditerr!   )r   itZitemr   r   test_finditerZRegexTests.test_finditerW  s9    ^^E<0b1bdq''b13EF1s   Ac                s    \         P                  ! R 4      \         P                  ! R4      J d   V P                  4        R# R# )Z
bug_926075s
   bug_926075N)r#   r$   r&   r6   r7   r   test_bug_926075ZRegexTests.test_bug_926075[  s+    ==&%--*FFIIK Gr   c                sx    R pV P                  \        P                  ! V4      P                  R4      . RO4       R# )u   [.。．｡]za.b.cNrJ   r{   r   )r!   r#   r$   r   rc   r   r   test_bug_931848ZRegexTests.test_bug_931848_  s1    .w/55g> A 	r   c                s  a \         P                  ! R R4      oV P                  \        S4      P	                  4       R4       V P                  \        V3R l4       \         P                  ! R 4      P                  R4      pV P                  VP                  4       P	                  4       R4       V P                  VP                  4       R4       R# )\sr   c                     < \        S 4      # r   nextrP  r^   r   rE   Z,RegexTests.test_bug_581080.<locals>.<lambda>g  	    br   Nr0   r   )
r#   rO  r!   rX  r4   assertRaisesStopIterationr$   r9  r3   )r   r9  rP  s   & @r   test_bug_581080ZRegexTests.test_bug_581080d  s    ^^E5)b&1-)9:--&..u5)..0&9)40r   c                s  a \         P                  ! R R4      oV P                  \        S4      P	                  4       R4       V P                  \        S4      P	                  4       R4       V P                  \        V3R l4       R# )z.*Zasdfc                  rV  r   rW  rY  r^   r   rE   Z,RegexTests.test_bug_817234.<locals>.<lambda>q  rZ  r   Nr  r   r   )r#   rO  r!   rX  r4   r\  r]  )r   rP  rd   r   test_bug_817234ZRegexTests.test_bug_817234m  sX    ^^E6*b&1b&1-)9:r   c                s$   ^ RI pR F  pVP                  V4      pV P                  \        P                  ! R4      P	                  V4      R4       V P                  \        P                  ! R4      P	                  V4      R,          R4       K  	  R# )r    NZ
bBhHiIlLfds   blar   :r0   NNr   )arrayr!   r#   r$   r5   )r   ra  ZtypecoderJ   r'   r   test_empty_arrayZRegexTests.test_empty_arrays  sj    $HH%AU]]6288;TBU]]3/55a8>C %r   c                s   \        R 4      p\        R4      p\        P                  ! V\        P                  \        P                  ,          4      pV P                  \        VP                  V4      4      R4       \        P                  ! V\        P                  \        P                  ,          4      pV P                  \        VP                  V4      4      R4       \        P                  ! RV,           \        P                  4      pV P                  \        VP                  V4      4      R4       \        P                  ! RV,           \        P                  4      pV P                  \        VP                  V4      4      R4       \        P                  ! RV,           4      pV P                  \        VP                  V4      4      R4       \        P                  ! RV,           4      pV P                  \        VP                  V4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        P                  ! RR4      R4       R# )	i  i  Tz(?i)z(?iu)(?i)arN   za(?i)N)rR   r#   r$   r[   r   r!   r   r5   )r   Z
upper_charZ
lower_charr   r'   r   test_inline_flagsZRegexTests.test_inline_flags{  s   [
[
MM*egg&78aggj12D9MM*egg&78aggj12D9MM&:-uww7aggj12D9MM&:-uww7aggj12D9MM'J./aggj12D9MM'J./aggj12D9 	ekk(C894@Xs3T:r   c                s   \         P                  ! R 4      pV P                  VP                  RR4      R4       V P                  VP                  RR4      R4       V P                  VP                  RR4      R4       \         P                  ! R \         P                  4      pV P                  VP                  RR4      R4       V P                  VP                  RR4      R	4       V P                  VP                  RR4      R4       R
# )$Z#za
b
za
b#
#za
b
cza
b
c#rF   z#
#za#
b#
#za#
b#
c#N)r#   r$   r!   rQ   r  rc   r   r   test_dollar_matches_twiceZ$RegexTests.test_dollar_matches_twice  s    --$S(3Z@S)4jAS$/8--U__5S(4kBS)4lCS$/8r   c                sJ  aa \         P                  ! R 4      o\         P                  ! R4      oV P                  \        V P                  V3R l4       V P                  \        V P
                  V3R l4       V P                  \        V P                  V3R l4       V P                  \        V P                  V3R l4       V P                  \        V P                  V3R l4       V P                  \        V P
                  V3R l4       V P                  \        V P                  V3R l4       V P                  \        V P
                  V3R	 l4       V P                  \        V P                  R
 4       V P                  \        V P                  R 4       V P                  \        V P                  R 4       V P                  \        V P                  R 4       V P                  \        V P                  R 4       V P                  \        V P                  R 4       R# )r@   s   .c                  &   < S P                  R 4      # )   br5   r   r^   r   rE   2RegexTests.test_bytes_str_mixing.<locals>.<lambda>  s    
))D/r   c                  rg  )r{   ri  bpatr^   r   rE   rk    s    
**S/r   c                  (   < S P                  R R4      # rh  r   rQ   rj  r^   r   rE   rk    s    
''$
r   c                  rn  r{      crp  rj  r^   r   rE   rk    s    
''#t
r   c                  rn  )rh  rr  rp  rj  r^   r   rE   rk    s    
''$
r   c                  rn  ro  rp  rl  r^   r   rE   rk    s    
((4
r   c                  rn  rq  rp  rl  r^   r   rE   rk    s    
((3
r   c                  rn  r{   r   rp  rl  r^   r   rE   rk    s    
((3
r   c                  L    \         P                  ! R \         P                  4      # )   \wr#   r$   r   r   r   r   rE   rk    s    
--
.r   c                  r.  )s   (?u)\wr/  r   r   r   rE   rk        
--

#r   c                  sv    \         P                  ! R \         P                  \         P                  ,          4      # )\w)r#   r$   r   ASCIIr   r   r   rE   rk    s    
--u}}u{{:
;r   c                  rt  )z(?u)\w)r#   r$   ry  r   r   r   rE   rk    s    
--	5;;
/r   c                  rt  )(?a)\wrv  r   r   r   rE   rk    s    
--	5==
1r   c                  r.  z(?au)\wr/  r   r   r   rE   rk    rw  r   N)r#   r$   r`   Z	TypeErrorSTR_PAT_ON_BYTESBYTES_PAT_ON_STRSTR_PAT_BYTES_TEMPLBYTES_PAT_STR_TEMPLra   BYTES_PAT_UNI_FLAGMIXED_FLAGS)r   rm  r   s   &@@r   test_bytes_str_mixingZ RegexTests.test_bytes_str_mixing  s   mmC }}T"y$*?*? B 	y$*?*? B 	y$*B*B E 	y$*?*? B 	y$*?*? B 	y$*?*? B 	y$*B*B E 	y$*?*? B 	 	z4+B+B E/ 	0z4+B+B E$ 	%z4+;+; >< 	=z4+;+; >0 	1z4+;+; >2 	3z4+;+; >$ 	%r   c                s    ^ \         P                  3 F  p\         P                  ! RV\         P                  ,          4      pV P	                  \        VP                  R4      4      R4       \         P                  ! RV4      pV P	                  \        VP                  R4      4      R4       K  	  \         P                  ! R\         P                  \         P                  ,          4      pV P	                  VP                  R4      R4       \         P                  ! R\         P                  4      pV P	                  VP                  R4      R4       \         P                  ! R\         P                  4      pV P	                  VP                  R4      R4       \         P                  ! R4      pV P	                  VP                  R4      R4       ^ \         P                  3 F  p\         P                  ! RV\         P                  ,          4      pV P	                  VP                  R	4      R4       \         P                  ! R
4      pV P	                  VP                  R	4      R4       K  	  V P                  \        V P                  R 4       R# )r    t   À   àTrx  Nu   (?a)Àrz  s      ru  c                  r.  r{  r/  r   r   r   rE   Z8RegexTests.test_ascii_and_unicode_flag.<locals>.<lambda>  rw  r   )r#   r   r$   r  r!   r   r5   ry  r`   ra   r  )r   r   r   r   r   test_ascii_and_unicode_flagZ&RegexTests.test_ascii_and_unicode_flag  s   'E--0@0@(@ACT#))F"34d;--u-CT#))F"34d;	 ( mmFEKK%2B2B$BC6*D1mmJ(8(896*D1mmE5;;/6*D1mmI&6*D1 %E--1A1A)ABCSYYw/6--'CSYYw/6	 & 	z4+;+; >$ 	%r   c                s   \         P                  ! R R4      pV'       g   V P                  R4       MSV'       d;   V^ ,          VP                  ^ 4      8w  g   V^,          VP                  ^4      8w  d   V P                  R4       V'       g   V P                  R4       R# VR,          R8w  d3   V P                  RP	                  \        VR,          4      4      4       R# R# )(?<a>\w)xyz(Failed: expected match but returned NoneFailedr   z0Failed: expected "('x', 'x')" but got {} insteadN)r   r   )r#   r5   r&   r   formatasciir   r   r   test_subscripting_matchZ"RegexTests.test_subscripting_match  s    KKT*II@Aadaggaj(AaDAGGAJ,>IIhII@AqTZIIJQQRWXYZ[X\R]^_  r   c                s    \         P                  ! R R4      p\         P                  ! RR4      pV'       d   V'       d   VR,          VR,          8X  g   V P                  R4       R# R# )z	(?P<a>\w)r   r  r   r  N)r#   r5   r&   )r   Zm0Zm1r   r   test_new_named_groupsZ RegexTests.test_new_named_groups  sF    [[s+[[c*rber!unIIh -r   c           
     s   V P                  \        P                  ! R R4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR	4      4      R4       V P                  \        \        P                  ! R
R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! R
R4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR	4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! R!R4      4      R4       V P                  \        \        P                  ! R"R4      4      R4       V P                  \        \        P                  ! R#R4      4      R4       V P                  \        \        P                  ! R$R4      4      R4       V P                  \        \        P                  ! R%R4      4      R4       V P                  \        \        P                  ! R&R4      4      R4       V P                  \        \        P                  ! R'R4      4      R4       V P                  \        \        P                  ! R(R4      4      R4       V P                  \        \        P                  ! R)R4      4      R4       V P                  \        \        P                  ! R*R4      4      R4       V P                  \        \        P                  ! R+R4      4      R4       V P                  \        \        P                  ! R,R4      4      R4       V P                  \        \        P                  ! R-R4      4      R4       V P                  \        \        P                  ! R.R/4      4      R4       V P                  \        \        P                  ! R0R14      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        P                  ! R.R24      R4       V P                  \        P                  ! R0R24      R4       V P                  \        P                  ! RR24      R4       V P                  \        P                  ! R3R/4      R4       V P                  \        P                  ! R4R14      R4       V P                  \        P                  ! R5R4      R4       V P                  \        \        P                  ! R3R24      4      R4       V P                  \        \        P                  ! R4R24      4      R4       V P                  \        \        P                  ! R5R24      4      R4       V P                  \        \        P                  ! R6R4      4      R4       V P                  \        \        P                  ! R6R74      4      R4       V P                  \        \        P                  ! R8R4      4      R4       V P                  \        \        P                  ! R9R74      4      R4       V P                  \        \        P                  ! R:R74      4      R4       V P                  \        \        P                  ! R:R4      4      R4       V P                  \        \        P                  ! RR/4      4      R4       V P                  \        \        P                  ! RR74      4      R4       V P                  \        \        P                  ! RR;4      4      R4       V P                  \        P                  ! R<R4      P	                  4       R4       V P                  \        P                  ! R<R=4      P	                  4       R4       V P                  \        P
                  ! R<R>4      . RO4       V P                  \        P
                  ! R?R>4      R@RA.4       V P                  \        P
                  ! R<RB4      . RO4       V P                  \        \        P                  ! R9R74      4      R4       RCpRDp\        REP                  4       4      p. RVRF3NRGVRF3NR5VRH3NRIVRH3NR.VRJ3NRKVRJ3NR3VRL3NRMVRL3NRNVRO3NRPVRQ3NRRVRS3NRTVRU3NRVVRW3NRXVRY3NRNRNRNRNRVRZ3NR[VRZ3NRVR\3NR]VR\3NRVR^3NR_VR^3NRVR`3NRaVR`3NRbVRc3NRdVRe3NRfVRg3NRhVRi3NRjVRk3NRlVRm3NRVRZ3NRnVRZ3NRoVR\3NRpVR\3NRqVR^3NRrVR^3NRsVR`3NRtVR`3NRuVRc3NRvVRe3NRwVRg3NRxVRi3NRyVRk3NRzVRm3NpV FZ  w  rVp VR{,          P                  \        P
                  ! WV4      4      V8w  d#   V P                  R|P                  V4      4       KZ  K\  	  V P                  \        \        P                  ! R~R/4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       R#   \         d7   pT P                  R}P                  T\        T4      4      4        Rp?EK,  Rp?ii ; i)s   (?ai)r  Ns	   (?ai)\xC0s   (?a)\wrx  r  Ts   (?L)\ds   0s   (?L)\ss    s   (?L)\w   as   ?s   (?L)\Ds   (?L)\Ss   (?L)\Wz\p{Cyrillic}u   Аz(?i)\p{Cyrillic}z\p{IsCyrillic}z\p{Script=Cyrillic}z\p{InCyrillic}z\p{Block=Cyrillic}z[[:Cyrillic:]]z[[:IsCyrillic:]]z[[:Script=Cyrillic:]]z[[:InCyrillic:]]z[[:Block=Cyrillic:]]z\P{Cyrillic}rN   z\P{IsCyrillic}z\P{Script=Cyrillic}z\P{InCyrillic}z\P{Block=Cyrillic}z\p{^Cyrillic}z\p{^IsCyrillic}z\p{^Script=Cyrillic}z\p{^InCyrillic}z\p{^Block=Cyrillic}z[[:^Cyrillic:]]z[[:^IsCyrillic:]]z[[:^Script=Cyrillic:]]z[[:^InCyrillic:]]z[[:^Block=Cyrillic:]]\dr  rU  r   rF  z\Dz\Sz\W\p{L}rJ   z\p{Lu}\p{Ll}rc  r   \X   à   aààeéé\X{3}   aàà   eéé   
́Áu   -09AZaz_Γγs   -09AZaz_z#Ll Lm Lo Lt Lu Mc Me Mn Nd Nl No Pcu   09AZaz_Γγz
[[:word:]]r   z[[:^word:]]Z09z[[:digit:]]u
   -AZaz_Γγz[[:^digit:]]z[[:alpha:]]u   AZazΓγz[[:^alpha:]]z-09_z[[:alnum:]]u
   09AZazΓγz[[:^alnum:]]z-_z[[:xdigit:]]Z09Aaz[[:^xdigit:]]u   -Zz_Γγs   09AZaz_s   (?L)[[:word:]]s   -s   (?L)[[:^word:]]s   09s   (?L)[[:digit:]]s   -AZaz_s   (?L)[[:^digit:]]s   (?L)[[:alpha:]]s   AZazs   (?L)[[:^alpha:]]s   -09_s   (?L)[[:alnum:]]s   09AZazs   (?L)[[:^alnum:]]s   -_s   (?L)[[:xdigit:]]s   09Aas   (?L)[[:^xdigit:]]s   -Zz_s   (?a)[[:word:]]s   (?a)\Ws   (?a)[[:^word:]]s   (?a)\ds   (?a)[[:digit:]]s   (?a)\Ds   (?a)[[:^digit:]]s   (?a)[[:alpha:]]s   (?a)[[:^alpha:]]s   (?a)[[:alnum:]]s   (?a)[[:^alnum:]]s   (?a)[[:xdigit:]]s   (?a)[[:^xdigit:]]:Nr    Nz
Failed: {}zFailed: {} raised {}z\p{NumericValue=0}z\p{NumericValue=1/2}t   ½z\p{NumericValue=0.5}r   r  rJ   r  r  et   éu   érW   u   ́u   Á)z\p{InBasicLatin}   aárJ   )z\P{InBasicLatin}r     á)z(?i)\p{InBasicLatin}r  rJ   )z(?i)\P{InBasicLatin}r  r  )r!   r#   r5   r   r4   r%   setr   r   r&   r  Z	Exceptionr  )	r   Zchars_uZchars_bZword_settestsr]   charsexpectedr  s	   &        r   test_propertiesZRegexTests.test_properties  s   \7;TB]G<dCZ94@ekk%894@ 	ekk*d;<dCekk*d;<dCekk*d;<dCZ6=Z6=Z6=Z6=Z6=Z6=ekk*d;<dCekk*d;<dCekk*d;<dCekk/
)+ ,-1	3ekk*=
)+ ,-1	3ekk*;
)+ ,-1	3ekk*@
)+ ,-1	3ekk*;
)+ ,-1	3ekk*?
)+ ,-1	3ekk*;
)+ ,-1	3ekk*=
)+ ,-1	3ekk*B
)+ ,-1	3ekk*=
)+ ,-1	3ekk*A
)+ ,-1	3 	ekk/
&( )*.	0ekk*;
&( )*.	0ekk*@
&( )*.	0ekk*;
&( )*.	0ekk*?
&( )*.	0ekk*:
&( )*.	0ekk*<
&( )*.	0ekk*A
&( )*.	0ekk*<
&( )*.	0ekk*@
&( )*.	0ekk*<
&( )*.	0ekk*>
&( )*.	0ekk*C
&( )*.	0ekk*>
&( )*.	0ekk*B
&( )*.	0 	ekk%56=ekk%56=ekk%56=UC0$7UC0$7UC0$7UC0$7UC0$7UC0$7ekk%56=ekk%56=ekk%56=ekk(C894@ekk(C894@ekk)S9:DAekk)S9:DAekk(C894@ekk(C894@ekk%56=ekk%56=ekk%56=UF388:FCUI6;;=vFu
$&(	 	x
$&(6'G	Iu.CD
-	/ 	ekk)S9:DA(<BBDE1
G231
G%:;1
 GS!1
 Wc*	1

 GT"1
 Wd+1
 G121
 g';<1
 W&891
 gv.1
 W&:;1
 gt,1
 gv.1
 w(:;1
 01
  3!1
" 4#1
$ 7%1
( *-)1
*  *5+1
, $'-1
. !'40/1
0 %(11
2 !'5131
4 ),51
6 "7I671
8 !'7391
: "7G4;1
< !'95=1
> "7E2?1
@ "7G4A1
B #GW5C1
F *-G1
H  *5I1
J $'K1
L !'40M1
N %(O1
P !'51Q1
R ),S1
T "7I6U1
V !'73W1
X "7G4Y1
Z !'95[1
\ "7E2]1
^ "7G4_1
` #GW5a1
d ).$GHL#;##EMM'$ABhNIIl11':; O ). 	ekk*?EF
	ekk*A
(* +,0	2ekk*A
(* +,0	2  L		077qJKKLs   !Ay

z*zzc                sL   V P                  \        P                  ! R R4      R.4       V P                  \        P                  ! RR4      RR.4       V P                  \        P                  ! RR4      . R	O4       V P                  \        P                  ! RR4      . R
O4       R# )\w+u    हिन्दी,   हिन्दीz\W+r   ,r   z(?V1)\BN)r   r  r  )r   u    हu   िu   नu   ्u   दu   ी,r   )r!   r#   r%   r   r6   r7   r   test_word_classZRegexTests.test_word_class  s    v
241
2	4 	v
24693Z	AZ
2467	8 	Z
246A	Br   c                sX    V P                  \        P                  ! R R4      RR.4       R# )\G\w{2}abcd efr   r   Nr   r6   r7   r   test_search_anchorZRegexTests.test_search_anchor  s!    z9=d|Lr   c           	     s   V P                  \        P                  ! R R4      . R7O4       V P                  \        P                  ! R RRR7      . R7O4       V P                  \        P                  ! RR4      R	R
.4       V P                  \        P                  ! RRRR7      . R8O4       V P                  \        P                  ! RRRR7      R9R:.4       T P                  \        P                  ! R R4       Uu. uF  q^ ,          NK  	  up. R7O4       T P                  \        P                  ! RRRR7       Uu. uF  q^ ,          NK  	  up. R8O4       T P                  \        P                  ! R R4       Uu. uF  q^ ,          NK  	  up. R7O4       T P                  \        P                  ! RRRR7       Uu. uF  q^ ,          NK  	  up. R8O4       V P                  \        P                  ! RR4      . R;O4       V P                  \        P                  ! RR4      . R;O4       V P                  \        P                  ! RR4      . R<O4       V P                  \        P                  ! RR4      . R<O4       T P                  \        P                  ! RR4       Uu. uF  q^ ,          NK  	  up. R;O4       T P                  \        P                  ! RR4       Uu. uF  q^ ,          NK  	  up. R;O4       T P                  \        P                  ! RR4       Uu. uF  q^ ,          NK  	  up. R<O4       T P                  \        P                  ! RR4       Uu. uF  q^ ,          NK  	  up. R<O4       V P                  \        P                  ! RR4      RR.4       V P                  \        P                  ! RR4      RR.4       V P                  \        P                  ! RR4      . 4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! RR4      . R=O4       V P                  \        P                  ! RR4      . R=O4       V P                  \        P                  ! RR4      . R>O4       V P                  \        P                  ! RR4      . R>O4       V P                  \        P                  ! R R^^R!7      RR.4       V P                  \        P                  ! R R^R?R!7      RR.4       T P                  \        P                  ! R R^^R!7       Uu. uF  q^ ,          NK  	  upRR.4       T P                  \        P                  ! R R^R?R!7       Uu. uF  q^ ,          NK  	  upRR.4       T P                  \        P                  ! R R^^R!7       Uu. uF  q^ ,          NK  	  upRR.4       T P                  \        P                  ! R R^R?R!7       Uu. uF  q^ ,          NK  	  upRR.4       V P                  \        P                  ! R R^^R!7      RR.4       V P                  \        P                  ! R R^R?R!7      RR.4       V P                  \        P                  ! R"R#\        P                  4      RR$.4       V P                  \        P                  ! R%R#\        P                  4      R$R.4       V P                  \        P                  ! R&R4      R
.4       V P                  \        P                  ! R&RRR7      R
R.4       V P                  \        P                  ! R'R(4      R@RA.4       V P                  \        P                  ! R)R(4      RBRC.4       T P                  \        P                  ! R&R4       Uu. uF  q^ ,          NK  	  upR
.4       T P                  \        P                  ! R&RRR7       Uu. uF  q^ ,          NK  	  upR
R.4       T P                  \        P                  ! R'R(4       Uu. uF  q^ ,          NK  	  upR*R+.4       T P                  \        P                  ! R)R(4       Uu. uF  q^ ,          NK  	  upR,R-.4       V P                  \        P
                  ! R.R.4      P                  4       RD4       V P                  \        P
                  ! R/R.4      P                  4       RD4       V P                  \        P
                  ! R0R14      P                  4       RD4       V P                  \        P
                  ! R2R14      P                  4       RD4       V P                  \        P                  ! R3R4R4      R4       V P                  \        P                  ! R5R4R4      R4       R6# u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi )Ez(?r).r   r   r{   rJ   TZ
overlapped(?r)..abcder4  r   r   r   (?r)(.)(-)(.)a-b-c^|\w+foo bar
(?V1)^|\w+	(?r)^|\w+(?rV1)^|\w+r  r  z.{2}(?<=\G.*)rH  z(?r)\G\w{2}z(?r)\w{2}\Gefzq*Zqqwez(?V1)q*z(?r)q*z(?rV1)q*r@   r   r   z[ab]ZaBBz(?r)[ab]z(?r).{2}(\w+) (\w+)zfirst second third fourth fifthz(?r)(\w+) (\w+)r   zthird fourthzfourth fifthzsecond thirdr   z
(?r)abcdefz
(?i)abcdefABCDEFz(?ir)abcdef(.)rn   (?r)(.)N)r   r{   rJ   r4  r   r   r   r{   r   r   rJ   r   r{   r   r@  rB  rB  r@  r   )qqr   r   r   )r   r   r  r   r&  )r   r   )thirdfourth)r  Zfifth)r   r  r  )r!   r#   r%   rO  r[   r3   r4   rQ   r   r   r   test_search_reverseZRegexTests.test_search_reverse  s   x7Ix4H K 	y':T4LIy'dK
"	$'7,o>	@ 	x(GH(G1A$$(GH K 	y')  )1A$$ ) 5	7x(GH(G1A$$(GH K 	y')  )1A$$ ) 5	7 	x; > 	}i@ C 	|Y? B 	~yA D 	 	x(KL(K1A$$(KL
	}
)  )1A$$ ) )	+|
)  )1A$$ ) )	+~
)  )1A$$ ) )	+ 	z9=d|L'7@4,O~yA2F~yAD6Juf57IJz6:<NOy&9;MN{F; > 	 	sF!Ds
G 	sF"E
H 	sF)  )1A$$ ) Cj	"sF)  )1A$$ ) Sz	# 	wA)  )1A$$ ) Cj	"wA)  )1A$$ ) Sz	#wAaH3
K 	wAbI*	 	wegg>c
K{D%''BS#JO{E:TFC{EdK,	~
+-/B E /	 	'9
+-/B E /	 	{E(JK(J1A$$(JK&	{E)  )1A$$ ) "D\	+~
+)- . )-1A$$ )- .0>
0	 	7I
+)- . )-1A$$ )- .0>
0	 	h9>>@&IlH=BBDfMlH=BBDfMmX>CCEvN65%8%@:ue<eDm IH M$( L..s`   8f)9f.8f39f8f=ggg8g:g<g>g *g%*g*)g/(g4c                sT    V P                  \        P                  ! R R4      R4       R# )z(?>a*)ar   Nr  r6   r7   r   test_atomicZRegexTests.test_atomic  s    j$7>r   c                s   V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR	4      P                  4       R4       V P                  \        P                  ! R
R	4      P                  4       R4       V P                  \        P                  ! RR	4      P                  4       R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR	4      R4       V P                  \        P                  ! RR	4      R4       V P                  \        P                  ! RR	4      R4       R# )za?arJ   za*ar,   za+aza{1,3}az	(?:ab)?abr   z	(?:ab)*abZabababz	(?:ab)+abz(?:ab){1,3}abza?+aNza*+aza++aza{1,3}+az
(?:ab)?+abz
(?:ab)*+abz
(?:ab)++abz(?:ab){1,3}+abr   r2   r  r  r!   r#   r3   r4   r6   r7   r   test_possessiveZRegexTests.test_possessive  s   fc27796Bfe499;VDfe499;VDj%8==?H 	lD9>>@&IlH=BBDfMlH=BBDfM&6AFFH K 	 	gs3T:gu5t<gu5t<k594@ 	mT:DAmX>EmX>E&7BDIr   c                s	   \         P                  R8  d+   V P                  \        P                  ! RR4      . RO4       M(V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! RR4      . RO4       V P                  \        P
                  ! RR4      . RO4       T P                  \        P                  ! RR4       Uu. uF  q^ ,          NK  	  up. RO4       V P                  \        P
                  ! RR4      . RO4       T P                  \        P                  ! RR4       Uu. uF  q^ ,          NK  	  up. RO4       V P                  \        P
                  ! RR4      . RO4       T P                  \        P                  ! RR4       Uu. uF  q^ ,          NK  	  up. RO4       V P                  \        P
                  ! R	R4      . RO4       T P                  \        P                  ! R	R4       Uu. uF  q^ ,          NK  	  up. RO4       \         P                  R8  dc   V P                  \        P                  ! RR
4      . RO4       T P                  \        P                  ! RR
4       Uu. uF  qNK  	  up. RO4       M_V P                  \        P                  ! RR
4      R
.4       T P                  \        P                  ! RR
4       Uu. uF  qNK  	  upR
.4       \         P                  R8  dc   V P                  \        P                  ! RR
4      . RO4       T P                  \        P                  ! RR
4       Uu. uF  qNK  	  up. RO4       M_V P                  \        P                  ! RR
4      R
.4       T P                  \        P                  ! RR
4       Uu. uF  qNK  	  upR
.4       V P                  \        P                  ! RR
4      . RO4       T P                  \        P                  ! RR
4       Uu. uF  qNK  	  up. RO4       V P                  \        P                  ! RR
4      . RO4       T P                  \        P                  ! RR
4       Uu. uF  qNK  	  up. RO4       R# u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi )r1   z\br   r   r   r  r  r  r  r  r   z(?r)z(?V1)z(?rV1)Nr   )r   rJ   r   r{   r   r  r  )r   r   rJ   r   r{   r   r   r   )r   r   r   r{   r   rJ   r   r   )r   r   r!   r#   r   r%   rO  r   r   r   r   test_zerowidthZRegexTests.test_zerowidth8  s$   y(U[[6 9  U[[6@Z7 : 	 	x; > 	x(KL(K1A$$(KL
	|Y? B 	|
)  )1A$$ ) )	+}i@ C 	}
)  )1A$$ ) )	+~yA D 	~
)  )1A$$ ) )	+ y(U[[X6 9! "X)FG)FAa)FG J0 1 U[[X6
CX)FG)FAa)FGj y(U[[: =! ")JK)JAa)JK46 U[[:XJG)JK)JAa)JKj 	Wh7 : 	U__Wh%GH%G!%GH K, 	- 	Xx8 ; 	U__Xx%HI%H!%HI L, 	-U M H H L L
 I
 Js<   R!R&.R+R0
R54
R:)
R?

S*
S	
Sc                s*   V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR\        P                  R7      R4       V P                  \        P                  ! R	R\        P                  R7      R4       V P                  \        P                  ! R
R\        P                  R7      P                  4       R4       R# )z(?i)Abr   z(?i:A)bzA(?i)bNz(?V0)Abz(?V1)Abz(?-i)Abr   z(?-i:A)bzA(?-i)br  )r!   r#   r3   r4   r[   r6   r7   r   test_scoped_and_inline_flagsZ'RegexTests.test_scoped_and_inline_flagsr  s
   i6;;=vFj$7<<>Gi6=j$7>j$7>j$eggFMk4uwwGNj$eggFKKM
	r   c                sD   V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       R# )z(?:a+)+r,   z(?:(?:ab)+c)+abcabcz
(?:a+){2,}Nr2   r  r  r6   r7   r   test_repeated_repeatsZ RegexTests.test_repeated_repeats  sw    j%8==?H&6AFFH K 	 	mU;@@BFKr   c           	     s	   V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! R R4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \        P
                  ! RR4      R4       V P                  \	        \        P
                  ! R	R4      4      R4       V P                  \        P
                  ! R
R4      R4       V P                  \        P
                  ! RR4      R4       V P                  \        P
                  ! RR4      R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \        P
                  ! RR4      R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \        P
                  ! RR4      R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \        P
                  ! RR4      R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \        P
                  ! RR4      R4       V P                  \        P
                  ! RR4      R4       V P                  \        P
                  ! RR4      R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \        P
                  ! RR4      R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \        \        \        P                  ! R4      4      4      V P                  4       R# )z123(?<=a\d+)Za123Zb123Nz123(?<!a\d+)z(a)b(?<=b)(c)r   Tz(a)b(?<=c)(c)z(a)b(?=c)(c)z(a)b(?=b)(c)z(?:(a)|(x))b(?<=(?(2)x|c))cz(?:(a)|(x))b(?<=(?(2)b|x))cz(?:(a)|(x))b(?<=(?(2)x|b))cz(?:(a)|(x))b(?<=(?(1)c|x))cz(?:(a)|(x))b(?<=(?(1)b|x))cz(?:(a)|(x))b(?=(?(2)x|c))cz(?:(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)z(a)b(?<=(?(1)b|x))(c)z(a)b(?=(?(2)x|c))(c)z(a)b(?=(?(2)b|x))(c)z(a)b(?=(?(1)c|x))(c)z(a)\2(b)r0   r   )
r!   r#   r3   r4   r   r5   rf   r   r$   rg   r6   r7   r   test_lookbehindZRegexTests.test_lookbehind  sn   ov>CCEvNov>Eov>Eov>CCEvNekk/5ABDI_e<dCekk.%@A4H^U;TB%BEJ
	%BEJ
	ekk*G
 	%BEJ
	ekk*G
 	 	ekk*F
 	%A5I
	ekk*F
 	%A5I
	ekk*F
 	 	%<eDdK%<eDdK%<eDdKekk*A5IJ
	 	ekk*@%HI
	%;UCTJekk*@%HI
	 	d5==#=>?


	r   c                sZ   \         P                  R8  d*   V P                  \        P                  ! RRR4      R4       M(V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       \         P                  R8  d*   V P                  \        P                  ! RRR4      R4       M(V P                  \        P                  ! RRR4      R	4       V P                  \        P                  ! RRR4      R4       \         P                  R8  d*   V P                  \        P                  ! RRR
4      R4       M(V P                  \        P                  ! RRR
4      R4       V P                  \        P                  ! RRR
4      R4       R# )r1   z(?V0)(x)?(y)?z\2-\1r  zy-x-zy-xz(?V1)(x)?(y)?r   z-x-z-xr   zy--zy-Nr   r   r6   r7   r   test_unmatched_in_subZ RegexTests.test_unmatched_in_sub  sD    y(UYY'74H UYY'74H#3XtDfMy(UYY'73GOUYY'73GN#3XsCUKy(UYY'73GOUYY'73GN#3XsCUKr   c                sp   \         P                  ! R 4      p\        P                  R	8  d%   V P	                  VP                  R R4      R
4       M#V P	                  VP                  R R4      R4       T P	                  VP                  R4       Uu. uF  q"P                  4       NK  	  upRR.4       \         P                  ! R4      pV P	                  VP                  R R4      R
4       T P	                  VP                  R4       Uu. uF  q"P                  4       NK  	  upRR.4       R# u upi u upi )zD(?mV0)(?P<trailing_ws>[ \t]+\r*$)|(?P<no_final_newline>(?<=[^\n])\Z)c                 6    R V P                   ,           R,           # <Z>r,  rC   r7   r   rE   +RegexTests.test_bug_10328.<locals>.<lambda>      akk0AC0Gr   zfoobar c                 r  r  r  rC   r7   r   rE   r    r  r   r   r   zD(?mV1)(?P<trailing_ws>[ \t]+\r*$)|(?P<no_final_newline>(?<=[^\n])\Z)c                 r  r  r  rC   r7   r   rE   r    s    C!++,=,Cr   Nr   )z%foobar<trailing_ws><no_final_newline>r   )zfoobar<trailing_ws>r0   )r#   r$   r   r   r!   r   rO  r   r   r   r   test_bug_10328ZRegexTests.test_bug_10328  s   mmcdy(SXX&GFH SXX&G46S\\)-DE-D'')-DE
H 	mmcd"C
B	DS\\)-DE-D'')-DE
H 	 F
 Fs   D.
D3c                s   V P                  \        P                  ! R R4      RR.4       V P                  \        P                  ! R RRR7      . RO4       V P                  \        P                  ! RR4      RR.4       V P                  \        P                  ! RRRR7      . RO4       V P                  \        P                  ! R	R
RR7      RR.4       T P                  \        P                  ! R R4       Uu. uF  q^ ,          NK  	  upRR.4       T P                  \        P                  ! R RRR7       Uu. uF  q^ ,          NK  	  up. RO4       T P                  \        P                  ! RR4       Uu. uF  q^ ,          NK  	  upRR.4       T P                  \        P                  ! RRRR7       Uu. uF  q^ ,          NK  	  up. RO4       T P                  \        P                  ! R	R
RR7       Uu. uF  qP	                  4       NK  	  upRR.4       T P                  \        P                  ! RR
RR7       Uu. uF  qP	                  4       NK  	  upRR.4       R# u upi u upi u upi u upi u upi u upi )..r  r   r   Tr  r   r4  r  z	(.)(-)(.)r  r  N)r   r   r   r4  r  r  r  )r!   r#   r%   rO  r   r   r   r   test_overlappedZRegexTests.test_overlapped  sH   ug6tEug$G J 	y':T4LIy'dK
"	$|WNO
,	. 	ug(FG(F1A$$(FG$
J 	ug)  )1A$$ ) 5	7y'(JK(J1A$$(JK,	y')  )1A$$ ) 5	7 	enn\
d/$ % /$((* /$ %'6&H	Jenn=M
d/$ % /$((* /$ %'6&H	J HK%%s$   8I&9I+8I09I5:I:I?c                s    V P                  \        P                  ! R R4      . RO4       T P                  \        P                  ! R R4       Uu. uF  qNK  	  up. RO4       R# u upi )r  za,b,,c,N)rJ   r{   r   r   r   )r!   r#   r   r   r   r   r   test_splititerZRegexTests.test_splititer  sS    T957NOU__T9%EF%E!%EF I 	Fs   
A$c                s   V P                  \        P                  ! R R4      P                  4       R	4       V P                  \        P                  ! R R4      P                  4       R
4       V P                  \        P                  ! R R4      . RO4       V P                  \        P                  ! RR4      RR.4       V P                  \        P                  ! R R4      . RO4       R# )r  r  r  r  r  r  r  r  Nr   r  r  r  )r!   r#   r5   r4   r%   r6   r7   r   test_graphemeZRegexTests.test_grapheme  s    UF388:FCUI6;;=vFu
$&(	 	x
$&(6'G	Iu.CD
-	/r   c                s   R pV P                  \        P                  ! RV4      . RO4       V P                  \        P                  ! RV4      . RO4       RpV P                  \        P                  ! RV4      . RO4       V P                  \        P                  ! RV4      . RO4       RpV P                  \        P                  ! RV4      . R	O4       V P                  \        P                  ! RV4      . R
O4       R# )z4The quick ("brown") fox can't jump 32.3 feet, right?r   z(?V1w)\bzThe  foxzcan't aujourd'hui l'objectifN)r   Ther   quickz ("brownz") foxr   can'tr   jumpr   Z32r@   3r   feet, rightrF  )r   r  r   r  r   r   "r  r  )r   r  r   can'tr   r  r   z32.3r   r  r  r   r  rF  r   )r   r  z  r  r   )r   r  r  r  r   Zaujourdr  Zhuir   Zlr  Zobjectifr   )r   r  r   zaujourd'huir   z
l'objectifr   )r!   r#   r   r   textr   r   test_word_boundaryZRegexTests.test_word_boundary  s    FZ6 9 	 	[$7 : 	
 Z6 9 	[$7 : 	 .Z6 9 	 	[$7 :0 	1r   c                s   V P                  \        P                  ! R R4      RR.4       V P                  \        P                  ! R R4      R.4       V P                  \        P                  ! R R4      RR.4       V P                  \        P                  ! RR4      RR.4       V P                  \        P                  ! RR4      RR.4       V P                  \        P                  ! RR4      RR.4       V P                  \        P                  ! R	R
4      P	                  4       ^ 4       V P                  \        P                  ! R	R4      R4       V P                  \        P                  ! R	R4      R4       V P                  \        P                  ! RR
4      P	                  4       ^ 4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR
4      P	                  4       ^ 4       V P                  \        P                  ! RR4      P	                  4       ^ 4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR
4      P	                  4       ^ 4       V P                  \        P                  ! RR4      P	                  4       ^ 4       V P                  \        P                  ! RR4      P	                  4       ^ 4       V P                  \        P                  ! RR
4      P	                  4       ^ 4       V P                  \        P                  ! RR4      P	                  4       ^4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR
4      P	                  4       ^ 4       V P                  \        P                  ! RR4      P	                  4       ^4       V P                  \        P                  ! RR4      P	                  4       ^4       V P                  \        P                  ! RR
4      P	                  4       ^ 4       V P                  \        P                  ! RR4      P	                  4       ^ 4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR
4      P	                  4       ^ 4       V P                  \        P                  ! RR4      P	                  4       ^ 4       V P                  \        P                  ! RR4      P	                  4       ^ 4       R# )z.+zLine 1
Line 2
zLine 1zLine 2zLine 1Line 2zLine 1
Line 2
zLine 1zLine 2z(?w).+^abcr   z
abcNzabcz(?w)^abcabc$zabc
zabcz(?w)abc$(?m)^abcz	(?mw)^abc(?m)abc$z	(?mw)abc$)r!   r#   r%   r3   r(  r6   r7   r   test_line_boundaryZRegexTests.test_line_boundary   s   u.@AH
D 	u.@A
	 u.DEz
"	$y2DEX
	 y2DEX
	 y2HIX
	  	gu5;;=qAgw7>gw7>k59??A1Ek7;TBk7;TBgu5;;=qAgw7==?Cgw7>k59??A1Ek7;AACQGk7;AACQGk59??A1Ek7;AACQGk7;TBlE:@@BAFlG<BBDaHlG<BBDaHk59??A1Ek7;AACQGk7;TBlE:@@BAFlG<BBDaHlG<BBDaHr   c                s	   V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR	4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR	4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR	4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P	                  4       RR.RR./4       V P                  \        P                  ! RR4      P                  4       R 4       V P                  \        P                  ! RR4      P	                  4       RRR
.R. /4       R# )!z(?:(a)|(b))(c)r   rJ   Nr   r   r{   z(?:(?<a>a)|(?<b>b))(?<c>c)z!(?<a>a)(?:(?<b>b)|(?<c>c))(?<d>d)r   r   Zacdz(a)(?:(b)|(c))(d)z(a)(?|(b)|(b))(d)z(?|(?<a>a)|(?<b>b))(c)z(?|(?<a>a)|(?<a>b))(c)z$(?|(?<a>a)(?<b>b)|(?<b>c)(?<a>d))(e)Zaber3  z (?|(?<a>a)(?<b>b)|(?<b>c)(d))(e)z(?|(?<a>a)(?<b>b)|(c)(d))(e)z (?|(?<a>a)(?<b>b)|(c)(?<a>d))(e)r   )Nr{   r   )rJ   r{   Nr   )rJ   Nr   r   )rJ   r{   r   )rJ   r   rs  )rJ   r{   r  )r   r   r  )r   r   r  )r   Nr  )r!   r#   r5   r   capturesdictr6   r7   r   test_branch_resetZRegexTests.test_branch_resetJ  s   %6=DDF I 	%6=DDF I 	%B
*	,%B
*	, 	%I
0	2%I
0	2%95AHHJ
	! 	%95AHHJ
	!%95AHHJ
	%>ELLN
	%>ELLN
	%>ELLN
	 	%>ELLN
	 	%L
?	,%L
?	,%H
?	,%H
?	,%D
?	,%D
?	, 	%H
?	,%H
#ucC5!9	;%H
+	-%H
#Sz3!;	=r   c           	     s   V P                  \        P                  ! R R4      P                  4       RC4       V P                  \        P                  ! RR4      P                  4       RC4       V P                  \        P                  ! RR4      P                  4       RC4       V P                  \        P                  ! RR4      P                  4       RC4       V P                  \        P                  ! RRR4      R	4       V P                  \        P
                  ! R
R4      R.4       V P                  \        P
                  ! RR4      R.4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR4      . RDO4       V P                  \        P
                  ! RR4      . REO4       V P                  \        P
                  ! R
R4      R.4       V P                  \        P
                  ! RR4      R.4       V P                  \        P
                  ! RR4      R.4       V P                  \        P
                  ! RR4      R.4       V P                  RP                  \        P
                  ! RR4      4      R4       V P                  RP                  \        P
                  ! R R4      4      R!4       V P                  RP                  \        P
                  ! R"R#4      4      R$4       V P                  RP                  \        P
                  ! R%R&4      4      R'4       V P                  RP                  \        P
                  ! R(R&4      4      R'4       V P                  RP                  \        P
                  ! R)R*4      4      R&4       RP                  R+ \        R,4       4       4      pV P                  \        \        P
                  ! R-V4      4      ^4       V P                  \        \        P
                  ! R.V4      4      ^u4       V P                  \        \        P
                  ! R/V4      4      ^
4       V P                  \        \        P
                  ! R0V4      4      ^44       V P                  \        \        P
                  ! R1V4      4      ^44       V P                  \        \        P
                  ! R2V4      4      ^
4       V P                  \        \        P
                  ! R3V4      4      ^!4       V P                  \        \        P
                  ! R4V4      4      ^^4       V P                  \        \        P
                  ! R5V4      4      ^_4       V P                  \        \        P
                  ! R6V4      4      ^4       V P                  \        \        P
                  ! R7V4      4      ^4       V P                  \        \        P
                  ! R8V4      4      ^4       V P                  \        \        P
                  ! R9V4      4      ^4       V P                  \        \        P
                  ! R:V4      4      ^4       V P                  \        \        \        P                  ! R;4      4      4      V P                  4       V P                  \        P
                  ! R<R=4      RR>.4       V P                  \        P
                  ! R?R=4      RR>.4       V P                  \        P
                  ! R@R=4      RR>.4       V P                  \        P
                  ! RAR=4      RR>.4       RB# )Fz[a]rJ   z(?i)[a]rN   z[a-b]z	(?i)[a-b]z(?V0)([][])r   za[b]cr  z[\p{Alpha}]Za0z(?i)[\p{Alpha}]ZA0z[a\p{Alpha}]Zab0r{   z[a\P{Alpha}]r  z(?i)[a\p{Alpha}]z(?i)[a\P{Alpha}]z[a-b\p{Alpha}]ZabC0z(?i)[a-b\p{Alpha}]ZAbC0z[\P{Alpha}]z[^\p{Alpha}]z[^\P{Alpha}]r   z[^\d-h]za^b12c-hza^bcz[^\dh]za^bc-z	[^h\s\db]z	a^b 12c-hza^c-z[^b\w]r   r   z[^b\S]z[^8\d]za 1b2c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   rR   Z.0r   r   r   	<genexpr>Z&RegexTests.test_set.<locals>.<genexpr>  s     9LqCFFL   r  z	\p{ASCII}z
\p{Letter}z	\p{Digit}z(?V1)[\p{ASCII}&&\p{Letter}]z'(?V1)[\p{ASCII}&&\p{Alnum}&&\p{Letter}]z&(?V1)[\p{ASCII}&&\p{Alnum}&&\p{Digit}]z(?V1)[\p{ASCII}&&\p{Cc}]z(?V1)[\p{ASCII}&&\p{Graph}]z(?V1)[\p{ASCII}--\p{Cc}]z[\p{Letter}\p{Digit}]z(?V1)[\p{Letter}||\p{Digit}]z\p{HexDigit}z(?V1)[\p{HexDigit}~~\p{Digit}]z(?V1)[\p{Digit}~~\p{HexDigit}]z(?V0)([][-])z(?V1)[[a-z]--[aei]]r   r   z(?iV1)[[a-z]--[aei]]z(?V1)[\w--a]z(?iV1)[\w--a]Nr   )rJ   r{   C)rN   r{   r  )r!   r#   r5   r4   rQ   r%   r   r  lenrf   r   r$   rg   )r   	all_charsr   r   test_setZRegexTests.test_set  s   VS1668&AZ5::<fEXt499;VD\48==?H>4A7K~t<seD'94@3%H>c
K>c
K':EBS
E 	':EBS
E 	 	'8&A D 	'<fE H 	 	~t<seD~t<seD=uE=uEz:!FG
	y*!EF
	|[!IJ
	y%!@A3Gy%!@A3Gy'!BCUKGG9E%L99	U]]<CDcJU]]=)DE
	U]]<CDbI 	U]]+J
 	U]]+U
 	U]]+T
 	U]]+F
 	U]]+I
 	U]]+F
 	U]]+C
 	U]]+J
 	U]]?IFG
	U]]+L
 	U]]+L
 	 	d5==#ABC


	'=uE
H 	'>F
I 	u=SzJ'7>c
Kr   c           
     sHL   . R RR\         P                  V P                  3NRRR\         P                  V P                  3NRRR\         P                  V P                  3NRRR\         P                  V P                  3NRRR\         P                  V P                  3NRRR\        R	4      3NR
RR\         P                  V P                  3NRRR\         P                  V P                  3NRRR\         P                  V P                  3NRRR\         P                  V P                  3NRR	R\        R	4      3NRRR\        R	4      3NRRR\        R4      3NRRR\        R	4      3NRRR\        R4      3NRRR\         P                  V P                  3NRR	R\        R	4      3NRRR\        R	4      3NRR	R\         P                  V P                  3NER'NR\        ^ 4      R,           R\        \        ^ 4      R,           4      3NRR	R\        R	4      3NRRR\        ER(4      3NRR R\        R 4      3NR!R R\        R 4      3NR"R R\        R 4      3NR#R R\        R4      3NR$R%R\        R%4      3NR&R%R\        R%4      3NR'R(R\        \        ^4      4      3NR)R(R\        R4      3NR*R+R\        R4      3NR,R-R\        R4      3NR.R(R\        R4      3NR/R0R\        R04      3NR1R0R\        R04      3NR2R3R\        \        ^	4      \        ^
4      ,           \        ^4      ,           \        ^4      ,           \        ^4      ,           \        ^4      ,           4      3NR4R5R\        R54      3NR6R7R\        R84      3NR9R:R\        R:4      3NR9R;R\        R4      3NR<R=R\        R4      3NR>R=R\        R4      3NR9R?R\        R?4      3NR@R;R\        R4      3NRAR;R\        R;4      3NRBR=R\        R4      3NRCR=R\        R=4      3NRDR=R\        R=4      3NRERR\         P                  V P                  3NER)NRFRFR\        RF4      3NRFRGR\        R4      3NRFRHR\        R4      3NRFRIR\        R4      3NRFRJR\        RF4      3NRFRKR\        RF4      3NRLRFR\        RF4      3NRMRFR\        RF4      3NRMRNR\        RN4      3NRMROR\        RO4      3NRPRNR\        RN4      3NRPRFR\        R4      3NRPRQR\        R4      3NRPROR\        RO4      3NRRRNR\        RN4      3NRRRFR\        RF4      3NRRROR\        R4      3NRSRFR\        RF4      3NRTRFR\        RF4      3NRTRUR\        R4      3NRVRUR\        RF4      3NRTRWR\        R4      3NRXRWR\        RF4      3NRYRFR\        R4      3NRZRFR\        R4      3NR[RFR\        RF4      3NR[RHR\        RH4      3NR\R]R\        R]4      3NR\R^R\        R4      3NR_RFR\        R4      3NR_R`R\        R`4      3NRaR`R\        R4      3NRaRbR\        Rb4      3NRcRdR\        Re4      3NRfRgR\        Rg4      3NRhRgR\        Rg4      3NRiRgR\        Rg4      3NRjRkR\         P                  V P                  3NRlRkR\         P                  V P                  3NRmRkR\         P                  V P                  3NRnRkR\         P                  V P                  3NRoRkR\         P                  V P                  3NRpRpR\        Rp4      3NRqRrR\        Rr4      3NRqRrR\        Rr4      3NRsRtR\        Rt4      3NRsR`R\        R4      3NRuRvR\        Rv4      3NRuRwR\        R4      3NRxRyR\        R4      3NRxRvR\        Rv4      3NRzRgR\        R	4      3NRzR{R\        R	4      3NRzR|R\        R	4      3NR}R~R\        R4      3NR}RR\        R4      3NR}RR\        R4      3NRRR\        R4      3NRRR\        R4      3NRRR\        R4      3NRRR\        R4      3NRRR\        R4      3NRRgR\        R4      3NRR{R\        R4      3NRR|R\        R4      3NRR~R\        R4      3NRRR\        R4      3NRR~R\        R4      3NRRR\        R4      3NRRR\        R4      3NRRFR\        R4      3NRRR\        R4      3NRRR\        ER*4      3NRRR\        R4      3NRRR\        ER+4      3NRRR\        R4      3NRRR\        R4      3NRRR\        R4      3NRRFR\        ER,4      3NRRFR\        ER-4      3NRRR\        RF4      3NRRR\        ER.4      3NRRR\        ER.4      3NRRR\        ER/4      3NRRkR\         P                  V P                  3NRRR\        R4      3NRFRR\        R4      3NRRR\        R4      3NRRR\        R4      3NRRR\        ER04      3NRRR\        R4      3NRRR\        R4      3NRRR\        R	4      3NRRR\        ER14      3NRRR\        R4      3NRRR\        R4      3NRRR\        ER*4      3NRRR\        ER24      3NRRFR\        ER34      3NRRFR\        ER44      3NRRR\        ER54      3NRRR\        ER54      3NRRR\        ER64      3NRRR\        R4      3NRRR\        R4      3NRRFR\        ER74      3NRRR\        ER84      3NRRR\        R4      3NRRR\        ER94      3NRRR\        ER:4      3NRRR\        ER;4      3NRRR\        R4      3NRRR\        R4      3NRRR\        ER:4      3NRR	R\        R	4      3NRRR\        R4      3NRRR\        R4      3NRRR\        ER<4      3NRRR\        ER=4      3NRRR\        R4      3NRReR\        Re4      3NRRR\        RF4      3NRRR\        RF4      3NRRR\        R4      3NRRR\        ER>4      3NRRR\        R4      3NRRR\        ER?4      3NRRR\        ER?4      3NRRR\        ER@4      3NRRR\        ER@4      3NRRR\        ER@4      3NRRR\        ERA4      3NRRR\        ERA4      3NRRR\        ERB4      3NRRR\        ERB4      3NRRR\        ERB4      3NRRR\        ER?4      3NRRR\        ERC4      3NRRR\        ERD4      3NRRR\        ERE4      3NRRR\        ERF4      3NRRR\        ERG4      3NRRR\        ERH4      3NRRR\        ERI4      3NRRR\        ERJ4      3NRRFR\        R4      3NRRR\        ERK4      3NRRdR\        ERL4      3NER RR\         P                  V P                  3NERRER\        ERM4      3NERRER\        ERN4      3NERRR\         P                  V P                  3NERERR\        ER4      3NERERR\         P                  V P                  3NERER	R\        ER	4      3NERER	R\        ERO4      3NER
RR\        R4      3NERR	R\        R	4      3NERERR\        ER4      3NERR	R\        R	4      3NERERR\        ER4      3NERERR\        ER4      3NRFRFR\        RF4      3NRFRGR\        R4      3NRFRHR\        R4      3NRFRIR\        R4      3NRFRJR\        RF4      3NRFRKR\        RF4      3NRLRFR\        RF4      3NRMRFR\        RF4      3NRMRNR\        RN4      3NRMROR\        RO4      3NERROR\        RO4      3NRPRNR\        RN4      3NRPRFR\        R4      3NRPRQR\        R4      3NERRQR\        R4      3NRPROR\        RO4      3NERROR\        RO4      3NERROR\        RO4      3NERROR\        RO4      3NERROR\        R4      3NRRRNR\        RN4      3NRRRFR\        RF4      3NERRFR\        RF4      3NRRROR\        R4      3NRSRFR\        RF4      3NERRFR\        RF4      3NRTRFR\        RF4      3NRTRUR\        R4      3NRVRUR\        RF4      3NRTRWR\        R4      3NRXRWR\        RF4      3NRYRFR\        R4      3NRZRFR\        R4      3NR[RFR\        RF4      3NR[RHR\        RH4      3NR\R]R\        R]4      3NR\R^R\        R4      3NR_RFR\        R4      3NR_R`R\        R`4      3NRaR`R\        R4      3NRaRbR\        Rb4      3NRcRdR\        Re4      3NRfRgR\        Rg4      3NRiRgR\        Rg4      3NERRkR\         P                  V P                  3NRjRkR\         P                  V P                  3NRlRkR\         P                  V P                  3NRpRpR\        Rp4      3NRqRrR\        Rr4      3NRsRtR\        Rt4      3NRsR`R\        R4      3NRuRvR\        Rv4      3NRuRwR\        R4      3NRxRyR\        R4      3NRxRvR\        Rv4      3NRRFR\        R4      3NRRR\        R4      3NRRR\        ER*4      3NERRkR\         P                  V P                  3NERRkR\         P                  V P                  3NRRR\        R4      3NRmRkR\         P                  V P                  3NRRR\        ER+4      3NRRR\        R4      3NRRR\        R4      3NRRR\        R4      3NRnRkR\         P                  V P                  3NRoRkR\         P                  V P                  3NRRFR\        ER,4      3NRRFR\        ER-4      3NRRR\        RF4      3NERRR\        RF4      3NERRkR\         P                  V P                  3NERRR\        RF4      3NRRR\        ER.4      3NERRR\        ER.4      3NRRR\        ER.4      3NER RR\        ER.4      3NRRR\        ER/4      3NER!RR\        ER/4      3NRRkR\         P                  V P                  3NRRR\        R4      3NRFRR\        R4      3NRRR\        R4      3NER"ER#R\        ERP4      3NER$RR\        ERQ4      3NRRR\        R4      3NRRR\        ER04      3NRRR\        R4      3NRRR\        R4      3NRRR\        R	4      3NRRR\        ER14      3NRRR\        R4      3NRRR\        R4      3NRRR\        ER*4      3NRRR\        ER24      3NRRFR\        ER34      3NRRFR\        ER44      3NRRR\        ER54      3NRRR\        ER54      3NRRR\        ER64      3NRRR\        R4      3NRRR\        R4      3NRRFR\        ER74      3NRRR\        ER84      3NRRR\        R4      3NRRR\        ER94      3NRRR\        ER:4      3NRRR\        ER;4      3NRRR\        R4      3NRRR\        R4      3NRRR\        ER:4      3NER%R	ER&\        R	4      3NER'RR\        R4      3NER(RR\         P                  V P                  3NER)RR\         P                  V P                  3NRR	R\        R	4      3NRRR\        R4      3NRRR\        R4      3NRRR\        ER<4      3NRRR\        ER=4      3NRRR\        R4      3NRReR\        Re4      3NRRR\        RF4      3NRRR\        RF4      3NER*ER+R\        ER+4      3NER*ER,R\        R4      3NER*ER-R\        R4      3NER*ER.R\        R4      3NER*ER/R\        ER+4      3NER*ER0R\        ER+4      3NER1ER+R\        ER+4      3NER2ER+R\        ER+4      3NER2ER3R\        ER34      3NER4ER5R\        ER54      3NER6ER5R\        ER54      3NER7ER3R\        ER34      3NER8ER+R\        R4      3NER8ER9R\        R4      3NER:ER9R\        R4      3NER8ER5R\        ER54      3NER;ER5R\        ER54      3NER<ER5R\        ER54      3NER=ER5R\        ER54      3NER>ER5R\        R4      3NER?ER3R\        ER34      3NER?ER+R\        ER+4      3NER@ER+R\        ER+4      3NER?ER5R\        R4      3NERAER+R\        ER+4      3NERBER+R\        ER+4      3NERCER+R\        ER+4      3NERCERDR\        R4      3NEREERDR\        ER+4      3NERCERFR\        R4      3NERGERFR\        ER+4      3NERHER+R\        R4      3NERIER+R\        R4      3NERJER+R\        ER+4      3NERJER-R\        ER-4      3NERKERLR\        ERL4      3NERMERNR\        R4      3NEROER+R\        R4      3NEROERPR\        ERP4      3NERQERPR\        R4      3NERQERRR\        ERR4      3NERSERTR\        ERU4      3NERVERWR\        ERW4      3NERXERWR\        ERW4      3NERYRkR\         P                  V P                  3NERZRkR\         P                  V P                  3NER[RkR\         P                  V P                  3NER\ER]R\        ER]4      3NER^ER_R\        ER_4      3NER`ERaR\        ERa4      3NER`ERPR\        R4      3NERbERcR\        ERc4      3NERbERdR\        R4      3NEReERfR\        R4      3NEReERcR\        ERc4      3NERgER+R\        R4      3NERgERhR\        R4      3NERiERjR\        ERR4      3NERlRkR\         P                  V P                  3NERmRkR\         P                  V P                  3NERnERoR\        R4      3NERpRkR\         P                  V P                  3NERqERrR\        ERS4      3NERsRR\        R4      3NERsERtR\        ERt4      3NERuERvR\        ERv4      3NERwRkR\         P                  V P                  3NERxRkR\         P                  V P                  3NERyER+R\        ERT4      3NERzER+R\        ERU4      3NER|ER}R\        ER+4      3NER~ER}R\        ER+4      3NERRkR\         P                  V P                  3NERERR\        ER+4      3NERKERR\        ER+4      3NERERR\        ER+4      3NERRR\        ERV4      3NERRR\        ERV4      3NERRR\        ERV4      3NERRR\        ERV4      3NERRR\        ERW4      3NERRR\        ERW4      3NERRR\        ERX4      3NERRkR\         P                  V P                  3NERERR\        ER4      3NER*RR\        R4      3NERRR\        R4      3NERERR\        ERY4      3NERERhR\        ERZ4      3NERERR\        ER4      3NERERkR\        ER[4      3NERERR\        ER4      3NERERR\        R4      3NERERR\        R4      3NERERR\        ER\4      3NERERR\        ER4      3NERERR\        R4      3NERERR\        ERR4      3NERERhR\        ER]4      3NERER+R\        ER^4      3NERER+R\        ER_4      3NERERhR\        ER`4      3NERERhR\        ER`4      3NERERhR\        ERa4      3NERERR\        ER4      3NERERR\        R4      3NERER+R\        ERb4      3NERERhR\        ERc4      3NERERR\        ER4      3NERERR\        ERd4      3NERERR\        ERe4      3NERERR\        ERf4      3NERERR\        R4      3NERERR\        R4      3NERERR\        ERe4      3NERRER&\        R4      3NERERR\        ER4      3NERRR\        R4      3NERRR\        R4      3NERER{R\        ER{4      3NERERR\        R4      3NERERR\        ER4      3NERERR\        ERg4      3NERERR\        ERh4      3NERRR\        R4      3NERERUR\        ERU4      3NERERR\        ER+4      3NERERR\        ER+4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        ER4      3NERRbR\        R4      3NERRbR\        R4      3NERRbR\        R4      3NERRbER\        ERi4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\         P                  V P                  3NERERR\        ER4      3NERERR\        R4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        ER4      3NRVERR\        R4      3NERERR\        RF4      3NERERR\        RF4      3NR9R;R\        R4      3NRAR;R\        R;4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        RF4      3NERERR\        RF4      3NERERR\        ER4      3NERERER\        ERj4      3NERERER\        ERj4      3NERERER\        ERk4      3NERRR\         P                  V P                  3NERERR\        R`4      3NERRR\         P                  V P                  3NERERR\        ER4      3NERRR\        R4      3NERERR\        R4      3NERERR\        ER4      3NER ERR\        ER4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        ER4      3NERER	R\        ER	4      3NERER
R\        ER
4      3NERERR\        R4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        R4      3NERERR\        R4      3NERERR\        R4      3NERRER\        ERl4      3NERRFER\        ERm4      3NERRFER\        ERm4      3NERRFER\        ERm4      3NERR	R\        R	4      3NERERR\        ER4      3NERERR\        ER4      3NpV EF  pRp \!        V4      ^8X  d   Vw  rErgMVw  rErgp. pV'       d5   VP#                  ER 4       F  p	 VP%                  \'        V	4      4       K   	  VeH   V P+                  WEER!7      ;_uu_ 4        V P-                  Ws\         P.                  WE4       RRR4       K  \         P.                  ! WE4      p
V
'       d7   V'       d   \        V
P0                  ! V!  4      pM\        V
ER",          4      pM\        V
4      pV P3                  W4       EK  	  R#   \(         d    TP%                  T	4        EK  i ; i  + '       g   i     EKY  ; i  \(         di    ER#P5                  TER$,           Uu. uF  p\        T4      NK  	  Mu upi upER%.,           4      pT P7                  ER&P9                  T4      4        EK  i ; i(n  z(?P<foo_123r   z(?P<1>a)z(?P<!>a)z(?P<foo!>a)z(?P<foo_123>a)(?P=foo_123r   z(?P<foo_123>a)(?P=1)1rJ   z(?P<foo_123>a)(?P=0)z(?P<foo_123>a)(?P=-1)z(?P<foo_123>a)(?P=!)z(?P<foo_123>a)(?P=foo_124)z(?P<foo_123>a)z(?P<foo_123>a)(?P=foo_123)z(?<foo_123>a)\g<foo_123Nz(?<foo_123>a)\g<1>z(?<foo_123>a)\g<!>z(?<foo_123>a)\g<foo_124>z(?<foo_123>a)z(?<foo_123>a)\g<foo_123>rn   r  rl   9z\141z((a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\119abcdefghijklk9z0,11ri   rj   z[\0a]z[a\0]z[^a\0]z\a[\b]\f\n\r\t\vz
	z[\a][\b][\f][\n][\r][\t][\v]z\xffr   z\x00ffffffffffffffz\x00fZz\x00fet   þz\x00ffz\t\n\v\r\f\a\gz	
gz	
\gz\t\n\v\r\f\arK   z[\t][\n][\v][\r][\f][\b]z	
z^\w+=(\\[\000-\277]|[^\n\\])*z(SRC=eval.c g.c blah blah blah \\
	apes.cz SRC=eval.c g.c blah blah blah \\r   Zacbr   r   zacc
ccbza.{4,5}bzabza.b(?s)z(?s)a.bza.*(?s)bz(?s)a.*bz(?s)a.{4,5}br  r   ZxbcZaxcZabxxabcyZababczab*czab*bcZabbcZabbbbczab+bcZabqzab?bczab?cr   Zabccr  Zaabcr  Z^re  za.cza.*cZaxyzcZaxyzdza[bc]dr   za[b-d]eZaceza[b-d]aacr   za[-b]a-za[\-b]za[b-]za[]br   za[za\zabc)z(abcza]za[]]bza]bza[^bc]dZaedza[^-b]cZadcza-cza[^]b]cza]cz\ba\b-az-a-z\by\br  Zyzrw   zx\bzx\Br   z\Bzr  zz\Bz\Bxz\Ba\Bz\By\Bz\By\br   z\by\Bzab|cdr   rH  z()efdefz0,1r  z$br{   za\(ba(bza\(*bza((bza\\bza\br+  z0,1,2z(a)b(c)za+b+cZaabbabcz(a+|b)*z(a+|b)+z(a+|b)?z)(z[^ab]*r3  r)   z	a|b|c|d|er  z(a|b|c|d|e)fzabcd*efgZabcdefgzab*Z	xabyabbbzZxayabbbzz(ab|cd)er  z[abhgefdc]ijZhijz	^(ab|cd)ez(abc|)efr   z(a|b)c*dz
(ab|ab*)bcz
a([bc]*)c*za([bc]*)(c*d)za([bc]+)(c*d)za([bc]*)(c+d)za[bcd]*dcdcdeZadcdcdeza[bcd]+dcdcdez	(ab|a)b*cz((a)(b)c)(d)z1,2,3,4z[a-zA-Z_][a-zA-Z0-9_]*Zalphaz^a(bc+|b[eh])g|.h$Zabhz(bc+d$|ef*g.|h?i(j|k))effgzijZeffgZbcddZreffgzz(((((((((a)))))))))zmultiple words of textzuh-uhzmultiple wordszmultiple words, yeahz	(.*)c(.*)z\((.*), (.*)\)z(a, b)z2,1z[k]za[-]?cz(abc)\1r  z
([a-c]*)\1z^(.+)?BABrN   z(a+).\1$r|   z	^(a+).\1$aaaaz
([a-c]+)\1z(a)\1z(a+)\1z(a+)+\1z(a).+\1r   z(a)ba*\1z
(aa|a)a\1$r,   z
(a|aa)a\1$z(a+)a\1$z
([abc]*)\1z
(a)(b)c|abz(a)+xaaaxz([ac])+xaacxz([^/]*/)*sub1/zd:msgs/tdir/sub1/trial/away.cppz([^.]*)\.([^:]*):[T ]+(.*)track1.title:TBlah blah blahz0,1,2,3z	([^N]*N)+abNNxyzNZabNNxyzNz	([abc]*)xabcxz	([xyz]*)xz	(a)+b|aacz(?P<i d>aaa)az(?P<id>aaa)az0,idz(?P<id>aa)(?P=id)z(?P<id>aa)(?P=xd)r   gz\g<1>z(.)\g<1>ggz\N\N{LATIN SMALL LETTER A}z\pr   r  z\PPz\P{Lu}zab{0,}bczab{1,}bcz	ab{1,3}bcz	ab{3,4}bcz	ab{4,5}bcz	ab{0,1}bczab{0,1}cza[b-a]z*az(*)bza{1,}b{1,}cza**za.+?cz
(a+|b){0,}z
(a+|b){1,}z(a+|b){0,1}z	([abc])*dabbbcdz([abc])*bcdz((((((((((a))))))))))Z10z((((((((((a))))))))))\10z((((((((((a))))))))))\41z(?i)((((((((((a))))))))))\41z(?i)abcr   ZXBCZAXCZABXZXABCYZABABCz(?i)ab*cz	(?i)ab*bcZABBCz
(?i)ab*?bcZABBBBCz(?i)ab{0,}?bcz
(?i)ab+?bcz	(?i)ab+bcZABQz(?i)ab{1,}bcz(?i)ab{1,}?bcz(?i)ab{1,3}?bcz(?i)ab{3,4}?bcz(?i)ab{4,5}?bcz
(?i)ab??bcz(?i)ab{0,1}?bcz	(?i)ab??cz(?i)ab{0,1}?cz	(?i)^abc$ZABCCz(?i)^abcZAABCz(?i)abc$z(?i)^z(?i)$z(?i)a.cz	(?i)a.*?cZAXYZCz(?i)a.*cZAXYZDz
(?i)a[bc]dZABDz(?i)a[b-d]eZACEz
(?i)a[b-d]ZAACZACz	(?i)a[-b]zA-z	(?i)a[b-]z
(?i)a[b-a]z(?i)a[]bz(?i)a[z(?i)a]zA]z	(?i)a[]]bzA]Bz(?i)a[^bc]dZAEDz(?i)a[^-b]cZADCzA-Cz(?i)a[^]b]czA]Cz	(?i)ab|cdABCDz(?i)()efZDEFEFz(?i)*az(?i)(*)bz(?i)$br  z(?i)a\z(?i)a\(bA(Bz	(?i)a\(*bzA((Bz(?i)a\\bzA\Bz(?i)abc)z(?i)(abcz	(?i)((a))z(?i)(a)b(c)r  z	(?i)a+b+cZAABBABCz(?i)a{1,}b{1,}cz(?i)a**z	(?i)a.+?cZABCABCz(?i)a.{0,5}?cz(?i)(a+|b)*z(?i)(a+|b){0,}z(?i)(a+|b)+z(?i)(a+|b){1,}z(?i)(a+|b)?z(?i)(a+|b){0,1}z(?i)(a+|b){0,1}?z(?i))(z
(?i)[^ab]*CDEz(?i)a*z(?i)([abc])*dABBBCDz(?i)([abc])*bcdz(?i)a|b|c|d|eEz(?i)(a|b|c|d|e)fz(?i)abcd*efgZABCDEFGz(?i)ab*Z	XABYABBBZZXAYABBBZz(?i)(ab|cd)eABCDEz(?i)[abhgefdc]ijZHIJz(?i)^(ab|cd)ez(?i)(abc|)efr  z(?i)(a|b)c*dz(?i)(ab|ab*)bcz(?i)a([bc]*)c*z(?i)a([bc]*)(c*d)z(?i)a([bc]+)(c*d)z(?i)a([bc]*)(c+d)z(?i)a[bcd]*dcdcdeZADCDCDEz(?i)a[bcd]+dcdcdez(?i)(ab|a)b*cz(?i)((a)(b)c)(d)z(?i)[a-zA-Z_][a-zA-Z0-9_]*ZALPHAz(?i)^a(bc+|b[eh])g|.h$ZABHz(?i)(bc+d$|ef*g.|h?i(j|k))EFFGZIJZEFFGZBCDDZREFFGZz(?i)((((((((((a))))))))))z(?i)((((((((((a))))))))))\10ZAAz(?i)(((((((((a)))))))))z+(?i)(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))z/(?i)(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))z(?i)multiple words of textzUH-UHz(?i)multiple wordszMULTIPLE WORDS, YEAHzMULTIPLE WORDSz(?i)(.*)c(.*)z(?i)\((.*), (.*)\)z(A, B)z(?i)[k]z
(?i)a[-]?cz(?i)(abc)\1z(?i)([a-c]*)\1za(?!b).Zabadr   za(?=d).z	a(?=c|d).za(?:b|c|d)(.)za(?:b|c|d)*(.)za(?:b|c|d)+?(.)za(?:b|(c|e){1,2}?|d)+?(.)z1,2z(?<!-):(.*?)(?<!-):z
a:bc-:de:fzbc-:dez(?<!\\):(.*?)(?<!\\):z
a:bc\:de:fzbc\:dez(?<!\?)'(.*?)(?<!\?)'z
a'bc?'de'fzbc?'dezw(?# commentZwz w(?# comment 1)xy(?# comment 2)zZwxyzzw(?i)ZWz(?i)wz"(?x)w# comment 1
x y
# comment 2
zzjkl
abc
xyzr  r  zjkl
xyzabc
123r  z--ab_cd0123--Z	ab_cd0123z[\w]+z\D+Z1234abc5678z[\D]+z[\da-fA-F]+123abcz([\s]*)([\S]*)([\s]*)z testing!1972z3,2,1z(\s*)(\S*)(\s*)z(([a-z]+):)?([a-z]+)$smilz1,2,3z((.)\1+)z.*dzabc
abdr   z[\41]!z(x?)?z	 (?x)foo r@  z	(?x) foo z(?x)foo z(?<!abc)(d.f)Z	abcdefdofZdofz[\w-]+Z
laser_beamz.*?\S *:zxx:za[ ]*?\ (\d+).*za   10za    10z(?ms).*?x\s*\Z(.*)zxx
x
z(?i)M+ZMMMz(?i)m+z(?i)[M]+z(?i)[m]+z"(?:\\"|[^"])*?"z"\""z^.*?$zone
two
three
za[^>]*?bza>bz^a*?$z^((a)c)?(ab)$z^([ab]*?)(?=(b)?)cz^([ab]*?)(?!(b))cz^([ab]*?)(?<!(a))cz\b.\bt   Ärx  r  )r]   r   r   r  :Nr1   N...z%Incorrect number of test fields: ({}))[\1]rk   r  z'\x01')r  k)r   r   r  z'')r  r   )r  )rJ   rJ   rJ   )r   rJ   r   )r   r{   r   )r  r  )r3  r   )Zbcdr{   )r   rJ   )r   r   )rH  r   r   )rH  r{   r   )r   r   )r   rJ   r{   r   )ZbhN)r  r  N)r  r  Zj)r  r   r4  )r{   rJ   )r|   r   )r  r   )r   rJ   )r   rJ   )r,   rJ   )r   NN)r  rJ   )r	  r   )zd:msgs/tdir/sub1/ztdir/)r
  Ztrack1ZtitlezBlah blah blah)r  ZxyzN)ZabNNr  )r  r   )r   r   )r  N)r  r,   )r  r   )r  r  )r  r   )rH  rJ   )r  r   )r  )rN   rN   rN   )r   rN   r  )r  r  )rN   rN   r   N)r  r  )r  rN   )r  r  )r  CD)ZBCDr  )r   rN   )r   BC)r  r$  D)r  r  r#  )r   r  )r   rN   r  r%  )ZBHN)r  r  N)r  r  ZJ)r  r  ZDE)r  rN   )r   r  )r   ztesting!1972r   )NNr  )NNr   )r   N)r#   rx   r   r   MISSING_RPARENr  UNKNOWN_GROUPry   rR   TRAILING_CHARSr1  
BAD_ESCAPEBAD_CHAR_RANGENOTHING_TO_REPEATMULTIPLE_REPEAT
OPEN_GROUPr  r   Zappendr9   ra   ZsubTestr`   r3   r   r!   r   r&   r  )r   r  r  Zexcvalr]   r   r   r  Z
group_listr   rD   r   ZfZfieldss   &             r   test_variousZRegexTests.test_various  s9   y

BEKKAy

 Rd.A.ABy

 Rd.A.AB	y


 BEKK1D1DEy

 )$EKK!!#y

 $T3c
;y

 $T2u{{!!#y

 %dB!!#y

 $T2u{{!!#y

" *4U[[  "#y

( sCs4)y

* *4eCjA+y

0 (r5;?1y

2 #D#uSz:3y

4 #D"eDk:5y

6 )$EKK  "7y

< c3c
3=y

> )$U3Z@?y

D CU[[$*@*@AEy

F ,Gy

H SVc\3c!fsl(;<Iy

J c3c
+Ky

L 9:Je346My

T D#uT{+Uy

V tS%+.Wy

X tS%+.Yy

Z b%+.[y

` !"2C$%'ay

d -.>$%'ey

h fc5S?3iy

n #FBd<oy

p vr5;/qy

r E$K0sy

v E$K0wy

x eO6LMyy

z eO6LM{y

| nc5Q#b'9I"g:B: "%b':*,/F:3 44 5}y

@ ).#N#%Ay

F .<c89;Gy

P E3e-Qy

R FBd,Sy

T ZU4[1Uy

V Rt5Wy

X FCv/Yy

\ E$K0]y

^ U6]3_y

` Rt5ay

b S%
*;<cy

d ZeJ.?@ey

h "b%++t':':;iy

j  ky

l E3e-my

n E2uT{+oy

p E2uT{+qy

r E2uT{+sy

t GS%,/uy

v GS%,/wy

x UCu.yy

z eS%,/{y

~ fc5=1y

@ hU8_5Ay

B fc5=1Cy

D eRt-Ey

F eRt-Gy

H hU8_5Iy

J fc5=1Ky

L eS%,/My

N hE$K0Oy

P UCu.Qy

T eS%,/Uy

V fb%+.Wy

X VS%,/Yy

Z fb%+.[y

\ VS%,/]y

^ %eBi(_y

` %eBi(ay

b E3e-cy

d E3e-ey

f Wc5>2gy

j Wb%+.ky

l ub%+.my

n uc5<0oy

p r5;/qy

r sE%L1sy

t uc5;/uy

v dCt-wy

x c5;/yy

z dCt-{y

| S"ekk4<<8}y

@ 3EKK6Ay

B CU[[$//:Cy

D S"ekk4+>+>?Ey

F S"ekk4+>+>?Gy

H 4eDk*Iy

J eS%,/Ky

L eS%,/My

N sE%L1Oy

P r5;/Qy

R sE%L1Sy

V r5;/Wy

X r5;/Yy

Z sE%L1[y

\ c5:.]y

^ c5:._y

` sE#J/ay

b b%+.cy

d b%+.ey

f r5;/gy

h UBd,iy

l UCs,my

n UCs,oy

p UBd,qy

r UBd,sy

t b%+.uy

v b%+.wy

x r5;/yy

z b%+.{y

| b%+.}y

~ c5:.y

B c5:.Cy

D sE#J/Ey

F eS%+.Gy

H fc5;/Iy

J UE5#45Ky

L 3E$K(My

N eRx1Oy

P tS%+.Qy

R vsE&M2Sy

T vsE&M2Uy

X eWeO&<=Yy

Z w.?(@A[y

\ ieEl3]y

^ eU;%78_y

` eU;%78ay

b eU:%67cy

d 3EKK)<)<=ey

f uc5<0gy

h BE$K(iy

j 2sE"I&ky

n #sE#J/oy

p T5%*<=qy

r Cy)9:sy

t KeDk2uy

v JU3Z0wy

x %})=>yy

z UCu6{y

| '2uT{3}y

~ 5%
*;<y

@ l(;<Ay

D 5%|)<=Ey

F 5%})=>Gy

H fgu5H/IJIy

J fgu5H/IJKy

L fgu5H/IJMy

N ieI.>?Oy

P iU4[9Qy

R %m(<=Sy

T VY6L0MNUy

V &wU7^DWy

Z "5%|1DE[y

\ &w @ : ]y

` &tWe = 7 ay

d &vr5;?ey

f &vr5;?gy

h &x% A ; iy

l #CeCj9my

n &wE$K@oy

p 5s$%'qy

t '7E2G,HIuy

x  5%
2CDyy

z D"eDk*{y

| tS%+.}y

~ 3e5y

@ Hc5<8Ay

B c5:.Cy

D '5%*@AEy

F 62uT{3Gy

H 5%0A*BCIy

J HeU3D-EFKy

N tUE+$67Oy

P eU;%78Qy

R ueK&89Sy

T u\':;Uy

V %l(;<Wy

X E5%*=>Yy

Z E5%*=>[y

\ %l(;<]y

^ HeU3D-EF_y

` 4%0B*CDay

d feU=%9:ey

f m(<=gy

h @%235iy

l +,J  ) *+my

r *eU3G-HIsy

t )UE-,@Auy

v &%)?@wy

x %U4[1yy

z &%y)9:{y

| %m(<=}y

B fb%++t7J7JKCy

D VVU?-CDEy

F !&&%2GHGy

H !&"ekk4;M;MNIy

N CeCj)Oy

P sBT-C-CDQy

R $U4[1Sy

T $E+$67Uy

V CeCj)Wy

X )#sE#J?Yy

Z CeCj)[y

\ S%*-]y

^ CeCj)_y

` S%*-ay

f E3e-gy

h E2uT{+iy

j E2uT{+ky

l E2uT{+my

n GS%,/oy

p GS%,/qy

t UCu.uy

v eS%,/wy

x fc5=1yy

z hU8_5{y

| 3h8}y

~ fc5=1y

@	 eRt-A	y

B	 eRt-C	y

D	 E$K0E	y

F	 hU8_5G	y

J	 3h8K	y

L	 (Cx9M	y

N	 (Cx9O	y

P	 (Bd4Q	y

R	 fc5=1S	y

T	 eS%,/U	y

V	 %eEl3W	y

X	 hE$K0Y	y

Z	 UCu.[	y

\	 U5\2]	y

`	 eS%,/a	y

b	 fb%+.c	y

d	 VS%,/e	y

f	 fb%+.g	y

h	 VS%,/i	y

j	 %eBi(k	y

l	 %eBi(m	y

n	 E3e-o	y

p	 E3e-q	y

r	 Wc5>2s	y

v	 Wb%+.w	y

x	 ub%+.y	y

z	 uc5<0{	y

|	 r5;/}	y

~	 sE%L1	y

@
 uc5;/A
y

B
 dCt-C
y

D
 dCt-E
y

F
 sBT-@-@AG
y

H
 S"ekk4<<8I
y

L
 3EKK6M
y

N
 4eDk*O
y

P
 eS%,/Q
y

R
 sE%L1S
y

T
 r5;/U
y

V
 sE%L1W
y

X
 r5;/Y
y

Z
 r5;/[
y

\
 sE%L1]
y

^
 eS%+._
y

b
 fc5;/c
y

d
 UE5#45e
y

f
 3EKK)?)?@g
y

h
 S"ekk4+A+ABi
y

j
 3E$K(k
y

l
 CU[[$//:m
y

n
 eRx1o
y

p
 tS%+.q
y

r
 vsE&M2s
y

t
 vsE&M2u
y

x
 S"ekk4+>+>?y
y

z
 S"ekk4+>+>?{
y

|
 eWeO&<=}
y

~
 w.?(@A
y

@ ieEl3Ay

B IsE%L9Cy

D CU[[$*>*>?Ey

F hU5\2Gy

H eU;%78Iy

J 4k(:;Ky

N eU;%78Oy

P 4k(:;Qy

R eU:%67Sy

T D%z):;Uy

V 3EKK)<)<=Wy

X uc5<0Yy

Z BE$K([y

\ 2sE"I&]y

^ (E5+AB_y

` FE5+?@ay

d #sE#J/ey

f T5%*<=gy

h Cy)9:iy

j KeDk2ky

l JU3Z0my

n %})=>oy

p UCu6qy

r '2uT{3sy

t 5%
*;<uy

v l(;<wy

z 5%|)<={y

| 5%})=>}y

~ fgu5H/IJy

@ fgu5H/IJAy

B fgu5H/IJCy

D ieI.>?Ey

F iU4[9Gy

H %m(<=Iy

J VY6L0MNKy

L &wU7^DMy

P "5%|1DEQy

R &w @ : Sy

V &tWe = 7 Wy

Z &vr5;?[y

\ &vr5;?]y

^ &x% A ; _y

b %c4s<cy

d )$U4[Aey

n )"b%++$$&oy

r -b"ekk$$&sy

x #CeCj9yy

z &wE$K@{y

| 5s$%'}y

@ '7E2G,HIAy

B  5%
2CDCy

D D"eDk*Ey

F tS%+.Gy

H 3e5Iy

J Hc5<8Ky

L sE%L1My

P r5;/Qy

R r5;/Sy

T r5;/Uy

V eEl3Wy

X eEl3Yy

Z U5\2[y

\ %eEl3]y

^ &#uV}5_y

` 8S%/:ay

b hU8_=cy

f 63f6gy

h %U4[1iy

j %U4[1ky

l UBd4my

n (Cx9oy

p hU8_=qy

r xeHo>sy

t xeHo>uy

v xU4[9wy

x 63f6yy

| 5#uU|4}y

~ uc5<8y

@ 8Rt5Ay

B %eEl3Cy

D eS%,7Ey

F %eEl3Gy

H &"eDk2Iy

J eEl3Ky

L &"eDk2My

N eEl3Oy

R eS%),Sy

T eS%),Uy

V sE%L1Wy

X sE%L1Yy

Z '3g7[y

\ "eDk2]y

^ 5"eDk2_y

` 5#uU|4ay

b E2uT{3cy

d E3e5ey

h 5#uT{3iy

j $U4[1ky

l $U4[1my

n 3EKK1D1DEoy

p b%++t||<qy

r sBT\\:sy

t tS%+.uy

v %eEl3wy

x E3e5yy

z E2uT{3{y

~ E3e5y

@ E2uT{3Ay

B E2uT{3Cy

D E3e5Ey

F %eDk2Gy

H &#uT{3Iy

J uZ'89Ky

L sBT-C-CDMy

N b%++t/E/EFOy

P sBd,Qy

T Rdoo>Uy

V %U8_5Wy

X 4eDk2Yy

Z 63f6[y

\ 63f6]y

^ b%++t/B/BC_y

` b%++t/B/BCay

b %%*@Acy

d E7E2C,DEey

f )S%,7gy

j 	3e=ky

l Rd.B.BCmy

n (Cu6oy

p (Cu6qy

r hU5\:sy

t D%{);<uy

v tUE+,>?wy

x D%{);<yy

z tUE+,>?{y

| D%z):;}y

@ eU:->?Ay

B  ueJ.?@Cy

D sBT-@-@AEy

F 5#uU|4Gy

H Bd,Iy

J r3b	*Ky

L hu_/EFMy

N u]/CDOy

P c3c
3Qy

R  ueK.@ASy

V YU9-=>Wy

X S%+6Yy

Z 
Cs4[y

\ WeU=-AB]y

^  U5\:_y

` gr5;7ay

b XueJ.?@cy

d VUE,,?@ey

f ueU<-@Agy

h ueU=-ABiy

l !&'59L3MNmy

n !&'59L3MNoy

p !&'59L3MNqy

r !)S%	2BCsy

t !)Rt=uy

v eUE-,@Awy

x  E ; 5 yy

| *7CwH}y

~ &ueU<5HIy

@ *7GU D > Ay

F *4% A ; Gy

J *62uT{CKy

L *62uT{CMy

N *8We E ? Oy

R )#tU3Z@Sy

T -dCtEUy

Z 'S%*=[y

\ ;CCj]y

` ?SCjay

d *7BdDey

h "#93#$&iy

l gw6K0LMmy

n $XueJ6GHoy

p b%+.qy

v 4eDk2wy

x XsE%L9yy

z #uU|<{y

| U4[1}y

~ U4[1y

@ &#uT{3Ay

D eS%*5Ey

F uc5:6Gy

H sE#J7Iy

J )%j8IJKy

P #L#uXGQy

T )-eI>NOUy

X 'c5?KYy

` S"ekk43F3FGay

b 0eFmLcy

p c3d,qy

r c3c
+sy

t c3c
+uy

z c5="{y

F  
E$KGy

L  U5\My

T  U5\Uy

^ FBd,_y

` U6]3ay

f _c5+=>gy

h U;-?@iy

j ]Cu6ky

l }c5<8my

n XsE(O<oy

t & H# B$ %uy

x  '5 B# <$ %yy

F &vw ? 9 Gy

L "b%++t?My

P ZeEl3Qy

T 2r5;;(;(;<Uy

V sCs,Wy

Z sCs,[y

` 5#uT{3ay

b 5#uU|4cy

d %eEl3ey

h {Cu>iy

l c5+>?my

p %eEl3qy

r  3h@sy

t  Cy1ABuy

x #9c59=yy

| sE%L1}y

~ sE%L1y

@ %eEl3Ay

B %eEl3Cy

L !'3g?My

P *Bd<Qy

T %U4[1Uy

X ub%+.Yy

\ tWe4F.GH]y

` "5%|1DEay

b !%l0CDcy

d "5%|1DEey

h sCs,iy

j BCFmky

n ?Fmoy

v AF7q6Q;895GVX@A=GVv
  
!'c!25&--c%j9 "3 %gEE..x!+ FE W5A%%*177J+?%@F%*1Q4[F!&q$$V6C    * 5&--e445 FEE  Rag#>gE!Hg#>%#HI		AHHPQQRsP   QBV.RBU5S"BVU5BVVBVVBV+V.#BX!WBW&W%7BX!X BX!c                s   V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! R\        P                  ! R4      R4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RR R4      R4       R	# )
ztest\?zresult\?\.
ztest?r  \1\1r   rH   z\\1\\1c                 rA   )r/  r   rC   r7   r   rE   Z-RegexTests.test_replacement.<locals>.<lambda>	  s    Gr   N)r!   r#   rQ   r  r6   r7   r   test_replacementZRegexTests.test_replacement	  s    9.@'J
	 	5'37>5%,,w*?EwO5)S97C5*;SA7Kr   c           	     sL   \         P                  \         P                  ,           \         P                  ,           pV^,          pRV,           R,           V,           R,           pV P	                  \        \        \        P                  ! V4      4      4      V P                  4       R# )r   r   r   r  N)
r   Zascii_lowercaseZdigitsZascii_uppercaser!   rf   r   r#   r$   rg   )r   ZallZsideZregexpr'   r   test_common_prefixZRegexTests.test_common_prefix	  sk    $$v}}4v7M7MMQwtc!D(3.d5==#89:D<N<NOr   c                s   V P                  \        P                  ! R R4      P                  ^4      . RO4       V P                  \        P                  ! RR4      P                  ^ ^4      R.RR.34       V P                  \        P                  ! RR	4      P                  ^^4      R
.. RO34       V P                  \        P                  ! RR4      P                  ^^4      . RO. RO34       V P                  \        P                  ! RR4      P                  ^^^4      R.. ROR.34       V P                  \        P                  ! RR4      P                  ^4      R.4       V P                  \        P                  ! RR4      P                  ^4      RR.4       V P                  \        P                  ! RR4      P                  ^4      R.4       R# )z(\w)+r   rJ   r{   r   z(\w{3})+r   r  z^(\d{1,3})(?:\.(\d{1,3})){3}$z192.168.0.1Z192z^([0-9A-F]{2}){4} ([a-z]\d){5}$z3FB52A0C a2c4g3k9d3z([a-z]W)([a-z]X)+([a-z]Y)ZaWbXcXdXeXfYZaWZfYz.*?(?=(.)+)br   z.*?(?>(.){0,2})drH  (.)+NrS  )Z168r  r  )Z3FZB5Z2AZ0C)Za2Zc4Zg3Zk9Zd3)ZbXZcXZdXZeX)r!   r#   r3   capturesr5   r6   r7   r   test_capturesZRegexTests.test_captures	  s   h6??B E 	k8<EEaK:u~
&	(&F
!!Q5)5F)G	I%G
!!)!Q2J
(2*	+ 	%@
"(1a+tf6N&.	 	ot<EEaH%	&96BKKAN*	gs3<<Q?#Gr   c                s   \         P                  ! R R4      pV P                  VP                  ^ ^^4      R4       \         P                  ! RR4      pV P                  VP                  ^ ^^4      R4       \         P                  ! RR4      pV P                  VP                  ^ ^^4      R4       \         P                  ! RR4      pV P                  VP                  ^ ^4      R4       \         P                  ! RR4      pV P                  VP                  4       R4       \         P                  ! RR	4      pV P                  VP                  4       R4       R
# )z(X.*?Y\s*){3}(X\s*)+AB:zXY
X Y
X  Y
XY
XX AB:z(X.*?Y\s*){3,}(X\s*)+AB:z\d{4}(\s*\w)?\W*((?!\d)\w){2}Z9999XXzA\s*?.*?(\n+.*?\s*?){0,2}\(Xz
A
1
S
1 (Xz	Derde\s*:zaaaaaa:
Derde:zaaaaa:
Derde:N))r1      i      r!  i   ))r    r5  r6  r8  )r  r'  )   r  )r    
   )r9  r  )r     )r      )r#   r3   r!   r4   r   r   r   test_guardsZRegexTests.test_guards	  s   LL3
%'1a*GHLL4
%'1a*GHLL98D1a*DELL8/J1'89LL'897+LL'787+r   c           
     s   R p\        4       p\        4       pVP                  R4       Fp  pVP                  R4      w  rVVP                  WV34       VP                  WU34       VP                  WV34       VP                  We34       VP                  Wf34       Kr  	  V F  pV F  p\        P
                  ! RV,           R,           V4      pV'       d@   WV3V9  d6   V P                  RP                  \        V4      \        V4      4      4       Km  Ko  WV3V9   g   Ky  V P                  RP                  \        V4      \        V4      4      4       K  	  K  	  R# )u   I=i;I=ı;i=İZ;Z=z(?i)\A\Zz{} matching {}z{} not matching {}N)	r  r   ZupdateZaddr#   r5   r&   r  r  )r   Zpairsr  ZmatchingZpairr  r  rD   s   &       r   test_turkicZRegexTests.test_turkic	  s   'E	5KK$Dzz#HCcZ(LL#$LL#$LL#$LL#$ % C KK	C% 7=z1		"2"9"9%**#& ' 2 zX-		"6"="=eCj*#& ' ! r   c                sR   . R!OpV P                  \        P                  ! RRVR7      P                  4       R4       V P                  \        P                  ! RRVR7      P                  4       R4       V P                  \        P                  ! RRVR7      R4       . R"OpV P                  \        P                  ! RR	VR7      P                  4       R	4       V P                  \        P                  ! R
RVR7      P                  4       R4       V P                  \        P                  ! RRVR7      R4       V P                  \	        \        \        P                  ! R. R!OR7      4      4      V P                  4       V P                  \        P                  ! RR\        . R#O4      R7      . 4       V P                  \        P                  ! RR\        . R$O4      R7      R.4       R.pV P                  \        P                  ! RRVR7      P                  4       R%4       RR.pV P                  \        P                  ! RRVR7      P                  4       R%4       R.pV P                  \        P                  ! RRVR7      P                  4       R&4       R.pV P                  \        P                  ! RRVR7      P                  4       R'4       V P                  \        P                  ! RRVR7      P                  4       R'4       V P                  \        P                  ! RR4      P                  4       R(4       V P                  \        P                  ! RR4      P                  4       R(4       V P                  \        P                  ! RR . R7      P                  4       R)4       R# )*onez333\L<bar>444Z	333one444)rB  z(?i)333\L<bar>444Z	333TWO444Z
333four444Ns   333\L<bar>444s	   333one444s   (?i)333\L<bar>444s	   333TWO444s
   333four444z3\L<bar>4\L<bar>+5z^\L<options>zsolid QWERTr   z+solid QWERT+solidZSTRASSE(?fi)\L<words>u   straßewordsZstressZkitz(?i)\L<words>ZSKITSu   SKİTSz(?fi)\b(\w+) +\1\bu    straße STRASSE u    STRASSE straße z^\L<options>$r   )rA  ZtwoZthree)s   ones   twos   three)good	brilliantz	+s\ol[i}d)rF  rG  rB  r  r    r   r  )r0   r7  r.   )r!   r#   r5   r   rf   r   r$   rg   r%   r  r4   r3   )r   r  r   r   test_named_listsZRegexTests.test_named_lists	  s   )%5{uw	-%9;uw	-%5|	 -%6uw	.%:Luw	.%6	 	d5==1F%$' ( )*.*<*<	> 	9:<=?	A568:B	E +%6
/w@@D I	 h'%6
/w@@D I	 99%6		) '&6	)&6
9	) 	&;
9;;?467	L&;
9;;?467	L 	&6BGLLN
	r   c           	     s    V P                  \        \        \        P                  ! R 4      4      4      V P
                  4       V P                  \        \        \        P                  ! R4      4      4      V P
                  4       V P                  \        \        \        P                  ! R4      4      4      V P
                  4       V P                  \        \        \        P                  ! R4      4      4      V P
                  4       V P                  \        \        \        P                  ! R4      4      4      V P
                  4       V P                  \        \        \        P                  ! R4      4      4      V P
                  4       RpV P                  \        P                  ! RV4      R4       V P                  \        P                  ! R	V4      P                  ^ ^4      Rr4       V P                  \        P                  ! R
V4      R4       V P                  \        P                  ! RV4      ^ ,          R4       V P                  \        P                  ! RV4      ^ ,          R4       RpV P                  \        P                  ! RV4      P                  ^ ^4      Rs4       V P                  \        P                  ! RV4      P                  ^ ^4      Rt4       V P                  \        P                  ! RV4      P                  ^ ^4      Ru4       V P                  \        P                  ! RV4      P                  ^ ^4      Rt4       V P                  \        P                  ! RV4      P                  ^ ^4      Rs4       V P                  \        P                  ! RV4      P                  ^ ^4      Rt4       V P                  \        \        \        P                  ! R4      4      4      V P
                  4       V P                  \        P                  ! RR4      P                  ^ ^4      Rv4       V P                  \        P                  ! RR4      P                  ^ ^4      Rw4       V P                  \        P                  ! RR4      P                  ^ ^4      Rx4       V P                  \        P                  ! RR4      P                  ^ ^4      Ry4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      P                  ^ ^4      Rz4       V P                  \        P                  ! RR 4      P                  ^ ^4      R{4       V P                  \        P                  ! RR!4      P                  ^ ^4      Rv4       V P                  \        P                  ! R"R!4      P                  ^ ^4      R|4       V P                  \        P                  ! R#R$4      P                  ^ ^4      Rv4       V P                  \        P                  ! R#R%4      P                  ^ ^4      R}4       V P                  \        P                  ! R#R&4      P                  ^ ^4      R}4       V P                  \        P                  ! R#R'4      P                  ^ ^4      R}4       V P                  \        P                  ! R#R(4      P                  ^ ^4      Rv4       V P                  \        P                  ! R#R)4      P                  ^ ^4      Rv4       V P                  \        P                  ! R#R*4      P                  ^ ^4      Rv4       V P                  \        P                  ! R#R+4      P                  ^ ^4      R~4       V P                  \        P                  ! R#R,4      P                  ^ ^4      R~4       V P                  \        P                  ! R#R-4      P                  ^ ^4      R~4       V P                  \        P                  ! R#R.4      R4       V P                  \        P                  ! R#R/4      R4       V P                  \        P                  ! R#R04      R4       V P                  \        P                  ! R#R14      R4       V P                  \        P                  ! R#R24      R4       V P                  \        P                  ! R3R44      P                  ^ ^4      R4       V P                  \        P                  ! R5R44      P                  ^ ^4      R4       V P                  \        P                  ! R6R74      P                  ^ ^4      R4       V P                  \        P                  ! R6R84      R4       V P                  \        P                  ! R6R94      P                  ^ ^4      R4       R:pV P                  \        P                  ! R;V4      P                  ^ ^4      R4       V P                  \        P                  ! R<V4      P                  ^ ^4      R4       V P                  \        P                  ! R=V4      P                  ^ ^4      R4       V P                  \        P                  ! R>R?R@P                  4       RA7      RBRC.4       V P                  \        P                  ! R>RDR@P                  4       RA7      RERB.4       V P                  \        P                  ! RFRDR@P                  4       RA7      RCRB.4       V P                  \        P                  ! RGR?R@P                  4       RA7      RHRB.4       V P                  \        P                  ! RIR?R@P                  4       RA7      RCRB.4       V P                  \        P                  ! RGRDR@P                  4       RA7      RBRC.4       V P                  \        P                  ! RJRKRLP                  4       RA7      RMRN.4       V P                  \        P                  ! RJRORLP                  4       RA7      RPRM.4       V P                  \        P                  ! RQRORLP                  4       RA7      RNRM.4       V P                  \        P                  ! RRRKRLP                  4       RA7      RSRM.4       V P                  \        P                  ! RTRKRLP                  4       RA7      RNRM.4       V P                  \        P                  ! RRRORLP                  4       RA7      RMRN.4       V P                  \        P                  ! RURV4      P                  4       R4       V P                  \        P                  ! RWRV4      P                  4       R4       V P                  \        P                  ! RXRY4      P                  4       R4       V P                  \        P                  ! RZR[4      R[R\.4       V P                  \        P                  ! R]R^4      R^R\.4       V P                  \        P                  ! R_R`4      P                  4       R4       V P                  \        P                  ! R_Ra4      P                  4       R4       V P                  \        P                  ! R_Rb4      P                  4       R4       V P                  \        P                  ! R_Rc4      R4       V P                  \        P                  ! R_Rd4      P                  4       R4       V P                  \        P                  ! ReRf4      P                  R4       V P                  \        P                  ! RgRf4      P                  R4       V P                  \        P                  ! RhRi4      P                  R4       V P                  \        P                  ! RjRi4      P                  R4       V P                  \        P                  ! RkRl4      P                  R4       V P                  \        P                  ! RmRn4      P                  . RO^.. 34       V P                  \        \        P                  ! RoRp4      4      Rq4       R# )z(fou){s,e<=1}z(fuu){s}z
(fuu){s,e}z(anaconda){1i+1d<1,s<=1}z(anaconda){1i+1d<1,s<=1,e<=10}z(anaconda){s<=1,e<=1,1i+1d<1}z-molasses anaconda foo bar baz smith anderson z(znacnda){s<=1,e<=3,1i+1d<1}Nz(znacnda){s<=1,e<=3,1i+1d<2}z(ananda){1i+1d<2}z(?:\bznacnda){e<=2}Zanacondaz(?:\bnacnda){e<=2}z#anaconda foo bar baz smith andersonz(fuu){i<=3,d<=3,e<=5}z(?b)(fuu){i<=3,d<=3,e<=5}z(fuu){i<=2,d<=2,e<=5}z(?e)(fuu){i<=2,d<=2,e<=5}z(fuu){i<=3,d<=3,e}z(?b)(fuu){i<=3,d<=3,e}z(approximate){s<=3,1i+1d<3}z(foobar){e}Zxirefoabralfobarxiez(?e)(foobar){e}z(?b)(foobar){e}z(foobar){e<=2}ZxirefoabrzlfdZxirefoabzlfdz(foobar){i<=2,s<=2,e<=2}Zoobargoobaploowapz\b(foobar){e}\bZzfoobarzzboing zfoobarz goobar woopz(?b)\b(foobar){e}\bz^(foobar){e<=1}$ZfoobarZxfoobarZfoobarxZfooxbarZfoxbarZxoobarZfoobaxZoobarZfobarZfoobaZxfoobarxZfoobarxxZxxfoobarZxfoxbarZfoxbarxz (foobar){i<=1,d<=2,s<=3,2d+1s<4}Z(3oifaowefbaoraofuiebofasebfaobfaorfeoaroz$(?b)(foobar){i<=1,d<=2,s<=3,2d+1s<4}zfoo(bar){e<=1}zapZ	foobarzapZfobarzapZfoobrzapzxwww.cnn.com 64.236.16.20
www.slashdot.org 66.35.250.150
For useful information, use www.slashdot.org
this is demo data!
z(?s)^.*(dot.org){e}.*$z(?es)^.*(dot.org){e}.*$z^.*(dot.org){e}.*$z\b\L<words>{e<=1}\bz book cot dog desk zcat dogrD  ZcotZdogz book dog cot desk z dogz(?e)\b\L<words>{e<=1}\bz(?r)\b\L<words>{e<=1}\bzdog z(?er)\b\L<words>{e<=1}\bs   \b\L<words>{e<=1}\bs    book cot dog desk s   cat dogs   cots   dogs    book dog cot desk s    dogs   (?e)\b\L<words>{e<=1}\bs   (?r)\b\L<words>{e<=1}\bs   dog s   (?er)\b\L<words>{e<=1}\bz(\w+) (\1{e<=1})zfoo fouz(?r)(\2{e<=1}) (\w+)s   (\w+) (\1{e<=1})s   foo fouz(?:(?:QR)+){e}r  r   z	(?:Q+){e}r   z(?:service detection){0<e<5}zservic detectionzservice detectzservice detectizservice detectionzin service detection(?:cats|cat){e<=1}cat(?e)(?:cats|cat){e<=1}z(?:cat|cats){e<=1}catsz(?e)(?:cat|cats){e<=1}z(?:cat){e<=1} (?:cat){e<=1}zcat cotz/(?e)(GTTTTCATTCCTCATA){i<=4,d<=4,s<=4,i+d+s<=8}ZATTATTTATTTTTCATAz(?:fo){e<=1}|(?:fo){e<=2}ZFOT)	   i   rN  )r.   r.   )rO  r;  rP  )r   r;  rQ  )r  r  )r2   r2   )   r!  rR  )r   rO  rT  )r9  rS  rU  )r    r  rV  )r7  r5  rW  )rH  rH  )r    r9  rX  )r  r=  rY  )i"   i'   rZ  )r    rO  r1   r  )rV  r1   r9  )r    x   )r_  r_  )r^  )i]   id   ))r    iw   )i   ie   )r@  Zfou)s   foos   fou)r    r!  )r    r<  )r    r7  )r    i   r    r    r0   r    r    r    r    r0   r    r0   r    r    )r    r  r;  rS  )r!   rf   r   r#   r$   rg   r3   r4   r%   r   r   r5   	fullmatchfuzzy_countsfuzzy_changesr   r  r   r   
test_fuzzyZRegexTests.test_fuzzy4
  sU   d5==#ABC


	d5==#<=>


	d5==#>?@


	d5==1K#LMN


	d5==1Q#RST


	d5==1P#QRS


	 ?&DdK
	&D
Q
.	0&94@$G&<dCAF
	&;TB1E
	 5&=tDII!
	 &A
Q
.	0&=tDII!
 	"&A
Q
.	0&:DAFFq!L
	&>EJJ1
 	" 	d5==1N#OPQ


	 	m
!!%a-=	?&7
!!%a-=	?&7
!!%a-A	C 	&6
41:'7	9&6GN 	&@
#tAqz+=	? 	&9:FKKA
	 &9
&((,Q
4D	F&=
&((,Q
4H	J 	&8(CHHAN
	&8)DII!
	 &8)DII!
	 &8)DII!
	 &8(CHHAN
	&8(CHHAN
	&8(CHHAN
	&8'BGG1M
	&8'BGG1M
	&8'BGG1M
	&8*EtL&8*EtL&8*EtL&8)DdK&8)DdK
 	&H
466:d1aj C	 	&L
466:d1aj C	
 	&9;GLLQ
	 &9:FM&9:FKKA
	 O&?FKKA
$	&&@$GLLQ
#	%&;TBGG1M
	!
 	'=
y'8:<A5>	K'=
y'8:<BE?	L'A
y'8:<A5>	K'A
y'8:<BE?	L'B
y'8:<A5>	K'A
y'8:<A5>	K'>
 
(8(8(:<>Df=M	O'>
 
(8(8(:<>Ev=N	P'B
 
(8(8(:<>Df=M	O'B
 
(8(8(:<>Ev=N	P'C
 
(8(8(:<>Df=M	O'B
 
(8(8(:<>Df=M	O 	&99ELLN
	&=
VX~	/&:
fh 0	2 	'8'BW
E 	|U;eR[I 	%D
"dfg	/%D
 DFG	-%D
!TVW	.%D
 $	&%D
 ""&$&'	3 	)>
y	*)B
y	* 	)>
,		+)B
,		+ 	)G
!\9	. 	&X
,}~sB.G	I 	ekk*EtLM
	r   c                s^   V P                  \        P                  ! R R4      R,          R"4       V P                  \        P                  ! R R4      R,          R#4       V P                  \        P                  ! R R4      R,          R$4       V P                  \        P                  ! R R4      R,          R%4       V P                  \        P                  ! R R4      R,          R&4       V P                  \        P                  ! R R4      R4       V P                  \        P                  ! R	R4      R,          R'4       V P                  \        P                  ! R	R4      R,          R(4       V P                  \        P                  ! R	R4      R,          R)4       V P                  \        P                  ! R	R4      R,          R*4       V P                  \        P                  ! R	R4      R,          R+4       V P                  \        P                  ! R	R4      R4       V P                  \        P                  ! R
R4      R,          R,4       V P                  \        P                  ! R
R4      P                  ^4      . R-O4       V P                  \        P                  ! RR4      R,          R.4       V P                  \        P                  ! RR4      P                  ^4      . R/O4       V P                  \        P                  ! RR4      R,          R04       V P                  \        P                  ! RR4      R,          R14       V P                  \        P                  ! RR4      R,          R24       V P                  \        P                  ! RR4      R,          R24       \        P                  ! R4      pV P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R 4      4      R4       V P                  \        VP                  R!4      4      R4       R# )3z(\w)(?:(?R)|(\w?))\1rH   r   r   abbaNkayakZpaperZdontmatchmez(?r)\2(?:(\w?)|(?R))(\w)z\(((?>[^()]+)|(?R))*\)
(ab(cd)ef)z(?r)\(((?R)|(?>[^()]+))*\)z\(([^()]+|(?R))*\)zsome text (a(b(c)d)e) more textz(?r)\(((?R)|[^()]+)*\)z!(foo(\(((?:(?>[^()]+)|(?2))*)\)))foo(bar(baz)+baz(bop))z%(?r)(foo(\(((?:(?2)|(?>[^()]+))*)\)))zv^\s*(<\s*([a-zA-Z:]+)(?:\s*[a-zA-Z:]*\s*=\s*(?:'[^']*'|"[^"]*"))*\s*(/\s*)?>(?:[^<>]*|(?1))*(?(3)|<\s*/\s*\2\s*>))\s*$z<foo><bar></bar></foo>Tz<foo><bar></foo></bar>Fz<foo><bar/></foo>z<foo><bar></foo>z<foo bar=baz/>z<foo bar="baz">z<foo bar="baz"/>z<    fooo   /  >z	foo<foo/>z<foo>foo</foo>z<foo><bar/>foo</foo>z<a><b><c></c></b></a>)rH   r   r   )r   rJ   r{   )rh  rJ   N)ri  r!  N)papr   rJ   )rH   r   r   )r   r{   rJ   )rh  NrJ   )ri  Nr!  )rl  rJ   r   )rj  r  )r   r   (cd)r  )rj  r   )r  r   rm  r   )(a(b(c)d)e)r  )rn  rJ   )rk  rk  z(bar(baz)+baz(bop))zbar(baz)+baz(bop))r!   r#   r3   r3  r$   r   )r   Zrgxr   r   test_recursiveZRegexTests.test_recursive
  s   &=tDaI
	&=uEqJ
	&=vFK
	&=wGL
	 &=wGL
	&=}M
	 	&A4H!M
	&A5I1N
	&A6JA  	"&A7KQ !	#&A7KQ 	 &A
	  	&?N
#	%&?
 %?	A 	&C
2	4&C
 %?	A 	&;
+-./23G	I 	&?
+-./23G	I 	&J
"$%&)+	 
 	&N
"$%&)+	 
 mm  Z  [cjj)ABCTJcjj)ABCUKcjj)<=>Ecjj);<=uEcjj)9:;UCcjj):;<eDcjj);<=tDcjj);<=tD 	cjj56>cjj)9:;TBcjj)?@A4Hcjj)@ABDIr   c                s   \         P                  ! R 4      pV P                  \        P                  ! V4      VJ 4       V P                  \        P                  ! V4      VJ 4       VP                  R 4      pV P                  \        P                  ! V4      VJ4       V P                  \        P                  ! V4      VJ4       V P                  VP                  RJ4       \        P                  ! V4      pVP                  4        V P                  VP                  RJ4       V P                  VP                  RJ 4       \         P                  ! RR4      p\        P                  ! V4      pV P                  \        V4      P                  4       R 4       V P                  \        V4      P                  4       R4       \         P                  ! RR4      p\        P                  ! V4      pV P                  \        V4      P                  4       R 4       V P                  \        V4      P                  4       R4       \         P                  ! RR4      p\        P                  ! V4      pV P                  \        V4      R 4       V P                  \        V4      R4       \         P                  ! RR4      p\        P                  ! V4      pV P                  \        V4      R 4       V P                  \        V4      R4       R# )rJ   Nr@   r   r{   r   r   )r#   r$   Z
assertTruecopyZdeepcopyr5   r   Zdetach_stringrO  r!   rX  r   r   )r   rrD   Zm2rP  Zit2rC  r   	test_copyZRegexTests.test_copy<  s   MM#		!)*a(A-.
 GGCL		!A-.a(12,-YYq\
,-		T)* ^^C&iimb)3/c*C0 ^^C&mmBb)3/c*C0 __S%(iimb3'cC( __S%(mmBb3'cC(r   c                s   V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R	4       V P                  \        P                  ! R R4      P                  R4      R4       R# )
r  z{0} => {2} {1}r  foo bar => bar fooz(?<word1>\w+) (?<word2>\w+)z{word2} {word1}bar fooN)rs  r0   )rt  r0   )r!   r#   subfZsubfnr5   expandfr6   r7   r   test_formatZRegexTests.test_formatg  s    N4D
*	,$B
Y()2	4 	^5E
/	1%C
Y()7	9 	^
W-.0D	Fr   c                s   V P                  \        \        P                  ! R R 4      4      R4       V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! R R^R7      4      R4       V P                  \        \        P                  ! R R^R7      4      R4       V P                  \        \        P                  ! R R^R7      4      R4       V P                  \        \        P                  ! R R^^R7      4      R4       V P                  \        \        P                  ! R	R 4      4      R4       V P                  \        \        P                  ! R	R4      4      R4       V P                  \        \        P                  ! R	R^R7      4      R4       V P                  \        \        P                  ! R	R^R7      4      R4       V P                  \        \        P                  ! R	R^R7      4      R4       V P                  \        \        P                  ! R	R^^R7      4      R4       R
# )r   Tr  F)r   Zxabc)r   r  r  z(?r)abcNr!   r   r#   rd  r6   r7   r   test_fullmatchZRegexTests.test_fullmatchu  s   eoofe<=tDeooff=>FeooffQGH$Oeooff!DEtLeoofg1EFNeoofg1 	 	eooj%@A4Heooj&ABEJeooj&KL
	 	eooj&aHI
	eooj'qIJ
	eooj'q 	r   c           	     s   V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! R \        R4      \        R4      4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! R\	        R4      \	        R4      4      R4       V P                  \        P                  ! R\        R4      \        R4      4      R4       V P                  \        P                  ! R\        R4      \        R4      4      R4       R\        R4      3 F  pV P                  \        P                  ! R	V4      . RO4       \        P                  R8  dU   V P                  \        P                  ! R
V4      . RO4       V P                  \        P                  ! RV4      . RO4       K  V P                  \        P                  ! R
V4      . RO4       V P                  \        P                  ! RV4      . R O4       K  	  R\	        R4      \        R4      \        R4      3 F  pV P                  \        P                  ! RV4      . R!O4       \        P                  R8  dU   V P                  \        P                  ! RV4      . R"O4       V P                  \        P                  ! RV4      . R#O4       K  V P                  \        P                  ! RV4      . R$O4       V P                  \        P                  ! RV4      . R%O4       K  	  R\        R4      3 F~  pV P                  \        P                  ! RV4      . R&O4       V P                  \        P                  ! RV4      . R&O4       V P                  \        P                  ! RV4      . R'O4       K  	  R\	        R4      \        R4      \        R4      3 F~  pV P                  \        P                  ! RV4      . R(O4       V P                  \        P                  ! RV4      . R(O4       V P                  \        P                  ! RV4      . R)O4       K  	  R\        R4      3 EF  pV P                  \        P                  ! RV4      P                  4       R*4       V P                  \        P                  ! RV4      P                  4       R+4       V P                  \        P                  ! RV4      P                  ^ 4      R4       V P                  \        P                  ! RV4      P                  ^4      R4       V P                  \        P                  ! RV4      P                  ^^4      R,4       EK  	  R\	        R4      \        R4      \        R4      3 EF  pV P                  \        P                  ! RV4      P                  4       R*4       V P                  \        P                  ! RV4      P                  4       R-4       V P                  \        P                  ! RV4      P                  ^ 4      R4       V P                  \        P                  ! RV4      P                  ^4      R4       V P                  \        P                  ! RV4      P                  ^^4      R.4       EK  	  R# )/r   rJ   rw   Zxazs   yr  s   xyzs   xazr   r   r   r   s   :a:b::c   :s   :*s   (:*)r   r   r   r   s
   a:b::c:::ds   :+s   (:+)s   (:)(:*)r   s   (a)Nr   r   r   r   r   r   )r   r  rh  r   rr  )r   r   r  r   rh  r   rr  r   )r   rz  r   r   r  rz  r   r   rh     ::r   r   rr  r   r   )r   r  rh  rr  )r   rz  r  rz  rh  r{  rr  r   r   )rz  r{  s   :::))rz  r   )rz  rz  )rz  r{  r   r   r   )r  )r  r  )r"   r#   rQ   r   r   Z	bytearrayZ
memoryviewr   r   r   r%   r!   r5   r   r   )r   r   r   r   test_issue_18468ZRegexTests.test_issue_18468  sY   eiiS%8%@eii[-=
e
$	&eiidF;VDeiimD.A

!"(	*eiiio
F
$	&eiij.>
V
%	'  Y!77F!!%++c6": = 9,%%ekk$&? B( )%%ekk&&&A DL M %%ekk$&? B %%ekk&&&A D, - 8 "=#<
J
J!79F!!%++dF"; > 9,%%ekk%&@ C3 4%%ekk'6&B E  %%ekk%&@ C %%ekk'6&B E1 29  #K$==F!!%--f"= @ !!%--"? B !!%--	6"B E' ( > %mM&B
M
"J}$=?F!!%--v"> A !!%--"@ C !!%--
F"C F1 2? ;s++FU[[f5<<>CU[[7>>@&IU[[7==a@#FU[[7==a@#FU[[7==aC F  , ]40)D/
T
FU[[v6==?DU[[8??A7KU[[8>>qA4HU[[8>>qA4HU[[8>>q!D G r   c           	     s
   V P                  \        P                  ! R RRR7      P                  R4       V P                  \        P                  ! R RRR7      P	                  4       R4       V P                  \        P                  ! RRRR7      P                  R4       V P                  \        P                  ! RRRR7      P	                  4       R4       V P                  \        P                  ! RRRR7      R4       V P                  \        P                  ! RR	RR7      P                  R
4       V P                  \        P                  ! RR	RR7      P	                  4       R4       V P                  \        P                  ! RRRR7      P                  R4       V P                  \        P                  ! RRRR7      P	                  4       R4       V P                  \        P                  ! RRRR7      P                  R
4       V P                  \        P                  ! RRRR.R7      P                  R
4       V P                  \        P                  ! RRRR.R7      P	                  4       R 4       V P                  \        P                  ! RRRR.R7      P                  R4       V P                  \        P                  ! RRRR.R7      P	                  4       R4       V P                  \        P                  ! RRRR.R7      P                  R
4       V P                  \        P                  ! RRRR.R7      P	                  4       R 4       V P                  \        P                  ! RRRR.R7      P                  R4       V P                  \        P                  ! RRRR.R7      P	                  4       R4       V P                  \        P                  ! RRRR.R7      R4       V P                  \        P                  ! RRRR7      P	                  4       R4       V P                  \        P                  ! RR RR7      P	                  4       R!4       V P                  \        P                  ! RRRR7      P	                  4       R4       V P                  \        P                  ! RRRR7      P	                  4       R!4       V P                  \        P                  ! RRRR7      P	                  4       R4       V P                  \        P                  ! RRRR7      R4       V P                  \        P                  ! RRRR7      R4       R# )"r   rJ   TpartialrM  rK  ZcatchNzabc\w{3}r   Fr  z\d{4}$Z1234z	\L<words>post)r~  rE  r   rC  POST   poﬆPOSz	[a-z]*4R$Zab4Za4Za4RZ4aZa44r   r2   r  rX  r  r  )r!   r#   r5   r~  r4   r6   r7   r   test_partialZRegexTests.test_partial  s   T3=EEtLT3=BBDfMWeTBJJ
	WeTBGGI L 	WgtDdK[(	([(	(['	'['	( 	YEMM
	 	\64!'5	*\64$&&	*\5$!'4	)\5$$&&	* 	%6%gu	.%6"dff	.%6t%gt	-%6t"dff	.%6
ug'(,	. 	\3EJJL
	\4FKKM
	\5$GLLN
	\4FKKM
	\5$GLLN
	\4FM\5$GNr   c                s   V P                  \        \        P                  ! R \        P                  R7      4      R4       V P                  \        \        P                  ! R\        P                  R7      4      R4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR	4      R
.4       V P                  \        P
                  ! RR4      R.4       V P                  \        P
                  ! RR4      R.4       T P                  \        P                  ! RR4       Uu. uF  qP                  4       NK  	  upR.4       V P                  \        P                  ! RR\        P                  \        P                  ,          4      P                  ^ 4      R4       V P                  \        P                  ! RR\        P                  \        P                  ,          4      P                  ^ 4      R4       V P                  \        P                  ! RR\        P                  \        P                  ,          4      P                  ^ 4      R4       V P                  \        P                  ! RR4      P                  4       ER4       V P                  \        \        P                  ! RR\        P                  R7      4      R4       V P                  \        P                  ! RR4      P                  ^ ^4      ER4       V P                  \        P                  ! RR4      P                  ^ ^4      ER4       V P                  \        P                  ! R R!4      P                  ^ 4      R!4       V P                  \        P                  ! R"R#4      R4       V P                  \        P                  ! R$R%4      P                  ^ 4      R4       V P                  \        P                  ! R&R'4      P                  ^4      ER4       V P                  \        P                  ! R&R(4      P                  ^4      ER4       V P                  \        P                  ! R&R)4      P                  ^4      ER4       V P                  \        P                  ! R*R)4      P                  4       R)4       V P                  \        P                  ! R+R,4      P                  4       ER4       V P                  \        P                  ! R-R'4      P                  4       ER4       V P                  \        P                  ! R-R(4      P                  4       ER4       V P                  \        P                  ! R.R4      P                  ^ 4      R4       V P                  \        P                  ! R/R)\        P                  R7      P                  ^ 4      R)4       V P                  \        P                  ! R0R14      P                  ^ ^4      ER4       V P                  \        P                  ! R2R14      P                  ^ ^4      ER4       V P                  \        P                  ! R3R14      P                  ^ ^4      ER4       V P                  \        P                  ! R4R14      P                  ^ ^4      ER4       V P                  \        P                  ! R5R64      P                  ^ 4      R'4       V P                  \        P
                  ! R7R8R9R:.R;7      . ERO4       V P                  \        P
                  ! R<R84      . ERO4       V P                  \        P
                  ! R=R84      . ERO4       V P                  \        P
                  ! R>R84      . ERO4       V P                  \        P                  ! R?R'4      P                  ^ ^^4      ER4       V P                  \        P                  ! R@RA4      P                  ^ ^4      ER4       V P                  \        P                  ! RBR'4      P                  ^ ^4      ER4       V P                  \        P                  ! RCER4      R4       V P                  \        P                  ! RDRE4      R4       V P                  \        P                  V P                   RF 4       V P                  \        P                  ! RGRH4      P                  ^ 4      ER4       V P                  \        P                  ! RIRJ4      P                  ^ 4      RJ4       V P                  \        P                  ! RKRL4      R4       V P                  \        P                  ! RMRN4      R4       V P                  \        P                  ! RORP4      P                  ^ ^^4      ER4       V P                  \        P
                  ! RQRR4      RRS.4       V P                  \        P
                  ! RTRR4      RRS.4       V P                  \        P
                  ! RURR4      RRS.4       V P                  \        P
                  ! RVRR4      RRS.4       V P                  \        P                  ! RWRX4      P                  4       RX4       T P                  \        P                  ! RYRZ4       Uu. uF  qP                  4       NK  	  upR[R\.4       V P                  \        P                  ! R]R^4      P#                  R_4      . ERO4       V P                  \        P                  V P$                  R` 4       RapRbpV P                  \        P                  ! W#\        P&                  4      ^ ,          Rc4       V P                  \        P
                  ! RdRe4      Rf.4       V P                  \)        \        P*                  ! RgRhRi\        P,                  4      4      \)        Rj4      4       V P                  \        P                  ! RkRl4      R4       V P                  \        P                  ! RmRn4      P/                  Ro4      ERER.4       V P                  \        P*                  ! RpRq Rr4      Rs4       \        P                  ! Rt\        P                  R7      pV P                  VP                  Ru4      R4       V P                  VP                  Ru4      . 4       V P                  \        P                  V P0                  Rv 4       V P                  \        P2                  ! RwRxRy7      Rz4       V P                  \        P2                  ! RwRRy7      R{4       V P                  \        P2                  ! Rw4      R{4       V P                  \        P2                  ! R|RxRy7      R}4       V P                  \        P2                  ! R|RRy7      R~4       V P                  \        P2                  ! R|4      R~4       V P                  \        P                  ! RR4      P                  4       ER4       V P                  \        P                  ! RR4      P                  4       ER4       V P                  \        P                  ! RR4      P                  4       ER4       \        P                  ! R\        P4                  \        P6                  ,          R7      pT P                  VP                  R4       Uu. uF  qfP                  4       NK  	  upR.4       V P                  VP                  R4      R.4       RpT P                  VP                  V4       Uu. uF  qfP                  4       NK  	  upR.4       V P                  VP                  V4      R.4       \        P                  ! R\        P4                  \        P8                  ,          \        P6                  ,          R7      pT P                  VP                  R4       Uu. uF  qfP                  4       NK  	  upR.4       V P                  VP                  R4      R.4       RpT P                  VP                  V4       Uu. uF  qfP                  4       NK  	  upR.4       V P                  VP                  V4      R.4       \:        P<                  ER8  d*   V P                  \        P*                  ! RRoR4      RA4       M(V P                  \        P*                  ! RRoR4      Ro4       V P                  \        P*                  ! RRoR4      RA4       \:        P<                  ER8  d*   V P                  \        P*                  ! RRR4      R4       M(V P                  \        P*                  ! RRR4      R4       V P                  \        P*                  ! RRR4      R4       V P                  \        P*                  ! RRR\        P>                  R7      R4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P
                  ! RR4      . 4       V P                  \        P*                  ! RoRRo4      Ro4       V P                  \        \        P                  ! R'R'\        PB                  4      4      R4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P                  RR 4       V P                  \        P                  ! RR'4      P                  ^ ^^4      ER4       V P                  \        P                  ! RR'4      P                  ^ ^^4      ER4       RPE                  R \G        R4       4       4      pV P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       \I        \G        R4      4      pV P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        \        P                  ! RR4      P                  4       4      \)        R4      4       V P                  \        P                  ! RR4      P                  4       ER4       V P                  \        P*                  ! RRRn4      R4       V P                  \        P*                  ! RRRn4      R4       V P                  \        PJ                  ! RRRn4      R4       V P                  \        PJ                  ! RRRn4      R4       V P                  \        PL                  ! RRnRR7      P                  4       ER4       V P                  \        PL                  ! RRnRR7      PN                  R4       V P                  \        P                  ! RRRR7      P                  4       ER4       V P                  \        P                  ! RRRR7      P                  4       ER4       V P                  \        P                  ! RRRR7      P                  4       ER4       V P                  \        P                  ! RR4      P                  4       ER4       V P                  \        P                  ! RR4      R4       V P                  \        P
                  ! RR4      . ERO4       V P                  \        P
                  ! ER R4      . ERO4       T P                  \        P                  ! ERER4       Uu. uF  qP                  4       NK  	  up. ERO4       T P                  \        P                  ! ERER4       Uu. uF  qP                  4       NK  	  up. ERO4       V P                  \        P                  ! ERER4      ^ ,          ER4       V P                  \        P                  ! ERER4      ^ ,          ER4       V P                  \        P                  ! ERER4      ^ ,          ER4       V P                  \        P                  ! ER	ER
4      ^ ,          ER
4       V P                  \        P                  ! ERR4      P                  ^ ^4      ER4       V P                  \        P
                  ! ERER4      ERER.4       V P                  \        P
                  ! ERER4      RER.4       V P                  \        P                  ! ERR4      P                  ^ ^4      ER4       V P                  \        P
                  ! ERER4      ERRn.4       V P                  \        P
                  ! ERER4      ERR.4       V P                  \        P                  ! ERER4      ^ ,          ER4       V P                  \        P                  ! ERR'4      P                  ER4      R4       V P                  \        P                  ! ERR'4      P#                  ER4      R'.4       V P                  \        P                  ! ERER4      ^ ,          R4       V P                  \        P                  ! ERER4      ^ ,          R4       V P                  \        P                  ! ERER4      R4       V P                  \        P                  ! ERER4      ^ ,          ER4       V P                  \        P                  ! ERER 4      ^ ,          ER 4       V P                  \        P                  ! ERER!4      ^ ,          ER"4       V P                  \        P                  ! ER#ER 4      ^ ,          ER$4       V P                  \        P                  ! ER#ER!4      ^ ,          ER"4       V P                  \        P                  ! ER%ER!4      ^ ,          ER!4       V P                  \        P                  ! ER%ER&4      ^ ,          ER"4       V P                  \        P                  ! ER'ER&4      ^ ,          ER"4       V P                  \        P                  ! ER(ER&4      ^ ,          ER"4       V P                  \        P                  ! ER)ER4      R4       V P                  \        P                  ! ER*ER4      ^ ,          ER4       V P                  \        P                  ! ER+ER 4      ^ ,          ER 4       V P                  \        P                  ! ER+ER!4      ^ ,          ER"4       V P                  \        P                  ! ER,ER!4      ^ ,          ER!4       V P                  \        P                  ! ER,ER&4      ^ ,          ER"4       V P                  \        P                  ! ER-ER&4      ^ ,          ER"4       V P                  \        P                  ! ER.ER&4      ^ ,          ER"4       V P                  \        P                  ! ER/ER 4      ^ ,          ER 4       V P                  \        P                  ! ER/ER!4      ^ ,          ER"4       V P                  \        P                  ! ER0ER 4      ^ ,          ER$4       V P                  \        P                  ! ER0ER!4      ^ ,          ER"4       V P                  \        P                  ! ER1ER!4      ^ ,          ER!4       V P                  \        P                  ! ER1ER&4      ^ ,          ER"4       V P                  \        P                  ! ER2ER&4      ^ ,          ER"4       V P                  \        P                  ! ER3ER&4      ^ ,          ER"4       V P                  \        P                  ! ER4ER 4      ^ ,          ER 4       V P                  \        P                  ! ER4ER!4      ^ ,          ER"4       V P                  \        P                  ! ER5ER!4      ^ ,          ER!4       V P                  \        P                  ! ER5ER&4      ^ ,          ER"4       V P                  \        P                  ! ER6ER&4      ^ ,          ER"4       V P                  \        P                  ! ER7ER&4      ^ ,          ER"4       ER8p	V P                  \Q        \        P
                  ! ER9V	4      4      ^4       V P                  \        P                  ! ER:ER;4      P                  4       ER4       V P                  \        P                  ! ER<ER=4      ^ ,          ER=4       \        P                  ! ER>4      p
ER?pT P                  V
P                  V4       Uu. uF  qP                  ^^4      NK  	  upERER.4       V P                  \        P                  ! ER@ERA\        P&                  4      P                  4       ER4       V P                  \        P                  ! ERBERA\        P&                  4      P                  4       ER4       V P                  \        P                  ! ERCERD4      P                  4       ER4       V P                  \        P                  ! EREERD4      R4       V P                  \        P                  ! ERFERG4      P                  4       ER4       V P                  \        P
                  ! ERFERH4      ERIERJ.4       V P                  \        P                  ! ERKERL4      P                  ^ ^4      ER4       V P                  \        P                  ! ERNERL4      P                  ^ ^4      ER4       V P                  \        P*                  ! ERKEROERL4      ERM4       V P                  \        P*                  ! ERNEROERL4      ERM4       V P                  \        P                  ! ERPERQR.ERR7      P                  4       ER4       V P                  \        P                  ! ERSERQR.ERR7      P                  4       ER4       V P                  \        P                  ! ERTERU4      P                  4       ER4       V P                  \        P                  ! ERVERU4      P                  4       ER4       V P                  \        P                  ! ERWERX4      P                  4       ER4       V P                  \        P                  ! ERWERY4      P                  4       ER4       V P                  \        P                  ! ERZERY4      P                  4       ER4       \        P                  ! ER[ER\ER].ER^7      p\R        PT                  ! V4      p\R        PV                  ! V4      pV P                  VP                  ER\4      P                  4       ER4       V P                  \        P                  ! ER_ER`\        P&                  R7      P                  4       ER4       V P                  \        P                  ! ER_ERa\        P&                  R7      P                  4       ER4       V P                  \        P                  ! ER_Ro\        P&                  R7      R4       V P                  \        P                  ! ERbER`\        P&                  R7      P                  4       ER4       V P                  \        P                  ! ERbERa\        P&                  R7      P                  4       ER4       V P                  \        P                  ! ERbRo\        P&                  R7      R4       V PY                  \        P                  ERc 4       V PY                  \        P                  ERd 4       V P                  \        \        P                  ! ERe4      4      R4       V P                  \        \        P                  ! ERf4      4      R4       V P                  \        P
                  ! ERgERh\        PZ                  4      ERER.4       V P                  \        P                  ! ERiERjRR7      P                  4       ER4       ERkpERlpV P                  \        \        P                  ! ERmV,           V4      4      R4       V P                  \        \        P                  ! ERmV,           V4      4      R4       V P                  \        \        P                  ! ERnV,           V4      4      Rx4       V P                  \        \        P                  ! ERnV,           V4      4      Rx4       V P                  \        \        P                  ! ERoV,           V4      4      Rx4       V P                  \        \        P                  ! ERoV,           V4      4      Rx4       V P                  \        \        P                  ! ERpERqERrERq.ERs7      4      R4       V P                  \        \        P                  ! ERtERqERrERq.ERs7      4      R4       V P                  \        \        P                  ! ERuERqERrERq.ERs7      4      R4       V P                  \        \        P                  ! ERvERqERrERq.ERs7      4      R4       V P                  \        P                  ! ERwERxERyERz.ERs7      P                  4       ER4       V P                  \        P                  ! ER{ERxERyERz.ERs7      P                  4       ER4       V P                  \        P                  ! ER|ER}4      P                  4       ER4       V P                  \        P                  ! ER~ER}4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      R4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       ERpERpV P                  \        \        P                  ! VV4      4      Rx4       V P                  \        \        P                  ! ERER\4      4      R4       V P                  \        \        P                  ! ERER\4      4      Rx4       V P                  \        \        P                  ! ERER\4      4      R4       V P                  \        \        P                  ! ERER\4      4      Rx4       V P                  \        \        P                  ! ERER4      4      Rx4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER\        P&                  4      P                  4       ER4       V P                  \        P                  ! ERER\        P&                  4      P@                  ER4       V P                  \        P                  ! ERER\        P&                  4      P                  4       ER4       V P                  \        P                  ! ERER\        P&                  4      P@                  ER4       V P                  \        P                  ! ERER\        P&                  4      P                  4       ER4       V P                  \        P                  ! ERER\        P&                  4      P@                  ER4       V P                  \        P                  ! ERER\        P4                  \        P8                  ,          R7      P                  4       ER4       V P                  \        P
                  ! ERER4      ER.4       V P                  \        P
                  ! ERER4      ER.4       V P                  \        P
                  ! ERER4      ERER.4       V P                  \        P
                  ! ERER4      . 4       V P                  \        P
                  ! ERER4      ER.4       V P                  \        P
                  ! ERER4      . ERO4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P2                  ! ERRxRxER7      ER4       V P                  \        P2                  ! ERRxRER7      ER4       V P                  \        P2                  ! ERRRxER7      ER4       V P                  \        P2                  ! ERRRER7      ER4       V P                  \        P2                  ! ER4      ER4       V P                  \        P                  ! ERRL4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERR4      P                  4       ER4       V P                  \        P                  ! ERR4      P                  4       ER4       V P                  \        P                  ! ERR4      P                  4       ER4       V P                  \        P                  ! ERR4      P]                  4       ERR/4       V P                  \        P                  ! ERR4      P_                  4       ERR'./4       V P                  \        P                  ! ERR4      P                  4       ER4       V P                  \        P                  ! ERR4      P]                  4       ERR/4       V P                  \        P                  ! ERR4      P_                  4       ERR'./4       V P                  \        P                  ! ERR4      P                  4       ER4       V P                  \        P                  ! ERR4      P]                  4       ERR/4       V P                  \        P                  ! ERR4      P_                  4       ERR'./4       V P                  \        \        P                  ! ERR4      4      R4       V P                  \        P                  ! ERERRR7      P                  4       ER4       V P                  \        P                  ! ERERRR7      P                  4       ER4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      Rx4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      Rx4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      Rx4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      Rx4       V P                  \        PL                  ! ERR4      P#                  Ro4      . ERO4       V P                  \        PL                  ! ERR4      P                  Ro4      R4       V P                  \        PL                  ! ERR4      P#                  Ro4      . ERO4       V P                  \        PL                  ! ERR4      P                  Ro4      ER4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  R4       V P                  \        P                  ! ERRRR7      PN                  R4       V P                  \        P                  ! ERRRR7      PN                  R4       V P                  \        P                  ! ERR'RR7      PN                  Rx4       V P                  \        P                  ! ERR'RR7      PN                  Rx4       V P                  \        P                  ! ERR'RR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  R4       V P                  \        P                  ! ERRRR7      PN                  R4       V P                  \        P                  ! ERRRR7      PN                  R4       V P                  \        P                  ! ERR'RR7      PN                  Rx4       V P                  \        P                  ! ERR'RR7      PN                  Rx4       V P                  \        P                  ! ERR'RR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       ERpERp	\        P                  ! VV	\        P&                  R7      pV P                  VP@                  ER4       V P                  VP`                  . ER.. 34       V P                  \        P                  ! ERER4      P@                  ER4       V P                  \        P                  ! ERER4      P@                  ER4       V P                  \        P
                  ! ERER4      ER.4       V P                  \        \        P                  ! ERR'4      4      R4       V P                  \        \        P                  ! ERR'4      4      R4       V P                  \        PL                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P_                  4       ER ER.ER. ERER./4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        P                  ! ERER4      P`                  . . . ERO34       V P                  \        P                  ! ERER4      P@                  ER4       V P                  \        P                  ! ERER4      P`                  ^ .. ^.34       V P                  \        P                  ! ER	ER4      P@                  ER4       V P                  \        P                  ! ER	ER4      P`                  . . ^ .34       V P                  \        P                  ! ER
ER4      P@                  ER4       V P                  \        P                  ! ER
ER4      P`                  . . ^ .34       V P                  \        P                  ! ERER4      P@                  ER4       V P                  \        P                  ! ERER4      P@                  ER4       V P                  \        P                  ! ERER4      P@                  ER4       V P                  \        P                  ! ERER4      P@                  ER4       V P                  \        P                  ! ERER4      P@                  ER4       V P                  \        PL                  ! ERER4      P@                  ER4       V P                  \        PL                  ! ERER4      P@                  ER4       V P                  \        P                  ! ERER4      R4       V P                  \        \        P                  ! ER4      4      R4       V P                  \        \        P                  ! ER4      4      R4       V P                  \        P
                  ! ERER4      . ERO4       V P                  \        P
                  ! ERER4      . ERO4       V P                  \        P                  ! ERER\        Pb                  R7      P@                  ER4       V P                  \        \        P                  ! ERERa4      4      R4       V P                  \        \        P                  ! ERERa4      4      R4       V P                  \        P                  ! ER ER!4      P                  4       ER!4       V P                  \        P                  ! ER ER"4      R4       V P                  \        P                  ! ER#ER$4      P                  4       ER$4       V P                  \        P                  ! ER#ER%4      R4       V P                  \        P                  ! ER#ER$4      P`                  . ^.. 34       V P                  \        P                  ! ER&ER$4      P                  4       ER$4       V P                  \        P                  ! ER'ER$4      P`                  . ^.. 34       V P                  \        P                  ! ER(4      Pe                  ER)4      . ERO4       V P                  \        P                  ! ER(4      Pe                  ER*4      . ERO4       V P                  \        P                  ! ER+4      P                  ER,4      R4       V P                  \        P                  ! ER-4      P                  ER.4      R4       \        P                  ! ER/\        P                  \        Pf                  ,          R7      pV P                  VP                  ER04      P                  4       ER04       V P                  VP                  ER14      P                  4       ER24       V P                  VP                  ER34      P                  4       ER44       V P                  VP                  ER54      P                  4       ER64       ER7pER8p\        P                  ! VV\        P&                  R7      pV P                  VP                  4       ER4       V P                  VP]                  4       ER9ER:ER;ER<ER=ER>ER?ER@ERAERB/4       \        P                  ! VV\        PZ                  R7      pV P                  VP                  4       ER4       V P                  VP]                  4       ER9ER:ER;ER<ER=ER>ER?ER@ERAERB/4       ERCpERDp\        P                  ! VV\        P&                  R7      pV P                  VP@                  ER4       V P                  VP`                  . . . 34       EREp\        P                  ! VV\        P&                  R7      pV P                  VP@                  ER4       V P                  VP`                  ^^.. . 34       V P                  \        P*                  ! ERFERGERH4      ERI4       V P                  \        PJ                  ! ERFERJERH4      ERI4       V P                  \        P                  ! ERFERI4      Pi                  ERG4      ERI4      3 V P                  \        P                  ! ERFERI4      Pk                  ERJ4      ERI4       V P                  \        P                  ! ERKERL4      R4       V P                  \        P                  ! ERKERL\        P                  R7      R4       V P                  \        P                  ! ERMERN4      P                  4       ER4       V P                  \        P                  ! EROERN4      P                  4       ER4       V P                  \        P                  ! ERPERQ4      R4       V P                  \        P                  ! ERRERQ4      P                  4       ER4       V P                  \        P                  ! ERSR4      Pm                  4       R.. ERO34       V P                  \        P                  ! ERSR4      Po                  4       ER.. ERO34       V P                  \        \        PL                  ! ERTERU4      4      R4       V P                  \        \        PL                  ! ERVERW4      4      R4       V P                  \        P                  ! ERXRL4      R4       V P                  \        P                  ! ERXRL4      P                  4       ER4       V P                  \        P                  ! ERYERZ4      P                  4       ER4       V P                  \        P                  ! ER[Rn4      P                  4       ER4       V P                  \        P                  ! ER\Rn4      P                  4       ER4       V P                  \        P                  ! ER]Rn4      P                  4       ER4       V P                  \        P                  ! ER^Rn4      P                  4       ER4       V P                  \        P                  ! ER_ER`. ERa7      P                  4       ER4       V P                  \        P                  ! ERb4      P                  R'4      P                  4       ER4       V P                  \        P                  ! ERb\        P                  R7      P                  R'4      P                  4       ER4       V P                  \        P                  ! ERcERdRR7      P                  4       ER4       V P                  \        P                  ! ERcEReRR7      R4       V P                  \        P                  ! ERcERfRR7      P                  4       ER4       V P                  \        P                  ! ERgERhRR7      P                  4       ER4       V P                  \        P                  ! ERgERiRR7      R4       V P                  \        P                  ! ERjERdRR7      P                  4       ER4       V P                  \        P                  ! ERjEReRR7      R4       V P                  \        P                  ! ERjERfRR7      P                  4       ER4       V P                  \        P                  ! ERkERhRR7      P                  4       ER4       V P                  \        P                  ! ERkERiRR7      R4       V P                  \        \        P                  ! ERlERmRR7      4      R4       V P                  \        \        P                  ! ERlERnRR7      4      R4       V P                  \        \        P                  ! ERlERoRR7      4      R4       V P                  \        \        P                  ! ERlERpRR7      4      R4       V P                  \        \        P                  ! ERlERqRR7      4      R4       V P                  \        \        P                  ! ERlERrRR7      4      R4       V P                  \        \        P                  ! ERlERsRR7      4      R4       V P                  \        \        P                  ! ERlERtRR7      4      R4       V P                  \        \        P                  ! ERuR'4      4      R4       V P                  \        \        P                  ! ERvR'4      4      R4       V P                  \        \        P                  ! ERwR'4      4      Rx4       V P                  \        \        P                  ! ERxR'4      4      R4       V P                  \        \        P                  ! ERyR'4      4      R4       V P                  \        \        P                  ! ERzR'4      4      R4       V P                  \        \        P                  ! ER{R'4      4      Rx4       V P                  \        P                  ! ER|ER}4      R4       V P                  \        \        P                  ! ER~ER4      4      R4       V P                  \        \        P                  ! ERER4      4      Rx4       V P                  \        P
                  ! ER~ER4      ERER.4       V P                  \        P
                  ! ERER4      ERER.4       V P                  \        P
                  ! ERER4      ER.4       V P                  \        P
                  ! ER~ER\        Pp                  R7      ERER.4       V P                  \        P
                  ! ERER\        Pp                  R7      ERER.4       V P                  \        P
                  ! ERER\        Pp                  R7      ER.4       V P                  \        P
                  ! ER~ER\        Pr                  R7      ER.4       V P                  \        P
                  ! ERER\        Pr                  R7      ERER.4       V P                  \        P
                  ! ERER\        Pr                  R7      ER.4       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      ^ R7      4      ^u4       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      \        Pr                  R7      4      ^44       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      \        Pp                  R7      4      ^u4       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      ^ R7      4      ^44       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      \        Pr                  R7      4      ^44       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      \        Pp                  R7      4      ^44       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      ^ R7      4      ^u4       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      \        Pr                  R7      4      ^u4       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      \        Pp                  R7      4      ^u4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        PL                  ! ERER4      4      R4       V P                  \        \        P                  ! ER4      4      R4       V P                  \        \        P                  ! ER4      4      R4       R# u upi u upi u upi u upi u upi u upi u upi u upi u upi (  z(?>b)r   Tz^((?>\w+)|(?>\s+))*$z\((?:(?>[^()]+)|(?R))*\)za(bcd(e)f)g(h)z	(bcd(e)f)z(h)z\((?:(?:[^()]+)|(?R))*\)za(b(cd)e)f)g)hz(b(cd)e)za(bc(d(e)f)ghz(d(e)f)z(?r)\((?:(?>[^()]+)|(?R))*\)z\((?:[^()]*+|(?0))*\)za(b(c(de)fg)hz	(c(de)fg)za(bc)drH  z([\da-f:]+)$r  r  z^(?=ab(de))(abd)(e)Zabdez\ r   z^(a|)\1{2}br{   r   z	^(a){0,0}r   Nz(?>.*/)bza/bz((?i)blah)\s+\1z	blah BLAHz(\()?[^()]+(?(1)\)|)z(abcdz(a*)*rJ   r   r,   z	a(?#xxx)*z(?=abc){3}abcZ	abcabcabcz^(?:a(?:(?:))+)+za(?x: b c )dza#comment
*z(?V1)(a(?(1)\1)){1}Z
aaaaaaaaaaz(?V1)(a(?(1)\1)){2}z(?V1)(a(?(1)\1)){3}z(?V1)(a(?(1)\1)){4}z(?V1)(a)(?<=b(?1))Zbazz(?fi)\L<keywords>u)   POST, Post, post, poſt, poﬆ, and poﬅr  r   )Zkeywordsz(?fi)pos|postz(?fi)post|posz(?fi)post|anotherz(?V1)((a)(?1)|(?2))z(?V1)(\1xx|){6}rH   z(a|)+z(a|)*\dz^(?:a?b?)*$r   c                  r.  )z\N{1}r/  r   r   r   rE   )RegexTests.test_hg_bugs.<locals>.<lambda>  r0  r   r?  za
a
z(q1|.)*(q2|.)*(x(a|bc)*y){2,}Zxayxayz(?i)[^a]rN   z(?i)[[:ascii:]]u   Kz((a|b(?1)c){3,5})Zbaaaacaz(?<=:\S+ )\w+z:9 abc :10 defr  z(?<=:\S* )\w+z(?<=:\S+? )\w+z(?<=:\S*? )\w+z(?:fe)?maleZfemalez!(fe)?male: h(?(1)(er)|(is)) (\w+)z(female: her dog; male: his cat. asdsasdazfemale: her dogzmale: his catz (?<rec>\((?:[^()]++|(?&rec))*\))zaaa(((1+0)+1)+1)bbbZrecc                  rm   )r   Z\ro   r   r   r   rE   r    s    
))Cs
#r   z%(CAGCCTCCCATTTCAGAATATACATCC){1<e<=2}ZtcagacgagtgcgttgtaaaacgacggccagtCAGCCTCCCATTCAGAATATACATCCcgacggccagttaaaaacaatgccaaggaggtcatagctgtttcctgccagttaaaaacaatgccaaggaggtcatagctgtttcctgacgcactcgtctgagcgggctggcaaggZtCAGCCTCCCATTCAGAATATACATCCzc..+/cz
cA/c
cAb/czcAb/cz(\w+)r   u#   अन्‍न ന്‍ किनu)   [अन्‍न] [ന്‍] [किन]z.*a.*ba.*aaZababbaz(?<x>a(?<x>b))r   r   z(-)c                 s$    V P                  R 4      # )r   )r   rC   r7   r   rE   r    s    QXXd^r   r  Zaxbxcz\bt(est){i<2}z	Some textc                  r.  )z.???r/  r   r   r   rE   r    s    
--
 r   zfoo!?F)special_onlyzfoo\!\?zfoo!\?s   foo!?s   foo\!\?s   foo!\?z^([^z]*(?:WWWi|W))?$WWWiz^([^z]*(?:WWWi|w))?$z^([^z]*?(?:WWWi|W))?$r*   Zyxxxz(?V0).*rM   z(?V1).*z(?V0).*?r   z	|||||||||z	|t|e|s|t|z(?V1).*?z^(@)\n(?!.*?@)(.*)z\1\n==========\n\2z@
z@
==========
rJ  ZcazrL  z(?b)(?:cats|cat){e<=1}z(?:cat){e<=1}z(?e)(?:cat){e<=1}z(?b)(?:cat){e<=1}z(?:cats){e<=2}zc atsz(?e)(?:cats){e<=2}z(?b)(?:cats){e<=2}zc a tsz(?:cats){e<=1}z(?e)(?:cats){e<=1}z(?b)(?:cats){e<=1}z\bof ([a-z]+) of \1\bz#To make use of one of these modulesz\g<0>z(?V1)[[b-e]--cd]r   z(?V1)[b-e--cd]z(?V1)[[bcde]--cd]z(?V1)[bcde--cd]z ^unknown property at position 4$c                  r.  )z\p{}r/  r   r   r   rE   r  n  s    %--(r   z(?:()|(?(1)()|z)){2}(?(2)a|z)z(?:()|(?(1)()|z)){0,2}(?(2)a|z)c              3   r  r   r  r  r   r   r  *RegexTests.test_hg_bugs.<locals>.<genexpr>}  s     71Ar  i   z[[:alnum:]]+z[\p{Alpha}\p{PosixDigit}]+z[[:alpha:]]+z
\p{Alpha}+z[[:ascii:]]+z[\p{InBasicLatin}]+z[[:blank:]]+z[\p{gc=Space_Separator}\t]+z[[:cntrl:]]+z\p{gc=Control}+z[[:digit:]]+z[0-9]+z[[:graph:]]+z<[^\p{Space}\p{gc=Control}\p{gc=Surrogate}\p{gc=Unassigned}]+z[[:lower:]]+z
\p{Lower}+z[[:print:]]+z%(?V1)[\p{Graph}\p{Blank}--\p{Cntrl}]+z[[:punct:]]+z2(?V1)[\p{gc=Punctuation}\p{gc=Symbol}--\p{Alpha}]+z[[:space:]]+z\p{Whitespace}+z[[:upper:]]+z
\p{Upper}+z[[:word:]]+zL[\p{Alpha}\p{gc=Mark}\p{Digit}\p{gc=Connector_Punctuation}\p{Join_Control}]+z[[:xdigit:]]+z[0-9A-Fa-f]+r  r   s   (?a)[[:alnum:]]+s   (?a)[\p{Alpha}\p{PosixDigit}]+s   (?a)[[:alpha:]]+s   (?a)\p{Alpha}+s   (?a)[[:ascii:]]+s   (?a)[\x00-\x7F]+s   (?a)[[:blank:]]+s   (?a)[\p{gc=Space_Separator}\t]+s   (?a)[[:cntrl:]]+s   (?a)\p{gc=Control}+s   (?a)[[:digit:]]+s
   (?a)[0-9]+s   (?a)[[:graph:]]+s@   (?a)[^\p{Space}\p{gc=Control}\p{gc=Surrogate}\p{gc=Unassigned}]+s   (?a)[[:lower:]]+s   (?a)\p{Lower}+s   (?a)[[:print:]]+s&   (?aV1)[\p{Graph}\p{Blank}--\p{Cntrl}]+s   (?a)[[:punct:]]+s3   (?aV1)[\p{gc=Punctuation}\p{gc=Symbol}--\p{Alpha}]+s   (?a)[[:space:]]+s   (?a)\p{Whitespace}+s   (?a)[[:upper:]]+s   (?a)\p{Upper}+s   (?a)[[:word:]]+sP   (?a)[\p{Alpha}\p{gc=Mark}\p{Digit}\p{gc=Connector_Punctuation}\p{Join_Control}]+s   (?a)[[:xdigit:]]+s   (?a)[0-9A-Fa-f]+z\X$u   ab℃u   ℃z([^L]*)([^R]*R)LtRr  zx\1yZxayxbyr  zx{1}yz(a)*abcr}  ZOXRGZOOGOXz.XRGz	.{1,3}XRGzR|RZRz(.)(?(1)(?!))r  z(y)?(\d)(?(1)\b\B)Zax1y2z3br  r  z(y)?+(\d)(?(1)\b\B)z(?i)(?:error){e}zregex failurez(?fi)(?:error){e}z(?p)\d+(\w(\d*)?|[eE]([+-]\d+))Z10b12z10E+12z(?p)(\w|ae|oe|ue|ss)aez(?p)one(self)?(selfsufficient)?Zoneselfsufficientz(ab\Kcd)r   z
\w\w\K\w\wZabcdefghZghz(\w\w\K\w\w)Zefghz(?r)(ab\Kcd)z(?r)\w\w\K\w\wr  z(?r)(\w\w\K\w\w)z6(?(DEFINE)(?<quant>\d+)(?<item>\w+))(?&quant) (?&item)z5 elephantsz#(?&routine)(?(DEFINE)(?<routine>.))Zroutinez12(*FAIL)|3123z(?r)12(*FAIL)|3z\d+(*PRUNE)\dz\d+(?=(*PRUNE))\dz\d+(*PRUNE)bcd|[3d]Z123bcdZ123zzdr   z\d+?(*PRUNE)bcd|[3d]Z3bcdz\d++(?<=3(*PRUNE))zzd|[4d]$Z124zzdz\d++(?<=(*PRUNE)3)zzd|[4d]$z\d++(?<=2(*PRUNE)3)zzd|[3d]$z(?r)\d(*PRUNE)\d+z(?r)\d(?<=(*PRUNE))\d+z(?r)\d+(*PRUNE)bcd|[3d]z(?r)\d++(?<=3(*PRUNE))zzd|[4d]$z(?r)\d++(?<=(*PRUNE)3)zzd|[4d]$z (?r)\d++(?<=2(*PRUNE)3)zzd|[3d]$z\d+(*SKIP)bcd|[3d]z\d+?(*SKIP)bcd|[3d]z\d++(?<=3(*SKIP))zzd|[4d]$z\d++(?<=(*SKIP)3)zzd|[4d]$z\d++(?<=2(*SKIP)3)zzd|[3d]$z(?r)\d+(*SKIP)bcd|[3d]z(?r)\d++(?<=3(*SKIP))zzd|[4d]$z(?r)\d++(?<=(*SKIP)3)zzd|[4d]$z(?r)\d++(?<=2(*SKIP)3)zzd|[3d]$zJune 30, December 31, 2013 2012
some words follow:
more words and numbers 1,234,567 9,876,542
more words and numbers 1,234,567 9,876,542z(?<!\d)(?>2014|2013 ?2012)z1(?>2)Z12zn(?V1w)(?=(?=[^A-Z]*+[A-Z])(?=[^a-z]*+[a-z]))(?=\D*+\d)(?=\p{Alphanumeric}*+\P{Alphanumeric})\A(?s:.){8,255}+\ZzAAaa11!!z(?smx)
(?(DEFINE)
  (?<subcat>
   ^,[^,]+,
   )
)

# Group 2 is defined on this line
^,([^,]+),

(?:(?!(?&subcat)[\r\n]+(?&subcat)).)+
zP
,Cat 1,
,Brand 1,
some
thing
,Brand 2,
other
things
,Cat 2,
,Brand,
Some
thing
z(abcdefgh){e}z******abcdefghijklmnopqrtuvwxyzz(abcdefghi){e}z(?:(?=\d)\d+\b|\w+)r  z(?(?=\d)\d+\b|\w+)z (?(?<=love\s)you|(?<=hate\s)her)z
I love youz&I love you but I don't hate her eitherZyouZherz(?p)a*(.*?)aaabbbbbbz
(?p)a*(.*)rn   z(?irV0)\L<kw>Z21)Zkwz(?irV1)\L<kw>za|bZ111a222z(?r)a|bz(?if)<(CLI)><\1>z
<cli><cli>z
<cli><clI>z(?ifr)<\1><(CLI)>z\L<options>r@  rB  r   z(x{6}){e<=1}ZxxxxxxZxxxxxz(?r)(x{6}){e<=1}c                  r.  )s   00000\0\00\^(\00\U05000000r/  r   r   r   rE   r    s    
--<
=r   c                  r.  )s   {e<lr/  r   r   r   rE   r    s    u}}W/Er   z	((?0)){e}z	 ?(?0){e}z0((brown)|(lazy)){1<=e<=3} ((dog)|(fox)){1<=e<=3}z+The quick borwn fax jumped over the lzy hogz\d\d\d-\d\d-\d\d\d\dz$My SSN is 999-89-76, but don't tell.u   Йu   йz(?ui)z(?ai)z(?afi)z
(?i)\L<aa>Z22Z121)r   z(?ri)\L<aa>z(?fi)\L<aa>z(?fri)\L<aa>z(?r)\1dog..(?<=(\L<aa>))$ZccdogccZbcbZccz(?ir)\1dog..(?<=(\L<aa>))$z(2)(?:\1{5}){e<=1}Z3222212z(\d)(?:\1{5}){e<=1}z&\A(?P<whole>(?>\((?&whole)\)|[+\-]))\Zz((-))z((-)+)zx.*? (.).*\1(.*)\1z	x  |y| z|z\.sr (.*?) (.)(.*)\2(.*)\2(.*)z#.sr  h |<nw>|<span class="locked">|z"\xF9\x80\xAEqdz\x95L\xA7\x89[\xFE \x91)\xF9]\xDB'\x99\x09=\x00\xFD\x98\x22\xDD\xF1\xB6\xC3 Z\xB6gv\xA5x\x93P\xE1r\x14\x8Cv\x0C\xC0w\x15r\xFFc%" z(?P<http_referer>((?>(?<!\\)(?>"(?>\\.|[^\\"]+)+"|""|(?>'(?>\\.|[^\\']+)+')|''|(?>`(?>\\.|[^\\`]+)+`)|``)))) (?P<useragent>((?>(?<!\\)(?>"(?>\\.|[^\\"]+)+"|""|(?>'(?>\\.|[^\\']+)+')|''|(?>`(?>\\.|[^\\`]+)+`)|``))))zfoo(?<=foo)zfoo(?<!foo)zfoo(?<=foo|x)zfoo(?<!foo|x)z0(?(?=.*\!.*)(?P<true>.*\!\w*\:.*)|(?P<false>.*))r  z\w*(ea)\w*|\w*e(?!a)\w*Zeasierz(^1234$){i,d}Z12234z(^1234$){s,i,d}z(^123$){s,i,d}Zxxxxxxxx123za?yzZxxxxyzz(?:(?![a-d]).)+z.(?(DEFINE)(?P<mydef>(?:(?![a-d]).)))(?&mydef)+z((\w{1,3})(\.{2,10})){1,3}z("Erm....yes. T..T...Thank you for that."z((\w{1,3})(\.{2,10})){3}z((\w{1,3})(\.{2,10})){2}z((\w{1,3})(\.{2,10})){1}z(?:ESTONIA(?!\w)){e<=1}zESTONIAN WORKERSZESTONIANz(?:ESTONIA(?=\W)){e<=1}z(?:(?<!\w)ESTONIA){e<=1}zBLUB NESTONIAZNESTONIAz(?:(?<=\W)ESTONIA){e<=1}z(?r)(?:ESTONIA(?!\w)){e<=1}z(?r)(?:ESTONIA(?=\W)){e<=1}z(?r)(?:(?<!\w)ESTONIA){e<=1}z(?r)(?:(?<=\W)ESTONIA){e<=1}z(?:A.*B.*CDE){e<=2}zA B CYZz(?:A.*B.*?CDE){e<=2}z(?:A.*?B.*CDE){e<=2}z(?:A.*?B.*?CDE){e<=2}z ,0A[)r  Zliteral_spacesz\ \,0A\[z \,0A\[z\ ,0A\[z ,0A\[z(?(?=A)A|B)r  z
(?(?=A)A|)z
(?(?=X)X|)z(?(?=X))z(?(DEFINE)(?<func>.))(?&func)Zfuncz!(?(DEFINE)(?<func>.))(?=(?&func))z#(?(DEFINE)(?<func>.)).(?<=(?&func))zab(?#comment\))cdz[a-z]+ [a-z]*?:r  z(?r):[a-z]*? [a-z]+z(?u)\p{Script:Beng}u   ৯z(?u)\p{Script:Bengali}z!(?u)\p{Script_Extensions:Bengali}z(?u)\p{Script_Extensions:Beng}z(?u)\p{Script_Extensions:Cakm}z(?u)\p{Script_Extensions:Sylo}z(?u)\p{scx:Latin}r  z(?u)\p{scx:Ahom}z(?u)\p{scx:Common}4z(?u)\p{scx:Caucasian_Albanian}z(?u)\p{scx:Arabic}u   تz(?u)\p{scx:Balinese}z(?u)\p{scx:Devanagari}u   जz(?u)\p{scx:Batak}z(?P<x>.)*(?&x)r   z(?P<x>.)(?P<x>.)(?P<x>.)z(?:ab)*Zababz(?:ab)*?z(?:ab)*+z(?:ab)+z(?:ab)+?z(?:ab)++z(?r)(?:ab)*z(?r)(?:ab)*?z(?r)(?:ab)*+z(?r)(?:ab)+z(?r)(?:ab)+?z(?r)(?:ab)++r)   za*?za*+r-   za+?za++z(?r)a*z(?r)a*?z(?r)a*+z(?r)a+z(?r)a+?z(?r)a++z(?:\s*\w+'*)+Zwhateveraz  (?P<termini5>GGCGTCACACTTTGCTATGCCATAGCAT[AG]TTTATCCATAAGATTAGCGGATCCTACCTGACGCTTTTTATCGCAACTCTCTACTGTTTCTCCATAACAGAACATATTGACTATCCGGTATTACCCGGCATGACAGGAGTAAAA){e<=1}(?P<gene>[ACGT]{1059}){e<=2}(?P<spacer>TAATCGTCTTGTTTGATACACAAGGGTCGCATCTGCGGCCCTTTTGCTTTTTTAAGTTGTAAGGATATGCCATTCTAGA){e<=0}(?P<barcode>[ACGT]{18}){e<=0}(?P<termini3>AGATCGG[CT]AGAGCGTCGTGTAGGGAAAGAGTGTGG){e<=1}A?  GCACGGCGTCACACTTTGCTATGCCATAGCATATTTATCCATAAGATTAGCGGATCCTACCTGACGCTTTTTATCGCAACTCTCTACTGTTTCTCCATAACAGAACATATTGACTATCCGGTATTACCCGGCATGACAGGAGTAAAAATGGCTATCGACGAAAACAAACAGAAAGCGTTGGCGGCAGCACTGGGCCAGATTGAGAAACAATTTGGTAAAGGCTCCATCATGCGCCTGGGTGAAGACCGTTCCATGGATGTGGAAACCATCTCTACCGGTTCGCTTTCACTGGATATCGCGCTTGGGGCAGGTGGTCTGCCGATGGGCCGTATCGTCGAAATCTACGGACCGGAATCTTCCGGTAAAACCACGCTGACGCTGCAGGTGATCGCCGCAGCGCAGCGTGAAGGTAAAACCTGTGCGTTTATCGATGCTGAACACGCGCTGGACCCAATCTACGCACGTAAACTGGGCGTCGATATCGACAACCTGCTGTGCTCCCAGCCGGACACCGGCGAGCAGGCACTGGAAATCTGTGACGCCCTGGCGCGTTCTGGCGCAGTAGACGTTATCGTCGTTGACTCCGTGGCGGCACTGACGCCGAAAGCGGAAATCGAAGGCGAAATCGGCGACTCTCATATGGGCCTTGCGGCACGTATGATGAGCCAGGCGATGCGTAAGCTGGCGGGTAACCTGAAGCAGTCCAACACGCTGCTGATCTTCATCAACCCCATCCGTATGAAAATTGGTGTGATGTTCGGCAACCCGGAAACCACTTACCGGTGGTAACGCGCTGAAATTCTACGCCTCTGTTCGTCTCGACATCCGTTAAATCGGCGCGGTGAAAGAGGGCGAAAACGTGGTGGGTAGCGAAACCCGCGTGAAAGTGGTGAAGAACAAAATCGCTGCGCCGTTTAAACAGGCTGAATTCCAGATCCTCTACGGCGAAGGTATCAACTTCTACCCCGAACTGGTTGACCTGGGCGTAAAAGAGAAGCTGATCGAGAAAGCAGGCGCGTGGTACAGCTACAAAGGTGAGAAGATCGGTCAGGGTAAAGCGAATGCGACTGCCTGGCTGAAATTTAACCCGGAAACCGCGAAAGAGATCGAGTGAAAAGTACGTGAGTTGCTGCTGAGCAACCCGAACTCAACGCCGGATTTCTCTGTAGATGATAGCGAAGGCGTAGCAGAAACTAACGAAGATTTTTAATCGTCTTGTTTGATACACAAGGGTCGCATCTGCGGCCCTTTTGCTTTTTTAAGTTGTAAGGATATGCCATTCTAGACAGTTAACACACCAACAAAGATCGGTAGAGCGTCGTGTAGGGAAAGAGTGTGGTACCi  z)(?e)(dogf(((oo){e<1})|((00){e<1}))d){e<2}ZdogfoodZdogfootr  u   👨‍👩‍👧‍👦z(?=a)az(?!b)az
((\d)*?)*?zX(?(DEFINE)(?<mydef>(?<wrong>THIS_SHOULD_NOT_MATCHx?)|(?<right>right))).*(?<=(?&mydef).*)zx rightZmydefr  Zwrongz(?:cat){e<=1:[u]}Zcutz(?:cat){e<=1:u}z?(?be)(AGTGTTCCCCGCGCCAGCGGGGATAAACCG){s<=5,i<=5,d<=5,s+i+d<=10}ZTTCCCCGCGCCAGCGGGGATAAACCGz	(?:bc){e}z(?e)(?:bc){e}z(?b)(?:bc){e}z,(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){e}z$ 10,112.111.12z/(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){s<=1}z9(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){s<=1,i<=1,d<=1}z/(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){s<=3}z$ 10,1a2.111.12z/(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){s<=2}z(?e)(?:0?,0(?:,0)?){s<=1,d<=1}z,0;0z(?e)(?:0??,0(?:,0)?){s<=1,d<=1}z#\b(?e)(?:\d{6,20}){i<=5:[\-\\\/]}\bz-cat dog starting at 00:01132.000. hello worldz(?#)z(?x)(?#)z(\d+){i<=2:[ab]}Z123X4Y5z(?i)(\d+){i<=2:[ab]}z^(test){e<=5}$Zterstinz(?:(x*)\1\1\1)*x$z(?:(x*)\1{3})*x$zt(?:es){s<=1:\d}tZte5tZteztzt(?:es){i<=1:\d}tZtes5tZtesztzt(es){i<=1,0<e<=1}tzt(?:es){i<=1,0<e<=1:\d}tz(\d+ week|\d+ days)7 days10 daysz[ ]* Name[ ]*\* z  Name *za|\.*pb\.pyz.geojsa?  (?<=(?:\A|\W|_))(\d+ decades? ago|\d+ minutes ago|\d+ seconds ago|in \d+ decades?|\d+ months ago|in \d+ minutes|\d+ minute ago|in \d+ seconds|\d+ second ago|\d+ years ago|in \d+ months|\d+ month ago|\d+ weeks ago|\d+ hours ago|in \d+ minute|in \d+ second|in \d+ years|\d+ year ago|in \d+ month|in \d+ weeks|\d+ week ago|\d+ days ago|in \d+ hours|\d+ hour ago|in \d+ year|in \d+ week|in \d+ days|\d+ day ago|in \d+ hour|\d+ min ago|\d+ sec ago|\d+ yr ago|\d+ mo ago|\d+ wk ago|in \d+ day|\d+ hr ago|in \d+ min|in \d+ sec|in \d+ yr|in \d+ mo|in \d+ wk|in \d+ hr)(?=(?:\Z|\W|_))z1 month agoz9 hours 1 minute agoz1 minute agoz10 months 1 hour agoz
1 hour agoz1 month 10 hours agoz10 hours agoZ2TTCAGACGTGTGCTCTTCCGATCTCAATACCGACTCCTCACTGTGTGTCTzw(?P<insert>.*)(?P<anchor>CTTCC){e<=1}(?P<umi>([ACGT]){4,6})(?P<sid>CAATACCGACTCCTCACTGTGT){e<=2}(?P<end>([ACGT]){0,6}$)ZinsertZTTCAGACGTGTGCTZanchorZCTTCCZumiZGATCTZsidZCAATACCGACTCCTCACTGTGTr)  ZGTCTzt(?P<insert>.*)(?P<anchor>AACACTGG){e<=1}(?P<umi>([AT][CG]){5}){e<=2}(?P<sid>GTAACCGAAG){e<=2}(?P<end>([ACGT]){0,6}$)Z&GGAAAACACTGGTCTCAGTCTCGTAACCGAAGTGGTCGZ&GGAAAACACTGGTCTCAGTCTCGTCCCCGAAGTGGTCGz(test1)|(test2)zmatched: \1\2Ztest1zmatched: test1zmatched: {1}{2}z(?:\bha\b){i:[ ]}Zhavingz	(?a:\w)\wu   dжz(?a:\w)(?u:\w)z	^\p{LC}+$u   😺z	^\p{So}+$r2  z\p{HorizSpace}+u4   	   ᠎             　z\p{VertSpace}+u   
  z(?(?<=A)|(?(?![^B])C|D))z^a?(a?)b?c\1$Zabcaz(?(?=a).|..)z(?(?=b).|..)z(?(?!a).|..)z(?(?!b).|..)z(\L<foo>){e<=5}Zblah)r@  r  z
[^/]*b/ccczb/ccczb/ccbzb/ccz
[^/]*b/xyzzb/xyzb/yzz(?i)[^/]*b/cccz(?i)[^/]*b/xyzz<thinking>.*?</thinking>r  z	<thinkingz
<thinking>z<thinking>xz<thinking>xyz abcz<thinking>xyz abc fooz<thinking>xyz abc foo z<thinking>xyz abc foo barz(?V1)[[\s\S]]z(?V1)[[\s\S]-a]z(?V1)[[\s\S]--a]z(?V1)[[a-z]--b]z(?V1)[[\s\S]--b]z(?V1)[a-[\s\S]]z(?V1)[a--[\s\S]]zB(?ifu)(H\N{LATIN SMALL LETTER O WITH DIAERESIS}gskolan?)[\\s\\S]*puw   Yrkeshögskola . Studieämnen . Studieämnen . Studieämnen . Studieämnen . Studieämnen . Studieämnen . Studieämnenr  u   ９z(?a:\d)u   9９r  z(?u:\d)r  c              3   r  r   r  r  r   r   r  r  %       <Z\SVV\r  c              3   r  r   r  r  r   r   r  r  &  r  r  c              3   r  r   r  r  r   r   r  r  '  r  r  z
(?a:\p{L})c              3   r  r   r  r  r   r   r  r  )       A_R^Q#a&&R^r  c              3   r  r   r  r  r   r   r  r  *  r  r  c              3   r  r   r  r  r   r   r  r  +  r  r  z
(?u:\p{L})c              3   r  r   r  r  r   r   r  r  -  r  r  c              3   r  r   r  r  r   r   r  r  .  r  r  c              3   r  r   r  r  r   r   r  r  /  r  r  z\A\P{L}?\p{L}zhello,z\A\P{L}*(?P<w>\p{L}+)\P{L}*\Zz(\s|\S)z(?:[\S\s]|[A-D][M-Z]))r4  r   r  )r{   r   r"  r0   r0   r   r   r1   r1   r2   r   r  r   )r2   r/   r  )r  r\  r:  )r:  )r  r;  )r  ZPostr  u   poſtr     poﬅ)r  ZPosr   u   poſr  r  rJ  )r  r  r   ZPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar_  )r  r  rJ   )z(1+0)z	((1+0)+1)z(((1+0)+1)+1)r[  )r  r   rc  )r0   r0   r    rb  )r    r   r    )rJ   r   r   )r   r  r]  )r0   r9  ))r   r  )r   Z2)r   r  rX  )rX  )r9  r;  )r;  r=  )r=  r=  )r   rH  )r   rH  )r'  )r   r   )r'  )i6   i;   )r  r<  )r  r7  rQ  )r  r  )r1   r   )borwnr  r   faxr   r  )lzyr   r  hogr  r   )$   r  rH  )r0   r   r[  )r    i#   )ea)r    rS  )r    r  r    )r   r  zErm....ZErmz....zT...Tr  )r  )zT..r  r  r  r.   r   rS  ra  )r    r0   r1   r9  )r0   r    r0   r`  )r  r    r9  )r   r    r    )r  r  Z5)r    r1   r    )r   r  r   )r   r  r   )r    i2   )r   r[  r   r  ):r!   r   r#   r$   ZV1r%   rO  r   r3   r[   r   r5   rL   r4   r`   rx   UNDEF_CHAR_NAMEr3  r)  Z	BESTMATCHr  rQ   ZWORDZspansr,  r  ZFULLCASEr   r  r   r   r   re  ZDEBUGr   r  r  ru  rd  r~  r  pickleZdumpsZloadsr\  ZENHANCEMATCHr   r  rf  r  r   ZV0r   rv  ZallcapturesZallspansr   rN   )r   rD   ZfzZseqZrxr   r   Zrawr  r  Z
TEST_REGEXZ	TEST_DATArq  r   Zupper_iZlower_irJ   Zpy_regex_patternr]   Zsequences   &                   r   test_hg_bugsZRegexTests.test_hg_bugs  sS    	emmG588DEtL 	emm,C  	" 	'B
)51	3'B
)51	3'B
(\	+'B
&K	)'F
&K	)
..1?
CE
C )*'')
CE-	 	h
((9 E!Hf	&
 	osEGG
((= E!Hc	#osEGG
((= E!Hc	#
 	&;VDKKM
	
 	ekk%EGGDEtL 	nc:@@AF I 	
 	k59??1E H 	 	j%8>>qA5I
 	&8+FM 	&=
58V	%
 	gs388;VDgt499!<fEgu5::1=vF 	k59??A5I 	o{CHHJ M 	
 	&8#>CCEvN&8$?DDFO 	nf=CCAFO 	neq5	*
 	&<
Q
$4	6&<
Q
$4	6&<
Q
$4	6&<
Q
$6	8
 	&:EBHHK
	
 	';
?5>#%"	# 	'7
?AC<	= 	'7
?AC?	@ 	';
?AC?	@ 	&;SAGG1
	 
 	&8$?DDQJ
	 	gs399!Q?K 	j(;TB 	mT:DA 	u{{D,@,@ C" 	# 	eX6;;A>G 	&E
E!Hh	(
 	j#6= 	&79JK
	
 	&99EKKA
Q&	( 	'79IJ%.	'79IJ%.	'8:JK%.	'8:JK%.	 	nh?EEG
	
..=
4676 )*'')679J
9	 	&I
!!)% 3	
 	u{{DOO >$ 	' 5 bu?B
'	) 	y-@7)L 	uyy7
P
**   \
]	_ 	^X>E 	%6=CCCH LK 	
 	6+CWM
	
 ]]+588<;/6K0"5 	u{{D,@,@ C! 	" 	gEBKPgDA9Mg.	:hUC\RhTB
	h/< 	&<
&(J	(&<
&(J	(&=
&(J	( mmF%..5==*HIS\\&-AB-A'')-ABUGLV,ug6S\\#->?->'')->?%IS)E73mmF%..5;K;K*K
--+ S\\&-AB-A'')-ABUGLV,ug6S\\#->?->'')->?%IS)E73 y(UYYy#v>EUYYy#v>D9c6:DAy(UYYz3?MUYYz3?M:sF;[I 	#8
ell<=N	P 	%:	i	)%>
y	*%>
y	* 	%5u=JJ
	%9
y	*%9
y	* 	%6@MM
	%:
<	,%:
<	, 	%6
 L)	-%:
 L)	-%:
 L)	- 	%6@MM
	%:
<	,%:
<	, 	'?
/124	6
 	437= 	ekk$U[[ABDI 	':HE
H 	'8(Cc
F 	';XF
I 	'98Ds
G 	 	u{{,N
(	* 	%D
uQ1~}	.%F
uQ1~}	. 7g77rwwu}}5H
(   "''%--0Q
#  	 	rwwu}}5H
(   "''%--0A
#  	 	rwwu}}5H
(   "''%--0J
#  	 	rwwu}}5H
(   "''%--0R
#  	 	rwwu}}5H
(   "''%--0F"NOP	Rrwwu}}5H
(   "''%--u"EFG	Irwwu}}5H
(   "''%--0s
#  	 	rwwu}}5H
(   "''%--0A
#  	 	rwwu}}5H
(   "''%--0\^c"def	hrwwu}}5H
(   
&_
  	 	rwwu}}5H
(   "''%--0F
#  	 	rwwu}}5H
(   "''%--0A
#  	 	rwwu}}5G
(   "''%--  1D
#  	 	rwwu}}5I
(   "''%--0C
#  	
 eEl#sxx6N
)   #((5==1W
$  	 	sxx6N
)   #((5==1G#OPQ	Ssxx6N
)   #((5==1I5#QRS	Usxx6N
)   #((5==1X
$  	 	sxx6N
)   #((5==1L
$  	 	sxx6N
)   #((5==1CU#KLM	Osxx6N
)   #((5==1y  |A  $B  C  D	Esxx6N
)   #((5==1G#OPQ	Ssxx6N
)   #((5==1_af#ghi	ksxx6N
)   #((5==1l
$  	 	sxx6N
)   #((5==1Le#TUV	Xsxx6N
)   #((5==1G#OPQ	Ssxx6M
)   #((5==  2J  LQ  $R  S  T	Usxx6O
)   #((5==1I5#QRS	U 	u||FJ?EEGH
/	
 	&7?FFH K 	
 	67D98D:w=xHFGT:HEJ>I 	D	(D	'
 	fgtDIIK
	fgtDIIK
	k7	( 	UC0557@ 	%5t<dC 	'<jI
+	-'=zJ
+	- 	ENN;N
-  -q&&( - B	D
..-
?A
? ()&&(
?AC#	$ 	&H
	 &H
 	" 	&=tDQGN&H
 "#6	8 	k6:@@AF I 	}jAD
D 	
Cf
F 	 	ov>DDQJ
	'8*E
H 	':JG6
	 	&_
*	, 	&LcRXXYbceij&LcR[[\efilhmn 	ne<Q?E&8%@CSI&6>E&:EB1EuM&<hGJ
	&<hGJ
	&=xHK
	&=xHK
	&D
 	"&D
	&D
	&E
	 	&:EBDI&?GJ
	&@
 	"&@
	&H
 	"&H
	&H
	&I
	 	&;XFqI
	&;XFqI
	&<hGJ
	&<hGJ
	&C
 	"&C
	&C
	&D
	 	&?J1M
	&?J1M
	&G
 	"&G
	&G
	&H
	. 	U]]+H$OPRST 	Xt499;VD 	  &W
$	& ]] $ 
	 	


i
(*
( ,-&&A,
(*,> A ,	
 	o
+U__>>Bdfg	O&6
+U__>>Bdfg	O 	%;XFKKM
	%:HEtL&I
	)'J
246;U^	E 	nh?EEaK
	mX>DDQJ
	>5(CUK=%BEJ 	%5tFKKM
	%5tFKKM
	 	eY7<<>Gi;@@BFK 	&9
	)&9
	)&:
	) MM.5%.ALLOLLO,,.7 	^X!!%	1^W!!%	1^S!"&	(%7!!%	1%7!!%	1%7!"&	( 	%++ (> 	? 	%++'EF 	emmK894@ 	emmN;<dC 	'Z
79K9KM3 6 	 	&=
0$@@D I	
 85ekk(W*<
 	ekk(W*<
 	 	ekk(W*<
 	ekk(W*<
 	 	ekk)g*=
 	ekk)g*=
 	 	ell=$E
D  	ell>4U
E  	ell>4U
E  	ell?De
F  	 	&BIT]!TVV	-&C
'(,	8 	&;
TVV	%&<
TVV	%
 	%R
466	#%R
	
 	%:
tvv	'%F
0226$&'	C  yell+;Q?@%H 	ekk-?@$Gekk-?@%Hekk/5ABDIekk/5ABEJ 	ekk*]
 	 	%?
FHh	( 	ow
//466	+ow
//'<	4 	&7
//466	+&7
//'<	4 	&6
//467	,&6
//'<	4
 	gxu~~


@  DFF	, 	'9:F(	'\
x	! 	'D
469'8)	* 	'B
4679	;'B
468L7M	O'B
468=	> 	&@
#egz	3&@
#egz	3 	&A
 57J	0&A
 57J	0 	&D
#egz	3&D
#egz	3 	&E
 57J	0&E
 57J	0
 	&<
UWi	)&=
UWi	)&=
UWi	)&>
UWi	) 	gERWXZghgERVWYdegDQVWYdegDQUVXabg.< 	nc:??A6Jnc:??A6JmS9>>@&ImR8==?Hk26;;=vF 	&F
8	%&F
vtn	.&F
&3%	2 	&J
8	%&J
vtn	.&J
&3%	2 	&L
8	%&L
vtn	.&L
&3%	2 	ekk*>GH$O 	&8)	(&<i	( 	ekk*@
 	ekk*C
 	ekk*N
 	ekk*K
 	ekk*K
 	ekk*K
 	
 	ekk*>DEtLekk*=sCDeLekk*?EFMekk*KSQR
	ekk*?JKTRekk*A8LM
	ekk*CXNO
	ekk*>IJER 	)95AJJ3O
	)95AGGL
	 	)C
#	1)C
sS	" 	YdCKK
	YEMM
	ZTBJJ
	ZtDLL
	ZFNN
	YdCKK
	YEMM
	ZtDLL
	ZtDLL
	ZFNN
	 	]D$GOO
	]FDIQQ
	^RFNN
	^T4HPP
	^VTJRR
	]D$GOO
	]FDIQQ
	^T4HPP
	^T4HPP
	^VTJRR
	 	T2t<DDeLUB=EEuMUB=EEuMT2t<DDdKUB=EEtLUB=EEtLT3=EEuMUC>FFNUC>FFNXr4@HH%PYDAII5QYDAII5QXr4@HH$OYDAII4PYDAII4PXsDAII5QYTBJJERYTBJJER%5z4PXX
	G, LL$eoo>32vr*:; 	&R
!\9	.&R
!\9	. 	u
FHG
H	J
 	ell9c:;TBell9c:;TB 	>CCEvN 	  'F
!\^gy'2w)&	
 	ekk*>FGNekk*<eDEtL 	&h
&((5B7M	O 	\37DD G 	\37EE
qcH 	%5s;HH K 	%5s;IIrA3-	%5s;HH K 	%5s;IIrA3-	 	%X
)\9	6%[
)\9	6%e
)\9	6%[
)\9	6%[
)\9	6 	)J
,		+)K
,		+ 	&L
9;<@	B 	emmF34d;emmJ78$? 	':IF
	'>	J
	 	%6	%y	2 	ekk*>HI4Pekk*=wGH$O 	%96BHHJ
	%96BDI%97CIIK
	%97CTJ%9
 =2sB-	1%;WEKKM
	%@
 =2sB-	1 	'=>DDXNPbc'=>DDYOQde':;BB:NPTU7>>xH$OMM  J
  R
W
  R
Y
  R
Y
  \
a
  \
d
  \
d
  R
d
  e
-0668-H"89??A>R"89??A<P"89??A>R H MKKA7+3CXwX]_fhm  pH  JO  QW  )X  	YKK1C1CD7+3CXwX]_fhm  pH  JO  QW  )X  	Y J;KKA32r2,7;KKA3B8R*<= 	#57GQScd$68JGTVfg&8:JKRRScdfvwx&8:JKSSTfgiyz 	&:HEtL&:HEGGTVZ[ 	\3STYY[]cd%68XY^^`bhi 	\3YZ\`a\3YZ__acij 	We4@@BeWoD^_We4==?6(LdAef 	eoo.@  Cl  m  n  pt  	ueoo.?A[\]_cd 	%@#FM&A3GLLNPVW 	&6?DDFO 	_d;@@BFK_d;@@BFK_d;@@BFK_d;@@BFK 	%7RHMMOQWX 	'BCII#NSSUW]^'B%''RXXY\]bbdflm 	]GTJOOQSYZ]GTJDQ]FDINNPRXY]FDINNPRXY]FDI4P%6NSSUW]^%6NPTU%6MRRTV\]%6MRRTV\]%6MtT 	ekk*EsTXYZ\`aekk*E{\`abdhiekk*E|]abceijekk*E}^bcdfjkekk*EGZdhijlpqekk*EG^hlmnptuekk*EG_imnoquvekk*EGblpqrtxy 	ekk*:C@A4Hekk*<cBCTJekk*=sCDeLekk*<cBCTJekk*=sCDdKekk*<cBCTJekk*=sCDeL&k lm
	
 	ekk%:;TBekk*h?@%H 	ui83/Jz9=XOz9=uEuiuwwG#xYz9EGGLsT\o^z9EGGLseTuiuwwG#Oz9EGGLsT\o^z9EGGLseTU]]8RWW<ZUSX\<Z5ZbcdegjkU]]8RWW<ZUSX\<Z5ZbgbibijkmopU]]8RWW<ZUSX\<Z5ZbgbibijkmpqU]]="''A_RWX]R^A_:_ghijlnoU]]="''A_RWX]R^A_:_glgngnoprtuU]]="''A_RWX]R^A_:_glgngnoprtuU]]="''A_RWX]R^A_:_ghijlopU]]="''A_RWX]R^A_:_glgngnopruvU]]="''A_RWX]R^A_:_glgngnopruv 	ekk*:HEFMeoo.NPXYZ\`a 	emmK894@ 	emm,EFGNq(EN7T C @
 C @rAh*sD   -Fz6$Fz;!F{ F{@5F{
BF{W2F{X;F{@,F{c                s   V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R	R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R	R4      4      R4       V P                  \        \        P                  ! R
R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R
R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R R!4      4      R4       V P                  \        \        P                  ! R R"4      4      R4       V P                  \        \        P                  ! RR#4      4      R4       V P                  \        \        P                  ! RR$4      4      R4       V P                  \        \        P                  ! R%R&4      4      R4       V P                  \        \        P                  ! R%R'4      4      R4       R(# ))z(?r)(?:a){e<=1:[a-z]}r  Tz(?:a){e<=1:[a-z]}r   Fr  r   z(?:ab){e<=1:[a-z]}z(?r)(?:ab){e<=1:[a-z]}z(a)\1{e<=1:[a-z]}z(?r)\1{e<=1:[a-z]}(a)r  r  z4(?fiu)(?:\N{LATIN SMALL LETTER SHARP S}){e<=1:[a-z]}ZtsZstz5(?firu)(?:\N{LATIN SMALL LETTER SHARP S}){e<=1:[a-z]}z-szs-z4(?fiu)(\N{LATIN SMALL LETTER SHARP S})\1{e<=1:[a-z]}ZssstZsstsz5(?firu)\1{e<=1:[a-z]}(\N{LATIN SMALL LETTER SHARP S})ZstssZtssszss-szsss-z5(?firu)(\N{LATIN SMALL LETTER SHARP S})\1{e<=1:[a-z]}z(?fiu)(ss)\1{e<=1:[a-z]}u   ßtsu   ßstz(?firu)\1{e<=1:[a-z]}(ss)u   stßu   tsßu   ß-su   ßs-z(?firu)(ss)\1{e<=1:[a-z]}u   s-ßu   -sßNrx  r6   r7   r   test_fuzzy_extZRegexTests.test_fuzzy_ext;  sD   eoo.FLM
	eoo.BCHI
	eoo.BCHI
	eoo.FLM
	 	eoo.BDIJ
	eoo.F
 	eoo.BDIJ
	eoo.F
 	 	eoo.CTJK	eoo.G 	eoo.CTJK	eoo.G 	 	eoo.BDIJ	eoo.F 	eoo.BDIJ	eoo.F 	 	eoo.e
 	eoo.e
 	eoo.f
 	eoo.f
 	eoo.e
 	eoo.e
 	eoo.f
 	eoo.f
 	 	eoo.e 	eoo.e 	eoo.f 	eoo.f 	eoo.e 	eoo.e 	eoo.f 	eoo.f 	 	eoo.I-/ 015	7eoo.I-/ 015	7eoo.J-/ 015	7eoo.J-/ 015	7eoo.I-/ 016	8eoo.I-/ 016	8eoo.J-/ 016	8eoo.J-/ 016	8r   c                s:   V P                  \        P                  ! R R4      P                  R4      R4       V P                  \        P                  ! R R4      P                  R4      R4       V P                  \        P                  ! R R4      P                  R4      R4       V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! R RR4      R4       R# )z	(?P<x>.)+r   z{0} {0[0]} {0[-1]}zabc abc abcz0{1} {1[0]} {1[1]} {1[2]} {1[-1]} {1[-2]} {1[-3]}zc a b c c b az0{x} {x[0]} {x[1]} {x[2]} {x[-1]} {x[-2]} {x[-3]}N)r!   r#   r5   rv  ru  r6   r7   r   test_subscripted_capturesZ$RegexTests.test_subscripted_captures  s    \
-.	?\
KL
	 	\
KL
	 	L2G
	!L
<eE
	 	L
<eE
	r   c                sV   \         P                  R8  Ed	   V P                  \        P                  ! RR4      . R	O4       V P                  \        P
                  ! RRR4      R4       V P                  \        P                  ! RR4      . R
O4       T P                  \        P                  ! RR4       Uu. uF  qP                  4       NK  	  up. RO4       T P                  \        P                  ! RR4       Uu. uF  qP                  4       NK  	  up. RO4       R# R# u upi u upi )r1   z\b|:+za::bcr   z-a---bc-z
(?m)^\s*?$z	foo


barNr   )r   rJ   r   r   r   r   )r   r   r   r   r   )r.   r  r/   r  r9  r9  )r_  )r   r9  r  )	r   r   r!   r#   r   rQ   r%   rO  r4   r   r   r   test_more_zerowidthZRegexTests.test_more_zerowidth  s    y(U[[7; > UYYxg>
KU]]8W= @ x1  11ffh 1 AC}1  11ffh 1  8: )s   5D!;D&c                s    V P                  \        P                  ! R R4      . RO4       V P                  \        P                  ! RR4      . RO4       R# )z\Ru   

  s   \Rs   

N)rW   rF   ZZr  t   u    u    )s   
rP   s   s   s   r   r6   r7   r   test_line_endingZRegexTests.test_line_ending  sD    
u}}U,LMFH
u}}V-BC F& 'r   r   r   )r   r   r   r   rg   rb   ry   r   r   r   r   r   r'  r)  r$  r1  r|  r}  r~  r  r  r  r&  r(  r*  r+  r,  r-  ZDUPLICATE_GROUPZCANT_TURN_OFFr  r"   r(   r8   r;   rS   rV   rX   re   rh   rz   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	  r
  r  r  r  r  r  r  r#  r%  r*  r-  r2  r5  r6  r7  rD  rG  rI  rK  rN  rQ  rR  rT  r^  r`  rb  rd  rf  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r.  r0  r1  r4  r>  r@  rI  rg  ro  rr  rw  ry  r|  r  r  r  r  r  r  r   r   )r   s   @r   r   r      s    .MU1J2N-J%O#M1J'*GKK>CGMK"N-N*N+'O0J'O=M0O
 
9"B>
	
3
7rC?)2.H1fE2N6.." O'
#BJ/<'B1
JF4VNp<E>8
8
"
$ 
&I
A#6KD $1G
1;D;6
9 %D%6	` v2pBM`ED?J48-tL.`L*"J0

/10(IT4=lKLZ]7~LPH(,('44lBEJN))VF,JX3OjmO^)V8p&
:' 'r   r   c                  s4    \         P                  ! ^R7       R# )r   )Z	verbosityN)unittestZmainr   r   r   	test_mainr    s    MMAr   Z__main__)Zweakrefr   rp  r  r#   r   r   r  r:   r   r  r   ZTestCaser   r  r   r   r   r   <module>r     sc         
 7# 79E 9dF'"" dF'LM zK r   