Ë
    u™ãjN  ã                   ó,  — 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 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ej>                  jA                  de jB                  e jD                  e jF                  g«      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/ej>                  jA                  dej`                  ejb                  ejd                  g«      d„ «       Z3d„ Z4d „ Z5y)!é    N)ÚPath)ÚHAS_PYARROW)ÚPandas4Warning)Úextract_arrayc                 ó*  — t         r“t        j                  dt        j                  ¬«      t        j                  dt        j                  ¬«      t        j                  dt        j
                  ¬«      t        j                  dt        j
                  ¬«      g}nJt        j                  dt        j                  ¬«      t        j                  dt        j
                  ¬«      g}|j                  | «      }|j                  |«      }|t        ||«         S )NÚpython©Úna_valueÚpyarrow)r   ÚpdÚStringDtypeÚnpÚnanÚNAÚindexÚmax)Údtype1Údtype2ÚDTYPE_HIERARCHYÚh1Úh2s        ún/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/arithmetic/test_string.pyÚstring_dtype_highest_priorityr      s´   € Ýä�N‰N˜8¬b¯f©fÔ5Ü�N‰N˜9¬r¯v©vÔ6Ü�N‰N˜8¬b¯e©eÔ4Ü�N‰N˜9¬r¯u©uÔ5ð	
‰ô �N‰N˜8¬b¯f©fÔ5Ü�N‰N˜8¬b¯e©eÔ4ð
ˆð
 
×	Ñ	˜vÓ	&€BØ	×	Ñ	˜vÓ	&€BØœ3˜r 2›;Ñ'Ð'ó    c                  ó^  — t        j                  d«       t        j                  t        j                  t        j                  gt        j
                  d«      ¬«      } | | k(  }t        j                  t        j                  t        j                  gd¬«      }t        j                  ||«       y )Nr   ©Údtypeúboolean[pyarrow])ÚpytestÚimportorskipr   Úarrayr   r   ÚtmÚassert_extension_array_equal)ÚaÚresultÚexpecteds      r   Útest_eq_all_nar'   #   sk   € Ü
×Ñ˜	Ô"Ü
�‰”"—%‘%œŸ™�¤r§~¡~°iÓ'@ÔA€AØ�!‰V€FÜ�x‰xœŸ™¤§¡˜Ð.@ÔA€HÜ×#Ñ# F¨HÕ5r   c                 óÈ  — | }|t         k(  rd nt        }t        j                  g d¢«      }t        j                  g d¢|¬«      }d}t	        j
                  ||¬«      5  ||z  }d d d «       ||j                  t        «      z  }t	        j                  |«       t	        j
                  ||¬«      5  ||z  }d d d «       ||j                  t        «      z  }t	        j                  ||«       t	        j
                  ||¬«      5  ||z  }d d d «       ||j                  t        «      z  }t	        j                  ||«       y # 1 sw Y   ŒÞxY w# 1 sw Y   Œ—xY w# 1 sw Y   ŒPxY w)N)TFFT)Ú r)   ÚbÚcr   z$operations between boolean dtype and©Úmatch)	Úobjectr   r   ÚSeriesr"   Úassert_produces_warningÚastypeÚboolÚassert_series_equal)Úany_string_dtyper   ÚwarnÚleftÚrightÚmsgr%   r&   s           r   Útest_reversed_logical_opsr9   +   s,  € à€EØœF’?‰4¬€DÜ�9‰9Ò/Ó0€DÜ�I‰IÒ(°Ô6€Eà
0€CÜ	×	#Ñ	# D°Ô	4ñ Ø˜‘ˆ÷à�e—l‘l¤4Ó(Ñ(€HÜ×Ñ˜6 8Ô,ä	×	#Ñ	# D°Ô	4ñ Ø˜‘ˆ÷à�e—l‘l¤4Ó(Ñ(€HÜ×Ñ˜6 8Ô,ä	×	#Ñ	# D°Ô	4ñ Ø˜‘ˆ÷à�e—l‘l¤4Ó(Ñ(€HÜ×Ñ˜6 8Õ,÷ð ú÷
ð ú÷
ð ús$   ÁE Â0EÄEÅ E	ÅEÅE!c                 ó*  — | t         k(  r1t        j                  j                  d¬«      }|j	                  |«       t        d«      }t        j                  ddt        j                  g| ¬«      }||z  }t        j                  |dz  |dz  |j                  j                  gt         ¬«      }t        j                  ||«       ||z  }t        j                  d|z  d|z  |j                  j                  gt         ¬«      }t        j                  ||«       y )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   )r.   r   ÚmarkÚxfailÚapplymarkerr   r   r/   r   r   r
   r"   r3   )r4   Úrequestr?   ÚitemÚserr%   r&   s          r   Útest_pathlib_path_divisionrE   C   sã   € àœ6Ò!Ü�{‰{× Ñ ðKð !ó 
ˆð 	×Ñ˜DÔ!ä�Ó€DÜ
�)‰)�S˜#œrŸu™uÐ%Ð-=Ô
>€Cà�C‰Z€FÜ�y‰y˜$ ™* d¨S¡j°#·)±)×2DÑ2DÐEÌVÔT€HÜ×Ñ˜6 8Ô,à�4‰Z€FÜ�y‰y˜# ™* c¨D¡j°#·)±)×2DÑ2DÐEÌVÔT€HÜ×Ñ˜6 8Õ,r   c           
      óB  ‡—  G ˆfd„d«      Št        j                   ‰d«       ‰d«      gt        ¬«      }t        j                  ddg| ¬«      }t        j                  |«      }||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 ]6  \  }}t        j                  |t        ¬«      }t        j                  ||«       Œ8 y )Nc                   ó8   •— e Zd Zd„ Zˆ fd„Zˆ fd„Zˆ fd„Zd„ Zy)ú3test_arithmetic_custom_object.<locals>.CustomObjectc                 ó   — || _         y ©N©Úval)ÚselfrL   s     r   Ú__init__z<test_arithmetic_custom_object.<locals>.CustomObject.__init__[   s	   € ØˆD�Hr   c                 óR   •— t        |d«      rt        S  ‰| j                  |z   «      S ©Nr   ©ÚhasattrÚNotImplementedrL   ©rM   ÚotherÚCustomObjects     €r   Ú__add__z;test_arithmetic_custom_object.<locals>.CustomObject.__add__^   s'   ø€ Ü�u˜gÔ&Ü%Ð%Ù §¡¨5Ñ 0Ó1Ð1r   c                 óR   •— t        |d«      rt        S  ‰|| j                  z   «      S rP   rQ   rT   s     €r   Ú__radd__z<test_arithmetic_custom_object.<locals>.CustomObject.__radd__c   s'   ø€ Ü�u˜gÔ&Ü%Ð%Ù ¨¯©Ñ 0Ó1Ð1r   c                 óR   •— t        |‰«      xr | j                  |j                  k(  S rJ   )Ú
isinstancerL   rT   s     €r   Ú__eq__z:test_arithmetic_custom_object.<locals>.CustomObject.__eq__h   s"   ø€ Ü˜e \Ó2ÒL°t·x±xÀ5Ç9Á9Ñ7LÐLr   c                 ó"   — d| j                   › d�S )Nz<CustomObject(z)>rK   )rM   s    r   Ú__repr__z<test_arithmetic_custom_object.<locals>.CustomObject.__repr__k   s   € Ø# D§H¡H :¨RÐ0Ð0r   N)Ú__name__Ú
__module__Ú__qualname__rN   rW   rY   r\   r^   )rV   s   €r   rV   rH   Z   s   ø„ ò	ô	2ô
	2ô
	Mó	1r   rV   r$   r*   r   Ú1Ú2r   Ú1aÚ2aÚ2bÚa1Úa2Úb2)r   r!   r.   r   r/   r"   r3   )	r4   ÚarrrD   Úobj_serÚcasesr%   Úexpected_valuesr&   rV   s	           @r   Útest_arithmetic_custom_objectrn   X   s9  ø€ ÷1ó 1ô( �(‰(‘L Ó%¡|°CÓ'8Ð9ÄÔ
H€CÜ
�)‰)�S˜#�JÐ&6Ô
7€CÜ�i‰i˜‹n€Gð 
ˆs�1‰v‰™ TÓ*©L¸Ó,>Ð?Ð@Ø	ˆs‰‘\ $Ó'©°dÓ);Ð<Ð=Ø	ˆw‰™ dÓ+©\¸$Ó-?Ð@ÐAØ	ˆQ‰�#‰™ TÓ*©L¸Ó,>Ð?Ð@Ø	ˆs‰‘\ $Ó'©°dÓ);Ð<Ð=Ø	�3‰™ dÓ+©\¸$Ó-?Ð@ÐAð€Eð $)ò 1Ñˆ�Ü—9‘9˜_´FÔ;ˆÜ
×Ñ˜v xÕ0ñ1r   c                 óê  — | }t        j                  ddg|¬«      }t        j                  ddgt        ¬«      }||k(  }t        j                  ddgt        ¬«      }|t        k(  rny|j                  dk(  r.|j
                  t         j                  u r|j                  d«      }n<|j                  d	k(  r-|j
                  t         j                  u r|j                  d
«      }t        j                  ||«       y )Nr$   r*   r   é   FTr   Úbooleanr   úbool[pyarrow])
r   r/   r.   r2   Ústorager
   r   r1   r"   r3   )r4   r   rD   Úmixedr%   r&   s         r   Útest_mixed_object_comparisonru      s¸   € à€EÜ
�)‰)�S˜#�J eÔ
,€Cä�I‰I�q˜#�h¤fÔ-€Eà�E‰\€FÜ�y‰y˜% ˜¬dÔ3€HØ”‚ØØ	�‰˜(Ò	" u§~¡~¼¿¹Ñ'>Ø—?‘? 9Ó-‰Ø	�‰˜)Ò	#¨¯©¼"¿%¹%Ñ(?Ø—?‘? ?Ó3ˆä×Ñ˜6 8Õ,r   c                  óØ  — t        j                  d«      } t        j                  ddg«      }t        j                  ddgt        j                  t
        j                  ¬«      ¬«      }||k(  }t        j                  d|j                  ¬«      }t        j                  ||«       ||k7  }t        j                  d|j                  ¬«      }t        j                  ||«       t        j                  t        d	¬
«      5  ||kD   d d d «       |j                  d«      }||k(  }t        j                  ||j                  d«      «       ||k7  }t        j                  ||j                  d«      «       t        j                  t        d	¬
«      5  ||kD   d d d «       |j                  t        j                  | j                  «       «      «      }	|	|k(  }
t        j                  |
|j                  d«      «       |	|k7  }t        j                  ||j                  d«      «       t        j                  t        d	¬
«      5  ||	kD   d d d «       y # 1 sw Y   �ŒHxY w# 1 sw Y   ŒÆxY w# 1 sw Y   y xY w)Nr   FTr$   r*   r	   r   )r   úInvalid comparisonr,   zstring[pyarrow]rr   )r   r    r   r/   r   r   r   r   r"   r3   ÚraisesÚ	TypeErrorr1   Ú
ArrowDtypeÚstring)ÚparD   Úser2r%   Úexpected_eqÚexpected_neÚser3Ú
result3_eqÚ
result3_neÚser4Ú
result4_eqÚ
result4_nes               r   Ú!test_pyarrow_numpy_string_invalidr†   ’   så  € ä	×	Ñ	˜YÓ	'€BÜ
�)‰)�U˜D�MÓ
"€CÜ�9‰9�c˜3�Z¤r§~¡~¼r¿v¹vÔ'FÔG€DØ�D‰[€FÜ—)‘)˜E¨¯©Ô3€KÜ×Ñ˜6 ;Ô/à�D‰[€FÜ—)‘)˜D¨¯	©	Ô2€KÜ×Ñ˜6 ;Ô/ä	�‰”yÐ(<Ô	=ñ ØˆdŠ
÷ð �;‰;Ð(Ó)€DØ˜‘€JÜ×Ñ˜: {×'9Ñ'9¸/Ó'JÔKØ˜‘€JÜ×Ñ˜: {×'9Ñ'9¸/Ó'JÔKä	�‰”yÐ(<Ô	=ñ ØˆdŠ
÷ð �;‰;”r—}‘} R§Y¡Y£[Ó1Ó2€DØ˜‘€JÜ×Ñ˜: {×'9Ñ'9¸/Ó'JÔKØ˜‘€JÜ×Ñ˜: {×'9Ñ'9¸/Ó'JÔKä	�‰”yÐ(<Ô	=ñ ØˆdŠ
÷ð ÷'ñ ú÷ð ú÷ð ús$   Ã;IÆ	IÈ8I ÉIÉIÉ I)c                 ó´  — | }t        j                  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 «       t        j                  t        |¬«      5  |d	z   d d d «       t        j                  t        |¬«      5  |t        j                  g d
¢t        ¬«      z   d d d «       t        j                  t        |¬«      5  t        j                  g d
¢t        ¬«      |z   d d d «       y # 1 sw Y   Œ»xY w# 1 sw Y   ŒžxY w# 1 sw Y   ŒfxY w# 1 sw Y   y xY w)N©r$   r*   r+   r   zThis is not expected to raiser   zACannot multiply StringArray by bools. Explicitly cast to integersz&Can only string multiply by an integerr,   FT)TFT)r   r/   r.   r   Úskiprs   rx   ry   r   r!   r2   )r4   r   rD   r8   s       r   Útest_mul_bool_invalidrŠ   ¶   s  € à€EÜ
�)‰)’O¨5Ô
1€Cà”‚Ü�‰Ð3Õ4Ø	�‰˜(Ò	"ØQ‰à6ˆä	�‰”y¨Ô	,ñ Ø�Š÷ä	�‰”y¨Ô	,ñ ØˆdŠ
÷ä	�‰”y¨Ô	,ñ 8ØŒb�h‰hÒ*´$Ô7Ò7÷8ä	�‰”y¨Ô	,ñ 8Ü
�‰Ò$¬DÔ1°CÒ7÷8ð 8÷ð ú÷ð ú÷8ð 8ú÷8ð 8ús0   Á*D*ÂD6Â<!EÄ !EÄ*D3Ä6D?ÅEÅEc                 óš  — | }|t         k(  r1t        j                  j                  d¬«      }|j	                  |«       t        j                  g d¢|¬«      }t        j                  g d¢|¬«      }||z   }t        j                  g d¢|¬«      }t        j                  ||«       |j                  |«      }t        j                  ||«       |j                  |«      }t        j                  g d¢|¬«      }t        j                  ||«       |j                  |d¬	«      }t        j                  g d
¢|¬«      }t        j                  ||«       y )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)r.   r   r?   r@   rA   r   r/   r"   r3   ÚaddÚradd)r4   rB   r   r?   r$   r*   r%   r&   s           r   Útest_addr—   Ì   s  € Ø€EØ”‚Ü�{‰{× Ñ ØCð !ó 
ˆð 	×Ñ˜DÔ!ä
�	‰	Ò-°UÔ;€AÜ
�	‰	Ò-°UÔ;€Aà�‰U€FÜ�y‰yÒ7¸uÔE€HÜ×Ñ˜6 8Ô,à�U‰U�1‹X€FÜ×Ñ˜6 8Ô,à�V‰V�A‹Y€FÜ�y‰yÒ7¸uÔE€HÜ×Ñ˜6 8Ô,à�U‰U�1 ˆUÓ%€FÜ�y‰yÒ7¸uÔE€HÜ×Ñ˜6 8Õ,r   c                 óî  — | }|t         k(  r4d}t        j                  j                  d |¬«      }|j	                  |«       t        j                  g d¢|¬«      }t        j                  g d¢gt         ¬«      }t        j                  t        d¬«      5  ||z    d d d «       t        j                  |«      }t        j                  t        d¬«      5  ||z    d d d «       y # 1 sw Y   ŒHxY w# 1 sw Y   y xY w)Nz3Failed: DID NOT RAISE <class 'NotImplementedError'>©rx   r<   rˆ   r   úcan only perform ops with 1-dr,   )r.   r   r?   r@   rA   r   r!   r   rx   ÚNotImplementedErrorr/   )r4   rB   r   r<   r?   r$   r*   Úss           r   Útest_add_2dr�   ç   sË   € Ø€Eà”‚ØFˆÜ�{‰{× Ñ ¨°VÐ Ó<ˆØ×Ñ˜DÔ!ô 	�‰’¨Ô.€AÜ
�‰’/Ð"¬&Ô1€AÜ	�‰Ô*Ð2QÔ	Rñ Ø	ˆAŠ÷ô 	�	‰	�!‹€AÜ	�‰Ô*Ð2QÔ	Rñ Ø	ˆAŠ÷ð ÷	ð ú÷ð ús   ÂCÃC+ÃC(Ã+C4Úopc                 ó   — | }|t         k(  r8d}t        j                  j                  t        |¬«      }|j                  |«       t        j                  ddg|¬«      }t        j                  ddgddgg«      }t        j                  t        d¬	«      5   |||«       d d d «       t        j                  |«      }t        j                  t        d¬	«      5   |||«       d d d «       y # 1 sw Y   ŒLxY w# 1 sw Y   y xY w)
Nz8object dtype has no string-vs-bool arm; raises TypeErrorr™   r$   r*   r   TFrš   r,   )r.   r   r?   r@   ry   rA   r   r!   r   rx   r›   r/   )	r4   rž   rB   r   r<   r?   r$   rU   rœ   s	            r   Útest_logical_2dr    û   sÛ   € ð €Eà”‚ØKˆÜ�{‰{× Ñ ¬	¸&Ð ÓAˆØ×Ñ˜DÔ!ä
�‰�#�s� 5Ô)€AÜ�H‰H�t˜U�m d¨E ]Ð3Ó4€EÜ	�‰Ô*Ð2QÔ	Rñ Ù
ˆ5�!Œ÷ô 	�	‰	�!‹€AÜ	�‰Ô*Ð2QÔ	Rñ Ù
ˆ5�!Œ÷ð ÷	ð ú÷ð ús   Â
C(Ã
C4Ã(C1Ã4C=c                 óŠ  — | }|t         k7  rd|j                  dk(  rU|j                  t        j                  u r9t
        r3|r1t        j                  j                  d¬«      }|j                  |«       |t        j                  t         «      k(  r3|r1t        j                  j                  d¬«      }|j                  |«       t        j                  g d¢|¬«      }g d¢}||z   }t        j                  g d¢|¬«      }t        j                  ||«       ||z   }t        j                  g d	¢|¬«      }t        j                  ||«       y )
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)r.   rs   r
   r   r   r   r   r?   r@   rA   r   r   r!   r"   r#   )	r4   rB   Úusing_infer_stringr   r?   r$   rU   r%   r&   s	            r   Útest_add_sequencer£     s  € Ø€Eà”ŠØ�M‰M˜XÒ%Ø�N‰NœbŸf™fÑ$ÝÙä�{‰{× Ñ ðð !ó 
ˆð
 	×Ñ˜DÔ!Ø”—‘œÓ Ò Ñ%7Ü�{‰{× Ñ Ð(?Ð Ó@ˆØ×Ñ˜DÔ!ä
�‰Ò'¨uÔ5€AÚ"€Eà�‰Y€FÜ�x‰xÒ0¸Ô>€HÜ×#Ñ# F¨HÔ5à�Q‰Y€FÜ�x‰xÒ0¸Ô>€HÜ×#Ñ# F¨HÕ5r   c                 ó8  — t        j                  dg| ¬«      }t        j                  t         j                  g| ¬«      }d t        j                  t         j                  fD ]8  }||z   }t        j                  ||«       ||z   }t        j                  ||«       Œ: y )Nr�   r   )r   r!   r   r   r   r"   r#   )Ústring_dtype_no_objectrj   r&   Úna_valr%   s        r   Útest_string_add_missing_valuesr§   /  s~   € ä
�(‰(�C�5Ð 6Ô
7€CÜ�x‰xœŸ™˜Ð'=Ô>€HàœŸ™¤§¡Ð'ò :ˆà�v‘ˆÜ
×'Ñ'¨°Ô9ð ˜#‘ˆÜ
×'Ñ'¨°Õ9ñ:r   c                 óØ   — | }t        j                  g d¢|¬«      }|dz  }t        j                  g d¢|¬«      }t        j                  ||«       d|z  }t        j                  ||«       y )N)r$   r*   Nr   é   )ÚaaÚbbN)r   r!   r"   r#   )r4   r   r$   r%   r&   s        r   Útest_mulr¬   >  s[   € Ø€EÜ
�‰Ò!¨Ô/€AØ�‰U€FÜ�x‰xÒ*°%Ô8€HÜ×#Ñ# F¨HÔ5à�‰U€FÜ×#Ñ# F¨HÕ5r   c                 ó°  — | }t        j                  g d¢|¬«      }t        j                  g d¢gt        ¬«      }|j	                  |«      t
        u sJ ‚||z   }t        j                  g d¢g«      j                  |«      }t        j                  ||«       ||z   }t        j                  g d¢g«      j                  |«      }t        j                  ||«       y )N)r$   r*   r+   Údr   )Útr�   ÚvÚw)Úatr�   ÚcvÚdw)Útar’   ÚvcÚwd)	r   r!   Ú	DataFramer.   rW   rS   r1   r"   Úassert_frame_equal©r4   r   rj   Údfr%   r&   s         r   Útest_add_stringsr¼   I  s®   € Ø€EÜ
�(‰(Ò'¨uÔ
5€CÜ	�‰Ò+Ð,´FÔ	;€BØ�;‰;�r‹?œnÑ,Ð,Ð,à�2‰X€FÜ�|‰|Ò5Ð6Ó7×>Ñ>¸uÓE€HÜ×Ñ˜& (Ô+à�#‰X€FÜ�|‰|Ò5Ð6Ó7×>Ñ>¸uÓE€HÜ×Ñ˜& (Õ+r   c                 óÐ  — | }t        j                  ddt        j                  t        j                  g|¬«      }t        j                  dt        j                  dt        j                  gg|¬«      }|j                  |«      t        u sJ ‚||z   }t        j                  dt        j                  t        j                  t        j                  gg«      j                  |«      }t        j                  ||«       ||z   }t        j                  dt        j                  t        j                  t        j                  gg«      j                  |«      }t        j                  ||«       y )Nr$   r*   r   rŒ   r�   r�   r‘   )
r   r!   r   r   r¸   rW   rS   r1   r"   r¹   rº   s         r   Útest_add_framer¾   X  sö   € Ø€Eä
�(‰(�C˜œbŸf™f¤b§f¡fÐ-°UÔ
;€CÜ	�‰˜œRŸV™V S¬"¯&©&Ð1Ð2¸%Ô	@€BØ�;‰;�r‹?œnÑ,Ð,Ð,à�2‰X€FÜ�|‰|˜d¤B§F¡F¬B¯F©F´B·F±FÐ;Ð<Ó=×DÑDÀUÓK€HÜ×Ñ˜& (Ô+à�#‰X€FÜ�|‰|˜d¤B§F¡F¬B¯F©F´B·F±FÐ;Ð<Ó=×DÑDÀUÓK€HÜ×Ñ˜& (Õ+r   c           
      óö  — |}d| j                   › d�}t        j                  g d¢|¬«      }d} t        ||«      |«      }|t        k(  s|j
                  t        j                  u r’t        j                  |D �cg c]  } t        ||«      |«      ‘Œ c}«      }| t        j                  k(  rd|d<   nd|d<   t        |d¬«      }t        j                  ||j                  t        j                  «      «       y |j                  d	k(  rd
nd}	t        j                  |D �cg c]  } t        ||«      |«      ‘Œ c}t        ¬«      }t        j                  ||	¬«      }t        j                   ||«       y c c}w c c}w )NÚ__©r$   Nr+   r   r$   Trp   F©Úextract_numpyr   r   rq   )r_   r   r!   Úgetattrr.   r
   r   r   ÚoperatorÚner   r"   Úassert_numpy_array_equalr1   Úbool_rs   r#   )
Úcomparison_opr4   r   Úop_namer$   rU   r%   rC   r&   Úexpected_dtypes
             r   Útest_comparison_methods_scalarrÌ   h  s4  € Ø€EØ�=×)Ñ)Ð*¨"Ð-€GÜ
�‰Ò!¨Ô/€AØ€EØ ŒW�Q˜Ó  Ó'€FØ”‚˜%Ÿ.™.¬B¯F©FÑ2Ü—8‘8ÀqÖI¸tÐ3œW T¨7Ó3°EÕ:ÒIÓJˆØœHŸK™KÒ'ØˆH�QŠKàˆH�Q‰KÜ˜v°TÔ:ˆÜ
×#Ñ# F¨H¯O©O¼B¿H¹HÓ,EÕFà/4¯}©}À	Ò/IÑ+ÈyˆÜ—8‘8ÀqÖI¸tÐ3œW T¨7Ó3°EÕ:ÒIÔQWÔXˆÜ—8‘8˜H¨NÔ;ˆÜ
×'Ñ'¨°Õ9ùò Jùò Js   Á8E1ÄE6c                 ó†  — |}d| j                   › d�}t        j                  g d¢|¬«      } t        ||«      t        j                  «      }|t        j                  t        «      k(  s|j                  t
        j                  u rft        j                  | k(  rt        j                  g d¢«      }nt        j                  g d¢«      }t        |d¬«      }t        j                  ||«       y |j                  dk(  rd	nd
}t        j                  g d¢|¬«      }t        j                   ||«       t        j                   ||«       y )NrÀ   rÁ   r   ©TTT©FFFTrÂ   r   r   rq   )NNN)r_   r   r!   rÄ   r   r   r   r.   r
   r   rÅ   rÆ   r   r"   rÇ   rs   r#   )rÉ   r4   r   rÊ   r$   r%   r&   rË   s           r   Ú$test_comparison_methods_scalar_pd_narÐ   }  sî   € Ø€EØ�=×)Ñ)Ð*¨"Ð-€GÜ
�‰Ò!¨Ô/€AØ ŒW�Q˜Ó ¤§¡Ó'€Fà”—‘œÓ Ò  E§N¡N´b·f±fÑ$<Ü�;‰;˜-Ò'Ü—x‘xÒ 2Ó3‰Hä—x‘xÒ 5Ó6ˆHÜ˜v°TÔ:ˆÜ
×#Ñ# F¨HÕ5à/4¯}©}À	Ò/IÑ+ÈyˆÜ—8‘8Ò.°nÔEˆÜ
×'Ñ'¨°Ô9Ü
×'Ñ'¨°Õ9r   c                 óÈ  — d| j                   › d�}|}t        j                  g d¢|¬«      }d}|dvrJdj                  ddg«      }t	        j
                  t        |¬	«      5   t        ||«      |«       d d d «       y  t        ||«      |«      }t        |d
¬«      }|t        j                  t        «      k(  s|j                  t        j                  u r8g d¢g d¢dœ|   }t        j                  |«      }	t        j                  ||	«       y g d¢g d¢dœ|   }|j                   dk(  rdnd}
t        j                  ||
¬«      }	t        j"                  ||	«       y # 1 sw Y   y xY w)NrÀ   rÁ   r   é*   )r\   Ú__ne__ú|rw   znot supported betweenr,   TrÂ   rÏ   rÎ   )FNF)TNTr   r   rq   )r_   r   r!   Újoinr   rx   ry   rÄ   r   r   r   r.   r
   r   r"   rÇ   rs   r#   )rÉ   r4   rÊ   r   r$   rU   r8   r%   Úexpected_datar&   rË   s              r   Ú)test_comparison_methods_scalar_not_stringr×   ‘  sG  € Ø�=×)Ñ)Ð*¨"Ð-€GØ€Eä
�‰Ò!¨Ô/€AØ€EàÐ*Ñ*Ø�h‰hÐ,Ð.EÐFÓGˆÜ�]‰]œ9¨CÔ0ñ 	'ØŒG�A�wÓ Ô&÷	'ð 	à ŒW�Q˜Ó  Ó'€FÜ˜6°Ô6€Fà”—‘œÓ Ò  E§N¡N´b·f±fÑ$<â+Ú(ñ
ð ñˆô —8‘8˜MÓ*ˆÜ
×#Ñ# F¨HÕ5â#7ÒCUÑVØñ
ˆð 05¯}©}À	Ò/IÑ+ÈyˆÜ—8‘8˜M°Ô@ˆÜ
×'Ñ'¨°Õ9÷+	'ð 	ús   Á EÅE!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¢«      }
n2t        j                  g d¢«      }
 t        |d	   |«      |d	   «      |
d	<   t        |d¬«      }t	        j                  ||
«       y |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
                  ||
«       y )NrÀ   rÁ   r   ©NNr+   TrÂ   ©TTFrÏ   éÿÿÿÿr   rq   rr   r.   ©r”   r   )r_   r   r!   r   r"   Úassert_equalr.   r
   r   r   rÅ   rÆ   rÄ   rÇ   r   rs   ÚfullÚlen)rÉ   r4   Úany_string_dtype2rÊ   r   r   r$   rU   r%   Úresult2r&   Ú	max_dtyperË   s                r   Útest_comparison_methods_arrayrã   ²  s§  € Ø�=×)Ñ)Ð*¨"Ð-€GØ€EØ€Fä
�‰Ò!¨Ô/€AÜ�H‰HÒ&¨fÔ5€EÙ˜1˜eÓ$€FÜ˜6°Ô6€Fñ ˜E 1Ó%€GÜ˜G°4Ô8€GÜ‡O�O�F˜GÔ$à”Š˜5Ÿ>™>¬R¯V©VÑ3Ø”&Ò˜FŸO™O¬r¯v©vÑ5ä�;‰;˜-Ò'Ü—x‘xÒ 3Ó4‰Hä—x‘xÒ 5Ó6ˆHØ6œ7 5¨¡9¨gÓ6°q¸±uÓ=ˆH�R‰LÜ˜v°TÔ:ˆÜ
×#Ñ# F¨HÕ5ð ”FŠ?Ø‰IØ”vÒØ‰Iä5°e¸VÓDˆIØ×Ñ Ò(Ø&‰Nà,ˆNä—7‘7œ3˜q›6¨d¸(ÔCˆØ2”w˜u R™y¨'Ó2°1°R±5Ó9ˆ�‰Ü—8‘8˜H¨NÔ;ˆÜ
�‰˜ Õ)r   r   c                 ó¾  — dd l }|}d| j                  › d�}t        j                  |j	                  «       «      }t        j
                  g d¢|¬«      }t        j
                  g d¢|¬«      } | ||«      } | ||«      }	t        j                  ||	«       t        j
                  g d¢d¬«      }
 t        |d   |«      |d   «      |
d<   t        j                  ||
«       y )	Nr   rÀ   rÁ   r   rÙ   )NNTrr   rÛ   )
r   r_   r   rz   r{   r!   r"   rÝ   rÄ   r#   )rÉ   r4   r|   r   rÊ   r   r$   rU   r%   rá   r&   s              r   Ú-test_comparison_methods_array_arrow_extensionrå   Þ  s¿   € ó à€Fà�=×)Ñ)Ð*¨"Ð-€GÜ�M‰M˜"Ÿ)™)›+Ó&€EÜ
�‰Ò!¨Ô/€AÜ�H‰HÒ&¨fÔ5€EÙ˜1˜eÓ$€Fñ ˜E 1Ó%€GÜ‡O�O�F˜GÔ$ä�x‰xÒ*°/ÔB€HØ.”7˜5 ™9 gÓ.¨q°©uÓ5€HˆR�LÜ×#Ñ# F¨HÕ5r   Úboxc                 ó€  — |}|t         j                  u rV|t        k7  rM|j                  t        j
                  u r1t        j                  j                  d¬«      }|j                  |«       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¢«      }n,t	        j                  g d	¢«      } t!        ||«      |«      |d
<   |t         j"                  ur |||j                  ¬«      }t        j                  |
|«       y |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                  |
|«       y )Nz<After wrapping list, op returns NotImplemented, see GH#62522r;   rÀ   rÁ   r   r+   rÙ   rÚ   rÏ   rÛ   r   r   rq   r.   rÜ   TrÂ   )r   r!   r.   r
   r   r   r   r?   r@   rA   r_   r"   rÝ   r   rÅ   rÆ   rÄ   ÚIndexrs   rÞ   rß   r   Úbox_expected)rÉ   r4   ræ   rB   r   r?   rÊ   r$   rC   rU   r%   rá   r&   rË   s                 r   Útest_comparison_methods_listrê   ô  sÃ  € à€Eà
Œb�h‰h�˜5¤Fš?¨u¯~©~ÄÇÁÑ/GÜ�{‰{× Ñ ØQð !ó 
ˆð 	×Ñ˜DÔ!à�=×)Ñ)Ð*¨"Ð-€GáŒB�H‰HÒ%¨UÔ3Ó4€AØ€DÚ€EÙ˜1˜eÓ$€Fñ ˜E 1Ó%€GÜ‡O�O�F˜GÔ$à”—‘œÓ Ò  E§N¡N´b·f±fÑ$<Ü�;‰;˜-Ò'Ü—x‘xÒ 3Ó4‰Hä—x‘xÒ 5Ó6ˆHØ1œ7 4¨Ó1°$Ó7ˆH�R‰LØ”b—h‘hÑá˜8¨8¯>©>Ô:ˆHÜ
�‰˜ Õ)ð 05¯}©}À	Ò/IÑ+ÈyˆÜ—7‘7œ3˜q›6¨d¸(ÔCˆØ-”w˜t WÓ-¨dÓ3ˆ�‰Ü—8‘8˜H¨NÔ;ˆÜ  ¸Ô>ˆØ”b—h‘hÑä—‘ x°Ó5ˆHÜ
�‰˜ Õ)r   c                 óJ  — t        j                  ddg| ¬«      }|j                  d d }t        j                  |dz   |dz   j                  d d «       t        j                  ||z   ||z   j                  d d «       t        j                  |dz  |dz  j                  d d «       y )Nr$   r*   r   r   rŒ   r©   ©r   r/   Úilocr"   r3   )r4   rD   Úemptys      r   Ú test_add_length_zero_keeps_dtyperï      s•   € ô �)‰)�S˜#�JÐ&6Ô
7€CØ�H‰H�R�aˆL€Eä×Ñ˜5 3™;¨¨s©×(8Ñ(8¸¸!Ð(<Ô=Ü×Ñ˜5 5™=¨3°©9×*:Ñ*:¸2¸AÐ*>Ô?Ü×Ñ˜5 1™9 s¨Q¡w§n¡n°R°aÐ&8Õ9r   c                 óò   — t        j                  ddg| ¬«      }t        j                  ddg|¬«      }|j                  d d |j                  d d z   }t        j                  |||z   j                  d d «       y )Nr$   r*   r   r+   r®   r   rì   )r4   rà   r6   r7   r%   s        r   Ú"test_add_length_zero_mixed_storagerñ   +  sm   € ô �9‰9�c˜3�ZÐ'7Ô8€DÜ�I‰I�s˜C�jÐ(9Ô:€Eà�Y‰Y�r˜ˆ]˜UŸZ™Z¨¨˜^Ñ+€FÜ×Ñ˜6 D¨5¡L×#6Ñ#6°r¸Ð#:Õ;r   )6rÅ   Úpathlibr   Únumpyr   r   Úpandas.compatr   Úpandas.errorsr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr   Úpandas._testingÚ_testingr"   Úpandas.core.constructionr   r   r'   r9   rE   rn   ru   r†   rŠ   r—   r�   r?   ÚparametrizeÚor_Úand_Úxorr    r£   r§   r¬   r¼   r¾   rÌ   rÐ   r×   rã   Ú
skip_if_norå   r!   rè   r/   rê   rï   rñ   © r   r   ú<module>r     s%  ðÛ Ý ã Û å %Ý (ß )Ð )ã Ý Ý 2ò(ò&6ò-ò0-ò*$1òN-ò&!òH8ò,-ò6ð( ‡�×Ñ˜ §¡¨h¯m©m¸X¿\¹\ÐJÓKñó Lðò(6ò>:ò6ò,ò,ò :ò*:ò(:òB)*ðX €‡�ˆyÓñ6ó ð6ð* ‡�×Ñ˜ §¡¨2¯8©8°R·Y±YÐ ?Ó@ñ(*ó Að(*òV:ó<r   