§
    tŠtjc9  ã                  ó¼  — 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% &                    ¦   «          d„ Z'ej(         )                    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S ),é    )ÚannotationsN)ÚPandas4Warning)Úbase)ÚDecimalArrayÚDecimalDtypeÚ	make_dataÚ
to_decimalc                 ó   — t          ¦   «         S ©N)r   © ó    úi/var/www/html/CA-Chatbot/venv/lib/python3.11/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                 óN   — t          d„ t          d¦  «        D ¦   «         ¦  «        S )Nc                ó6   — g | ]}t          j        d ¦  «        ‘ŒS )é   )ÚdecimalÚDecimal)Ú.0Ú_s     r   ú
<listcomp>z!data_for_twos.<locals>.<listcomp>!   s"   € Ð?Ð?Ð?°�œ¨Ñ+Ô+Ð?Ð?Ð?r   r   )r   Úranger   r   r   Údata_for_twosr      s%   € åÐ?Ð?µU¸2±Y´YÐ?Ñ?Ô?Ñ@Ô@Ð@r   c                 ól   — t          t          j        d¦  «        t          j        d¦  «        g¦  «        S )NÚNaNé   ©r   r   r   r   r   r   Údata_missingr!   $   s)   € å�œ¨Ñ/Ô/µ´ÀÑ1CÔ1CÐDÑEÔ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&   )   s<   € åÝ	Œ˜Ñ	Ô	�wœ¨sÑ3Ô3µW´_ÀSÑ5IÔ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   s<   € åÝ	Œ˜Ñ	Ô	�wœ¨uÑ5Ô5µw´ÀsÑ7KÔ7KÐLñô ð r   c                 ó   — d„ S )Nc                óR   — |                       ¦   «         o|                      ¦   «         S r   )Úis_nan)ÚxÚys     r   ú<lambda>zna_cmp.<locals>.<lambda>9   s   € ˜Ÿš™
œ
Ð1 q§x¢x¡z¤z€ r   r   r   r   r   Úna_cmpr/   7   s   € à1Ð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_groupingr7   <   s]   € åŒ˜ÑÔ€AÝŒ˜ÑÔ€AÝŒ˜ÑÔ€AÝ	Œ˜Ñ	Ô	€BÝ˜˜A˜r 2 q¨!¨Q°Ð2Ñ3Ô3Ð3r   c                  óŒ  ‡ — e Zd Zdd„Zdd	„Zdˆ fd„Zˆ fd„Zˆ fd„Zd„ Zd„ Z	d„ Z
ˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zej                             d¬¦  «        ˆ fd„¦   «         Zd„ Zej                             d¬¦  «        ej                             dej        ej        ej        g¦  «        ˆ fd„¦   «         ¦   «         Zˆ xZS ) ÚTestDecimalArrayÚop_nameÚstrÚreturnú4type[Exception] | tuple[type[Exception], ...] | Nonec                ó   — d S r   r   )Úselfr:   ÚobjÚothers       r   Ú_get_expected_exceptionz(TestDecimalArray._get_expected_exceptionF   s	   € ð ˆtr   Úserú	pd.SeriesÚboolc                ó   — |dv rdS dS )N)ÚkurtÚsemFTr   )r?   rC   r:   s      r   Ú_supports_reductionz$TestDecimalArray._supports_reductionK   s   € Ø�oÐ%Ð%Ø�5Øˆtr   Úskipnac                ó  •— |dk    r#t          ¦   «                              |||¦  «        S  t          ||¦  «        |¬¦  «        } t          t          j        |¦  «        |¦  «        ¦   «         }t          j        ||¦  «         d S )NÚcount)rJ   )ÚsuperÚcheck_reduceÚgetattrÚnpÚasarrayÚtmÚassert_almost_equal)r?   rC   r:   rJ   ÚresultÚexpectedÚ	__class__s         €r   rN   zTestDecimalArray.check_reduceP   s~   ø€ Ø�gÒÐÝ‘7”7×'Ò'¨¨W°fÑ=Ô=Ð=à*•W˜S 'Ñ*Ô*°&Ð9Ñ9Ô9ˆFØ8•w�rœz¨#™œ°Ñ8Ô8Ñ:Ô:ˆHÝÔ" 6¨8Ñ4Ô4Ð4Ð4Ð4r   c                óÊ   •— |dv r:t           j                             t          ¬¦  «        }|                     |¦  «         t          ¦   «                              |||¦  «         d S )N)rG   ÚskewrH   Úmedian©Úraises)ÚpytestÚmarkÚxfailÚNotImplementedErrorÚapplymarkerrM   Útest_reduce_series_numeric)r?   r   Úall_numeric_reductionsrJ   Úrequestr]   rV   s         €r   ra   z+TestDecimalArray.test_reduce_series_numericX   s_   ø€ Ø!Ð%FÐFÐFÝ”;×$Ò$Õ,?Ð$Ñ@Ô@ˆDØ×Ò Ñ%Ô%Ð%Ý‰Œ×*Ò*¨4Ð1GÈÑPÔPÐPÐPÐPr   c                óÊ   •— |}|dv r:t           j                             t          ¬¦  «        }|                     |¦  «         t          ¦   «                              |||¦  «        S )N)rX   rY   rZ   )r\   r]   r^   r_   r`   rM   Útest_reduce_frame)r?   r   rb   rJ   rc   r:   r]   rV   s          €r   re   z"TestDecimalArray.test_reduce_frame^   s^   ø€ Ø(ˆØÐ(Ð(Ð(Ý”;×$Ò$Õ,?Ð$Ñ@Ô@ˆDØ×Ò Ñ%Ô%Ð%å‰wŒw×(Ò(¨Ð/EÀvÑNÔNÐNr   c                ó^   — t          j        |¦  «        }|                      |||d¦  «         d S )Nç      à?)ÚpdÚSeriesÚ_compare_other)r?   r   Úcomparison_oprC   s       r   Útest_compare_scalarz$TestDecimalArray.test_compare_scalarf   s/   € ÝŒi˜‰oŒoˆØ×Ò˜C  }°cÑ:Ô:Ð:Ð:Ð:r   c                ó$  — t          j        |¦  «        }t          j                             d¦  «                             g d¢t          |¦  «        ¦  «        }t          j        |¦  «        d„ |D ¦   «         z  }|                      ||||¦  «         d S )Nr   )éÿÿÿÿr   r   c                óR   — g | ]$}t          j        t          d |¦  «        ¦  «        ‘Œ%S )g       @)r   r   Úpow)r   Úis     r   r   z7TestDecimalArray.test_compare_array.<locals>.<listcomp>o   s*   € Ð"OÐ"OÐ"OÀA¥7¤?µ3°s¸A±;´;Ñ#?Ô#?Ð"OÐ"OÐ"Or   )rh   ri   rP   ÚrandomÚdefault_rngÚchoiceÚlenrj   )r?   r   rk   rC   ÚalterrA   s         r   Útest_compare_arrayz#TestDecimalArray.test_compare_arrayj   s   € ÝŒi˜‰oŒoˆå”	×%Ò% aÑ(Ô(×/Ò/°
°
°
½CÀ¹I¼IÑFÔFˆå”	˜$‘”Ð"OÐ"OÈÐ"OÑ"OÔ"OÑOˆØ×Ò˜C  }°eÑ<Ô<Ð<Ð<Ð<r   c                óV  — |}t          j        |¦  «        }t          j        ¦   «         }|j        t          j                 }|j        t          j                 }d|j        t          j        <   d|j        t          j        <   t          j        d„ |D ¦   «         ¦  «        }|                      |||¦  «         d|vr|                      |||dz  ¦  «         |                      ||d¦  «         |                      ||d¦  «         ||j        t          j        <   ||j        t          j        <   d S )Nr   c                ó2   — g | ]}t          |d z  ¦  «        ‘ŒS )éd   )Úint)r   Úds     r   r   zATestDecimalArray.test_arith_series_with_array.<locals>.<listcomp>}   s"   € Ð6Ð6Ð6¨A�3˜q 3™w™<œ<Ð6Ð6Ð6r   Úmodr   é   )rh   ri   r   Ú
getcontextÚtrapsÚDivisionByZeroÚInvalidOperationÚcheck_opname)	r?   r   Úall_arithmetic_operatorsr:   rC   ÚcontextÚdivbyzerotrapÚinvalidoptraprA   s	            r   Útest_arith_series_with_arrayz-TestDecimalArray.test_arith_series_with_arrayr   s  € Ø*ˆÝŒi˜‰oŒoˆåÔ$Ñ&Ô&ˆØœ¥gÔ&<Ô=ˆØœ¥gÔ&>Ô?ˆØ01ˆŒ•gÔ,Ñ-Ø23ˆŒ•gÔ.Ñ/õ ”	Ð6Ð6°Ð6Ñ6Ô6Ñ7Ô7ˆØ×Ò˜#˜w¨Ñ.Ô.Ð.à˜ÐÐØ×Ò˜c 7¨C°!©GÑ4Ô4Ð4à×Ò˜#˜w¨Ñ*Ô*Ð*Ø×Ò˜#˜w¨Ñ*Ô*Ð*Ø0=ˆŒ•gÔ,Ñ-Ø2?ˆŒ•gÔ.Ñ/Ð/Ð/r   c                ó¸   •— d}t          j        t          |d¬¦  «        5  t          ¦   «                              |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nz,ExtensionArray.fillna added a 'copy' keywordF)ÚmatchÚcheck_stacklevel)rR   Úassert_produces_warningr   rM   Útest_fillna_frame©r?   r!   ÚmsgrV   s      €r   rŽ   z"TestDecimalArray.test_fillna_frameˆ   s¥   ø€ Ø<ˆÝÔ'Ý #¸ð
ñ 
ô 
ð 	4ð 	4õ ‰GŒG×%Ò% lÑ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ó    "AÁAÁAc                ó¸   •— d}t          j        t          |d¬¦  «        5  t          ¦   «                              |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rŠ   )rR   r�   ÚDeprecationWarningrM   Útest_fillna_seriesr�   s      €r   r”   z#TestDecimalArray.test_fillna_series�   s¥   ø€ Ø<ˆÝÔ'Ý c¸Eð
ñ 
ô 
ð 	5ð 	5õ ‰GŒG×&Ò& |Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð 	5ð 	5r‘   c                ó¶   •— d}t          j        t          |¬¦  «        5  t          ¦   «                              |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz4conversion from NoneType to Decimal is not supported)r‹   )r\   r[   Ú	TypeErrorrM   Útest_fillna_with_noner�   s      €r   r—   z&TestDecimalArray.test_fillna_with_none–   sœ   ø€ ð EˆÝŒ]�9¨CÐ0Ñ0Ô0ð 	8ð 	8Ý‰GŒG×)Ò)¨,Ñ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð 	8ð 	8s   Ÿ"AÁAÁAc                ó¸   •— d}t          j        t          |d¬¦  «        5  t          ¦   «                              |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rŠ   )rR   r�   r“   rM   Útest_fillna_limit_framer�   s      €r   r™   z(TestDecimalArray.test_fillna_limit_framež   s¥   ø€ à<ˆÝÔ'Ý c¸Eð
ñ 
ô 
ð 	:ð 	:õ ‰GŒG×+Ò+¨LÑ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:r‘   c                ó¸   •— d}t          j        t          |d¬¦  «        5  t          ¦   «                              |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rŠ   )rR   r�   r“   rM   Útest_fillna_limit_seriesr�   s      €r   r›   z)TestDecimalArray.test_fillna_limit_series¦   s¥   ø€ à<ˆÝÔ'Ý c¸Eð
ñ 
ô 
ð 	;ð 	;õ ‰GŒG×,Ò,¨\Ñ:Ô:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð 	;ð 	;r‘   zcopy keyword is missing)Úreasonc                óJ   •— t          ¦   «                              |¦  «         d S r   )rM   Útest_fillna_readonly)r?   r!   rV   s     €r   rž   z%TestDecimalArray.test_fillna_readonly®   s!   ø€ å‰Œ×$Ò$ \Ñ2Ô2Ð2Ð2Ð2r   c                óŽ   — t          j        |¦  «        }|j        j        t	          |¦  «        v sJ ‚dt	          |¦  «        v sJ ‚d S )Nz	Decimal: )rh   ri   r   ÚnameÚrepr)r?   r   rC   s      r   Útest_series_reprz!TestDecimalArray.test_series_repr²   sI   € õ Œi˜‰oŒoˆØŒzŒ¥$ s¡)¤)Ð+Ð+Ð+Ð+Ø�d 3™iœiÐ'Ð'Ð'Ð'Ð'Ð'r   z%Inconsistent array-vs-scalar behaviorÚufuncc                óL   •— t          ¦   «                              ||¦  «         d S r   )rM   Ú#test_unary_ufunc_dunder_equivalence)r?   r   r£   rV   s      €r   r¥   z4TestDecimalArray.test_unary_ufunc_dunder_equivalence¹   s%   ø€ õ 	‰Œ×3Ò3°D¸%Ñ@Ô@Ð@Ð@Ð@r   )r:   r;   r<   r=   )rC   rD   r:   r;   r<   rE   )rC   rD   r:   r;   rJ   rE   )Ú__name__Ú
__module__Ú__qualname__rB   rI   rN   ra   re   rl   rw   rˆ   rŽ   r”   r—   r™   r›   r\   r]   r^   rž   r¢   ÚparametrizerP   ÚpositiveÚnegativeÚabsr¥   Ú__classcell__)rV   s   @r   r9   r9   E   s  ø€ € € € € ðð ð ð ð
ð ð ð ð
5ð 5ð 5ð 5ð 5ð 5ðQð Qð Qð Qð QðOð Oð Oð Oð Oð;ð ;ð ;ð=ð =ð =ð@ð @ð @ð,4ð 4ð 4ð 4ð 4ð5ð 5ð 5ð 5ð 5ð8ð 8ð 8ð 8ð 8ð:ð :ð :ð :ð :ð;ð ;ð ;ð ;ð ;ð „[×ÒÐ7ÐÑ8Ô8ð3ð 3ð 3ð 3ñ 9Ô8ð3ð(ð (ð (ð „[×ÒÐEÐÑFÔFØ„[×Ò˜W r¤{°B´KÀÄÐ&HÑIÔIðAð Að Að Añ JÔIñ GÔFðAð Að Að Að Ar   r9   c                 ó\  — t          t          j        d¦  «        t          j        d¦  «        g¦  «        } |                      ddgdt          j        d¦  «        ¬¦  «        }t          t          j        d¦  «        t          j        d¦  «        g¦  «        }t	          j        ||¦  «         d S )Nr1   r2   r   rn   Tz-1.0)Ú
allow_fillÚ
fill_value)r   r   r   ÚtakerR   Úassert_extension_array_equal©ÚarrrT   rU   s      r   Ú test_take_na_value_other_decimalrµ   ¿   sŒ   € Ý
�œ¨Ñ.Ô.µ´ÀÑ0FÔ0FÐGÑ
HÔ
H€CØ�XŠX�q˜"�g¨$½7¼?È6Ñ;RÔ;RˆXÑSÔS€FÝ�Wœ_¨UÑ3Ô3µW´_ÀVÑ5LÔ5LÐMÑNÔN€HÝÔ# F¨HÑ5Ô5Ð5Ð5Ð5r   c                 ó8  — t          ¦   «         } t          j        g d¢| ¬¦  «        }t          t	          j        d¦  «        t	          j        d¦  «        t	          j        d¦  «        g| ¬¦  «        }t          j        |¦  «        }t          j        ||¦  «         d S )N)r   r   r   ©r   r   r   r   )r   rh   ri   r   r   r   rR   Úassert_series_equal)r   rC   r´   Úexps       r   Ú6test_series_constructor_coerce_data_to_extension_dtyperº   Æ   sŠ   € Ý‰NŒN€EÝ
Œ)�I�I�I UÐ
+Ñ
+Ô
+€Cå
Ý	Œ˜Ñ	Ô	�Wœ_¨QÑ/Ô/µ´ÀÑ1CÔ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        ||¦  «         d S )Nú10.0r·   Úint64r   )r   r   r   rh   ri   r   rR   r¸   r³   s      r   Ú"test_series_constructor_with_dtyper¾   Ò   s�   € Ý
�œ¨Ñ/Ô/Ð0Ñ
1Ô
1€CÝŒY�s¥,¡.¤.Ð1Ñ1Ô1€FÝŒy˜‰~Œ~€HÝÔ˜6 8Ñ,Ô,Ð,åŒY�s 'Ð*Ñ*Ô*€FÝŒ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        ||¦  «         d S )Nr¼   ÚAr·   r½   r   )r   r   r   rh   Ú	DataFramer   rR   Úassert_frame_equalr³   s      r   Ú%test_dataframe_constructor_with_dtyperÃ   Ý   s¾   € Ý
�œ¨Ñ/Ô/Ð0Ñ
1Ô
1€CåŒ\˜3 ˜*­L©N¬NÐ;Ñ;Ô;€FÝŒ|˜S #˜JÑ'Ô'€HÝÔ˜& (Ñ+Ô+Ð+å
�œ¨Ñ/Ô/Ð0Ñ
1Ô
1€CÝŒ\˜3 ˜*¨GÐ4Ñ4Ô4€FÝŒ|˜S 2 $˜KÑ(Ô(€HÝÔ˜& (Ñ+Ô+Ð+Ð+Ð+r   c                ód  — t          j        t          t          j        d¦  «        g¦  «        d¬¦  «        }t          j        ¦   «         }d|_         | |¦  «        }|                     t          |¦  «        ¦  «        }| t           j	        u r|d         }|j
        j        j        |j        k    sJ ‚d S )Nr   r4   )r    r~   )rh   ri   r   r   r   ÚContextÚprecÚastyper   rÁ   r   r…   )Úframe_or_seriesr   ÚctxrT   s       r   Útest_astype_dispatchesrÊ   ê   s    € õ
 Œ9•\¥7¤?°1Ñ#5Ô#5Ð"6Ñ7Ô7¸cÐBÑBÔB€DÝ
Œ/Ñ
Ô
€CØ€C„Hàˆ?˜4Ñ Ô €Dà�[Š[� cÑ*Ô*Ñ+Ô+€Fà�"œ,Ð&Ð&Ø˜”ˆàŒ<ÔÔ$¨¬Ò0Ð0Ð0Ð0Ð0Ð0r   c                  ó0   — e Zd ZdZedddœd„¦   «         ZdS )Ú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Ì   ý   sB   € € € € € ØDÐDàØ.2¸ð 'ð 'ð 'ð 'ñ „[ð'ð 'ð 'r   rÌ   c                  ó$   — e Zd Zed„ ¦   «         ZdS )ÚDecimalArrayWithoutCoercionc                ó0   — |                       |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        ||¦  «         d S )Nr1   r2   z4.0Úobjectr·   )rÖ   r   r   rP   ÚarrayrR   Úassert_numpy_array_equalr³   s      r   Ú$test_scalar_ops_from_sequence_raisesrà     s‚   € õ &¥w¤°uÑ'=Ô'=½w¼ÈuÑ?UÔ?UÐ&VÑ
WÔ
W€CØ�3‰Y€FÝŒxÝ	Œ˜Ñ	Ô	¥¤°Ñ!7Ô!7Ð8Àðñ ô €Hõ Ô ¨Ñ1Ô1Ð1Ð1Ð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        ||¦  «         d S )N)r   r   é   é   r   )r	   ÚdivmodrR   r²   )ÚreverseÚexpected_divÚexpected_modr´   Údivr}   s         r   Útest_divmod_arrayré     s‡   € õ �\�\�\Ñ
"Ô
"€CØð "Ý˜!˜S‘>”>‰ˆˆSˆSå˜#˜q‘>”>‰ˆˆSÝ˜lÑ+Ô+€LÝ˜lÑ+Ô+€LåÔ# C¨Ñ6Ô6Ð6ÝÔ# C¨Ñ6Ô6Ð6Ð6Ð6r   c                ó   — | d d…         }t          j        |t          dd¦  «        ¬¦  «        }t          j        |¦  «        }t          j        t          j        |¦  «        t          dd¦  «        ¬¦  «        }t          j        ||¦  «         d S )Nr~   râ   é   ©Úindex)rh   ri   r   rP   r¬   rR   r¸   )r   r4   ÚsrT   rU   s        r   Útest_ufunc_fallbackrï   +  su   € ØˆRˆaˆRŒ€AÝ
Œ	�!�5  A™;œ;Ð'Ñ'Ô'€AÝŒV�A‰YŒY€FÝŒy�œ ™œ­%°°1©+¬+Ð6Ñ6Ô6€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                 óÆ   — t          g d¢¦  «        } t          j        | ¦  «        }t          t          j        | j        ¦  «        ¦  «        }t	          j        ||¦  «         d S ©N©r   r   râ   )r	   rP   r¹   Ú_datarR   r²   )r4   rT   rU   s      r   Útest_array_ufuncrô   3  sP   € Ý�9�9�9ÑÔ€AÝŒV�A‰YŒY€FÝ�"œ& ¤™/œ/Ñ*Ô*€HÝÔ# F¨HÑ5Ô5Ð5Ð5Ð5r   c                 ó  — t          g d¢¦  «        } t          j        | ¦  «        }t          j        |¦  «        }t          j        t          t          j        | j        ¦  «        ¦  «        ¦  «        }t          j        ||¦  «         d S rñ   )r	   rh   ri   rP   r¹   ró   rR   r¸   ©r4   rî   rT   rU   s       r   Útest_array_ufunc_seriesr÷   :  sg   € Ý�9�9�9ÑÔ€AÝ
Œ	�!‰Œ€AÝŒV�A‰YŒY€FÝŒy�¥B¤F¨1¬7¡O¤OÑ4Ô4Ñ5Ô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        ||¦  «         d S )Nrò   r   )	r	   rh   ri   rP   Úaddr   r   rR   r¸   rö   s       r   Ú$test_array_ufunc_series_scalar_otherrú   B  sy   € å�9�9�9ÑÔ€AÝ
Œ	�!‰Œ€AÝŒV�A•w” qÑ)Ô)Ñ*Ô*€FÝŒy�œ ¥7¤?°1Ñ#5Ô#5Ñ6Ô6Ñ7Ô7€HÝÔ˜6 8Ñ,Ô,Ð,Ð,Ð,r   c                 ó>  — t          g d¢¦  «        } t          j        | ¦  «        }t          j        t          g d¢¦  «        ¦  «        }t          j        || ¦  «        }t          j        | |¦  «        }t          j        ||¦  «         t          j        ||¦  «         d S )Nrò   )r   rã   é   )r	   rh   ri   rP   rù   rR   r¸   )r4   rî   rU   Úr1Úr2s        r   Útest_array_ufunc_series_deferrÿ   K  s…   € Ý�9�9�9ÑÔ€AÝ
Œ	�!‰Œ€AåŒy� I I 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¦  «        ¦  «        }|                     d¦  «        d                              d	„ ¦  «        }t          j	        ||d
¬¦  «         |d                              |d         ¦  «                             d„ ¦  «        }t          j	        ||d
¬¦  «         t          j        t          | d         | d         | d         g¦  «        t          j
                             g d¢¦  «        ¬¦  «        }|                     ddg¦  «        d                              d„ ¦  «        }t          j	        ||d
¬¦  «         |d                              |d         |d         g¦  «                             d„ ¦  «        }t          j	        ||d
¬¦  «         t          j        ddgt          | d         | d         g¦  «        dœ¦  «        }|                     d¦  «                             d„ ¦  «        }t          j        ||d
¬¦  «         d S )Nr~   ©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>b  s   € ¸¼À¼€ r   F©Úcheck_namesc                ó   — | j         d         S r  r  r	  s    r   r.   z"test_groupby_agg.<locals>.<lambda>d  s   € ¸Q¼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>l  s   € À!Ä&ÈÄ)€ r   c                ó   — | j         d         S r  r  r	  s    r   r.   z"test_groupby_agg.<locals>.<lambda>n  s   € È!Ì&ÐQRÌ)€ r   )r  r  c                ó   — | j         d         S r  r  r	  s    r   r.   z"test_groupby_agg.<locals>.<lambda>s  s   € ¨Q¬V°A¬Y€ r   )r   rh   rÁ   r   ri   r	   ÚgroupbyÚaggrR   r¸   Ú
MultiIndexÚfrom_tuplesrÂ   )r   ÚdfrU   rT   s       r   Útest_groupby_aggr  W  sA  € õ �Q‰<Œ<€DÝ	ŒØ��¨¨¨Å\ÐRVÑEWÔEWÐXÐXñ
ô 
€Bõ
 Œy� T¨!¤W¨d°1¬gÐ$6Ñ7Ô7Ñ8Ô8€HØ�ZŠZ˜ÑÔ˜zÔ*×.Ò.Ð/BÐ/BÑCÔC€FÝÔ˜6 8¸Ð?Ñ?Ô?Ð?Ø�
Œ^×#Ò# B u¤IÑ.Ô.×2Ò2Ð3FÐ3FÑGÔG€FÝÔ˜6 8¸Ð?Ñ?Ô?Ð?õ ŒyÝ�D˜”G˜T !œW d¨1¤gÐ.Ñ/Ô/ÝŒm×'Ò'Ð(@Ð(@Ð(@ÑAÔAðñ ô €Hð �ZŠZ˜ ˜Ñ'Ô'¨
Ô3×7Ò7Ð8KÐ8KÑLÔL€FÝÔ˜6 8¸Ð?Ñ?Ô?Ð?Ø�
Œ^×#Ò# R¨¤Y°°5´	Ð$:Ñ;Ô;×?Ò?Ð@SÐ@SÑTÔT€FÝÔ˜6 8¸Ð?Ñ?Ô?Ð?õ Œ| Q¨ F½
ÀDÈÄGÈTÐRSÌWÐCUÑ8VÔ8VÐWÐWÑXÔX€HØ�ZŠZ˜ÑÔ×"Ò"Ð#6Ð#6Ñ7Ô7€FÝÔ˜& (¸Ð>Ñ>Ô>Ð>Ð>Ð>r   c                óØ  — d„ }|                       t          d|d¬¦  «         t          d¦  «        }t          j        g d¢t          |¦  «        dœ¦  «        }t          j        t          |d         |d	         z   |d
         z   |d         |d         z   g¦  «        ¦  «        }|                     d¦  «        d                              d„ ¦  «        }t          j
        ||d¬¦  «         t          j        t          |¦  «        ¦  «        }t          j        g d¢t          j        ¬¦  «        }|                     |¦  «                             d„ ¦  «        }t          j
        ||d¬¦  «         d S )Nc                óN   — t          j        t          j        | ¦  «        ¦  «        S r   )rP   ÚsumrÞ   )r?   s    r   ÚDecimalArray__my_sumz8test_groupby_agg_ea_method.<locals>.DecimalArray__my_sum{  s   € ÝŒv•b”h˜t‘n”nÑ%Ô%Ð%r   Úmy_sumF©Úraisingr~   r  )Úidr  r   r   r   râ   rã   r  r  c                ó4   — | j                              ¦   «         S r   ©Úvaluesr  r	  s    r   r.   z,test_groupby_agg_ea_method.<locals>.<lambda>„  s   € ¸¼¿ºÑ8IÔ8I€ r   r
  r·   c                ó4   — | j                              ¦   «         S r   r   r	  s    r   r.   z,test_groupby_agg_ea_method.<locals>.<lambda>ˆ  s   € ¨a¬h¯oªoÑ.?Ô.?€ r   )Úsetattrr   r   rh   rÁ   ri   r	   r  r  rR   r¸   rP   rÞ   r½   )Úmonkeypatchr  r   r  rU   rT   rî   Úgroupers           r   Útest_groupby_agg_ea_methodr&  w  sQ  € ð&ð &ð &ð ×Ò� hÐ0DÈeÐÑTÔTÐTå�Q‰<Œ<€DÝ	Œ˜_˜_˜_½,ÀtÑ:LÔ:LÐMÐMÑ	NÔ	N€BÝŒy� T¨!¤W¨t°A¬wÑ%6¸¸a¼Ñ%@À$ÀqÄ'ÈDÐQRÌGÑBSÐ$TÑUÔUÑVÔV€Hà�ZŠZ˜ÑÔ˜jÔ)×-Ò-Ð.IÐ.IÑJÔJ€FÝÔ˜6 8¸Ð?Ñ?Ô?Ð?Ý
Œ	•,˜tÑ$Ô$Ñ%Ô%€AÝŒh���­b¬hÐ7Ñ7Ô7€GØ�YŠY�wÑÔ×#Ò#Ð$?Ð$?Ñ@Ô@€FÝÔ˜6 8¸Ð?Ñ?Ô?Ð?Ð?Ð?r   c                óp  — d
d„}|                       t          d|d¬¦  «         t          d¦  «        }t          j        t          |¦  «        ¦  «        }t          j        |t          t          |¦  «        ¦  «        dœ¦  «        }||dk              ||dk              |j        d          |j        d	          d S )Nc                ó    — t          d¦  «        ‚)Nz0tried to convert a DecimalArray to a numpy array)Ú	Exception)r?   r   s     r   ÚDecimalArray__array__z;test_indexing_no_materialize.<locals>.DecimalArray__array__‘  s   € ÝÐJÑKÔKÐKr   Ú	__array__Fr  r   )r4   r3   rg   r   )r   r4   r   )	r#  r   r   rh   ri   rÁ   r   ru   Úat)r$  r*  r   rî   r  s        r   Útest_indexing_no_materializer-  Œ  s¶   € ð
Lð Lð Lð Lð ×Ò� kÐ3HÐRWÐÑXÔXÐXå�R‰=Œ=€DÝ
Œ	•,˜tÑ$Ô$Ñ%Ô%€AÝ	Œ˜A¥E­#¨a©&¬&¡M¤MÐ2Ð2Ñ	3Ô	3€Bð €aˆ#‚g„J€JØ€qˆ3‚w„K€KØ„Dˆ„G€GØ„Eˆ&„M€M€M€Mr   c                 óÊ  — t          j        d¦  «        t          j        d¦  «        g} t          j        t          j        d¦  «        t          j        d¦  «        gd¬¦  «        }t	          j        | d¬¦  «        }|                     d¬	¦  «        }t          j        ||¦  «         t	          j        |¦  «                             d¬	¦  «        }t          j        ||¦  «         d S )
Nz1.1111z2.2222z1.11z2.22rÝ   r·   r   r   )r  )	r   r   rP   rÞ   rh   Úto_numpyrR   rß   ri   )r!  rU   r4   rT   s       r   Útest_to_numpy_keywordr0  ¡  sÇ   € åŒo˜hÑ'Ô'­¬¸Ñ)BÔ)BÐC€FÝŒxÝ	Œ˜Ñ	 Ô	 ¥'¤/°&Ñ"9Ô"9Ð:À(ðñ ô €Hõ 	Œ�˜yÐ)Ñ)Ô)€AØ�ZŠZ ˆZÑ#Ô#€FÝÔ ¨Ñ1Ô1Ð1åŒY�q‰\Œ\×"Ò"¨AÐ"Ñ.Ô.€FÝÔ ¨Ñ1Ô1Ð1Ð1Ð1r   c                 óª  — t          j        dt          j        d¦  «        t          j        d¦  «        gid¬¦  «        } |                      t          ¦   «         ¦  «        }d| j        d<   t          j        dt          j        d¦  «        t          j        d¦  «        git          ¦   «         ¬¦  «        }t          j        |j	        |j	        ¦  «         d S )Nr4   r   râ   rÝ   r·   r   r  )
rh   rÁ   r   r   rÇ   r   r  rR   Úassert_equalr!  )r  Údf2rU   s      r   Útest_array_copy_on_writer4  ¯  s¯   € Ý	Œ�s�Wœ_¨QÑ/Ô/µ´ÀÑ1CÔ1CÐDÐEÈXÐ	VÑ	VÔ	V€BØ
�)Š)•L‘N”NÑ
#Ô
#€CØ€B„GˆD�MÝŒ|Ø	�wŒ˜qÑ!Ô!¥7¤?°1Ñ#5Ô#5Ð6Ð7½|¹~¼~ðñ ô €Hõ „O�C”J ¤Ñ0Ô0Ð0Ð0Ð0r   )5Ú
__future__r   r   ÚnumpyrP   r\   Úpandas.errorsr   Úpandasrh   Úpandas._testingÚ_testingrR   Úpandas.tests.extensionr   Ú$pandas.tests.extension.decimal.arrayr   r   r   r	   Úfixturer   r   r   r!   r&   r(   r/   r7   ÚExtensionTestsr9   rµ   rº   r¾   rÃ   rÊ   rÌ   rÖ   Ú_add_arithmetic_opsrà   r]   r©   ré   rï   rô   r÷   rú   rÿ   r  r&  r-  r0  r4  r   r   r   ú<module>r@     sŸ  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€à Ð Ð Ð Ø €€€à (Ð (Ð (Ð (Ð (Ð (à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ð ð ð ð ð ð ð ð „ðð ñ „ðð „ð'ð 'ñ „ð'ð „ðAð Añ „ðAð „ðFð Fñ „ðFð „ðð ñ „ðð „ðð ñ „ðð „ð2ð 2ñ „ð2ð „ð4ð 4ñ „ð4ðwAð wAð wAð wAð wA�tÔ*ñ wAô wAð wAðt6ð 6ð 6ð	%ð 	%ð 	%ð-ð -ð -ð
,ð 
,ð 
,ð1ð 1ð 1ð&'ð 'ð 'ð 'ð ' lñ 'ô 'ð 'ð=ð =ð =ð =ð =Ð"Añ =ô =ð =ð × /Ò /Ñ 1Ô 1Ð 1ð2ð 2ð 2ð „×ÒØ)Øˆ\ˆ\ˆ\˜<˜<˜<Ð(¨4°°°¸|¸|¸|Ð*LÐMñô ð7ð 7ñ	ô ð7ð-ð -ð -ð6ð 6ð 6ð-ð -ð -ð-ð -ð -ð	)ð 	)ð 	)ð?ð ?ð ?ð@@ð @ð @ð*ð ð ð*2ð 2ð 2ð1ð 1ð 1ð 1ð 1r   