Ë
    ,V.j_g  ã                   ó
  — d dl m Z  d dlZd dlZd dlZd dlmZ d dlmZm	Z	m
Z
mZmZ d„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej6                  j9                  dddg«      d„ «       Zd„ Zd„ Zd„ Z d„ Z!ej6                  j9                  ddddgfdd dgfg«      d„ «       Z"d„ Z#d „ Z$ej6                  j9                  d!g d"fg d#fg d$fg d%fg d&¢d"fg d&¢d%fg d&¢d$fg d&¢d%fg«      d'„ «       Z%d(„ Z&d)„ Z'd*„ Z(d+„ Z)d,„ Z*d-„ Z+y).é    )ÚdatetimeN)Ú
ArrowDtype)Ú	DataFrameÚIndexÚ
MultiIndexÚSeriesÚ_testingc                 óÚ   — t        dt        j                  dg| ¬«      }t        j                  t
        d¬«      5  |j                  j                  dd ¬«       d d d «       y # 1 sw Y   y xY w)NÚfooBAD__barBADÚfoo©Údtypezexpand must be True or False©Úmatchú.*(BAD[_]+).*(BAD)©Úexpand)r   ÚnpÚnanÚpytestÚraisesÚ
ValueErrorÚstrÚextract)Úany_string_dtypeÚvaluess     úcC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\pandas/tests/strings/test_extract.pyÚ+test_extract_expand_kwarg_wrong_type_raisesr      sO   € äÐ%¤r§v¡v¨uÐ5Ð=MÔN€FÜ	�‰”zÐ)GÖ	HØ�
‰
×ÑÐ/¸ÐÔ=÷ 
I×	HÑ	Hús   ºA!Á!A*c                 ób  — t        dt        j                  dg| ¬«      }t        dt        j                  t        j                  g| ¬«      }|j                  j                  d«      }t        j                  ||«       |j                  j                  dd¬«      }t        j                  ||«       t        ddgt        j                  t        j                  gt        j                  t        j                  gg| ¬«      }|j                  j                  d	d
¬«      }t        j                  ||«       y )Nr   r   r   ÚBAD__z.*(BAD[_]+).*Tr   ÚBADr   F)r   r   r   r   r   r   ÚtmÚassert_frame_equal)r   ÚsÚexpectedÚresults       r   Útest_extract_expand_kwargr'      sÞ   € ÜÐ ¤"§&¡&¨%Ð0Ð8HÔI€AÜ˜'¤2§6¡6¬2¯6©6Ð2Ð:JÔK€Hà�U‰U�]‰]˜?Ó+€FÜ×Ñ˜& (Ô+à�U‰U�]‰]˜?°4ˆ]Ó8€FÜ×Ñ˜& (Ô+äØ
�5Ð	œBŸF™F¤B§F¡FÐ+¬b¯f©f´b·f±fÐ-=Ð>ÐFVô€Hð �U‰U�]‰]Ð/¸ˆ]Ó>€FÜ×Ñ˜& (Õ+ó    c                  ó�  — t        dt        j                  ddt        j                  «       dd ddg	«      } | j
                  j                  dd¬	«      }t        j                  t        j                  g}t        d
dg|d
dg||||||g	t        ¬«      }t        j                  ||«       | j
                  j                  dd¬	«      }t        d
t        j                  d
t        j                  t        j                  t        j                  d t        j                  t        j                  g	t        ¬«      }t        j                  ||«       y )NÚaBAD_BADÚ	BAD_b_BADTr   é   ç       @r   Fr   ÚBAD_r!   r   z.*(BAD[_]+).*BAD)r   r   r   r   Útodayr   r   r   Úobjectr"   r#   Úassert_series_equal)Úserr&   Úerr%   s       r   Ú&test_extract_expand_False_mixed_objectr4   *   sû   € Ü
Ø	”R—V‘V˜[¨$´·±Ó0@À%ÈÈqÐRUÐVó€Cð
 �W‰W�_‰_Ð1¸%ˆ_Ó@€FÜ
�&‰&”"—&‘&Ð	€BÜØ
�%ˆ˜"˜v u˜o¨r°2°r¸2¸rÀ2ÐFÌfô€Hô ×Ñ˜& (Ô+ð �W‰W�_‰_Ð/¸ˆ_Ó>€FÜØ	”—‘˜¤§¡¬¯©´·±¸¼r¿v¹vÄrÇvÁvÐNÜô€Hô ×Ñ˜6 8Õ,r(   c                  ó¼   — t        g d¢«      } d}t        j                  t        |¬«      5  | j                  j                  dd¬«       d d d «       y # 1 sw Y   y xY w)N)ÚA1ÚA2ÚA3ÚA4ÚB5z,only one regex group is supported with Indexr   ú([AB])([123])Fr   )r   r   r   r   r   r   )ÚidxÚmsgs     r   Ú test_extract_expand_index_raisesr>   @   sB   € ô Ò.Ó
/€CØ
8€CÜ	�‰”z¨Ö	-Ø�‰�‰˜°ˆÔ6÷ 
.×	-Ñ	-ús   «AÁAc                 óT  —  | g d¢|¬«      }d}t        j                  t        |¬«      5  |j                  j	                  dd¬«       d d d «       t        j                  t        |¬«      5  |j                  j	                  dd¬«       d d d «       y # 1 sw Y   ŒKxY w# 1 sw Y   y xY w)	N©r6   ÚB2ÚC3r   ú"pattern contains no capture groupsr   ú
[ABC][123]Fr   ú
(?:[AB]).*©r   r   r   r   r   ©Úindex_or_seriesr   Ús_or_idxr=   s       r   Ú,test_extract_expand_no_capture_groups_raisesrJ   J   s‚   € ÙÒ1Ð9IÔJ€HØ
.€Cô 
�‰”z¨Ö	-Ø�‰×Ñ˜\°%ÐÔ8÷ 
.ô 
�‰”z¨Ö	-Ø�‰×Ñ˜\°%ÐÔ8÷ 
.Ð	-÷	 
.Ð	-ú÷ 
.Ð	-úó   ªBÁ+BÂBÂB'c                 óÜ   —  | ddg|¬«      }|j                   j                  dd¬«      } | ddgd|¬	«      }| t        k(  rt        j                  ||«       y t        j
                  ||«       y )
Nr6   r7   r   ú(?P<uno>A)\dFr   ÚAÚuno©Únamer   )r   r   r   r"   r1   Úassert_index_equal©rH   r   rI   r&   r%   s        r   Ú(test_extract_expand_single_capture_grouprT   W   sg   € á  d˜|Ð3CÔD€HØ�\‰\×!Ñ! /¸%Ð!Ó@€Fá  S˜z°Ð=MÔN€HØœ&Ò Ü
×Ñ˜v xÕ0ä
×Ñ˜f hÕ/r(   c                 ó	  — t        g d¢| ¬«      }|j                  j                  dd¬«      }t        t        j                  t        j                  t        j                  g| ¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        t        j                  t        j                  gt        j                  t        j                  gt        j                  t        j                  gg| ¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        dd	t        j                  g| ¬«      }t        j                  ||«       |j                  j                  d
d¬«      }t        ddgd	dgt        j                  t        j                  gg| ¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        dd	t        j                  gd| ¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        ddgd	dgt        j                  t        j                  ggddg| ¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        ddgd	dgt        j                  t        j                  ggddg| ¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        dd	t        j                  g| ¬«      }t        j                  ||«       t        g d¢| ¬«      }|j                  j                  dd¬«      }t        ddgd	dgt        j                  t        j                  gg| ¬«      }t        j                  ||«       t        g d¢| ¬«      }|j                  j                  dd¬«      }t        ddgd	dgt        j                  dggddg| ¬«      }t        j                  ||«       t        g d¢| ¬«      }|j                  j                  dd¬«      }t        ddgd	dgdt        j                  ggddg| ¬«      }t        j                  ||«       y )Nr@   r   ú(_)Fr   ú(_)(_)ú([AB])[123]rN   ÚBr;   Ú1Ú2ú(?P<letter>[AB])ÚletterrP   ú!(?P<letter>[AB])(?P<number>[123])Únumber©Úcolumnsr   ú([AB])(?P<number>[123])r   ú([AB])(?:[123])©ÚA11ÚB22ÚC33ú([AB])([123])(?:[123])©r6   rA   Ú3ú"(?P<letter>[AB])?(?P<number>[123])rj   ©r6   rA   ÚCú#(?P<letter>[ABC])(?P<number>[123])?rm   )	r   r   r   r   r   r"   r1   r   r#   ©r   r$   r&   r%   s       r   Ú"test_extract_expand_capture_groupsrp   c   sÊ  € ÜÒ!Ð)9Ô:€Aà�U‰U�]‰]˜5¨ˆ]Ó/€FÜ”r—v‘vœrŸv™v¤r§v¡vÐ.Ð6FÔG€HÜ×Ñ˜6 8Ô,ð �U‰U�]‰]˜8¨Eˆ]Ó2€FÜÜ
�&‰&”"—&‘&Ð	œBŸF™F¤B§F¡FÐ+¬b¯f©f´b·f±fÐ-=Ð>ÐFVô€Hô ×Ñ˜& (Ô+ð �U‰U�]‰]˜=°ˆ]Ó7€FÜ�s˜C¤§¡Ð(Ð0@ÔA€HÜ×Ñ˜6 8Ô,ð �U‰U�]‰]˜?°5ˆ]Ó9€FÜØ
ˆsˆ�c˜3�Z¤"§&¡&¬"¯&©&Ð!1Ð2Ð:Jô€Hô ×Ñ˜& (Ô+ð �U‰U�]‰]Ð-°eˆ]Ó<€FÜ�s˜C¤§¡Ð(¨xÐ?OÔP€HÜ×Ñ˜6 8Ô,ð �U‰U�]‰]Ð>Àuˆ]ÓM€FÜØ
ˆsˆ�c˜3�Z¤"§&¡&¬"¯&©&Ð!1Ð2Ø˜8Ð$Øô€Hô
 ×Ñ˜& (Ô+ð �U‰U�]‰]Ð4¸Uˆ]ÓC€FÜØ
ˆsˆ�c˜3�Z¤"§&¡&¬"¯&©&Ð!1Ð2Ø�H�Øô€Hô
 ×Ñ˜& (Ô+ð �U‰U�]‰]Ð,°Uˆ]Ó;€FÜ�s˜C¤§¡Ð(Ð0@ÔA€HÜ×Ñ˜6 8Ô,ô 	Ò$Ð,<Ô=€AØ�U‰U�]‰]Ð3¸Eˆ]ÓB€FÜØ
ˆsˆ�c˜3�Z¤"§&¡&¬"¯&©&Ð!1Ð2Ð:Jô€Hô ×Ñ˜& (Ô+ô 	Ò Ð(8Ô9€AØ�U‰U�]‰]Ð?Èˆ]ÓN€FÜØ
ˆsˆ�c˜3�Z¤"§&¡&¨# Ð/Ø˜8Ð$Øô€Hô
 ×Ñ˜& (Ô+ô 	Ò Ð(8Ô9€AØ�U‰U�]‰]Ð@Èˆ]ÓO€FÜØ
ˆsˆ�c˜3�Z #¤r§v¡v Ð/Ø˜8Ð$Øô€Hô
 ×Ñ˜& (Õ+r(   c                 ód  — g d¢}t        | «      dk(  rt        j                  d«       t        | «      t        |«      k  r)| j                  d«      } t        | «      t        |«      k  rŒ)| d t        |«       } t	        || |¬«      }|j
                  j                  dd¬«      }t	        d	d
t        j                  g| |¬«      }t        j                  ||«       |j
                  j                  dd¬«      }t        dd	gdd
gdt        j                  ggddg| |¬«      }t        j                  ||«       y )Nrl   r   zTest requires len(index) > 0é   ©Úindexr   ú(\d)Fr   rZ   r[   ú(?P<letter>\D)(?P<number>\d)?rN   rY   rm   r]   r_   ©ra   rt   r   )Úlenr   ÚskipÚrepeatr   r   r   r   r   r"   r1   r   r#   )rt   r   Údatar2   r&   r%   s         r   Ú(test_extract_expand_capture_groups_indexr|   ¶   s  € ò €Dä
ˆ5ƒz�Q‚Ü�‰Ð2Ô3Ü
ˆe‹*”s˜4“yÒ
 Ø—‘˜Q“ˆô ˆe‹*”s˜4“yÓ
 ð �+”C˜“IÐ€EÜ
�˜UÐ*:Ô
;€Cà�W‰W�_‰_˜W¨Uˆ_Ó3€FÜ�s˜C¤§¡Ð(°Ð=MÔN€HÜ×Ñ˜6 8Ô,à�W‰W�_‰_Ð=Àeˆ_ÓL€FÜØ
ˆsˆ�c˜3�Z #¤r§v¡v Ð/Ø˜8Ð$ØØô	€Hô ×Ñ˜& (Õ+r(   c                 óª   — t        g d¢d| ¬«      }|j                  j                  dd¬«      }t        g d¢d| ¬«      }t        j                  ||«       y )	N©Úa3Úb3Úc2ÚbobrP   z(?P<sue>[a-z])Fr   ©ÚaÚbÚcÚsue)r   r   r   r"   r1   ro   s       r   Ú,test_extract_single_series_name_is_preservedrˆ   Ñ   sH   € ÜÒ!¨Ð5EÔF€AØ�U‰U�]‰]Ð,°Uˆ]Ó;€FÜ’o¨EÐ9IÔJ€HÜ×Ñ˜6 8Õ,r(   c                 óB  — t        dt        j                  dg| ¬«      }|j                  j	                  dd¬«      }t        ddgt        j                  t        j                  gt        j                  t        j                  gg| ¬«      }t        j                  ||«       y )	Nr   r   r   r   Tr   r    r!   )r   r   r   r   r   r   r"   r#   ro   s       r   Útest_extract_expand_TruerŠ   Ø   sz   € äÐ ¤"§&¡&¨%Ð0Ð8HÔI€Aà�U‰U�]‰]Ð/¸ˆ]Ó=€FÜØ
�5Ð	œBŸF™F¤B§F¡FÐ+¬b¯f©f´b·f±fÐ-=Ð>ÐFVô€Hô ×Ñ˜& (Õ+r(   c                  óN  — t         j                  t         j                  g} t        dt         j                  ddt        j                  «       dd ddg	«      }|j
                  j                  dd¬«      }t        d	d
g| d	d
g| | | | | | g	t        ¬«      }t        j                  ||«       y )Nr*   r+   Tr   r,   r-   r   r   r.   r!   r   )r   r   r   r   r/   r   r   r   r0   r"   r#   )r3   Úmixedr&   r%   s       r   Ú%test_extract_expand_True_mixed_objectr�   ã   s¡   € Ü
�&‰&”"—&‘&Ð	€BÜàÜ�F‰FØØÜ�N‰NÓØØØØð
	
ó€Eð �Y‰Y×ÑÐ3¸DÐÓA€FÜØ
�%ˆ˜"˜v u˜o¨r°2°r¸2¸rÀ2ÐFÌfô€Hô ×Ñ˜& (Õ+r(   c                 óT  —  | g d¢|¬«      }d}t        j                  t        |¬«      5  |j                  j	                  dd¬«       d d d «       t        j                  t        |¬«      5  |j                  j	                  dd¬«       d d d «       y # 1 sw Y   ŒKxY w# 1 sw Y   y xY w)	Nr@   r   rC   r   rD   Tr   rE   rF   rG   s       r   Ú4test_extract_expand_True_single_capture_group_raisesr�   ú   s‚   € ñ
 Ò1Ð9IÔJ€HØ
.€CÜ	�‰”z¨Ö	-Ø�‰×Ñ˜\°$ÐÔ7÷ 
.ô 
�‰”z¨Ö	-Ø�‰×Ñ˜\°$ÐÔ7÷ 
.Ð	-÷	 
.Ð	-ú÷ 
.Ð	-úrK   c                 ó¤   —  | ddg|¬«      }|j                   j                  dd¬«      }t        dddgi|¬«      }t        j                  ||«       y )	Nr6   r7   r   rM   Tr   rO   rN   )r   r   r   r"   r#   rS   s        r   Ú-test_extract_expand_True_single_capture_groupr‘   	  sR   € á  d˜|Ð3CÔD€HØ�\‰\×!Ñ! /¸$Ð!Ó?€FÜ˜% # s Ð,Ð4DÔE€HÜ×Ñ˜& (Õ+r(   rQ   Úseries_namec                 óŒ  — t        g d¢| |¬«      }|j                  j                  dd¬«      }t        t        j
                  t        j
                  t        j
                  g|¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        t        j
                  t        j
                  gt        j
                  t        j
                  gt        j
                  t        j
                  gg|¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        d	d
t        j
                  g|¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        d	dgd
dgt        j
                  t        j
                  gg|¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        dd	d
t        j
                  gi|¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        d	dgd
dgt        j
                  t        j
                  ggddg|¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        d	dgd
dgt        j
                  t        j
                  ggddg|¬«      }t        j                  ||«       |j                  j                  dd¬«      }t        d	d
t        j
                  g|¬«      }t        j                  ||«       y )Nr@   rP   rV   Tr   r   rW   rX   rN   rY   r;   rZ   r[   r\   r]   r^   r_   r`   rb   r   rc   ©r   r   r   r   r   r   r"   r#   )rQ   r   r$   r&   r%   s        r   Útest_extract_seriesr•     sž  € ô 	Ò!¨Ð4DÔE€Að �U‰U�]‰]˜5¨ˆ]Ó.€FÜœ"Ÿ&™&¤"§&¡&¬"¯&©&Ð1Ð9IÔJ€HÜ×Ñ˜& (Ô+ð �U‰U�]‰]˜8¨Dˆ]Ó1€FÜÜ
�&‰&”"—&‘&Ð	œBŸF™F¤B§F¡FÐ+¬b¯f©f´b·f±fÐ-=Ð>ÐFVô€Hô ×Ñ˜& (Ô+ð �U‰U�]‰]˜=°ˆ]Ó6€FÜ˜#˜s¤B§F¡FÐ+Ð3CÔD€HÜ×Ñ˜& (Ô+ð �U‰U�]‰]˜?°4ˆ]Ó8€FÜØ
ˆsˆ�c˜3�Z¤"§&¡&¬"¯&©&Ð!1Ð2Ð:Jô€Hô ×Ñ˜& (Ô+ð �U‰U�]‰]Ð-°dˆ]Ó;€FÜ˜( S¨#¬r¯v©vÐ$6Ð7Ð?OÔP€HÜ×Ñ˜& (Ô+ð �U‰U�]‰]Ð>Àtˆ]ÓL€FÜØ
ˆsˆ�c˜3�Z¤"§&¡&¬"¯&©&Ð!1Ð2Ø˜8Ð$Øô€Hô
 ×Ñ˜& (Ô+ð �U‰U�]‰]Ð4¸Tˆ]ÓB€FÜØ
ˆsˆ�c˜3�Z¤"§&¡&¬"¯&©&Ð!1Ð2Ø�H�Øô€Hô
 ×Ñ˜& (Ô+ð �U‰U�]‰]Ð,°Tˆ]Ó:€FÜ˜#˜s¤B§F¡FÐ+Ð3CÔD€HÜ×Ñ˜& (Õ+r(   c                 ó�  — t        g d¢| ¬«      }|j                  j                  dd¬«      }t        ddgdd	gt        j
                  t        j
                  gg| ¬«      }t        j                  ||«       t        g d
¢| ¬«      }|j                  j                  dd¬«      }t        ddgdd	gt        j
                  dggddg| ¬«      }t        j                  ||«       t        g d¢| ¬«      }|j                  j                  dd¬«      }t        ddgdd	gdt        j
                  ggddg| ¬«      }t        j                  ||«       y )Nrd   r   rh   Tr   rN   rZ   rY   r[   ri   rk   rj   r]   r_   r`   rl   rn   rm   r”   ro   s       r   Útest_extract_optional_groupsr—   K  s5  € äÒ$Ð,<Ô=€AØ�U‰U�]‰]Ð3¸Dˆ]ÓA€FÜØ
ˆsˆ�c˜3�Z¤"§&¡&¬"¯&©&Ð!1Ð2Ð:Jô€Hô ×Ñ˜& (Ô+ô 	Ò Ð(8Ô9€AØ�U‰U�]‰]Ð?Èˆ]ÓM€FÜØ
ˆsˆ�c˜3�Z¤"§&¡&¨# Ð/Ø˜8Ð$Øô€Hô
 ×Ñ˜& (Ô+ô 	Ò Ð(8Ô9€AØ�U‰U�]‰]Ð@Èˆ]ÓN€FÜØ
ˆsˆ�c˜3�Z #¤r§v¡v Ð/Ø˜8Ð$Øô€Hô
 ×Ñ˜& (Õ+r(   c                 ó  — g d¢}t        | «      t        |«      k  r"t        j                  dt        |«      › d�«       | d t        |«       } t        || |¬«      }|j                  j                  dd¬«      }t        dd	t        j                  g| |¬«      }t        j                  ||«       |j                  j                  d
d¬«      }t        ddgdd	gdt        j                  ggddg| |¬«      }t        j                  ||«       y )Nrl   zIndex needs more than z valuesrs   ru   Tr   rZ   r[   rv   rN   rY   rm   r]   r_   rw   )rx   r   ry   r   r   r   r   r   r   r"   r#   )rt   r   r{   r$   r&   r%   s         r   Ú+test_extract_dataframe_capture_groups_indexr™   i  sí   € ò €Dä
ˆ5ƒz”C˜“IÒÜ�‰Ð,¬S°«Y¨K°wÐ?Ô@à�+”C˜“IÐ€EÜˆt˜5Ð(8Ô9€Aà�U‰U�]‰]˜7¨4ˆ]Ó0€FÜ˜#˜s¤B§F¡FÐ+°5Ð@PÔQ€HÜ×Ñ˜& (Ô+à�U‰U�]‰]Ð;ÀDˆ]ÓI€FÜØ
ˆsˆ�c˜3�Z #¤r§v¡v Ð/Ø˜8Ð$ØØô	€Hô ×Ñ˜& (Õ+r(   c                 ó¬   — t        g d¢d| ¬«      }|j                  j                  dd¬«      }t        dg d¢i| ¬	«      }t	        j
                  ||«       y )
Nr~   r’   rP   ú(?P<letter>[a-z])Tr   r]   rƒ   r   )r   r   r   r   r"   r#   ro   s       r   Ú'test_extract_single_group_returns_framerœ   ƒ  sM   € ô 	Ò!¨Ð=MÔN€AØ�U‰U�]‰]Ð/¸ˆ]Ó=€FÜ˜(¢OÐ4Ð<LÔM€HÜ×Ñ˜& (Õ+r(   c                 ó:  — dddddt         j                  dg}g d¢}d}g d	¢}t        || ¬
«      }t        j                  g d¢d¬«      }t        |||| ¬
«      }|j                  j                  |t        j                  ¬«      }t        j                  ||«       t        j                  g d¢«      }	t        ||	| ¬«      }t        j                  g d¢d¬«      }t        |||| ¬
«      }|j                  j                  |t        j                  ¬«      }t        j                  ||«       t        ||	| ¬«      }d|j                  _        d|_        t        |||| ¬
«      }|j                  j                  |t        j                  ¬«      }t        j                  ||«       y )Nzdave@google.comztdhock5@gmail.comzmaudelaperriere@gmail.comz'rob@gmail.com some text steve@gmail.comz%a@b.com some text c@d.com and e@f.comÚ ))ÚdaveÚgoogleÚcom)Útdhock5Úgmailr¡   )Úmaudelaperrierer£   r¡   )Úrobr£   r¡   )Ústever£   r¡   )r„   r…   r¡   )r†   Údr¡   )ÚeÚfr¡   zY
    (?P<user>[a-z0-9]+)
    @
    (?P<domain>[a-z]+)
    \.
    (?P<tld>[a-z]{2,4})
    )ÚuserÚdomainÚtldr   )©r   r   ©r,   r   ©rr   r   )é   r   )r°   r,   )é   r   )r±   r,   )r±   rr   ©Nr   ©Únames)Úflags))ÚsingleÚDave)r¶   ÚToby)r¶   ÚMaude)ÚmultipleÚrobAndSteve)rº   Úabcdef)ÚnoneÚmissing)r½   Úemptyrs   ))r¶   r·   r   )r¶   r¸   r   )r¶   r¹   r   )rº   r»   r   )rº   r»   r,   )rº   r¼   r   )rº   r¼   r,   )rº   r¼   rr   )NNr   )ÚmatchesÚdescription)rÀ   rÁ   r   )r   r   r   r   Úfrom_tuplesr   r   Ú
extractallÚreÚVERBOSEr"   r#   rt   r´   )
r   r{   Úexpected_tuplesÚpatÚexpected_columnsr$   Úexpected_indexr%   r&   Úmis
             r   Útest_extractallrË   �  s“  € àØØ#Ø1Ø/Ü
�‰Ø
ð€Dò	€Oð€Cò 1ÐÜˆtÐ+Ô,€Aô  ×+Ñ+ÚHØô€Nô Ø˜Ð)9ÐAQô€Hð �U‰U×Ñ˜c¬¯©ÐÓ4€FÜ×Ñ˜& (Ô+ô 
×	Ñ	ò	
ó

€Bô 	ˆt˜2Ð%5Ô6€AÜ×+Ñ+ò		
ð $ô€Nô Ø˜Ð)9ÐAQô€Hð �U‰U×Ñ˜c¬¯©ÐÓ4€FÜ×Ñ˜& (Ô+ô 	ˆt˜2Ð%5Ô6€AØ.€A‡G�G„MØ>€NÔÜØ˜Ð)9ÐAQô€Hð �U‰U×Ñ˜c¬¯©ÐÓ4€FÜ×Ñ˜& (Õ+r(   zpat,expected_namesrk   r]   r_   z([AB])?(?P<number>[123])c                 ó  — t        g d¢|¬«      }|j                  j                  | «      }t        dt        j
                  dft        j
                  dfgt        j                  g d¢d¬«      ||¬	«      }t        j                  ||«       y )
N)rž   r6   Ú32r   )rN   rZ   rj   r[   )r®   r¯   ©rr   r,   r²   r³   )rt   ra   r   )
r   r   rÃ   r   r   r   r   rÂ   r"   r#   )rÇ   Úexpected_namesr   r$   r&   r%   s         r   Útest_extractall_column_namesrÐ   â  ss   € ô 	ÒÐ'7Ô8€Aà�U‰U×Ñ˜cÓ"€FÜØ	”b—f‘f˜c�]¤R§V¡V¨S MÐ2Ü×$Ñ$Ò%=À_ÔUØØô	€Hô ×Ñ˜& (Õ+r(   c                 ó^  — t        g d¢d| ¬«      }t        j                  g d¢d¬«      }|j                  j	                  d«      }t        dg d	¢i|| ¬
«      }t        j                  ||«       |j                  j	                  d«      }t        g d	¢|| ¬
«      }t        j                  ||«       y )N©r   r€   Úd4c2r’   rP   ©r­   r®   r¯   rÎ   r²   r³   r›   r]   )r„   r…   r§   r†   rs   ú([a-z]))r   r   rÂ   r   rÃ   r   r"   r#   )r   r$   rÉ   r&   r%   s        r   Útest_extractall_single_grouprÖ   ø  s¢   € ÜÒ#¨-Ð?OÔP€AÜ×+Ñ+Ú(°ô€Nð
 �U‰U×ÑÐ2Ó3€FÜØ	Ò'Ð(°ÐFVô€Hô ×Ñ˜& (Ô+ð �U‰U×Ñ˜jÓ)€FÜÚ NÐ:Jô€Hô ×Ñ˜& (Õ+r(   c                 óÔ   — t        g d¢d| ¬«      }|j                  j                  d«      }t        g d¢t	        j
                  g d¢d¬«      | ¬	«      }t        j                  ||«       y )
N)Úab3Úabc3Úd4cd2r’   rP   z([a-z]+))ÚabÚabcr§   ÚcdrÔ   r²   r³   rs   )r   r   rÃ   r   r   rÂ   r"   r#   ro   s       r   Ú,test_extractall_single_group_with_quantifierrÞ     s_   € ô 	Ò'¨mÐCSÔT€AØ�U‰U×Ñ˜kÓ*€FÜÚ Ü×$Ñ$Ú,°Oô
ð ô€Hô ×Ñ˜& (Õ+r(   zdata, names)N)Úi1)NÚi2)rß   rà   rÒ   c                 óš  ‡	— t        | «      Š	t        |«      dk(  rt        t        ‰	«      |d   ¬«      }n+ˆ	fd„t        ‰	«      D «       }t        j                  ||¬«      }t        | d||¬«      }t        j                  g |dz   ¬«      }|j                  j                  d	«      }t        dg||¬
«      }t        j                  ||«       |j                  j                  d«      }t        ddg||¬
«      }t        j                  ||«       |j                  j                  d«      }t        dg||¬
«      }t        j                  ||«       |j                  j                  d«      }t        ddg||¬
«      }t        j                  ||«       |j                  j                  d«      }t        ddg||¬
«      }t        j                  ||«       y )Nr,   r   ©rQ   c              3   óB   •K  — | ]  }t        |g‰d z
  z  «      –— Œ y­w)r,   N)Útuple)Ú.0ÚiÚns     €r   Ú	<genexpr>z-test_extractall_no_matches.<locals>.<genexpr>0  s!   øè ø€ Ð9±¨1”%˜˜˜q 1™u™×&±ùs   ƒr³   r’   ©rQ   rt   r   r   z(z)rw   z(z)(z)z(?P<first>z)Úfirstz(?P<first>z)(?P<second>z)Úsecondz(z)(?P<second>z))rx   r   Úranger   rÂ   r   r   rÃ   r   r"   r#   )
r{   r´   r   rt   Útuplesr$   rÉ   r&   r%   rç   s
            @r   Útest_extractall_no_matchesrî     s   ø€ ô 	ˆD‹	€AÜ
ˆ5ƒz�Q‚Ü”e˜A“h U¨1¡XÔ.‰ã9´°a´Ó9ˆÜ×&Ñ& v°UÔ;ˆÜˆt˜-¨uÐ<LÔM€AÜ×+Ñ+¨B°u¸zÑ7IÔK€Nð �U‰U×Ñ˜eÓ$€FÜ ! ¨NÐBRÔS€HÜ×Ñ˜& (Ô+ð �U‰U×Ñ˜hÓ'€FÜ ! Q ¨~ÐEUÔV€HÜ×Ñ˜& (Ô+ð �U‰U×Ñ˜nÓ-€FÜØ�	 Ð7Gô€Hô ×Ñ˜& (Ô+ð �U‰U×ÑÐ9Ó:€FÜØ˜(Ð#¨>ÐAQô€Hô ×Ñ˜& (Ô+ð �U‰U×ÑÐ0Ó1€FÜØ�H� ^Ð;Kô€Hô ×Ñ˜& (Õ+r(   c                 ó”  — t        g d¢d| ¬«      }|j                  j                  d«      }t        dg d¢it	        j
                  g d¢d dg¬	«      | ¬
«      }t        j                  ||«       | dk(  r]t        g d¢t        ¬«      t        g d¢dt        ¬«      fD ]3  }|j                  j                  d«      }t        j                  ||«       Œ5 t        g d¢dt        g d¢d¬«      | ¬«      }|j                  j                  d«      }t        dg d¢it	        j
                  g d¢ddg¬	«      | ¬
«      }t        j                  ||«       y )N)Úa1a2Úb1Úc1ÚxxxrP   z[ab](?P<digit>\d)Údigit)rZ   r[   rZ   )r­   )r   r,   r®   r   r³   rs   r0   r   Ús_name)ÚXXÚyyÚzzÚidx_namerâ   ré   ))rö   r   )rö   r,   )r÷   r   )
r   r   rÃ   r   r   rÂ   r"   r#   r   r0   )r   r$   r&   r%   r<   s        r   Útest_extractall_stringindexrú   U  s0  € ÜÒ#¨%Ð7GÔH€AØ�U‰U×ÑÐ2Ó3€FÜØ	’/Ð"Ü×$Ñ$Ò%=ÀdÈGÀ_ÔUØô€Hô
 ×Ñ˜& (Ô+ð ˜8Ò#äÒ&¬fÔ5ÜÒ&¨U¼&ÔAó
ˆCð —W‘W×'Ñ'Ð(<Ó=ˆFÜ×!Ñ! &¨(Õ3ð
ô 	ÚØÜÒ&¨ZÔ8Øô		€Að �U‰U×ÑÐ2Ó3€FÜØ	’/Ð"Ü×$Ñ$Ú-°jÀ'Ð5Jô
ð ô€Hô ×Ñ˜& (Õ+r(   c                 óº   — t        g d¢d| ¬«      }t        j                  t        d¬«      5  |j                  j                  d«       d d d «       y # 1 sw Y   y xY w)NrÒ   r’   rP   zno capture groupsr   z[a-z])r   r   r   r   r   rÃ   )r   r$   s     r   Ú(test_extractall_no_capture_groups_raisesrü   z  sA   € ô 	Ò#¨-Ð?OÔP€AÜ	�‰”zÐ)<Ö	=Ø	�‰×Ñ˜Ô"÷ 
>×	=Ñ	=ús   ¬AÁAc                  ó\  — t        g d¢g d¢d¬«      } | j                  j                  j                  dd¬«      }t	        g d¢«      }t        j                  ||«       | j                  j                  j                  d	d¬«      }g d
¢}t	        |ddg¬«      }t        j                  ||«       y )NrÒ   )r8   ÚB3ÚD4r’   )rt   rQ   z([A-Z])Tr   )rN   rY   ÚDz!(?P<letter>[A-Z])(?P<digit>[0-9])))rN   rj   )rY   rj   )r   Ú4r]   rô   )ra   )r   rt   r   r   r   r"   r#   )r$   Úrr¨   Úe_lists       r   Ú!test_extract_index_one_two_groupsr  ‚  s�   € ÜÒ#Ò+=ÀMÔR€AØ	�‰�‰×Ñ˜J¨tÐÓ4€AÜ’/Ó"€AÜ×Ñ˜!˜QÔð
 	
�‰�‰×ÑÐ@ÈÐÓN€AÚ1€FÜ�& 8¨WÐ"5Ô6€AÜ×Ñ˜!˜QÕr(   c                 ó<  — t        g d¢d| ¬«      }d}|j                  j                  |d¬«      }|j                  j                  |«      }|j	                  dd¬	«      }t        j                  ||«       d
}|j                  j                  |d¬«      }|j                  j                  |«      }|j	                  dd¬	«      }t        j                  ||«       d}|j                  j                  |d¬«      }	|j                  j                  |«      }|j	                  dd¬	«      }t        j                  |	|«       d}
|j                  j                  |
d¬«      }|j                  j                  |
«      }|j	                  dd¬	«      }t        j                  ||«       y )Nr~   r’   rP   ú([a-z])([0-9])Tr   r   r   ©Úlevelú!(?P<letter>[a-z])(?P<digit>[0-9])ú(?P<group_name>[a-z])rÕ   )r   r   r   rÃ   Úxsr"   r#   )r   r$   Úpattern_two_nonameÚextract_two_nonameÚhas_multi_indexÚno_multi_indexÚpattern_two_namedÚextract_two_namedÚpattern_one_namedÚextract_one_namedÚpattern_one_nonameÚextract_one_nonames               r   Útest_extractall_same_as_extractr  ‘  sv  € ÜÒ!¨Ð=MÔN€Aà*ÐØŸ™Ÿ™Ð'9À$˜ÓGÐØ—e‘e×&Ñ&Ð'9Ó:€OØ$×'Ñ'¨°Ð'Ó9€NÜ×ÑÐ,¨nÔ=à<ÐØŸ™Ÿ™Ð&7À˜ÓEÐØ—e‘e×&Ñ&Ð'8Ó9€OØ$×'Ñ'¨°Ð'Ó9€NÜ×ÑÐ+¨^Ô<à0ÐØŸ™Ÿ™Ð&7À˜ÓEÐØ—e‘e×&Ñ&Ð'8Ó9€OØ$×'Ñ'¨°Ð'Ó9€NÜ×ÑÐ+¨^Ô<à#ÐØŸ™Ÿ™Ð'9À$˜ÓGÐØ—e‘e×&Ñ&Ð'9Ó:€OØ$×'Ñ'¨°Ð'Ó9€NÜ×ÑÐ,¨nÕ=r(   c                 óp  — t        j                  g d¢d¬«      }t        g d¢|d| ¬«      }d}|j                  j	                  |d¬	«      }|j                  j                  |«      }|j                  d
d¬«      }t        j                  ||«       d}|j                  j	                  |d¬	«      }|j                  j                  |«      }|j                  d
d¬«      }t        j                  ||«       d}	|j                  j	                  |	d¬	«      }
|j                  j                  |	«      }|j                  d
d¬«      }t        j                  |
|«       d}|j                  j	                  |d¬	«      }|j                  j                  |«      }|j                  d
d¬«      }t        j                  ||«       y )N))rN   rê   )rY   rë   )rm   Úthird)ÚcapitalÚordinalr³   r~   r’   )rt   rQ   r   r  Tr   r   r   r  r	  r
  rÕ   )	r   rÂ   r   r   r   rÃ   r  r"   r#   )r   rÊ   r$   r  r  Úhas_match_indexÚno_match_indexr  r  r  r  r  r  s                r   Ú-test_extractall_same_as_extract_subject_indexr  ­  s�  € ä	×	Ñ	Ú9Ø$ô
€Bô 	Ò!¨°-ÐGWÔX€Aà*ÐØŸ™Ÿ™Ð'9À$˜ÓGÐØ—e‘e×&Ñ&Ð'9Ó:€OØ$×'Ñ'¨°Ð'Ó9€NÜ×ÑÐ,¨nÔ=à<ÐØŸ™Ÿ™Ð&7À˜ÓEÐØ—e‘e×&Ñ&Ð'8Ó9€OØ$×'Ñ'¨°Ð'Ó9€NÜ×ÑÐ+¨^Ô<à0ÐØŸ™Ÿ™Ð&7À˜ÓEÐØ—e‘e×&Ñ&Ð'8Ó9€OØ$×'Ñ'¨°Ð'Ó9€NÜ×ÑÐ+¨^Ô<à#ÐØŸ™Ÿ™Ð'9À$˜ÓGÐØ—e‘e×&Ñ&Ð'9Ó:€OØ$×'Ñ'¨°Ð'Ó9€NÜ×ÑÐ,¨nÕ=r(   c                  óÔ   — t        j                  d«      } t        ddgt        | j	                  «       «      ¬«      j
                  j                  d«      }|j                  d   dk(  sJ ‚y )NÚpyarrowrÜ   rÛ   r   z(ab)r   zstring[pyarrow])r   Úimportorskipr   r   Ústringr   rÃ   Údtypes)Úpar&   s     r   Útest_extractall_preserves_dtyper$  Î  sY   € ô 
×	Ñ	˜YÓ	'€Bä�U˜D�M¬°B·I±I³KÓ)@ÔA×EÑE×PÑPÐQWÓX€FØ�=‰=˜ÑÐ0Ò0Ð0Ñ0r(   ),r   rÄ   Únumpyr   r   Úpandas.core.dtypes.dtypesr   Úpandasr   r   r   r   r	   r"   r   r'   r4   r>   rJ   rT   rp   r|   rˆ   rŠ   r�   r�   r‘   ÚmarkÚparametrizer•   r—   r™   rœ   rË   rÐ   rÖ   rÞ   rî   rú   rü   r  r  r  r$  © r(   r   Ú<module>r+     s|  ðÝ Û 	ã Û å 0÷õ ò>ò,ò"-ò,7ò
9ò	0òP,òf,ò6-ò,ò,ò.8ò,ð ‡�×Ñ˜ $¨Ð!6Ó7ñ6,ó 8ð6,òr,ò<,ò4,òR,ðj ‡�×ÑØð 
.°¸(Ð/CÐDà	# a¨ ]Ð3ð	óñ
,óð
,ò,ò*,ð  ‡�×ÑØà	ˆWˆØ	ˆWˆØ	ˆ\ÐØ	ˆ\ÐÚ	˜wÐ'Ú	˜|Ð,Ú	˜|Ð,Ú	˜|Ð,ð	óñ(,óð(,òV",òJ#ò ò>ò8>óB1r(   