Ë
    u™ãjq?  ã                  ó  — 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Z	d dl
mZ d dlmZ d dlmZmZmZmZ ej(                  d„ «       Zej(                  d„ «       Zej(                  d„ «       Zej(                  d	„ «       Zej(                  d
„ «       Zej(                  d„ «       Zej(                  d„ «       Zej(                  d„ «       Z G d„ dej:                  «      Zd„ Zd„ Z d„ Z!d„ Z"d„ Z# G d„ de«      Z$ G d„ de$«      Z%e%jM                  «        d„ Z'ejP                  jS                  ddg d¢g d¢fdg d¢g d ¢fg«      d!„ «       Z*d"„ Z+d#„ Z,d$„ Z-d%„ Z.d&„ Z/d'„ Z0d(„ Z1d)„ Z2d*„ Z3d+„ Z4d,„ Z5ejP                  jS                  d-ddg«      d.„ «       Z6y)/é    )ÚannotationsN)ÚPandas4Warning)Úbase)ÚDecimalArrayÚDecimalDtypeÚ	make_dataÚ
to_decimalc                 ó   — t        «       S ©N)r   © ó    úv/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/extension/decimal/test_decimal.pyÚdtyper      s
   € ä‹>Ðr   c                 ó*   — t        t        d«      «      S )Né
   )r   r   r   r   r   Údatar      s   € äœ	 "›Ó&Ð&r   c                 óv   — t        t        d«      D � cg c]  } t        j                  d«      ‘Œ c} «      S c c} w )Nr   é   )r   ÚrangeÚdecimalÚDecimal)Ú_s    r   Údata_for_twosr      s(   € ä´U¸2³YÖ?°œŸ™¨Õ+Ò?Ó@Ð@ùÒ?s   “6c                 óh   — t        t        j                  d«      t        j                  d«      g«      S )NÚNaNé   ©r   r   r   r   r   r   Údata_missingr   $   s$   € äœŸ™¨Ó/´·±ÀÓ1CÐDÓEÐEr   c                 ó�   — t        t        j                  d«      t        j                  d«      t        j                  d«      g«      S )NÚ1Ú2Ú0r   r   r   r   Údata_for_sortingr#   )   s4   € äÜ	�‰˜Ó	œwŸ™¨sÓ3´W·_±_ÀSÓ5IÐJóð r   c                 ó�   — t        t        j                  d«      t        j                  d«      t        j                  d«      g«      S )Nr    r   r"   r   r   r   r   Údata_missing_for_sortingr%   0   s4   € äÜ	�‰˜Ó	œwŸ™¨uÓ5´w·±ÀsÓ7KÐLóð r   c                 ó   — d„ S )Nc                óF   — | j                  «       xr |j                  «       S r   )Úis_nan)ÚxÚys     r   ú<lambda>zna_cmp.<locals>.<lambda>9   s   € ˜Ÿ™›
Ò1 q§x¡x£z€ r   r   r   r   r   Úna_cmpr,   7   s   € á1Ð1r   c            
     óÐ   — t        j                  d«      } t        j                  d«      }t        j                  d«      }t        j                  d«      }t        | | ||||| |g«      S )Nú1.0z0.0ú2.0r   )r   r   r   )ÚbÚaÚcÚnas       r   Údata_for_groupingr4   <   sV   € ä�‰˜Ó€AÜ�‰˜Ó€AÜ�‰˜Ó€AÜ	�‰˜Ó	€BÜ˜˜A˜r 2 q¨!¨Q°Ð2Ó3Ð3r   c                  óª  ‡ — e Zd Zdd„Z	 	 	 	 dd„Zdd„Zdˆ fd„Zˆ fd„Zˆ fd„Zd„ Z	d„ Z
ˆ fd	„Zˆ fd
„Zˆ fd„Zˆ fd„Zˆ fd„Zd„ Zej$                  j'                  d¬«      ej$                  j)                  dej,                  ej.                  ej0                  g«      ˆ fd„«       «       Zej$                  j'                  ed¬«      ˆ fd„«       Zˆ xZS )ÚTestDecimalArrayc                 ó   — y)NFr   )Úselfr   s     r   Ú_honors_copy_keywordz%TestDecimalArray._honors_copy_keywordF   s   € Ør   c                 ó   — y r   r   )r8   Úop_nameÚobjÚothers       r   Ú_get_expected_exceptionz(TestDecimalArray._get_expected_exceptionI   s   € ð r   c                ó   — |dv ryy)N)ÚkurtÚsemFTr   )r8   Úserr;   s      r   Ú_supports_reductionz$TestDecimalArray._supports_reductionN   s   € Ø�oÑ%ØØr   c                óÌ   •— |dk(  rt         ‰| �  |||«      S  t        ||«      |¬«      } t        t        j                  |«      |«      «       }t        j                  ||«       y )NÚcount)Úskipna)ÚsuperÚcheck_reduceÚgetattrÚnpÚasarrayÚtmÚassert_almost_equal)r8   rB   r;   rF   ÚresultÚexpectedÚ	__class__s         €r   rH   zTestDecimalArray.check_reduceS   s[   ø€ Ø�gÒÜ‘7Ñ'¨¨W°fÓ=Ð=à*”W˜S 'Ó*°&Ô9ˆFØ8”wœrŸz™z¨#›°Ó8Ó:ˆHÜ×"Ñ" 6¨8Õ4r   c                óš   •— |dv r5t         j                  j                  t        ¬«      }|j	                  |«       t
        ‰| �  |||«       y )N)r@   ÚskewrA   Úmedian©Úraises)ÚpytestÚmarkÚxfailÚNotImplementedErrorÚapplymarkerrG   Útest_reduce_series_numeric)r8   r   Úall_numeric_reductionsrF   ÚrequestrW   rP   s         €r   r[   z+TestDecimalArray.test_reduce_series_numeric[   sD   ø€ Ø!Ð%FÑFÜ—;‘;×$Ñ$Ô,?Ð$Ó@ˆDØ×Ñ Ô%Ü‰Ñ*¨4Ð1GÈÕPr   c                óœ   •— |}|dv r5t         j                  j                  t        ¬«      }|j	                  |«       t
        ‰| �  |||«      S )N)rR   rS   rT   )rV   rW   rX   rY   rZ   rG   Útest_reduce_frame)r8   r   r\   rF   r]   r;   rW   rP   s          €r   r_   z"TestDecimalArray.test_reduce_framea   sL   ø€ Ø(ˆØÐ(Ñ(Ü—;‘;×$Ñ$Ô,?Ð$Ó@ˆDØ×Ñ Ô%ä‰wÑ(¨Ð/EÀvÓNÐNr   c           
     óZ  — t        j                  |«      }t        j                  j	                  d«      j                  g d¢t        |«      «      }t        j                  |«      |D �cg c]!  }t        j                  t        d|«      «      ‘Œ# c}z  }| j                  ||||«       y c c}w )Nr   )éÿÿÿÿr   r   g       @)ÚpdÚSeriesrJ   ÚrandomÚdefault_rngÚchoiceÚlenr   r   ÚpowÚ_compare_other)r8   r   Úcomparison_oprB   ÚalterÚir=   s          r   Útest_compare_arrayz#TestDecimalArray.test_compare_arrayi   sz   € Ü�i‰i˜‹oˆä—	‘	×%Ñ% aÓ(×/Ñ/²
¼CÀ»IÓFˆä—	‘	˜$“ÈÖ"OÀA¤7§?¡?´3°s¸A³;Õ#?Ò"OÑOˆØ×Ñ˜C  }°eÕ<ùò #Ps   Á(&B(c           	     óÄ  — |}t        j                  |«      }t        j                  «       }|j                  t        j
                     }|j                  t        j                     }d|j                  t        j
                  <   d|j                  t        j                  <   t        j                  |D �cg c]  }t        |dz  «      ‘Œ c}«      }	| j                  |||	«       d|vr| j                  |||dz  «       | j                  ||d«       | j                  ||d«       ||j                  t        j
                  <   ||j                  t        j                  <   y c c}w )Nr   éd   Úmodr   é   )	rb   rc   r   Ú
getcontextÚtrapsÚDivisionByZeroÚInvalidOperationÚintÚcheck_opname)
r8   r   Úall_arithmetic_operatorsr;   rB   ÚcontextÚdivbyzerotrapÚinvalidoptrapÚdr=   s
             r   Útest_arith_series_with_arrayz-TestDecimalArray.test_arith_series_with_arrayq   s  € Ø*ˆÜ�i‰i˜‹oˆä×$Ñ$Ó&ˆØŸ™¤g×&<Ñ&<Ñ=ˆØŸ™¤g×&>Ñ&>Ñ?ˆØ01ˆ�‰”g×,Ñ,Ñ-Ø23ˆ�‰”g×.Ñ.Ñ/ô —	‘	°Ö6¨Aœ3˜q 3™w�<Ò6Ó7ˆØ×Ñ˜#˜w¨Ô.à˜ÑØ×Ñ˜c 7¨C°!©GÔ4à×Ñ˜#˜w¨Ô*Ø×Ñ˜#˜w¨Ô*Ø0=ˆ�‰”g×,Ñ,Ñ-Ø2?ˆ�‰”g×.Ñ.Ò/ùò 7s   Â3Ec                óŠ   •— d}t        j                  t        |d¬«      5  t        ‰| �  |«       d d d «       y # 1 sw Y   y xY w©Nz,ExtensionArray.fillna added a 'copy' keywordF)ÚmatchÚcheck_stacklevel)rL   Úassert_produces_warningr   rG   Útest_fillna_frame©r8   r   ÚmsgrP   s      €r   rƒ   z"TestDecimalArray.test_fillna_frame‡   sA   ø€ Ø<ˆÜ×'Ñ'Ü #¸ô
ñ 	4ô ‰GÑ% lÔ3÷	4÷ 	4ñ 	4úó	    9¹Ac                óŠ   •— d}t        j                  t        |d¬«      5  t        ‰| �  |«       d d d «       y # 1 sw Y   y xY wr   )rL   r‚   ÚDeprecationWarningrG   Útest_fillna_seriesr„   s      €r   r‰   z#TestDecimalArray.test_fillna_seriesŽ   sA   ø€ Ø<ˆÜ×'Ñ'Ü c¸Eô
ñ 	5ô ‰GÑ& |Ô4÷	5÷ 	5ñ 	5úr†   c                óª   •— dj                  ddg«      }t        j                  t        |¬«      5  t        ‰| �  |«       d d d «       y # 1 sw Y   y xY w)Nú|zCannot convert None to Decimalz4conversion from NoneType to Decimal is not supported)r€   )ÚjoinrV   rU   Ú	TypeErrorrG   Útest_fillna_with_noner„   s      €r   rŽ   z&TestDecimalArray.test_fillna_with_none•   sP   ø€ ð �h‰hà0ØFðó
ˆô �]‰]œ9¨CÔ0ñ 	8Ü‰GÑ)¨,Ô7÷	8÷ 	8ñ 	8ús   °A	Á	Ac                óŠ   •— d}t        j                  t        |d¬«      5  t        ‰| �  |«       d d d «       y # 1 sw Y   y xY wr   )rL   r‚   rˆ   rG   Útest_fillna_limit_framer„   s      €r   r�   z(TestDecimalArray.test_fillna_limit_frame£   sA   ø€ à<ˆÜ×'Ñ'Ü c¸Eô
ñ 	:ô ‰GÑ+¨LÔ9÷	:÷ 	:ñ 	:úr†   c                óŠ   •— d}t        j                  t        |d¬«      5  t        ‰| �  |«       d d d «       y # 1 sw Y   y xY wr   )rL   r‚   rˆ   rG   Útest_fillna_limit_seriesr„   s      €r   r’   z)TestDecimalArray.test_fillna_limit_series«   sA   ø€ à<ˆÜ×'Ñ'Ü c¸Eô
ñ 	;ô ‰GÑ,¨\Ô:÷	;÷ 	;ñ 	;úr†   c                ó’   — t        j                  |«      }|j                  j                  t	        |«      v sJ ‚dt	        |«      v sJ ‚y )Nz	Decimal: )rb   rc   r   ÚnameÚrepr)r8   r   rB   s      r   Útest_series_reprz!TestDecimalArray.test_series_repr³   s=   € ô �i‰i˜‹oˆØ�z‰z�‰¤$ s£)Ñ+Ð+Ð+Øœd 3›iÑ'Ð'Ñ'r   z%Inconsistent array-vs-scalar behavior)ÚreasonÚufuncc                ó&   •— t         ‰| �  ||«       y r   )rG   Ú#test_unary_ufunc_dunder_equivalence)r8   r   r˜   rP   s      €r   rš   z4TestDecimalArray.test_unary_ufunc_dunder_equivalenceº   s   ø€ ô 	‰Ñ3°D¸%Õ@r   z'DecimalArray does not support roundtrip)rU   r—   c                ó$   •— t         ‰| �  |«       y r   )rG   Útest_json_roundtrip)r8   r   rP   s     €r   rœ   z$TestDecimalArray.test_json_roundtrip¿   s   ø€ ô 	‰Ñ# DÕ)r   )ÚreturnÚbool)r;   Ústrr�   z4type[Exception] | tuple[type[Exception], ...] | None)rB   ú	pd.Seriesr;   rŸ   r�   rž   )rB   r    r;   rŸ   rF   rž   )Ú__name__Ú
__module__Ú__qualname__r9   r>   rC   rH   r[   r_   rm   r}   rƒ   r‰   rŽ   r�   r’   r–   rV   rW   rX   ÚparametrizerJ   ÚpositiveÚnegativeÚabsrš   ÚAssertionErrorrœ   Ú__classcell__)rP   s   @r   r6   r6   E   sá   ø„ óðØðà	=óó
õ
5ôQôOò=ò@ô,4ô5ô8ô:ô;ò(ð ‡[�[×ÑÐEÐÓFØ‡[�[×Ñ˜W r§{¡{°B·K±KÀÇÁÐ&HÓIóAó Jó GðAð ‡[�[×ÑØÐ&Oð ó ó*óô*r   r6   c                 óN  — t        t        j                  d«      t        j                  d«      g«      } | j                  ddgdt        j                  d«      ¬«      }t        t        j                  d«      t        j                  d«      g«      }t	        j
                  ||«       y )Nr.   r/   r   ra   Tz-1.0)Ú
allow_fillÚ
fill_value)r   r   r   ÚtakerL   Úassert_extension_array_equal©ÚarrrN   rO   s      r   Ú test_take_na_value_other_decimalr±   É   su   € Ü
œŸ™¨Ó.´·±ÀÓ0FÐGÓ
H€CØ�X‰X�q˜"�g¨$¼7¿?¹?È6Ó;RˆXÓS€FÜœWŸ_™_¨UÓ3´W·_±_ÀVÓ5LÐMÓN€HÜ×#Ñ# F¨HÕ5r   c                 ó2  — t        «       } t        j                  g d¢| ¬«      }t        t	        j
                  d«      t	        j
                  d«      t	        j
                  d«      g| ¬«      }t        j                  |«      }t        j                  ||«       y )N)r   r   r   ©r   r   r   r   )r   rb   rc   r   r   r   rL   Úassert_series_equal)r   rB   r°   Úexps       r   Ú6test_series_constructor_coerce_data_to_extension_dtyper¶   Ð   sj   € Ü‹N€EÜ
�)‰)’I UÔ
+€Cä
Ü	�‰˜Ó	œWŸ_™_¨QÓ/´·±ÀÓ1CÐDØô€Cô �)‰)�C‹.€CÜ×Ñ˜3 Õ$r   c                 ó\  — t        t        j                  d«      g«      } t        j                  | t        «       ¬«      }t        j                  | «      }t        j                  ||«       t        j                  | d¬«      }t        j                  dg«      }t        j                  ||«       y )Nú10.0r³   Úint64r   )r   r   r   rb   rc   r   rL   r´   r¯   s      r   Ú"test_series_constructor_with_dtyperº   Ü   sv   € Ü
œŸ™¨Ó/Ð0Ó
1€CÜ�Y‰Y�s¤,£.Ô1€FÜ�y‰y˜‹~€HÜ×Ñ˜6 8Ô,ä�Y‰Y�s 'Ô*€FÜ�y‰y˜"˜‹€HÜ×Ñ˜6 8Õ,r   c                 óª  — t        t        j                  d«      g«      } t        j                  d| it        «       ¬«      }t        j                  d| i«      }t        j                  ||«       t        t        j                  d«      g«      } t        j                  d| id¬«      }t        j                  ddgi«      }t        j                  ||«       y )Nr¸   ÚAr³   r¹   r   )r   r   r   rb   Ú	DataFramer   rL   Úassert_frame_equalr¯   s      r   Ú%test_dataframe_constructor_with_dtyper¿   ç   sž   € Ü
œŸ™¨Ó/Ð0Ó
1€Cä�\‰\˜3 ˜*¬L«NÔ;€FÜ�|‰|˜S #˜JÓ'€HÜ×Ñ˜& (Ô+ä
œŸ™¨Ó/Ð0Ó
1€CÜ�\‰\˜3 ˜*¨GÔ4€FÜ�|‰|˜S 2 $˜KÓ(€HÜ×Ñ˜& (Õ+r   c                ór  — t        j                  t        t        j                  d«      g«      d¬«      }t        j
                  «       }d|_         | |«      }|j                  t        |«      «      }| t         j                  u r|d   }|j                  j                  j                  |j                  k(  sJ ‚y )Nr   r1   )r”   rq   )rb   rc   r   r   r   ÚContextÚprecÚastyper   r½   r   ry   )Úframe_or_seriesr   ÚctxrN   s       r   Útest_astype_dispatchesrÆ   ô   sŒ   € ô
 �9‰9”\¤7§?¡?°1Ó#5Ð"6Ó7¸cÔB€DÜ
�/‰/Ó
€CØ€C„Há˜4Ó €Dà�[‰[œ cÓ*Ó+€Fàœ"Ÿ,™,Ñ&Ø˜‘ˆà�<‰<×Ñ×$Ñ$¨¯©Ò0Ð0Ñ0r   c                  ó(   — e Zd ZdZedddœd„«       Zy)ÚDecimalArrayWithoutFromSequencez:Helper class for testing error handling in _from_sequence.NF)r   Úcopyc               ó   — t        d«      ‚)NzFor the test)ÚKeyError)ÚclsÚscalarsr   rÉ   s       r   Ú_from_sequencez.DecimalArrayWithoutFromSequence._from_sequence
  s   € ä�~Ó&Ð&r   )r¡   r¢   r£   Ú__doc__ÚclassmethodrÎ   r   r   r   rÈ   rÈ     s   „ ÙDàØ.2¸ó 'ó ñ'r   rÈ   c                  ó   — e Zd Zed„ «       Zy)ÚDecimalArrayWithoutCoercionc                ó(   — | j                  |d¬«      S )NF)Úcoerce_to_dtype)Ú_create_method)rÌ   Úops     r   Ú_create_arithmetic_methodz5DecimalArrayWithoutCoercion._create_arithmetic_method  s   € à×!Ñ! "°eÐ!Ó<Ð<r   N)r¡   r¢   r£   rÐ   r×   r   r   r   rÒ   rÒ     s   „ Øñ=ó ñ=r   rÒ   c                 ó  — t        t        j                  d«      t        j                  d«      g«      } | | z   }t        j                  t        j                  d«      t        j                  d«      gd¬«      }t        j                  ||«       y )Nr.   r/   z4.0Úobjectr³   )rÒ   r   r   rJ   ÚarrayrL   Úassert_numpy_array_equalr¯   s      r   Ú$test_scalar_ops_from_sequence_raisesrÜ     sj   € ô &¤w§¡°uÓ'=¼w¿¹ÈuÓ?UÐ&VÓ
W€CØ�3‰Y€FÜ�x‰xÜ	�‰˜Ó	¤§¡°Ó!7Ð8Àô€Hô ×Ñ ¨Õ1r   z#reverse, expected_div, expected_modF)r   r   r   r   )r   r   r   r   T)r   r   r   r   )r   r   r   r   c                óä   — t        g d¢«      }| rt        d|«      \  }}nt        |d«      \  }}t        |«      }t        |«      }t        j                  ||«       t        j                  ||«       y )N)r   r   é   é   r   )r	   ÚdivmodrL   r®   )ÚreverseÚexpected_divÚexpected_modr°   Údivrp   s         r   Útest_divmod_arrayrå   #  sc   € ô ’\Ó
"€CÙÜ˜!˜S“>‰ˆ‰Sä˜#˜q“>‰ˆˆSÜ˜lÓ+€LÜ˜lÓ+€Lä×#Ñ# C¨Ô6Ü×#Ñ# C¨Õ6r   c                ó  — | d d }t        j                  |t        dd«      ¬«      }t        j                  |«      }t        j                  t        j                  |«      t        dd«      ¬«      }t        j                  ||«       y )Nrq   rÞ   é   ©Úindex)rb   rc   r   rJ   r§   rL   r´   )r   r1   ÚsrN   rO   s        r   Útest_ufunc_fallbackrë   5  s^   € ØˆRˆaˆ€AÜ
�	‰	�!œ5  A›;Ô'€AÜ�V‰V�A‹Y€FÜ�y‰yœŸ™ ›¬%°°1«+Ô6€HÜ×Ñ˜6 8Õ,r   c                 óÄ   — t        g d¢«      } t        j                  | «      }t        t        j                  | j                  «      «      }t	        j
                  ||«       y ©N©r   r   rÞ   )r	   rJ   rµ   Ú_datarL   r®   )r1   rN   rO   s      r   Útest_array_ufuncrð   =  s?   € Ü’9Ó€AÜ�V‰V�A‹Y€FÜœ"Ÿ&™& §¡›/Ó*€HÜ×#Ñ# F¨HÕ5r   c                 ó  — t        g d¢«      } t        j                  | «      }t        j                  |«      }t        j                  t        t        j                  | j
                  «      «      «      }t        j                  ||«       y rí   )r	   rb   rc   rJ   rµ   rï   rL   r´   ©r1   rê   rN   rO   s       r   Útest_array_ufunc_seriesró   D  sU   € Ü’9Ó€AÜ
�	‰	�!‹€AÜ�V‰V�A‹Y€FÜ�y‰yœ¤B§F¡F¨1¯7©7£OÓ4Ó5€HÜ×Ñ˜6 8Õ,r   c                 ó>  — t        g d¢«      } t        j                  | «      }t        j                  |t        j                  d«      «      }t        j                  t        j                  | t        j                  d«      «      «      }t        j                  ||«       y )Nrî   r   )	r	   rb   rc   rJ   Úaddr   r   rL   r´   rò   s       r   Ú$test_array_ufunc_series_scalar_otherrö   L  sd   € ä’9Ó€AÜ
�	‰	�!‹€AÜ�V‰V�A”w—‘ qÓ)Ó*€FÜ�y‰yœŸ™ ¤7§?¡?°1Ó#5Ó6Ó7€HÜ×Ñ˜6 8Õ,r   c                 ó8  — t        g d¢«      } t        j                  | «      }t        j                  t        g d¢«      «      }t        j                  || «      }t        j                  | |«      }t        j                  ||«       t        j                  ||«       y )Nrî   )r   rß   é   )r	   rb   rc   rJ   rõ   rL   r´   )r1   rê   rO   Úr1Úr2s        r   Útest_array_ufunc_series_deferrû   U  sj   € Ü’9Ó€AÜ
�	‰	�!‹€Aä�y‰yœ¢IÓ.Ó/€HÜ	�‰��1‹€BÜ	�‰��1‹€Bä×Ñ˜2˜xÔ(Ü×Ñ˜2˜xÕ(r   c                 ó
  — t        d«      } t        j                  g d¢g d¢t        | «      dœ«      }t        j                  t        | d   | d   g«      «      }|j                  d«      d   j                  d	„ «      }t        j                  ||d
¬«       |d   j                  |d   «      j                  d„ «      }t        j                  ||d
¬«       t        j                  t        | d   | d   | d   g«      t        j                  j                  g d¢«      ¬«      }|j                  ddg«      d   j                  d„ «      }t        j                  ||d
¬«       |d   j                  |d   |d   g«      j                  d„ «      }t        j                  ||d
¬«       t        j                  ddgt        | d   | d   g«      dœ«      }|j                  d«      j                  d„ «      }t        j                  ||d
¬«       y )Nrq   ©r   r   r   r   r   )r   r   r   r   r   )Úid1Úid2Údecimalsr   rÞ   rþ   r   c                ó    — | j                   d   S ©Nr   ©Úiloc©r)   s    r   r+   z"test_groupby_agg.<locals>.<lambda>l  s   € ¸¿¹À¹€ r   F©Úcheck_namesc                ó    — | j                   d   S r  r  r  s    r   r+   z"test_groupby_agg.<locals>.<lambda>n  s   € ¸Q¿V¹VÀA¹Y€ r   r   )©r   r   )r   r   )r   r   rè   rÿ   c                ó    — | j                   d   S r  r  r  s    r   r+   z"test_groupby_agg.<locals>.<lambda>v  s   € À!Ç&Á&ÈÁ)€ r   c                ó    — | j                   d   S r  r  r  s    r   r+   z"test_groupby_agg.<locals>.<lambda>x  s   € È!Ï&É&ÐQRÉ)€ r   )rÿ   r   c                ó    — | j                   d   S r  r  r  s    r   r+   z"test_groupby_agg.<locals>.<lambda>}  s   € ¨Q¯V©V°A©Y€ r   )r   rb   r½   r   rc   r	   ÚgroupbyÚaggrL   r´   Ú
MultiIndexÚfrom_tuplesr¾   )r   ÚdfrO   rN   s       r   Útest_groupby_aggr  a  sÀ  € ô �Q‹<€DÜ	�‰ÚªÄ\ÐRVÓEWÑXó
€Bô
 �y‰yœ T¨!¡W¨d°1©gÐ$6Ó7Ó8€HØ�Z‰Z˜Ó˜zÑ*×.Ñ.Ñ/BÓC€FÜ×Ñ˜6 8¸Õ?Ø�
‰^×#Ñ# B u¡IÓ.×2Ñ2Ñ3FÓG€FÜ×Ñ˜6 8¸Õ?ô �y‰yÜ�D˜‘G˜T !™W d¨1¡gÐ.Ó/Ü�m‰m×'Ñ'Ò(@ÓAô€Hð �Z‰Z˜ ˜Ó'¨
Ñ3×7Ñ7Ñ8KÓL€FÜ×Ñ˜6 8¸Õ?Ø�
‰^×#Ñ# R¨¡Y°°5±	Ð$:Ó;×?Ñ?Ñ@SÓT€FÜ×Ñ˜6 8¸Õ?ô �|‰| Q¨ F¼
ÀDÈÁGÈTÐRSÉWÐCUÓ8VÑWÓX€HØ�Z‰Z˜Ó×"Ñ"Ñ#6Ó7€FÜ×Ñ˜& (¸Ö>r   c                ó|  — d„ }| j                  t        d|d¬«       t        d«      }t        j                  g d¢t        |«      dœ«      }t        j
                  t        |d   |d	   z   |d
   z   |d   |d   z   g«      «      }|j                  d«      d   j                  d„ «      }t        j                  ||d¬«       t        j
                  t        |«      «      }t        j                  g d¢t        j                  ¬«      }|j                  |«      j                  d„ «      }t        j                  ||d¬«       y )Nc                óR   — t        j                  t        j                  | «      «      S r   )rJ   ÚsumrÚ   )r8   s    r   ÚDecimalArray__my_sumz8test_groupby_agg_ea_method.<locals>.DecimalArray__my_sum…  s   € Ü�v‰v”b—h‘h˜t“nÓ%Ð%r   Úmy_sumF©Úraisingrq   rý   )Úidr   r   r   r   rÞ   rß   r  r   c                ó6   — | j                   j                  «       S r   ©Úvaluesr  r  s    r   r+   z,test_groupby_agg_ea_method.<locals>.<lambda>Ž  s   € ¸¿¹¿¹Ó8I€ r   r  r³   c                ó6   — | j                   j                  «       S r   r  r  s    r   r+   z,test_groupby_agg_ea_method.<locals>.<lambda>’  s   € ¨a¯h©h¯o©oÓ.?€ r   )Úsetattrr   r   rb   r½   rc   r	   r  r  rL   r´   rJ   rÚ   r¹   )Úmonkeypatchr  r   r  rO   rN   rê   Úgroupers           r   Útest_groupby_agg_ea_methodr"  �  s  € ò&ð ×Ñœ hÐ0DÈeÐÔTä�Q‹<€DÜ	�‰š_¼,ÀtÓ:LÑMÓ	N€BÜ�y‰yœ T¨!¡W¨t°A©wÑ%6¸¸a¹Ñ%@À$ÀqÁ'ÈDÐQRÉGÑBSÐ$TÓUÓV€Hà�Z‰Z˜Ó˜jÑ)×-Ñ-Ñ.IÓJ€FÜ×Ñ˜6 8¸Õ?Ü
�	‰	”,˜tÓ$Ó%€AÜ�h‰h’¬b¯h©hÔ7€GØ�Y‰Y�wÓ×#Ñ#Ñ$?Ó@€FÜ×Ñ˜6 8¸Ö?r   c                ó@  — d
d„}| j                  t        d|d¬«       t        d«      }t        j                  t        |«      «      }t        j
                  |t        t        |«      «      dœ«      }||dkD      ||dkD      |j                  d    |j                  d	    y )Nc                ó   — t        d«      ‚)Nz0tried to convert a DecimalArray to a numpy array)Ú	Exception)r8   r   s     r   ÚDecimalArray__array__z;test_indexing_no_materialize.<locals>.DecimalArray__array__›  s   € ÜÐJÓKÐKr   Ú	__array__Fr  r   ©r1   r0   g      à?r   )r   r1   r   )	r  r   r   rb   rc   r½   r   rg   Úat)r   r&  r   rê   r  s        r   Útest_indexing_no_materializer*  –  sˆ   € ó
Lð ×Ñœ kÐ3HÐRWÐÔXä�R‹=€DÜ
�	‰	”,˜tÓ$Ó%€AÜ	�‰˜A¤E¬#¨a«&£MÑ2Ó	3€Bð €aˆ#�g‚JØ€qˆ3�w‚KØ‡D�Dˆ‚GØ‡E�Eˆ&ƒMr   c                 óÊ  — t        j                  d«      t        j                  d«      g} t        j                  t        j                  d«      t        j                  d«      gd¬«      }t	        j                  | d¬«      }|j                  d¬	«      }t        j                  ||«       t	        j                  |«      j                  d¬	«      }t        j                  ||«       y )
Nz1.1111z2.2222z1.11z2.22rÙ   r³   r   r   )r   )	r   r   rJ   rÚ   rb   Úto_numpyrL   rÛ   rc   )r  rO   r1   rN   s       r   Útest_to_numpy_keywordr-  «  s¥   € ä�o‰o˜hÓ'¬¯©¸Ó)BÐC€FÜ�x‰xÜ	�‰˜Ó	 ¤'§/¡/°&Ó"9Ð:À(ô€Hô 	�‰�˜yÔ)€AØ�Z‰Z ˆZÓ#€FÜ×Ñ ¨Ô1ä�Y‰Y�q‹\×"Ñ"¨AÐ"Ó.€FÜ×Ñ ¨Õ1r   c                 ó¼  — t        j                  dt        j                  d«      t        j                  d«      gid¬«      } | j	                  t        «       «      }d| j                  d<   t        j                  dt        j                  d«      t        j                  d«      git        «       ¬«      }t        j                  |j                  |j                  «       y )Nr1   r   rÞ   rÙ   r³   r   r	  )
rb   r½   r   r   rÃ   r   r  rL   Úassert_equalr  )r  Údf2rO   s      r   Útest_array_copy_on_writer1  ¹  s”   € Ü	�‰�sœWŸ_™_¨QÓ/´·±ÀÓ1CÐDÐEÈXÔ	V€BØ
�)‰)”L“NÓ
#€CØ€B‡G�GˆD�MÜ�|‰|Ø	Œw�‰˜qÓ!¤7§?¡?°1Ó#5Ð6Ð7¼|»~ô€Hô ‡O�O�C—J‘J §¡Õ0r   c                óÈ  — t        j                  | «      }t        j                  t	        g d¢«      t	        g d¢«      dœ«      }t        j                  t        j                  dd«      t        j                  dd«      dœ«      } |||«      }t        j                  |j                  D �ci c]  }| |||   ||   «      “Œ c}«      }t        j                  ||«       y c c}w )Nrî   ©rß   rq   rø   r(  r   rß   é   )	rL   Úget_op_from_namerb   r½   r	   rJ   ÚarangeÚcolumnsr¾   )rx   rÖ   Úea_dfÚnp_dfrN   ÚcolrO   s          r   Ú+test_dataframe_arith_with_numpy_dtype_framer;  Ã  s¬   € ô 
×	Ñ	Ð5Ó	6€BÜ�L‰Lœzª)Ó4¼:ÂiÓ;PÑQÓR€EÜ�L‰LœrŸy™y¨¨A›´R·Y±Y¸qÀ!³_ÑEÓF€Eá��uÓ€FÜ�|‰|ÈÏÉÖVÀ˜S¡" U¨3¡Z°°s±Ó"<Ñ<ÒVÓW€HÜ×Ñ˜& (Õ+ùò Ws   Â*CÚea_framec                óz  — | j                  d«      }|rXt        j                  t        g d¢«      t        g d¢«      dœ«      }t        j                  t        j                  dd«      «      }n`t        j                  t        j                  dd«      t        j                  dd«      dœ«      }t        j                  t        g d	¢«      «      } t        ||«      |d
¬«      }t        j                  |j                  D �ci c]  }| t        ||   |«      |«      “Œ c}«      }t        j                  ||«       y c c}w )Nr   rî   r3  r(  r4  r   r   rß   )r4  rç   é	   r   )Úaxis)Ústriprb   r½   r	   rc   rJ   r6  rI   r7  rL   r¾   )rx   r<  r;   r  rB   rN   r:  rO   s           r   Ú&test_dataframe_arith_with_series_axis0rA  Ï  sç   € ð '×,Ñ,¨SÓ1€GÙÜ�\‰\¤
ª9Ó 5¼JÂyÓ<QÑRÓSˆÜ�i‰iœŸ	™	 ! RÓ(Ó)‰ä�\‰\¤§	¡	¨!¨Q£´b·i±iÀÀ1³oÑFÓGˆÜ�i‰iœ
¢9Ó-Ó.ˆà!ŒW�R˜Ó! #¨AÔ.€FÜ�|‰|ÈBÏJÉJÖWÀS˜SÐ";¤'¨"¨S©'°7Ó";¸CÓ"@Ñ@ÒWÓX€HÜ×Ñ˜& (Õ+ùò Xs   Ã=D8)7Ú
__future__r   r   ÚnumpyrJ   rV   Úpandas.errorsr   Úpandasrb   Úpandas._testingÚ_testingrL   Úpandas.tests.extensionr   Ú$pandas.tests.extension.decimal.arrayr   r   r   r	   Úfixturer   r   r   r   r#   r%   r,   r4   ÚExtensionTestsr6   r±   r¶   rº   r¿   rÆ   rÈ   rÒ   Ú_add_arithmetic_opsrÜ   rW   r¤   rå   rë   rð   ró   rö   rû   r  r"  r*  r-  r1  r;  rA  r   r   r   ú<module>rM     sã  ðÝ "ã ã Û å (ã Ý Ý '÷ó ð ‡�ñó ðð ‡�ñ'ó ð'ð ‡�ñAó ðAð ‡�ñFó ðFð ‡�ñó ðð ‡�ñó ðð ‡�ñ2ó ð2ð ‡�ñ4ó ð4ôA*�t×*Ñ*ô A*òH6ò	%ò-ò
,ò1ô&' lô 'ô=Ð"Aô =ð × /Ñ /Ô 1ò2ð ‡�×ÑØ)ØŠ\š<Ð(¨4²º|Ð*LÐMóñ7ó	ð7ò-ò6ò-ò-ò	)ò?ò@@ò*ò*2ò1ò	,ð ‡�×Ñ˜ d¨E ]Ó3ñ,ó 4ñ,r   