§
    tŠtjgF  ã                   óÔ  — d dl Z d dlmZ d dlZd dlZd dlmZ d dlm	Z	 d dl
mc mZ d dlZd dlmZmZmZmZ d dlmZ d dl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%d„ Z&ej'         (                    d¬¦  «        d„ ¦   «         Z)d„ Z*d„ Z+d„ Z,d„ Z- ej.        d¦  «        d„ ¦   «         Z/ej'         0                    dej1        ej2        eg¦  «        d„ ¦   «         Z3dS ) é    N)ÚPath)ÚHAS_PYARROW)ÚPandas4Warning)ÚNAÚ
ArrowDtypeÚSeriesÚStringDtype)Úextract_arrayc                 ó´  — t           rat          dt          j        ¬¦  «        t          dt          j        ¬¦  «        t          dt          ¬¦  «        t          dt          ¬¦  «        g}n1t          dt          j        ¬¦  «        t          dt          ¬¦  «        g}|                     | ¦  «        }|                     |¦  «        }|t          ||¦  «                 S )NÚpython©Úna_valueÚpyarrow)r   r	   ÚnpÚnanr   ÚindexÚmax)Údtype1Údtype2ÚDTYPE_HIERARCHYÚh1Úh2s        úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/tests/arithmetic/test_string.pyÚstring_dtype_highest_priorityr      s½   € Ýð 
å˜­2¬6Ð2Ñ2Ô2Ý˜	­B¬FÐ3Ñ3Ô3Ý˜­2Ð.Ñ.Ô.Ý˜	­BÐ/Ñ/Ô/ð	
ˆˆõ ˜­2¬6Ð2Ñ2Ô2Ý˜­2Ð.Ñ.Ô.ð
ˆð
 
×	Ò	˜vÑ	&Ô	&€BØ	×	Ò	˜vÑ	&Ô	&€BØ�3˜r 2™;œ;Ô'Ð'ó    c                  ó  — t          j        d¦  «         t          j        t          t          gt          d¦  «        ¬¦  «        } | | k    }t          j        t          t          gd¬¦  «        }t          j        ||¦  «         d S )Nr   ©Údtypeúboolean[pyarrow])ÚpytestÚimportorskipÚpdÚarrayr   r	   ÚtmÚassert_extension_array_equal)ÚaÚresultÚexpecteds      r   Útest_eq_all_nar)   )   sn   € Ý
Ô˜	Ñ"Ô"Ð"Ý
Œ•"•b�¥¨YÑ!7Ô!7Ð8Ñ8Ô8€AØ�!ŠV€FÝŒx��R˜Ð(:Ð;Ñ;Ô;€HÝÔ# F¨HÑ5Ô5Ð5Ð5Ð5r   c                 óÜ  — | }|t           k    rd nt          }t          g d¢¦  «        }t          g d¢|¬¦  «        }d}t          j        ||¬¦  «        5  ||z  }d d d ¦  «         n# 1 swxY w Y   ||                     t          ¦  «        z  }t          j        ||¦  «         t          j        ||¬¦  «        5  ||z  }d d d ¦  «         n# 1 swxY w Y   ||                     t          ¦  «        z  }t          j        ||¦  «         t          j        ||¬¦  «        5  ||z  }d d d ¦  «         n# 1 swxY w Y   ||                     t          ¦  «        z  }t          j        ||¦  «         d S )N)TFFT)Ú r+   ÚbÚcr   z$operations between boolean dtype and©Úmatch)Úobjectr   r   r$   Úassert_produces_warningÚastypeÚboolÚassert_series_equal)Úany_string_dtyper   ÚwarnÚleftÚrightÚmsgr'   r(   s           r   Útest_reversed_logical_opsr:   1   s'  € à€EØ�F’?�?ˆ4ˆ4­€DÝÐ,Ð,Ð,Ñ-Ô-€DÝÐ%Ð%Ð%¨UÐ3Ñ3Ô3€Eà
0€CÝ	Ô	# D°Ð	4Ñ	4Ô	4ð ð Ø˜‘ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�e—l’l¥4Ñ(Ô(Ñ(€HÝÔ˜6 8Ñ,Ô,Ð,å	Ô	# D°Ð	4Ñ	4Ô	4ð ð Ø˜‘ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�e—l’l¥4Ñ(Ô(Ñ(€HÝÔ˜6 8Ñ,Ô,Ð,å	Ô	# D°Ð	4Ñ	4Ô	4ð ð Ø˜‘ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�e—l’l¥4Ñ(Ô(Ñ(€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,s6   ÁA%Á%A)Á,A)Â8C
Ã
CÃCÄD/Ä/D3Ä6D3c                 óâ  — | t           k    r5t          j                             d¬¦  «        }|                     |¦  «         t          d¦  «        }t          ddt          g| ¬¦  «        }||z  }t          |dz  |dz  |j        j	        gt           ¬¦  «        }t          j        ||¦  «         ||z  }t          d|z  d|z  |j        j	        gt           ¬¦  «        }t          j        ||¦  «         d S )Nzqwith NA present we go through _masked_arith_op which raises TypeError bc Path is not recognized by lib.is_scalar.©Úreasonz/Users/Irv/ÚAÚBr   )r0   r    ÚmarkÚxfailÚapplymarkerr   r   r   r   r   r$   r4   )r5   Úrequestr@   ÚitemÚserr'   r(   s          r   Útest_pathlib_path_divisionrF   I   sõ   € à�6Ò!Ð!ÝŒ{× Ò ðKð !ñ 
ô 
ˆð 	×Ò˜DÑ!Ô!Ð!å�ÑÔ€DÝ
�#�s�B�Ð'7Ð
8Ñ
8Ô
8€Cà�C‰Z€FÝ�t˜c‘z 4¨#¡:¨s¬yÔ/AÐBÍ&ÐQÑQÔQ€HÝÔ˜6 8Ñ,Ô,Ð,à�4‰Z€FÝ�s˜T‘z 3¨¡:¨s¬yÔ/AÐBÍ&ÐQÑQÔQ€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c           
      ó‚  ‡—  G ˆfd„d¦  «        Št          j         ‰d¦  «         ‰d¦  «        gt          ¬¦  «        }t          ddg| ¬¦  «        }t          |¦  «        }||d         z    ‰d	¦  «         ‰d
¦  «        gf||z    ‰d	¦  «         ‰d¦  «        gf||z    ‰d	¦  «         ‰d¦  «        gf|d         |z    ‰d¦  «         ‰d¦  «        gf||z    ‰d¦  «         ‰d¦  «        gf||z    ‰d¦  «         ‰d¦  «        gfg}|D ]0\  }}t          |t          ¬¦  «        }t	          j        ||¦  «         Œ1d S )Nc                   ó:   •— e Zd Zd„ Zˆ fd„Zˆ fd„Zˆ fd„Zd„ ZdS )ú3test_arithmetic_custom_object.<locals>.CustomObjectc                 ó   — || _         d S ©N©Úval)ÚselfrM   s     r   Ú__init__z<test_arithmetic_custom_object.<locals>.CustomObject.__init__a   s   € ØˆDŒHˆHˆHr   c                 óX   •— t          |d¦  «        rt          S  ‰| j        |z   ¦  «        S ©Nr   ©ÚhasattrÚNotImplementedrM   ©rN   ÚotherÚCustomObjects     €r   Ú__add__z;test_arithmetic_custom_object.<locals>.CustomObject.__add__d   s2   ø€ Ý�u˜gÑ&Ô&ð &Ý%Ð%Ø�< ¤¨5Ñ 0Ñ1Ô1Ð1r   c                 óX   •— t          |d¦  «        rt          S  ‰|| j        z   ¦  «        S rQ   rR   rU   s     €r   Ú__radd__z<test_arithmetic_custom_object.<locals>.CustomObject.__radd__i   s2   ø€ Ý�u˜gÑ&Ô&ð &Ý%Ð%Ø�< ¨¬Ñ 0Ñ1Ô1Ð1r   c                 óD   •— t          |‰¦  «        o| j        |j        k    S rK   )Ú
isinstancerM   rU   s     €r   Ú__eq__z:test_arithmetic_custom_object.<locals>.CustomObject.__eq__n   s!   ø€ Ý˜e \Ñ2Ô2ÐL°t´xÀ5Ä9Ò7LÐLr   c                 ó   — d| j         › d�S )Nz<CustomObject(z)>rL   )rN   s    r   Ú__repr__z<test_arithmetic_custom_object.<locals>.CustomObject.__repr__q   s   € Ø0 D¤HÐ0Ð0Ð0Ð0r   N)Ú__name__Ú
__module__Ú__qualname__rO   rX   rZ   r]   r_   )rW   s   €r   rW   rI   `   sƒ   ø€ € € € € ð	ð 	ð 	ð	2ð 	2ð 	2ð 	2ð 	2ð
	2ð 	2ð 	2ð 	2ð 	2ð
	Mð 	Mð 	Mð 	Mð 	Mð	1ð 	1ð 	1ð 	1ð 	1r   rW   r&   r,   r   Ú1Ú2r   Ú1aÚ2aÚ2bÚa1Úa2Úb2)r   r#   r0   r   r$   r4   )	r5   ÚarrrE   Úobj_serÚcasesr'   Úexpected_valuesr(   rW   s	           @r   Útest_arithmetic_custom_objectro   ^   s½  ø€ ð1ð 1ð 1ð 1ð 1ð 1ð 1ñ 1ô 1ð 1õ( Œ(�L�L Ñ%Ô% | |°CÑ'8Ô'8Ð9ÅÐ
HÑ
HÔ
H€CÝ
�#�s�Ð#3Ð
4Ñ
4Ô
4€CÝ�S‰kŒk€Gð 
ˆs�1Œv‰˜˜ TÑ*Ô*¨L¨L¸Ñ,>Ô,>Ð?Ð@Ø	ˆs‰�\�\ $Ñ'Ô'¨¨°dÑ);Ô);Ð<Ð=Ø	ˆw‰˜˜ dÑ+Ô+¨\¨\¸$Ñ-?Ô-?Ð@ÐAØ	ˆQŒ�#‰˜˜ TÑ*Ô*¨L¨L¸Ñ,>Ô,>Ð?Ð@Ø	ˆs‰�\�\ $Ñ'Ô'¨¨°dÑ);Ô);Ð<Ð=Ø	�3‰˜˜ dÑ+Ô+¨\¨\¸$Ñ-?Ô-?Ð@ÐAð€Eð $)ð 1ð 1Ñˆ�Ý˜/µÐ8Ñ8Ô8ˆÝ
Ô˜v xÑ0Ô0Ð0Ð0ð1ð 1r   c                 ó˜  — | }t          ddg|¬¦  «        }t          ddgt          ¬¦  «        }||k    }t          ddgt          ¬¦  «        }|t          k    rn]|j        dk    r$|j        t
          u r|                     d¦  «        }n.|j        d	k    r#|j        t
          u r|                     d
¦  «        }t          j        ||¦  «         d S )Nr&   r,   r   é   FTr   Úbooleanr   úbool[pyarrow])	r   r0   r3   Ústorager   r   r2   r$   r4   )r5   r   rE   Úmixedr'   r(   s         r   Útest_mixed_object_comparisonrv   …   sÍ   € à€EÝ
�#�s� 5Ð
)Ñ
)Ô
)€Cå�A�s�8¥6Ð*Ñ*Ô*€Eà�EŠ\€FÝ�u˜d�m­4Ð0Ñ0Ô0€HØ•‚€ØØ	Œ˜(Ò	"Ð	" u¤~½Ð';Ð';Ø—?’? 9Ñ-Ô-ˆˆØ	Œ˜)Ò	#Ð	#¨¬½"Ð(<Ð(<Ø—?’? ?Ñ3Ô3ˆåÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                  óÄ  — t          j        d¦  «        } t          ddg¦  «        }t          ddgt          t          j        ¬¦  «        ¬¦  «        }||k    }t          d|j        ¬¦  «        }t          j        ||¦  «         ||k    }t          d|j        ¬¦  «        }t          j        ||¦  «         t          j	        t          d	¬
¦  «        5  ||k     d d d ¦  «         n# 1 swxY w Y   |                     d¦  «        }||k    }t          j        ||                     d¦  «        ¦  «         ||k    }t          j        ||                     d¦  «        ¦  «         t          j	        t          d	¬
¦  «        5  ||k     d d d ¦  «         n# 1 swxY w Y   |                     t          |                      ¦   «         ¦  «        ¦  «        }	|	|k    }
t          j        |
|                     d¦  «        ¦  «         |	|k    }t          j        ||                     d¦  «        ¦  «         t          j	        t          d	¬
¦  «        5  ||	k     d d d ¦  «         d S # 1 swxY w Y   d S )Nr   FTr&   r,   r   r   )r   zInvalid comparisonr.   zstring[pyarrow]rs   )r    r!   r   r	   r   r   r   r$   r4   ÚraisesÚ	TypeErrorr2   r   Ústring)ÚparE   Úser2r'   Úexpected_eqÚexpected_neÚser3Ú
result3_eqÚ
result3_neÚser4Ú
result4_eqÚ
result4_nes               r   Ú!test_pyarrow_numpy_string_invalidr…   ˜   sð  € å	Ô	˜YÑ	'Ô	'€BÝ
�%˜�Ñ
Ô
€CÝ�3˜�*¥K½¼Ð$@Ñ$@Ô$@ÐAÑAÔA€DØ�DŠ[€FÝ˜ c¤iÐ0Ñ0Ô0€KÝÔ˜6 ;Ñ/Ô/Ð/à�DŠ[€FÝ˜ S¤YÐ/Ñ/Ô/€KÝÔ˜6 ;Ñ/Ô/Ð/å	Œ•yÐ(<Ð	=Ñ	=Ô	=ð ð ØˆdŠ
ˆ
ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �;Š;Ð(Ñ)Ô)€DØ˜’€JÝÔ˜: {×'9Ò'9¸/Ñ'JÔ'JÑKÔKÐKØ˜’€JÝÔ˜: {×'9Ò'9¸/Ñ'JÔ'JÑKÔKÐKå	Œ•yÐ(<Ð	=Ñ	=Ô	=ð ð ØˆdŠ
ˆ
ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �;Š;•z "§)¢)¡+¤+Ñ.Ô.Ñ/Ô/€DØ˜’€JÝÔ˜: {×'9Ò'9¸/Ñ'JÔ'JÑKÔKÐKØ˜’€JÝÔ˜: {×'9Ò'9¸/Ñ'JÔ'JÑKÔKÐKå	Œ•yÐ(<Ð	=Ñ	=Ô	=ð ð ØˆdŠ
ˆ
ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s6   ÃC!Ã!C%Ã(C%Å8FÆFÆFÉIÉIÉIc                 ó¾  — | }t          g d¢|¬¦  «        }|t          k    rt          j        d¦  «         n|j        dk    rd}nd}t          j        t          |¬¦  «        5  d|z   d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |d	z   d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  |t          j        g d
¢t          ¬¦  «        z   d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          j        g d
¢t          ¬¦  «        |z   d d d ¦  «         d S # 1 swxY w Y   d S )N©r&   r,   r-   r   zThis is not expect to raiser   zACannot multiply StringArray by bools. Explicitly cast to integersz&Can only string multiply by an integerr.   FT)TFT)
r   r0   r    Úskiprt   rx   ry   r   r#   r3   )r5   r   rE   r9   s       r   Útest_mul_bool_invalidr‰   ¼   s^  € à€EÝ
���¨Ð
.Ñ
.Ô
.€Cà•‚€ÝŒÐ1Ñ2Ô2Ð2Ð2Ø	Œ˜(Ò	"Ð	"ØQˆˆà6ˆå	Œ•y¨Ð	,Ñ	,Ô	,ð ð Ø�‰ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•y¨Ð	,Ñ	,Ô	,ð ð Øˆd‰
ˆ
ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•y¨Ð	,Ñ	,Ô	,ð 8ð 8Ø�bŒhÐ*Ð*Ð*µ$Ð7Ñ7Ô7Ñ7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8å	Œ•y¨Ð	,Ñ	,Ô	,ð 8ð 8Ý
ŒÐ$Ð$Ð$­DÐ1Ñ1Ô1°CÑ7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8sH   Á!A3Á3A7Á:A7ÂB+Â+B/Â2B/Ã!C>Ã>DÄDÄ$!EÅEÅEc                 ó|  — | }|t           k    r5t          j                             d¬¦  «        }|                     |¦  «         t          g d¢|¬¦  «        }t          g d¢|¬¦  «        }||z   }t          g d¢|¬¦  «        }t          j        ||¦  «         |                     |¦  «        }t          j        ||¦  «         | 	                    |¦  «        }t          g d¢|¬¦  «        }t          j        ||¦  «         |                     |d¬	¦  «        }t          g d
¢|¬¦  «        }t          j        ||¦  «         d S )Nz.Need to update expected for numpy object dtyper<   )r&   r,   r-   NNr   )ÚxÚyNÚzN)ÚaxÚbyNNN)ÚxaÚybNNNú-)Ú
fill_value)rŽ   r�   zc-z-zN)
r0   r    r@   rA   rB   r   r$   r4   ÚaddÚradd)r5   rC   r   r@   r&   r,   r'   r(   s           r   Útest_addr–   Ò   sP  € Ø€EØ•‚€ÝŒ{× Ò ØCð !ñ 
ô 
ˆð 	×Ò˜DÑ!Ô!Ð!åÐ*Ð*Ð*°%Ð8Ñ8Ô8€AÝÐ*Ð*Ð*°%Ð8Ñ8Ô8€Aà�‰U€FÝÐ4Ð4Ð4¸EÐBÑBÔB€HÝÔ˜6 8Ñ,Ô,Ð,à�UŠU�1‰XŒX€FÝÔ˜6 8Ñ,Ô,Ð,à�VŠV�A‰YŒY€FÝÐ4Ð4Ð4¸EÐBÑBÔB€HÝÔ˜6 8Ñ,Ô,Ð,à�UŠU�1 ˆUÑ%Ô%€FÝÐ4Ð4Ð4¸EÐBÑBÔB€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                 óü  — | }|t           k    r8d}t          j                             d |¬¦  «        }|                     |¦  «         t          j        g d¢|¬¦  «        }t          j        g d¢gt           ¬¦  «        }t          j        t          d¬¦  «        5  ||z    d d d ¦  «         n# 1 swxY w Y   t          |¦  «        }t          j        t          d¬¦  «        5  ||z    d d d ¦  «         d S # 1 swxY w Y   d S )Nz*Failed: DID NOT RAISE <class 'ValueError'>)rx   r=   r‡   r   z3 != 1r.   )r0   r    r@   rA   rB   r"   r#   r   rx   Ú
ValueErrorr   )r5   rC   r   r=   r@   r&   r,   Úss           r   Útest_add_2drš   í   sx  € Ø€Eà•‚€Ø=ˆÝŒ{× Ò ¨°VÐ Ñ<Ô<ˆØ×Ò˜DÑ!Ô!Ð!å
Œ���¨Ð.Ñ.Ô.€AÝ
Œ�/�/�/Ð"­&Ð1Ñ1Ô1€AÝ	Œ•z¨Ð	2Ñ	2Ô	2ð ð Ø	ˆA‰ˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 	ˆq‰	Œ	€AÝ	Œ•z¨Ð	2Ñ	2Ô	2ð ð Ø	ˆA‰ˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   ÂB)Â)B-Â0B-ÃC1Ã1C5Ã8C5c                 ó€  — | }|t           k    r\|j        dk    rQ|j        t          j        u r>t
          r7|r5t          j                             d¬¦  «        }| 	                    |¦  «         |t          j
        t           ¦  «        k    r7|r5t          j                             d¬¦  «        }| 	                    |¦  «         t          j        g d¢|¬¦  «        }g d¢}||z   }t          j        g d¢|¬¦  «        }t          j        ||¦  «         ||z   }t          j        g d	¢|¬¦  «        }t          j        ||¦  «         d S )
Nr   z‚As of GH#62522, the list gets wrapped with sanitize_array, which casts to a higher-priority StringArray, so we get NotImplemented.r<   zCannot broadcast list)r&   r,   NNr   )r‹   NrŒ   N)rŽ   NNN)r�   NNN)r0   rt   r   r   r   r   r    r@   rA   rB   r   r"   r#   r$   r%   )	r5   rC   Úusing_infer_stringr   r@   r&   rV   r'   r(   s	            r   Útest_add_sequencer�   ÿ   sW  € Ø€Eà•ŠˆØŒM˜XÒ%Ð%ØŒN�bœfÐ$Ð$Ýð %àð %õ Œ{× Ò ðð !ñ 
ô 
ˆð
 	×Ò˜DÑ!Ô!Ð!Ø•”�Ñ Ô Ò Ð Ð%7Ð ÝŒ{× Ò Ð(?Ð Ñ@Ô@ˆØ×Ò˜DÑ!Ô!Ð!å
ŒÐ'Ð'Ð'¨uÐ5Ñ5Ô5€AØ"Ð"Ð"€Eà�‰Y€FÝŒxÐ0Ð0Ð0¸Ð>Ñ>Ô>€HÝÔ# F¨HÑ5Ô5Ð5à�Q‰Y€FÝŒxÐ0Ð0Ð0¸Ð>Ñ>Ô>€HÝÔ# F¨HÑ5Ô5Ð5Ð5Ð5r   c                 ó  — t          j        dg| ¬¦  «        }t          j        t          g| ¬¦  «        }d t          j        t          fD ]6}||z   }t          j        ||¦  «         ||z   }t          j        ||¦  «         Œ7d S )NrŒ   r   )r"   r#   r   r   r   r$   r%   )Ústring_dtype_no_objectrk   r(   Úna_valr'   s        r   Útest_string_add_missing_valuesr¡     s�   € å
Œ(�C�5Ð 6Ð
7Ñ
7Ô
7€CÝŒx�˜Ð$:Ð;Ñ;Ô;€Hà�œ¥Ð$ð :ð :ˆà�v‘ˆÝ
Ô'¨°Ñ9Ô9Ð9ð ˜#‘ˆÝ
Ô'¨°Ñ9Ô9Ð9Ð9ð:ð :r   c                 óÒ   — | }t          j        g d¢|¬¦  «        }|dz  }t          j        g d¢|¬¦  «        }t          j        ||¦  «         d|z  }t          j        ||¦  «         d S )N)r&   r,   Nr   é   )ÚaaÚbbN)r"   r#   r$   r%   )r5   r   r&   r'   r(   s        r   Útest_mulr¦   -  s{   € Ø€EÝ
ŒÐ!Ð!Ð!¨Ð/Ñ/Ô/€AØ�‰U€FÝŒxÐ*Ð*Ð*°%Ð8Ñ8Ô8€HÝÔ# F¨HÑ5Ô5Ð5à�‰U€FÝÔ# F¨HÑ5Ô5Ð5Ð5Ð5r   c                 óf  — | }|t          j        t          ¦  «        k    r5t          j                             d¬¦  «        }|                     |¦  «         t          j        g d¢|¬¦  «        }t          j	        g d¢gt          ¬¦  «        }| 
                    |¦  «        t          u sJ ‚||z   }t          j	        g d¢g¦  «                             |¦  «        }t          j        ||¦  «         ||z   }t          j	        g d¢g¦  «                             |¦  «        }t          j        ||¦  «         d S )NúGH-28527r<   )r&   r,   r-   Údr   )ÚtrŒ   ÚvÚw)Úatr�   ÚcvÚdw)Útar‘   ÚvcÚwd)r   r   r0   r    r@   rA   rB   r"   r#   Ú	DataFramerX   rT   r2   r$   Úassert_frame_equal)r5   rC   r   r@   rk   Údfr'   r(   s           r   Útest_add_stringsr¶   8  s(  € Ø€EØ•”�Ñ Ô Ò Ð ÝŒ{× Ò ¨
Ð Ñ3Ô3ˆØ×Ò˜DÑ!Ô!Ð!Ý
Œ(Ð'Ð'Ð'¨uÐ
5Ñ
5Ô
5€CÝ	ŒÐ+Ð+Ð+Ð,µFÐ	;Ñ	;Ô	;€BØ�;Š;�r‰?Œ?�nÐ,Ð,Ð,Ð,à�2‰X€FÝŒ|Ð5Ð5Ð5Ð6Ñ7Ô7×>Ò>¸uÑEÔE€HÝÔ˜& (Ñ+Ô+Ð+à�#‰X€FÝŒ|Ð5Ð5Ð5Ð6Ñ7Ô7×>Ò>¸uÑEÔE€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   r¨   r<   c                 óˆ  — t          j        ddt          j        t          j        g| ¬¦  «        }t          j        dt          j        dt          j        gg¦  «        }|                     |¦  «        t          u sJ ‚||z   }t          j        dt          j        t          j        t          j        gg¦  «                             | ¦  «        }t          j	        ||¦  «         ||z   }t          j        dt          j        t          j        t          j        gg¦  «                             | ¦  «        }t          j	        ||¦  «         d S )Nr&   r,   r   r‹   rŒ   rŽ   r�   )
r"   r#   r   r   r³   rX   rT   r2   r$   r´   )r   rk   rµ   r'   r(   s        r   Útest_add_framer¸   J  sù   € å
Œ(�C˜�bœf¥b¤fÐ-°UÐ
;Ñ
;Ô
;€CÝ	Œ˜�RœV S­"¬&Ð1Ð2Ñ	3Ô	3€Bà�;Š;�r‰?Œ?�nÐ,Ð,Ð,Ð,à�2‰X€FÝŒ|˜d¥B¤F­B¬FµB´FÐ;Ð<Ñ=Ô=×DÒDÀUÑKÔK€HÝÔ˜& (Ñ+Ô+Ð+à�#‰X€FÝŒ|˜d¥B¤F­B¬FµB´FÐ;Ð<Ñ=Ô=×DÒDÀUÑKÔK€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                 óŒ  ‡‡— |}d| j         › d�Št          j        g d¢|¬¦  «        }dŠ t          |‰¦  «        ‰¦  «        }|t          k    s|j        t          j        u r�t          j        ˆˆfd„|D ¦   «         ¦  «        }| t          j	        k    rd|d<   nd|d<   t          |d¬	¦  «        }t          j        ||                     t          j        ¦  «        ¦  «         d S |j        d
k    rdnd}t          j        ˆˆfd„|D ¦   «         t          ¬¦  «        }t          j        ||¬¦  «        }t          j        ||¦  «         d S )NÚ__©r&   Nr-   r   r&   c                 óB   •— g | ]} t          |‰¦  «        ‰¦  «        ‘ŒS © ©Úgetattr©Ú.0rD   Úop_namerV   s     €€r   ú
<listcomp>z2test_comparison_methods_scalar.<locals>.<listcomp>a  ó.   ø€ ÐIÐIÐI¸tÐ3�W T¨7Ñ3Ô3°EÑ:Ô:ÐIÐIÐIr   Trq   F©Úextract_numpyr   r   rr   c                 óB   •— g | ]} t          |‰¦  «        ‰¦  «        ‘ŒS r½   r¾   rÀ   s     €€r   rÃ   z2test_comparison_methods_scalar.<locals>.<listcomp>j  rÄ   r   )r`   r"   r#   r¿   r0   r   r   r   ÚoperatorÚner
   r$   Úassert_numpy_array_equalr2   Úbool_rt   r%   )	Úcomparison_opr5   r   r&   r'   r(   Úexpected_dtyperÂ   rV   s	          @@r   Útest_comparison_methods_scalarrÎ   Z  s^  øø€ Ø€EØ-�=Ô)Ð-Ð-Ð-€GÝ
ŒÐ!Ð!Ð!¨Ð/Ñ/Ô/€AØ€EØ �W�Q˜Ñ Ô  Ñ'Ô'€FØ•‚€˜%œ.­B¬FÐ2Ð2Ý”8ÐIÐIÐIÐIÐIÀqÐIÑIÔIÑJÔJˆØ�HœKÒ'Ð'ØˆH�Q‰KˆKàˆH�Q‰KÝ˜v°TÐ:Ñ:Ô:ˆÝ
Ô# F¨H¯OªO½B¼HÑ,EÔ,EÑFÔFÐFÐFÐFà/4¬}À	Ò/IÐ/IÐ+Ð+ÈyˆÝ”8ÐIÐIÐIÐIÐIÀqÐIÑIÔIÕQWÐXÑXÔXˆÝ”8˜H¨NÐ;Ñ;Ô;ˆÝ
Ô'¨°Ñ9Ô9Ð9Ð9Ð9r   c                 óX  — |}d| j         › d�}t          j        g d¢|¬¦  «        } t          ||¦  «        t          ¦  «        }|t          j        t          ¦  «        k    s|j        t
          j	        u ret          j        | k    rt          j        g d¢¦  «        }nt          j        g d¢¦  «        }t          |d¬¦  «        }t          j        ||¦  «         d S |j        dk    rd	nd
}t          j        g d¢|¬¦  «        }t          j        ||¦  «         t          j        ||¦  «         d S )Nrº   r»   r   ©TTT©FFFTrÅ   r   r   rr   )NNN)r`   r"   r#   r¿   r   r   r   r0   r   r   rÈ   rÉ   r
   r$   rÊ   rt   r%   )rÌ   r5   r   rÂ   r&   r'   r(   rÍ   s           r   Ú$test_comparison_methods_scalar_pd_narÒ   o  s5  € Ø€EØ-�=Ô)Ð-Ð-Ð-€GÝ
ŒÐ!Ð!Ð!¨Ð/Ñ/Ô/€AØ �W�Q˜Ñ Ô ¥Ñ$Ô$€Fà•”�Ñ Ô Ò Ð  E¤Nµb´fÐ$<Ð$<ÝŒ;˜-Ò'Ð'Ý”xÐ 2Ð 2Ð 2Ñ3Ô3ˆHˆHå”xÐ 5Ð 5Ð 5Ñ6Ô6ˆHÝ˜v°TÐ:Ñ:Ô:ˆÝ
Ô# F¨HÑ5Ô5Ð5Ð5Ð5à/4¬}À	Ò/IÐ/IÐ+Ð+ÈyˆÝ”8Ð.Ð.Ð.°nÐEÑEÔEˆÝ
Ô'¨°Ñ9Ô9Ð9Ý
Ô'¨°Ñ9Ô9Ð9Ð9Ð9r   c                 ó²  — d| j         › d�}|}t          j        g d¢|¬¦  «        }d}|dvrNt          j        t
          d¬¦  «        5   t          ||¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   d S  t          ||¦  «        |¦  «        }t          |d¬	¦  «        }|t          j	        t          ¦  «        k    s|j        t          j        u r:g d
¢g d¢dœ|         }t          j        |¦  «        }t          j        ||¦  «         d S g d¢g d¢dœ|         }|j        dk    rdnd}	t          j        ||	¬¦  «        }t          j        ||¦  «         d S )Nrº   r»   r   é*   )r]   Ú__ne__z(Invalid comparison|not supported betweenr.   TrÅ   rÑ   rÐ   )FNF)TNTr   r   rr   )r`   r"   r#   r    rx   ry   r¿   r
   r   r   r0   r   r   r$   rÊ   rt   r%   )
rÌ   r5   rÂ   r   r&   rV   r'   Úexpected_datar(   rÍ   s
             r   Ú)test_comparison_methods_scalar_not_stringr×   ƒ  sÚ  € Ø-�=Ô)Ð-Ð-Ð-€GØ€Eå
ŒÐ!Ð!Ð!¨Ð/Ñ/Ô/€AØ€EàÐ*Ð*Ð*ÝŒ]�9Ð,VÐWÑWÔWð 	'ð 	'Ø�G�A�wÑÔ Ñ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'ð 	ˆà �W�Q˜Ñ Ô  Ñ'Ô'€FÝ˜6°Ð6Ñ6Ô6€Fà•”�Ñ Ô Ò Ð  E¤Nµb´fÐ$<Ð$<à+Ð+Ð+Ø(Ð(Ð(ð
ð 
ð ôˆõ ”8˜MÑ*Ô*ˆÝ
Ô# F¨HÑ5Ô5Ð5Ð5Ð5à#7Ð#7Ð#7ÐCUÐCUÐCUÐVÐVØô
ˆð 05¬}À	Ò/IÐ/IÐ+Ð+ÈyˆÝ”8˜M°Ð@Ñ@Ô@ˆÝ
Ô'¨°Ñ9Ô9Ð9Ð9Ð9s   ÁA-Á-A1Á4A1c                 ó  — d| j         › d�}|}|}t          j        g d¢|¬¦  «        }t          j        g d¢|¬¦  «        } | ||¦  «        }t          |d¬¦  «        } | ||¦  «        }	t          |	d¬¦  «        }	t	          j        ||	¦  «         |t          k    s|j        t          j	        u r«|t          k    s|j        t          j	        u r�t          j        | k    rt          j        g d¢¦  «        }
n>t          j        g d¢¦  «        }
 t          |d	         |¦  «        |d	         ¦  «        |
d	<   t          |d¬¦  «        }t	          j        ||
¦  «         d S |t          k    r|}n|t          k    r|}nt          ||¦  «        }|j        d
k    rd}nd}t          j        t#          |¦  «        d d¬¦  «        }
 t          |d	         |¦  «        |d	         ¦  «        |
d	<   t          j        |
|¬¦  «        }
t	          j        ||
¦  «         d S )Nrº   r»   r   ©NNr-   TrÅ   ©TTFrÑ   éÿÿÿÿr   rr   rs   r0   ©r“   r   )r`   r"   r#   r
   r$   Úassert_equalr0   r   r   r   rÈ   rÉ   r¿   rÊ   r   rt   ÚfullÚlen)rÌ   r5   Úany_string_dtype2rÂ   r   r   r&   rV   r'   Úresult2r(   Ú	max_dtyperÍ   s                r   Útest_comparison_methods_arrayrã   £  s$  € Ø-�=Ô)Ð-Ð-Ð-€GØ€EØ€Få
ŒÐ!Ð!Ð!¨Ð/Ñ/Ô/€AÝŒHÐ&Ð&Ð&¨fÐ5Ñ5Ô5€EØˆ]˜1˜eÑ$Ô$€FÝ˜6°Ð6Ñ6Ô6€Fð ˆm˜E 1Ñ%Ô%€GÝ˜G°4Ð8Ñ8Ô8€GÝ„O�F˜GÑ$Ô$Ð$à•Šˆ˜5œ>­R¬VÐ3Ð3Ø•&ÒÐ˜FœO­r¬vÐ5Ð5åŒ;˜-Ò'Ð'Ý”xÐ 3Ð 3Ð 3Ñ4Ô4ˆHˆHå”xÐ 5Ð 5Ð 5Ñ6Ô6ˆHØ6�7 5¨¤9¨gÑ6Ô6°q¸´uÑ=Ô=ˆH�R‰LÝ˜v°TÐ:Ñ:Ô:ˆÝ
Ô# F¨HÑ5Ô5Ð5Ð5Ð5ð •FŠ?ˆ?ØˆIˆIØ•vÒÐØˆIˆIå5°e¸VÑDÔDˆIØÔ Ò(Ð(Ø&ˆNˆNà,ˆNå”7�3˜q™6œ6¨d¸(ÐCÑCÔCˆØ2•w˜u Rœy¨'Ñ2Ô2°1°R´5Ñ9Ô9ˆ�‰Ý”8˜H¨NÐ;Ñ;Ô;ˆÝ
Œ˜ Ñ)Ô)Ð)Ð)Ð)r   r   c                 óÎ  — dd l }|}d| j        › d�}t          |                     ¦   «         ¦  «        }t	          j        g d¢|¬¦  «        }t	          j        g d¢|¬¦  «        } | ||¦  «        } | ||¦  «        }	t          j        ||	¦  «         t	          j        g d¢d¬¦  «        }
 t          |d         |¦  «        |d         ¦  «        |
d<   t          j	        ||
¦  «         d S )	Nr   rº   r»   r   rÙ   )NNTrs   rÛ   )
r   r`   r   rz   r"   r#   r$   rÝ   r¿   r%   )rÌ   r5   r{   r   rÂ   r   r&   rV   r'   rá   r(   s              r   Ú-test_comparison_methods_array_arrow_extensionrå   Ï  s  € ð ÐÐÐà€Fà-�=Ô)Ð-Ð-Ð-€GÝ�r—y’y‘{”{Ñ#Ô#€EÝ
ŒÐ!Ð!Ð!¨Ð/Ñ/Ô/€AÝŒHÐ&Ð&Ð&¨fÐ5Ñ5Ô5€EØˆ]˜1˜eÑ$Ô$€Fð ˆm˜E 1Ñ%Ô%€GÝ„O�F˜GÑ$Ô$Ð$åŒxÐ*Ð*Ð*°/ÐBÑBÔB€HØ.•7˜5 œ9 gÑ.Ô.¨q°¬uÑ5Ô5€HˆR�LÝÔ# F¨HÑ5Ô5Ð5Ð5Ð5r   Úboxc                 óf  — |}|t           j        u rS|t          k    rH|j        t          j        u r5t          j                             d¬¦  «        }| 	                    |¦  «         d| j
        › d�} |t          j        g d¢|¬¦  «        ¦  «        }d}g d¢}	 | ||	¦  «        }
 | |	|¦  «        }t          j        |
|¦  «         |t	          j        t          ¦  «        k    s|j        t          j        u r�t          j        | k    rt	          j        g d¢¦  «        }n2t	          j        g d	¢¦  «        } t!          ||¦  «        |¦  «        |d
<   |t           j        ur |||j        ¬¦  «        }t          j        |
|¦  «         d S |j        dk    rdnd}t	          j        t)          |¦  «        d d¬¦  «        } t!          ||¦  «        |¦  «        |d
<   t          j        ||¬¦  «        }t+          |d¬¦  «        }|t           j        urt          j        ||¦  «        }t          j        |
|¦  «         d S )Nz<After wrapping list, op returns NotImplemented, see GH#62522r<   rº   r»   r   r-   rÙ   rÚ   rÑ   rÛ   r   r   rr   r0   rÜ   TrÅ   )r"   r#   r0   r   r   r   r    r@   rA   rB   r`   r$   rÝ   r   rÈ   rÉ   r¿   ÚIndexrt   rÞ   rß   r
   Úbox_expected)rÌ   r5   ræ   rC   r   r@   rÂ   r&   rD   rV   r'   rá   r(   rÍ   s                 r   Útest_comparison_methods_listrê   å  s?  € à€Eà
�bŒh€€˜5¥Fš?˜?¨u¬~ÅÄÐ/GÐ/GÝŒ{× Ò ØQð !ñ 
ô 
ˆð 	×Ò˜DÑ!Ô!Ð!à-�=Ô)Ð-Ð-Ð-€Gàˆ�BŒHÐ%Ð%Ð%¨UÐ3Ñ3Ô3Ñ4Ô4€AØ€DØÐÐ€EØˆ]˜1˜eÑ$Ô$€Fð ˆm˜E 1Ñ%Ô%€GÝ„O�F˜GÑ$Ô$Ð$à•”�Ñ Ô Ò Ð  E¤Nµb´fÐ$<Ð$<ÝŒ;˜-Ò'Ð'Ý”xÐ 3Ð 3Ð 3Ñ4Ô4ˆHˆHå”xÐ 5Ð 5Ð 5Ñ6Ô6ˆHØ1�7 4¨Ñ1Ô1°$Ñ7Ô7ˆH�R‰LØ•b”hÐÐà�s˜8¨8¬>Ð:Ñ:Ô:ˆHÝ
Œ˜ Ñ)Ô)Ð)Ð)Ð)ð 05¬}À	Ò/IÐ/IÐ+Ð+ÈyˆÝ”7�3˜q™6œ6¨d¸(ÐCÑCÔCˆØ-•w˜t WÑ-Ô-¨dÑ3Ô3ˆ�‰Ý”8˜H¨NÐ;Ñ;Ô;ˆÝ  ¸Ð>Ñ>Ô>ˆØ•b”hÐÐå” x°Ñ5Ô5ˆHÝ
Œ˜ Ñ)Ô)Ð)Ð)Ð)r   )4rÈ   Úpathlibr   Únumpyr   r    Úpandas.compatr   Úpandas.errorsr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr"   r   r   r   r	   Úpandas._testingÚ_testingr$   Úpandas.core.constructionr
   r   r)   r:   rF   ro   rv   r…   r‰   r–   rš   r�   r¡   r¦   r¶   r@   rA   r¸   rÎ   rÒ   r×   rã   Ú
skip_if_norå   Úparametrizer#   rè   rê   r½   r   r   ú<module>rù      sŽ  ðØ €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€à %Ð %Ð %Ð %Ð %Ð %Ø (Ð (Ð (Ð (Ð (Ð (Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ð )à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2ð(ð (ð (ð&6ð 6ð 6ð-ð -ð -ð0-ð -ð -ð*$1ð $1ð $1ðN-ð -ð -ð&!ð !ð !ðH8ð 8ð 8ð,-ð -ð -ð6ð ð ð$6ð 6ð 6ð>:ð :ð :ð6ð 6ð 6ð,ð ,ð ,ð$ „×Ò˜*ÐÑ%Ô%ð,ð ,ñ &Ô%ð,ð:ð :ð :ð*:ð :ð :ð(:ð :ð :ð@)*ð )*ð )*ðX €„ˆyÑÔð6ð 6ñ Ôð6ð* „×Ò˜ ¤¨2¬8°VÐ <Ñ=Ô=ð(*ð (*ñ >Ô=ð(*ð (*ð (*r   