§
    tŠtjêp  ã                   ó  — 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j                             dddg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Z d„ Z!ej                             ddddgfdd dgfg¦  «        d„ ¦   «         Z"d„ Z#d „ Z$ej                             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'„ ¦   «         Z%d(„ Z&d)„ Z'd*„ Z(d+„ Z)d,„ Z*d-„ Z+ej                             d.d/g d0¢fd1g d2¢fd3g d4¢fd5g d6¢fd7g d8¢fg¦  «        d9„ ¦   «         Z,ej                             d.d/d:d;ifd1d:d<ifd3d;d;d;d=œfd5d;d;d;d>œfd7d:d?ifg¦  «        d@„ ¦   «         Z-dA„ Z.dS )Bé    )ÚdatetimeN)Ú
ArrowDtype)Ú	DataFrameÚIndexÚ
MultiIndexÚSeriesÚ_testingc                 óâ   — t          dt          j        dg| ¬¦  «        }t          j        t
          d¬¦  «        5  |j                             dd ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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     ú_/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/tests/strings/test_extract.pyÚ+test_extract_expand_kwarg_wrong_type_raisesr      sµ   € åÐ%¥r¤v¨uÐ5Ð=MÐNÑNÔN€FÝ	Œ•zÐ)GÐ	HÑ	HÔ	Hð >ð >ØŒ
×ÒÐ/¸ÐÑ=Ô=Ð=ð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >ð >ð >s   ºA$Á$A(Á+A(c                 ó8  — t          dt          j        dg| ¬¦  «        }t          dt          j        t          j        g| ¬¦  «        }|j                             d¦  «        }t          j        ||¦  «         |j                             dd¬¦  «        }t          j        ||¦  «         t          ddgt          j        t          j        gt          j        t          j        gg| ¬¦  «        }|j                             d	d
¬¦  «        }t          j        ||¦  «         d S )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ÑIÔI€AÝ˜'¥2¤6­2¬6Ð2Ð:JÐKÑKÔK€HàŒU�]Š]˜?Ñ+Ô+€FÝÔ˜& (Ñ+Ô+Ð+àŒU�]Š]˜?°4ˆ]Ñ8Ô8€FÝÔ˜& (Ñ+Ô+Ð+åØ
�5Ð	�BœF¥B¤FÐ+­b¬fµb´fÐ-=Ð>ÐFVðñ ô €Hð ŒU�]Š]Ð/¸ˆ]Ñ>Ô>€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+ó    c                  ó\  — t          dt          j        ddt          j        ¦   «         dd ddg	¦  «        } | j                             dd¬	¦  «        }t          j        t          j        g}t          d
dg|d
dg||||||g	t          ¬¦  «        }t          j
        ||¦  «         | j                             dd¬	¦  «        }t          d
t          j        d
t          j        t          j        t          j        d t          j        t          j        g	t          ¬¦  «        }t          j        ||¦  «         d S )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˜[¨$µ´Ñ0@Ô0@À%ÈÈqÐRUÐVñô €Cð
 ŒW�_Š_Ð1¸%ˆ_Ñ@Ô@€FÝ
Œ&•"”&Ð	€BÝØ
�%ˆ˜"˜v u˜o¨r°2°r¸2¸rÀ2ÐFÍfðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+ð ŒW�_Š_Ð/¸ˆ_Ñ>Ô>€FÝØ	•”˜¥¤­¬µ´¸½r¼vÅrÄvÐNÝðñ ô €Hõ Ô˜6 8Ñ,Ô,Ð,Ð,Ð,r(   c                  óÌ   — t          g d¢¦  «        } d}t          j        t          |¬¦  «        5  | j                             dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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>   @   s®   € õ Ð.Ð.Ð.Ñ
/Ô
/€CØ
8€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð 7ð 7ØŒ�Š˜°ˆÑ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7s   ¯AÁAÁ Ac                 óf  —  | g d¢|¬¦  «        }d}t          j        t          |¬¦  «        5  |j                             dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |j                             dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	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Ð1Ð1Ð9IÐJÑJÔJ€HØ
.€Cõ 
Œ•z¨Ð	-Ñ	-Ô	-ð 9ð 9ØŒ×Ò˜\°%ÐÑ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9õ 
Œ•z¨Ð	-Ñ	-Ô	-ð 9ð 9ØŒ×Ò˜\°%ÐÑ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9ó#   ­AÁAÁAÁ<B&Â&B*Â-B*c                 óê   —  | ddg|¬¦  «        }|j                              dd¬¦  «        } | ddgd|¬	¦  «        }| t          k    rt          j        ||¦  «         d S t          j        ||¦  «         d S )
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   s�   € àˆ  d˜|Ð3CÐDÑDÔD€HØŒ\×!Ò! /¸%Ð!Ñ@Ô@€Fàˆ  S˜z°Ð=MÐNÑNÔN€HØ�&Ò Ð Ý
Ô˜v xÑ0Ô0Ð0Ð0Ð0å
Ô˜f hÑ/Ô/Ð/Ð/Ð/r(   c                 ó²  — t          g d¢| ¬¦  «        }|j                             dd¬¦  «        }t          t          j        t          j        t          j        g| ¬¦  «        }t          j        ||¦  «         |j                             dd¬¦  «        }t          t          j        t          j        gt          j        t          j        gt          j        t          j        gg| ¬¦  «        }t          j        ||¦  «         |j                             dd¬¦  «        }t          dd	t          j        g| ¬¦  «        }t          j        ||¦  «         |j                             d
d¬¦  «        }t          ddgd	dgt          j        t          j        gg| ¬¦  «        }t          j        ||¦  «         |j                             dd¬¦  «        }t          dd	t          j        gd| ¬¦  «        }t          j        ||¦  «         |j                             dd¬¦  «        }t          ddgd	dgt          j        t          j        ggddg| ¬¦  «        }t          j        ||¦  «         |j                             dd¬¦  «        }t          ddgd	dgt          j        t          j        ggddg| ¬¦  «        }t          j        ||¦  «         |j                             dd¬¦  «        }t          dd	t          j        g| ¬¦  «        }t          j        ||¦  «         t          g d¢| ¬¦  «        }|j                             dd¬¦  «        }t          ddgd	dgt          j        t          j        gg| ¬¦  «        }t          j        ||¦  «         t          g d¢| ¬¦  «        }|j                             dd¬¦  «        }t          ddgd	dgt          j        dggddg| ¬¦  «        }t          j        ||¦  «         t          g d¢| ¬¦  «        }|j                             dd¬¦  «        }t          ddgd	dgdt          j        ggddg| ¬¦  «        }t          j        ||¦  «         d S )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�]Š]˜5¨ˆ]Ñ/Ô/€FÝ•r”v�rœv¥r¤vÐ.Ð6FÐGÑGÔG€HÝÔ˜6 8Ñ,Ô,Ð,ð ŒU�]Š]˜8¨Eˆ]Ñ2Ô2€FÝÝ
Œ&•"”&Ð	�BœF¥B¤FÐ+­b¬fµb´fÐ-=Ð>ÐFVðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+ð ŒU�]Š]˜=°ˆ]Ñ7Ô7€FÝ�s˜C¥¤Ð(Ð0@ÐAÑAÔA€HÝÔ˜6 8Ñ,Ô,Ð,ð ŒU�]Š]˜?°5ˆ]Ñ9Ô9€FÝØ
ˆsˆ�c˜3�Z¥"¤&­"¬&Ð!1Ð2Ð:Jðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+ð ŒU�]Š]Ð-°eˆ]Ñ<Ô<€FÝ�s˜C¥¤Ð(¨xÐ?OÐPÑPÔP€HÝÔ˜6 8Ñ,Ô,Ð,ð ŒU�]Š]Ð>Àuˆ]ÑMÔM€FÝØ
ˆsˆ�c˜3�Z¥"¤&­"¬&Ð!1Ð2Ø˜8Ð$Øðñ ô €Hõ
 Ô˜& (Ñ+Ô+Ð+ð ŒU�]Š]Ð4¸Uˆ]ÑCÔC€FÝØ
ˆsˆ�c˜3�Z¥"¤&­"¬&Ð!1Ð2Ø�H�Øðñ ô €Hõ
 Ô˜& (Ñ+Ô+Ð+ð ŒU�]Š]Ð,°Uˆ]Ñ;Ô;€FÝ�s˜C¥¤Ð(Ð0@ÐAÑAÔA€HÝÔ˜6 8Ñ,Ô,Ð,õ 	Ð$Ð$Ð$Ð,<Ð=Ñ=Ô=€AØŒU�]Š]Ð3¸Eˆ]ÑBÔB€FÝØ
ˆsˆ�c˜3�Z¥"¤&­"¬&Ð!1Ð2Ð:Jðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+õ 	Ð Ð Ð Ð(8Ð9Ñ9Ô9€AØŒU�]Š]Ð?Èˆ]ÑNÔN€FÝØ
ˆsˆ�c˜3�Z¥"¤&¨# Ð/Ø˜8Ð$Øðñ ô €Hõ
 Ô˜& (Ñ+Ô+Ð+õ 	Ð Ð Ð Ð(8Ð9Ñ9Ô9€AØŒU�]Š]Ð@Èˆ]ÑOÔO€FÝØ
ˆsˆ�c˜3�Z #¥r¤v Ð/Ø˜8Ð$Øðñ ô €Hõ
 Ô˜& (Ñ+Ô+Ð+Ð+Ð+r(   c                 óª  — g d¢}t          | ¦  «        dk    rt          j        d¦  «         t          | ¦  «        t          |¦  «        k     r5|                      d¦  «        } t          | ¦  «        t          |¦  «        k     °5| d t          |¦  «        …         } t	          || |¬¦  «        }|j                             dd¬¦  «        }t	          d	d
t          j        g| |¬¦  «        }t          j
        ||¦  «         |j                             dd¬¦  «        }t          dd	gdd
gdt          j        ggddg| |¬¦  «        }t          j        ||¦  «         d S )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|   ¶   sN  € ð ÐÐ€Då
ˆ5�z„z�Q‚€ÝŒÐ2Ñ3Ô3Ð3Ý
ˆe‰*Œ*•s˜4‘y”yÒ
 Ð
 Ø—’˜Q‘”ˆõ ˆe‰*Œ*•s˜4‘y”yÒ
 Ð
 ð �+•C˜‘I”I�+Ô€EÝ
�˜UÐ*:Ð
;Ñ
;Ô
;€CàŒW�_Š_˜W¨Uˆ_Ñ3Ô3€FÝ�s˜C¥¤Ð(°Ð=MÐNÑNÔN€HÝÔ˜6 8Ñ,Ô,Ð,àŒW�_Š_Ð=Àeˆ_ÑLÔL€FÝØ
ˆsˆ�c˜3�Z #¥r¤v Ð/Ø˜8Ð$ØØð	ñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r(   c                 ó¸   — t          g d¢d| ¬¦  «        }|j                             dd¬¦  «        }t          g d¢d| ¬¦  «        }t          j        ||¦  «         d S )	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ÑFÔF€AØŒU�]Š]Ð,°Uˆ]Ñ;Ô;€FÝ�o�o�o¨EÐ9IÐJÑJÔJ€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r(   c                 ó(  — t          dt          j        dg| ¬¦  «        }|j                             dd¬¦  «        }t          ddgt          j        t          j        gt          j        t          j        gg| ¬¦  «        }t          j        ||¦  «         d S )	Nr   r   r   r   Tr   r    r!   )r   r   r   r   r   r   r"   r#   ro   s       r   Útest_extract_expand_Truer‹   Ø   sŠ   € åÐ ¥"¤&¨%Ð0Ð8HÐIÑIÔI€AàŒU�]Š]Ð/¸ˆ]Ñ=Ô=€FÝØ
�5Ð	�BœF¥B¤FÐ+­b¬fµb´fÐ-=Ð>ÐFVðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r(   c                  óD  — t           j        t           j        g} t          dt           j        ddt          j        ¦   «         dd ddg	¦  «        }|j                             dd¬¦  «        }t          d	d
g| d	d
g| | | | | | g	t          ¬¦  «        }t          j
        ||¦  «         d S )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ØØÝŒNÑÔØØØØð
	
ñô €Eð ŒY×ÒÐ3¸DÐÑAÔA€FÝØ
�%ˆ˜"˜v u˜o¨r°2°r¸2¸rÀ2ÐFÍfðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r(   c                 óf  —  | g d¢|¬¦  «        }d}t          j        t          |¬¦  «        5  |j                             dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |j                             dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr@   r   rC   r   rD   Tr   rE   rF   rG   s       r   Ú4test_extract_expand_True_single_capture_group_raisesr�   ú   s@  € ð
 ˆÐ1Ð1Ð1Ð9IÐJÑJÔJ€HØ
.€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð 8ð 8ØŒ×Ò˜\°$ÐÑ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8õ 
Œ•z¨Ð	-Ñ	-Ô	-ð 8ð 8ØŒ×Ò˜\°$ÐÑ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8rK   c                 ó°   —  | ddg|¬¦  «        }|j                              dd¬¦  «        }t          dddgi|¬¦  «        }t          j        ||¦  «         d S )	Nr6   r7   r   rM   Tr   rO   rN   )r   r   r   r"   r#   rS   s        r   Ú-test_extract_expand_True_single_capture_groupr’   	  sj   € àˆ  d˜|Ð3CÐDÑDÔD€HØŒ\×!Ò! /¸$Ð!Ñ?Ô?€FÝ˜% # s Ð,Ð4DÐEÑEÔE€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r(   rQ   Úseries_namec                 ó&  — t          g d¢| |¬¦  «        }|j                             dd¬¦  «        }t          t          j        t          j        t          j        g|¬¦  «        }t          j        ||¦  «         |j                             dd¬¦  «        }t          t          j        t          j        gt          j        t          j        gt          j        t          j        gg|¬¦  «        }t          j        ||¦  «         |j                             dd¬¦  «        }t          d	d
t          j        g|¬¦  «        }t          j        ||¦  «         |j                             dd¬¦  «        }t          d	dgd
dgt          j        t          j        gg|¬¦  «        }t          j        ||¦  «         |j                             dd¬¦  «        }t          dd	d
t          j        gi|¬¦  «        }t          j        ||¦  «         |j                             dd¬¦  «        }t          d	dgd
dgt          j        t          j        ggddg|¬¦  «        }t          j        ||¦  «         |j                             dd¬¦  «        }t          d	dgd
dgt          j        t          j        ggddg|¬¦  «        }t          j        ||¦  «         |j                             dd¬¦  «        }t          d	d
t          j        g|¬¦  «        }t          j        ||¦  «         d S )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ÑEÔE€Að ŒU�]Š]˜5¨ˆ]Ñ.Ô.€FÝ�"œ&¥"¤&­"¬&Ð1Ð9IÐJÑJÔJ€HÝÔ˜& (Ñ+Ô+Ð+ð ŒU�]Š]˜8¨Dˆ]Ñ1Ô1€FÝÝ
Œ&•"”&Ð	�BœF¥B¤FÐ+­b¬fµb´fÐ-=Ð>ÐFVðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+ð ŒU�]Š]˜=°ˆ]Ñ6Ô6€FÝ˜#˜s¥B¤FÐ+Ð3CÐDÑDÔD€HÝÔ˜& (Ñ+Ô+Ð+ð ŒU�]Š]˜?°4ˆ]Ñ8Ô8€FÝØ
ˆsˆ�c˜3�Z¥"¤&­"¬&Ð!1Ð2Ð:Jðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+ð ŒU�]Š]Ð-°dˆ]Ñ;Ô;€FÝ˜( S¨#­r¬vÐ$6Ð7Ð?OÐPÑPÔP€HÝÔ˜& (Ñ+Ô+Ð+ð ŒU�]Š]Ð>Àtˆ]ÑLÔL€FÝØ
ˆsˆ�c˜3�Z¥"¤&­"¬&Ð!1Ð2Ø˜8Ð$Øðñ ô €Hõ
 Ô˜& (Ñ+Ô+Ð+ð ŒU�]Š]Ð4¸Tˆ]ÑBÔB€FÝØ
ˆsˆ�c˜3�Z¥"¤&­"¬&Ð!1Ð2Ø�H�Øðñ ô €Hõ
 Ô˜& (Ñ+Ô+Ð+ð ŒU�]Š]Ð,°Tˆ]Ñ:Ô:€FÝ˜#˜s¥B¤FÐ+Ð3CÐDÑDÔD€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r(   c                 ó–  — t          g d¢| ¬¦  «        }|j                             dd¬¦  «        }t          ddgdd	gt          j        t          j        gg| ¬¦  «        }t          j        ||¦  «         t          g d
¢| ¬¦  «        }|j                             dd¬¦  «        }t          ddgdd	gt          j        dggddg| ¬¦  «        }t          j        ||¦  «         t          g d¢| ¬¦  «        }|j                             dd¬¦  «        }t          ddgdd	gdt          j        ggddg| ¬¦  «        }t          j        ||¦  «         d S )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  s�  € åÐ$Ð$Ð$Ð,<Ð=Ñ=Ô=€AØŒU�]Š]Ð3¸Dˆ]ÑAÔA€FÝØ
ˆsˆ�c˜3�Z¥"¤&­"¬&Ð!1Ð2Ð:Jðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+õ 	Ð Ð Ð Ð(8Ð9Ñ9Ô9€AØŒU�]Š]Ð?Èˆ]ÑMÔM€FÝØ
ˆsˆ�c˜3�Z¥"¤&¨# Ð/Ø˜8Ð$Øðñ ô €Hõ
 Ô˜& (Ñ+Ô+Ð+õ 	Ð Ð Ð Ð(8Ð9Ñ9Ô9€AØŒU�]Š]Ð@Èˆ]ÑNÔN€FÝØ
ˆsˆ�c˜3�Z #¥r¤v Ð/Ø˜8Ð$Øðñ ô €Hõ
 Ô˜& (Ñ+Ô+Ð+Ð+Ð+r(   c                 ó<  — g d¢}t          | ¦  «        t          |¦  «        k     r%t          j        dt          |¦  «        › d�¦  «         | d t          |¦  «        …         } t          || |¬¦  «        }|j                             dd¬¦  «        }t          dd	t          j        g| |¬¦  «        }t          j
        ||¦  «         |j                             d
d¬¦  «        }t          ddgdd	gdt          j        ggddg| |¬¦  «        }t          j
        ||¦  «         d S )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„z•C˜‘I”IÒÐÝŒÐ?­S°©Y¬YÐ?Ð?Ð?Ñ@Ô@Ð@à�+•C˜‘I”I�+Ô€EÝˆt˜5Ð(8Ð9Ñ9Ô9€AàŒU�]Š]˜7¨4ˆ]Ñ0Ô0€FÝ˜#˜s¥B¤FÐ+°5Ð@PÐQÑQÔQ€HÝÔ˜& (Ñ+Ô+Ð+àŒU�]Š]Ð;ÀDˆ]ÑIÔI€FÝØ
ˆsˆ�c˜3�Z #¥r¤v Ð/Ø˜8Ð$ØØð	ñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r(   c                 óº   — t          g d¢d| ¬¦  «        }|j                             dd¬¦  «        }t          dg d¢i| ¬	¦  «        }t	          j        ||¦  «         d S )
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ÑNÔN€AØŒU�]Š]Ð/¸ˆ]Ñ=Ô=€FÝ˜( O O OÐ4Ð<LÐMÑMÔM€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r(   c                 ó0  — dddddt           j        dg}g d¢}d}g d	¢}t          || ¬
¦  «        }t          j        g d¢d¬¦  «        }t          |||| ¬
¦  «        }|j                             |t          j	        ¬¦  «        }t          j        ||¦  «         t          j        g d¢¦  «        }	t          ||	| ¬¦  «        }t          j        g d¢d¬¦  «        }t          |||| ¬
¦  «        }|j                             |t          j	        ¬¦  «        }t          j        ||¦  «         t          ||	| ¬¦  «        }d|j        _        d|_        t          |||| ¬
¦  «        }|j                             |t          j	        ¬¦  «        }t          j        ||¦  «         d S )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Ð0Ð0ÐÝˆtÐ+Ð,Ñ,Ô,€Aõ  Ô+ØHÐHÐHØðñ ô €Nõ Ø˜Ð)9ÐAQðñ ô €Hð ŒU×Ò˜c­¬ÐÑ4Ô4€FÝÔ˜& (Ñ+Ô+Ð+õ 
Ô	ð	
ð 	
ð 	
ñ

ô 

€Bõ 	ˆt˜2Ð%5Ð6Ñ6Ô6€AÝÔ+ð		
ð 		
ð 		
ð $ðñ ô €Nõ Ø˜Ð)9ÐAQðñ ô €Hð ŒU×Ò˜c­¬ÐÑ4Ô4€FÝÔ˜& (Ñ+Ô+Ð+õ 	ˆt˜2Ð%5Ð6Ñ6Ô6€AØ.€A„G„MØ>€NÔÝØ˜Ð)9ÐAQðñ ô €Hð ŒU×Ò˜c­¬ÐÑ4Ô4€FÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r(   zpat,expected_namesrk   r]   r_   z([AB])?(?P<number>[123])c                 ó  — t          g d¢|¬¦  «        }|j                             | ¦  «        }t          dt          j        dft          j        dfgt          j        g d¢d¬¦  «        ||¬	¦  «        }t          j	        ||¦  «         d S )
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Ñ   â  s˜   € õ 	ÐÐÐÐ'7Ð8Ñ8Ô8€AàŒU×Ò˜cÑ"Ô"€FÝØ	•b”f˜c�]¥R¤V¨S MÐ2ÝÔ$Ð%=Ð%=Ð%=À_ÐUÑUÔUØØð	ñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r(   c                 ón  — t          g d¢d| ¬¦  «        }t          j        g d¢d¬¦  «        }|j                             d¦  «        }t          dg d	¢i|| ¬
¦  «        }t          j        ||¦  «         |j                             d¦  «        }t          g d	¢|| ¬
¦  «        }t          j        ||¦  «         d S )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ÑPÔP€AÝÔ+Ø(Ð(Ð(°ðñ ô €Nð
 ŒU×ÒÐ2Ñ3Ô3€FÝØ	Ð'Ð'Ð'Ð(°ÐFVðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+ð ŒU×Ò˜jÑ)Ô)€FÝØÐÐ NÐ:Jðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r(   c                 óà   — t          g d¢d| ¬¦  «        }|j                             d¦  «        }t          g d¢t	          j        g d¢d¬¦  «        | ¬	¦  «        }t          j        ||¦  «         d S )
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ÑTÔT€AØŒ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         ¬¦  «        }n1ˆ	fd„t          ‰	¦  «        D ¦   «         }t          j        ||¬¦  «        }t          | d||¬¦  «        }t          j        g g |¢d‘R ¬¦  «        }|j                             d	¦  «        }t          t          d¦  «        ||¬
¦  «        }t          j
        ||d¬¦  «         |j                             d¦  «        }t          t          d¦  «        ||¬
¦  «        }t          j
        ||d¬¦  «         |j                             d¦  «        }t          dg||¬
¦  «        }t          j
        ||¦  «         |j                             d¦  «        }t          ddg||¬
¦  «        }t          j
        ||¦  «         |j                             d¦  «        }t          ddg||¬
¦  «        }t          j
        ||¦  «         d S )Nr,   r   ©rQ   c              3   óD   •K  — | ]}t          |g‰d z
  z  ¦  «        V — ŒdS )r,   N)Útuple)Ú.0ÚiÚns     €r   ú	<genexpr>z-test_extractall_no_matches.<locals>.<genexpr>/  s5   øè è € Ð9Ð9¨1•%˜˜˜q 1™u™Ñ&Ô&Ð9Ð9Ð9Ð9Ð9Ð9r(   r´   r“   ©rQ   rt   r   r   z(z)rw   T)Úcheck_column_typez(z)(z)rr   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„z�Q‚€Ý•e˜A‘h”h U¨1¤XÐ.Ñ.Ô.ˆˆà9Ð9Ð9Ð9µ°a±´Ð9Ñ9Ô9ˆÝÔ& v°UÐ;Ñ;Ô;ˆÝˆt˜-¨uÐ<LÐMÑMÔM€AÝÔ+¨BÐ7H¸Ð7HÀÐ7HÐ7HÐJÑJÔJ€Nð ŒU×Ò˜eÑ$Ô$€FÝ¥ q¡¤°ÐGWÐXÑXÔX€HÝÔ˜& (¸dÐCÑCÔCÐCð ŒU×Ò˜hÑ'Ô'€FÝ¥ q¡¤°ÐGWÐXÑXÔX€HÝÔ˜& (¸dÐCÑCÔCÐCð ŒU×Ò˜nÑ-Ô-€FÝØ�	 Ð7Gðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+ð ŒU×ÒÐ9Ñ:Ô:€FÝØ˜(Ð#¨>ÐAQðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+ð ŒU×ÒÐ0Ñ1Ô1€FÝØ�H� ^Ð;Kðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r(   c                 óÀ  — t          g d¢d| ¬¦  «        }|j                             d¦  «        }t          dg d¢it	          j        g d¢d dg¬	¦  «        | ¬
¦  «        }t          j        ||¦  «         | dk    rct          g d¢t          ¬¦  «        t          g d¢dt          ¬¦  «        fD ]1}|j                             d¦  «        }t          j        ||¦  «         Œ2t          g d¢dt          g d¢d¬¦  «        | ¬¦  «        }|j                             d¦  «        }t          dg d¢it	          j        g d¢ddg¬	¦  «        | ¬
¦  «        }t          j        ||¦  «         d S )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ÿ   T  s½  € ÝÐ#Ð#Ð#¨%Ð7GÐHÑHÔH€AØŒU×ÒÐ2Ñ3Ô3€FÝØ	�/�/�/Ð"ÝÔ$Ð%=Ð%=Ð%=ÀdÈGÀ_ÐUÑUÔUØðñ ô €Hõ
 Ô˜& (Ñ+Ô+Ð+ð ˜8Ò#Ð#åÐ&Ð&Ð&­fÐ5Ñ5Ô5ÝÐ&Ð&Ð&¨U½&ÐAÑAÔAð
ð 	4ð 	4ˆCð ”W×'Ò'Ð(<Ñ=Ô=ˆFÝÔ! &¨(Ñ3Ô3Ð3Ð3åØÐÐØÝÐ&Ð&Ð&¨ZÐ8Ñ8Ô8Øð		ñ 	ô 	€Að ŒU×ÒÐ2Ñ3Ô3€FÝØ	�/�/�/Ð"ÝÔ$Ø-Ð-Ð-°jÀ'Ð5Jð
ñ 
ô 
ð ðñ ô €Hõ Ô˜& (Ñ+Ô+Ð+Ð+Ð+r(   c                 óÊ   — t          g d¢d| ¬¦  «        }t          j        t          d¬¦  «        5  |j                             d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )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  y  s°   € õ 	Ð#Ð#Ð#¨-Ð?OÐPÑPÔP€AÝ	Œ•zÐ)<Ð	=Ñ	=Ô	=ð #ð #Ø	Œ×Ò˜Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #s   °AÁAÁAc                  óZ  — t          g d¢g d¢d¬¦  «        } | j        j                             dd¬¦  «        }t	          g d¢¦  «        }t          j        ||¦  «         | j        j                             d	d¬¦  «        }g d
¢}t	          |ddg¬¦  «        }t          j        ||¦  «         d S )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ÑRÔR€AØ	ŒŒ×Ò˜J¨tÐÑ4Ô4€AÝ�/�/�/Ñ"Ô"€AÝÔ˜!˜QÑÔÐð
 	
ŒŒ×ÒÐ@ÈÐÑNÔN€AØ1Ð1Ð1€FÝ�& 8¨WÐ"5Ð6Ñ6Ô6€AÝÔ˜!˜QÑÔÐÐÐr(   c                 óN  — t          g d¢d| ¬¦  «        }d}|j                             |d¬¦  «        }|j                             |¦  «        }|                     dd¬	¦  «        }t          j        ||¦  «         d
}|j                             |d¬¦  «        }|j                             |¦  «        }|                     dd¬	¦  «        }t          j        ||¦  «         d}|j                             |d¬¦  «        }	|j                             |¦  «        }|                     dd¬	¦  «        }t          j        |	|¦  «         d}
|j                             |
d¬¦  «        }|j                             |
¦  «        }|                     dd¬	¦  «        }t          j        ||¦  «         d S )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  �  s¨  € ÝÐ!Ð!Ð!¨Ð=MÐNÑNÔN€Aà*ÐØœŸšÐ'9À$˜ÑGÔGÐØ”e×&Ò&Ð'9Ñ:Ô:€OØ$×'Ò'¨°Ð'Ñ9Ô9€NÝÔÐ,¨nÑ=Ô=Ð=à<ÐØœŸšÐ&7À˜ÑEÔEÐØ”e×&Ò&Ð'8Ñ9Ô9€OØ$×'Ò'¨°Ð'Ñ9Ô9€NÝÔÐ+¨^Ñ<Ô<Ð<à0ÐØœŸšÐ&7À˜ÑEÔEÐØ”e×&Ò&Ð'8Ñ9Ô9€OØ$×'Ò'¨°Ð'Ñ9Ô9€NÝÔÐ+¨^Ñ<Ô<Ð<à#ÐØœŸšÐ'9À$˜ÑGÔGÐØ”e×&Ò&Ð'9Ñ:Ô:€OØ$×'Ò'¨°Ð'Ñ9Ô9€NÝÔÐ,¨nÑ=Ô=Ð=Ð=Ð=r(   c                 ó€  — t          j        g d¢d¬¦  «        }t          g d¢|d| ¬¦  «        }d}|j                             |d¬	¦  «        }|j                             |¦  «        }|                     d
d¬¦  «        }t          j        ||¦  «         d}|j                             |d¬	¦  «        }|j                             |¦  «        }|                     d
d¬¦  «        }t          j        ||¦  «         d}	|j                             |	d¬	¦  «        }
|j                             |	¦  «        }|                     d
d¬¦  «        }t          j        |
|¦  «         d}|j                             |d¬	¦  «        }|j                             |¦  «        }|                     d
d¬¦  «        }t          j        ||¦  «         d S )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Ð9Ð9Ø$ð
ñ 
ô 
€Bõ 	Ð!Ð!Ð!¨°-ÐGWÐXÑXÔX€Aà*ÐØœŸšÐ'9À$˜ÑGÔGÐØ”e×&Ò&Ð'9Ñ:Ô:€OØ$×'Ò'¨°Ð'Ñ9Ô9€NÝÔÐ,¨nÑ=Ô=Ð=à<ÐØœŸšÐ&7À˜ÑEÔEÐØ”e×&Ò&Ð'8Ñ9Ô9€OØ$×'Ò'¨°Ð'Ñ9Ô9€NÝÔÐ+¨^Ñ<Ô<Ð<à0ÐØœŸšÐ&7À˜ÑEÔEÐØ”e×&Ò&Ð'8Ñ9Ô9€OØ$×'Ò'¨°Ð'Ñ9Ô9€NÝÔÐ+¨^Ñ<Ô<Ð<à#ÐØœŸšÐ'9À$˜ÑGÔGÐØ”e×&Ò&Ð'9Ñ:Ô:€OØ$×'Ò'¨°Ð'Ñ9Ô9€NÝÔÐ,¨nÑ=Ô=Ð=Ð=Ð=r(   c                  óè   — t          j        d¦  «        } t          ddgt          |                      ¦   «         ¦  «        ¬¦  «        j                             d¦  «        }|j        d         dk    sJ ‚d S )NÚpyarrowrÝ   rÜ   r   ú(ab)r   zstring[pyarrow])r   Úimportorskipr   r   Ústringr   rÄ   Údtypes)Úpar&   s     r   Útest_extractall_preserves_dtyper*  Í  sk   € õ 
Ô	˜YÑ	'Ô	'€Bå�U˜D�M­°B·I²I±K´KÑ)@Ô)@ÐAÑAÔAÔE×PÒPÐQWÑXÔX€FØŒ=˜ÔÐ0Ò0Ð0Ð0Ð0Ð0Ð0r(   zpat, expected_dataz(a(?=b)))Nr„   NNz	((?<=a)b))Nr…   NNz(a(?!b)))r„   Nr„   Nz	((?<!b)a))r„   r„   NNr%  )NrÜ   NNc                 óÜ   — t          g d¢| ¬¦  «        }|j                             |d¬¦  «        }| dk    rd„ |D ¦   «         }t          g |¢d ‘| ¬¦  «        }t          j        ||¦  «         d S )N©ÚaarÜ   ÚbaÚbbNr   Fr   r0   c                 ó.   — g | ]}|€t           j        n|‘ŒS rà   )r   r   )rç   r©   s     r   ú
<listcomp>z,test_extract_lookarounds.<locals>.<listcomp>æ  s"   € ÐKÐKÐK¸ 1 9�œ˜°!ÐKÐKÐKr(   rˆ   ©r   rÈ   Úexpected_datar2   r&   r%   s         r   Útest_extract_lookaroundsr4  Ö  sŠ   € õ Ð/Ð/Ð/Ð7GÐ
HÑ
HÔ
H€CØŒW�_Š_˜S¨ˆ_Ñ/Ô/€FØ˜8Ò#Ð#àKÐK¸]ÐKÑKÔKˆÝÐ,˜Ð, tÐ,Ð4DÐEÑEÔE€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r(   r¯   r„   r…   )r®   rù   r°   rø   rÜ   c                 óì   — t          g d¢| ¬¦  «        }|j                             |¦  «        }t          || ¬¦  «                             ¦   «         }d dg|j        _        t          j        ||¦  «         d S )Nr,  r   r   )r   r   rÄ   Úto_framert   rµ   r"   r#   r2  s         r   Útest_extractall_lookaroundsr7  ë  sy   € õ Ð/Ð/Ð/Ð7GÐ
HÑ
HÔ
H€CØŒW×Ò Ñ$Ô$€FÝ�mÐ+;Ð<Ñ<Ô<×EÒEÑGÔG€HØ  '˜?€H„NÔÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r(   c                 ó   — t          g d¢| ¬¦  «        }|j                             d¦  «        }t          dt          j        dg| ¬¦  «                             ¦   «         }t          j        ||¦  «         |j                             d¦  «        }t          dt          j        t          j        g| ¬¦  «                             ¦   «         }t          j        ||¦  «         t          g d¢| ¬¦  «        }|j                             d¦  «        }t          dt          j        dg| ¬¦  «                             ¦   «         }t          j        ||¦  «         d S )	N)r-  rÝ   zbb
r   z([ab]+)$r-  r/  z	([ab]+)\Z)zaa\ZrÝ   zbb\Z
z
([ab]+)\\Z)r   r   r   r   r   r6  r"   r#   )r   r2   r&   r%   s       r   Útest_extract_end_of_stringr9  þ  s.  € å
Ð&Ð&Ð&Ð.>Ð
?Ñ
?Ô
?€Cð ŒW�_Š_˜ZÑ(Ô(€FÝ�t�RœV TÐ*Ð2BÐCÑCÔC×LÒLÑNÔN€HÝÔ˜& (Ñ+Ô+Ð+ð ŒW�_Š_˜\Ñ*Ô*€FÝ�t�RœV¥R¤VÐ,Ð4DÐEÑEÔE×NÒNÑPÔP€HÝÔ˜& (Ñ+Ô+Ð+õ Ð,Ð,Ð,Ð4DÐ
EÑ
EÔ
E€CØŒW�_Š_˜]Ñ+Ô+€FÝ�t�RœV TÐ*Ð2BÐCÑCÔC×LÒLÑNÔN€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r(   )/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*  r4  r7  r9  © r(   r   ú<module>r@     s2  ðØ Ð Ð Ð Ð Ð Ø 	€	€	€	à Ð Ð Ð Ø €€€à 0Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð ð ð ð ð ð ð>ð >ð >ð,ð ,ð ,ð"-ð -ð -ð,7ð 7ð 7ð
9ð 
9ð 
9ð	0ð 	0ð 	0ðP,ð P,ð P,ðf,ð ,ð ,ð6-ð -ð -ð,ð ,ð ,ð,ð ,ð ,ð.8ð 8ð 8ð,ð ,ð ,ð „×Ò˜ $¨Ð!6Ñ7Ô7ð6,ð 6,ñ 8Ô7ð6,ðr,ð ,ð ,ð<,ð ,ð ,ð4,ð ,ð ,ðR,ð R,ð R,ðj „×ÒØð 
.°¸(Ð/CÐDà	# a¨ ]Ð3ð	ñô ð
,ð 
,ñô ð
,ð,ð ,ð ,ð*,ð ,ð ,ð  „×ÒØà	ˆWˆØ	ˆWˆØ	ˆ\ÐØ	ˆ\ÐØ	Ð	Ð	˜wÐ'Ø	Ð	Ð	˜|Ð,Ø	Ð	Ð	˜|Ð,ðñô ð(,ð (,ñô ð(,ðV",ð ",ð ",ðJ#ð #ð #ð ð  ð  ð>ð >ð >ð8>ð >ð >ðB1ð 1ð 1ð „×ÒØà	Ð-Ð-Ð-Ð.Ø	Ð.Ð.Ð.Ð/Ø	Ð,Ð,Ð,Ð-Ø	Ð-Ð-Ð-Ð.Ø	Ð)Ð)Ð)Ð*ðñ	ô 	ð-ð -ñ	ô 	ð-ð „×ÒØà	�v˜s�mÐ$Ø	˜ �}Ð%Ø	˜s¨C¸Ð=Ð=Ð>Ø	 ¨S¸#Ð>Ð>Ð?Ø	�&˜$�Ð ðñ	ô 	ð,ð ,ñ	ô 	ð,ð,ð ,ð ,ð ,ð ,r(   